X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2FMain.qc;h=83098ea29d4dbf0824be5d7390630aeb174f2903;hp=c8d0e8cd173b8db322bc5c89cf0a138c90cf1aa7;hb=3adaa0873ad9eac20f32e6e3fc0455d4f9e044cd;hpb=11b5d310f4714debb77c3ccdde963c76555a3aa5 diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index c8d0e8cd17..83098ea29d 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -53,7 +53,7 @@ void CSQC_Init(void) check_unacceptable_compiler_bugs(); #ifdef WATERMARK - print(sprintf(_("^4CSQC Build information: ^1%s\n"), WATERMARK)); + printf(_("^4CSQC Build information: ^1%s\n"), WATERMARK); #endif float i; @@ -81,7 +81,7 @@ void CSQC_Init(void) //registercommand("hud_configure"); //registercommand("hud_save"); //registercommand("menu_action"); - + ConsoleCommand_macro_init(); registercvar("hud_usecsqc", "1"); @@ -121,18 +121,17 @@ void CSQC_Init(void) Hook_Precache(); GibSplash_Precache(); Casings_Precache(); - DamageInfo_Precache(); Vehicles_Precache(); turrets_precache(); Tuba_Precache(); CSQCPlayer_Precache(); - + if(autocvar_cl_reticle) { - if(autocvar_cl_reticle_item_normal) { precache_pic("gfx/reticle_normal"); } - if(autocvar_cl_reticle_item_nex) { precache_pic("gfx/reticle_nex"); } + precache_pic("gfx/reticle_normal"); + // weapon reticles are precached in weapon files } - + get_mi_min_max_texcoords(1); // try the CLEVER way first minimapname = strcat("gfx/", mi_shortname, "_radar.tga"); shortmapname = mi_shortname; @@ -214,7 +213,7 @@ float SetTeam(entity o, float Team) default: if(GetTeam(Team, false) == world) { - print(sprintf(_("trying to switch to unsupported team %d\n"), Team)); + dprintf("trying to switch to unsupported team %d\n", Team); Team = NUM_SPECTATOR; } break; @@ -230,7 +229,7 @@ float SetTeam(entity o, float Team) default: if(GetTeam(Team, false) == world) { - print(sprintf(_("trying to switch to unsupported team %d\n"), Team)); + dprintf("trying to switch to unsupported team %d\n", Team); Team = NUM_SPECTATOR; } break; @@ -425,7 +424,7 @@ void Ent_ReadPlayerScore() if(!isNew && n != self.sv_entnum) { //print("A CSQC entity changed its owner!\n"); - print(sprintf("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", num_for_edict(self), self.classname)); + printf("A CSQC entity changed its owner! (edict: %d, classname: %s)\n", num_for_edict(self), self.classname); isNew = true; Ent_Remove(); self.enttype = ENT_CLIENT_SCORES; @@ -652,7 +651,7 @@ void Ent_ReadSpawnPoint(float is_new) // entity for spawnpoint spn_origin_x = ReadShort(); spn_origin_y = ReadShort(); spn_origin_z = ReadShort(); - + if(is_new) { self.origin = spn_origin; @@ -683,12 +682,12 @@ void Ent_ReadSpawnPoint(float is_new) // entity for spawnpoint } } else { self.cnt = particleeffectnum("spawn_point_neutral"); } - + self.draw = Spawn_Draw; } } - //print(sprintf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d, effect = %d\n", is_new, vtos(self.origin), teamnum, self.cnt)); + //printf("Ent_ReadSpawnPoint(is_new = %d); origin = %s, team = %d, effect = %d\n", is_new, vtos(self.origin), teamnum, self.cnt); } void Ent_ReadSpawnEvent(float is_new) @@ -697,7 +696,7 @@ void Ent_ReadSpawnEvent(float is_new) // this way the server can disable the sending of // spawn origin or such to clients if wanted. float entnum = ReadByte(); - + if(entnum) { self.origin_x = ReadShort(); @@ -725,7 +724,7 @@ void Ent_ReadSpawnEvent(float is_new) } } } - + // local spawn actions if(is_new && (!entnum || (entnum == player_localentnum))) { @@ -738,8 +737,8 @@ void Ent_ReadSpawnEvent(float is_new) button_zoom = FALSE; } } - - //print(sprintf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d, localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum)); + + //printf("Ent_ReadSpawnEvent(is_new = %d); origin = %s, entnum = %d, localentnum = %d\n", is_new, vtos(self.origin), entnum, player_localentnum); } // CSQC_Ent_Update : Called every frame that the server has indicated an update to the SSQC / CSQC entity has occured. @@ -754,7 +753,7 @@ void CSQC_Ent_Update(float bIsNewEntity) 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)); + printf("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; @@ -775,7 +774,7 @@ void CSQC_Ent_Update(float bIsNewEntity) if(t != self.enttype || bIsNewEntity) { //print("A CSQC entity changed its type!\n"); - print(sprintf("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", num_for_edict(self), self.entnum, self.enttype, t)); + printf("A CSQC entity changed its type! (edict: %d, server: %d, type: %d -> %d)\n", num_for_edict(self), self.entnum, self.enttype, t); Ent_Remove(); clearentity(self); bIsNewEntity = 1; @@ -785,7 +784,7 @@ void CSQC_Ent_Update(float bIsNewEntity) { if(!bIsNewEntity) { - print(sprintf("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", num_for_edict(self), self.entnum, t)); + printf("A CSQC entity appeared out of nowhere! (edict: %d, server: %d, type: %d)\n", num_for_edict(self), self.entnum, t); bIsNewEntity = 1; } } @@ -819,13 +818,12 @@ void CSQC_Ent_Update(float bIsNewEntity) case ENT_CLIENT_WARPZONE_TELEPORTED: WarpZone_Teleported_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; + case ENT_CLIENT_ARC_BEAM: Ent_ReadArcBeam(bIsNewEntity); break; case ENT_CLIENT_ACCURACY: Ent_ReadAccuracy(); break; case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break; - case ENT_CLIENT_TURRET: ent_turret(); break; + case ENT_CLIENT_TURRET: ent_turret(); break; case ENT_CLIENT_MODEL: CSQCModel_Read(bIsNewEntity); break; - case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break; + case ENT_CLIENT_ITEM: ItemRead(bIsNewEntity); break; case ENT_CLIENT_BUMBLE_RAYGUN: bumble_raygun_read(bIsNewEntity); break; case ENT_CLIENT_SPAWNPOINT: Ent_ReadSpawnPoint(bIsNewEntity); break; case ENT_CLIENT_SPAWNEVENT: Ent_ReadSpawnEvent(bIsNewEntity); break; @@ -869,7 +867,7 @@ void Ent_Remove() 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)); + printf("CSQC_Ent_Remove() with self=%i self.entnum=%d self.enttype=%d\n", self, self.entnum, self.enttype); if(wasfreed(self)) { @@ -894,7 +892,7 @@ void Gamemode_Init() void CSQC_Parse_StuffCmd(string strMessage) { if(autocvar_developer_csqcentities) - print(sprintf("CSQC_Parse_StuffCmd(\"%s\")\n", strMessage)); + printf("CSQC_Parse_StuffCmd(\"%s\")\n", strMessage); localcmd(strMessage); } @@ -902,7 +900,7 @@ void CSQC_Parse_StuffCmd(string strMessage) void CSQC_Parse_Print(string strMessage) { if(autocvar_developer_csqcentities) - print(sprintf("CSQC_Parse_Print(\"%s\")\n", strMessage)); + printf("CSQC_Parse_Print(\"%s\")\n", strMessage); print(ColorTranslateRGB(strMessage)); } @@ -911,7 +909,7 @@ void CSQC_Parse_Print(string strMessage) void CSQC_Parse_CenterPrint(string strMessage) { if(autocvar_developer_csqcentities) - print(sprintf("CSQC_Parse_CenterPrint(\"%s\")\n", strMessage)); + printf("CSQC_Parse_CenterPrint(\"%s\")\n", strMessage); centerprint_hud(strMessage); } @@ -922,8 +920,10 @@ void Fog_Force() { // TODO somehow thwart prvm_globalset client ... - if(forcefog != "") - localcmd(strcat(notranslate_fogcmd1, forcefog, notranslate_fogcmd2)); + if(autocvar_cl_orthoview && autocvar_cl_orthoview_nofog) + { localcmd("\nr_drawfog 0\n"); } + else if(forcefog != "") + { localcmd(strcat(notranslate_fogcmd1, forcefog, notranslate_fogcmd2)); } } void Gamemode_Init(); @@ -932,6 +932,7 @@ void Ent_ScoresInfo() float i; self.classname = "ent_client_scores_info"; gametype = ReadInt24_t(); + HUD_ModIcons_SetFunc(); for(i = 0; i < MAX_SCORE; ++i) { scores_label[i] = strzone(ReadString()); @@ -956,14 +957,10 @@ void Ent_Init() 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()); + arc_shotorigin[0] = decompressShotOrigin(ReadInt24_t()); + arc_shotorigin[1] = decompressShotOrigin(ReadInt24_t()); + arc_shotorigin[2] = decompressShotOrigin(ReadInt24_t()); + arc_shotorigin[3] = decompressShotOrigin(ReadInt24_t()); if(forcefog) strunzone(forcefog); @@ -976,7 +973,7 @@ void Ent_Init() g_balance_electro_secondary_bouncefactor = ReadCoord(); g_balance_electro_secondary_bouncestop = ReadCoord(); - nex_scope = !ReadByte(); + vortex_scope = !ReadByte(); rifle_scope = !ReadByte(); serverflags = ReadByte(); @@ -1173,7 +1170,7 @@ void Net_WeaponComplain() if(complain_weapon_name) strunzone(complain_weapon_name); - complain_weapon_name = strzone(ReadString()); + complain_weapon_name = strzone(WEP_NAME(complain_weapon)); complain_weapon_type = ReadByte(); @@ -1200,7 +1197,7 @@ float CSQC_Parse_TempEntity() nTEID = ReadByte(); if(autocvar_developer_csqcentities) - print(sprintf("CSQC_Parse_TempEntity() with nTEID=%d\n", nTEID)); + printf("CSQC_Parse_TempEntity() with nTEID=%d\n", nTEID); // NOTE: Could just do return instead of break... switch(nTEID) @@ -1217,20 +1214,16 @@ float CSQC_Parse_TempEntity() Net_ReadRace(); bHandled = true; break; - case TE_CSQC_ZCURVEPARTICLES: - Net_ReadZCurveParticles(); - bHandled = true; - break; - case TE_CSQC_NEXGUNBEAMPARTICLE: - Net_ReadNexgunBeamParticle(); + case TE_CSQC_VORTEXBEAMPARTICLE: + Net_ReadVortexBeamParticle(); bHandled = true; break; case TE_CSQC_TEAMNAGGER: Net_TeamNagger(); bHandled = true; break; - case TE_CSQC_LIGHTNINGARC: - Net_ReadLightningarc(); + case TE_CSQC_ARC: + Net_ReadArc(); bHandled = true; break; case TE_CSQC_PINGPLREPORT: @@ -1249,6 +1242,10 @@ float CSQC_Parse_TempEntity() cl_notice_read(); bHandled = true; break; + case TE_CSQC_SHOCKWAVEPARTICLE: + Net_ReadShockwaveParticle(); + bHandled = true; + break; default: // No special logic for this temporary entity; return 0 so the engine can handle it bHandled = false;