#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)
-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"
REGISTER_VEHICLE(Null, NEW(Vehicle));
-#include "all.inc"
+#include "vehicle/_mod.inc"
#endif