]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Remove some stale code, very basic racer tough csqc (disabled) new models for raptor...
authorJakob MG <jakob_mg@hotmail.com>
Mon, 4 Apr 2011 01:03:34 +0000 (03:03 +0200)
committerJakob MG <jakob_mg@hotmail.com>
Mon, 4 Apr 2011 01:03:34 +0000 (03:03 +0200)
14 files changed:
models/vehicles/bomblet.md3
models/vehicles/clusterbomb_folded.md3 [new file with mode: 0644]
models/vehicles/raptor.dpm
models/vehicles/raptor_body.dpm [new file with mode: 0644]
models/vehicles/raptor_cockpit.dpm
models/vehicles/spinner.dpm
qcsrc/client/Main.qc
qcsrc/client/vehicles/vehicles.qc
qcsrc/common/constants.qh
qcsrc/server/vehicles/racer.qc
qcsrc/server/vehicles/raptor.qc
qcsrc/server/vehicles/vehicles.qc
qcsrc/server/vehicles/vehicles.qh
vehicle_racer.cfg

index 69f2195dbb6229b04bc59e3402379790b425072e..07edae0883d1f42fffaf87a86cc06ae7cb6b0506 100644 (file)
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 (file)
index 0000000..f1b65a6
Binary files /dev/null and b/models/vehicles/clusterbomb_folded.md3 differ
index 83518c5c629d255f7412295d9248aadd30aebf46..bbd758a1c7216591a1d3c1baf10ca66d72925d57 100644 (file)
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 (file)
index 0000000..2a28317
Binary files /dev/null and b/models/vehicles/raptor_body.dpm differ
index fe933e4e427835b1a15efe7231cc88a5e1982282..268d437bb6b22d0490262282e78a4084433ae4f8 100644 (file)
Binary files a/models/vehicles/raptor_cockpit.dpm and b/models/vehicles/raptor_cockpit.dpm differ
index d3d83b44b30909b4310318b76b95e6c73476f2b4..7e453f2011faea574866814370e23d0a6c7dd403 100644 (file)
Binary files a/models/vehicles/spinner.dpm and b/models/vehicles/spinner.dpm differ
index bdab181df18d171fbfe32346d8b9e4783fd79836..6bf6443760f9fe96c43c0c81d580c6543b0a0f40 100644 (file)
@@ -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;
index 9ec28d61fd1e9b582a68f1b2d433c744a13787e3..43d30f35f8e052fc7b6835695ea9eecf44b26264 100644 (file)
@@ -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()
 {
 
index d5c24313d49e22b0453b89ed60fb01daf4815e38..b74c1ddb5b691594de5ba106ec33ca41346b1536 100644 (file)
@@ -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;
index d17d1080cf9172f4c87e4526b623be7eac35b11f..b484fc76d695138a705867a299cf86d00081669b 100644 (file)
@@ -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);
 }
index 0f2c9ced309f1eb10cf6f0947a67ef65762804f5..f1b7e861212bc891740dbc15fad2a093e54465d2 100644 (file)
@@ -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;
index e94e73b57ba5c86eb4bd92517b04960fb8f723c1..ba7f9a0eca26a68e0fa3a2aa13ceb24f8d760309 100644 (file)
@@ -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,
index 6d64a3d29e37a50f14b7fadfbf5a3ee452cfe594..83cfa56f0c54fedc6f48ab851fa6536e919ff956 100644 (file)
@@ -1,6 +1,7 @@
 #ifdef VEHICLES_ENABLED
 //#include "collision.qc"
 #include "vehicles.qc"
+
 #include "racer.qc"
 #include "spiderbot.qc"
 #include "raptor.qc"
index cb6032f803bd6b7983cbf3b7bb372cc8c166cd34..3e32696e2529ec8e86d20044ff8e053c4b88929a 100644 (file)
@@ -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)