mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-04-22 15:47:19 +00:00
Add PSPF_PLAYERTRANSLATED flag (makes a PSprite layer translated to the user's color)
# Conflicts: # src/hwrenderer/scene/hw_weapon.cpp # src/r_data/models/models.cpp # Conflicts: # src/gl/scene/gl_weapon.cpp
This commit is contained in:
parent
b021befba8
commit
5ed070964c
6 changed files with 7 additions and 3 deletions
|
@ -87,7 +87,7 @@ void GLSceneDrawer::DrawPSprite (player_t * player,DPSprite *psp, float sx, floa
|
|||
FMaterial * tex = FMaterial::ValidateTexture(lump, true, false);
|
||||
if (!tex) return;
|
||||
|
||||
gl_RenderState.SetMaterial(tex, CLAMP_XY_NOMIP, 0, OverrideShader, alphatexture);
|
||||
gl_RenderState.SetMaterial(tex, CLAMP_XY_NOMIP, psp->Flags & PSPF_PLAYERTRANSLATED ? psp->Owner->mo->Translation : 0, OverrideShader, alphatexture);
|
||||
|
||||
float vw = (float)viewwidth;
|
||||
float vh = (float)viewheight;
|
||||
|
|
|
@ -141,6 +141,7 @@ DEFINE_FIELD_BIT(DPSprite, Flags, bPowDouble, PSPF_POWDOUBLE)
|
|||
DEFINE_FIELD_BIT(DPSprite, Flags, bCVarFast, PSPF_CVARFAST)
|
||||
DEFINE_FIELD_BIT(DPSprite, Flags, bFlip, PSPF_FLIP)
|
||||
DEFINE_FIELD_BIT(DPSprite, Flags, bMirror, PSPF_MIRROR)
|
||||
DEFINE_FIELD_BIT(DPSprite, Flags, bPlayerTranslated, PSPF_PLAYERTRANSLATED)
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
//
|
||||
|
|
|
@ -68,6 +68,7 @@ enum PSPFlags
|
|||
PSPF_FORCEALPHA = 1 << 7,
|
||||
PSPF_FORCESTYLE = 1 << 8,
|
||||
PSPF_MIRROR = 1 << 9,
|
||||
PSPF_PLAYERTRANSLATED = 1 << 10
|
||||
};
|
||||
|
||||
class DPSprite : public DObject
|
||||
|
|
|
@ -214,7 +214,7 @@ void FModelRenderer::RenderHUDModel(DPSprite *psp, float ofsX, float ofsY)
|
|||
float orientation = smf->xscale * smf->yscale * smf->zscale;
|
||||
|
||||
BeginDrawHUDModel(playermo, objectToWorldMatrix, orientation < 0);
|
||||
RenderFrameModels(smf, psp->GetState(), psp->GetTics(), playermo->player->ReadyWeapon->GetClass(), 0);
|
||||
RenderFrameModels(smf, psp->GetState(), psp->GetTics(), playermo->player->ReadyWeapon->GetClass(), psp->Flags & PSPF_PLAYERTRANSLATED ? psp->Owner->mo->Translation : 0);
|
||||
EndDrawHUDModel(playermo);
|
||||
}
|
||||
|
||||
|
|
|
@ -2557,7 +2557,8 @@ class PSprite : Object native play
|
|||
native bool bCVarFast;
|
||||
native bool bFlip;
|
||||
native bool bMirror;
|
||||
|
||||
native bool bPlayerTranslated;
|
||||
|
||||
native void SetState(State newstate, bool pending = false);
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
|
|
|
@ -748,6 +748,7 @@ enum EPSpriteFlags
|
|||
PSPF_FORCEALPHA = 1 << 7,
|
||||
PSPF_FORCESTYLE = 1 << 8,
|
||||
PSPF_MIRROR = 1 << 9,
|
||||
PSPF_PLAYERTRANSLATED = 1 << 10
|
||||
};
|
||||
|
||||
// Default psprite layers
|
||||
|
|
Loading…
Reference in a new issue