moved sprite.cpp into gs-entbase/client/env_sprite.cpp

This commit is contained in:
Marco Cawthorne 2020-03-28 11:43:08 +01:00
parent f66792ef49
commit 9442a597fa
15 changed files with 50 additions and 39 deletions

View file

@ -22,7 +22,6 @@
../cstrike/init.c ../cstrike/init.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c

View file

@ -45,7 +45,12 @@ void CSQC_Ent_Update(float new)
n.ReadEntity(readfloat()); n.ReadEntity(readfloat());
break; break;
case ENT_SPRITE: case ENT_SPRITE:
Sprite_Animated(); env_sprite spr = (env_sprite)self;
if (new) {
spawnfunc_env_sprite();
}
spr.ReadEntity(readfloat());
break;
break; break;
case ENT_SPRAY: case ENT_SPRAY:
Spray_Parse(); Spray_Parse();

View file

@ -479,7 +479,7 @@ CSQC_Parse_Event(void)
Fade_Parse(); Fade_Parse();
break; break;
case EV_SPRITE: case EV_SPRITE:
Sprite_ParseEvent(); EnvSprite_ParseEvent();
break; break;
case EV_TEXT: case EV_TEXT:
GameText_Parse(); GameText_Parse();

View file

@ -18,7 +18,6 @@
../../vgui/include.src ../../vgui/include.src
../util.c ../util.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c
../sentences.c ../sentences.c

View file

@ -18,7 +18,6 @@
../../vgui/include.src ../../vgui/include.src
../util.c ../util.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c
../sentences.c ../sentences.c

View file

@ -18,7 +18,6 @@
../../vgui/include.src ../../vgui/include.src
../util.c ../util.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c
../sentences.c ../sentences.c

View file

@ -129,7 +129,7 @@ class decore_torch:CBaseDecor
CBaseDecor::Initialized(); CBaseDecor::Initialized();
this.effects |= EF_FULLBRIGHT; this.effects |= EF_FULLBRIGHT;
sprite flame = spawn(sprite); env_sprite flame = spawn(env_sprite);
setorigin(flame, origin + [0,0,24]); setorigin(flame, origin + [0,0,24]);
setmodel(flame, "sprites/torch.spr"); setmodel(flame, "sprites/torch.spr");
flame.effects = EF_ADDITIVE; flame.effects = EF_ADDITIVE;

View file

@ -22,7 +22,6 @@
init.c init.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c
../sentences.c ../sentences.c

View file

@ -20,7 +20,6 @@
../util.c ../util.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c
../sentences.c ../sentences.c

View file

@ -23,7 +23,6 @@ vgui_chooseteam.cpp
init.c init.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c
../sentences.c ../sentences.c

View file

@ -21,7 +21,6 @@
../valve/init.c ../valve/init.c
../fade.c ../fade.c
../sprite.cpp
../titles.c ../titles.c
../text.c ../text.c

View file

@ -9,6 +9,7 @@ client/env_cubemap.cpp
client/env_glow.cpp client/env_glow.cpp
client/env_sound.cpp client/env_sound.cpp
client/env_soundscape.cpp client/env_soundscape.cpp
client/env_sprite.cpp
client/env_particle.cpp client/env_particle.cpp
client/env_laser.cpp client/env_laser.cpp
client/func_lod.cpp client/func_lod.cpp

View file

@ -14,16 +14,19 @@
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/ */
class sprite class env_sprite:CBaseEntity
{ {
float framerate; float framerate;
int loops; int loops;
int maxframe; int maxframe;
virtual void() Init;
virtual void() Initialized;
virtual void(float flChanged) ReadEntity;
virtual void() think; virtual void() think;
}; };
void sprite::think(void) void env_sprite::think(void)
{ {
if (frame >= (maxframe-1)) { if (frame >= (maxframe-1)) {
if (loops == 0) { if (loops == 0) {
@ -37,32 +40,41 @@ void sprite::think(void)
nextthink = time + (1 / framerate); nextthink = time + (1 / framerate);
} }
void Sprite_Animated(void) void env_sprite::ReadEntity(float flChanged)
{ {
spawnfunc_sprite(); origin[0] = readcoord();
sprite me = (sprite)self; origin[1] = readcoord();
me.origin[0] = readcoord(); origin[2] = readcoord();
me.origin[1] = readcoord(); modelindex = readfloat();
me.origin[2] = readcoord(); framerate = readfloat();
me.modelindex = readfloat(); scale = readfloat();
me.framerate = readfloat(); alpha = readfloat();
me.scale = readfloat(); effects = readfloat();
me.alpha = readfloat(); colormod[0] = readfloat();
me.effects = readfloat(); colormod[1] = readfloat();
me.colormod[0] = readfloat(); colormod[2] = readfloat();
me.colormod[1] = readfloat(); drawmask = MASK_ENGINE;
me.colormod[2] = readfloat(); nextthink = time + (1 / framerate);
me.drawmask = MASK_ENGINE; maxframe = modelframecount(modelindex);
me.nextthink = time + (1 / me.framerate); loops = 1; /* repeats */
me.maxframe = modelframecount(me.modelindex); setorigin(this, origin);
me.loops = 1; /* repeats */
setorigin(me, me.origin);
} }
void Sprite_ParseEvent(void) /* make sure we're not spawning on the client-side */
void env_sprite::Init(void)
{ {
sprite spr = spawn(sprite); }
void env_sprite::Initialized(void)
{
}
void env_sprite::env_sprite(void)
{
}
void EnvSprite_ParseEvent(void)
{
env_sprite spr = spawn(env_sprite);
spr.origin[0] = readcoord(); spr.origin[0] = readcoord();
spr.origin[1] = readcoord(); spr.origin[1] = readcoord();
spr.origin[2] = readcoord(); spr.origin[2] = readcoord();

View file

@ -55,6 +55,7 @@ float env_sprite::Network(entity pvsent, float flags)
return FALSE; return FALSE;
} }
WriteByte(MSG_ENTITY, ENT_SPRITE); WriteByte(MSG_ENTITY, ENT_SPRITE);
WriteFloat(MSG_ENTITY, 666);
WriteCoord(MSG_ENTITY, origin[0]); WriteCoord(MSG_ENTITY, origin[0]);
WriteCoord(MSG_ENTITY, origin[1]); WriteCoord(MSG_ENTITY, origin[1]);
WriteCoord(MSG_ENTITY, origin[2]); WriteCoord(MSG_ENTITY, origin[2]);

View file

@ -134,7 +134,7 @@ Effect_CreateExplosion(vector vPos)
msg_entity = self; msg_entity = self;
multicast(vPos, MULTICAST_PVS); multicast(vPos, MULTICAST_PVS);
#else #else
sprite eExplosion = spawn(sprite); env_sprite eExplosion = spawn(env_sprite);
setorigin(eExplosion, vPos); setorigin(eExplosion, vPos);
setmodel(eExplosion, "sprites/fexplo.spr"); setmodel(eExplosion, "sprites/fexplo.spr");
sound(eExplosion, CHAN_WEAPON, sprintf("weapons/explode%d.wav", floor(random() * 3) + 3), 1, ATTN_NORM); sound(eExplosion, CHAN_WEAPON, sprintf("weapons/explode%d.wav", floor(random() * 3) + 3), 1, ATTN_NORM);
@ -164,7 +164,7 @@ void Effect_CreateBlood(vector pos, vector color) {
msg_entity = self; msg_entity = self;
multicast(pos, MULTICAST_PVS); multicast(pos, MULTICAST_PVS);
#else #else
sprite eBlood = spawn(sprite); env_sprite eBlood = spawn(env_sprite);
setorigin(eBlood, pos); setorigin(eBlood, pos);
setmodel(eBlood, "sprites/bloodspray.spr"); setmodel(eBlood, "sprites/bloodspray.spr");
@ -179,7 +179,7 @@ void Effect_CreateBlood(vector pos, vector color) {
eBlood.nextthink = time + 0.05f; eBlood.nextthink = time + 0.05f;
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
sprite ePart = spawn(sprite); env_sprite ePart = spawn(env_sprite);
setorigin(ePart, pos); setorigin(ePart, pos);
setmodel(ePart, "sprites/blood.spr"); setmodel(ePart, "sprites/blood.spr");
ePart.movetype = MOVETYPE_BOUNCE; ePart.movetype = MOVETYPE_BOUNCE;