From d9dababe6543de969fcbbfd9d44ca1e76b7981df Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Thu, 22 Oct 2020 16:30:37 +0200 Subject: [PATCH] Moved all possibly game-specific flags (such as FL_FLASHLIGHT) into gflags, this affects mods. Please check the diff to see what you'll need to adjust. --- src/client/cstrike/hud.c | 14 +++---- src/client/cstrike/player.c | 33 ++++++++++++++- src/client/player.c | 27 +------------ src/client/predict.c | 2 + src/client/valve/hud.c | 2 +- src/client/valve/player.c | 33 ++++++++++++++- src/gs-entbase/server/baseentity.cpp | 2 +- src/gs-entbase/server/baseoutput.cpp | 2 +- src/gs-entbase/server/env_laser.cpp | 2 +- src/gs-entbase/server/func_door.cpp | 2 +- src/gs-entbase/server/func_door_rotating.cpp | 2 +- src/gs-entbase/server/func_healthcharger.cpp | 4 +- src/gs-entbase/server/func_recharge.cpp | 4 +- src/gs-entbase/server/info_null.cpp | 2 +- src/server/cstrike/client.c | 6 +-- src/server/cstrike/func_bomb_target.cpp | 2 +- src/server/cstrike/func_buyzone.cpp | 2 +- src/server/cstrike/func_hostage_rescue.cpp | 2 +- src/server/cstrike/gamerules.cpp | 10 ++++- src/server/cstrike/gamerules_multiplayer.cpp | 13 +++--- src/server/cstrike/gamerules_singleplayer.cpp | 2 +- src/server/cstrike/info_buyzone.cpp | 2 +- src/server/cstrike/info_hostage_rescue.cpp | 2 +- src/server/cstrike/input.c | 2 +- src/server/cstrike/player.c | 13 +++--- src/server/cstrike/progs.src | 1 + src/server/defs.h | 13 +----- src/server/entry.c | 4 +- src/server/gearbox/gamerules.cpp | 6 ++- src/server/gearbox/gamerules_ctf.cpp | 2 +- src/server/gearbox/input.c | 2 +- src/server/gearbox/progs.src | 1 + src/server/hunger/input.c | 2 +- src/server/hunger/progs.src | 1 + src/server/include.src | 1 - src/server/poke646/gamerules.cpp | 6 ++- src/server/poke646/gamerules_multiplayer.cpp | 2 +- src/server/poke646/input.c | 2 +- src/server/poke646/progs.src | 1 + src/server/rewolf/gamerules.cpp | 6 ++- src/server/rewolf/gamerules_multiplayer.cpp | 2 +- src/server/rewolf/input.c | 2 +- src/server/rewolf/progs.src | 1 + src/server/scihunt/gamerules.cpp | 8 +++- src/server/scihunt/input.c | 2 +- src/server/scihunt/progs.src | 1 + src/server/tfc/gamerules.cpp | 6 ++- src/server/tfc/input.c | 2 +- src/server/tfc/progs.src | 1 + src/server/{ => valve}/flashlight.c | 6 +-- src/server/valve/gamerules.cpp | 6 ++- src/server/valve/gamerules_multiplayer.cpp | 2 +- src/server/valve/gamerules_singleplayer.cpp | 2 +- src/server/valve/input.c | 2 +- src/server/valve/player.c | 13 +++--- src/server/valve/progs.src | 1 + src/server/weapons.c | 2 +- src/shared/cstrike/defs.h | 4 -- src/shared/cstrike/flags.h | 40 +++++++++++++++++++ src/shared/cstrike/include.src | 1 + src/shared/cstrike/player.h | 1 - src/shared/cstrike/w_c4bomb.c | 2 +- src/shared/cstrike/w_deagle.c | 4 +- src/shared/cstrike/w_elites.c | 4 +- src/shared/cstrike/w_fiveseven.c | 4 +- src/shared/cstrike/w_glock18.c | 4 +- src/shared/cstrike/w_p228.c | 4 +- src/shared/cstrike/w_usp45.c | 4 +- src/shared/defs.h | 1 + src/shared/flags.h | 40 ++++--------------- src/shared/gearbox/include.src | 1 + src/shared/gearbox/player.cpp | 1 - src/shared/hunger/include.src | 1 + src/shared/hunger/player.cpp | 1 - src/shared/player.h | 3 ++ src/shared/poke646/include.src | 1 + src/shared/poke646/player.cpp | 1 - src/shared/rewolf/include.src | 1 + src/shared/rewolf/player.cpp | 1 - src/shared/rewolf/w_aicore.c | 2 +- src/shared/rewolf/w_beamgun.c | 8 ++-- src/shared/rewolf/w_chemicalgun.c | 8 ++-- src/shared/rewolf/w_dml.c | 8 ++-- src/shared/rewolf/w_gausspistol.c | 10 ++--- src/shared/rewolf/w_grenade.c | 8 ++-- src/shared/rewolf/w_shotgun.c | 8 ++-- src/shared/scihunt/include.src | 1 + src/shared/scihunt/player.cpp | 1 - src/shared/tfc/include.src | 1 + .../flashlight.h => shared/valve/flags.h} | 25 +++++++++++- src/shared/valve/include.src | 1 + src/shared/valve/player.cpp | 1 - src/shared/valve/weapon_common.c | 2 +- 93 files changed, 308 insertions(+), 196 deletions(-) rename src/server/{ => valve}/flashlight.c (91%) create mode 100644 src/shared/cstrike/flags.h rename src/{server/flashlight.h => shared/valve/flags.h} (53%) diff --git a/src/client/cstrike/hud.c b/src/client/cstrike/hud.c index b31240ab..14caaf0f 100644 --- a/src/client/cstrike/hud.c +++ b/src/client/cstrike/hud.c @@ -475,7 +475,7 @@ HUD_DrawFlashlight(void) pos = g_hudmins + [g_hudres[0] - 48, 16]; /* both on, draw both sprites at full intensity */ - if (pl.flags & FL_FLASHLIGHT) { + if (pl.gflags & GF_FLASHLIGHT) { drawsubpic( pos, [32,32], @@ -518,13 +518,13 @@ HUD_DrawZones(void) vector pos = [0,0,0]; player pl = (player)pSeat->m_ePlayer; - if (pl.flags & FL_BUYZONE) { + if (pl.gflags & GF_BUYZONE) { zc++; } - if (pl.flags & FL_BOMBZONE) { + if (pl.gflags & GF_BOMBZONE) { zc++; } - if (pl.flags & FL_RESCUEZONE) { + if (pl.gflags & GF_RESCUEZONE) { zc++; } if (pl.g_items & ITEM_DEFUSAL) { @@ -533,7 +533,7 @@ HUD_DrawZones(void) pos = g_hudmins + [16, (g_hudres[1] / 2) - (zc * 16)]; - if (pl.flags & FL_BUYZONE) { + if (pl.gflags & GF_BUYZONE) { drawsubpic( pos, [32,32], @@ -546,7 +546,7 @@ HUD_DrawZones(void) ); pos[1] += 32; } - if (pl.flags & FL_BOMBZONE) { + if (pl.gflags & GF_BOMBZONE) { drawsubpic( pos, [32,32], @@ -559,7 +559,7 @@ HUD_DrawZones(void) ); pos[1] += 32; } - if (pl.flags & FL_RESCUEZONE) { + if (pl.gflags & GF_RESCUEZONE) { drawsubpic( pos, [32,32], diff --git a/src/client/cstrike/player.c b/src/client/cstrike/player.c index 4bd3932a..ad6013dc 100644 --- a/src/client/cstrike/player.c +++ b/src/client/cstrike/player.c @@ -14,6 +14,35 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +void +Player_PreDraw(base_player pl, int thirdperson) +{ + /* Handle the flashlights... */ + if (pl.gflags & GF_FLASHLIGHT) { + vector src; + vector ang; + + if (pl.entnum != player_localentnum) { + src = pl.origin + pl.view_ofs; + ang = [pl.pitch, pl.angles[1], pl.angles[2]]; + } else { + src = pSeat->m_vecPredictedOrigin + [0,0,-8]; + ang = view_angles; + } + + makevectors(ang); + traceline(src, src + (v_forward * 8096), MOVE_NORMAL, pl); + + if (serverkeyfloat("*bspversion") == 30) { + dynamiclight_add(trace_endpos + (v_forward * -2), 128, [1,1,1]); + } else { + float p = dynamiclight_add(src, 512, [1,1,1], 0, "textures/flashlight"); + dynamiclight_set(p, LFIELD_ANGLES, ang); + dynamiclight_set(p, LFIELD_FLAGS, 3); + } + } +} + void Player_ReceiveEntity(float new) { @@ -80,8 +109,10 @@ Player_ReceiveEntity(float new) if (fl & PLAYER_VELOCITY_Z) pl.velocity[2] = readcoord(); - if (fl & PLAYER_FLAGS) + if (fl & PLAYER_FLAGS) { pl.flags = readfloat(); + pl.gflags = readfloat(); + } if (fl & PLAYER_WEAPON) pl.activeweapon = readbyte(); if (fl & PLAYER_ITEMS) diff --git a/src/client/player.c b/src/client/player.c index 79440835..83aa906d 100644 --- a/src/client/player.c +++ b/src/client/player.c @@ -120,31 +120,6 @@ var float autocvar_crouchheight = 0; float player::predraw(void) { - /* Handle the flashlights... */ - if (flags & FL_FLASHLIGHT) { - vector src; - vector ang; - - if (this.entnum != player_localentnum) { - src = origin + view_ofs; - ang = [pitch, angles[1], angles[2]]; - } else { - src = pSeat->m_vecPredictedOrigin + [0,0,-8]; - ang = view_angles; - } - - makevectors(ang); - traceline(src, src + (v_forward * 8096), FALSE, self); - - if (serverkeyfloat("*bspversion") == 30) { - dynamiclight_add(trace_endpos + (v_forward * -2), 128, [1,1,1]); - } else { - float p = dynamiclight_add(src, 512, [1,1,1], 0, "textures/flashlight"); - dynamiclight_set(p, LFIELD_ANGLES, ang); - dynamiclight_set(p, LFIELD_FLAGS, 3); - } - } - /* Run animations regardless of rendering the player */ draw(); gun_offset(); @@ -152,9 +127,11 @@ player::predraw(void) if (autocvar_cl_thirdperson == TRUE || this.entnum != player_localentnum) { Voice_Draw3D(this); + Player_PreDraw(this, TRUE); addentity(this); addentity(this.p_model); } else { + Player_PreDraw(this, FALSE); removeentity(this); removeentity(this.p_model); } diff --git a/src/client/predict.c b/src/client/predict.c index 694a72af..0b47e078 100644 --- a/src/client/predict.c +++ b/src/client/predict.c @@ -29,6 +29,7 @@ Predict_PreFrame(player pl) pl.net_origin = pl.origin; pl.net_velocity = pl.velocity; pl.net_flags = pl.flags; + pl.net_gflags = pl.gflags; pl.net_jumptime = pl.jumptime; pl.net_teleport_time = pl.teleport_time; pl.net_viewzoom = pl.viewzoom; @@ -81,6 +82,7 @@ Predict_PostFrame(player pl) pl.origin = pl.net_origin; pl.velocity = pl.net_velocity; pl.flags = pl.net_flags; + pl.gflags = pl.net_gflags; pl.jumptime = pl.net_jumptime; pl.teleport_time = pl.net_teleport_time; pl.viewzoom = pl.net_viewzoom; diff --git a/src/client/valve/hud.c b/src/client/valve/hud.c index 14e406e0..569bd0b0 100644 --- a/src/client/valve/hud.c +++ b/src/client/valve/hud.c @@ -301,7 +301,7 @@ HUD_DrawFlashlight(void) pos = g_hudmins + [g_hudres[0] - 48, 16]; /* both on, draw both sprites at full intensity */ - if (pl.flags & FL_FLASHLIGHT) { + if (pl.gflags & GF_FLASHLIGHT) { drawsubpic( pos, [32,32], diff --git a/src/client/valve/player.c b/src/client/valve/player.c index 79d9efa2..964d577b 100644 --- a/src/client/valve/player.c +++ b/src/client/valve/player.c @@ -14,6 +14,35 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +void +Player_PreDraw(base_player pl, int thirdperson) +{ + /* Handle the flashlights... */ + if (pl.gflags & GF_FLASHLIGHT) { + vector src; + vector ang; + + if (pl.entnum != player_localentnum) { + src = pl.origin + pl.view_ofs; + ang = [pl.pitch, pl.angles[1], pl.angles[2]]; + } else { + src = pSeat->m_vecPredictedOrigin + [0,0,-8]; + ang = view_angles; + } + + makevectors(ang); + traceline(src, src + (v_forward * 8096), MOVE_NORMAL, pl); + + if (serverkeyfloat("*bspversion") == 30) { + dynamiclight_add(trace_endpos + (v_forward * -2), 128, [1,1,1]); + } else { + float p = dynamiclight_add(src, 512, [1,1,1], 0, "textures/flashlight"); + dynamiclight_set(p, LFIELD_ANGLES, ang); + dynamiclight_set(p, LFIELD_FLAGS, 3); + } + } +} + void Player_ReceiveEntity(float new) { @@ -80,8 +109,10 @@ Player_ReceiveEntity(float new) if (fl & PLAYER_VELOCITY_Z) pl.velocity[2] = readcoord(); - if (fl & PLAYER_FLAGS) + if (fl & PLAYER_FLAGS) { pl.flags = readfloat(); + pl.gflags = readfloat(); + } if (fl & PLAYER_WEAPON) pl.activeweapon = readbyte(); if (fl & PLAYER_ITEMS) diff --git a/src/gs-entbase/server/baseentity.cpp b/src/gs-entbase/server/baseentity.cpp index f32b734f..47bde192 100644 --- a/src/gs-entbase/server/baseentity.cpp +++ b/src/gs-entbase/server/baseentity.cpp @@ -401,7 +401,7 @@ CBaseEntity::CBaseEntity(void) } } - gflags = GF_CANRESPAWN; + identity = 1; effects |= EF_NOSHADOW; scale = 1.0f; diff --git a/src/gs-entbase/server/baseoutput.cpp b/src/gs-entbase/server/baseoutput.cpp index ed740211..6ff4be72 100644 --- a/src/gs-entbase/server/baseoutput.cpp +++ b/src/gs-entbase/server/baseoutput.cpp @@ -50,5 +50,5 @@ void CBaseOutput::CBaseOutput(void) { /* Make sure Respawn() will be called between rounds */ - gflags = GF_CANRESPAWN; + identity = 1; } diff --git a/src/gs-entbase/server/env_laser.cpp b/src/gs-entbase/server/env_laser.cpp index 6fa2ad1c..4d184f69 100644 --- a/src/gs-entbase/server/env_laser.cpp +++ b/src/gs-entbase/server/env_laser.cpp @@ -210,6 +210,6 @@ void env_laser::env_laser(void) { CBaseTrigger::CBaseTrigger(); - gflags = GF_CANRESPAWN; + identity = 1; pvsflags = PVSF_IGNOREPVS; } diff --git a/src/gs-entbase/server/func_door.cpp b/src/gs-entbase/server/func_door.cpp index 385f95ea..2ebdabc4 100644 --- a/src/gs-entbase/server/func_door.cpp +++ b/src/gs-entbase/server/func_door.cpp @@ -107,7 +107,7 @@ class func_door:CBaseTrigger void func_door::Use(void) { - eActivator.gflags &= ~GF_USE_RELEASED; + eActivator.flags &= ~FL_USE_RELEASED; Trigger(eActivator, TRIG_TOGGLE); } diff --git a/src/gs-entbase/server/func_door_rotating.cpp b/src/gs-entbase/server/func_door_rotating.cpp index a210cd93..ef287990 100644 --- a/src/gs-entbase/server/func_door_rotating.cpp +++ b/src/gs-entbase/server/func_door_rotating.cpp @@ -234,7 +234,7 @@ void func_door_rotating::Trigger(entity act, int state) void func_door_rotating::Use(void) { - eActivator.gflags &= ~GF_USE_RELEASED; + eActivator.flags &= ~FL_USE_RELEASED; Trigger(eActivator, TRIG_TOGGLE); } diff --git a/src/gs-entbase/server/func_healthcharger.cpp b/src/gs-entbase/server/func_healthcharger.cpp index 90c9d307..c7e08269 100644 --- a/src/gs-entbase/server/func_healthcharger.cpp +++ b/src/gs-entbase/server/func_healthcharger.cpp @@ -48,7 +48,7 @@ void func_healthcharger::PlayerUse(void) return; } - eActivator.gflags |= GF_USE_RELEASED; + eActivator.flags |= FL_USE_RELEASED; /* First come first serve */ if (m_eUser && eActivator != m_eUser) { @@ -65,7 +65,7 @@ void func_healthcharger::PlayerUse(void) } if (eActivator.health >= 100) { - eActivator.gflags &= ~GF_USE_RELEASED; + eActivator.flags &= ~FL_USE_RELEASED; sound(this, CHAN_VOICE, m_strSndDone, 1.0, ATTN_NORM); } else { if (m_eUser == world) { diff --git a/src/gs-entbase/server/func_recharge.cpp b/src/gs-entbase/server/func_recharge.cpp index f3f998fb..add1f3e6 100644 --- a/src/gs-entbase/server/func_recharge.cpp +++ b/src/gs-entbase/server/func_recharge.cpp @@ -48,7 +48,7 @@ void func_recharge::PlayerUse(void) return; } - eActivator.gflags |= GF_USE_RELEASED; + eActivator.flags |= FL_USE_RELEASED; /* First come first serve */ if (m_eUser && eActivator != m_eUser) { @@ -66,7 +66,7 @@ void func_recharge::PlayerUse(void) base_player pl = (base_player)eActivator; if (pl.armor >= 100) { - eActivator.gflags &= ~GF_USE_RELEASED; + eActivator.flags &= ~FL_USE_RELEASED; sound(this, CHAN_VOICE, m_strSndDone, 1.0, ATTN_NORM); } else { if (m_eUser == world) { diff --git a/src/gs-entbase/server/info_null.cpp b/src/gs-entbase/server/info_null.cpp index c57497bd..dbf2c8f4 100644 --- a/src/gs-entbase/server/info_null.cpp +++ b/src/gs-entbase/server/info_null.cpp @@ -43,7 +43,7 @@ info_null::WarnDeveloper(void) for (entity f = world; (f = find(f, ::target, targetname));) { CBaseEntity enty = (CBaseTrigger)f; - if (enty.gflags == GF_CANRESPAWN) + if (enty.identity) if (enty.target == targetname) { print(sprintf("^1info_null::WarnDeveloper^7: " \ "%s (%s) is targetting an info_null called %s\n", diff --git a/src/server/cstrike/client.c b/src/server/cstrike/client.c index eef97ad3..8343ae63 100644 --- a/src/server/cstrike/client.c +++ b/src/server/cstrike/client.c @@ -19,9 +19,9 @@ Game_RunClientCommand(void) { player pl = (player)self; - pl.flags &= ~FL_BUYZONE; - pl.flags &= ~FL_RESCUEZONE; - pl.flags &= ~FL_BOMBZONE; + pl.gflags &= ~GF_BUYZONE; + pl.gflags &= ~GF_RESCUEZONE; + pl.gflags &= ~GF_BOMBZONE; Footsteps_Update(); PMove_Run(); diff --git a/src/server/cstrike/func_bomb_target.cpp b/src/server/cstrike/func_bomb_target.cpp index 3ba26eb0..278ddf7e 100644 --- a/src/server/cstrike/func_bomb_target.cpp +++ b/src/server/cstrike/func_bomb_target.cpp @@ -47,7 +47,7 @@ func_bomb_target::touch(void) return; } - pl.flags |= FL_BOMBZONE; + pl.gflags |= GF_BOMBZONE; } void diff --git a/src/server/cstrike/func_buyzone.cpp b/src/server/cstrike/func_buyzone.cpp index 26baab96..17b61968 100644 --- a/src/server/cstrike/func_buyzone.cpp +++ b/src/server/cstrike/func_buyzone.cpp @@ -56,7 +56,7 @@ func_buyzone::touch(void) return; if (team == 0 || team == pl.team) - pl.flags |= FL_BUYZONE; + pl.gflags |= GF_BUYZONE; } void diff --git a/src/server/cstrike/func_hostage_rescue.cpp b/src/server/cstrike/func_hostage_rescue.cpp index 02c8fd9b..fce92371 100644 --- a/src/server/cstrike/func_hostage_rescue.cpp +++ b/src/server/cstrike/func_hostage_rescue.cpp @@ -41,7 +41,7 @@ func_hostage_rescue::touch(void) { if (other.flags & FL_CLIENT) { player pl = (player)other; - pl.flags |= FL_RESCUEZONE; + pl.gflags |= GF_RESCUEZONE; return; } diff --git a/src/server/cstrike/gamerules.cpp b/src/server/cstrike/gamerules.cpp index 7ce8e1ff..dde743ee 100644 --- a/src/server/cstrike/gamerules.cpp +++ b/src/server/cstrike/gamerules.cpp @@ -77,6 +77,9 @@ CSGameRules::PlayerPostFrame(base_player pp) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -116,6 +119,7 @@ CSGameRules::PlayerPostFrame(base_player pp) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -188,6 +192,7 @@ CSGameRules::LevelDecodeParms(base_player pp) pl.g3sg1_mag = parm44; pl.sg550_mag = parm45; pl.para_mag = parm46; + pl.gflags = parm63; if (pl.flags & FL_CROUCHING) { setsize(pl, VEC_CHULL_MIN, VEC_CHULL_MAX); @@ -209,6 +214,7 @@ CSGameRules::LevelChangeParms(base_player pp) parm7 = pl.velocity[0]; parm8 = pl.velocity[1]; parm9 = pl.velocity[2]; + parm63 = pl.gflags; parm64 = pl.flags; parm10 = pl.g_items; parm11 = pl.activeweapon; @@ -259,7 +265,7 @@ CSGameRules::LevelNewParms(void) parm22 = parm23 = parm24 = parm25 = parm26 = parm27 = parm28 = parm29 = parm30 = parm31 = parm32 = parm33 = parm34 = parm35 = parm36 = parm37 = parm38 = parm39 = parm40 = parm41 = parm42 = - parm43 = parm44 = parm45 = parm46 = 0; + parm43 = parm44 = parm45 = parm46 = parm63= 0; parm64 = FL_CLIENT; } @@ -276,7 +282,7 @@ CSGameRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/cstrike/gamerules_multiplayer.cpp b/src/server/cstrike/gamerules_multiplayer.cpp index c5bdca30..2672a86f 100644 --- a/src/server/cstrike/gamerules_multiplayer.cpp +++ b/src/server/cstrike/gamerules_multiplayer.cpp @@ -67,7 +67,7 @@ CSMultiplayerRules::PlayerDeath(base_player pl) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = 0; pl.health = 0; @@ -374,7 +374,7 @@ CSMultiplayerRules::BuyingPossible(base_player pl) } } - if (!(pl.flags & FL_BUYZONE)) { + if (!(pl.gflags & GF_BUYZONE)) { centerprint(pl, "Sorry, you aren't in a buyzone.\n"); return FALSE; } @@ -464,9 +464,10 @@ CSMultiplayerRules::RestartRound(int iWipe) } // Respawn all the entities - for (entity a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; - caw.Respawn(); + if (caw.classname != "player") + caw.Respawn(); } TimerBegin(autocvar_mp_freezetime, GAME_FREEZE); @@ -702,8 +703,10 @@ CSMultiplayerRules::PlayerRespawn(base_player pp, int fTeam) pl.viewzoom = 1.0; pl.g_items &= ~ITEM_C4BOMB; - pl.origin = eSpawn.origin; + print(sprintf("Spawnpos: %v\n", eSpawn.origin)); + pl.SetOrigin(eSpawn.origin); pl.angles = eSpawn.angles; + pl.SendFlags = UPDATE_ALL; Client_FixAngle(pl, pl.angles); switch (pl.charmodel) { diff --git a/src/server/cstrike/gamerules_singleplayer.cpp b/src/server/cstrike/gamerules_singleplayer.cpp index 4242b49c..80ed5f7c 100644 --- a/src/server/cstrike/gamerules_singleplayer.cpp +++ b/src/server/cstrike/gamerules_singleplayer.cpp @@ -20,7 +20,7 @@ CSSingleplayerRules::PlayerDeath(base_player pl) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = 0; if (pl.health < -50) { diff --git a/src/server/cstrike/info_buyzone.cpp b/src/server/cstrike/info_buyzone.cpp index d483e6cf..99203ac4 100644 --- a/src/server/cstrike/info_buyzone.cpp +++ b/src/server/cstrike/info_buyzone.cpp @@ -39,7 +39,7 @@ info_buyzone::touch(void) return; if (team == 0 || team == pl.team) - pl.flags |= FL_BUYZONE; + pl.gflags |= GF_BUYZONE; } void diff --git a/src/server/cstrike/info_hostage_rescue.cpp b/src/server/cstrike/info_hostage_rescue.cpp index 01c0edba..865cb586 100644 --- a/src/server/cstrike/info_hostage_rescue.cpp +++ b/src/server/cstrike/info_hostage_rescue.cpp @@ -40,7 +40,7 @@ info_hostage_rescue::touch(void) { if (other.flags & FL_CLIENT) { player pl = (player)other; - pl.flags |= FL_RESCUEZONE; + pl.gflags |= GF_RESCUEZONE; return; } diff --git a/src/server/cstrike/input.c b/src/server/cstrike/input.c index 3cff262f..39f99871 100644 --- a/src/server/cstrike/input.c +++ b/src/server/cstrike/input.c @@ -81,7 +81,7 @@ Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/cstrike/player.c b/src/server/cstrike/player.c index c884c109..e144994a 100644 --- a/src/server/cstrike/player.c +++ b/src/server/cstrike/player.c @@ -37,7 +37,7 @@ void Player_UseDown(void) { if (self.health <= 0) { return; - } else if (!(self.gflags & GF_USE_RELEASED)) { + } else if (!(self.flags & FL_USE_RELEASED)) { return; } @@ -48,17 +48,17 @@ void Player_UseDown(void) traceline (vSource, vSource + (v_forward * 64), MOVE_EVERYTHING, self); if (trace_ent.PlayerUse) { - self.gflags &= ~GF_USE_RELEASED; + self.flags &= ~FL_USE_RELEASED; UseWorkaround(trace_ent); /* Some entities want to support Use spamming */ - if (!(self.gflags & GF_USE_RELEASED)) { + if (!(self.flags & FL_USE_RELEASED)) { sound(self, CHAN_ITEM, "common/wpn_select.wav", 0.25, ATTN_IDLE); } } else { sound(self, CHAN_ITEM, "common/wpn_denyselect.wav", 0.25, ATTN_IDLE); - self.gflags &= ~GF_USE_RELEASED; + self.flags &= ~FL_USE_RELEASED; } } @@ -68,8 +68,8 @@ Player_UseUp ==================== */ void Player_UseUp(void) { - if (!(self.gflags & GF_USE_RELEASED)) { - self.gflags |= GF_USE_RELEASED; + if (!(self.flags & FL_USE_RELEASED)) { + self.flags |= FL_USE_RELEASED; } } @@ -118,6 +118,7 @@ float Player_SendEntity(entity ePEnt, float fChanged) } if (fChanged & PLAYER_FLAGS) { WriteFloat(MSG_ENTITY, pl.flags); + WriteFloat(MSG_ENTITY, pl.gflags); } if (fChanged & PLAYER_WEAPON) { WriteByte(MSG_ENTITY, pl.activeweapon); diff --git a/src/server/cstrike/progs.src b/src/server/cstrike/progs.src index db0c31be..7a86f867 100755 --- a/src/server/cstrike/progs.src +++ b/src/server/cstrike/progs.src @@ -50,6 +50,7 @@ ../cstrike/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../cstrike/input.c ../cstrike/spawn.c diff --git a/src/server/defs.h b/src/server/defs.h index 71b23dde..aa76f83b 100644 --- a/src/server/defs.h +++ b/src/server/defs.h @@ -21,7 +21,6 @@ #include "vox.h" #include "nodes.h" #include "spawn.h" -#include "flashlight.h" #include "weapons.h" #include "plugins.h" #include "vehicles.h" @@ -61,7 +60,7 @@ entity g_eAttacker; .float material; .float deaths; .float fStepTime; -.float gflags; +.float identity; /* in idTech the .owner field causes collisions to fail against set entity, * we don't want this all of the time. so use this as a fallback */ @@ -72,16 +71,6 @@ string startspot; string __fullspawndata; hashtable hashMaterials; -enumflags -{ - GF_CANRESPAWN, - GF_USE_RELEASED, - GF_IN_VEHICLE, - GF_FROZEN, - GF_SEMI_TOGGLED, - GF_GAMESTARTS -}; - /* damage related tempglobals, like trace_* */ entity g_dmg_eAttacker; entity g_dmg_eTarget; diff --git a/src/server/entry.c b/src/server/entry.c index 234ae288..2191f8c5 100644 --- a/src/server/entry.c +++ b/src/server/entry.c @@ -21,7 +21,7 @@ void main(void) void StartFrame(void) { - for (entity a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity ent = (CBaseEntity)a; ent.ParentUpdate(); } @@ -130,7 +130,7 @@ void init_respawn(void) iprint("Respawning Entities"); g_grMode.InitPostEnts(); - for (entity a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity ent = (CBaseEntity)a; ent.Respawn(); } diff --git a/src/server/gearbox/gamerules.cpp b/src/server/gearbox/gamerules.cpp index a395870a..b4b9fcff 100644 --- a/src/server/gearbox/gamerules.cpp +++ b/src/server/gearbox/gamerules.cpp @@ -60,6 +60,9 @@ HLGameRules::PlayerPostFrame(base_player pp) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -99,6 +102,7 @@ HLGameRules::PlayerPostFrame(base_player pp) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -240,7 +244,7 @@ HLGameRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/gearbox/gamerules_ctf.cpp b/src/server/gearbox/gamerules_ctf.cpp index 558c327d..43a1ea49 100644 --- a/src/server/gearbox/gamerules_ctf.cpp +++ b/src/server/gearbox/gamerules_ctf.cpp @@ -64,7 +64,7 @@ OP4CTFRules::PlayerDeath(base_player pp) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = 0; pl.think = PutClientInServer; diff --git a/src/server/gearbox/input.c b/src/server/gearbox/input.c index 045adec9..486d73db 100644 --- a/src/server/gearbox/input.c +++ b/src/server/gearbox/input.c @@ -71,7 +71,7 @@ Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, g::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/gearbox/progs.src b/src/server/gearbox/progs.src index 5c01ed77..1adf8e43 100755 --- a/src/server/gearbox/progs.src +++ b/src/server/gearbox/progs.src @@ -83,6 +83,7 @@ ../gearbox/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../valve/input.c ../valve/spawn.c diff --git a/src/server/hunger/input.c b/src/server/hunger/input.c index 461bf9e5..6b56e1d8 100644 --- a/src/server/hunger/input.c +++ b/src/server/hunger/input.c @@ -74,7 +74,7 @@ void Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/hunger/progs.src b/src/server/hunger/progs.src index ceab8663..0190078f 100755 --- a/src/server/hunger/progs.src +++ b/src/server/hunger/progs.src @@ -80,6 +80,7 @@ ../valve/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../hunger/input.c ../valve/spawn.c diff --git a/src/server/include.src b/src/server/include.src index 665d5868..a6f59a04 100644 --- a/src/server/include.src +++ b/src/server/include.src @@ -11,7 +11,6 @@ client.c server.c traceattack.c footsteps.c -flashlight.c vote.c weapons.c vehicles.c diff --git a/src/server/poke646/gamerules.cpp b/src/server/poke646/gamerules.cpp index 76abe179..47e69e2d 100644 --- a/src/server/poke646/gamerules.cpp +++ b/src/server/poke646/gamerules.cpp @@ -61,6 +61,9 @@ HLGameRules::PlayerPostFrame(base_player pp) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -100,6 +103,7 @@ HLGameRules::PlayerPostFrame(base_player pp) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -203,7 +207,7 @@ HLGameRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/poke646/gamerules_multiplayer.cpp b/src/server/poke646/gamerules_multiplayer.cpp index b711b105..fa845b6b 100644 --- a/src/server/poke646/gamerules_multiplayer.cpp +++ b/src/server/poke646/gamerules_multiplayer.cpp @@ -30,7 +30,7 @@ HLMultiplayerRules::PlayerDeath(base_player pp) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = 0; pl.think = PutClientInServer; diff --git a/src/server/poke646/input.c b/src/server/poke646/input.c index 377c39a6..c52ec79d 100644 --- a/src/server/poke646/input.c +++ b/src/server/poke646/input.c @@ -53,7 +53,7 @@ Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/poke646/progs.src b/src/server/poke646/progs.src index e77a88e0..f01da580 100755 --- a/src/server/poke646/progs.src +++ b/src/server/poke646/progs.src @@ -78,6 +78,7 @@ ../valve/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../poke646/input.c ../valve/spawn.c diff --git a/src/server/rewolf/gamerules.cpp b/src/server/rewolf/gamerules.cpp index 45b5944e..6dcf50d4 100644 --- a/src/server/rewolf/gamerules.cpp +++ b/src/server/rewolf/gamerules.cpp @@ -153,6 +153,9 @@ HLGameRules::PlayerPostFrame(base_player pp) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -192,6 +195,7 @@ HLGameRules::PlayerPostFrame(base_player pp) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -218,7 +222,7 @@ HLGameRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/rewolf/gamerules_multiplayer.cpp b/src/server/rewolf/gamerules_multiplayer.cpp index 5919b9f6..3797aef7 100644 --- a/src/server/rewolf/gamerules_multiplayer.cpp +++ b/src/server/rewolf/gamerules_multiplayer.cpp @@ -30,7 +30,7 @@ HLMultiplayerRules::PlayerDeath(base_player pp) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = 0; pl.think = PutClientInServer; diff --git a/src/server/rewolf/input.c b/src/server/rewolf/input.c index 8a2b6f0d..1cf7a142 100644 --- a/src/server/rewolf/input.c +++ b/src/server/rewolf/input.c @@ -55,7 +55,7 @@ Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/rewolf/progs.src b/src/server/rewolf/progs.src index 9807a140..7fc70664 100755 --- a/src/server/rewolf/progs.src +++ b/src/server/rewolf/progs.src @@ -43,6 +43,7 @@ ../valve/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../rewolf/input.c ../valve/spawn.c diff --git a/src/server/scihunt/gamerules.cpp b/src/server/scihunt/gamerules.cpp index 6a6e7e5a..424c7e6c 100644 --- a/src/server/scihunt/gamerules.cpp +++ b/src/server/scihunt/gamerules.cpp @@ -49,7 +49,7 @@ SHMultiplayerRules::PlayerDeath(base_player pl) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = 0; pl.think = PutClientInServer; @@ -265,6 +265,9 @@ SHMultiplayerRules::PlayerPostFrame(base_player pp) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -304,6 +307,7 @@ SHMultiplayerRules::PlayerPostFrame(base_player pp) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -341,7 +345,7 @@ SHMultiplayerRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/scihunt/input.c b/src/server/scihunt/input.c index 13149486..da1b4267 100644 --- a/src/server/scihunt/input.c +++ b/src/server/scihunt/input.c @@ -48,7 +48,7 @@ void Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/scihunt/progs.src b/src/server/scihunt/progs.src index 3d165684..c14e80c3 100755 --- a/src/server/scihunt/progs.src +++ b/src/server/scihunt/progs.src @@ -76,6 +76,7 @@ ../scihunt/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../../botlib/include.src diff --git a/src/server/tfc/gamerules.cpp b/src/server/tfc/gamerules.cpp index a8e4984c..ba83066c 100644 --- a/src/server/tfc/gamerules.cpp +++ b/src/server/tfc/gamerules.cpp @@ -60,6 +60,9 @@ TFCGameRules::PlayerPostFrame(base_player pp) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -99,6 +102,7 @@ TFCGameRules::PlayerPostFrame(base_player pp) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -136,7 +140,7 @@ TFCGameRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/tfc/input.c b/src/server/tfc/input.c index 0789d4a3..440082b9 100644 --- a/src/server/tfc/input.c +++ b/src/server/tfc/input.c @@ -41,7 +41,7 @@ Game_Input(void) player pl = (player)self; if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/tfc/progs.src b/src/server/tfc/progs.src index 460e563c..bd65b514 100755 --- a/src/server/tfc/progs.src +++ b/src/server/tfc/progs.src @@ -32,6 +32,7 @@ ../tfc/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../../botlib/include.src diff --git a/src/server/flashlight.c b/src/server/valve/flashlight.c similarity index 91% rename from src/server/flashlight.c rename to src/server/valve/flashlight.c index a972c172..fbdf8278 100644 --- a/src/server/flashlight.c +++ b/src/server/valve/flashlight.c @@ -33,10 +33,10 @@ void Flashlight_Toggle(void) return; } - if (self.flags & FL_FLASHLIGHT) { - self.flags &= ~FL_FLASHLIGHT; + if (self.gflags & GF_FLASHLIGHT) { + self.gflags &= ~GF_FLASHLIGHT; } else { - self.flags |= FL_FLASHLIGHT; + self.gflags |= GF_FLASHLIGHT; } sound(self, CHAN_ITEM, "items/flashlight1.wav", 1, ATTN_IDLE); } diff --git a/src/server/valve/gamerules.cpp b/src/server/valve/gamerules.cpp index 450f9a99..ffbd2a31 100644 --- a/src/server/valve/gamerules.cpp +++ b/src/server/valve/gamerules.cpp @@ -152,6 +152,9 @@ HLGameRules::PlayerPostFrame(base_player pl) if (pl.old_flags != pl.flags) pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_gflags != pl.gflags) + pl.SendFlags |= PLAYER_FLAGS; + if (pl.old_activeweapon != pl.activeweapon) pl.SendFlags |= PLAYER_WEAPON; @@ -191,6 +194,7 @@ HLGameRules::PlayerPostFrame(base_player pl) pl.old_angles[0] = pl.v_angle[0]; pl.old_velocity = pl.velocity; pl.old_flags = pl.flags; + pl.old_gflags = pl.gflags; pl.old_activeweapon = pl.activeweapon; pl.old_items = pl.g_items; pl.old_health = pl.health; @@ -219,7 +223,7 @@ HLGameRules::PlayerConnect(entity pl) /* we're the first. respawn all entities? */ if (playercount == 0) { - for (a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); } diff --git a/src/server/valve/gamerules_multiplayer.cpp b/src/server/valve/gamerules_multiplayer.cpp index 73f085a7..3fc1d1eb 100644 --- a/src/server/valve/gamerules_multiplayer.cpp +++ b/src/server/valve/gamerules_multiplayer.cpp @@ -66,7 +66,7 @@ HLMultiplayerRules::PlayerDeath(base_player pl) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = 0; pl.think = PutClientInServer; diff --git a/src/server/valve/gamerules_singleplayer.cpp b/src/server/valve/gamerules_singleplayer.cpp index ce23a36f..e4263029 100644 --- a/src/server/valve/gamerules_singleplayer.cpp +++ b/src/server/valve/gamerules_singleplayer.cpp @@ -20,7 +20,7 @@ HLSingleplayerRules::PlayerDeath(base_player pl) pl.movetype = MOVETYPE_NONE; pl.solid = SOLID_NOT; pl.takedamage = DAMAGE_NO; - pl.flags &= ~FL_FLASHLIGHT; + pl.gflags &= ~GF_FLASHLIGHT; pl.armor = pl.activeweapon = pl.g_items = pl.weapon = 0; pl.health = 0; Sound_Play(pl, CHAN_AUTO, "player.die"); diff --git a/src/server/valve/input.c b/src/server/valve/input.c index 2fdfe9b8..cf35d2d4 100644 --- a/src/server/valve/input.c +++ b/src/server/valve/input.c @@ -74,7 +74,7 @@ void Game_Input(void) if (self.impulse == 102) { // Respawn all the entities - for (entity a = world; (a = findfloat(a, ::gflags, GF_CANRESPAWN));) { + for (entity a = world; (a = findfloat(a, ::identity, 1));) { CBaseEntity caw = (CBaseEntity)a; caw.Respawn(); caw.SendFlags |= diff --git a/src/server/valve/player.c b/src/server/valve/player.c index 9e25c9e1..81c7afc4 100644 --- a/src/server/valve/player.c +++ b/src/server/valve/player.c @@ -39,7 +39,7 @@ void Player_UseDown(void) if (self.health <= 0) { return; - } else if (!(self.gflags & GF_USE_RELEASED)) { + } else if (!(self.flags & FL_USE_RELEASED)) { return; } @@ -48,17 +48,17 @@ void Player_UseDown(void) traceline(vecSrc, vecSrc + (v_forward * 64), MOVE_NORMAL, self); if (trace_ent.PlayerUse) { - self.gflags &= ~GF_USE_RELEASED; + self.flags &= ~FL_USE_RELEASED; UseWorkaround(trace_ent); /* Some entities want to support Use spamming */ - if (!(self.gflags & GF_USE_RELEASED)) { + if (!(self.flags & FL_USE_RELEASED)) { sound(self, CHAN_ITEM, "common/wpn_select.wav", 0.25, ATTN_IDLE); } } else { sound(self, CHAN_ITEM, "common/wpn_denyselect.wav", 0.25, ATTN_IDLE); - self.gflags &= ~GF_USE_RELEASED; + self.flags &= ~FL_USE_RELEASED; } } @@ -68,8 +68,8 @@ Player_UseUp ==================== */ void Player_UseUp(void) { - if (!(self.gflags & GF_USE_RELEASED)) { - self.gflags |= GF_USE_RELEASED; + if (!(self.flags & FL_USE_RELEASED)) { + self.flags |= FL_USE_RELEASED; } } @@ -118,6 +118,7 @@ float Player_SendEntity(entity ePEnt, float fChanged) } if (fChanged & PLAYER_FLAGS) { WriteFloat(MSG_ENTITY, pl.flags); + WriteFloat(MSG_ENTITY, pl.gflags); } if (fChanged & PLAYER_WEAPON) { WriteByte(MSG_ENTITY, pl.activeweapon); diff --git a/src/server/valve/progs.src b/src/server/valve/progs.src index c1515e11..9927024f 100755 --- a/src/server/valve/progs.src +++ b/src/server/valve/progs.src @@ -78,6 +78,7 @@ ../valve/server.c ../valve/damage.c ../valve/rules.c +../valve/flashlight.c ../valve/input.c ../valve/spawn.c diff --git a/src/server/weapons.c b/src/server/weapons.c index 999772b4..f5a723c1 100644 --- a/src/server/weapons.c +++ b/src/server/weapons.c @@ -42,7 +42,7 @@ Weapons_SwitchBest(base_player pl) } Weapons_Draw(); self = oldself; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; } /* returns TRUE if weapon pickup gets removed from this world */ diff --git a/src/shared/cstrike/defs.h b/src/shared/cstrike/defs.h index 7b2151a3..1433b89a 100644 --- a/src/shared/cstrike/defs.h +++ b/src/shared/cstrike/defs.h @@ -23,10 +23,6 @@ #define TEAM_CT 2 #define TEAM_VIP 3 -#define FL_BUYZONE (1<<21) -#define FL_RESCUEZONE (1<<22) -#define FL_BOMBZONE (1<<23) - enum { STAT_MONEY = 34, diff --git a/src/shared/cstrike/flags.h b/src/shared/cstrike/flags.h new file mode 100644 index 00000000..53b1313b --- /dev/null +++ b/src/shared/cstrike/flags.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2016-2020 Marco Hladik + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER + * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* game flags */ +#define GF_SEMI_TOGGLED (1<<0) +#define GF_FLASHLIGHT (1<<1) +#define GF_BUYZONE (1<<2) +#define GF_RESCUEZONE (1<<3) +#define GF_BOMBZONE (1<<4) +#define GF_UNUSED6 (1<<5) +#define GF_UNUSED7 (1<<6) +#define GF_UNUSED8 (1<<7) +#define GF_UNUSED9 (1<<8) +#define GF_UNUSED10 (1<<9) +#define GF_UNUSED11 (1<<10) +#define GF_UNUSED12 (1<<11) +#define GF_UNUSED13 (1<<12) +#define GF_UNUSED14 (1<<14) +#define GF_UNUSED15 (1<<16) +#define GF_UNUSED16 (1<<13) +#define GF_UNUSED17 (1<<17) +#define GF_UNUSED18 (1<<18) +#define GF_UNUSED19 (1<<19) +#define GF_UNUSED20 (1<<20) +#define GF_UNUSED21 (1<<21) +#define GF_UNUSED22 (1<<22) +#define GF_UNUSED23 (1<<23) diff --git a/src/shared/cstrike/include.src b/src/shared/cstrike/include.src index 2a15be67..8b2fa82f 100644 --- a/src/shared/cstrike/include.src +++ b/src/shared/cstrike/include.src @@ -1,5 +1,6 @@ #includelist ../../shared/cstrike/defs.h +../../shared/cstrike/flags.h ../../shared/sound.c ../../shared/cstrike/animations.h ../../shared/cstrike/animations.c diff --git a/src/shared/cstrike/player.h b/src/shared/cstrike/player.h index 0573acbe..8b73b3b9 100644 --- a/src/shared/cstrike/player.h +++ b/src/shared/cstrike/player.h @@ -27,7 +27,6 @@ class player:base_player int playertype; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; int cs_cross_mindist; diff --git a/src/shared/cstrike/w_c4bomb.c b/src/shared/cstrike/w_c4bomb.c index 19cf9300..b8330e59 100644 --- a/src/shared/cstrike/w_c4bomb.c +++ b/src/shared/cstrike/w_c4bomb.c @@ -132,7 +132,7 @@ w_c4bomb_primary(void) { player pl = (player)self; - if (!(pl.flags & FL_BOMBZONE)) { + if (!(pl.gflags & GF_BOMBZONE)) { return; } diff --git a/src/shared/cstrike/w_deagle.c b/src/shared/cstrike/w_deagle.c index 8e64acf0..2196c290 100644 --- a/src/shared/cstrike/w_deagle.c +++ b/src/shared/cstrike/w_deagle.c @@ -118,7 +118,7 @@ w_deagle_primary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -165,7 +165,7 @@ w_deagle_primary(void) } } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; pl.w_attack_next = 0.15f; pl.w_idle_next = pl.w_attack_next; } diff --git a/src/shared/cstrike/w_elites.c b/src/shared/cstrike/w_elites.c index 8e242642..9d48639f 100644 --- a/src/shared/cstrike/w_elites.c +++ b/src/shared/cstrike/w_elites.c @@ -127,7 +127,7 @@ w_elites_primary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -216,7 +216,7 @@ w_elites_primary(void) } } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; pl.w_attack_next = 0.15f; pl.w_idle_next = pl.w_attack_next; } diff --git a/src/shared/cstrike/w_fiveseven.c b/src/shared/cstrike/w_fiveseven.c index 7e088299..cfb2b19f 100644 --- a/src/shared/cstrike/w_fiveseven.c +++ b/src/shared/cstrike/w_fiveseven.c @@ -118,7 +118,7 @@ w_fiveseven_primary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -165,7 +165,7 @@ w_fiveseven_primary(void) } } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; pl.w_attack_next = 0.15f; pl.w_idle_next = pl.w_attack_next; } diff --git a/src/shared/cstrike/w_glock18.c b/src/shared/cstrike/w_glock18.c index e2649f8d..b9fee4f1 100644 --- a/src/shared/cstrike/w_glock18.c +++ b/src/shared/cstrike/w_glock18.c @@ -136,7 +136,7 @@ w_glock18_primary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -192,7 +192,7 @@ w_glock18_primary(void) } pl.w_attack_next = 0.15f; } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; pl.w_idle_next = pl.w_attack_next; } diff --git a/src/shared/cstrike/w_p228.c b/src/shared/cstrike/w_p228.c index 78d1d02c..691afb83 100644 --- a/src/shared/cstrike/w_p228.c +++ b/src/shared/cstrike/w_p228.c @@ -119,7 +119,7 @@ w_p228_primary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -170,7 +170,7 @@ w_p228_primary(void) } } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; pl.w_attack_next = 0.15f; pl.w_idle_next = pl.w_attack_next; } diff --git a/src/shared/cstrike/w_usp45.c b/src/shared/cstrike/w_usp45.c index 518d63de..bf67bdb7 100644 --- a/src/shared/cstrike/w_usp45.c +++ b/src/shared/cstrike/w_usp45.c @@ -136,7 +136,7 @@ w_usp45_primary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -218,7 +218,7 @@ w_usp45_primary(void) } } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; pl.w_attack_next = 0.15f; pl.w_idle_next = pl.w_attack_next; } diff --git a/src/shared/defs.h b/src/shared/defs.h index 2217d065..f920b27f 100644 --- a/src/shared/defs.h +++ b/src/shared/defs.h @@ -61,6 +61,7 @@ const vector VEC_PLAYER_CVIEWPOS = [0,0,12]; .float jumptime; .float teleport_time; .vector basevelocity; +.float gflags; void* memrealloc(__variant *oldptr, int elementsize, int oldelements, int newelements) diff --git a/src/shared/flags.h b/src/shared/flags.h index 5069b6c6..ef03cf63 100644 --- a/src/shared/flags.h +++ b/src/shared/flags.h @@ -33,35 +33,11 @@ /* nuclide */ #define FL_ONLADDER (1<<13) -#define FL_FLASHLIGHT (1<<17) -#define FL_CROUCHING (1<<18) -#define FL_SEMI_TOGGLED (1<<19) -#define FL_FROZEN (1<<20) -#define FL_RESERVED1 (1<<21) -#define FL_RESERVED2 (1<<22) -#define FL_RESERVED3 (1<<23) - -/* game flags */ -#define GF_UNUSED1 (1<<0) -#define GF_UNUSED2 (1<<1) -#define GF_UNUSED3 (1<<2) -#define GF_UNUSED4 (1<<3) -#define GF_UNUSED5 (1<<4) -#define GF_UNUSED6 (1<<5) -#define GF_UNUSED7 (1<<6) -#define GF_UNUSED8 (1<<7) -#define GF_UNUSED9 (1<<8) -#define GF_UNUSED10 (1<<9) -#define GF_UNUSED11 (1<<10) -#define GF_UNUSED12 (1<<11) -#define GF_UNUSED13 (1<<12) -#define GF_UNUSED14 (1<<14) -#define GF_UNUSED15 (1<<16) -#define GF_UNUSED16 (1<<13) -#define GF_UNUSED17 (1<<17) -#define GF_UNUSED18 (1<<18) -#define GF_UNUSED19 (1<<19) -#define GF_UNUSED20 (1<<20) -#define GF_UNUSED21 (1<<21) -#define GF_UNUSED22 (1<<22) -#define GF_UNUSED23 (1<<23) +#define FL_CROUCHING (1<<17) +#define FL_INVEHICLE (1<<18) +#define FL_FROZEN (1<<19) +#define FL_USE_RELEASED (1<<20) +#define FL_RESERVED1 (1<<15) +#define FL_RESERVED2 (1<<21) +#define FL_RESERVED3 (1<<22) +#define FL_RESERVED4 (1<<23) diff --git a/src/shared/gearbox/include.src b/src/shared/gearbox/include.src index e584fe0f..f1069b69 100644 --- a/src/shared/gearbox/include.src +++ b/src/shared/gearbox/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/gearbox/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/shared/gearbox/player.cpp b/src/shared/gearbox/player.cpp index 0dc05322..a572b441 100644 --- a/src/shared/gearbox/player.cpp +++ b/src/shared/gearbox/player.cpp @@ -23,7 +23,6 @@ class player:base_player entity p_model; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; virtual void(void) gun_offset; diff --git a/src/shared/hunger/include.src b/src/shared/hunger/include.src index ccfe7eff..89dd752d 100644 --- a/src/shared/hunger/include.src +++ b/src/shared/hunger/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/hunger/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/shared/hunger/player.cpp b/src/shared/hunger/player.cpp index 12f02a0b..f55644bb 100644 --- a/src/shared/hunger/player.cpp +++ b/src/shared/hunger/player.cpp @@ -22,7 +22,6 @@ class player:base_player entity p_model; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; virtual void(void) gun_offset; virtual void(void) draw; diff --git a/src/shared/player.h b/src/shared/player.h index e4bbf57f..4fb45ac3 100644 --- a/src/shared/player.h +++ b/src/shared/player.h @@ -41,6 +41,7 @@ class base_player vector net_origin; vector net_velocity; float net_flags; + float net_gflags; float net_w_attack_next; float net_w_idle_next; float net_jumptime; @@ -52,6 +53,7 @@ class base_player int net_ammo2; int net_ammo3; int sequence; + float pitch; #else /* conditional networking */ @@ -60,6 +62,7 @@ class base_player vector old_angles; vector old_velocity; int old_flags; + int old_gflags; int old_activeweapon; int old_items; float old_health; diff --git a/src/shared/poke646/include.src b/src/shared/poke646/include.src index 9f2c45ed..802ed979 100644 --- a/src/shared/poke646/include.src +++ b/src/shared/poke646/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/poke646/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/shared/poke646/player.cpp b/src/shared/poke646/player.cpp index 12e054f4..be4cee25 100644 --- a/src/shared/poke646/player.cpp +++ b/src/shared/poke646/player.cpp @@ -26,7 +26,6 @@ class player:base_player entity p_model; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; virtual void(void) gun_offset; diff --git a/src/shared/rewolf/include.src b/src/shared/rewolf/include.src index afaaa923..3958a192 100644 --- a/src/shared/rewolf/include.src +++ b/src/shared/rewolf/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/rewolf/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/shared/rewolf/player.cpp b/src/shared/rewolf/player.cpp index 8df78e6f..3b77f478 100644 --- a/src/shared/rewolf/player.cpp +++ b/src/shared/rewolf/player.cpp @@ -23,7 +23,6 @@ class player:base_player entity p_model; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; virtual void(void) gun_offset; diff --git a/src/shared/rewolf/w_aicore.c b/src/shared/rewolf/w_aicore.c index b30ff351..90bbdf91 100644 --- a/src/shared/rewolf/w_aicore.c +++ b/src/shared/rewolf/w_aicore.c @@ -58,7 +58,7 @@ w_aicore_release(void) { player pl = (player)self; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; if (pl.w_idle_next) { return; diff --git a/src/shared/rewolf/w_beamgun.c b/src/shared/rewolf/w_beamgun.c index a4f8d649..327aaa02 100644 --- a/src/shared/rewolf/w_beamgun.c +++ b/src/shared/rewolf/w_beamgun.c @@ -58,13 +58,13 @@ w_beamgun_primary(void) vector src; player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } if (pl.a_ammo1 > 0) { pl.a_ammo1 = 0; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; Weapons_ViewAnimation(BEAMGUN_CONFIG); pl.w_attack_next = 2.26087f; pl.w_idle_next = 2.26087f; @@ -90,11 +90,11 @@ w_beamgun_secondary(void) { player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; if (pl.w_attack_next) { return; diff --git a/src/shared/rewolf/w_chemicalgun.c b/src/shared/rewolf/w_chemicalgun.c index 5f166895..2ea0ea2b 100644 --- a/src/shared/rewolf/w_chemicalgun.c +++ b/src/shared/rewolf/w_chemicalgun.c @@ -43,13 +43,13 @@ w_chemicalgun_primary(void) vector src; player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } if (pl.a_ammo1 > 0) { pl.a_ammo1 = 0; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; Weapons_ViewAnimation(CHEMGUN_CONFIG); pl.w_attack_next = 2.08f; pl.w_idle_next = pl.w_attack_next; @@ -75,11 +75,11 @@ w_chemicalgun_secondary(void) { player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; if (pl.w_attack_next) { return; diff --git a/src/shared/rewolf/w_dml.c b/src/shared/rewolf/w_dml.c index e18c2903..bc972417 100644 --- a/src/shared/rewolf/w_dml.c +++ b/src/shared/rewolf/w_dml.c @@ -131,13 +131,13 @@ w_dml_primary(void) vector src; player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } if (pl.a_ammo1 > 0) { pl.a_ammo1 = 0; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; Weapons_ViewAnimation(DML_CUSTOMIZE); #ifdef SERVER Sound_Play(pl, 8, "weapon_dml.customize"); @@ -173,11 +173,11 @@ w_dml_secondary(void) { player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; if (pl.w_attack_next) { return; diff --git a/src/shared/rewolf/w_gausspistol.c b/src/shared/rewolf/w_gausspistol.c index 67ec5757..16ce06eb 100644 --- a/src/shared/rewolf/w_gausspistol.c +++ b/src/shared/rewolf/w_gausspistol.c @@ -84,13 +84,13 @@ w_gausspistol_primary(void) int take = 1; player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } if (pl.a_ammo1 > 0) { pl.a_ammo1 = 0; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; return; } @@ -127,7 +127,7 @@ w_gausspistol_primary(void) pl.w_idle_next = 5.0f; break; default: - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; Weapons_ViewAnimation(GP_FIRESINGLE); #ifdef SERVER Sound_Play(pl, CHAN_WEAPON, "weapon_gausspistol.firesingle"); @@ -153,11 +153,11 @@ w_gausspistol_secondary(void) { player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; /* activate menu */ pl.a_ammo1 = 1; diff --git a/src/shared/rewolf/w_grenade.c b/src/shared/rewolf/w_grenade.c index b64ff71a..c6020a6c 100644 --- a/src/shared/rewolf/w_grenade.c +++ b/src/shared/rewolf/w_grenade.c @@ -45,13 +45,13 @@ w_grenade_primary(void) vector src; player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } if (pl.a_ammo1 > 0) { pl.a_ammo1 = 0; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; Weapons_ViewAnimation(GREN_FIDGET); pl.w_attack_next = 1.2f; pl.w_idle_next = pl.w_attack_next; @@ -77,11 +77,11 @@ w_grenade_secondary(void) { player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; if (pl.w_attack_next) { return; diff --git a/src/shared/rewolf/w_shotgun.c b/src/shared/rewolf/w_shotgun.c index 5d0183ed..7bc3f543 100644 --- a/src/shared/rewolf/w_shotgun.c +++ b/src/shared/rewolf/w_shotgun.c @@ -68,13 +68,13 @@ w_shotgun_primary(void) vector src; player pl = (player)self; - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } if (pl.a_ammo1 > 0) { pl.a_ammo1 = 0; - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; Weapons_ViewAnimation(SHOTGUN_CUSTOMIZE); pl.w_attack_next = 2.25f; pl.w_idle_next = 2.25f; @@ -141,7 +141,7 @@ w_shotgun_secondary(void) return; } - if (pl.flags & FL_SEMI_TOGGLED) { + if (pl.gflags & GF_SEMI_TOGGLED) { return; } @@ -156,7 +156,7 @@ w_shotgun_secondary(void) } } - pl.flags |= FL_SEMI_TOGGLED; + pl.gflags |= GF_SEMI_TOGGLED; } void diff --git a/src/shared/scihunt/include.src b/src/shared/scihunt/include.src index c5d7a3d1..c58b0577 100644 --- a/src/shared/scihunt/include.src +++ b/src/shared/scihunt/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/scihunt/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/shared/scihunt/player.cpp b/src/shared/scihunt/player.cpp index 69c552b7..af439cbe 100644 --- a/src/shared/scihunt/player.cpp +++ b/src/shared/scihunt/player.cpp @@ -24,7 +24,6 @@ class player:base_player int playertype; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; virtual void(void) gun_offset; diff --git a/src/shared/tfc/include.src b/src/shared/tfc/include.src index be1745a7..6b9cdd7a 100644 --- a/src/shared/tfc/include.src +++ b/src/shared/tfc/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/valve/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/server/flashlight.h b/src/shared/valve/flags.h similarity index 53% rename from src/server/flashlight.h rename to src/shared/valve/flags.h index 9e90755b..87c3e9af 100644 --- a/src/server/flashlight.h +++ b/src/shared/valve/flags.h @@ -14,4 +14,27 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -void Flashlight_Toggle(void); +/* game flags */ +#define GF_SEMI_TOGGLED (1<<0) +#define GF_FLASHLIGHT (1<<1) +#define GF_UNUSED3 (1<<2) +#define GF_UNUSED4 (1<<3) +#define GF_UNUSED5 (1<<4) +#define GF_UNUSED6 (1<<5) +#define GF_UNUSED7 (1<<6) +#define GF_UNUSED8 (1<<7) +#define GF_UNUSED9 (1<<8) +#define GF_UNUSED10 (1<<9) +#define GF_UNUSED11 (1<<10) +#define GF_UNUSED12 (1<<11) +#define GF_UNUSED13 (1<<12) +#define GF_UNUSED14 (1<<14) +#define GF_UNUSED15 (1<<16) +#define GF_UNUSED16 (1<<13) +#define GF_UNUSED17 (1<<17) +#define GF_UNUSED18 (1<<18) +#define GF_UNUSED19 (1<<19) +#define GF_UNUSED20 (1<<20) +#define GF_UNUSED21 (1<<21) +#define GF_UNUSED22 (1<<22) +#define GF_UNUSED23 (1<<23) diff --git a/src/shared/valve/include.src b/src/shared/valve/include.src index ed07ff00..3c7f6248 100644 --- a/src/shared/valve/include.src +++ b/src/shared/valve/include.src @@ -1,4 +1,5 @@ #includelist +../../shared/valve/flags.h ../../shared/sound.c ../../shared/valve/player.cpp ../../shared/valve/weapon_common.h diff --git a/src/shared/valve/player.cpp b/src/shared/valve/player.cpp index 8c6e9803..63a360e5 100644 --- a/src/shared/valve/player.cpp +++ b/src/shared/valve/player.cpp @@ -22,7 +22,6 @@ class player:base_player entity p_model; int p_hand_bone; int p_model_bone; - float pitch; float lastweapon; virtual void(void) gun_offset; diff --git a/src/shared/valve/weapon_common.c b/src/shared/valve/weapon_common.c index 17380dd0..404b25bf 100644 --- a/src/shared/valve/weapon_common.c +++ b/src/shared/valve/weapon_common.c @@ -150,7 +150,7 @@ void Weapons_Release(void) g_weapons[i].release(); } - pl.flags &= ~FL_SEMI_TOGGLED; + pl.gflags &= ~GF_SEMI_TOGGLED; } void Weapons_DrawCrosshair(void)