Subversion Repositories eduke32

Rev

Rev 5043 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5 Plagman 1
//-------------------------------------------------------------------------
2
/*
1652 terminx 3
Copyright (C) 2010 EDuke32 developers and contributors
5 Plagman 4
 
1652 terminx 5
This file is part of EDuke32.
5 Plagman 6
 
7
EDuke32 is free software; you can redistribute it and/or
8
modify it under the terms of the GNU General Public License version 2
9
as published by the Free Software Foundation.
10
 
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
 
15
See the GNU General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
4541 hendricks2 19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
5 Plagman 20
*/
21
//-------------------------------------------------------------------------
22
 
4747 terminx 23
#ifndef gamedef_h_
24
#define gamedef_h_
1188 terminx 25
 
3148 helixhorne 26
#include "build.h"  // hashtable_t
2549 helixhorne 27
#include "common.h"  // tokenlist
28
 
4766 hendricks2 29
#ifdef __cplusplus
30
extern "C" {
31
#endif
32
 
5 Plagman 33
#define MAXGAMEEVENTS   128
34
#define LABEL_HASPARM2  1
35
#define LABEL_ISSTRING  2
36
 
1909 terminx 37
#define MAXCHEATLEN             20
4385 terminx 38
#define NUMCHEATCODES           (int32_t)ARRAY_SIZE(CheatStrings)
1909 terminx 39
 
4988 terminx 40
extern intptr_t const * insptr;
3415 helixhorne 41
extern hashtable_t h_gamefuncs;
42
 
43
#if !defined LUNATIC
1677 terminx 44
extern hashtable_t h_gamevars;
45
extern hashtable_t h_arrays;
46
extern hashtable_t h_labels;
47
 
1205 terminx 48
extern int32_t g_iReturnVarID;      // var ID of "RETURN"
49
extern int32_t g_iWeaponVarID;      // var ID of "WEAPON"
50
extern int32_t g_iWorksLikeVarID;   // var ID of "WORKSLIKE"
51
extern int32_t g_iZRangeVarID;      // var ID of "ZRANGE"
52
extern int32_t g_iAngRangeVarID;    // var ID of "ANGRANGE"
53
extern int32_t g_iAimAngleVarID;    // var ID of "AUTOAIMANGLE"
54
extern int32_t g_iLoTagID;          // var ID of "LOTAG"
55
extern int32_t g_iHiTagID;          // var ID of "HITAG"
56
extern int32_t g_iTextureID;        // var ID of "TEXTURE"
57
extern int32_t g_iThisActorID;      // var ID of "THISACTOR"
58
extern int32_t g_iSpriteVarID;
59
extern int32_t g_iSectorVarID;
60
extern int32_t g_iWallVarID;
61
extern int32_t g_iPlayerVarID;
62
extern int32_t g_iActorVarID;
5 Plagman 63
 
709 qbix79 64
extern intptr_t *apScriptGameEvent[MAXGAMEEVENTS];
3415 helixhorne 65
#endif
5 Plagman 66
 
1205 terminx 67
extern int32_t otherp;
1143 terminx 68
extern char CheatStrings[][MAXCHEATLEN];
69
extern char g_szScriptFileName[BMAX_PATH];
1205 terminx 70
extern int32_t g_totalLines,g_lineNumber;
1677 terminx 71
extern int32_t g_numCompilerErrors,g_numCompilerWarnings,g_numQuoteRedefinitions;
72
extern int32_t g_scriptVersion;
1708 helixhorne 73
extern uint32_t g_scriptDateVersion;  // YYYYMMDD
1677 terminx 74
extern char g_szBuf[1024];
1048 terminx 75
 
3415 helixhorne 76
extern const char *EventNames[];  // MAXEVENTS
77
 
78
#if !defined LUNATIC
1155 terminx 79
extern intptr_t *g_scriptPtr;
80
 
616 terminx 81
typedef struct
566 terminx 82
{
2796 helixhorne 83
    const char *name;
4745 terminx 84
    int lId, flags, maxParm2;
616 terminx 85
} memberlabel_t;
5 Plagman 86
 
1143 terminx 87
extern const memberlabel_t SectorLabels[];
88
extern const memberlabel_t WallLabels[];
89
extern const memberlabel_t ActorLabels[];
90
extern const memberlabel_t PlayerLabels[];
91
extern const memberlabel_t ProjectileLabels[];
859 terminx 92
extern const memberlabel_t userdeflabels[];
1143 terminx 93
extern const memberlabel_t InputLabels[];
94
extern const memberlabel_t TsprLabels[];
3415 helixhorne 95
#endif
566 terminx 96
 
3356 helixhorne 97
int32_t C_AllocQuote(int32_t qnum);
98
void C_InitQuotes(void);
3459 helixhorne 99
void C_InitProjectiles(void);
3356 helixhorne 100
 
1204 terminx 101
typedef struct {
4745 terminx 102
    int g_i, g_p, g_x;
2185 helixhorne 103
    int32_t *g_t;
1204 terminx 104
    spritetype *g_sp;
4902 terminx 105
    DukePlayer_t *g_pp;
4745 terminx 106
    int g_flags;
1204 terminx 107
} vmstate_t;
108
 
109
extern vmstate_t vm;
110
 
4766 hendricks2 111
void G_DoGameStartup(const int32_t *params);
112
void C_DefineMusic(int32_t vol, int32_t lev, const char *fn);
113
 
5033 hendricks2 114
void C_DefineVolumeFlags(int32_t vol, int32_t flags);
5032 hendricks2 115
void C_UndefineVolume(int32_t vol);
116
void C_UndefineSkill(int32_t skill);
117
void C_UndefineLevel(int32_t vol, int32_t lev);
4766 hendricks2 118
#if defined LUNATIC
119
void C_DefineSound(int32_t sndidx, const char *fn, int32_t args[5]);
120
void C_DefineQuote(int32_t qnum, const char *qstr);
121
void C_DefineVolumeName(int32_t vol, const char *name);
122
void C_DefineSkillName(int32_t skill, const char *name);
123
void C_DefineLevelName(int32_t vol, int32_t lev, const char *fn,
124
                       int32_t partime, int32_t designertime,
125
                       const char *levelname);
126
void C_DefineGameFuncName(int32_t idx, const char *name);
127
void C_DefineGameType(int32_t idx, int32_t flags, const char *name);
128
int32_t C_SetDefName(const char *name);
129
void C_DefineProjectile(int32_t j, int32_t what, int32_t val);
130
void C_SetCfgName(const char *cfgname);
131
#else
3415 helixhorne 132
void C_ReportError(int32_t iError);
133
void C_Compile(const char *filenam);
134
 
1205 terminx 135
extern int32_t g_errorLineNum;
136
extern int32_t g_tw;
1048 terminx 137
extern const char *keyw[];
138
 
2762 helixhorne 139
// KEEPINSYNC lunatic/con_lang.lua
1207 terminx 140
enum SystemString_t {
141
    STR_MAPNAME,
142
    STR_MAPFILENAME,
143
    STR_PLAYERNAME,
144
    STR_VERSION,
145
    STR_GAMETYPE,
4969 hendricks2 146
    STR_VOLUMENAME,
147
    STR_YOURTIME,
148
    STR_PARTIME,
149
    STR_DESIGNERTIME,
150
    STR_BESTTIME,
1207 terminx 151
};
152
 
1143 terminx 153
enum ScriptError_t
398 terminx 154
{
155
    ERROR_CLOSEBRACKET,
156
    ERROR_EVENTONLY,
157
    ERROR_EXCEEDSMAXTILES,
158
    ERROR_EXPECTEDKEYWORD,
159
    ERROR_FOUNDWITHIN,
160
    ERROR_ISAKEYWORD,
161
    ERROR_NOENDSWITCH,
162
    ERROR_NOTAGAMEDEF,
163
    ERROR_NOTAGAMEVAR,
676 terminx 164
    ERROR_NOTAGAMEARRAY,
165
    ERROR_GAMEARRAYBNC,
166
    ERROR_GAMEARRAYBNO,
167
    ERROR_INVALIDARRAYWRITE,
398 terminx 168
    ERROR_OPENBRACKET,
169
    ERROR_PARAMUNDEFINED,
170
    ERROR_SYMBOLNOTRECOGNIZED,
171
    ERROR_SYNTAXERROR,
172
    ERROR_VARREADONLY,
3274 hendricks2 173
    ERROR_ARRAYREADONLY,
398 terminx 174
    ERROR_VARTYPEMISMATCH,
1010 terminx 175
    WARNING_BADGAMEVAR,
176
    WARNING_DUPLICATECASE,
398 terminx 177
    WARNING_DUPLICATEDEFINITION,
178
    WARNING_EVENTSYNC,
179
    WARNING_LABELSONLY,
1909 terminx 180
    WARNING_NAMEMATCHESVAR
398 terminx 181
};
182
 
1143 terminx 183
enum PlayerLabel_t
566 terminx 184
{
5 Plagman 185
    PLAYER_ZOOM,
186
    PLAYER_EXITX,
187
    PLAYER_EXITY,
188
    PLAYER_LOOGIEX,
189
    PLAYER_LOOGIEY,
190
    PLAYER_NUMLOOGS,
191
    PLAYER_LOOGCNT,
192
    PLAYER_POSX,
193
    PLAYER_POSY,
194
    PLAYER_POSZ,
195
    PLAYER_HORIZ,
196
    PLAYER_OHORIZ,
197
    PLAYER_OHORIZOFF,
198
    PLAYER_INVDISPTIME,
199
    PLAYER_BOBPOSX,
200
    PLAYER_BOBPOSY,
201
    PLAYER_OPOSX,
202
    PLAYER_OPOSY,
203
    PLAYER_OPOSZ,
204
    PLAYER_PYOFF,
205
    PLAYER_OPYOFF,
206
    PLAYER_POSXV,
207
    PLAYER_POSYV,
208
    PLAYER_POSZV,
209
    PLAYER_LAST_PISSED_TIME,
210
    PLAYER_TRUEFZ,
211
    PLAYER_TRUECZ,
212
    PLAYER_PLAYER_PAR,
213
    PLAYER_VISIBILITY,
214
    PLAYER_BOBCOUNTER,
215
    PLAYER_WEAPON_SWAY,
216
    PLAYER_PALS_TIME,
217
    PLAYER_RANDOMFLAMEX,
218
    PLAYER_CRACK_TIME,
219
    PLAYER_AIM_MODE,
220
    PLAYER_ANG,
221
    PLAYER_OANG,
222
    PLAYER_ANGVEL,
223
    PLAYER_CURSECTNUM,
224
    PLAYER_LOOK_ANG,
225
    PLAYER_LAST_EXTRA,
226
    PLAYER_SUBWEAPON,
227
    PLAYER_AMMO_AMOUNT,
228
    PLAYER_WACKEDBYACTOR,
229
    PLAYER_FRAG,
230
    PLAYER_FRAGGEDSELF,
231
    PLAYER_CURR_WEAPON,
232
    PLAYER_LAST_WEAPON,
233
    PLAYER_TIPINCS,
234
    PLAYER_HORIZOFF,
235
    PLAYER_WANTWEAPONFIRE,
236
    PLAYER_HOLODUKE_AMOUNT,
237
    PLAYER_NEWOWNER,
238
    PLAYER_HURT_DELAY,
239
    PLAYER_HBOMB_HOLD_DELAY,
240
    PLAYER_JUMPING_COUNTER,
241
    PLAYER_AIRLEFT,
242
    PLAYER_KNEE_INCS,
243
    PLAYER_ACCESS_INCS,
244
    PLAYER_FTA,
245
    PLAYER_FTQ,
246
    PLAYER_ACCESS_WALLNUM,
247
    PLAYER_ACCESS_SPRITENUM,
248
    PLAYER_KICKBACK_PIC,
249
    PLAYER_GOT_ACCESS,
250
    PLAYER_WEAPON_ANG,
251
    PLAYER_FIRSTAID_AMOUNT,
252
    PLAYER_SOMETHINGONPLAYER,
253
    PLAYER_ON_CRANE,
254
    PLAYER_I,
255
    PLAYER_ONE_PARALLAX_SECTNUM,
256
    PLAYER_OVER_SHOULDER_ON,
257
    PLAYER_RANDOM_CLUB_FRAME,
258
    PLAYER_FIST_INCS,
259
    PLAYER_ONE_EIGHTY_COUNT,
260
    PLAYER_CHEAT_PHASE,
261
    PLAYER_DUMMYPLAYERSPRITE,
262
    PLAYER_EXTRA_EXTRA8,
263
    PLAYER_QUICK_KICK,
264
    PLAYER_HEAT_AMOUNT,
265
    PLAYER_ACTORSQU,
266
    PLAYER_TIMEBEFOREEXIT,
267
    PLAYER_CUSTOMEXITSOUND,
268
    PLAYER_WEAPRECS,
269
    PLAYER_WEAPRECCNT,
270
    PLAYER_INTERFACE_TOGGLE_FLAG,
271
    PLAYER_ROTSCRNANG,
272
    PLAYER_DEAD_FLAG,
273
    PLAYER_SHOW_EMPTY_WEAPON,
274
    PLAYER_SCUBA_AMOUNT,
275
    PLAYER_JETPACK_AMOUNT,
276
    PLAYER_STEROIDS_AMOUNT,
277
    PLAYER_SHIELD_AMOUNT,
278
    PLAYER_HOLODUKE_ON,
279
    PLAYER_PYCOUNT,
280
    PLAYER_WEAPON_POS,
281
    PLAYER_FRAG_PS,
282
    PLAYER_TRANSPORTER_HOLD,
283
    PLAYER_LAST_FULL_WEAPON,
284
    PLAYER_FOOTPRINTSHADE,
285
    PLAYER_BOOT_AMOUNT,
286
    PLAYER_SCREAM_VOICE,
287
    PLAYER_GM,
288
    PLAYER_ON_WARPING_SECTOR,
289
    PLAYER_FOOTPRINTCOUNT,
290
    PLAYER_HBOMB_ON,
291
    PLAYER_JUMPING_TOGGLE,
292
    PLAYER_RAPID_FIRE_HOLD,
293
    PLAYER_ON_GROUND,
294
    PLAYER_NAME,
295
    PLAYER_INVEN_ICON,
296
    PLAYER_BUTTONPALETTE,
297
    PLAYER_JETPACK_ON,
298
    PLAYER_SPRITEBRIDGE,
299
    PLAYER_LASTRANDOMSPOT,
300
    PLAYER_SCUBA_ON,
301
    PLAYER_FOOTPRINTPAL,
302
    PLAYER_HEAT_ON,
303
    PLAYER_HOLSTER_WEAPON,
304
    PLAYER_FALLING_COUNTER,
305
    PLAYER_GOTWEAPON,
306
    PLAYER_REFRESH_INVENTORY,
307
    PLAYER_PALETTE,
308
    PLAYER_TOGGLE_KEY_FLAG,
309
    PLAYER_KNUCKLE_INCS,
310
    PLAYER_WALKING_SND_TOGGLE,
311
    PLAYER_PALOOKUP,
312
    PLAYER_HARD_LANDING,
313
    PLAYER_MAX_SECRET_ROOMS,
314
    PLAYER_SECRET_ROOMS,
315
    PLAYER_PALS,
316
    PLAYER_MAX_ACTORS_KILLED,
317
    PLAYER_ACTORS_KILLED,
318
    PLAYER_RETURN_TO_CENTER,
319
    PLAYER_RUNSPEED,
320
    PLAYER_SBS,
321
    PLAYER_RELOADING,
322
    PLAYER_AUTO_AIM,
323
    PLAYER_MOVEMENT_LOCK,
324
    PLAYER_SOUND_PITCH,
268 terminx 325
    PLAYER_WEAPONSWITCH,
566 terminx 326
    PLAYER_TEAM,
327
    PLAYER_MAX_PLAYER_HEALTH,
328
    PLAYER_MAX_SHIELD_AMOUNT,
1025 terminx 329
    PLAYER_MAX_AMMO_AMOUNT,
1062 terminx 330
    PLAYER_LAST_QUICK_KICK,
3100 hendricks2 331
    PLAYER_AUTOSTEP,
332
    PLAYER_AUTOSTEP_SBW,
1025 terminx 333
    PLAYER_END
5 Plagman 334
};
335
 
1143 terminx 336
enum UserdefsLabel_t
566 terminx 337
{
5 Plagman 338
    USERDEFS_GOD,
339
    USERDEFS_WARP_ON,
340
    USERDEFS_CASHMAN,
341
    USERDEFS_EOG,
342
    USERDEFS_SHOWALLMAP,
343
    USERDEFS_SHOW_HELP,
344
    USERDEFS_SCROLLMODE,
345
    USERDEFS_CLIPPING,
346
    USERDEFS_USER_NAME,
347
    USERDEFS_RIDECULE,
348
    USERDEFS_SAVEGAME,
349
    USERDEFS_PWLOCKOUT,
350
    USERDEFS_RTSNAME,
351
    USERDEFS_OVERHEAD_ON,
352
    USERDEFS_LAST_OVERHEAD,
353
    USERDEFS_SHOWWEAPONS,
354
    USERDEFS_PAUSE_ON,
355
    USERDEFS_FROM_BONUS,
356
    USERDEFS_CAMERASPRITE,
357
    USERDEFS_LAST_CAMSPRITE,
358
    USERDEFS_LAST_LEVEL,
359
    USERDEFS_SECRETLEVEL,
360
    USERDEFS_CONST_VISIBILITY,
361
    USERDEFS_UW_FRAMERATE,
362
    USERDEFS_CAMERA_TIME,
363
    USERDEFS_FOLFVEL,
364
    USERDEFS_FOLAVEL,
365
    USERDEFS_FOLX,
366
    USERDEFS_FOLY,
367
    USERDEFS_FOLA,
368
    USERDEFS_RECCNT,
369
    USERDEFS_ENTERED_NAME,
370
    USERDEFS_SCREEN_TILTING,
371
    USERDEFS_SHADOWS,
372
    USERDEFS_FTA_ON,
373
    USERDEFS_EXECUTIONS,
374
    USERDEFS_AUTO_RUN,
375
    USERDEFS_COORDS,
376
    USERDEFS_TICKRATE,
377
    USERDEFS_M_COOP,
378
    USERDEFS_COOP,
379
    USERDEFS_SCREEN_SIZE,
380
    USERDEFS_LOCKOUT,
381
    USERDEFS_CROSSHAIR,
382
    USERDEFS_WCHOICE,
383
    USERDEFS_PLAYERAI,
384
    USERDEFS_RESPAWN_MONSTERS,
385
    USERDEFS_RESPAWN_ITEMS,
386
    USERDEFS_RESPAWN_INVENTORY,
387
    USERDEFS_RECSTAT,
388
    USERDEFS_MONSTERS_OFF,
389
    USERDEFS_BRIGHTNESS,
390
    USERDEFS_M_RESPAWN_ITEMS,
391
    USERDEFS_M_RESPAWN_MONSTERS,
392
    USERDEFS_M_RESPAWN_INVENTORY,
393
    USERDEFS_M_RECSTAT,
394
    USERDEFS_M_MONSTERS_OFF,
395
    USERDEFS_DETAIL,
396
    USERDEFS_M_FFIRE,
397
    USERDEFS_FFIRE,
398
    USERDEFS_M_PLAYER_SKILL,
399
    USERDEFS_M_LEVEL_NUMBER,
400
    USERDEFS_M_VOLUME_NUMBER,
401
    USERDEFS_MULTIMODE,
402
    USERDEFS_PLAYER_SKILL,
403
    USERDEFS_LEVEL_NUMBER,
404
    USERDEFS_VOLUME_NUMBER,
405
    USERDEFS_M_MARKER,
406
    USERDEFS_MARKER,
407
    USERDEFS_MOUSEFLIP,
408
    USERDEFS_STATUSBARSCALE,
409
    USERDEFS_DRAWWEAPON,
154 terminx 410
    USERDEFS_MOUSEAIMING,
411
    USERDEFS_WEAPONSWITCH,
53 terminx 412
    USERDEFS_DEMOCAMS,
89 terminx 413
    USERDEFS_COLOR,
128 terminx 414
    USERDEFS_MSGDISPTIME,
147 terminx 415
    USERDEFS_STATUSBARMODE,
416
    USERDEFS_M_NOEXITS,
148 terminx 417
    USERDEFS_NOEXITS,
150 terminx 418
    USERDEFS_AUTOVOTE,
152 terminx 419
    USERDEFS_AUTOMSG,
268 terminx 420
    USERDEFS_IDPLAYERS,
507 terminx 421
    USERDEFS_TEAM,
422
    USERDEFS_VIEWBOB,
529 terminx 423
    USERDEFS_WEAPONSWAY,
424
    USERDEFS_ANGLEINTERPOLATION,
926 terminx 425
    USERDEFS_OBITUARIES,
881 terminx 426
    USERDEFS_LEVELSTATS,
934 terminx 427
    USERDEFS_CROSSHAIRSCALE,
990 terminx 428
    USERDEFS_ALTHUD,
1025 terminx 429
    USERDEFS_DISPLAY_BONUS_SCREEN,
1082 terminx 430
    USERDEFS_SHOW_LEVEL_TEXT,
1090 terminx 431
    USERDEFS_WEAPONSCALE,
1095 terminx 432
    USERDEFS_TEXTSCALE,
3071 terminx 433
    USERDEFS_RUNKEY_MODE,
4945 hendricks2 434
    USERDEFS_M_ORIGIN_X,
435
    USERDEFS_M_ORIGIN_Y,
4968 hendricks2 436
    USERDEFS_PLAYERBEST,
4970 hendricks2 437
    USERDEFS_MUSICTOGGLE,
5043 hendricks2 438
    USERDEFS_USEVOXELS,
439
    USERDEFS_USEHIGHTILE,
440
    USERDEFS_USEMODELS,
5044 hendricks2 441
    USERDEFS_GAMETYPEFLAGS,
442
    USERDEFS_M_GAMETYPEFLAGS,
1025 terminx 443
    USERDEFS_END
5 Plagman 444
};
445
 
1143 terminx 446
enum SectorLabel_t
566 terminx 447
{
5 Plagman 448
    SECTOR_WALLPTR,
449
    SECTOR_WALLNUM,
450
    SECTOR_CEILINGZ,
451
    SECTOR_FLOORZ,
452
    SECTOR_CEILINGSTAT,
453
    SECTOR_FLOORSTAT,
454
    SECTOR_CEILINGPICNUM,
455
    SECTOR_CEILINGSLOPE,
456
    SECTOR_CEILINGSHADE,
457
    SECTOR_CEILINGPAL,
458
    SECTOR_CEILINGXPANNING,
459
    SECTOR_CEILINGYPANNING,
460
    SECTOR_FLOORPICNUM,
461
    SECTOR_FLOORSLOPE,
462
    SECTOR_FLOORSHADE,
463
    SECTOR_FLOORPAL,
464
    SECTOR_FLOORXPANNING,
465
    SECTOR_FLOORYPANNING,
466
    SECTOR_VISIBILITY,
4416 helixhorne 467
    SECTOR_FOGPAL,
5 Plagman 468
    SECTOR_LOTAG,
469
    SECTOR_HITAG,
1025 terminx 470
    SECTOR_EXTRA,
1931 helixhorne 471
    SECTOR_CEILINGBUNCH,
472
    SECTOR_FLOORBUNCH,
3192 terminx 473
    SECTOR_ULOTAG,
474
    SECTOR_UHITAG,
1025 terminx 475
    SECTOR_END
5 Plagman 476
};
477
 
1143 terminx 478
enum WallLabel_t
566 terminx 479
{
5 Plagman 480
    WALL_X,
481
    WALL_Y,
482
    WALL_POINT2,
483
    WALL_NEXTWALL,
484
    WALL_NEXTSECTOR,
485
    WALL_CSTAT,
486
    WALL_PICNUM,
487
    WALL_OVERPICNUM,
488
    WALL_SHADE,
489
    WALL_PAL,
490
    WALL_XREPEAT,
491
    WALL_YREPEAT,
492
    WALL_XPANNING,
493
    WALL_YPANNING,
494
    WALL_LOTAG,
495
    WALL_HITAG,
1025 terminx 496
    WALL_EXTRA,
3192 terminx 497
    WALL_ULOTAG,
498
    WALL_UHITAG,
1025 terminx 499
    WALL_END
5 Plagman 500
};
501
 
1143 terminx 502
enum ActorLabel_t
566 terminx 503
{
5 Plagman 504
    ACTOR_X,
505
    ACTOR_Y,
506
    ACTOR_Z,
507
    ACTOR_CSTAT,
508
    ACTOR_PICNUM,
509
    ACTOR_SHADE,
510
    ACTOR_PAL,
511
    ACTOR_CLIPDIST,
512
    ACTOR_DETAIL,
513
    ACTOR_XREPEAT,
514
    ACTOR_YREPEAT,
515
    ACTOR_XOFFSET,
516
    ACTOR_YOFFSET,
517
    ACTOR_SECTNUM,
518
    ACTOR_STATNUM,
519
    ACTOR_ANG,
520
    ACTOR_OWNER,
521
    ACTOR_XVEL,
522
    ACTOR_YVEL,
523
    ACTOR_ZVEL,
524
    ACTOR_LOTAG,
525
    ACTOR_HITAG,
526
    ACTOR_EXTRA,
527
    ACTOR_HTCGG,
528
    ACTOR_HTPICNUM,
529
    ACTOR_HTANG,
530
    ACTOR_HTEXTRA,
531
    ACTOR_HTOWNER,
532
    ACTOR_HTMOVFLAG,
533
    ACTOR_HTTEMPANG,
534
    ACTOR_HTACTORSTAYPUT,
535
    ACTOR_HTDISPICNUM,
536
    ACTOR_HTTIMETOSLEEP,
537
    ACTOR_HTFLOORZ,
538
    ACTOR_HTCEILINGZ,
539
    ACTOR_HTLASTVX,
540
    ACTOR_HTLASTVY,
541
    ACTOR_HTBPOSX,
542
    ACTOR_HTBPOSY,
543
    ACTOR_HTBPOSZ,
544
    ACTOR_HTG_T,
545
    ACTOR_ANGOFF,
546
    ACTOR_PITCH,
547
    ACTOR_ROLL,
548
    ACTOR_MDXOFF,
549
    ACTOR_MDYOFF,
558 terminx 550
    ACTOR_MDZOFF,
590 plagman 551
    ACTOR_MDFLAGS,
552
    ACTOR_XPANNING,
853 terminx 553
    ACTOR_YPANNING,
939 terminx 554
    ACTOR_HTFLAGS,
1341 terminx 555
    ACTOR_ALPHA,
3192 terminx 556
    ACTOR_ULOTAG,
557
    ACTOR_UHITAG,
4146 helixhorne 558
    ACTOR_ISVALID,
1025 terminx 559
    ACTOR_END
856 terminx 560
};
561
 
1143 terminx 562
enum InputLabel_t
566 terminx 563
{
5 Plagman 564
    INPUT_AVEL,
565
    INPUT_HORZ,
566
    INPUT_FVEL,
567
    INPUT_SVEL,
568
    INPUT_BITS,
1025 terminx 569
    INPUT_EXTBITS,
570
    INPUT_END
5 Plagman 571
};
572
 
3463 helixhorne 573
#endif
2762 helixhorne 574
// KEEPINSYNC lunatic/con_lang.lua
1143 terminx 575
enum ProjectileLabel_t
566 terminx 576
{
2762 helixhorne 577
    PROJ_WORKSLIKE,  // 0
5 Plagman 578
    PROJ_SPAWNS,
579
    PROJ_SXREPEAT,
580
    PROJ_SYREPEAT,
581
    PROJ_SOUND,
2762 helixhorne 582
    PROJ_ISOUND,  // 5
5 Plagman 583
    PROJ_VEL,
584
    PROJ_EXTRA,
585
    PROJ_DECAL,
586
    PROJ_TRAIL,
2762 helixhorne 587
    PROJ_TXREPEAT,  // 10
5 Plagman 588
    PROJ_TYREPEAT,
589
    PROJ_TOFFSET,
590
    PROJ_TNUM,
591
    PROJ_DROP,
2762 helixhorne 592
    PROJ_CSTAT,  // 15
5 Plagman 593
    PROJ_CLIPDIST,
594
    PROJ_SHADE,
595
    PROJ_XREPEAT,
596
    PROJ_YREPEAT,
2762 helixhorne 597
    PROJ_PAL,  // 20
5 Plagman 598
    PROJ_EXTRA_RAND,
599
    PROJ_HITRADIUS,
3053 terminx 600
    PROJ_MOVECNT,
5 Plagman 601
    PROJ_OFFSET,
2762 helixhorne 602
    PROJ_BOUNCES,  // 25
5 Plagman 603
    PROJ_BSOUND,
1315 terminx 604
    PROJ_RANGE,
2762 helixhorne 605
    PROJ_FLASH_COLOR,
3866 helixhorne 606
    PROJ_USERDATA,
1025 terminx 607
    PROJ_END
5 Plagman 608
};
3463 helixhorne 609
#if !defined LUNATIC
5 Plagman 610
 
1143 terminx 611
enum ScriptKeywords_t
566 terminx 612
{
5 Plagman 613
    CON_DEFINELEVELNAME,    // 0
614
    CON_ACTOR,              // 1
615
    CON_ADDAMMO,            // 2
616
    CON_IFRND,              // 3
617
    CON_ENDA,               // 4
618
    CON_IFCANSEE,           // 5
619
    CON_IFHITWEAPON,        // 6
620
    CON_ACTION,             // 7
621
    CON_IFPDISTL,           // 8
622
    CON_IFPDISTG,           // 9
623
    CON_ELSE,               // 10
624
    CON_STRENGTH,           // 11
625
    CON_BREAK,              // 12
626
    CON_SHOOT,              // 13
627
    CON_PALFROM,            // 14
628
    CON_SOUND,              // 15
629
    CON_FALL,               // 16
630
    CON_STATE,              // 17
631
    CON_ENDS,               // 18
632
    CON_DEFINE,             // 19
1203 terminx 633
    CON_RETURN,             // 20
5 Plagman 634
    CON_IFAI,               // 21
635
    CON_KILLIT,             // 22
636
    CON_ADDWEAPON,          // 23
637
    CON_AI,                 // 24
638
    CON_ADDPHEALTH,         // 25
639
    CON_IFDEAD,             // 26
640
    CON_IFSQUISHED,         // 27
641
    CON_SIZETO,             // 28
642
    CON_LEFTBRACE,          // 29
643
    CON_RIGHTBRACE,         // 30
644
    CON_SPAWN,              // 31
645
    CON_MOVE,               // 32
646
    CON_IFWASWEAPON,        // 33
647
    CON_IFACTION,           // 34
648
    CON_IFACTIONCOUNT,      // 35
649
    CON_RESETACTIONCOUNT,   // 36
650
    CON_DEBRIS,             // 37
651
    CON_PSTOMP,             // 38
652
    CON_BLOCKCOMMENT,       // 39 deprecated
653
    CON_CSTAT,              // 40
654
    CON_IFMOVE,             // 41
655
    CON_RESETPLAYER,        // 42
656
    CON_IFONWATER,          // 43
657
    CON_IFINWATER,          // 44
658
    CON_IFCANSHOOTTARGET,   // 45
659
    CON_IFCOUNT,            // 46
660
    CON_RESETCOUNT,         // 47
661
    CON_ADDINVENTORY,       // 48
662
    CON_IFACTORNOTSTAYPUT,  // 49
663
    CON_HITRADIUS,          // 50
664
    CON_IFP,                // 51
665
    CON_COUNT,              // 52
666
    CON_IFACTOR,            // 53
667
    CON_MUSIC,              // 54
668
    CON_INCLUDE,            // 55
669
    CON_IFSTRENGTH,         // 56
670
    CON_DEFINESOUND,        // 57
671
    CON_GUTS,               // 58
672
    CON_IFSPAWNEDBY,        // 59
673
    CON_GAMESTARTUP,        // 60
674
    CON_WACKPLAYER,         // 61
675
    CON_IFGAPZL,            // 62
676
    CON_IFHITSPACE,         // 63
677
    CON_IFOUTSIDE,          // 64
678
    CON_IFMULTIPLAYER,      // 65
679
    CON_OPERATE,            // 66
680
    CON_IFINSPACE,          // 67
681
    CON_DEBUG,              // 68
682
    CON_ENDOFGAME,          // 69
683
    CON_IFBULLETNEAR,       // 70
684
    CON_IFRESPAWN,          // 71
685
    CON_IFFLOORDISTL,       // 72
686
    CON_IFCEILINGDISTL,     // 73
687
    CON_SPRITEPAL,          // 74
688
    CON_IFPINVENTORY,       // 75
689
    CON_BETANAME,           // 76
690
    CON_CACTOR,             // 77
691
    CON_IFPHEALTHL,         // 78
692
    CON_DEFINEQUOTE,        // 79
693
    CON_QUOTE,              // 80
694
    CON_IFINOUTERSPACE,     // 81
695
    CON_IFNOTMOVING,        // 82
696
    CON_RESPAWNHITAG,       // 83
697
    CON_TIP,                // 84
698
    CON_IFSPRITEPAL,        // 85
699
    CON_MONEY,              // 86
700
    CON_SOUNDONCE,          // 87
701
    CON_ADDKILLS,           // 88
702
    CON_STOPSOUND,          // 89
703
    CON_IFAWAYFROMWALL,     // 90
704
    CON_IFCANSEETARGET,     // 91
705
    CON_GLOBALSOUND,        // 92
706
    CON_LOTSOFGLASS,        // 93
707
    CON_IFGOTWEAPONCE,      // 94
708
    CON_GETLASTPAL,         // 95
709
    CON_PKICK,              // 96
710
    CON_MIKESND,            // 97
711
    CON_USERACTOR,          // 98
712
    CON_SIZEAT,             // 99
713
    CON_ADDSTRENGTH,        // 100
714
    CON_CSTATOR,            // 101
715
    CON_MAIL,               // 102
716
    CON_PAPER,              // 103
717
    CON_TOSSWEAPON,         // 104
718
    CON_SLEEPTIME,          // 105
719
    CON_NULLOP,             // 106
720
    CON_DEFINEVOLUMENAME,   // 107
721
    CON_DEFINESKILLNAME,    // 108
722
    CON_IFNOSOUNDS,         // 109
723
    CON_CLIPDIST,           // 110
724
    CON_IFANGDIFFL,         // 111
725
    CON_GAMEVAR,            // 112
726
    CON_IFVARL,             // 113
727
    CON_IFVARG,             // 114
728
    CON_SETVARVAR,          // 115
729
    CON_SETVAR,             // 116
730
    CON_ADDVARVAR,          // 117
731
    CON_ADDVAR,             // 118
732
    CON_IFVARVARL,          // 119
733
    CON_IFVARVARG,          // 120
734
    CON_ADDLOGVAR,          // 121
735
    CON_ADDLOG,             // 122
736
    CON_ONEVENT,            // 123
737
    CON_ENDEVENT,           // 124
738
    CON_IFVARE,             // 125
739
    CON_IFVARVARE,          // 126
740
    CON_SPGETLOTAG,         // 127
741
    CON_SPGETHITAG,         // 128
742
    CON_SECTGETLOTAG,       // 129
743
    CON_SECTGETHITAG,       // 130
744
    CON_IFSOUND,            // 131
745
    CON_GETTEXTUREFLOOR,    // 132
746
    CON_GETTEXTURECEILING,  // 133
747
    CON_INITTIMER,          // 134
748
    CON_STARTTRACK,         // 135
749
    CON_RANDVAR,            // 136
750
    CON_ENHANCED,           // 137
751
    CON_GETANGLETOTARGET,   // 138
752
    CON_GETACTORANGLE,      // 139
753
    CON_SETACTORANGLE,      // 140
754
    CON_MULVAR,             // 141
755
    CON_MULVARVAR,          // 142
756
    CON_DIVVAR,             // 143
757
    CON_DIVVARVAR,          // 144
758
    CON_MODVAR,             // 145
759
    CON_MODVARVAR,          // 146
760
    CON_ANDVAR,             // 147
761
    CON_ANDVARVAR,          // 148
762
    CON_ORVAR,              // 149
763
    CON_ORVARVAR,           // 150
764
    CON_GETPLAYERANGLE,     // 151
765
    CON_SETPLAYERANGLE,     // 152
766
    CON_LOCKPLAYER,         // 153
767
    CON_SETSECTOR,          // 154
768
    CON_GETSECTOR,          // 155
769
    CON_SETACTOR,           // 156
770
    CON_GETACTOR,           // 157
771
    CON_SETWALL,            // 158
772
    CON_GETWALL,            // 159
773
    CON_FINDNEARACTOR,      // 160
774
    CON_FINDNEARACTORVAR,   // 161
775
    CON_SETACTORVAR,        // 162
776
    CON_GETACTORVAR,        // 163
777
    CON_ESPAWN,             // 164
778
    CON_GETPLAYER,          // 165
779
    CON_SETPLAYER,          // 166
780
    CON_SQRT,               // 167
781
    CON_EVENTLOADACTOR,     // 168
782
    CON_ESPAWNVAR,          // 169
783
    CON_GETUSERDEF,         // 170
784
    CON_SETUSERDEF,         // 171
785
    CON_SUBVARVAR,          // 172
786
    CON_SUBVAR,             // 173
787
    CON_IFVARN,             // 174
788
    CON_IFVARVARN,          // 175
789
    CON_IFVARAND,           // 176
790
    CON_IFVARVARAND,        // 177
791
    CON_MYOS,               // 178
792
    CON_MYOSPAL,            // 179
793
    CON_DISPLAYRAND,        // 180
794
    CON_SIN,                // 181
795
    CON_XORVARVAR,          // 182
796
    CON_XORVAR,             // 183
797
    CON_RANDVARVAR,         // 184
798
    CON_MYOSX,              // 185
799
    CON_MYOSPALX,           // 186
800
    CON_GMAXAMMO,           // 187
801
    CON_SMAXAMMO,           // 188
802
    CON_STARTLEVEL,         // 189
803
    CON_ESHOOT,             // 190
804
    CON_QSPAWN,             // 191
805
    CON_ROTATESPRITE,       // 192
806
    CON_DEFINEPROJECTILE,   // 193
807
    CON_SPRITESHADOW,       // 194
808
    CON_COS,                // 195
809
    CON_ESHOOTVAR,          // 196
810
    CON_FINDNEARACTOR3D,    // 197
811
    CON_FINDNEARACTOR3DVAR, // 198
812
    CON_FLASH,              // 199
813
    CON_QSPAWNVAR,          // 200
814
    CON_EQSPAWN,            // 201
815
    CON_EQSPAWNVAR,         // 202
816
    CON_MINITEXT,           // 203
817
    CON_GAMETEXT,           // 204
818
    CON_DIGITALNUMBER,      // 205
819
    CON_ADDWEAPONVAR,       // 206
820
    CON_SETPROJECTILE,      // 207
821
    CON_ANGOFF,             // 208
822
    CON_UPDATESECTOR,       // 209
823
    CON_INSERTSPRITEQ,      // 210
824
    CON_ANGOFFVAR,          // 211
825
    CON_WHILEVARN,          // 212
826
    CON_SWITCH,             // 213
827
    CON_CASE,               // 214
828
    CON_DEFAULT,            // 215
829
    CON_ENDSWITCH,          // 216
830
    CON_SHOOTVAR,           // 217
831
    CON_SOUNDVAR,           // 218
832
    CON_FINDPLAYER,         // 219
833
    CON_FINDOTHERPLAYER,    // 220
834
    CON_ACTIVATEBYSECTOR,   // 221
835
    CON_OPERATESECTORS,     // 222
836
    CON_OPERATERESPAWNS,    // 223
837
    CON_OPERATEACTIVATORS,  // 224
838
    CON_OPERATEMASTERSWITCHES,  // 225
839
    CON_CHECKACTIVATORMOTION,   // 226
840
    CON_ZSHOOT,             // 227
841
    CON_DIST,               // 228
842
    CON_LDIST,              // 229
843
    CON_SHIFTVARL,          // 230
844
    CON_SHIFTVARR,          // 231
845
    CON_SPRITENVG,          // 232
846
    CON_GETANGLE,           // 233
847
    CON_WHILEVARVARN,       // 234
848
    CON_HITSCAN,            // 235
849
    CON_TIME,               // 236
850
    CON_GETPLAYERVAR,       // 237
851
    CON_SETPLAYERVAR,       // 238
852
    CON_MULSCALE,           // 239
853
    CON_SETASPECT,          // 240
251 terminx 854
    CON_EZSHOOT,            // 241
5 Plagman 855
    CON_SPRITENOSHADE,      // 242
856
    CON_MOVESPRITE,         // 243
857
    CON_CHECKAVAILWEAPON,   // 244
858
    CON_SOUNDONCEVAR,       // 245
859
    CON_UPDATESECTORZ,      // 246
860
    CON_STOPALLSOUNDS,      // 247
861
    CON_SSP,                // 248
862
    CON_STOPSOUNDVAR,       // 249
863
    CON_DISPLAYRANDVAR,     // 250
864
    CON_DISPLAYRANDVARVAR,  // 251
865
    CON_CHECKAVAILINVEN,    // 252
866
    CON_GLOBALSOUNDVAR,     // 253
867
    CON_GUNIQHUDID,         // 254
868
    CON_GETPROJECTILE,      // 255
869
    CON_GETTHISPROJECTILE,  // 256
870
    CON_SETTHISPROJECTILE,  // 257
871
    CON_DEFINECHEAT,        // 258
872
    CON_CHEATKEYS,          // 259
873
    CON_USERQUOTE,          // 260
874
    CON_PRECACHE,           // 261
121 terminx 875
    CON_DEFINEGAMEFUNCNAME, // 262
5 Plagman 876
    CON_REDEFINEQUOTE,      // 263
290 terminx 877
    CON_QSPRINTF,           // 264
5 Plagman 878
    CON_GETPNAME,           // 265
879
    CON_QSTRCAT,            // 266
880
    CON_QSTRCPY,            // 267
881
    CON_SETSPRITE,          // 268
882
    CON_ROTATEPOINT,        // 269
883
    CON_DRAGPOINT,          // 270
884
    CON_GETZRANGE,          // 271
885
    CON_CHANGESPRITESTAT,   // 272
886
    CON_GETCEILZOFSLOPE,    // 273
887
    CON_GETFLORZOFSLOPE,    // 274
888
    CON_NEARTAG,            // 275
889
    CON_DEFINEGAMETYPE,     // 276
890
    CON_CHANGESPRITESECT,   // 277
891
    CON_SPRITEFLAGS,        // 278
892
    CON_SAVEGAMEVAR,        // 279
893
    CON_READGAMEVAR,        // 280
894
    CON_FINDNEARSPRITE,     // 281
895
    CON_FINDNEARSPRITEVAR,  // 282
896
    CON_FINDNEARSPRITE3D,   // 283
897
    CON_FINDNEARSPRITE3DVAR,// 284
898
    CON_DYNAMICREMAP,       // 285
899
    CON_SETINPUT,           // 286
900
    CON_GETINPUT,           // 287
955 hnt_ts 901
    CON_SAVE,               // 288
97 terminx 902
    CON_CANSEE,             // 289
106 terminx 903
    CON_CANSEESPR,          // 290
169 terminx 904
    CON_FINDNEARACTORZ,     // 291
905
    CON_FINDNEARACTORZVAR,  // 292
906
    CON_FINDNEARSPRITEZ,    // 293
907
    CON_FINDNEARSPRITEZVAR, // 294
955 hnt_ts 908
    CON_ZSHOOTVAR,          // 295
909
    CON_EZSHOOTVAR,         // 296
910
    CON_GETCURRADDRESS,     // 297
911
    CON_JUMP,               // 298
912
    CON_QSTRLEN,            // 299
329 terminx 913
    CON_GETINCANGLE,        // 300
444 terminx 914
    CON_QUAKE,              // 301
484 terminx 915
    CON_SHOWVIEW,           // 302
558 terminx 916
    CON_HEADSPRITESTAT,     // 303
917
    CON_PREVSPRITESTAT,     // 304
918
    CON_NEXTSPRITESTAT,     // 305
919
    CON_HEADSPRITESECT,     // 306
920
    CON_PREVSPRITESECT,     // 307
921
    CON_NEXTSPRITESECT,     // 308
587 terminx 922
    CON_GETKEYNAME,         // 309
923
    CON_QSUBSTR,            // 310
924
    CON_GAMETEXTZ,          // 311
925
    CON_DIGITALNUMBERZ,     // 312
926
    CON_SPRITENOPAL,        // 313
617 terminx 927
    CON_HITRADIUSVAR,       // 314
642 terminx 928
    CON_ROTATESPRITE16,     // 315
676 terminx 929
    CON_GAMEARRAY,          // 316
930
    CON_SETARRAY,           // 317
693 terminx 931
    CON_RESIZEARRAY,        // 318
932
    CON_WRITEARRAYTOFILE,   // 319
933
    CON_READARRAYFROMFILE,  // 320
955 hnt_ts 934
    CON_STARTTRACKVAR,      // 321
935
    CON_QGETSYSSTR,         // 322
936
    CON_GETTICKS,           // 323
856 terminx 937
    CON_GETTSPR,            // 324
938
    CON_SETTSPR,            // 325
859 terminx 939
    CON_SAVEMAPSTATE,       // 326
940
    CON_LOADMAPSTATE,       // 327
941
    CON_CLEARMAPSTATE,      // 328
874 terminx 942
    CON_SCRIPTSIZE,         // 329
987 terminx 943
    CON_SETGAMENAME,        // 330
903 hnt_ts 944
    CON_CMENU,              // 331
958 hnt_ts 945
    CON_GETTIMEDATE,        // 332 
964 hnt_ts 946
    CON_ACTIVATECHEAT,      // 333
980 hnt_ts 947
    CON_SETGAMEPALETTE,     // 334
984 terminx 948
    CON_SETDEFNAME,         // 335
986 terminx 949
    CON_SETCFGNAME,         // 336
1060 hnt_ts 950
    CON_IFVAROR,            // 337
951
    CON_IFVARVAROR,         // 338
952
    CON_IFVARXOR,           // 339
953
    CON_IFVARVARXOR,        // 340
954
    CON_IFVAREITHER,        // 341
955
    CON_IFVARVAREITHER,     // 342
1068 terminx 956
    CON_GETARRAYSIZE,       // 343
957
    CON_SAVENN,             // 344
1228 terminx 958
    CON_COPY,               // 345
1436 terminx 959
    CON_INV,                // 346
1457 terminx 960
    CON_SECTOROFWALL,       // 347
961
    CON_QSTRNCAT,           // 348
1461 terminx 962
    CON_IFACTORSOUND,       // 349
963
    CON_STOPACTORSOUND,     // 350
1673 terminx 964
    CON_IFCLIENT,           // 351
965
    CON_IFSERVER,           // 352
1708 helixhorne 966
    CON_SECTSETINTERPOLATION, // 353
967
    CON_SECTCLEARINTERPOLATION, // 354
1909 terminx 968
    CON_CLIPMOVE,           // 355
969
    CON_LINEINTERSECT,      // 356
970
    CON_RAYINTERSECT,       // 357
971
    CON_CALCHYPOTENUSE,     // 358
972
    CON_CLIPMOVENOSLIDE,    // 359
973
    CON_INCLUDEDEFAULT,     // 360
2419 hendricks2 974
    CON_SETACTORSOUNDPITCH, // 361
975
    CON_ECHO,               // 362
2573 helixhorne 976
    CON_SHOWVIEWUNBIASED,   // 363
3610 hendricks2 977
    CON_ROTATESPRITEA,      // 364
3803 terminx 978
    CON_SHADETO,            // 365
979
    CON_ENDOFLEVEL,         // 366
980
    CON_IFPLAYERSL,         // 367
981
    CON_ACTIVATE,           // 368
3833 hendricks2 982
    CON_QSTRDIM,            // 369
983
    CON_SCREENTEXT,         // 370
3834 hendricks2 984
    CON_DYNAMICSOUNDREMAP,  // 371
3912 helixhorne 985
    CON_SCREENSOUND,        // 372
4928 hendricks2 986
    CON_GETMUSICPOSITION,   // 373
987
    CON_SETMUSICPOSITION,   // 374
4977 hendricks2 988
    CON_UNDEFINEVOLUME,     // 375
989
    CON_UNDEFINESKILL,      // 376
990
    CON_UNDEFINELEVEL,      // 377
5031 hendricks2 991
    CON_STARTCUTSCENE,      // 378
4987 terminx 992
    CON_IFCUTSCENE,         // 379
5033 hendricks2 993
    CON_DEFINEVOLUMEFLAGS,  // 380
5039 hendricks2 994
    CON_RESETPLAYERFLAGS,   // 381
1025 terminx 995
    CON_END
5 Plagman 996
};
3945 helixhorne 997
// KEEPINSYNC with the keyword list in lunatic/con_lang.lua
1188 terminx 998
#endif
4766 hendricks2 999
 
1000
#ifdef __cplusplus
1001
}
1002
#endif
1003
 
4747 terminx 1004
#endif // gamedef_h_