mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-02-21 02:51:37 +00:00
Added RenderUnderlay.
- Works exactly like RenderOverlay, but is drawn behind the status bar/huds instead. # Conflicts: # src/events.cpp # src/events.h
This commit is contained in:
parent
c3482b75fc
commit
dfe8f19dd5
4 changed files with 24 additions and 0 deletions
|
@ -511,6 +511,12 @@ void E_RenderOverlay(EHudState state)
|
|||
handler->RenderOverlay(state);
|
||||
}
|
||||
|
||||
void E_RenderUnderlay(EHudState state)
|
||||
{
|
||||
for (DStaticEventHandler* handler = E_FirstEventHandler; handler; handler = handler->next)
|
||||
handler->RenderUnderlay(state);
|
||||
}
|
||||
|
||||
bool E_CheckUiProcessors()
|
||||
{
|
||||
for (DStaticEventHandler* handler = E_FirstEventHandler; handler; handler = handler->next)
|
||||
|
@ -972,6 +978,19 @@ void DStaticEventHandler::RenderOverlay(EHudState state)
|
|||
}
|
||||
}
|
||||
|
||||
void DStaticEventHandler::RenderUnderlay(EHudState state)
|
||||
{
|
||||
IFVIRTUAL(DStaticEventHandler, RenderUnderlay)
|
||||
{
|
||||
// don't create excessive DObjects if not going to be processed anyway
|
||||
if (isEmpty(func)) return;
|
||||
FRenderEvent e = E_SetupRenderEvent();
|
||||
e.HudState = int(state);
|
||||
VMValue params[2] = { (DStaticEventHandler*)this, &e };
|
||||
VMCall(func, params, 2, nullptr, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void DStaticEventHandler::PlayerEntered(int num, bool fromhub)
|
||||
{
|
||||
IFVIRTUAL(DStaticEventHandler, PlayerEntered)
|
||||
|
|
|
@ -66,6 +66,8 @@ void E_PostUiTick();
|
|||
void E_RenderFrame();
|
||||
// called after everything's been rendered, but before console/menus
|
||||
void E_RenderOverlay(EHudState state);
|
||||
// called after everything's been rendered, but before console/menus/huds
|
||||
void E_RenderUnderlay(EHudState state);
|
||||
// this executes when a player enters the level (once). PlayerEnter+inhub = RETURN
|
||||
void E_PlayerEntered(int num, bool fromhub);
|
||||
// this executes when a player respawns. includes resurrect cheat.
|
||||
|
@ -171,6 +173,7 @@ public:
|
|||
//
|
||||
void RenderFrame();
|
||||
void RenderOverlay(EHudState state);
|
||||
void RenderUnderlay(EHudState state);
|
||||
|
||||
//
|
||||
void PlayerEntered(int num, bool fromhub);
|
||||
|
|
|
@ -1162,6 +1162,7 @@ void DBaseStatusBar::SetMugShotState(const char *stateName, bool waitTillDone, b
|
|||
void DBaseStatusBar::DrawBottomStuff (EHudState state)
|
||||
{
|
||||
DrawMessages (HUDMSGLayer_UnderHUD, (state == HUD_StatusBar) ? GetTopOfStatusbar() : SCREENHEIGHT);
|
||||
E_RenderUnderlay(state);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
|
|
@ -336,6 +336,7 @@ class StaticEventHandler : Object native play version("2.4")
|
|||
//
|
||||
//virtual ui void RenderFrame(RenderEvent e) {}
|
||||
virtual ui void RenderOverlay(RenderEvent e) {}
|
||||
virtual ui void RenderUnderlay(RenderEvent e) {}
|
||||
|
||||
//
|
||||
virtual void PlayerEntered(PlayerEvent e) {}
|
||||
|
|
Loading…
Reference in a new issue