]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/vehicles/all.qh
Merge branch 'master' into martin-t/globals
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / vehicles / all.qh
index 14c84f3a806b752b7e0e4b096e8ad579df622b3c..ed44be777bf369acd3cc2ad697b89cb03b5bfd11 100644 (file)
@@ -1,34 +1,16 @@
-#ifndef VEHICLES_ALL_H
-#define VEHICLES_ALL_H
+#pragma once
 
 #include "vehicle.qh"
 
-void RegisterVehicles();
-const int VEH_MAXCOUNT = 24;
-entity vehicle_info[VEH_MAXCOUNT], vehicle_info_first, vehicle_info_last;
-Vehicle get_vehicleinfo(int id);
-int VEH_COUNT;
+REGISTRY(Vehicles, BITS(4))
+#define Vehicles_from(i) _Vehicles_from(i, VEH_Null)
+REGISTER_REGISTRY(Vehicles)
+REGISTRY_CHECK(Vehicles)
+
 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, inst) REGISTER(RegisterVehicles, VEH, vehicle_info, VEH_COUNT, id, vehicleid, inst)
-#define REGISTER_VEHICLE_SIMPLE(id, vehicleflags, min_s, max_s, modelname, headmodelname, hudmodelname, headtag, hudtag, viewtag, shortname, vname) \
-    REGISTER_VEHICLE(id, NEW(Vehicle)) {    \
-       this.netname = shortname;           \
-       this.vehicle_name = vname;          \
-       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)
+#define VEH_LAST (Vehicles_COUNT - 1)
+
+#define REGISTER_VEHICLE(id, inst) REGISTER(Vehicles, VEH, id, vehicleid, inst)
 
 #if defined(SVQC)
        #include "sv_vehicles.qh"
@@ -38,6 +20,4 @@ REGISTER_REGISTRY(RegisterVehicles)
 
 REGISTER_VEHICLE(Null, NEW(Vehicle));
 
-#include "all.inc"
-
-#endif
+#include "vehicle/_mod.qh"