7 #include "sv_vehicles.qc"
9 #include "cl_vehicles.qc"
12 #define IMPLEMENTATION
16 // VEHICLE PLUGIN SYSTEM
17 entity vehicle_info[VEH_MAXCOUNT];
18 entity dummy_vehicle_info;
20 void vehicles_common_initialize()
23 precache_model("models/vehicles/bomblet.md3");
24 precache_model("models/vehicles/clusterbomb.md3");
25 precache_model("models/vehicles/clusterbomb_fragment.md3");
26 precache_model("models/vehicles/rocket01.md3");
27 precache_model("models/vehicles/rocket02.md3");
29 precache_sound ("vehicles/alarm.wav");
30 precache_sound ("vehicles/alarm_shield.wav");
33 precache_sound("onslaught/ons_hit2.wav");
34 precache_sound("onslaught/electricity_explode.wav");
36 addstat(STAT_HUD, AS_INT, hud);
37 addstat(STAT_VEHICLESTAT_HEALTH, AS_INT, vehicle_health);
38 addstat(STAT_VEHICLESTAT_SHIELD, AS_INT, vehicle_shield);
39 addstat(STAT_VEHICLESTAT_ENERGY, AS_INT, vehicle_energy);
41 addstat(STAT_VEHICLESTAT_W2MODE, AS_INT, vehicle_weapon2mode);
43 addstat(STAT_VEHICLESTAT_AMMO1, AS_INT, vehicle_ammo1);
44 addstat(STAT_VEHICLESTAT_RELOAD1, AS_INT, vehicle_reload1);
46 addstat(STAT_VEHICLESTAT_AMMO2, AS_INT, vehicle_ammo2);
47 addstat(STAT_VEHICLESTAT_RELOAD2, AS_INT, vehicle_reload2);
51 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)
54 vehicle_info[id - 1] = e = spawn();
55 e.classname = "vehicle_info";
57 e.netname = shortname;
58 e.vehicle_name = vname;
59 e.vehicle_func = func;
61 e.spawnflags = vehicleflags;
65 e.head_model = headmodelname;
66 e.hud_model = hudmodelname;
72 vehicles_common_initialize();
75 float v_null(float dummy) { return 0; }
76 void register_vehicles_done()
78 dummy_vehicle_info = spawn();
79 dummy_vehicle_info.classname = "vehicle_info";
80 dummy_vehicle_info.vehicleid = 0; // you can recognize dummies by this
81 dummy_vehicle_info.netname = "";
82 dummy_vehicle_info.vehicle_name = "Vehicle";
83 dummy_vehicle_info.vehicle_func = v_null;
84 dummy_vehicle_info.mdl = "";
85 dummy_vehicle_info.mins = '-0 -0 -0';
86 dummy_vehicle_info.maxs = '0 0 0';
87 dummy_vehicle_info.model = "";
88 dummy_vehicle_info.head_model = "";
89 dummy_vehicle_info.hud_model = "";
91 entity get_vehicleinfo(float id)
94 if(id < VEH_FIRST || id > VEH_LAST)
95 return dummy_vehicle_info;
96 m = vehicle_info[id - 1];
99 return dummy_vehicle_info;