GetTeam(COLOR_SPECTATOR, true); // add specs first
- cvar_clientsettemp("_supports_weaponpriority", "1");
-
RegisterWeapons();
WaypointSprite_Load();
// precaches
Projectile_Precache();
+ Hook_Precache();
GibSplash_Precache();
Casings_Precache();
DamageInfo_Precache();
minimapname = strzone(minimapname);
WarpZone_Init();
+ hud_configure_prev = -1;
}
// CSQC_Shutdown : Called every time the CSQC code is shutdown (changing maps, quitting, etc)
if not(isdemo())
{
if not(calledhooks & HOOK_START)
- localcmd("\n_cl_hook_gamestart nop;");
+ localcmd("\n_cl_hook_gamestart nop\n");
if not(calledhooks & HOOK_END)
- localcmd("\ncl_hook_gameend;");
+ localcmd("\ncl_hook_gameend\n");
}
}
local float bSkipKey;
bSkipKey = false;
- if(hud_configure)
- if (HUD_Panel_InputEvent(bInputType, nPrimary, nSecondary))
- return true;
+ if (HUD_Panel_InputEvent(bInputType, nPrimary, nSecondary))
+ return true;
if (MapVote_InputEvent(bInputType, nPrimary, nSecondary))
return true;
case ENT_CLIENT_WARPZONE: WarpZone_Read(bIsNewEntity); break;
case ENT_CLIENT_WARPZONE_CAMERA: WarpZone_Camera_Read(bIsNewEntity); break;
case ENT_CLIENT_TRIGGER_MUSIC: Ent_ReadTriggerMusic(); break;
+ case ENT_CLIENT_HOOK: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_HOOK); break;
+ case ENT_CLIENT_LGBEAM: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_LGBEAM); break;
+ case ENT_CLIENT_GAUNTLET: Ent_ReadHook(bIsNewEntity, ENT_CLIENT_GAUNTLET); break;
default:
error(strcat("unknown entity type in CSQC_Ent_Update: ", ftos(self.enttype), "\n"));
break;
if not(isdemo())
{
- localcmd("\n_cl_hook_gamestart ", GametypeNameFromType(gametype), ";");
+ localcmd("\n_cl_hook_gamestart ", GametypeNameFromType(gametype), "\n");
calledhooks |= HOOK_START;
}
}
nb_pb_period = ReadByte() / 32; //Accuracy of 1/32th
- hook_shotorigin_x = ReadCoord();
- hook_shotorigin_y = ReadCoord();
- hook_shotorigin_z = ReadCoord();
+ hook_shotorigin[0] = decompressShotOrigin(ReadInt24_t());
+ hook_shotorigin[1] = decompressShotOrigin(ReadInt24_t());
+ hook_shotorigin[2] = decompressShotOrigin(ReadInt24_t());
+ hook_shotorigin[3] = decompressShotOrigin(ReadInt24_t());
+ electro_shotorigin[0] = decompressShotOrigin(ReadInt24_t());
+ electro_shotorigin[1] = decompressShotOrigin(ReadInt24_t());
+ electro_shotorigin[2] = decompressShotOrigin(ReadInt24_t());
+ electro_shotorigin[3] = decompressShotOrigin(ReadInt24_t());
+ gauntlet_shotorigin[0] = decompressShotOrigin(ReadInt24_t());
+ gauntlet_shotorigin[1] = decompressShotOrigin(ReadInt24_t());
+ gauntlet_shotorigin[2] = decompressShotOrigin(ReadInt24_t());
+ gauntlet_shotorigin[3] = decompressShotOrigin(ReadInt24_t());
if(forcefog)
strunzone(forcefog);
g_balance_grenadelauncher_secondary_bouncefactor = ReadCoord();
g_balance_grenadelauncher_secondary_bouncestop = ReadCoord();
+ nex_scope = !ReadByte();
+ campingrifle_scope = !ReadByte();
+
if(!postinit)
PostInit();
}
void Net_VoteDialog(float highlight) {
if(highlight) {
- vote_highlighted = ReadShort();
+ vote_highlighted = ReadByte();
return;
}
- vote_yescount = ReadShort();
- vote_nocount = ReadShort();
- vote_needed = ReadShort();
+ vote_yescount = ReadByte();
+ vote_nocount = ReadByte();
+ vote_needed = ReadByte();
vote_active = 1;
}
}
else if(type == CSQC_CENTERPRINT)
{
- HUD_Centerprint(ReadString(), ReadShort(), ReadByte());
+ HUD_Centerprint(ReadString(), ReadString(), ReadShort(), ReadByte());
}
}
+void Net_WeaponComplain() {
+ complain_weapon = ReadByte();
+
+ if(complain_weapon_name)
+ strunzone(complain_weapon_name);
+ complain_weapon_name = strzone(ReadString());
+
+ complain_weapon_type = ReadByte();
+
+ complain_weapon_time = time;
+ weapontime = time; // ping the weapon panel
+}
+
// CSQC_Parse_TempEntity : Handles all temporary entity network data in the CSQC layer.
// You must ALWAYS first acquire the temporary ID, which is sent as a byte.
// Return value should be 1 if CSQC handled the temporary entity, otherwise return 0 to have the engine process the event.
Net_ReadRace();
bHandled = true;
break;
- case 13: // TE_BEAM
- Net_GrapplingHook();
- bHandled = true;
- break;
case TE_CSQC_SPAWN:
Net_ReadSpawn();
bHandled = true;
Net_Notify();
bHandled = true;
break;
+ case TE_CSQC_WEAPONCOMPLAIN:
+ Net_WeaponComplain();
+ bHandled = true;
+ break;
default:
// No special logic for this temporary entity; return 0 so the engine can handle it
bHandled = false;