GetTeam(COLOR_SPECTATOR, true); // add specs first
// needs to be done so early because of the constants they create
- RegisterWeapons();
- RegisterGametypes();
+ CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
+ CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
WaypointSprite_Load();
// CSQC_InputEvent : Used to perform actions based on any key pressed, key released and mouse on the client.
// Return value should be 1 if CSQC handled the input, otherwise return 0 to have the input passed to the engine.
// All keys are in ascii.
-// bInputType = 0 is key pressed, 1 is key released, 2 is mouse input.
+// bInputType = 0 is key pressed, 1 is key released, 2 and 3 are mouse input.
// In the case of keyboard input, nPrimary is the ascii code, and nSecondary is 0.
// In the case of mouse input, nPrimary is xdelta, nSecondary is ydelta.
+// In the case of mouse input after a setcursormode(1) call, nPrimary is xpos, nSecondary is ypos.
float CSQC_InputEvent(float bInputType, float nPrimary, float nSecondary)
{
float bSkipKey;
return;
}
- for(w = 0, f = 1; w <= WEP_LAST - WEP_FIRST; ++w, f *= 2)
+ for(w = 0, f = 1; w <= WEP_LAST - WEP_FIRST; ++w)
{
if(sf & f)
{
else
weapon_accuracy[w] = (b - 1.0) / 100.0;
}
+ if(f == 0x800000)
+ f = 1;
+ else
+ f *= 2;
}
}
float savetime;
t = ReadByte();
+ if(autocvar_developer_csqcentities)
+ print(sprintf("CSQC_Ent_Update(%d) with self=%i self.entnum=%d self.enttype=%d t=%d\n", bIsNewEntity, self, self.entnum, self.enttype, t));
+
// set up the "time" global for received entities to be correct for interpolation purposes
savetime = time;
if(servertime)
// 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(autocvar_developer_csqcentities)
+ print(sprintf("CSQC_Ent_Remove() with self=%i self.entnum=%d self.enttype=%d\n", self, self.entnum, self.enttype));
+
if(wasfreed(self))
{
print("WARNING: CSQC_Ent_Remove called for already removed entity. Packet loss?\n");
// CSQC_Parse_StuffCmd : Provides the stuffcmd string in the first parameter that the server provided. To execute standard behavior, simply execute localcmd with the string.
void CSQC_Parse_StuffCmd(string strMessage)
{
+ if(autocvar_developer_csqcentities)
+ print(sprintf("CSQC_Parse_StuffCmd(\"%s\")\n", strMessage));
+
localcmd(strMessage);
}
// CSQC_Parse_Print : Provides the print string in the first parameter that the server provided. To execute standard behavior, simply execute print with the string.
void CSQC_Parse_Print(string strMessage)
{
+ if(autocvar_developer_csqcentities)
+ print(sprintf("CSQC_Parse_Print(\"%s\")\n", strMessage));
+
print(ColorTranslateRGB(strMessage));
}
// CSQC_Parse_CenterPrint : Provides the centerprint_hud string in the first parameter that the server provided.
void CSQC_Parse_CenterPrint(string strMessage)
{
+ if(autocvar_developer_csqcentities)
+ print(sprintf("CSQC_Parse_CenterPrint(\"%s\")\n", strMessage));
+
centerprint_hud(strMessage);
}
float nTEID;
nTEID = ReadByte();
+ if(autocvar_developer_csqcentities)
+ print(sprintf("CSQC_Parse_TempEntity() with nTEID=%d\n", nTEID));
+
// NOTE: Could just do return instead of break...
switch(nTEID)
{