X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2FMain.qc;h=12343e6a24bac333753628e7ca63fe473f126318;hb=7a08734e7432c0803b3c98f0964cbb3529f3bd07;hp=8facbf500ff9a8e2b28567b7b96bd85c88c85ebf;hpb=ac51af716204959703e1d10f1c1ad1b2c60beafa;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 8facbf500..12343e6a2 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -778,6 +778,11 @@ void Ent_Remove() // CSQC_Ent_Remove : Called when the server requests a SSQC / CSQC entity to be removed. Essentially call remove(self) as well. void CSQC_Ent_Remove() { + if(wasfreed(self)) + { + print("WARNING: CSQC_Ent_Remove called for already removed entity. Packet loss?\n"); + return; + } if(self.enttype) Ent_Remove(); remove(self); @@ -787,7 +792,8 @@ void Gamemode_Init() { if not(isdemo()) { - localcmd("\n_cl_hook_gamestart ", MapInfo_Type_ToString(gametype), "\n"); + if(!(calledhooks & HOOK_START)) + localcmd("\n_cl_hook_gamestart ", MapInfo_Type_ToString(gametype), "\n"); calledhooks |= HOOK_START; } } @@ -880,6 +886,7 @@ void Ent_Init() hagar_maxrockets = ReadByte(); g_trueaim_minrange = ReadCoord(); + g_balance_porto_secondary = ReadByte(); if(!postinit) PostInit(); @@ -1160,6 +1167,10 @@ float CSQC_Parse_TempEntity() Net_VehicleSetup(); bHandled = true; break; + case TE_CSQC_SVNOTICE: + cl_notice_read(); + bHandled = true; + break; default: // No special logic for this temporary entity; return 0 so the engine can handle it bHandled = false;