From: Jakob MG Date: Sat, 26 Mar 2011 17:00:25 +0000 (+0100) Subject: Make colormap & fullbright work (uses g_fullbrightplayers), fix raptor shirt/pants... X-Git-Tag: xonotic-v0.5.0~199^2~11^2~106 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=62eeb5bc97b19cd9bdb635a4a20ff38c8e23cc82;p=xonotic%2Fxonotic-data.pk3dir.git Make colormap & fullbright work (uses g_fullbrightplayers), fix raptor shirt/pants. remove unused raptor_cockpit.jpg --- diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index 7d459f754..9c4ccbe37 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -294,7 +294,7 @@ void Ent_Projectile() case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break; case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_ROCKET"); break; case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.scale = 2; self.traileffect = particleeffectnum("TR_ROCKET"); break; - case PROJECTILE_RAPTORBOMB: setmodel(self, "models/vehicles/raptor_bomb.dpm"); self.gravity = 1; self.traileffect = particleeffectnum("TR_GRENADE"); break; + case PROJECTILE_RAPTORBOMB: setmodel(self, "models/vehicles/raptor_bomb.dpm"); self.gravity = 1; self.avelocity = '0 0 180'; self.traileffect = particleeffectnum("TR_GRENADE"); break; default: error("Received invalid CSQC projectile, can't work with this!"); break; diff --git a/qcsrc/client/vehicles/vehicles.qc b/qcsrc/client/vehicles/vehicles.qc index b15f843a2..917b0e96a 100644 --- a/qcsrc/client/vehicles/vehicles.qc +++ b/qcsrc/client/vehicles/vehicles.qc @@ -246,13 +246,6 @@ void CSQC_RAPTOR_HUD() float movedt; vector where; - - if(!dropmark) - { - dropmark = spawn(); - dropmark.owner = self; - } - // Fetch health & ammo stats hp = bound(0,getstatf(STAT_VEHICLESTAT_HEALTH), 1); shield = bound(0,getstatf(STAT_VEHICLESTAT_SHIELD), 1); @@ -300,6 +293,12 @@ void CSQC_RAPTOR_HUD() drawpic(hudloc, raptor_g1, picsize, '1 1 1' * energy + '1 0 0' * (1 - energy), 1, DRAWFLAG_NORMAL); drawpic(hudloc, raptor_g2, picsize, '1 1 1' * reload + '1 0 0' * (1 - reload), 1, DRAWFLAG_NORMAL); + if(!dropmark) + { + dropmark = spawn(); + dropmark.owner = self; + } + if(reload == 1) { where = dropmark.origin; @@ -367,15 +366,6 @@ void CSQC_WAKIZASHI_HUD() picsize_y *= autocvar_cl_vehicle_spiderbot_cross_size; drawpic('0.5 0 0' * (vid_conwidth - picsize_x) + '0 0.5 0' * (vid_conheight - picsize_y), SPIDER_CROSS, picsize, '1 1 1', autocvar_cl_vehicle_spiderbot_cross_alpha, DRAWFLAG_NORMAL); -/* -const float STAT_VEHICLESTAT_HEALTH = 60; -const float STAT_VEHICLESTAT_SHIELD = 61; -const float STAT_VEHICLESTAT_ENERGY = 62; -const float STAT_VEHICLESTAT_AMMO1 = 63; -const float STAT_VEHICLESTAT_RELAOD1 = 64; -const float STAT_VEHICLESTAT_AMMO2 = 65; -const float STAT_VEHICLESTAT_RELOAD2 = 66; -*/ health = min(getstatf(STAT_VEHICLESTAT_HEALTH), 1); shield = min(getstatf(STAT_VEHICLESTAT_SHIELD), 1); energy = min(getstatf(STAT_VEHICLESTAT_ENERGY), 1); @@ -418,36 +408,6 @@ const float STAT_VEHICLESTAT_RELOAD2 = 66; drawpic(hudloc, waki_r, picsize, '1 1 1' * rockets + '1 0 0' * (1 - rockets), 1, DRAWFLAG_NORMAL); drawpic(hudloc, waki_e, picsize, '1 1 1' * energy + '1 0 0' * (1 - energy), 1, DRAWFLAG_NORMAL); - - - /* - p = '0.5 0 0' * (vid_conwidth - (rkt_size * 8)); - p = p + '0 1 0' * vid_conheight - '0 32 0'; - - // Draw health bar - p_y += 8; - drawfill(p, '256 0 0' * health + '0 8 0' , '0 0.7 0', 0.75, DRAWFLAG_NORMAL); - p_x += 256 * health; - drawfill(p, '256 0 0' * (1 - health) + '0 8 0' , '0 0 0', 0.75, DRAWFLAG_NORMAL); - - // Draw shiled bar - p_x -= 256 * health; - p_y += 4; - drawfill(p, '256 0 0' * shield + '0 4 0' , '0.25 0.25 1', 0.5, DRAWFLAG_NORMAL); - - // Draw energy - //p_x -= 256 * health; - p_y -= 8; - drawfill(p, '256 0 0' * energy + '0 4 0' , '1 1 1', 0.75, DRAWFLAG_NORMAL); - - // Draw rockets bar - p_y += 12; - drawfill(p, '256 0 0' * rockets + '0 4 0' , '1 0 0', 0.75, DRAWFLAG_NORMAL); - */ - - - - if (scoreboard_showscores) { HUD_DrawScoreboard(); diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index d4fb02ea8..abf7c9554 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -69,13 +69,6 @@ float raptor_altitude(float amax) return vlen(self.origin - trace_endpos); } -void raptor_bombs_return() -{ - self.owner.bomb1.alpha = 1; - self.owner.bomb2.alpha = 1; - remove(self); -} - void raptor_bomblet_boom() { if(other == self.owner || other.owner == self.owner) @@ -91,9 +84,6 @@ void raptor_bomblet_boom() void raptor_bomb_burst() { - self.angles = vectoangles(self.velocity); - - if(autocvar_g_vehicle_raptor_bomblet_alt) { self.nextthink = time; @@ -107,34 +97,24 @@ void raptor_bomb_burst() } entity bomblet; - float i,v; - vector d; + float i; - v = vlen(self.velocity); - d = normalize(self.velocity); pointparticles(particleeffectnum("rocket_explode"), self.origin, '0 0 0', 1); for(i = 0; i < autocvar_g_vehicle_raptor_bomblets; ++i) { - bomblet = spawn(); - setorigin(bomblet,self.origin); - - //setmodel(bomblet,"models/vehicles/raptor_bomb.dpm"); - bomblet.scale = 0.5; + setorigin(bomblet, self.origin); + bomblet.scale = 0.5; bomblet.solid = SOLID_TRIGGER; bomblet.movetype = MOVETYPE_BOUNCE; bomblet.touch = raptor_bomblet_boom; bomblet.think = raptor_bomblet_boom; bomblet.nextthink = time + 5; bomblet.owner = self.owner; + bomblet.velocity = normalize(normalize(self.velocity) + (randomvec() * autocvar_g_vehicle_raptor_bomblet_spread)) * vlen(self.velocity); - //bomblet.modelflags = MF_GRENADE; - - bomblet.velocity = normalize(d + (randomvec() * autocvar_g_vehicle_raptor_bomblet_spread)) * v; - - //bomblet.angles = vectoangles(bomblet.velocity); CSQCProjectile(bomblet, TRUE, PROJECTILE_RAPTORBOMB, TRUE); } @@ -150,8 +130,8 @@ void raptor_bombdrop() { entity bomb_1, bomb_2; - self.bomb1.alpha = 0.25; - self.bomb2.alpha = 0.25; + //self.bomb1.alpha = 0; + //self.bomb2.alpha = 0; bomb_1 = spawn(); bomb_2 = spawn(); @@ -169,19 +149,13 @@ void raptor_bombdrop() else bomb_1.nextthink = bomb_2.nextthink = time + autocvar_g_vehicle_raptor_bomblet_time; - //bomb_1.avelocity = bomb_2.avelocity = '0 0 180'; bomb_1.owner = bomb_2.owner = self; bomb_1.enemy = bomb_2.enemy = self.owner; - //bomb_1.angles = bomb_2.angles = self.angles; bomb_1.solid = bomb_2.solid = SOLID_BBOX; CSQCProjectile(bomb_1, TRUE, PROJECTILE_RAPTORBOMB, TRUE); CSQCProjectile(bomb_2, TRUE, PROJECTILE_RAPTORBOMB, TRUE); - bomb_1 = spawn(); - bomb_1.owner = self; - bomb_1.think = raptor_bombs_return; - bomb_1.nextthink = time + autocvar_g_vehicle_raptor_bombs_refire; } void raptor_bolt_explode() @@ -349,6 +323,7 @@ float raptor_frame() else makevectors(player.v_angle); */ + crosshair_trace(player); //df = vectoangles(normalize(trace_endpos - gettaginfo(raptor ,gettagindex(raptor, "tag_hud"))) - raptor.angles); df = vectoangles(normalize(trace_endpos - self.origin + '0 0 32')); @@ -536,15 +511,24 @@ float raptor_frame() player.vehicle_energy = raptor.vehicle_energy / autocvar_g_vehicle_raptor_energy; + if(time > raptor.delay) - if(player.BUTTON_ATCK2) { - raptor_bombdrop(); - raptor.delay = time + autocvar_g_vehicle_raptor_bombs_refire; - raptor.lip = time; + if(player.BUTTON_ATCK2) + { + raptor_bombdrop(); + raptor.delay = time + autocvar_g_vehicle_raptor_bombs_refire; + } + player.vehicle_reload1 = 1; + } + else + { + player.vehicle_reload1 = min(time / raptor.delay, 1); + raptor.bomb1.alpha = raptor.bomb2.alpha = player.vehicle_reload1; //(player.vehicle_reload1 == 1 ? 1 : player.vehicle_reload1 * 0.25); } - player.vehicle_reload1 = (time - raptor.lip) / (raptor.delay - raptor.lip); + + VEHICLE_UPDATE_PLAYER(health, raptor); if(self.vehicle_flags & VHF_HASSHIELD) @@ -639,13 +623,8 @@ void raptor_spawn() self.movetype = MOVETYPE_FLY; self.solid = SOLID_SLIDEBOX; self.takedamage = DAMAGE_AIM; - self.alpha = 1; - self.colormap = 1024; self.deadflag = DEAD_NO; self.bot_attack = TRUE; - self.colormod = '1 1 1'; - self.avelocity = '0 0 0'; - self.velocity = '0 0 0'; self.vehicle_energy = 1; self.vehicle_hudmodel.viewmodelforclient = self; @@ -705,7 +684,10 @@ void raptor_dinit() setattachment(self.bomb1, self,"bombmount_left"); setattachment(self.bomb2, self,"bombmount_right"); + // FIXME Guns mounts to angled bones + self.bomb1.angles = self.angles; + self.angles = '0 0 0'; // This messes up gun-aim, so work arround it. //setattachment(self.gun1, self, "gunmount_left"); ofs = gettaginfo(self, gettagindex(self, "gunmount_left")); @@ -719,6 +701,10 @@ void raptor_dinit() setattachment(self.gun2, self, ""); setorigin(self.gun2, ofs); + self.angles = self.bomb1.angles; + self.bomb1.angles = '0 0 0'; + + spinner = spawn(); spinner.owner = self; setmodel(spinner,"models/vehicles/spinner.dpm"); diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index ace756ddb..82b845f1d 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -480,30 +480,36 @@ void vehicles_common_spawn() _effects = EF_NODEPTHTEST; if(autocvar_g_fullbrightplayers) - _colormap |= EF_FULLBRIGHT; + _effects |= EF_FULLBRIGHT; if(self.team) _colormap = 1024 + (self.team - 1) * 17; else _colormap = 1024; - _glowmod = '0 0 0'; - _colormod = '0 0 0'; + _glowmod = '0 0 0'; + _colormod = '0 0 0'; + // Find all ents attacked to main model and setup effects, colormod etc. e = findchainentity(tag_entity, self); while(e) { - e.colormap = _colormap; - e.effects = _effects; - e.colormod = _colormod; - e.colormap = _colormap; + e.effects = _effects; + e.colormod = _colormod; + e.colormap = _colormap; + e.alpha = 1; + e = e.chain; } self.effects = _effects; - self.colormap = _colormap; self.colormod = _colormod; self.colormap = _colormap; + + self.alpha = 1; + self.avelocity = '0 0 0'; + self.velocity = '0 0 0'; + } float vehicle_initialize(string net_name, diff --git a/textures/raptor.jpg b/textures/raptor.jpg deleted file mode 100644 index 8a1cdcebb..000000000 Binary files a/textures/raptor.jpg and /dev/null differ diff --git a/textures/raptor.tga b/textures/raptor.tga new file mode 100644 index 000000000..2037f7b10 Binary files /dev/null and b/textures/raptor.tga differ diff --git a/textures/raptor_cockpit.jpg b/textures/raptor_cockpit.jpg deleted file mode 100644 index fd999b57f..000000000 Binary files a/textures/raptor_cockpit.jpg and /dev/null differ