X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2FMain.qc;h=606123ad1c1d2c2ba4696b3f792bc8eb05a65e89;hb=22042893e4c8ce0f178043ace460c7831c3df4d2;hp=c9fbc87b1b07ba0db18266125cd252f9155188f6;hpb=ebed481df2d55bd4eb41b5b583574cedb4766d79;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index c9fbc87b1..606123ad1 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -47,7 +47,7 @@ void WaypointSprite_Load(); void CSQC_Init(void) { prvm_language = cvar_string("prvm_language"); - + #ifdef USE_FTE #pragma target ID __engine_check = checkextension("DP_SV_WRITEPICTURE"); @@ -139,6 +139,9 @@ void CSQC_Init(void) GibSplash_Precache(); Casings_Precache(); DamageInfo_Precache(); + Vehicles_Precache(); + turrets_precache(); + if(autocvar_cl_announcer != cl_announcer_prev) { Announcer_Precache(); if(cl_announcer_prev) @@ -824,8 +827,6 @@ void Ent_ClientData() if(newspectatee_status != spectatee_status) { - float i; - // clear race stuff race_laptime = 0; race_checkpointtime = 0; @@ -846,13 +847,26 @@ void Ent_Nagger() { float nags, i, j, b, f; - nags = ReadByte(); + nags = ReadByte(); // NAGS NAGS NAGS NAGS NAGS NAGS NADZ NAGS NAGS NAGS if(!(nags & 4)) { if(vote_called_vote) strunzone(vote_called_vote); vote_called_vote = string_null; + vote_active = 0; + } + else + { + vote_active = 1; + } + + if(nags & 64) + { + vote_yescount = ReadByte(); + vote_nocount = ReadByte(); + vote_needed = ReadByte(); + vote_highlighted = ReadChar(); } if(nags & 128) @@ -902,7 +916,7 @@ void Ent_ReadAccuracy(void) weapon_accuracy[w] = -1; return; } - + for(w = 0, f = 1; w <= WEP_LAST - WEP_FIRST; ++w, f *= 2) { if(sf & f) @@ -984,6 +998,8 @@ void(float bIsNewEntity) CSQC_Ent_Update = 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_ACCURACY: Ent_ReadAccuracy(); break; + case ENT_CLIENT_AUXILIARYXHAIR: Net_AuXair2(bIsNewEntity); break; + case ENT_CLIENT_TURRET: ent_turret(); break; default: //error(strcat(_("unknown entity type in CSQC_Ent_Update: %d\n"), self.enttype)); error(sprintf(_("Unknown entity type in CSQC_Ent_Update (enttype: %d, edict: %d, classname: %s)\n"), self.enttype, num_for_edict(self), self.classname)); @@ -1297,36 +1313,6 @@ void Net_ReadPingPLReport() playerslots[e].ping_movementloss = ml / 255.0; } -void Net_VoteDialog(float highlight) { - if(highlight) { - vote_highlighted = ReadByte(); - return; - } - - vote_yescount = ReadByte(); - vote_nocount = ReadByte(); - vote_needed = ReadByte(); - vote_active = 1; -} - -void Net_VoteDialogReset() { - vote_active = 0; -} - -void Net_Notify() { - float type; - type = ReadByte(); - - if(type == CSQC_KILLNOTIFY) - { - HUD_KillNotify(ReadString(), ReadString(), ReadString(), ReadShort(), ReadByte()); - } - else if(type == CSQC_CENTERPRINT) - { - HUD_Centerprint(ReadString(), ReadString(), ReadShort(), ReadByte()); - } -} - void Net_WeaponComplain() { complain_weapon = ReadByte(); @@ -1382,14 +1368,6 @@ float CSQC_Parse_TempEntity() Net_TeamNagger(); bHandled = true; break; - case TE_CSQC_VOTE: - Net_VoteDialog(ReadByte()); - bHandled = true; - break; - case TE_CSQC_VOTERESET: - Net_VoteDialogReset(); - bHandled = true; - break; case TE_CSQC_LIGHTNINGARC: Net_ReadLightningarc(); bHandled = true; @@ -1402,14 +1380,33 @@ float CSQC_Parse_TempEntity() announce_snd = strzone(ReadString()); bHandled = true; break; - case TE_CSQC_NOTIFY: - Net_Notify(); + case TE_CSQC_KILLNOTIFY: + HUD_KillNotify(ReadString(), ReadString(), ReadString(), ReadShort(), ReadByte()); + bHandled = true; + break; + case TE_CSQC_KILLCENTERPRINT: + HUD_KillCenterprint(ReadString(), ReadString(), ReadShort(), ReadByte()); + bHandled = true; + break; + case TE_CSQC_CENTERPRINT_GENERIC: + float id; + string s; + id = ReadByte(); + s = ReadString(); + if (id != 0 && s != "") + centerprint_generic(id, s, ReadByte(), ReadByte()); + else + centerprint_generic(id, s, 0, 0); bHandled = true; break; case TE_CSQC_WEAPONCOMPLAIN: Net_WeaponComplain(); bHandled = true; break; + case TE_CSQC_VEHICLESETUP: + Net_VehicleSetup(); + bHandled = true; + break; default: // No special logic for this temporary entity; return 0 so the engine can handle it bHandled = false;