3 // TURRET PLUGIN SYSTEM
4 entity turret_info[TUR_MAXCOUNT];
5 entity dummy_turret_info;
7 void turrets_common_precache()
9 precache_sound ("weapons/rocket_impact.wav");
10 precache_model ("models/turrets/base-gib1.md3");
11 precache_model ("models/turrets/base-gib2.md3");
12 precache_model ("models/turrets/base-gib3.md3");
13 precache_model ("models/turrets/base-gib4.md3");
14 precache_model ("models/turrets/head-gib1.md3");
15 precache_model ("models/turrets/head-gib2.md3");
16 precache_model ("models/turrets/head-gib3.md3");
17 precache_model ("models/turrets/head-gib4.md3");
18 precache_model ("models/turrets/terrainbase.md3");
19 precache_model ("models/turrets/base.md3");
20 precache_model ("models/turrets/rocket.md3");
22 precache_model ("models/turrets/c512.md3");
23 precache_model ("models/marker.md3");
26 precache_model ("models/turrets/c512.md3");
27 precache_model ("models/pathlib/goodsquare.md3");
28 precache_model ("models/pathlib/badsquare.md3");
29 precache_model ("models/pathlib/square.md3");
30 precache_model ("models/pathlib/edge.md3");
34 void register_turret(float id, float(float) func, float turretflags, vector min_s, vector max_s, string modelname, string headmodelname, string shortname, string mname)
37 turret_info[id - 1] = e = spawn();
38 e.classname = "turret_info";
40 e.netname = shortname;
41 e.turret_name = mname;
44 e.cvar_basename = shortname;
45 e.spawnflags = turretflags;
48 e.model = strzone(strcat("models/turrets/", modelname));
49 e.head_model = strzone(strcat("models/turrets/", headmodelname));
52 turrets_common_precache();
56 float t_null(float dummy) { return 0; }
57 void register_turrets_done()
59 dummy_turret_info = spawn();
60 dummy_turret_info.classname = "turret_info";
61 dummy_turret_info.turretid = 0; // you can recognize dummies by this
62 dummy_turret_info.netname = "";
63 dummy_turret_info.turret_name = "Turret";
64 dummy_turret_info.turret_func = t_null;
65 dummy_turret_info.mdl = "";
66 dummy_turret_info.mins = '-0 -0 -0';
67 dummy_turret_info.maxs = '0 0 0';
68 dummy_turret_info.model = "";
70 entity get_turretinfo(float id)
73 if(id < TUR_FIRST || id > TUR_LAST)
74 return dummy_turret_info;
75 m = turret_info[id - 1];
78 return dummy_turret_info;