From: Jakob MG Date: Mon, 4 Apr 2011 01:03:34 +0000 (+0200) Subject: Remove some stale code, very basic racer tough csqc (disabled) new models for raptor... X-Git-Tag: xonotic-v0.5.0~199^2~11^2~86 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=6e63a9d07ccfc1f6730dfe8860ac4cafa868e3e3;p=xonotic%2Fxonotic-data.pk3dir.git Remove some stale code, very basic racer tough csqc (disabled) new models for raptor & otehr models, thanks morphed. friction cvar for racer. --- diff --git a/models/vehicles/bomblet.md3 b/models/vehicles/bomblet.md3 index 69f2195db..07edae088 100644 Binary files a/models/vehicles/bomblet.md3 and b/models/vehicles/bomblet.md3 differ diff --git a/models/vehicles/clusterbomb_folded.md3 b/models/vehicles/clusterbomb_folded.md3 new file mode 100644 index 000000000..f1b65a6c5 Binary files /dev/null and b/models/vehicles/clusterbomb_folded.md3 differ diff --git a/models/vehicles/raptor.dpm b/models/vehicles/raptor.dpm index 83518c5c6..bbd758a1c 100644 Binary files a/models/vehicles/raptor.dpm and b/models/vehicles/raptor.dpm differ diff --git a/models/vehicles/raptor_body.dpm b/models/vehicles/raptor_body.dpm new file mode 100644 index 000000000..2a283175f Binary files /dev/null and b/models/vehicles/raptor_body.dpm differ diff --git a/models/vehicles/raptor_cockpit.dpm b/models/vehicles/raptor_cockpit.dpm index fe933e4e4..268d437bb 100644 Binary files a/models/vehicles/raptor_cockpit.dpm and b/models/vehicles/raptor_cockpit.dpm differ diff --git a/models/vehicles/spinner.dpm b/models/vehicles/spinner.dpm index d3d83b44b..7e453f201 100644 Binary files a/models/vehicles/spinner.dpm and b/models/vehicles/spinner.dpm differ diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index bdab181df..6bf644376 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -968,6 +968,7 @@ void(float bIsNewEntity) CSQC_Ent_Update = 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_VEHICLE_RACER: Net_VehicleRacer(bIsNewEntity); break; default: error(strcat(_("unknown entity type in CSQC_Ent_Update: %d\n"), self.enttype)); break; @@ -1400,10 +1401,6 @@ float CSQC_Parse_TempEntity() Net_WeaponComplain(); bHandled = true; break; - case TE_CSQC_AUXILIARYXHAIR: - Net_AuXair(); - bHandled = true; - break; case TE_CSQC_VEHICLESETUP: Net_VehicleSetup(); bHandled = true; diff --git a/qcsrc/client/vehicles/vehicles.qc b/qcsrc/client/vehicles/vehicles.qc index 9ec28d61f..43d30f35f 100644 --- a/qcsrc/client/vehicles/vehicles.qc +++ b/qcsrc/client/vehicles/vehicles.qc @@ -58,7 +58,7 @@ void AuxiliaryXhair_Draw2D() } -void Net_AuXair() +void Net_AuXair2(float bIsNew) { float axh_id; entity axh; @@ -90,10 +90,55 @@ void Net_AuXair() axh.colormod_z = ReadByte() / 255; axh.cnt = time; } -void Net_AuXair2(float blah) + + + +void VehicleRacerDraw() +{ + //Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy); + Movetype_Physics_NoMatchServer(); + self.drawmask = MASK_NORMAL; +} + +void VehicleRacerRemove() +{ +} + +void Net_VehicleRacer(float bIsNew) { - Net_AuXair(); + if(bIsNew) + { + setmodel(self, "models/vehicles/wakizashi.dpm"); + self.move_movetype = MOVETYPE_BOUNCE; + self.entremove = VehicleRacerRemove; + setsize(self, '-60 -60 -20', '60 60 20'); + self.draw = VehicleRacerDraw; + self.scale = 0.5; + } + + self.cnt = ReadByte(); + + self.origin_x = ReadCoord(); + self.origin_y = ReadCoord(); + self.origin_z = ReadCoord(); + + self.velocity_x = ReadCoord(); + self.velocity_y = ReadCoord(); + self.velocity_z = ReadCoord(); + + self.angles_x = ReadAngle(); + self.angles_y = ReadAngle(); + self.angles_z = ReadAngle(); + + self.move_origin = self.origin; + self.move_velocity = self.velocity; + self.move_angles = self.angles; + + setorigin(self, self.origin); } + + + void Net_VehicleSetup() { diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index d5c24313d..b74c1ddb5 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -63,7 +63,6 @@ const float TE_CSQC_NOTIFY = 112; const float TE_CSQC_WEAPONCOMPLAIN = 113; const float TE_CSQC_NEX_SCOPE = 116; const float TE_CSQC_MINELAYER_MAXMINES = 117; -const float TE_CSQC_AUXILIARYXHAIR = 118; const float TE_CSQC_VEHICLESETUP = 119; const float RACE_NET_CHECKPOINT_HIT_QUALIFYING = 0; // byte checkpoint, short time, short recordtime, string recordholder @@ -118,6 +117,7 @@ const float ENT_CLIENT_ACCURACY = 30; const float ENT_CLIENT_TURRET = 40; const float ENT_CLIENT_AUXILIARYXHAIR = 50; +const float ENT_CLIENT_VEHICLE_RACER = 60; const float SPRITERULE_DEFAULT = 0; const float SPRITERULE_TEAMPLAY = 1; diff --git a/qcsrc/server/vehicles/racer.qc b/qcsrc/server/vehicles/racer.qc index d17d1080c..b484fc76d 100644 --- a/qcsrc/server/vehicles/racer.qc +++ b/qcsrc/server/vehicles/racer.qc @@ -16,6 +16,7 @@ float autocvar_g_vehicle_racer_speed_forward; float autocvar_g_vehicle_racer_speed_strafe; float autocvar_g_vehicle_racer_springlength; float autocvar_g_vehicle_racer_upforcedamper; +float autocvar_g_vehicle_racer_friction; float autocvar_g_vehicle_racer_hovertype; float autocvar_g_vehicle_racer_hoverpower; @@ -333,7 +334,7 @@ float racer_frame() racer.angles_x *= -1; #endif - df = racer.velocity * -0.5; + df = racer.velocity * -autocvar_g_vehicle_racer_friction; if(player.movement_x != 0) { @@ -482,7 +483,7 @@ void racer_think() void racer_enter() { - self.movetype = MOVETYPE_BOUNCE; //MISSILE; + self.movetype = MOVETYPE_BOUNCE; self.owner.vehicle_health = (self.vehicle_health / autocvar_g_vehicle_racer_health); self.owner.vehicle_shield = (self.vehicle_shield / autocvar_g_vehicle_racer_shield); } diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index 0f2c9ced3..f1b7e8612 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -180,7 +180,7 @@ void raptor_bombdrop() void raptor_fire_cannon(entity gun, string tagname) { entity bolt; - vector b_org; + vector b_org; b_org = gettaginfo(gun, gettagindex(gun, tagname)); bolt = vehicles_projectile("raptor_cannon_impact", "weapons/laserimpact.wav", "raptor_cannon_muzzleflash", "weapons/lasergun_fire.wav", b_org, normalize(v_forward + randomvec() * autocvar_g_vehicle_raptor_cannon_spread) * autocvar_g_vehicle_raptor_cannon_speed, @@ -199,8 +199,8 @@ void raptor_enter() self.solid = SOLID_BBOX; self.owner.vehicle_health = (self.vehicle_health / autocvar_g_vehicle_raptor_health); self.owner.vehicle_shield = (self.vehicle_shield / autocvar_g_vehicle_raptor_shield); - self.velocity_z = 1; // Nudge upwards to takeoff sequense can work. + self.tur_head.exteriormodeltoclient = self.owner; #ifdef RAPTOR_RETARDCAMERA setorigin(self.vehicle_viewport, self.origin); @@ -234,7 +234,8 @@ void raptor_land() void raptor_exit(float eject) { - + self.tur_head.exteriormodeltoclient = world; + if(self.deadflag == DEAD_NO) { self.think = raptor_land; @@ -636,18 +637,20 @@ void raptor_dinit() self.bomb2 = spawn(); self.gun1 = spawn(); self.gun2 = spawn(); - + #ifdef RAPTOR_RETARDCAMERA setattachment(self.vehicle_viewport, world, ""); #endif - setmodel(self.bomb1,"models/vehicles/clusterbomb.md3"); - setmodel(self.bomb2,"models/vehicles/clusterbomb.md3"); + setmodel(self.bomb1,"models/vehicles/clusterbomb_folded.md3"); + setmodel(self.bomb2,"models/vehicles/clusterbomb_folded.md3"); setmodel(self.gun1, "models/vehicles/raptor_gun.dpm"); setmodel(self.gun2, "models/vehicles/raptor_gun.dpm"); + setmodel(self.tur_head, "models/vehicles/raptor_body.dpm"); setattachment(self.bomb1, self,"bombmount_left"); setattachment(self.bomb2, self,"bombmount_right"); + setattachment(self.tur_head, self,"root"); // FIXME Guns mounts to angled bones @@ -709,6 +712,8 @@ void spawnfunc_vehicle_raptor() precache_model ("models/vehicles/spinner.dpm"); precache_model ("models/vehicles/raptor_cockpit.dpm"); precache_model ("models/vehicles/clusterbomb.md3"); + precache_model ("models/vehicles/clusterbomb_folded.md3"); + precache_model ("models/vehicles/raptor_body.dpm"); self.think = raptor_dinit; self.nextthink = time + 1; diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index e94e73b57..ba7f9a0ec 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -661,6 +661,42 @@ void vehicles_reset_colors() } +//#define VEHICLES_CSQC +#ifdef VEHICLES_CSQC +#define VSF_ORG 2 +#define VSF_VEL 4 +#define VSF_ANG 8 +#define VSF_COLORMAP 16 +#define VSF_STAT1 32 + +float SendVehicle(entity to, float sf) +{ + WriteByte(MSG_ENTITY, ENT_CLIENT_VEHICLE_RACER); + + WriteByte(MSG_ENTITY, self.cnt); + + WriteCoord(MSG_ENTITY, self.origin_x); + WriteCoord(MSG_ENTITY, self.origin_y); + WriteCoord(MSG_ENTITY, self.origin_z); + + WriteCoord(MSG_ENTITY, self.velocity_x); + WriteCoord(MSG_ENTITY, self.velocity_y); + WriteCoord(MSG_ENTITY, self.velocity_z); + + WriteAngle(MSG_ENTITY, self.angles_x); + WriteAngle(MSG_ENTITY, self.angles_y); + WriteAngle(MSG_ENTITY, self.angles_z); + + return TRUE; +} + +void NetLinkVehicle() +{ + self.SendFlags = 0xFFFFFF; + Net_LinkEntity(self, FALSE, 0, SendVehicle); +} +#endif + float vehicle_initialize(string net_name, string bodymodel, string topmodel, diff --git a/qcsrc/server/vehicles/vehicles.qh b/qcsrc/server/vehicles/vehicles.qh index 6d64a3d29..83cfa56f0 100644 --- a/qcsrc/server/vehicles/vehicles.qh +++ b/qcsrc/server/vehicles/vehicles.qh @@ -1,6 +1,7 @@ #ifdef VEHICLES_ENABLED //#include "collision.qc" #include "vehicles.qc" + #include "racer.qc" #include "spiderbot.qc" #include "raptor.qc" diff --git a/vehicle_racer.cfg b/vehicle_racer.cfg index cb6032f80..3e32696e2 100644 --- a/vehicle_racer.cfg +++ b/vehicle_racer.cfg @@ -17,7 +17,8 @@ set g_vehicle_racer_speed_stop 2000 set g_vehicle_racer_speed_forward 1000 set g_vehicle_racer_speed_strafe 750 set g_vehicle_racer_speed_afterburn 2000 -set g_vehicle_racer_afterburn_cost 75 // energy consumed per second +set g_vehicle_racer_friction 0.7 +set g_vehicle_racer_afterburn_cost 60 // energy consumed per second set g_vehicle_racer_hovertype 0 // 0 = hover, != 0 = maglev set g_vehicle_racer_hoverpower 3600 // NOTE!! x 4 (4 engines)