raze/source/common/engine/i_interface.h
Christoph Oelckers 40358febc1 - changed render interface to resolve textures to materials in the backend.
This is needed to have a unified spot where to resolve textures for both 2D and 3D.
2020-11-10 09:08:48 +01:00

50 lines
1.2 KiB
C++

#pragma once
#include "zstring.h"
#include "intrect.h"
struct event_t;
class FRenderState;
class FGameTexture;
enum EUpscaleFlags;
struct SystemCallbacks
{
bool (*WantGuiCapture)();
bool (*WantLeftButton)();
bool (*NetGame)();
bool (*WantNativeMouse)();
bool (*CaptureModeInGame)();
void (*CrashInfo)(char* buffer, size_t bufflen, const char* lfstr);
void (*PlayStartupSound)(const char* name);
bool (*IsSpecialUI)();
bool (*DisableTextureFilter)();
void (*OnScreenSizeChanged)();
IntRect(*GetSceneRect)();
FString(*GetLocationDescription)();
void (*MenuDim)();
FString(*GetPlayerName)(int i);
bool (*DispatchEvent)(event_t* ev);
bool (*CheckGame)(const char* nm);
int (*GetGender)();
void (*MenuClosed)();
bool (*CheckMenudefOption)(const char* opt);
void (*ConsoleToggled)(int state);
bool (*PreBindTexture)(FRenderState* state, FGameTexture*& tex, EUpscaleFlags& flags, int& clampmode, int& translation, int& overrideshader);
};
extern SystemCallbacks sysCallbacks;
struct WadStuff
{
FString Path;
FString Name;
};
extern FString endoomName;
extern bool batchrun;
extern float menuBlurAmount;
extern bool generic_ui;
void UpdateGenericUI(bool cvar);