]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/vehicles/all.qh
Remove vehicleid globals
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / vehicles / all.qh
index dbb7b0e39178a60e750393d439c6643763c54d52..08a3020c753a2b6f3c5e33475f437c4e52e381e6 100644 (file)
@@ -72,23 +72,41 @@ int VEH_COUNT;
 const int VEH_FIRST = 1;
 #define VEH_LAST (VEH_FIRST + VEH_COUNT - 1)
 /** If you register a new vehicle, make sure to add it to all.inc */
-#define REGISTER_VEHICLE(id, class) REGISTER(RegisterVehicles, vehicle_info, vehicle_info, VEH_COUNT, id, m_id, NEW(class))
+#define REGISTER_VEHICLE(id, class) REGISTER(RegisterVehicles, VEH, vehicle_info, VEH_COUNT, id, vehicleid, NEW(class))
 #include "vehicle.qh"
-#define REGISTER_VEHICLE_SIMPLE(id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname) \
-    int VEH_##id; \
-    int func(int); \
-    REGISTER_VEHICLE(id, Vehicle) { \
-               VEH_##id = VEH_LAST; \
-        register_vehicle(this,VEH_##id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname); \
-    } \
-    REGISTER_INIT(vehicle_info, id)
+#define REGISTER_VEHICLE_SIMPLE(id, func, vehicleflags, min_s, max_s, modelname, headmodelname, hudmodelname, headtag, hudtag, viewtag, shortname, vname) \
+    REGISTER_VEHICLE(id, Vehicle) {         \
+       this.netname = shortname;           \
+       this.vehicle_name = vname;          \
+       this.vehicle_func = func;           \
+       this.mdl = modelname;               \
+       this.spawnflags = vehicleflags;     \
+       this.mins = min_s;                  \
+       this.maxs = max_s;                  \
+       this.model = modelname;             \
+       this.head_model = headmodelname;    \
+       this.hud_model = hudmodelname;      \
+       this.tag_head = headtag;            \
+       this.tag_hud = hudtag;              \
+       this.tag_view = viewtag;            \
+    }                                       \
+    REGISTER_INIT(VEH, id)
 REGISTER_REGISTRY(RegisterVehicles)
 
-void register_vehicle(entity e, int id, int(int) func, float vehicleflags, vector min_s, vector max_s, string modelname, string headmodelname, string hudmodelname, string headtag, string hudtag, string viewtag, string shortname, string vname);
-void register_vehicles_done();
 
-#include "all.inc"
+REGISTER_VEHICLE(NULL, Vehicle) {
+    this.vehicleid = 0; // you can recognize dummies by this
+    this.netname = "";
+    this.vehicle_name = "Vehicle";
+    this.vehicle_func = v_null;
+    this.mdl = "";
+    this.mins = '-0 -0 -0';
+    this.maxs = '0 0 0';
+    this.model = "";
+    this.head_model = "";
+    this.hud_model = "";
+}
 
-ACCUMULATE_FUNCTION(RegisterVehicles, register_vehicles_done);
+#include "all.inc"
 
 #endif