-// vehicle requests
-#define VR_SETUP 1 // (BOTH) setup vehicle data
-#define VR_THINK 2 // (SERVER) logic to run every frame
-#define VR_DEATH 3 // (SERVER) called when vehicle dies
-#define VR_PRECACHE 4 // (BOTH) precaches models/sounds used by this vehicle
-#define VR_ENTER 5 // (SERVER) called when a player enters this vehicle
-#define VR_SPAWN 6 // (SERVER) called when the vehicle re-spawns
-#define VR_IMPACT 7 // (SERVER) called when a vehicle hits something
-#define VR_HUD 8 // (CLIENT) logic to run every frame
-
-// functions:
-entity get_vehicleinfo(float id);
-
-// fields:
-.entity tur_head;
-
-// flags:
-.float vehicle_flags;
-const float VHF_ISVEHICLE = 2; /// Indicates vehicle
-const float VHF_HASSHIELD = 4; /// Vehicle has shileding
-const float VHF_SHIELDREGEN = 8; /// Vehicles shield regenerates
-const float VHF_HEALTHREGEN = 16; /// Vehicles health regenerates
-const float VHF_ENERGYREGEN = 32; /// Vehicles energy regenerates
-const float VHF_DEATHEJECT = 64; /// Vehicle ejects pilot upon fatal damage
-const float VHF_MOVE_GROUND = 128; /// Vehicle moves on gound
-const float VHF_MOVE_HOVER = 256; /// Vehicle hover close to gound
-const float VHF_MOVE_FLY = 512; /// Vehicle is airborn
-const float VHF_DMGSHAKE = 1024; /// Add random velocity each frame if health < 50%
-const float VHF_DMGROLL = 2048; /// Add random angles each frame if health < 50%
-const float VHF_DMGHEADROLL = 4096; /// Add random head angles each frame if health < 50%
-const float VHF_MULTISLOT = 8192; /// Vehicle has multiple player slots
-const float VHF_PLAYERSLOT = 16384; /// This ent is a player slot on a multi-person vehicle
-
-
-// entity properties of vehicleinfo:
-.float vehicleid; // VEH_...
-.string netname; // short name
-.string vehicle_name; // human readable name
-.float(float) vehicle_func; // v_...
-.string mdl; // currently a copy of the model
-.string model; // full name of model
-.string head_model; // full name of tur_head model
-.string hud_model; // cockpit model
-.string tag_head; // tur_head model tag
-.string tag_hud; // hud model tag
-.string tag_view; // cockpit model tag
-.float() PlayerPhysplug; // player physics mod
-.float spawnflags;
-.vector mins, maxs; // vehicle hitbox size
-
-// other useful macros
-#define VEH_ACTION(vehicletype,mrequest) (get_vehicleinfo(vehicletype)).vehicle_func(mrequest)
-#define VEH_NAME(vehicletype) (get_vehicleinfo(vehicletype)).vehicle_name
-
-// =====================
-// Vehicle Registration
-// =====================
-
-float v_null(float dummy);
-void register_vehicle(float id, float(float) 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();
-
-const float VEH_MAXCOUNT = 24;
-#define VEH_FIRST 1
-float VEH_COUNT;
-float VEH_LAST;
-
-#define REGISTER_VEHICLE_2(id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname) \
- float id; \
- float func(float); \
- void RegisterVehicles_##id() \
- { \
- VEH_LAST = (id = VEH_FIRST + VEH_COUNT); \
- ++VEH_COUNT; \
- register_vehicle(id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname); \
- } \
- ACCUMULATE_FUNCTION(RegisterVehicles, RegisterVehicles_##id)
-#ifdef MENUQC
-#define REGISTER_VEHICLE(id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname) \
- REGISTER_VEHICLE_2(VEH_##id,v_null,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname)
-#else
-#define REGISTER_VEHICLE(id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname) \
- REGISTER_VEHICLE_2(VEH_##id,func,vehicleflags,min_s,max_s,modelname,headmodelname,hudmodelname,headtag,hudtag,viewtag,shortname,vname)
-#endif
-
-#include "all.qh"
-
-#undef REGISTER_VEHICLE
-ACCUMULATE_FUNCTION(RegisterVehicles, register_vehicles_done);
+#pragma once