X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fvehicles%2Fall.qh;h=158492f661e7e1326cc248283c3b4841bb64c76a;hp=cf4a034ebf7894ebb167820ffcc6a2e9b1409d2f;hb=d492869ab1f18e05121529b7bcffcb637d13994c;hpb=807e413f50626007f11b5822a4c60512c22289fc diff --git a/qcsrc/common/vehicles/all.qh b/qcsrc/common/vehicles/all.qh index cf4a034eb..158492f66 100644 --- a/qcsrc/common/vehicles/all.qh +++ b/qcsrc/common/vehicles/all.qh @@ -1,33 +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; -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" @@ -37,6 +20,4 @@ REGISTER_REGISTRY(RegisterVehicles) REGISTER_VEHICLE(Null, NEW(Vehicle)); -#include "all.inc" - -#endif +#include "vehicle/_mod.inc"