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
|
#else
|
||||||
virtual float predraw(void);
|
virtual float predraw(void);
|
||||||
virtual void ReceiveEntity(float,float);
|
virtual void ReceiveEntity(float,float);
|
||||||
|
virtual void RendererRestarted(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -384,14 +385,20 @@ env_beam::ReceiveEntity(float flNew, float flChanged)
|
||||||
|
|
||||||
drawmask = MASK_ENGINE;
|
drawmask = MASK_ENGINE;
|
||||||
setsize(this, [0,0,0], [0,0,0]);
|
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 */
|
/* the sprite has changed, we need to query a new texture */
|
||||||
if (flChanged & BEAM_CHANGED_SPRITE) {
|
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
|
#define BEAM_COUNT 16
|
||||||
float
|
float
|
||||||
pseudorand(float input)
|
pseudorand(float input)
|
||||||
|
|
|
@ -296,6 +296,7 @@ env_glow::predraw(void)
|
||||||
vector vecAngle = g_view.GetCameraAngle();
|
vector vecAngle = g_view.GetCameraAngle();
|
||||||
float flDist = vlen(vecPlayer - origin);
|
float flDist = vlen(vecPlayer - origin);
|
||||||
|
|
||||||
|
/* HACK: GoldSrc does this */
|
||||||
if (GetRenderMode() == RM_GLOW)
|
if (GetRenderMode() == RM_GLOW)
|
||||||
scale = 1.0f;
|
scale = 1.0f;
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,7 @@ public:
|
||||||
#else
|
#else
|
||||||
virtual float predraw(void);
|
virtual float predraw(void);
|
||||||
virtual void ReceiveEntity(float,float);
|
virtual void ReceiveEntity(float,float);
|
||||||
|
virtual void RendererRestarted(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -285,10 +286,16 @@ env_laser::ReceiveEntity(float flNew, float flChanged)
|
||||||
|
|
||||||
/* the sprite has changed, we need to query a new texture */
|
/* the sprite has changed, we need to query a new texture */
|
||||||
if (flChanged & LASER_CHANGED_SPRITE) {
|
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
|
#define LASER_COUNT 16
|
||||||
|
|
||||||
static float env_laser_jitlut[LASER_COUNT] = {
|
static float env_laser_jitlut[LASER_COUNT] = {
|
||||||
|
|
Loading…
Reference in a new issue