1 /*
2  * OpenBOR - http://www.LavaLit.com
3  * -
4  ----------------------------------------------------------------------
5  * Licensed under the BSD license, see LICENSE in OpenBOR root for details.
6  *
7  * Copyright (c) 2004 - 2011 OpenBOR Team
8  */
9 
10 #ifndef _COMMANDS_H_
11 #define _COMMANDS_H_
12 
13 #include "List.h"
14 
15 typedef enum levelOrderCommand
16 {
17     CMD_LEVELORDER_BGICON = 1,
18     CMD_LEVELORDER_BLENDFX,
19     CMD_LEVELORDER_BRANCH,
20     CMD_LEVELORDER_CANSAVE,
21     CMD_LEVELORDER_CLEARBONUS,
22     CMD_LEVELORDER_COMPLETEBG,
23     CMD_LEVELORDER_CONTINUESCORE,
24     CMD_LEVELORDER_CREDITS,
25     CMD_LEVELORDER_CUSTFADE,
26     CMD_LEVELORDER_DISABLEGAMEOVER,
27     CMD_LEVELORDER_DISABLEHOF,
28     CMD_LEVELORDER_E1ICON,
29     CMD_LEVELORDER_E1LIFE,
30     CMD_LEVELORDER_E1NAME,
31     CMD_LEVELORDER_E2ICON,
32     CMD_LEVELORDER_E2LIFE,
33     CMD_LEVELORDER_E2NAME,
34     CMD_LEVELORDER_E3ICON,
35     CMD_LEVELORDER_E3LIFE,
36     CMD_LEVELORDER_E3NAME,
37     CMD_LEVELORDER_E4ICON,
38     CMD_LEVELORDER_E4LIFE,
39     CMD_LEVELORDER_E4NAME,
40     CMD_LEVELORDER_END,
41     CMD_LEVELORDER_EQUALAIRPAUSE,
42     CMD_LEVELORDER_FILE,
43     CMD_LEVELORDER_GRAVITY,
44     CMD_LEVELORDER_HISCOREBG,
45     CMD_LEVELORDER_IFCOMPLETE,
46     CMD_LEVELORDER_LBARSIZE,
47     CMD_LEVELORDER_LBARTEXT,
48     CMD_LEVELORDER_LIFEBONUS,
49     CMD_LEVELORDER_LIVES,
50     CMD_LEVELORDER_LOADINGBG,
51     CMD_LEVELORDER_LOADINGBG2,
52     CMD_LEVELORDER_LOADINGMUSIC,
53     CMD_LEVELORDER_MAXENTITIES,
54     CMD_LEVELORDER_MAXPLAYERS,
55     CMD_LEVELORDER_MAXWALLHEIGHT,
56     CMD_LEVELORDER_MP1ICON,
57     CMD_LEVELORDER_MP2ICON,
58     CMD_LEVELORDER_MP3ICON,
59     CMD_LEVELORDER_MP4ICON,
60     CMD_LEVELORDER_MPBARSIZE,
61     CMD_LEVELORDER_MPBARTEXT,
62     CMD_LEVELORDER_MUSICOVERLAP,
63     CMD_LEVELORDER_NEXT,
64     CMD_LEVELORDER_NOSAME,
65     CMD_LEVELORDER_NOSHARE,
66     CMD_LEVELORDER_NOSHOWCOMPLETE,
67     CMD_LEVELORDER_NOSLOWFX,
68     CMD_LEVELORDER_OLBARSIZE,
69     CMD_LEVELORDER_OLICON,
70     CMD_LEVELORDER_P1ICON,
71     CMD_LEVELORDER_P1ICONW,
72     CMD_LEVELORDER_P1LIFE,
73     CMD_LEVELORDER_P1LIFEN,
74     CMD_LEVELORDER_P1LIFEX,
75     CMD_LEVELORDER_P1MP,
76     CMD_LEVELORDER_P1NAMEJ,
77     CMD_LEVELORDER_P1RUSH,
78     CMD_LEVELORDER_P1SCORE,
79     CMD_LEVELORDER_P1SHOOT,
80     CMD_LEVELORDER_P1SMENU,
81     CMD_LEVELORDER_P2ICON,
82     CMD_LEVELORDER_P2ICONW,
83     CMD_LEVELORDER_P2LIFE,
84     CMD_LEVELORDER_P2LIFEN,
85     CMD_LEVELORDER_P2LIFEX,
86     CMD_LEVELORDER_P2MP,
87     CMD_LEVELORDER_P2NAMEJ,
88     CMD_LEVELORDER_P2RUSH,
89     CMD_LEVELORDER_P2SCORE,
90     CMD_LEVELORDER_P2SHOOT,
91     CMD_LEVELORDER_P2SMENU,
92     CMD_LEVELORDER_P3ICON,
93     CMD_LEVELORDER_P3ICONW,
94     CMD_LEVELORDER_P3LIFE,
95     CMD_LEVELORDER_P3LIFEN,
96     CMD_LEVELORDER_P3LIFEX,
97     CMD_LEVELORDER_P3MP,
98     CMD_LEVELORDER_P3NAMEJ,
99     CMD_LEVELORDER_P3RUSH,
100     CMD_LEVELORDER_P3SCORE,
101     CMD_LEVELORDER_P3SHOOT,
102     CMD_LEVELORDER_P3SMENU,
103     CMD_LEVELORDER_P4ICON,
104     CMD_LEVELORDER_P4ICONW,
105     CMD_LEVELORDER_P4LIFE,
106     CMD_LEVELORDER_P4LIFEN,
107     CMD_LEVELORDER_P4LIFEX,
108     CMD_LEVELORDER_P4MP,
109     CMD_LEVELORDER_P4NAMEJ,
110     CMD_LEVELORDER_P4RUSH,
111     CMD_LEVELORDER_P4SCORE,
112     CMD_LEVELORDER_P4SHOOT,
113     CMD_LEVELORDER_P4SMENU,
114     CMD_LEVELORDER_PAUSEOFFSET,
115     CMD_LEVELORDER_RUSH,
116     CMD_LEVELORDER_RUSHBONUS,
117     CMD_LEVELORDER_SCBONUSES,
118     CMD_LEVELORDER_SCENE,
119     CMD_LEVELORDER_SCOREFORMAT,
120     CMD_LEVELORDER_SELECT,
121     CMD_LEVELORDER_SET,
122     CMD_LEVELORDER_SHOWCOMPLETE,
123     CMD_LEVELORDER_SHOWRUSHBONUS,
124     CMD_LEVELORDER_SINGLE,
125     CMD_LEVELORDER_SKIPSELECT,
126     CMD_LEVELORDER_SKIPTOSET,
127     CMD_LEVELORDER_SPAWNOVERRIDE,
128     CMD_LEVELORDER_TIMEICON,
129     CMD_LEVELORDER_TIMELOC,
130     CMD_LEVELORDER_TOTALSCORE,
131     CMD_LEVELORDER_TYPEMP,
132     CMD_LEVELORDER_UNLOCKBG,
133     CMD_LEVELORDER_Z,
134 } levelOrderCommands;
135 
136 typedef enum levelCommand
137 {
138     CMD_LEVEL_2PHEALTH = 1,
139     CMD_LEVEL_2PITEM,
140     CMD_LEVEL_2PSPAWN,
141     CMD_LEVEL_3PHEALTH,
142     CMD_LEVEL_3PITEM,
143     CMD_LEVEL_3PSPAWN,
144     CMD_LEVEL_4PHEALTH,
145     CMD_LEVEL_4PITEM,
146     CMD_LEVEL_4PSPAWN,
147     CMD_LEVEL_AGGRESSION,
148     CMD_LEVEL_ALIAS,
149     CMD_LEVEL_ALLOWSELECT,
150     CMD_LEVEL_ALPHA,
151     CMD_LEVEL_ALPHAMASK,
152     CMD_LEVEL_AT,
153     CMD_LEVEL_AT_SCRIPT,
154     CMD_LEVEL_BACKGROUND,
155     CMD_LEVEL_BASEMAP,
156     CMD_LEVEL_BGLAYER,
157     CMD_LEVEL_BGSPEED,
158     CMD_LEVEL_BLOCKADE,
159     CMD_LEVEL_BLOCKED,
160     CMD_LEVEL_BOSS,
161     CMD_LEVEL_BOSSMUSIC,
162     CMD_LEVEL_CAMERAOFFSET,
163     CMD_LEVEL_CAMERATYPE,
164     CMD_LEVEL_CANJOIN,
165     CMD_LEVEL_COORDS,
166     CMD_LEVEL_CREDIT,
167     CMD_LEVEL_DIRECTION,
168     CMD_LEVEL_DYING,
169     CMD_LEVEL_ENDHOLE,
170     CMD_LEVEL_ENDLEVELSCRIPT,
171     CMD_LEVEL_FACING,
172     CMD_LEVEL_FGLAYER,
173     CMD_LEVEL_FLIP,
174     CMD_LEVEL_FRONTPANEL,
175     CMD_LEVEL_GRAVITY,
176     CMD_LEVEL_GROUP,
177     CMD_LEVEL_HEALTH,
178     CMD_LEVEL_HOLE,
179     CMD_LEVEL_ITEM,
180     CMD_LEVEL_ITEMALIAS,
181     CMD_LEVEL_ITEMALPHA,
182     CMD_LEVEL_ITEMHEALTH,
183     CMD_LEVEL_ITEMMAP,
184     CMD_LEVEL_ITEMTRANS,
185     CMD_LEVEL_KEYSCRIPT,
186     CMD_LEVEL_LAYER,
187     CMD_LEVEL_LEVELSCRIPT,
188     CMD_LEVEL_LIGHT,
189     CMD_LEVEL_LOAD,
190     CMD_LEVEL_LOADINGBG,
191     CMD_LEVEL_MAP,
192     CMD_LEVEL_MAXFALLSPEED,
193     CMD_LEVEL_MAXTOSSSPEED,
194     CMD_LEVEL_MIRROR,
195     CMD_LEVEL_MP,
196     CMD_LEVEL_MUSIC,
197     CMD_LEVEL_MUSICFADE,
198     CMD_LEVEL_NOFADEOUT,
199     CMD_LEVEL_NOHIT,
200     CMD_LEVEL_NOJOIN,
201     CMD_LEVEL_NOLIFE,
202     CMD_LEVEL_NOPAUSE,
203     CMD_LEVEL_NORESET,
204     CMD_LEVEL_NOSAVE,
205     CMD_LEVEL_NOSCREENSHOT,
206     CMD_LEVEL_NOSLOW,
207     CMD_LEVEL_NOTIME,
208     CMD_LEVEL_ORDER,
209     CMD_LEVEL_PALETTE,
210     CMD_LEVEL_PANEL,
211     CMD_LEVEL_ROCK,
212     CMD_LEVEL_SCORE,
213     CMD_LEVEL_SCROLLSPEED,
214     CMD_LEVEL_SCROLLX,
215     CMD_LEVEL_SCROLLZ,
216     CMD_LEVEL_SETPALETTE,
217     CMD_LEVEL_SETTIME,
218     CMD_LEVEL_SETWEAP,
219     CMD_LEVEL_SHADOWALPHA,
220     CMD_LEVEL_SHADOWCOLOR,
221     CMD_LEVEL_SHADOWOPACITY,
222     CMD_LEVEL_SPAWN,
223     CMD_LEVEL_SPAWN1,
224     CMD_LEVEL_SPAWN2,
225     CMD_LEVEL_SPAWN3,
226     CMD_LEVEL_SPAWN4,
227     CMD_LEVEL_SPAWNSCRIPT,
228     CMD_LEVEL_STAGENUMBER,
229     CMD_LEVEL_TYPE,
230     CMD_LEVEL_UPDATEDSCRIPT,
231     CMD_LEVEL_UPDATESCRIPT,
232     CMD_LEVEL_VBGSPEED,
233     CMD_LEVEL_WAIT,
234     CMD_LEVEL_WALL,
235     CMD_LEVEL_WATER,
236     CMD_LEVEL_WEAPON,
237 } levelCommands;
238 
239 typedef enum modelCommand
240 {
241     CMD_MODEL_AGGRESSION = 1,
242     CMD_MODEL_AIATTACK,
243     CMD_MODEL_AIMOVE,
244     CMD_MODEL_AIRONLY,
245     CMD_MODEL_ALPHA,
246     CMD_MODEL_ALPHAMASK,
247     CMD_MODEL_ALTERNATEPAL,
248     CMD_MODEL_ANIM,
249     CMD_MODEL_ANIMAL,
250     CMD_MODEL_ANIMATIONSCRIPT,
251     CMD_MODEL_ANIMHEIGHT,
252     CMD_MODEL_ANTIGRAB,
253     CMD_MODEL_ANTIGRAVITY,
254     CMD_MODEL_AT_CMD,
255     CMD_MODEL_AT_SCRIPT,
256     CMD_MODEL_ATCHAIN,
257     CMD_MODEL_COLLISION,
258     CMD_MODEL_COLLISION_BLOCK_COST,                    // no_block
259     CMD_MODEL_COLLISION_BLOCK_PENETRATE,               // guardcost
260     CMD_MODEL_COLLISION_COUNTER,
261     CMD_MODEL_COLLISION_DAMAGE_FORCE,
262     CMD_MODEL_COLLISION_DAMAGE_LAND_FORCE,
263     CMD_MODEL_COLLISION_DAMAGE_LAND_MODE,
264     CMD_MODEL_COLLISION_DAMAGE_LETHAL_DISABLE,             // No_kill / Only fall to 1 HP.
265     CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_FORCE,
266     CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_INDEX,
267     CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_MODE,
268 	CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_TAG,
269     CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_TIME_EXPIRE,
270     CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_TIME_RATE,
271     CMD_MODEL_COLLISION_DAMAGE_STEAL,
272     CMD_MODEL_COLLISION_DAMAGE_TYPE,
273     CMD_MODEL_COLLISION_EFFECT_BLOCK_FLASH,
274     CMD_MODEL_COLLISION_EFFECT_BLOCK_SOUND,
275     CMD_MODEL_COLLISION_EFFECT_HIT_FLASH,
276     CMD_MODEL_COLLISION_EFFECT_HIT_FLASH_DISABLE,
277     CMD_MODEL_COLLISION_EFFECT_HIT_SOUND,
278     CMD_MODEL_COLLISION_ETC, // 11 onwards
279     CMD_MODEL_COLLISION_GROUND,                        // otg
280     CMD_MODEL_COLLISION_INDEX,
281     CMD_MODEL_COLLISION_MAP_INDEX,                     // Forcemap.
282     CMD_MODEL_COLLISION_MAP_TIME,                      // Forcemap time.
283     CMD_MODEL_COLLISION_POSITION_X,
284     CMD_MODEL_COLLISION_POSITION_Y,
285     CMD_MODEL_COLLISION_REACTION_FALL_FORCE,                    // Knockdown power
286     CMD_MODEL_COLLISION_REACTION_FALL_VELOCITY_X,
287     CMD_MODEL_COLLISION_REACTION_FALL_VELOCITY_Y,
288     CMD_MODEL_COLLISION_REACTION_FALL_VELOCITY_Z,
289     CMD_MODEL_COLLISION_REACTION_FREEZE_MODE,
290     CMD_MODEL_COLLISION_REACTION_FREEZE_TIME,
291     CMD_MODEL_COLLISION_REACTION_INVINCIBLE_TIME,
292     CMD_MODEL_COLLISION_REACTION_PAIN_SKIP,            // No reflect / No pain
293     CMD_MODEL_COLLISION_REACTION_PAUSE_TIME,           // Pause add
294     CMD_MODEL_COLLISION_REACTION_REPOSITION_DIRECTION, // Force direction.
295     CMD_MODEL_COLLISION_REACTION_REPOSITION_DISTANCE,  // Grabin distance
296     CMD_MODEL_COLLISION_REACTION_REPOSITION_MODE,      // Grabin
297     CMD_MODEL_COLLISION_SEAL_COST,
298     CMD_MODEL_COLLISION_SEAL_TIME,
299     CMD_MODEL_COLLISION_SIZE_X,
300     CMD_MODEL_COLLISION_SIZE_Y,
301     CMD_MODEL_COLLISION_SIZE_Z_1,
302     CMD_MODEL_COLLISION_SIZE_Z_2,
303     CMD_MODEL_COLLISION_STAYDOWN_RISE,
304     CMD_MODEL_COLLISION_STAYDOWN_RISEATTACK,
305     CMD_MODEL_COLLISION_TAG,
306     CMD_MODEL_COLLISION1,
307     CMD_MODEL_COLLISION10,
308     CMD_MODEL_COLLISION2,
309     CMD_MODEL_COLLISION3,
310     CMD_MODEL_COLLISION4,
311     CMD_MODEL_COLLISION5,
312     CMD_MODEL_COLLISION6,
313     CMD_MODEL_COLLISION7,
314     CMD_MODEL_COLLISION8,
315     CMD_MODEL_COLLISION9,
316     CMD_MODEL_COLLISIONONE,
317     CMD_MODEL_ATTACKTHROTTLE,
318     CMD_MODEL_COLLISIONZ,
319     CMD_MODEL_BACKPAIN,
320     CMD_MODEL_BBOX,
321     CMD_MODEL_BBOX_INDEX,
322     CMD_MODEL_BBOX_POSITION_X,
323     CMD_MODEL_BBOX_POSITION_Y,
324     CMD_MODEL_BBOX_SIZE_X,
325     CMD_MODEL_BBOX_SIZE_Y,
326     CMD_MODEL_BBOX_SIZE_Z_1,
327     CMD_MODEL_BBOX_SIZE_Z_2,
328     CMD_MODEL_BBOXZ,
329     CMD_MODEL_BFLASH,
330     CMD_MODEL_BLAST,
331     CMD_MODEL_BLOCKBACK,
332     CMD_MODEL_BLOCKFLASH,
333     CMD_MODEL_BLOCKFX,
334     CMD_MODEL_BLOCKODDS,
335     CMD_MODEL_BLOCKPAIN,
336     CMD_MODEL_BOMB,
337     CMD_MODEL_BOUNCE,
338     CMD_MODEL_BOUNCEFACTOR,
339     CMD_MODEL_BRANCH,
340     CMD_MODEL_BURN,
341     CMD_MODEL_CANCEL,
342     CMD_MODEL_CANDAMAGE,
343     CMD_MODEL_CANTGRAB,
344     CMD_MODEL_CHARGERATE,
345     CMD_MODEL_CHARGETIME,
346     CMD_MODEL_COM,
347     CMD_MODEL_COMBOSTYLE,
348     CMD_MODEL_COUNTER,
349     CMD_MODEL_COUNTERATTACK,
350     CMD_MODEL_COUNTERRANGE,
351     CMD_MODEL_CREDIT,
352     CMD_MODEL_CUSTBOMB,
353     CMD_MODEL_CUSTENTITY,
354     CMD_MODEL_CUSTKNIFE,
355     CMD_MODEL_CUSTPBOMB,
356     CMD_MODEL_CUSTPSHOT,
357     CMD_MODEL_CUSTPSHOTNO,
358     CMD_MODEL_CUSTPSHOTW,
359     CMD_MODEL_CUSTSTAR,
360     CMD_MODEL_DAMAGEONLANDING,
361     CMD_MODEL_DEATH,
362     CMD_MODEL_DEFENSE,
363     CMD_MODEL_DELAY,
364     CMD_MODEL_DIDBLOCKSCRIPT,
365     CMD_MODEL_DIDHITSCRIPT,
366     CMD_MODEL_DIESOUND,
367     CMD_MODEL_DIVE,
368     CMD_MODEL_DIVE1,
369     CMD_MODEL_DIVE2,
370     CMD_MODEL_DOT,
371     CMD_MODEL_DRAWMETHOD,
372     CMD_MODEL_DROPFRAME,
373     CMD_MODEL_DROPV,
374     CMD_MODEL_DUST,
375     CMD_MODEL_EBOX,
376     CMD_MODEL_EBOX_INDEX,
377     CMD_MODEL_EBOX_POSITION_X,
378     CMD_MODEL_EBOX_POSITION_Y,
379     CMD_MODEL_EBOX_SIZE_X,
380     CMD_MODEL_EBOX_SIZE_Y,
381     CMD_MODEL_EBOX_SIZE_Z_1,
382     CMD_MODEL_EBOX_SIZE_Z_2,
383     CMD_MODEL_EBOXZ,
384     CMD_MODEL_EDELAY,
385     CMD_MODEL_EDGERANGE,
386     CMD_MODEL_ENERGYCOST,
387     CMD_MODEL_ENTITYPUSHING,
388     CMD_MODEL_ESCAPEHITS,
389     CMD_MODEL_FACING,
390     CMD_MODEL_FALLDIE,
391     CMD_MODEL_FASTATTACK,
392     CMD_MODEL_FIREB,
393     CMD_MODEL_FLASH,
394     CMD_MODEL_FLIPFRAME,
395     CMD_MODEL_FMAP,
396     CMD_MODEL_FOLLOWANIM,
397     CMD_MODEL_FOLLOWCOND,
398     CMD_MODEL_FORCEDIRECTION,
399     CMD_MODEL_FORCEMAP,
400     CMD_MODEL_FRAME,
401     CMD_MODEL_FREEZE,
402     CMD_MODEL_FSHADOW,
403     CMD_MODEL_GFXSHADOW,
404     CMD_MODEL_GLOBALMAP,
405     CMD_MODEL_GRABBACK,
406     CMD_MODEL_GRABDISTANCE,
407     CMD_MODEL_GRABFINISH,
408     CMD_MODEL_GRABFLIP,
409     CMD_MODEL_GRABFORCE,
410     CMD_MODEL_GRABIN,
411     CMD_MODEL_GRABTURN,
412     CMD_MODEL_GRABWALK,
413     CMD_MODEL_GUARDCOST,
414     CMD_MODEL_GUARDPOINTS,
415     CMD_MODEL_GUARDRATE,
416     CMD_MODEL_HEALTH,
417     CMD_MODEL_HEIGHT,
418     CMD_MODEL_HITENEMY,
419     CMD_MODEL_HITFLASH,
420     CMD_MODEL_HITFX,
421     CMD_MODEL_HITWALLTYPE,
422     CMD_MODEL_HITZ,
423     CMD_MODEL_HMAP,
424     CMD_MODEL_HOLDBLOCK,
425     CMD_MODEL_HOSTILE,
426     CMD_MODEL_ICON,
427     CMD_MODEL_ICONDIE,
428     CMD_MODEL_ICONGET,
429     CMD_MODEL_ICONMPHALF,
430     CMD_MODEL_ICONMPHIGH,
431     CMD_MODEL_ICONMPLOW,
432     CMD_MODEL_ICONPAIN,
433     CMD_MODEL_ICONPOSITION,
434     CMD_MODEL_ICONW,
435     CMD_MODEL_IDLE,
436     CMD_MODEL_IGNOREATTACKID,
437     CMD_MODEL_INHOLESCRIPT,
438     CMD_MODEL_INSTANTITEMDEATH,
439     CMD_MODEL_ITEMBOX,
440     CMD_MODEL_JUGGLECOST,
441     CMD_MODEL_JUGGLEPOINTS,
442     CMD_MODEL_JUMPFRAME,
443     CMD_MODEL_JUMPHEIGHT,
444     CMD_MODEL_JUMPMOVE,
445     CMD_MODEL_JUMPSPEED,
446     CMD_MODEL_JUMPSPEEDF,
447     CMD_MODEL_KEYSCRIPT,
448     CMD_MODEL_KNIFE,
449     CMD_MODEL_KNOCKDOWNCOUNT,
450     CMD_MODEL_KOMAP,
451     CMD_MODEL_LANDFRAME,
452     CMD_MODEL_LIFEBARSTATUS,
453     CMD_MODEL_LIFEPOSITION,
454     CMD_MODEL_LIFESPAN,
455     CMD_MODEL_LOAD,
456     CMD_MODEL_LOOP,
457     CMD_MODEL_LOSE,
458     CMD_MODEL_MAKEINV,
459     CMD_MODEL_MODELFLAG,
460     CMD_MODEL_MOVE,
461     CMD_MODEL_MOVEA,
462     CMD_MODEL_MOVEZ,
463     CMD_MODEL_MP,
464     CMD_MODEL_MPCOST,
465     CMD_MODEL_MPONLY,
466     CMD_MODEL_MPRATE,
467     CMD_MODEL_MPSET,
468     CMD_MODEL_NAME,
469     CMD_MODEL_NAMEPOSITION,
470     CMD_MODEL_NO_ADJUST_BASE,
471     CMD_MODEL_NOATFLASH,
472     CMD_MODEL_NODIEBLINK,
473     CMD_MODEL_NODRAWMETHOD,
474     CMD_MODEL_NODROP,
475     CMD_MODEL_NOGRAB,
476     CMD_MODEL_NOHITHEAD,
477     CMD_MODEL_NOKILL,
478     CMD_MODEL_NOLIFE,
479     CMD_MODEL_NOMOVE,
480     CMD_MODEL_NOPAIN,
481     CMD_MODEL_NOPASSIVEBLOCK,
482     CMD_MODEL_NOQUAKE,
483     CMD_MODEL_NOREFLECT,
484     CMD_MODEL_NOTGRAB,
485     CMD_MODEL_OFFENSE,
486     CMD_MODEL_OFFSCREENKILL,
487     CMD_MODEL_ONAF,
488     CMD_MODEL_OFFSET,
489     CMD_MODEL_ON_BIND_UPDATE_OTHER_TO_SELF_SCRIPT,
490     CMD_MODEL_ON_BIND_UPDATE_SELF_TO_OTHER_SCRIPT,
491     CMD_MODEL_ONBLOCKASCRIPT,
492     CMD_MODEL_ONBLOCKOSCRIPT,
493     CMD_MODEL_ONBLOCKPSCRIPT,
494     CMD_MODEL_ONBLOCKSSCRIPT,
495     CMD_MODEL_ONBLOCKWSCRIPT,
496     CMD_MODEL_ONBLOCKZSCRIPT,
497     CMD_MODEL_ONDEATHSCRIPT,
498     CMD_MODEL_ONDOATTACKSCRIPT,
499     CMD_MODEL_ONDRAWSCRIPT,
500     CMD_MODEL_ONENTITYCOLLISIONSCRIPT,
501     CMD_MODEL_ONFALLSCRIPT,
502     CMD_MODEL_ONKILLSCRIPT,
503     CMD_MODEL_ONMODELCOPYSCRIPT,
504     CMD_MODEL_ONMOVEASCRIPT,
505     CMD_MODEL_ONMOVEXSCRIPT,
506     CMD_MODEL_ONMOVEZSCRIPT,
507     CMD_MODEL_ONPAINSCRIPT,
508     CMD_MODEL_ONSPAWNSCRIPT,
509     CMD_MODEL_OTG,
510     CMD_MODEL_PAINGRAB,
511     CMD_MODEL_PALETTE,
512     CMD_MODEL_PARROW,
513     CMD_MODEL_PARROW2,
514     CMD_MODEL_PARROW3,
515     CMD_MODEL_PARROW4,
516     CMD_MODEL_PATHFINDSTEP,
517     CMD_MODEL_PBOMBFRAME,
518     CMD_MODEL_PLATFORM,
519     CMD_MODEL_PLAYBOMB,
520     CMD_MODEL_PLAYSHOT,
521     CMD_MODEL_PLAYSHOTNO,
522     CMD_MODEL_PLAYSHOTW,
523     CMD_MODEL_PRIORITY,
524     CMD_MODEL_PROJECT,
525     CMD_MODEL_PROJECTILEHIT,
526     CMD_MODEL_PSHOTFRAME,
527     CMD_MODEL_PSHOTFRAMENO,
528     CMD_MODEL_PSHOTFRAMEW,
529     CMD_MODEL_PUSHINGFACTOR,
530     CMD_MODEL_QUAKEFRAME,
531     CMD_MODEL_RANGE,
532     CMD_MODEL_RANGEA,
533     CMD_MODEL_RANGEB,
534     CMD_MODEL_RANGEZ,
535     CMD_MODEL_RELOAD,
536     CMD_MODEL_REMAP,
537     CMD_MODEL_REMOVE,
538     CMD_MODEL_RIDER,
539     CMD_MODEL_RISEATTACKTYPE,
540     CMD_MODEL_RISEINV,
541     CMD_MODEL_RISETIME,
542     CMD_MODEL_RUNNING,
543     CMD_MODEL_RUNNING_CONTINUE,
544     CMD_MODEL_RUNNING_JUMP_VELOCITY_X,
545     CMD_MODEL_RUNNING_JUMP_VELOCITY_Y,
546     CMD_MODEL_RUNNING_SPEED,
547     CMD_MODEL_RUNNING_Z_MOVE,
548     CMD_MODEL_SCORE,
549     CMD_MODEL_SCRIPT,
550     CMD_MODEL_SCROLL,
551     CMD_MODEL_SEAL,
552     CMD_MODEL_SECRET,
553     CMD_MODEL_SETA,
554     CMD_MODEL_SETLAYER,
555     CMD_MODEL_SHADOW,
556     CMD_MODEL_SHADOWCOORDS,
557     CMD_MODEL_SHOCK,
558     CMD_MODEL_SHOOTFRAME,
559     CMD_MODEL_SHOOTNUM,
560     CMD_MODEL_SLEEPWAIT,
561     CMD_MODEL_SMARTBOMB,
562     CMD_MODEL_SOUND,
563     CMD_MODEL_SPAWNFRAME,
564     CMD_MODEL_SPEED,
565     CMD_MODEL_SPEEDF,
566     CMD_MODEL_STAR,
567     CMD_MODEL_STAR_VELOCITY,
568     CMD_MODEL_STATS,
569     CMD_MODEL_STAYDOWN,
570     CMD_MODEL_STEAL,
571     CMD_MODEL_STEALTH,
572     CMD_MODEL_STUN,
573     CMD_MODEL_SUBCLASS,
574     CMD_MODEL_SUBENTITY,
575     CMD_MODEL_SUBJECT_TO_BASEMAP,
576     CMD_MODEL_SUBJECT_TO_GRAVITY,
577     CMD_MODEL_SUBJECT_TO_HOLE,
578     CMD_MODEL_SUBJECT_TO_MAXZ,
579     CMD_MODEL_SUBJECT_TO_MINZ,
580     CMD_MODEL_SUBJECT_TO_OBSTACLE,
581     CMD_MODEL_SUBJECT_TO_PLATFORM,
582     CMD_MODEL_SUBJECT_TO_SCREEN,
583     CMD_MODEL_SUBJECT_TO_WALL,
584     CMD_MODEL_SUBTYPE,
585     CMD_MODEL_SUMMONFRAME,
586     CMD_MODEL_SUMMONKILL,
587     CMD_MODEL_SYNC,
588     CMD_MODEL_TAKEDAMAGESCRIPT,
589     CMD_MODEL_THINKSCRIPT,
590     CMD_MODEL_THOLD,
591     CMD_MODEL_THROW,
592     CMD_MODEL_THROWDAMAGE,
593     CMD_MODEL_THROWFRAME,
594     CMD_MODEL_THROWFRAMEWAIT,
595     CMD_MODEL_TOFLIP,
596     CMD_MODEL_TOSSFRAME,
597     CMD_MODEL_TURNDELAY,
598     CMD_MODEL_TYPE,
599     CMD_MODEL_TYPESHOT,
600     CMD_MODEL_UNSUMMONFRAME,
601     CMD_MODEL_WALKOFFMOVE,
602     CMD_MODEL_WEAPLOSS,
603     CMD_MODEL_WEAPNUM,
604     CMD_MODEL_WEAPONFRAME,
605     CMD_MODEL_WEAPONS,
606 
607 } modelCommands;
608 
609 typedef enum
610 {
611     CMD_MODELSTXT_AJSPECIAL = 1,
612     CMD_MODELSTXT_AUTOLAND,
613     CMD_MODELSTXT_BLOCKRATIO,
614     CMD_MODELSTXT_COLOURSELECT,
615     CMD_MODELSTXT_COMBODELAY,
616     CMD_MODELSTXT_CREDSCORE,
617     CMD_MODELSTXT_DEBUG_ANAF,
618     CMD_MODELSTXT_DEBUG_GNAF,
619     CMD_MODELSTXT_DEBUG_MAXNA,
620     CMD_MODELSTXT_DEBUG_MINNA,
621     CMD_MODELSTXT_DEBUG_MNAF,
622     CMD_MODELSTXT_DEBUG_NAD,
623     CMD_MODELSTXT_DEBUG_OSNAF,
624     CMD_MODELSTXT_DROPV,
625     CMD_MODELSTXT_GRABDISTANCE,
626     CMD_MODELSTXT_JUMPHEIGHT,
627     CMD_MODELSTXT_JUMPSPEED,
628     CMD_MODELSTXT_KNOW,
629     CMD_MODELSTXT_LIFESCORE,
630     CMD_MODELSTXT_LOAD,
631     CMD_MODELSTXT_MAX_COLLISIONS,
632     CMD_MODELSTXT_MAXATTACKS,
633     CMD_MODELSTXT_MAXATTACKTYPES,
634     CMD_MODELSTXT_MAXBACKWALKS,
635     CMD_MODELSTXT_MAXDOWNS,
636     CMD_MODELSTXT_MAXFOLLOWS,
637     CMD_MODELSTXT_MAXFREESPECIALS,
638     CMD_MODELSTXT_MAXIDLES,
639     CMD_MODELSTXT_MAXUPS,
640     CMD_MODELSTXT_MAXWALKS,
641     CMD_MODELSTXT_MPBLOCK,
642     CMD_MODELSTXT_MUSIC,
643     CMD_MODELSTXT_NOAIRCANCEL,
644     CMD_MODELSTXT_NOCHEATS,
645     CMD_MODELSTXT_NOCHIPDEATH,
646     CMD_MODELSTXT_NOCOST,
647     CMD_MODELSTXT_NODEBUG,
648     CMD_MODELSTXT_NODROPEN,
649     CMD_MODELSTXT_NODROPSPAWN,
650     CMD_MODELSTXT_NOLOST,
651     CMD_MODELSTXT_NOMAXRUSHRESET,
652     CMD_MODELSTXT_SPDIRECTION,
653     CMD_MODELSTXT_VERSUSDAMAGE,
654     CMD_MODELSTXT_THE_END,
655 } modelstxtCommands;
656 
657 void freeCommandList(List *list);
658 
659 List *createModelCommandList(void);
660 modelCommands getModelCommand(List *list, char *usercommand);
661 
662 List *createModelstxtCommandList(void);
663 modelstxtCommands getModelstxtCommand(List *list, char *usercommand);
664 
665 List *createLevelCommandList(void);
666 levelCommands getLevelCommand(List *list, char *usercommand);
667 
668 List *createLevelOrderCommandList(void);
669 levelOrderCommands getLevelOrderCommand(List *list, char *usercommand);
670 
671 #endif
672 
673