mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-25 05:31:00 +00:00
Fixed: DBaseStatusBar::Draw did not use its ticFrac parameter when being called from scripts
Instead it directly went to the global viewpoint again which would be inconsistent.
This commit is contained in:
parent
d73d89762d
commit
8787905fed
3 changed files with 13 additions and 12 deletions
|
@ -817,7 +817,7 @@ void D_Display ()
|
||||||
{
|
{
|
||||||
StatusBar->DrawCrosshair();
|
StatusBar->DrawCrosshair();
|
||||||
}
|
}
|
||||||
StatusBar->CallDraw (HUD_AltHud);
|
StatusBar->CallDraw (HUD_AltHud, r_viewpoint.TicFrac);
|
||||||
StatusBar->DrawTopStuff (HUD_AltHud);
|
StatusBar->DrawTopStuff (HUD_AltHud);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -825,13 +825,13 @@ void D_Display ()
|
||||||
{
|
{
|
||||||
EHudState state = DrawFSHUD ? HUD_Fullscreen : HUD_None;
|
EHudState state = DrawFSHUD ? HUD_Fullscreen : HUD_None;
|
||||||
StatusBar->DrawBottomStuff (state);
|
StatusBar->DrawBottomStuff (state);
|
||||||
StatusBar->CallDraw (state);
|
StatusBar->CallDraw (state, r_viewpoint.TicFrac);
|
||||||
StatusBar->DrawTopStuff (state);
|
StatusBar->DrawTopStuff (state);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StatusBar->DrawBottomStuff (HUD_StatusBar);
|
StatusBar->DrawBottomStuff (HUD_StatusBar);
|
||||||
StatusBar->CallDraw (HUD_StatusBar);
|
StatusBar->CallDraw (HUD_StatusBar, r_viewpoint.TicFrac);
|
||||||
StatusBar->DrawTopStuff (HUD_StatusBar);
|
StatusBar->DrawTopStuff (HUD_StatusBar);
|
||||||
}
|
}
|
||||||
//stb.Unclock();
|
//stb.Unclock();
|
||||||
|
|
|
@ -397,10 +397,10 @@ public:
|
||||||
void SetScale();
|
void SetScale();
|
||||||
virtual void Tick ();
|
virtual void Tick ();
|
||||||
void CallTick();
|
void CallTick();
|
||||||
virtual void Draw (EHudState state);
|
virtual void Draw (EHudState state, double ticFrac);
|
||||||
void CallDraw(EHudState state);
|
void CallDraw(EHudState state, double ticFrac);
|
||||||
void DrawBottomStuff (EHudState state);
|
void DrawBottomStuff (EHudState state);
|
||||||
void DrawTopStuff (EHudState state);
|
void DrawTopStuff (EHudState state);
|
||||||
void FlashItem (const PClass *itemtype);
|
void FlashItem (const PClass *itemtype);
|
||||||
void AttachToPlayer(player_t *player);
|
void AttachToPlayer(player_t *player);
|
||||||
DVector2 GetHUDScale() const;
|
DVector2 GetHUDScale() const;
|
||||||
|
|
|
@ -1006,7 +1006,7 @@ void DBaseStatusBar::DrawMessages (int layer, int bottom)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void DBaseStatusBar::Draw (EHudState state)
|
void DBaseStatusBar::Draw (EHudState state, double ticFrac)
|
||||||
{
|
{
|
||||||
// HUD_AltHud state is for popups only
|
// HUD_AltHud state is for popups only
|
||||||
if (state == HUD_AltHud)
|
if (state == HUD_AltHud)
|
||||||
|
@ -1048,18 +1048,19 @@ DEFINE_ACTION_FUNCTION(DBaseStatusBar, Draw)
|
||||||
{
|
{
|
||||||
PARAM_SELF_PROLOGUE(DBaseStatusBar);
|
PARAM_SELF_PROLOGUE(DBaseStatusBar);
|
||||||
PARAM_INT(state);
|
PARAM_INT(state);
|
||||||
self->Draw((EHudState)state);
|
PARAM_FLOAT(ticFrac);
|
||||||
|
self->Draw((EHudState)state, ticFrac);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DBaseStatusBar::CallDraw(EHudState state)
|
void DBaseStatusBar::CallDraw(EHudState state, double ticFrac)
|
||||||
{
|
{
|
||||||
IFVIRTUAL(DBaseStatusBar, Draw)
|
IFVIRTUAL(DBaseStatusBar, Draw)
|
||||||
{
|
{
|
||||||
VMValue params[] = { (DObject*)this, state, r_viewpoint.TicFrac };
|
VMValue params[] = { (DObject*)this, state, ticFrac };
|
||||||
VMCall(func, params, countof(params), nullptr, 0);
|
VMCall(func, params, countof(params), nullptr, 0);
|
||||||
}
|
}
|
||||||
else Draw(state);
|
else Draw(state, ticFrac);
|
||||||
screen->ClearClipRect(); // make sure the scripts don't leave a valid clipping rect behind.
|
screen->ClearClipRect(); // make sure the scripts don't leave a valid clipping rect behind.
|
||||||
BeginStatusBar(BaseSBarHorizontalResolution, BaseSBarVerticalResolution, BaseRelTop, false);
|
BeginStatusBar(BaseSBarHorizontalResolution, BaseSBarVerticalResolution, BaseRelTop, false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue