X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Ftturrets.qc;h=c46d80dce85caca48afbd6f6c7a46e6a21e048cc;hb=ba0988ca930f50286f8cf3b6c114ebc6584964af;hp=ba640068ef82e7db0495d4b23d0a06850da215de;hpb=71e6c75bc408ae5a116f296797c49c0cef7be113;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/tturrets.qc b/qcsrc/client/tturrets.qc index ba640068e..c46d80dce 100644 --- a/qcsrc/client/tturrets.qc +++ b/qcsrc/client/tturrets.qc @@ -1,3 +1,23 @@ +#if defined(CSQC) + #include "../dpdefs/csprogsdefs.qc" + #include "Defs.qc" + #include "../common/constants.qh" + #include "../warpzonelib/mathlib.qh" + #include "../common/teams.qh" + #include "../common/buffs.qh" + #include "autocvars.qh" + #include "teamradar.qh" + #include "movetypes.qh" + #include "tturrets.qh" + #include "../server/tturrets/include/turrets_early.qh" + #include "main.qh" + #include "../csqcmodellib/common.qh" + #include "../csqcmodellib/cl_model.qh" + #include "../server/t_items.qh" +#elif defined(MENUQC) +#elif defined(SVQC) +#endif + string tid2info_base; string tid2info_head; string tid2info_name; @@ -13,7 +33,7 @@ void turrets_precache() turret_precache(TID_COMMON); } -void turret_precache(float _tid) +void turret_precache(int _tid) { if (!turret_is_precache[TID_COMMON]) { @@ -80,7 +100,7 @@ void turret_precache(float _tid) precache_sound ("weapons/uzi_fire.wav"); break; } - turret_is_precache[_tid] = TRUE; + turret_is_precache[_tid] = true; } void turret_tid2info(float _tid) @@ -248,11 +268,11 @@ void turret_draw2d() { // TODO: Vehicle tactical hud o = project_3d_to_2d(self.origin + '0 0 32'); - if(o_z < 0 - || o_x < (vid_conwidth * waypointsprite_edgeoffset_left) - || o_y < (vid_conheight * waypointsprite_edgeoffset_top) - || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - || o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom))) + if(o.z < 0 + || o.x < (vid_conwidth * waypointsprite_edgeoffset_left) + || o.y < (vid_conheight * waypointsprite_edgeoffset_top) + || o.x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) + || o.y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom))) return; // Dont draw wp's for turrets out of view o_z = 0; if(hud != HUD_NORMAL) @@ -326,24 +346,24 @@ void turret_draw2d() rgb = fixrgbexcess(rgb); o = project_3d_to_2d(self.origin + '0 0 64'); - if(o_z < 0 - || o_x < (vid_conwidth * waypointsprite_edgeoffset_left) - || o_y < (vid_conheight * waypointsprite_edgeoffset_top) - || o_x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - || o_y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom))) + if(o.z < 0 + || o.x < (vid_conwidth * waypointsprite_edgeoffset_left) + || o.y < (vid_conheight * waypointsprite_edgeoffset_top) + || o.x > (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) + || o.y > (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom))) return; // Dont draw wp's for turrets out of view o_z = 0; float edgedistance_min, crosshairdistance; - edgedistance_min = min((o_y - (vid_conheight * waypointsprite_edgeoffset_top)), - (o_x - (vid_conwidth * waypointsprite_edgeoffset_left)), - (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - o_x, - (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)) - o_y); + edgedistance_min = min((o.y - (vid_conheight * waypointsprite_edgeoffset_top)), + (o.x - (vid_conwidth * waypointsprite_edgeoffset_left)), + (vid_conwidth - (vid_conwidth * waypointsprite_edgeoffset_right)) - o.x, + (vid_conheight - (vid_conheight * waypointsprite_edgeoffset_bottom)) - o.y); float vidscale = max(vid_conwidth / vid_width, vid_conheight / vid_height); - crosshairdistance = sqrt( pow(o_x - vid_conwidth/2, 2) + pow(o_y - vid_conheight/2, 2) ); + crosshairdistance = sqrt( pow(o.x - vid_conwidth/2, 2) + pow(o.y - vid_conheight/2, 2) ); t = waypointsprite_scale * vidscale; a *= waypointsprite_alpha; @@ -395,7 +415,7 @@ void turret_walker_draw() movelib_groundalign4point(300, 100, 0.25, 45); setorigin(self, self.origin + self.velocity * dt); self.tur_head.angles += dt * self.tur_head.move_avelocity; - self.angles_y = self.move_angles_y; + self.angles_y = self.move_angles.y; if (self.health < 127) if(random() < 0.15) @@ -414,14 +434,13 @@ void turret_ewheel_draw() fixedmakevectors(self.angles); setorigin(self, self.origin + self.velocity * dt); self.tur_head.angles += dt * self.tur_head.move_avelocity; - self.angles_y = self.move_angles_y; + self.angles_y = self.move_angles.y; if (self.health < 127) if(random() < 0.05) te_spark(self.origin + '0 0 40', randomvec() * 256 + '0 0 256', 16); } -void(entity e, entity tagentity, string tagname) setattachment = #443; void turret_construct() { if(self.tur_head == world) @@ -513,7 +532,7 @@ void turret_gibboom() pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1); for (i = 1; i < 5; i = i + 1) - turret_gibtoss(strcat("models/turrets/head-gib", ftos(i), ".md3"), self.origin + '0 0 2', self.velocity + randomvec() * 700, '0 0 0', FALSE); + turret_gibtoss(strcat("models/turrets/head-gib", ftos(i), ".md3"), self.origin + '0 0 2', self.velocity + randomvec() * 700, '0 0 0', false); } entity turret_gibtoss(string _model, vector _from, vector _to, vector _cmod, float _explode) @@ -563,28 +582,28 @@ void turret_die() { // Base if(self.turret_type == TID_EWHEEL) - turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 400' + '0.1 0.1 1' * (random() * 400), '-1 -1 -1', TRUE); + turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 400' + '0.1 0.1 1' * (random() * 400), '-1 -1 -1', true); else if (self.turret_type == TID_WALKER) - turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 300' + '0.1 0.1 1' * (random() * 200), '-1 -1 -1', TRUE); + turret_gibtoss(tid2info_base, self.origin + '0 0 18', self.velocity + '0 0 300' + '0.1 0.1 1' * (random() * 200), '-1 -1 -1', true); else if (self.turret_type == TID_TESLA) - turret_gibtoss(tid2info_base, self.origin + '0 0 18', '0 0 200', '-1 -1 -1', FALSE); + turret_gibtoss(tid2info_base, self.origin + '0 0 18', '0 0 200', '-1 -1 -1', false); else { if (random() > 0.5) { - turret_gibtoss("models/turrets/base-gib2.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); - turret_gibtoss("models/turrets/base-gib3.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); - turret_gibtoss("models/turrets/base-gib4.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', FALSE); + turret_gibtoss("models/turrets/base-gib2.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', false); + turret_gibtoss("models/turrets/base-gib3.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', false); + turret_gibtoss("models/turrets/base-gib4.md3", self.origin + '0 0 8', '0 0 50' + randomvec() * 150, '0 0 0', false); } else - turret_gibtoss("models/turrets/base-gib1.md3", self.origin + '0 0 8', '0 0 0', '0 0 0', TRUE); + turret_gibtoss("models/turrets/base-gib1.md3", self.origin + '0 0 8', '0 0 0', '0 0 0', true); - entity headgib = turret_gibtoss(tid2info_head, self.origin + '0 0 32', '0 0 200' + randomvec() * 200, '-1 -1 -1', TRUE); + entity headgib = turret_gibtoss(tid2info_head, self.origin + '0 0 32', '0 0 200' + randomvec() * 200, '-1 -1 -1', true); if(headgib) { headgib.angles = headgib.move_angles = self.tur_head.angles; headgib.avelocity = headgib.move_avelocity = self.tur_head.move_avelocity + randomvec() * 45; - headgib.avelocity_y = headgib.move_avelocity_y = headgib.move_avelocity_y * 5; + headgib.avelocity_y = headgib.move_avelocity_y = headgib.move_avelocity.y * 5; headgib.gravity = 0.5; } } @@ -596,8 +615,7 @@ void turret_die() void ent_turret() { - float sf; - sf = ReadByte(); + int sf = ReadByte(); if(sf & TNSF_SETUP) {