env_beam/env_laser: Add ::RendererRestarted to fix textures upon video memory refreshes
This commit is contained in:
parent
a1500166be
commit
f5308f6e08
3 changed files with 18 additions and 3 deletions
|
@ -93,6 +93,7 @@ public:
|
|||
#else
|
||||
virtual float predraw(void);
|
||||
virtual void ReceiveEntity(float,float);
|
||||
virtual void RendererRestarted(void);
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
@ -384,14 +385,20 @@ env_beam::ReceiveEntity(float flNew, float flChanged)
|
|||
|
||||
drawmask = MASK_ENGINE;
|
||||
setsize(this, [0,0,0], [0,0,0]);
|
||||
setorigin(this, m_vecStartPos);
|
||||
origin = m_vecStartPos;
|
||||
|
||||
/* the sprite has changed, we need to query a new texture */
|
||||
if (flChanged & BEAM_CHANGED_SPRITE) {
|
||||
m_strTexture = spriteframe(modelnameforindex(m_iSpriteID), 0, 0.0f);
|
||||
RendererRestarted();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
env_beam::RendererRestarted(void)
|
||||
{
|
||||
m_strTexture = spriteframe(modelnameforindex(m_iSpriteID), 0, 0.0f);
|
||||
}
|
||||
|
||||
#define BEAM_COUNT 16
|
||||
float
|
||||
pseudorand(float input)
|
||||
|
|
|
@ -296,6 +296,7 @@ env_glow::predraw(void)
|
|||
vector vecAngle = g_view.GetCameraAngle();
|
||||
float flDist = vlen(vecPlayer - origin);
|
||||
|
||||
/* HACK: GoldSrc does this */
|
||||
if (GetRenderMode() == RM_GLOW)
|
||||
scale = 1.0f;
|
||||
|
||||
|
|
|
@ -78,6 +78,7 @@ public:
|
|||
#else
|
||||
virtual float predraw(void);
|
||||
virtual void ReceiveEntity(float,float);
|
||||
virtual void RendererRestarted(void);
|
||||
#endif
|
||||
|
||||
private:
|
||||
|
@ -285,10 +286,16 @@ env_laser::ReceiveEntity(float flNew, float flChanged)
|
|||
|
||||
/* the sprite has changed, we need to query a new texture */
|
||||
if (flChanged & LASER_CHANGED_SPRITE) {
|
||||
m_strTexture = spriteframe(modelnameforindex(m_iSpriteID), 0, 0.0f);
|
||||
RendererRestarted();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
env_laser::RendererRestarted(void)
|
||||
{
|
||||
m_strTexture = spriteframe(modelnameforindex(m_iSpriteID), 0, 0.0f);
|
||||
}
|
||||
|
||||
#define LASER_COUNT 16
|
||||
|
||||
static float env_laser_jitlut[LASER_COUNT] = {
|
||||
|
|
Loading…
Reference in a new issue