1 #include <string.h>
2 #include "commands.h"
3 #include "globals.h"
4
freeCommandList(List * list)5 void freeCommandList(List *list)
6 {
7 List_Clear(list);
8 free(list);
9 }
10
11 // attention: modifies usercommand to lowercase
getCommandlistCommand(List * list,char * usercommand)12 void *getCommandlistCommand(List *list, char *usercommand)
13 {
14 if (!usercommand || !usercommand[0])
15 {
16 goto fail;
17 }
18 lc(usercommand, strlen(usercommand));
19 Node *n = List_GetNodeByName(list, usercommand);
20 if(n)
21 {
22 return n->value;
23 }
24 fail:
25 return NULL;
26 }
27
getModelCommand(List * list,char * usercommand)28 modelCommands getModelCommand(List *list, char *usercommand)
29 {
30 return (modelCommands) getCommandlistCommand(list, usercommand);
31 }
32
getModelstxtCommand(List * list,char * usercommand)33 modelstxtCommands getModelstxtCommand(List *list, char *usercommand)
34 {
35 return (modelstxtCommands) getCommandlistCommand(list, usercommand);
36 }
37
getLevelCommand(List * list,char * usercommand)38 levelCommands getLevelCommand(List *list, char *usercommand)
39 {
40 return (levelCommands) getCommandlistCommand(list, usercommand);
41 }
42
getLevelOrderCommand(List * list,char * usercommand)43 levelOrderCommands getLevelOrderCommand(List *list, char *usercommand)
44 {
45 return (levelOrderCommands) getCommandlistCommand(list, usercommand);
46 }
47
prepareList(void)48 List *prepareList(void)
49 {
50 List *result = malloc(sizeof(List));
51 assert(result);
52 List_Init(result);
53 return result;
54 }
55
createModelstxtCommandList(void)56 List *createModelstxtCommandList(void)
57 {
58 List *result = prepareList();
59 #define LIST_ADD(y,z) List_InsertAfter(result, (void*) y, z)
60 LIST_ADD(CMD_MODELSTXT_AJSPECIAL, "ajspecial");
61 LIST_ADD(CMD_MODELSTXT_AUTOLAND, "autoland");
62 LIST_ADD(CMD_MODELSTXT_BLOCKRATIO, "blockratio");
63 LIST_ADD(CMD_MODELSTXT_COLOURSELECT, "colourselect");
64 LIST_ADD(CMD_MODELSTXT_COMBODELAY, "combodelay");
65 LIST_ADD(CMD_MODELSTXT_CREDSCORE, "credscore");
66 LIST_ADD(CMD_MODELSTXT_DEBUG_ANAF, "agg_noatk_factor");
67 LIST_ADD(CMD_MODELSTXT_DEBUG_GNAF, "group_noatk_factor");
68 LIST_ADD(CMD_MODELSTXT_DEBUG_MAXNA, "max_noatk_chance");
69 LIST_ADD(CMD_MODELSTXT_DEBUG_MINNA, "min_noatk_chance");
70 LIST_ADD(CMD_MODELSTXT_DEBUG_MNAF, "move_noatk_factor");
71 LIST_ADD(CMD_MODELSTXT_DEBUG_NAD, "noatk_duration");
72 LIST_ADD(CMD_MODELSTXT_DEBUG_OSNAF, "offscreen_noatk_factor");
73 LIST_ADD(CMD_MODELSTXT_DROPV, "dropv");
74 LIST_ADD(CMD_MODELSTXT_GRABDISTANCE, "grabdistance");
75 LIST_ADD(CMD_MODELSTXT_JUMPHEIGHT, "jumpheight");
76 LIST_ADD(CMD_MODELSTXT_JUMPSPEED, "jumpspeed");
77 LIST_ADD(CMD_MODELSTXT_KNOW, "know");
78 LIST_ADD(CMD_MODELSTXT_LIFESCORE, "lifescore");
79 LIST_ADD(CMD_MODELSTXT_LOAD, "load");
80 LIST_ADD(CMD_MODELSTXT_MAX_COLLISIONS, "collisions.max");
81 LIST_ADD(CMD_MODELSTXT_MAXATTACKS, "maxattacks");
82 LIST_ADD(CMD_MODELSTXT_MAXATTACKTYPES, "maxattacktypes");
83 LIST_ADD(CMD_MODELSTXT_MAXBACKWALKS, "maxbackwalks");
84 LIST_ADD(CMD_MODELSTXT_MAXDOWNS, "maxdowns");
85 LIST_ADD(CMD_MODELSTXT_MAXFOLLOWS, "maxfollows");
86 LIST_ADD(CMD_MODELSTXT_MAXFREESPECIALS, "maxfreespecials");
87 LIST_ADD(CMD_MODELSTXT_MAXIDLES, "maxidles");
88 LIST_ADD(CMD_MODELSTXT_MAXUPS, "maxups");
89 LIST_ADD(CMD_MODELSTXT_MAXWALKS, "maxwalks");
90 LIST_ADD(CMD_MODELSTXT_MPBLOCK, "mpblock");
91 LIST_ADD(CMD_MODELSTXT_MUSIC, "music");
92 LIST_ADD(CMD_MODELSTXT_NOAIRCANCEL, "noaircancel");
93 LIST_ADD(CMD_MODELSTXT_NOCHEATS, "nocheats");
94 LIST_ADD(CMD_MODELSTXT_NOCHIPDEATH, "nochipdeath");
95 LIST_ADD(CMD_MODELSTXT_NOCOST, "nocost");
96 LIST_ADD(CMD_MODELSTXT_NODEBUG, "nodebug");
97 LIST_ADD(CMD_MODELSTXT_NODROPEN, "nodropen");
98 LIST_ADD(CMD_MODELSTXT_NODROPSPAWN, "nodropspawn");
99 LIST_ADD(CMD_MODELSTXT_NOLOST, "nolost");
100 LIST_ADD(CMD_MODELSTXT_NOMAXRUSHRESET, "nomaxrushreset");
101 LIST_ADD(CMD_MODELSTXT_SPDIRECTION, "spdirection");
102 LIST_ADD(CMD_MODELSTXT_VERSUSDAMAGE, "versusdamage");
103
104 #undef LIST_ADD
105 return result;
106 }
107
createModelCommandList(void)108 List *createModelCommandList(void)
109 {
110 int i, amax = 99;
111 char buf[64] ;
112 List *result = prepareList();
113 #define LIST_ADD(y,z) List_InsertAfter(result, (void*) y, z)
114 LIST_ADD(CMD_MODEL_AGGRESSION, "aggression");
115 LIST_ADD(CMD_MODEL_AIATTACK, "aiattack");
116 LIST_ADD(CMD_MODEL_AIMOVE, "aimove");
117 LIST_ADD(CMD_MODEL_AIRONLY, "aironly");
118 LIST_ADD(CMD_MODEL_ALPHA, "alpha");
119 LIST_ADD(CMD_MODEL_ALPHAMASK, "alphamask");
120 LIST_ADD(CMD_MODEL_ALTERNATEPAL, "alternatepal");
121 LIST_ADD(CMD_MODEL_ANIM, "anim");
122 LIST_ADD(CMD_MODEL_ANIMAL, "animal");
123 LIST_ADD(CMD_MODEL_ANIMATIONSCRIPT, "animationscript");
124 LIST_ADD(CMD_MODEL_ANIMHEIGHT, "animheight");
125 LIST_ADD(CMD_MODEL_ANTIGRAB, "antigrab");
126 LIST_ADD(CMD_MODEL_ANTIGRAVITY, "antigravity");
127 LIST_ADD(CMD_MODEL_AT_CMD, "@cmd");
128 LIST_ADD(CMD_MODEL_AT_SCRIPT, "@script");
129 LIST_ADD(CMD_MODEL_ATCHAIN, "atchain");
130 LIST_ADD(CMD_MODEL_COLLISION, "attack");
131 LIST_ADD(CMD_MODEL_COLLISION_BLOCK_COST, "attack.block.cost"); // guardcost
132 LIST_ADD(CMD_MODEL_COLLISION_BLOCK_PENETRATE, "attack.block.penetrate"); // no_block
133 LIST_ADD(CMD_MODEL_COLLISION_COUNTER, "attack.counter");
134 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_FORCE, "attack.damage.force");
135 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_LAND_FORCE, "attack.damage.land.force");
136 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_LAND_MODE, "attack.damage.land.mode");
137 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_LETHAL_DISABLE, "attack.damage.lethal.disable"); // No_kill / Only fall to 1 HP.
138 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_FORCE, "attack.damage.recursive.force");
139 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_INDEX, "attack.damage.recursive.index");
140 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_MODE, "attack.damage.recursive.mode");
141 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_TAG, "attack.damage.recursive.tag");
142 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_TIME_EXPIRE, "attack.damage.recursive.time");
143 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_RECURSIVE_TIME_RATE, "attack.damage.recursive.rate");
144 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_STEAL, "attack.damage.steal");
145 LIST_ADD(CMD_MODEL_COLLISION_DAMAGE_TYPE, "attack.damage.type");
146 LIST_ADD(CMD_MODEL_COLLISION_EFFECT_BLOCK_FLASH, "attack.effect.block.flash.model");
147 LIST_ADD(CMD_MODEL_COLLISION_EFFECT_BLOCK_SOUND, "attack.effect.block.sound.path");
148 LIST_ADD(CMD_MODEL_COLLISION_EFFECT_HIT_FLASH, "attack.effect.hit.flash.model");
149 LIST_ADD(CMD_MODEL_COLLISION_EFFECT_HIT_FLASH_DISABLE, "attack.effect.hit.flash.disable");
150 LIST_ADD(CMD_MODEL_COLLISION_EFFECT_HIT_SOUND, "attack.effect.hit.sound.path");
151 LIST_ADD(CMD_MODEL_COLLISION_GROUND, "attack.ground.mode"); // otg
152 LIST_ADD(CMD_MODEL_COLLISION_MAP_INDEX, "attack.map.index"); // Forcemap.
153 LIST_ADD(CMD_MODEL_COLLISION_MAP_TIME, "attack.map.time"); // Forcemap time.
154 LIST_ADD(CMD_MODEL_COLLISION_POSITION_X, "attack.position.x");
155 LIST_ADD(CMD_MODEL_COLLISION_POSITION_Y, "attack.position.y");
156 LIST_ADD(CMD_MODEL_COLLISION_REACTION_FALL_FORCE, "attack.reaction.fall.force"); // Knockdown power
157 LIST_ADD(CMD_MODEL_COLLISION_REACTION_FALL_VELOCITY_X, "attack.reaction.fall.velocity.x");
158 LIST_ADD(CMD_MODEL_COLLISION_REACTION_FALL_VELOCITY_Y, "attack.reaction.fall.velocity.y");
159 LIST_ADD(CMD_MODEL_COLLISION_REACTION_FALL_VELOCITY_Z, "attack.reaction.fall.velocity.z");
160 LIST_ADD(CMD_MODEL_COLLISION_REACTION_FREEZE_MODE, "attack.reaction.freeze.mode"); // Freeze
161 LIST_ADD(CMD_MODEL_COLLISION_REACTION_FREEZE_TIME, "attack.reaction.freeze.time"); // Freeze time
162 LIST_ADD(CMD_MODEL_COLLISION_REACTION_INVINCIBLE_TIME, "attack.reaction.invincible.time");
163 LIST_ADD(CMD_MODEL_COLLISION_REACTION_PAIN_SKIP, "attack.reaction.pain.disable"); // No reflect / No pain
164 LIST_ADD(CMD_MODEL_COLLISION_REACTION_PAUSE_TIME, "attack.reaction.pause.time"); // Pause add
165 LIST_ADD(CMD_MODEL_COLLISION_REACTION_REPOSITION_DIRECTION, "attack.reaction.reposition.direction");
166 LIST_ADD(CMD_MODEL_COLLISION_REACTION_REPOSITION_DISTANCE, "attack.reaction.reposition.distance"); // Grabin distance
167 LIST_ADD(CMD_MODEL_COLLISION_REACTION_REPOSITION_MODE, "attack.reaction.reposition.mode"); // Grabin
168 LIST_ADD(CMD_MODEL_COLLISION_SEAL_COST, "attack.seal.cost"); // Seal max cost.
169 LIST_ADD(CMD_MODEL_COLLISION_SEAL_TIME, "attack.seal.time");
170 LIST_ADD(CMD_MODEL_COLLISION_SIZE_X, "attack.size.x");
171 LIST_ADD(CMD_MODEL_COLLISION_SIZE_Y, "attack.size.y");
172 LIST_ADD(CMD_MODEL_COLLISION_SIZE_Z_1, "attack.size.z.1");
173 LIST_ADD(CMD_MODEL_COLLISION_SIZE_Z_2, "attack.size.z.2");
174 LIST_ADD(CMD_MODEL_COLLISION_STAYDOWN_RISE, "attack.staydown.rise.time");
175 LIST_ADD(CMD_MODEL_COLLISION_STAYDOWN_RISEATTACK, "attack.staydown.attack.time");
176 LIST_ADD(CMD_MODEL_COLLISION_TAG, "attack.tag");
177 LIST_ADD(CMD_MODEL_COLLISION1, "attack1");
178 LIST_ADD(CMD_MODEL_COLLISION2, "attack2");
179 LIST_ADD(CMD_MODEL_COLLISION3, "attack3");
180 LIST_ADD(CMD_MODEL_COLLISION4, "attack4");
181 LIST_ADD(CMD_MODEL_COLLISION5, "attack5");
182 LIST_ADD(CMD_MODEL_COLLISION6, "attack6");
183 LIST_ADD(CMD_MODEL_COLLISION7, "attack7");
184 LIST_ADD(CMD_MODEL_COLLISION8, "attack8");
185 LIST_ADD(CMD_MODEL_COLLISION9, "attack9");
186 LIST_ADD(CMD_MODEL_COLLISION10, "attack10");
187
188 // Attacks 10+
189 for(i = 11; i <= amax; i++)
190 {
191 sprintf(buf, "attack%d", i);
192 LIST_ADD(CMD_MODEL_COLLISION_ETC, buf);
193 }
194
195 LIST_ADD(CMD_MODEL_COLLISIONONE, "attackone");
196 LIST_ADD(CMD_MODEL_ATTACKTHROTTLE, "attackthrottle");
197 LIST_ADD(CMD_MODEL_COLLISIONZ, "attackz");
198 LIST_ADD(CMD_MODEL_BACKPAIN, "backpain");
199 LIST_ADD(CMD_MODEL_BACKPAIN, "nohithead");
200 LIST_ADD(CMD_MODEL_BBOX, "bbox");
201 LIST_ADD(CMD_MODEL_BBOX_INDEX, "bbox.index");
202 LIST_ADD(CMD_MODEL_BBOX_POSITION_X, "bbox.position.x");
203 LIST_ADD(CMD_MODEL_BBOX_POSITION_Y, "bbox.position.y");
204 LIST_ADD(CMD_MODEL_BBOX_SIZE_X, "bbox.size.x");
205 LIST_ADD(CMD_MODEL_BBOX_SIZE_Y, "bbox.size.y");
206 LIST_ADD(CMD_MODEL_BBOX_SIZE_Z_1, "bbox.size.z.1");
207 LIST_ADD(CMD_MODEL_BBOX_SIZE_Z_2, "bbox.size.z.2");
208 LIST_ADD(CMD_MODEL_BBOXZ, "bboxz");
209 LIST_ADD(CMD_MODEL_BFLASH, "bflash");
210 LIST_ADD(CMD_MODEL_BLAST, "blast");
211 LIST_ADD(CMD_MODEL_BLOCKBACK, "blockback");
212 LIST_ADD(CMD_MODEL_BLOCKFLASH, "blockflash");
213 LIST_ADD(CMD_MODEL_BLOCKFX, "blockfx");
214 LIST_ADD(CMD_MODEL_BLOCKODDS, "blockodds");
215 LIST_ADD(CMD_MODEL_BLOCKPAIN, "blockpain");
216 LIST_ADD(CMD_MODEL_BOMB, "bomb");
217 LIST_ADD(CMD_MODEL_BOUNCE, "bounce");
218 LIST_ADD(CMD_MODEL_BOUNCEFACTOR, "bouncefactor");
219 LIST_ADD(CMD_MODEL_BRANCH, "branch");
220 LIST_ADD(CMD_MODEL_BURN, "burn");
221 LIST_ADD(CMD_MODEL_CANCEL, "cancel");
222 LIST_ADD(CMD_MODEL_CANDAMAGE, "candamage");
223 LIST_ADD(CMD_MODEL_CANTGRAB, "cantgrab");
224 LIST_ADD(CMD_MODEL_CHARGERATE, "chargerate");
225 LIST_ADD(CMD_MODEL_CHARGETIME, "chargetime");
226 LIST_ADD(CMD_MODEL_COM, "com");
227 LIST_ADD(CMD_MODEL_COMBOSTYLE, "combostyle");
228 LIST_ADD(CMD_MODEL_COUNTER, "counter");
229 LIST_ADD(CMD_MODEL_COUNTERATTACK, "counterattack");
230 LIST_ADD(CMD_MODEL_COUNTERRANGE, "counterrange");
231 LIST_ADD(CMD_MODEL_CREDIT, "credit");
232 LIST_ADD(CMD_MODEL_CUSTBOMB, "custbomb");
233 LIST_ADD(CMD_MODEL_CUSTENTITY, "custentity");
234 LIST_ADD(CMD_MODEL_CUSTKNIFE, "custknife");
235 LIST_ADD(CMD_MODEL_CUSTPBOMB, "custpbomb");
236 LIST_ADD(CMD_MODEL_CUSTPSHOT, "custpshot");
237 LIST_ADD(CMD_MODEL_CUSTPSHOTNO, "custpshotno");
238 LIST_ADD(CMD_MODEL_CUSTPSHOTW, "custpshotw");
239 LIST_ADD(CMD_MODEL_CUSTSTAR, "custstar");
240 LIST_ADD(CMD_MODEL_DAMAGEONLANDING, "damageonlanding");
241 LIST_ADD(CMD_MODEL_DEATH, "death");
242 LIST_ADD(CMD_MODEL_DEFENSE, "defense");
243 LIST_ADD(CMD_MODEL_DELAY, "delay");
244 LIST_ADD(CMD_MODEL_DIDBLOCKSCRIPT, "didblockscript");
245 LIST_ADD(CMD_MODEL_DIDHITSCRIPT, "didhitscript");
246 LIST_ADD(CMD_MODEL_DIESOUND, "diesound");
247 LIST_ADD(CMD_MODEL_DIVE, "dive");
248 LIST_ADD(CMD_MODEL_DIVE1, "dive1");
249 LIST_ADD(CMD_MODEL_DIVE2, "dive2");
250 LIST_ADD(CMD_MODEL_DOT, "dot");
251 LIST_ADD(CMD_MODEL_DRAWMETHOD, "drawmethod");
252 LIST_ADD(CMD_MODEL_DROPFRAME, "dropframe");
253 LIST_ADD(CMD_MODEL_DROPV, "dropv");
254 LIST_ADD(CMD_MODEL_DUST, "dust");
255 LIST_ADD(CMD_MODEL_EBOX, "ebox");
256 LIST_ADD(CMD_MODEL_EBOX_INDEX, "ebox.index");
257 LIST_ADD(CMD_MODEL_EBOX_POSITION_X, "ebox.position.x");
258 LIST_ADD(CMD_MODEL_EBOX_POSITION_Y, "ebox.position.y");
259 LIST_ADD(CMD_MODEL_EBOX_SIZE_X, "ebox.size.x");
260 LIST_ADD(CMD_MODEL_EBOX_SIZE_Y, "ebox.size.y");
261 LIST_ADD(CMD_MODEL_EBOX_SIZE_Z_1, "ebox.size.z.1");
262 LIST_ADD(CMD_MODEL_EBOX_SIZE_Z_2, "ebox.size.z.2");
263 LIST_ADD(CMD_MODEL_EBOXZ, "eboxz");
264 LIST_ADD(CMD_MODEL_EDELAY, "edelay");
265 LIST_ADD(CMD_MODEL_EDGERANGE, "edgerange");
266 LIST_ADD(CMD_MODEL_ENERGYCOST, "energycost");
267 LIST_ADD(CMD_MODEL_ENTITYPUSHING, "entitypushing");
268 LIST_ADD(CMD_MODEL_ESCAPEHITS, "escapehits");
269 LIST_ADD(CMD_MODEL_FACING, "facing");
270 LIST_ADD(CMD_MODEL_FALLDIE, "falldie");
271 LIST_ADD(CMD_MODEL_FASTATTACK, "fastattack");
272 LIST_ADD(CMD_MODEL_FIREB, "fireb");
273 LIST_ADD(CMD_MODEL_FLASH, "flash");
274 LIST_ADD(CMD_MODEL_FLIPFRAME, "flipframe");
275 LIST_ADD(CMD_MODEL_FMAP, "fmap");
276 LIST_ADD(CMD_MODEL_FOLLOWANIM, "followanim");
277 LIST_ADD(CMD_MODEL_FOLLOWCOND, "followcond");
278 LIST_ADD(CMD_MODEL_FORCEDIRECTION, "forcedirection");
279 LIST_ADD(CMD_MODEL_FORCEMAP, "forcemap");
280 LIST_ADD(CMD_MODEL_FRAME, "frame");
281 LIST_ADD(CMD_MODEL_FREEZE, "freeze");
282 LIST_ADD(CMD_MODEL_FSHADOW, "fshadow");
283 LIST_ADD(CMD_MODEL_GFXSHADOW, "gfxshadow");
284 LIST_ADD(CMD_MODEL_GLOBALMAP, "globalmap");
285 LIST_ADD(CMD_MODEL_GRABBACK, "grabback");
286 LIST_ADD(CMD_MODEL_GRABDISTANCE, "grabdistance");
287 LIST_ADD(CMD_MODEL_GRABFINISH, "grabfinish");
288 LIST_ADD(CMD_MODEL_GRABFLIP, "grabflip");
289 LIST_ADD(CMD_MODEL_GRABFORCE, "grabforce");
290 LIST_ADD(CMD_MODEL_GRABIN, "grabin");
291 LIST_ADD(CMD_MODEL_GRABTURN, "grabturn");
292 LIST_ADD(CMD_MODEL_GRABWALK, "grabwalk");
293 LIST_ADD(CMD_MODEL_GUARDCOST, "guardcost");
294 LIST_ADD(CMD_MODEL_GUARDPOINTS, "guardpoints");
295 LIST_ADD(CMD_MODEL_GUARDRATE, "guardrate");
296 LIST_ADD(CMD_MODEL_HEALTH, "health");
297 LIST_ADD(CMD_MODEL_HEIGHT, "height");
298 LIST_ADD(CMD_MODEL_HITENEMY, "hitenemy");
299 LIST_ADD(CMD_MODEL_HITFLASH, "hitflash");
300 LIST_ADD(CMD_MODEL_HITFX, "hitfx");
301 LIST_ADD(CMD_MODEL_HITWALLTYPE, "hitwalltype");
302 LIST_ADD(CMD_MODEL_HITZ, "hitz");
303 LIST_ADD(CMD_MODEL_HMAP, "hmap");
304 LIST_ADD(CMD_MODEL_HOLDBLOCK, "holdblock");
305 LIST_ADD(CMD_MODEL_HOSTILE, "hostile");
306 LIST_ADD(CMD_MODEL_ICON, "icon");
307 LIST_ADD(CMD_MODEL_ICONDIE, "icondie");
308 LIST_ADD(CMD_MODEL_ICONGET, "iconget");
309 LIST_ADD(CMD_MODEL_ICONMPHALF, "iconmphalf");
310 LIST_ADD(CMD_MODEL_ICONMPHIGH, "iconmphigh");
311 LIST_ADD(CMD_MODEL_ICONMPLOW, "iconmplow");
312 LIST_ADD(CMD_MODEL_ICONPAIN, "iconpain");
313 LIST_ADD(CMD_MODEL_ICONPOSITION, "iconposition");
314 LIST_ADD(CMD_MODEL_ICONW, "iconw");
315 LIST_ADD(CMD_MODEL_IDLE, "idle");
316 LIST_ADD(CMD_MODEL_IGNOREATTACKID, "ignoreattackid");
317 LIST_ADD(CMD_MODEL_INHOLESCRIPT, "inholescript");
318 LIST_ADD(CMD_MODEL_INSTANTITEMDEATH, "instantitemdeath");
319 LIST_ADD(CMD_MODEL_ITEMBOX, "itembox");
320 LIST_ADD(CMD_MODEL_JUGGLECOST, "jugglecost");
321 LIST_ADD(CMD_MODEL_JUGGLEPOINTS, "jugglepoints");
322 LIST_ADD(CMD_MODEL_JUMPFRAME, "jumpframe");
323 LIST_ADD(CMD_MODEL_JUMPHEIGHT, "jumpheight");
324 LIST_ADD(CMD_MODEL_JUMPMOVE, "jumpmove");
325 LIST_ADD(CMD_MODEL_JUMPSPEED, "jumpspeed");
326 LIST_ADD(CMD_MODEL_JUMPSPEEDF, "jumpspeedf");
327 LIST_ADD(CMD_MODEL_KEYSCRIPT, "keyscript");
328 LIST_ADD(CMD_MODEL_KNIFE, "knife");
329 LIST_ADD(CMD_MODEL_KNOCKDOWNCOUNT, "knockdowncount");
330 LIST_ADD(CMD_MODEL_KOMAP, "komap");
331 LIST_ADD(CMD_MODEL_LANDFRAME, "landframe");
332 LIST_ADD(CMD_MODEL_LIFEBARSTATUS, "lifebarstatus");
333 LIST_ADD(CMD_MODEL_LIFEPOSITION, "lifeposition");
334 LIST_ADD(CMD_MODEL_LIFESPAN, "lifespan");
335 LIST_ADD(CMD_MODEL_LOAD, "load");
336 LIST_ADD(CMD_MODEL_LOOP, "loop");
337 LIST_ADD(CMD_MODEL_LOSE, "lose");
338 LIST_ADD(CMD_MODEL_MAKEINV, "makeinv");
339 LIST_ADD(CMD_MODEL_MODELFLAG, "modelflag");
340 LIST_ADD(CMD_MODEL_MOVE, "move");
341 LIST_ADD(CMD_MODEL_MOVEA, "movea");
342 LIST_ADD(CMD_MODEL_MOVEZ, "movez");
343 LIST_ADD(CMD_MODEL_MP, "mp");
344 LIST_ADD(CMD_MODEL_MPCOST, "mpcost");
345 LIST_ADD(CMD_MODEL_MPONLY, "mponly");
346 LIST_ADD(CMD_MODEL_MPRATE, "mprate");
347 LIST_ADD(CMD_MODEL_MPSET, "mpset");
348 LIST_ADD(CMD_MODEL_NAME, "name");
349 LIST_ADD(CMD_MODEL_NAMEPOSITION, "nameposition");
350 LIST_ADD(CMD_MODEL_NO_ADJUST_BASE, "no_adjust_base");
351 LIST_ADD(CMD_MODEL_NOATFLASH, "noatflash");
352 LIST_ADD(CMD_MODEL_NODIEBLINK, "nodieblink");
353 LIST_ADD(CMD_MODEL_NODRAWMETHOD, "nodrawmethod");
354 LIST_ADD(CMD_MODEL_NODROP, "nodrop");
355 LIST_ADD(CMD_MODEL_NOGRAB, "nograb");
356 LIST_ADD(CMD_MODEL_NOKILL, "nokill");
357 LIST_ADD(CMD_MODEL_NOLIFE, "nolife");
358 LIST_ADD(CMD_MODEL_NOMOVE, "nomove");
359 LIST_ADD(CMD_MODEL_NOPAIN, "nopain");
360 LIST_ADD(CMD_MODEL_NOPASSIVEBLOCK, "nopassiveblock");
361 LIST_ADD(CMD_MODEL_NOQUAKE, "noquake");
362 LIST_ADD(CMD_MODEL_NOREFLECT, "noreflect");
363 LIST_ADD(CMD_MODEL_NOTGRAB, "notgrab");
364 LIST_ADD(CMD_MODEL_OFFENSE, "offense");
365 LIST_ADD(CMD_MODEL_OFFSCREENKILL, "offscreenkill");
366 LIST_ADD(CMD_MODEL_ONAF, "offscreen_noatk_factor");
367 LIST_ADD(CMD_MODEL_OFFSET, "offset");
368 LIST_ADD(CMD_MODEL_ON_BIND_UPDATE_OTHER_TO_SELF_SCRIPT, "on_bind_update_other_to_self_script");
369 LIST_ADD(CMD_MODEL_ON_BIND_UPDATE_SELF_TO_OTHER_SCRIPT, "on_bind_update_self_to_other_script");
370 LIST_ADD(CMD_MODEL_ONBLOCKASCRIPT, "onblockascript");
371 LIST_ADD(CMD_MODEL_ONBLOCKOSCRIPT, "onblockoscript");
372 LIST_ADD(CMD_MODEL_ONBLOCKPSCRIPT, "onblockpscript");
373 LIST_ADD(CMD_MODEL_ONBLOCKSSCRIPT, "onblocksscript");
374 LIST_ADD(CMD_MODEL_ONBLOCKWSCRIPT, "onblockwscript");
375 LIST_ADD(CMD_MODEL_ONBLOCKZSCRIPT, "onblockzscript");
376 LIST_ADD(CMD_MODEL_ONDEATHSCRIPT, "ondeathscript");
377 LIST_ADD(CMD_MODEL_ONDOATTACKSCRIPT, "ondoattackscript");
378 LIST_ADD(CMD_MODEL_ONDRAWSCRIPT, "ondrawscript");
379 LIST_ADD(CMD_MODEL_ONENTITYCOLLISIONSCRIPT, "onentitycollisionscript");
380 LIST_ADD(CMD_MODEL_ONFALLSCRIPT, "onfallscript");
381 LIST_ADD(CMD_MODEL_ONKILLSCRIPT, "onkillscript");
382 LIST_ADD(CMD_MODEL_ONMODELCOPYSCRIPT, "onmodelcopyscript");
383 LIST_ADD(CMD_MODEL_ONMOVEASCRIPT, "onmoveascript");
384 LIST_ADD(CMD_MODEL_ONMOVEXSCRIPT, "onmovexscript");
385 LIST_ADD(CMD_MODEL_ONMOVEZSCRIPT, "onmovezscript");
386 LIST_ADD(CMD_MODEL_ONPAINSCRIPT, "onpainscript");
387 LIST_ADD(CMD_MODEL_ONSPAWNSCRIPT, "onspawnscript");
388 LIST_ADD(CMD_MODEL_OTG, "otg");
389 LIST_ADD(CMD_MODEL_PAINGRAB, "paingrab");
390 LIST_ADD(CMD_MODEL_PALETTE, "palette");
391 LIST_ADD(CMD_MODEL_PARROW, "parrow");
392 LIST_ADD(CMD_MODEL_PARROW2, "parrow2");
393 LIST_ADD(CMD_MODEL_PARROW3, "parrow3");
394 LIST_ADD(CMD_MODEL_PARROW4, "parrow4");
395 LIST_ADD(CMD_MODEL_PATHFINDSTEP, "pfstep");
396 LIST_ADD(CMD_MODEL_PBOMBFRAME, "pbombframe");
397 LIST_ADD(CMD_MODEL_PLATFORM, "platform");
398 LIST_ADD(CMD_MODEL_PLAYBOMB, "playbomb");
399 LIST_ADD(CMD_MODEL_PLAYSHOT, "playshot");
400 LIST_ADD(CMD_MODEL_PLAYSHOTNO, "playshotno");
401 LIST_ADD(CMD_MODEL_PLAYSHOTW, "playshotw");
402 LIST_ADD(CMD_MODEL_PRIORITY, "priority");
403 LIST_ADD(CMD_MODEL_PROJECT, "project");
404 LIST_ADD(CMD_MODEL_PROJECTILEHIT, "projectilehit");
405 LIST_ADD(CMD_MODEL_PSHOTFRAME, "pshotframe");
406 LIST_ADD(CMD_MODEL_PSHOTFRAMENO, "pshotframeno");
407 LIST_ADD(CMD_MODEL_PSHOTFRAMEW, "pshotframew");
408 LIST_ADD(CMD_MODEL_PUSHINGFACTOR, "pushingfactor");
409 LIST_ADD(CMD_MODEL_QUAKEFRAME, "quakeframe");
410 LIST_ADD(CMD_MODEL_RANGE, "range");
411 LIST_ADD(CMD_MODEL_RANGEA, "rangea");
412 LIST_ADD(CMD_MODEL_RANGEB, "rangeb");
413 LIST_ADD(CMD_MODEL_RANGEZ, "rangez");
414 LIST_ADD(CMD_MODEL_RELOAD, "reload");
415 LIST_ADD(CMD_MODEL_REMAP, "remap");
416 LIST_ADD(CMD_MODEL_REMOVE, "remove");
417 LIST_ADD(CMD_MODEL_RIDER, "rider");
418 LIST_ADD(CMD_MODEL_RISEATTACKTYPE, "riseattacktype");
419 LIST_ADD(CMD_MODEL_RISEINV, "riseinv");
420 LIST_ADD(CMD_MODEL_RISETIME, "risetime");
421 LIST_ADD(CMD_MODEL_RUNNING, "running");
422 LIST_ADD(CMD_MODEL_RUNNING_CONTINUE, "run.jump.continue");
423 LIST_ADD(CMD_MODEL_RUNNING_JUMP_VELOCITY_X, "run.jump.x");
424 LIST_ADD(CMD_MODEL_RUNNING_JUMP_VELOCITY_Y, "run.jump.y");
425 LIST_ADD(CMD_MODEL_RUNNING_SPEED, "run.speed.x");
426 LIST_ADD(CMD_MODEL_RUNNING_Z_MOVE, "run.move.z");
427 LIST_ADD(CMD_MODEL_SCORE, "score");
428 LIST_ADD(CMD_MODEL_SCRIPT, "script");
429 LIST_ADD(CMD_MODEL_SCROLL, "scroll");
430 LIST_ADD(CMD_MODEL_SEAL, "seal");
431 LIST_ADD(CMD_MODEL_SECRET, "secret");
432 LIST_ADD(CMD_MODEL_SETA, "seta");
433 LIST_ADD(CMD_MODEL_SETLAYER, "setlayer");
434 LIST_ADD(CMD_MODEL_SHADOW, "shadow");
435 LIST_ADD(CMD_MODEL_SHADOWCOORDS, "shadowcoords");
436 LIST_ADD(CMD_MODEL_SHOCK, "shock");
437 LIST_ADD(CMD_MODEL_SHOOTFRAME, "shootframe");
438 LIST_ADD(CMD_MODEL_SHOOTNUM, "shootnum");
439 LIST_ADD(CMD_MODEL_SLEEPWAIT, "sleepwait");
440 LIST_ADD(CMD_MODEL_SMARTBOMB, "smartbomb");
441 LIST_ADD(CMD_MODEL_SOUND, "sound");
442 LIST_ADD(CMD_MODEL_SPAWNFRAME, "spawnframe");
443 LIST_ADD(CMD_MODEL_SPEED, "speed");
444 LIST_ADD(CMD_MODEL_SPEEDF, "speedf");
445 LIST_ADD(CMD_MODEL_STAR, "star");
446 LIST_ADD(CMD_MODEL_STAR_VELOCITY, "starvelocity");
447 LIST_ADD(CMD_MODEL_STAYDOWN, "staydown");
448 LIST_ADD(CMD_MODEL_STEAL, "steal");
449 LIST_ADD(CMD_MODEL_STEALTH, "stealth");
450 LIST_ADD(CMD_MODEL_STUN, "stun");
451 LIST_ADD(CMD_MODEL_SUBCLASS, "subclass");
452 LIST_ADD(CMD_MODEL_SUBENTITY, "subentity");
453 LIST_ADD(CMD_MODEL_SUBJECT_TO_BASEMAP, "subject_to_basemap");
454 LIST_ADD(CMD_MODEL_SUBJECT_TO_GRAVITY, "subject_to_gravity");
455 LIST_ADD(CMD_MODEL_SUBJECT_TO_HOLE, "subject_to_hole");
456 LIST_ADD(CMD_MODEL_SUBJECT_TO_MAXZ, "subject_to_maxz");
457 LIST_ADD(CMD_MODEL_SUBJECT_TO_MINZ, "subject_to_minz");
458 LIST_ADD(CMD_MODEL_SUBJECT_TO_OBSTACLE, "subject_to_obstacle");
459 LIST_ADD(CMD_MODEL_SUBJECT_TO_PLATFORM, "subject_to_platform");
460 LIST_ADD(CMD_MODEL_SUBJECT_TO_SCREEN, "subject_to_screen");
461 LIST_ADD(CMD_MODEL_SUBJECT_TO_WALL, "subject_to_wall");
462 LIST_ADD(CMD_MODEL_SUBTYPE, "subtype");
463 LIST_ADD(CMD_MODEL_SUMMONFRAME, "summonframe");
464 LIST_ADD(CMD_MODEL_SUMMONKILL, "summonkill");
465 LIST_ADD(CMD_MODEL_SYNC, "sync");
466 LIST_ADD(CMD_MODEL_TAKEDAMAGESCRIPT, "takedamagescript");
467 LIST_ADD(CMD_MODEL_THINKSCRIPT, "thinkscript");
468 LIST_ADD(CMD_MODEL_THOLD, "thold");
469 LIST_ADD(CMD_MODEL_THROW, "throw");
470 LIST_ADD(CMD_MODEL_THROWDAMAGE, "throwdamage");
471 LIST_ADD(CMD_MODEL_THROWFRAME, "throwframe");
472 LIST_ADD(CMD_MODEL_THROWFRAMEWAIT, "throwframewait");
473 LIST_ADD(CMD_MODEL_TOFLIP, "toflip");
474 LIST_ADD(CMD_MODEL_TOSSFRAME, "tossframe");
475 LIST_ADD(CMD_MODEL_TURNDELAY, "turndelay");
476 LIST_ADD(CMD_MODEL_TYPE, "type");
477 LIST_ADD(CMD_MODEL_TYPESHOT, "typeshot");
478 LIST_ADD(CMD_MODEL_UNSUMMONFRAME, "unsummonframe");
479 LIST_ADD(CMD_MODEL_WALKOFFMOVE, "walkoffmove");
480 LIST_ADD(CMD_MODEL_WEAPLOSS, "weaploss");
481 LIST_ADD(CMD_MODEL_WEAPNUM, "weapnum");
482 LIST_ADD(CMD_MODEL_WEAPONFRAME, "weaponframe");
483 LIST_ADD(CMD_MODEL_WEAPONS, "weapons");
484
485
486 #undef LIST_ADD
487 return result;
488 }
489
createLevelCommandList(void)490 List *createLevelCommandList(void)
491 {
492 List *result = prepareList();
493 #define LIST_ADD(y,z) List_InsertAfter(result, (void*) y, z)
494
495 LIST_ADD(CMD_LEVEL_2PHEALTH, "2phealth");
496 LIST_ADD(CMD_LEVEL_2PITEM, "2pitem");
497 LIST_ADD(CMD_LEVEL_2PSPAWN, "2pspawn");
498 LIST_ADD(CMD_LEVEL_3PHEALTH, "3phealth");
499 LIST_ADD(CMD_LEVEL_3PITEM, "3pitem");
500 LIST_ADD(CMD_LEVEL_3PSPAWN, "3pspawn");
501 LIST_ADD(CMD_LEVEL_4PHEALTH, "4phealth");
502 LIST_ADD(CMD_LEVEL_4PITEM, "4pitem");
503 LIST_ADD(CMD_LEVEL_4PSPAWN, "4pspawn");
504 LIST_ADD(CMD_LEVEL_AGGRESSION, "aggression");
505 LIST_ADD(CMD_LEVEL_ALIAS, "alias");
506 LIST_ADD(CMD_LEVEL_ALLOWSELECT, "allowselect");
507 LIST_ADD(CMD_LEVEL_ALPHA, "alpha");
508 LIST_ADD(CMD_LEVEL_ALPHAMASK, "alphamask");
509 LIST_ADD(CMD_LEVEL_AT, "at");
510 LIST_ADD(CMD_LEVEL_AT_SCRIPT, "@script");
511 LIST_ADD(CMD_LEVEL_BACKGROUND, "background");
512 LIST_ADD(CMD_LEVEL_BASEMAP, "basemap");
513 LIST_ADD(CMD_LEVEL_BGLAYER, "bglayer");
514 LIST_ADD(CMD_LEVEL_BGSPEED, "bgspeed");
515 LIST_ADD(CMD_LEVEL_BLOCKADE, "blockade");
516 LIST_ADD(CMD_LEVEL_BLOCKED, "blocked");
517 LIST_ADD(CMD_LEVEL_BOSS, "boss");
518 LIST_ADD(CMD_LEVEL_BOSSMUSIC, "bossmusic");
519 LIST_ADD(CMD_LEVEL_CAMERAOFFSET, "cameraoffset");
520 LIST_ADD(CMD_LEVEL_CAMERATYPE, "cameratype");
521 LIST_ADD(CMD_LEVEL_CANJOIN, "canjoin");
522 LIST_ADD(CMD_LEVEL_COORDS, "coords");
523 LIST_ADD(CMD_LEVEL_CREDIT, "credit");
524 LIST_ADD(CMD_LEVEL_DIRECTION, "direction");
525 LIST_ADD(CMD_LEVEL_DYING, "dying");
526 LIST_ADD(CMD_LEVEL_ENDHOLE, "endhole");
527 LIST_ADD(CMD_LEVEL_ENDLEVELSCRIPT, "endlevelscript");
528 LIST_ADD(CMD_LEVEL_FACING, "facing");
529 LIST_ADD(CMD_LEVEL_FGLAYER, "fglayer");
530 LIST_ADD(CMD_LEVEL_FLIP, "flip");
531 LIST_ADD(CMD_LEVEL_FRONTPANEL, "frontpanel");
532 LIST_ADD(CMD_LEVEL_GRAVITY, "gravity");
533 LIST_ADD(CMD_LEVEL_GROUP, "group");
534 LIST_ADD(CMD_LEVEL_HEALTH, "health");
535 LIST_ADD(CMD_LEVEL_HOLE, "hole");
536 LIST_ADD(CMD_LEVEL_ITEM, "item");
537 LIST_ADD(CMD_LEVEL_ITEMALIAS, "itemalias");
538 LIST_ADD(CMD_LEVEL_ITEMALPHA, "itemalpha");
539 LIST_ADD(CMD_LEVEL_ITEMHEALTH, "itemhealth");
540 LIST_ADD(CMD_LEVEL_ITEMMAP, "itemmap");
541 LIST_ADD(CMD_LEVEL_ITEMTRANS, "itemtrans");
542 LIST_ADD(CMD_LEVEL_KEYSCRIPT, "keyscript");
543 LIST_ADD(CMD_LEVEL_LAYER, "layer");
544 LIST_ADD(CMD_LEVEL_LEVELSCRIPT, "levelscript");
545 LIST_ADD(CMD_LEVEL_LIGHT, "light");
546 LIST_ADD(CMD_LEVEL_LOAD, "load");
547 LIST_ADD(CMD_LEVEL_LOADINGBG, "loadingbg");
548 LIST_ADD(CMD_LEVEL_MAP, "map");
549 LIST_ADD(CMD_LEVEL_MAXFALLSPEED, "maxfallspeed");
550 LIST_ADD(CMD_LEVEL_MAXTOSSSPEED, "maxtossspeed");
551 LIST_ADD(CMD_LEVEL_MIRROR, "mirror");
552 LIST_ADD(CMD_LEVEL_MP, "mp");
553 LIST_ADD(CMD_LEVEL_MUSIC, "music");
554 LIST_ADD(CMD_LEVEL_MUSICFADE, "musicfade");
555 LIST_ADD(CMD_LEVEL_NOFADEOUT, "nofadeout");
556 LIST_ADD(CMD_LEVEL_NOHIT, "nohit");
557 LIST_ADD(CMD_LEVEL_NOJOIN, "nojoin");
558 LIST_ADD(CMD_LEVEL_NOLIFE, "nolife");
559 LIST_ADD(CMD_LEVEL_NOPAUSE, "nopause");
560 LIST_ADD(CMD_LEVEL_NORESET, "noreset");
561 LIST_ADD(CMD_LEVEL_NOSAVE, "nosave");
562 LIST_ADD(CMD_LEVEL_NOSCREENSHOT, "noscreenshot");
563 LIST_ADD(CMD_LEVEL_NOSLOW, "noslow");
564 LIST_ADD(CMD_LEVEL_NOTIME, "notime");
565 LIST_ADD(CMD_LEVEL_ORDER, "order");
566 LIST_ADD(CMD_LEVEL_PALETTE, "palette");
567 LIST_ADD(CMD_LEVEL_PANEL, "panel");
568 LIST_ADD(CMD_LEVEL_ROCK, "rock");
569 LIST_ADD(CMD_LEVEL_SCORE, "score");
570 LIST_ADD(CMD_LEVEL_SCROLLSPEED, "scrollspeed");
571 LIST_ADD(CMD_LEVEL_SCROLLX, "scrollx");
572 LIST_ADD(CMD_LEVEL_SCROLLZ, "scrollz");
573 LIST_ADD(CMD_LEVEL_SETPALETTE, "setpalette");
574 LIST_ADD(CMD_LEVEL_SETTIME, "settime");
575 LIST_ADD(CMD_LEVEL_SETWEAP, "setweap");
576 LIST_ADD(CMD_LEVEL_SHADOWALPHA, "shadowalpha");
577 LIST_ADD(CMD_LEVEL_SHADOWCOLOR, "shadowcolor");
578 LIST_ADD(CMD_LEVEL_SHADOWOPACITY, "shadowopacity");
579 LIST_ADD(CMD_LEVEL_SPAWN, "spawn");
580 LIST_ADD(CMD_LEVEL_SPAWN1, "spawn1");
581 LIST_ADD(CMD_LEVEL_SPAWN2, "spawn2");
582 LIST_ADD(CMD_LEVEL_SPAWN3, "spawn3");
583 LIST_ADD(CMD_LEVEL_SPAWN4, "spawn4");
584 LIST_ADD(CMD_LEVEL_SPAWNSCRIPT, "spawnscript");
585 LIST_ADD(CMD_LEVEL_STAGENUMBER, "stagenumber");
586 LIST_ADD(CMD_LEVEL_TYPE, "type");
587 LIST_ADD(CMD_LEVEL_UPDATEDSCRIPT, "updatedscript");
588 LIST_ADD(CMD_LEVEL_UPDATESCRIPT, "updatescript");
589 LIST_ADD(CMD_LEVEL_VBGSPEED, "vbgspeed");
590 LIST_ADD(CMD_LEVEL_WAIT, "wait");
591 LIST_ADD(CMD_LEVEL_WALL, "wall");
592 LIST_ADD(CMD_LEVEL_WATER, "water");
593 LIST_ADD(CMD_LEVEL_WEAPON, "weapon");
594
595 #undef LIST_ADD
596 return result;
597 }
598
createLevelOrderCommandList(void)599 List *createLevelOrderCommandList(void)
600 {
601 List *result = prepareList();
602 #define LIST_ADD(y,z) List_InsertAfter(result, (void*) y, z)
603 LIST_ADD(CMD_LEVELORDER_BGICON, "bgicon");
604 LIST_ADD(CMD_LEVELORDER_BLENDFX, "blendfx");
605 LIST_ADD(CMD_LEVELORDER_BRANCH, "branch");
606 LIST_ADD(CMD_LEVELORDER_CANSAVE, "cansave");
607 LIST_ADD(CMD_LEVELORDER_CLEARBONUS, "clearbonus");
608 LIST_ADD(CMD_LEVELORDER_COMPLETEBG, "completebg");
609 LIST_ADD(CMD_LEVELORDER_CONTINUESCORE, "continuescore");
610 LIST_ADD(CMD_LEVELORDER_CREDITS, "credits");
611 LIST_ADD(CMD_LEVELORDER_CUSTFADE, "custfade");
612 LIST_ADD(CMD_LEVELORDER_DISABLEGAMEOVER, "disablegameover");
613 LIST_ADD(CMD_LEVELORDER_DISABLEHOF, "disablehof");
614 LIST_ADD(CMD_LEVELORDER_E1ICON, "e1icon");
615 LIST_ADD(CMD_LEVELORDER_E1LIFE, "e1life");
616 LIST_ADD(CMD_LEVELORDER_E1NAME, "e1name");
617 LIST_ADD(CMD_LEVELORDER_E2ICON, "e2icon");
618 LIST_ADD(CMD_LEVELORDER_E2LIFE, "e2life");
619 LIST_ADD(CMD_LEVELORDER_E2NAME, "e2name");
620 LIST_ADD(CMD_LEVELORDER_E3ICON, "e3icon");
621 LIST_ADD(CMD_LEVELORDER_E3LIFE, "e3life");
622 LIST_ADD(CMD_LEVELORDER_E3NAME, "e3name");
623 LIST_ADD(CMD_LEVELORDER_E4ICON, "e4icon");
624 LIST_ADD(CMD_LEVELORDER_E4LIFE, "e4life");
625 LIST_ADD(CMD_LEVELORDER_E4NAME, "e4name");
626 LIST_ADD(CMD_LEVELORDER_END, "end");
627 LIST_ADD(CMD_LEVELORDER_EQUALAIRPAUSE, "equalairpause");
628 LIST_ADD(CMD_LEVELORDER_FILE, "file");
629 LIST_ADD(CMD_LEVELORDER_GRAVITY, "gravity");
630 LIST_ADD(CMD_LEVELORDER_HISCOREBG, "hiscorebg");
631 LIST_ADD(CMD_LEVELORDER_IFCOMPLETE, "ifcomplete");
632 LIST_ADD(CMD_LEVELORDER_LBARSIZE, "lbarsize");
633 LIST_ADD(CMD_LEVELORDER_LBARTEXT, "lbartext");
634 LIST_ADD(CMD_LEVELORDER_LIFEBONUS, "lifebonus");
635 LIST_ADD(CMD_LEVELORDER_LIVES, "lives");
636 LIST_ADD(CMD_LEVELORDER_LOADINGBG, "loadingbg");
637 LIST_ADD(CMD_LEVELORDER_LOADINGBG2, "loadingbg2");
638 LIST_ADD(CMD_LEVELORDER_LOADINGMUSIC, "loadingmusic");
639 LIST_ADD(CMD_LEVELORDER_MAXENTITIES, "maxentities");
640 LIST_ADD(CMD_LEVELORDER_MAXPLAYERS, "maxplayers");
641 LIST_ADD(CMD_LEVELORDER_MAXWALLHEIGHT, "maxwallheight");
642 LIST_ADD(CMD_LEVELORDER_MP1ICON, "mp1icon");
643 LIST_ADD(CMD_LEVELORDER_MP2ICON, "mp2icon");
644 LIST_ADD(CMD_LEVELORDER_MP3ICON, "mp3icon");
645 LIST_ADD(CMD_LEVELORDER_MP4ICON, "mp4icon");
646 LIST_ADD(CMD_LEVELORDER_MPBARSIZE, "mpbarsize");
647 LIST_ADD(CMD_LEVELORDER_MPBARTEXT, "mpbartext");
648 LIST_ADD(CMD_LEVELORDER_MUSICOVERLAP, "musicoverlap");
649 LIST_ADD(CMD_LEVELORDER_NEXT, "next");
650 LIST_ADD(CMD_LEVELORDER_NOSAME, "nosame");
651 LIST_ADD(CMD_LEVELORDER_NOSHARE, "noshare");
652 LIST_ADD(CMD_LEVELORDER_NOSHOWCOMPLETE, "noshowcomplete");
653 LIST_ADD(CMD_LEVELORDER_NOSLOWFX, "noslowfx");
654 LIST_ADD(CMD_LEVELORDER_OLBARSIZE, "olbarsize");
655 LIST_ADD(CMD_LEVELORDER_OLICON, "olicon");
656 LIST_ADD(CMD_LEVELORDER_P1ICON, "p1icon");
657 LIST_ADD(CMD_LEVELORDER_P1ICONW, "p1iconw");
658 LIST_ADD(CMD_LEVELORDER_P1LIFE, "p1life");
659 LIST_ADD(CMD_LEVELORDER_P1LIFEN, "p1lifen");
660 LIST_ADD(CMD_LEVELORDER_P1LIFEX, "p1lifex");
661 LIST_ADD(CMD_LEVELORDER_P1MP, "p1mp");
662 LIST_ADD(CMD_LEVELORDER_P1NAMEJ, "p1namej");
663 LIST_ADD(CMD_LEVELORDER_P1RUSH, "p1rush");
664 LIST_ADD(CMD_LEVELORDER_P1SCORE, "p1score");
665 LIST_ADD(CMD_LEVELORDER_P1SHOOT, "p1shoot");
666 LIST_ADD(CMD_LEVELORDER_P1SMENU, "p1smenu");
667 LIST_ADD(CMD_LEVELORDER_P2ICON, "p2icon");
668 LIST_ADD(CMD_LEVELORDER_P2ICONW, "p2iconw");
669 LIST_ADD(CMD_LEVELORDER_P2LIFE, "p2life");
670 LIST_ADD(CMD_LEVELORDER_P2LIFEN, "p2lifen");
671 LIST_ADD(CMD_LEVELORDER_P2LIFEX, "p2lifex");
672 LIST_ADD(CMD_LEVELORDER_P2MP, "p2mp");
673 LIST_ADD(CMD_LEVELORDER_P2NAMEJ, "p2namej");
674 LIST_ADD(CMD_LEVELORDER_P2RUSH, "p2rush");
675 LIST_ADD(CMD_LEVELORDER_P2SCORE, "p2score");
676 LIST_ADD(CMD_LEVELORDER_P2SHOOT, "p2shoot");
677 LIST_ADD(CMD_LEVELORDER_P2SMENU, "p2smenu");
678 LIST_ADD(CMD_LEVELORDER_P3ICON, "p3icon");
679 LIST_ADD(CMD_LEVELORDER_P3ICONW, "p3iconw");
680 LIST_ADD(CMD_LEVELORDER_P3LIFE, "p3life");
681 LIST_ADD(CMD_LEVELORDER_P3LIFEN, "p3lifen");
682 LIST_ADD(CMD_LEVELORDER_P3LIFEX, "p3lifex");
683 LIST_ADD(CMD_LEVELORDER_P3MP, "p3mp");
684 LIST_ADD(CMD_LEVELORDER_P3NAMEJ, "p3namej");
685 LIST_ADD(CMD_LEVELORDER_P3RUSH, "p3rush");
686 LIST_ADD(CMD_LEVELORDER_P3SCORE, "p3score");
687 LIST_ADD(CMD_LEVELORDER_P3SHOOT, "p3shoot");
688 LIST_ADD(CMD_LEVELORDER_P3SMENU, "p3smenu");
689 LIST_ADD(CMD_LEVELORDER_P4ICON, "p4icon");
690 LIST_ADD(CMD_LEVELORDER_P4ICONW, "p4iconw");
691 LIST_ADD(CMD_LEVELORDER_P4LIFE, "p4life");
692 LIST_ADD(CMD_LEVELORDER_P4LIFEN, "p4lifen");
693 LIST_ADD(CMD_LEVELORDER_P4LIFEX, "p4lifex");
694 LIST_ADD(CMD_LEVELORDER_P4MP, "p4mp");
695 LIST_ADD(CMD_LEVELORDER_P4NAMEJ, "p4namej");
696 LIST_ADD(CMD_LEVELORDER_P4RUSH, "p4rush");
697 LIST_ADD(CMD_LEVELORDER_P4SCORE, "p4score");
698 LIST_ADD(CMD_LEVELORDER_P4SHOOT, "p4shoot");
699 LIST_ADD(CMD_LEVELORDER_P4SMENU, "p4smenu");
700 LIST_ADD(CMD_LEVELORDER_PAUSEOFFSET, "pauseoffset");
701 LIST_ADD(CMD_LEVELORDER_RUSH, "rush");
702 LIST_ADD(CMD_LEVELORDER_RUSHBONUS, "rushbonus");
703 LIST_ADD(CMD_LEVELORDER_SCBONUSES, "scbonuses");
704 LIST_ADD(CMD_LEVELORDER_SCENE, "scene");
705 LIST_ADD(CMD_LEVELORDER_SCOREFORMAT, "scoreformat");
706 LIST_ADD(CMD_LEVELORDER_SELECT, "select");
707 LIST_ADD(CMD_LEVELORDER_SET, "set");
708 LIST_ADD(CMD_LEVELORDER_SHOWCOMPLETE, "showcomplete");
709 LIST_ADD(CMD_LEVELORDER_SHOWRUSHBONUS, "showrushbonus");
710 LIST_ADD(CMD_LEVELORDER_SINGLE, "single");
711 LIST_ADD(CMD_LEVELORDER_SKIPSELECT, "skipselect");
712 LIST_ADD(CMD_LEVELORDER_SKIPTOSET, "skiptoset");
713 LIST_ADD(CMD_LEVELORDER_SPAWNOVERRIDE, "spawnoverride");
714 LIST_ADD(CMD_LEVELORDER_TIMEICON, "timeicon");
715 LIST_ADD(CMD_LEVELORDER_TIMELOC, "timeloc");
716 LIST_ADD(CMD_LEVELORDER_TOTALSCORE, "totalscore");
717 LIST_ADD(CMD_LEVELORDER_TYPEMP, "typemp");
718 LIST_ADD(CMD_LEVELORDER_UNLOCKBG, "unlockbg");
719 LIST_ADD(CMD_LEVELORDER_Z, "z");
720
721 #undef LIST_ADD
722 return result;
723 }
724