-
Notifications
You must be signed in to change notification settings - Fork 0
/
progdefs.h2
313 lines (297 loc) · 5.9 KB
/
progdefs.h2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
/*
progdefs.h
PROGS structures: generated by hcc,
do not modify unless you know what you are doing
*/
/* globals structure for Hexen II v1.11 progs: */
typedef struct
{ int pad[28];
int self;
int other;
int world;
float time;
float frametime;
float force_retouch;
string_t mapname;
string_t startspot;
float deathmatch;
float randomclass;
float coop;
float teamplay;
float serverflags;
float total_secrets;
float total_monsters;
float found_secrets;
float killed_monsters;
float chunk_cnt;
float done_precache;
float parm1;
float parm2;
float parm4;
float parm5;
float parm6;
float parm7;
float parm8;
float parm9;
float parm10;
float parm11;
float parm12;
float parm13;
float parm14;
float parm15;
float parm16;
string_t parm3;
vec3_t v_forward;
vec3_t v_up;
vec3_t v_right;
float trace_allsolid;
float trace_startsolid;
float trace_fraction;
vec3_t trace_endpos;
vec3_t trace_plane_normal;
float trace_plane_dist;
int trace_ent;
float trace_inopen;
float trace_inwater;
int msg_entity;
float cycle_wrapped;
float crouch_cnt;
/* these four are only in
* Hexen II v1.11 progs
*/
float modelindex_assassin;
float modelindex_crusader;
float modelindex_paladin;
float modelindex_necromancer;
float modelindex_sheep;
float num_players;
float exp_mult;
func_t main;
func_t StartFrame;
func_t PlayerPreThink;
func_t PlayerPostThink;
func_t ClientKill;
func_t ClientConnect;
func_t PutClientInServer;
func_t ClientReEnter;
func_t ClientDisconnect;
func_t ClassChangeWeapon;
} globalvars_v111_t;
/* globals structure for Mission Pack v1.12 progs: */
typedef struct
{ int pad[28];
int self;
int other;
int world;
float time;
float frametime;
float force_retouch;
string_t mapname;
string_t startspot;
float deathmatch;
float randomclass;
float coop;
float teamplay;
/* cl_playerclass is only in
* Portal of Praevus progs
*/
float cl_playerclass;
float serverflags;
float total_secrets;
float total_monsters;
float found_secrets;
float killed_monsters;
float chunk_cnt;
float done_precache;
float parm1;
float parm2;
float parm4;
float parm5;
float parm6;
float parm7;
float parm8;
float parm9;
float parm10;
float parm11;
float parm12;
float parm13;
float parm14;
float parm15;
float parm16;
string_t parm3;
vec3_t v_forward;
vec3_t v_up;
vec3_t v_right;
float trace_allsolid;
float trace_startsolid;
float trace_fraction;
vec3_t trace_endpos;
vec3_t trace_plane_normal;
float trace_plane_dist;
int trace_ent;
float trace_inopen;
float trace_inwater;
int msg_entity;
float cycle_wrapped;
float crouch_cnt;
float modelindex_sheep;
float num_players;
float exp_mult;
func_t main;
func_t StartFrame;
func_t PlayerPreThink;
func_t PlayerPostThink;
func_t ClientKill;
func_t ClientConnect;
func_t PutClientInServer;
func_t ClientReEnter;
func_t ClientDisconnect;
func_t ClassChangeWeapon;
} globalvars_t;
typedef struct
{
float modelindex;
vec3_t absmin;
vec3_t absmax;
float ltime;
float movetype;
float solid;
vec3_t origin;
vec3_t oldorigin;
vec3_t velocity;
vec3_t angles;
vec3_t avelocity;
vec3_t punchangle;
string_t classname;
string_t model;
float frame;
float skin;
float effects;
float scale;
float drawflags;
float abslight;
vec3_t mins;
vec3_t maxs;
vec3_t size;
float hull;
func_t touch;
func_t use;
func_t think;
func_t blocked;
float nextthink;
int groundentity;
float stats_restored;
float frags;
float weapon;
string_t weaponmodel;
float weaponframe;
float health;
float max_health;
float playerclass;
float bluemana;
float greenmana;
float max_mana;
float armor_amulet;
float armor_bracer;
float armor_breastplate;
float armor_helmet;
float level;
float intelligence;
float wisdom;
float dexterity;
float strength;
float experience;
float ring_flight;
float ring_water;
float ring_turning;
float ring_regeneration;
float haste_time;
float tome_time;
string_t puzzle_inv1;
string_t puzzle_inv2;
string_t puzzle_inv3;
string_t puzzle_inv4;
string_t puzzle_inv5;
string_t puzzle_inv6;
string_t puzzle_inv7;
string_t puzzle_inv8;
float experience_value;
float items;
float takedamage;
int chain;
float deadflag;
vec3_t view_ofs;
float button0;
float button1;
float button2;
float impulse;
float fixangle;
vec3_t v_angle;
float idealpitch;
float idealroll;
float hoverz;
string_t netname;
int enemy;
float flags;
float flags2;
float artifact_flags;
float colormap;
float team;
float light_level;
float teleport_time;
float armortype;
float armorvalue;
float waterlevel;
float watertype;
float friction;
float ideal_yaw;
float yaw_speed;
int goalentity;
float spawnflags;
string_t target;
string_t targetname;
float dmg_take;
float dmg_save;
int dmg_inflictor;
int owner;
vec3_t movedir;
float message;
float soundtype;
string_t noise;
string_t noise1;
string_t noise2;
string_t noise3;
float rings;
float rings_active;
float rings_low;
float artifacts;
float artifact_active;
float artifact_low;
float hasted;
float inventory;
float cnt_torch;
float cnt_h_boost;
float cnt_sh_boost;
float cnt_mana_boost;
float cnt_teleport;
float cnt_tome;
float cnt_summon;
float cnt_invisibility;
float cnt_glyph;
float cnt_haste;
float cnt_blast;
float cnt_polymorph;
float cnt_flight;
float cnt_cubeofforce;
float cnt_invincibility;
int cameramode;
int movechain;
func_t chainmoved;
float string_index;
} entvars_t;
/* crc for Hexen II v1.11 progs.dat headers */
#define PROGS_V111_CRC 38488
/* crc for Mission Pack v1.12 progs.dat headers */
#define PROGS_V112_CRC 26905
/* the default valid crc: */
#define PROGHEADER_CRC (PROGS_V112_CRC)