mirror of
https://github.com/ZDoom/gzdoom.git
synced 2025-01-19 08:01:50 +00:00
- move two more backend->frontend calls to the interface
This commit is contained in:
parent
b19b0db150
commit
e6615629b3
5 changed files with 9 additions and 6 deletions
|
@ -94,7 +94,7 @@ void D_ProcessEvents (void)
|
|||
continue; // menu ate the event
|
||||
}
|
||||
|
||||
if (G_Responder(ev) && ev->type == EV_KeyDown) keywasdown.Set(ev->data1);
|
||||
if (sysCallbacks.G_Responder(ev) && ev->type == EV_KeyDown) keywasdown.Set(ev->data1);
|
||||
}
|
||||
|
||||
for (auto& ev: delayedevents)
|
||||
|
|
|
@ -7,10 +7,12 @@
|
|||
struct event_t;
|
||||
class FRenderState;
|
||||
class FGameTexture;
|
||||
class FTextureID;
|
||||
enum EUpscaleFlags : int;
|
||||
|
||||
struct SystemCallbacks
|
||||
{
|
||||
bool (*G_Responder)(event_t* ev); // this MUST be set, otherwise nothing will work
|
||||
bool (*WantGuiCapture)();
|
||||
bool (*WantLeftButton)();
|
||||
bool (*NetGame)();
|
||||
|
@ -41,6 +43,7 @@ struct SystemCallbacks
|
|||
bool (*SetSpecialMenu)(FName& menu, int param);
|
||||
void (*OnMenuOpen)(bool makesound);
|
||||
void (*LanguageChanged)(const char*);
|
||||
bool (*OkForLocalization)(FTextureID, const char*);
|
||||
};
|
||||
|
||||
extern SystemCallbacks sysCallbacks;
|
||||
|
|
|
@ -111,8 +111,6 @@ extern PClass *DefaultOptionMenuClass;
|
|||
#define KEY_REPEAT_DELAY (GameTicRate*5/12)
|
||||
#define KEY_REPEAT_RATE (3)
|
||||
|
||||
bool OkForLocalization(FTextureID texnum, const char* substitute);
|
||||
|
||||
//============================================================================
|
||||
//
|
||||
//
|
||||
|
|
|
@ -522,11 +522,9 @@ DEFINE_ACTION_FUNCTION_NATIVE(_TexMan, CheckRealHeight, CheckRealHeight)
|
|||
ACTION_RETURN_INT(CheckRealHeight(texid));
|
||||
}
|
||||
|
||||
bool OkForLocalization(FTextureID texnum, const char* substitute);
|
||||
|
||||
static int OkForLocalization_(int index, const FString& substitute)
|
||||
{
|
||||
return OkForLocalization(FSetTextureID(index), substitute);
|
||||
return sysCallbacks.OkForLocalization? sysCallbacks.OkForLocalization(FSetTextureID(index), substitute) : false;
|
||||
}
|
||||
|
||||
DEFINE_ACTION_FUNCTION_NATIVE(_TexMan, OkForLocalization, OkForLocalization_)
|
||||
|
|
|
@ -178,6 +178,7 @@ void S_ParseMusInfo();
|
|||
void D_GrabCVarDefaults();
|
||||
void LoadHexFont(const char* filename);
|
||||
void InitBuildTiles();
|
||||
bool OkForLocalization(FTextureID texnum, const char* substitute);
|
||||
|
||||
// PRIVATE FUNCTION PROTOTYPES ---------------------------------------------
|
||||
|
||||
|
@ -3524,6 +3525,7 @@ static int D_DoomMain_Internal (void)
|
|||
buttonMap.GetButton(Button_Klook)->bReleaseLock = true;
|
||||
|
||||
sysCallbacks = {
|
||||
G_Responder,
|
||||
System_WantGuiCapture,
|
||||
System_WantLeftButton,
|
||||
System_NetGame,
|
||||
|
@ -3554,6 +3556,8 @@ static int D_DoomMain_Internal (void)
|
|||
M_SetSpecialMenu,
|
||||
OnMenuOpen,
|
||||
System_LanguageChanged,
|
||||
OkForLocalization,
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue