X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fmain.qc;h=a1cb0c3ee0e877d06b5d352e47b184fb9e5f8900;hb=446aed55e6fb9668f5094100de43c76c38e8cce7;hp=c6529a070e67920e8648b0ffe04e745c7e011e05;hpb=001abccbb0f5ec3197dd59e962298e1010161dc6;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/main.qc b/qcsrc/client/main.qc index c6529a070..a1cb0c3ee 100644 --- a/qcsrc/client/main.qc +++ b/qcsrc/client/main.qc @@ -1,28 +1,26 @@ #include "main.qh" -#include "../common/effects/qc/all.qh" -#include "hook.qh" +#include #include "hud/all.qh" #include "mapvoting.qh" #include "mutators/events.qh" #include "quickmenu.qh" #include "scoreboard.qh" #include "shownames.qh" -#include "tuba.qh" -#include "t_items.qh" +#include #include "wall.qh" #include "weapons/projectile.qh" -#include "../common/deathtypes/all.qh" -#include "../common/items/all.qh" -#include "../common/mapinfo.qh" -#include "../common/minigames/cl_minigames.qh" -#include "../common/minigames/cl_minigames_hud.qh" -#include "../common/net_notice.qh" -#include "../common/triggers/include.qh" -#include "../common/vehicles/all.qh" -#include "../lib/csqcmodel/cl_model.qh" -#include "../lib/csqcmodel/interpolate.qh" -#include "../lib/warpzone/client.qh" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // -------------------------------------------------------------------------- // BEGIN REQUIRED CSQC FUNCTIONS @@ -42,13 +40,6 @@ void CSQC_Init() LOG_INFOF("^4CSQC Build information: ^1%s\n", WATERMARK); #endif - binddb = db_create(); - tempdb = db_create(); - ClientProgsDB = db_load("client.db"); - compressShortVector_init(); - - draw_endBoldFont(); - { int i = 0; for ( ; i < 255; ++i) @@ -57,6 +48,18 @@ void CSQC_Init() maxclients = i; } + // needs to be done so early because of the constants they create + static_init(); + static_init_late(); + static_init_precache(); + + binddb = db_create(); + tempdb = db_create(); + ClientProgsDB = db_load("client.db"); + compressShortVector_init(); + + draw_endBoldFont(); + //registercommand("hud_configure"); //registercommand("hud_save"); //registercommand("menu_action"); @@ -93,11 +96,6 @@ void CSQC_Init() GetTeam(NUM_SPECTATOR, true); // add specs first - // needs to be done so early because of the constants they create - static_init(); - static_init_late(); - static_init_precache(); - // precaches if(autocvar_cl_reticle) @@ -167,7 +165,7 @@ void Shutdown() .float has_team; float SetTeam(entity o, int Team) { - assert(Team); + devassert_once(Team); entity tm; if(teamplay) { @@ -271,7 +269,8 @@ void Playerchecker_Think() e.ping_packetloss = 0; e.ping_movementloss = 0; //e.gotscores = 0; // we might already have the scores... - SetTeam(e, entcs_GetTeam(i)); // will not hurt; later updates come with HUD_UpdatePlayerTeams + int t = entcs_GetScoreTeam(i); + if (t) SetTeam(e, t); // will not hurt; later updates come with HUD_UpdatePlayerTeams RegisterPlayer(e); HUD_UpdatePlayerPos(e); } @@ -358,7 +357,7 @@ NET_HANDLE(ENT_CLIENT_SCORES, bool isnew) if(!isNew && n != this.sv_entnum) { //print("A CSQC entity changed its owner!\n"); - LOG_INFOF("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", num_for_edict(this), this.classname); + LOG_INFOF("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", etof(this), this.classname); isNew = true; Ent_Remove(); } @@ -715,8 +714,7 @@ NET_HANDLE(ENT_CLIENT_SPAWNEVENT, bool is_new) void CSQC_Ent_Update(bool isnew) { SELFPARAM(); - this.sourceLocLine = __LINE__; - this.sourceLocFile = __FILE__; + this.sourceLoc = __FILE__ ":" STR(__LINE__); int t = ReadByte(); // set up the "time" global for received entities to be correct for interpolation purposes @@ -737,7 +735,7 @@ void CSQC_Ent_Update(bool isnew) { if (t != this.enttype || isnew) { - LOG_INFOF("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", num_for_edict(this), this.entnum, this.enttype, t); + LOG_INFOF("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", etof(this), this.entnum, this.enttype, t); Ent_Remove(); clearentity(this); isnew = true; @@ -747,7 +745,7 @@ void CSQC_Ent_Update(bool isnew) { if (!isnew) { - LOG_INFOF("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", num_for_edict(this), this.entnum, t); + LOG_INFOF("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", etof(this), this.entnum, t); isnew = true; } } @@ -758,7 +756,7 @@ void CSQC_Ent_Update(bool isnew) if (isnew) this.classname = it.netname; if (autocvar_developer_csqcentities) LOG_INFOF("CSQC_Ent_Update(%d) at %f with this=%i {.entnum=%d, .enttype=%d} t=%s (%d)\n", isnew, savetime, this, this.entnum, this.enttype, this.classname, t); - done = it.m_read(this, isnew); + done = it.m_read(this, NULL, isnew); break; )); time = savetime; @@ -848,7 +846,7 @@ bool CSQC_Parse_TempEntity() FOREACH(TempEntities, it.m_id == nTEID, LAMBDA( if (autocvar_developer_csqcentities) LOG_INFOF("CSQC_Parse_TempEntity() nTEID=%s (%d)\n", it.netname, nTEID); - return it.m_read(NULL, true); + return it.m_read(NULL, NULL, true); )); if (autocvar_developer_csqcentities) @@ -1098,8 +1096,6 @@ NET_HANDLE(TE_CSQC_PINGPLREPORT, bool isNew) NET_HANDLE(TE_CSQC_WEAPONCOMPLAIN, bool isNew) { complain_weapon = ReadByte(); - if (complain_weapon_name) strunzone(complain_weapon_name); - complain_weapon_name = strzone(WEP_NAME(complain_weapon)); complain_weapon_type = ReadByte(); return = true;