/
Crimson2/alias/
Crimson2/area.tmp/
Crimson2/area.tmp/AnomalySpaceDock/
Crimson2/area.tmp/AnomalyStation/
Crimson2/area.tmp/AntHill/
Crimson2/area.tmp/ArcticTerrarium/
Crimson2/area.tmp/BuilderCity/
Crimson2/area.tmp/Dungeon/
Crimson2/area.tmp/MiningDock/
Crimson2/area.tmp/PipeSystem/
Crimson2/area.tmp/RattArea/
Crimson2/area.tmp/RobotFactory/
Crimson2/area.tmp/SilverDale/
Crimson2/area.tmp/StarshipFearless/
Crimson2/area.tmp/StationConduits/
Crimson2/area.tmp/TerrariumAlpha/
Crimson2/area.tmp/TerrariumBeta/
Crimson2/area.tmp/TestArea/
Crimson2/area.tmp/Void/
Crimson2/area/
Crimson2/area/AnomalySpaceDock/
Crimson2/area/AnomalyStation/
Crimson2/area/MiningDock/
Crimson2/area/PipeSystem/
Crimson2/area/SilverDale/
Crimson2/area/StationConduits/
Crimson2/area/Void/
Crimson2/board/
Crimson2/clone/
Crimson2/lib/
Crimson2/mole/
Crimson2/mole/mole_src/HELP/
Crimson2/player/
Crimson2/util/
Crimson2/wldedit/
Crimson2/wldedit/res/
extern void      CodeInit();
extern WORD      CodeCompileProperty(PROPERTY *property, THING *errorthing);
extern WORD      CodeDecompProperty(PROPERTY *property, THING *errorthing);
extern BYTE      CodeIsCompiled(PROPERTY *property);
extern void      CodeCheckFlag(THING *thing);
extern void      CodeSetFlag(THING *thing, PROPERTY *property);
extern void      CodeClearFlag(THING *thing, PROPERTY *property);
extern PROPERTY *CodeFind(PROPERTY *property, BYTE *eventStr);
extern STR      *CodeStrFree(STR *str);

extern BYTE      CodeParseIdle(THING *codeThing);
extern BYTE      CodeParseFighting(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseAfterFighting(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseCommand(THING *eventThing, THING *codeThing, BYTE *cmd);
extern BYTE      CodeParseAfterCommand(THING *eventThing, THING *codeThing, BYTE *cmd);
extern BYTE      CodeParseEntry(THING *eventThing, THING *codeThing, EXIT *exit);
extern BYTE      CodeParseAfterEntry(THING *eventThing, THING *codeThing, EXIT *exit);
extern BYTE      CodeParseExit(THING *eventThing, THING *codeThing, EXIT *exit);
extern BYTE      CodeParseAfterExit(THING *eventThing, THING *codeThing, EXIT *exit);
extern BYTE      CodeParseDeath(THING *eventThing, THING *codeThing, THING *deathThing);
extern BYTE      CodeParseAfterDeath(THING *eventThing, THING *codeThing, THING *deathThing);
extern BYTE      CodeParseFlee(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseAfterFlee(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseReset(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseAfterReset(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseDamage(THING *eventThing, THING *codeThing, THING *damageThing);
extern BYTE      CodeParseAfterDamage(THING *eventThing, THING *codeThing, THING *damageThing);
extern BYTE      CodeParseUse(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseAfterUse(THING *eventThing, THING *codeThing);
extern BYTE      CodeParseAfterAttack(THING *eventThing, THING *codeThing, THING *targetThing);
extern ULWORD codeSet;

/* bit flags for CodeSet value */
#define CODE_BOOTCOMPILE         (1<<0) /* compile code upon boot */
#define CODE_SAVECOMMENT         (1<<1) /* compiler saves comments */
#define CODE_DEBUGCOMPILE        (1<<2) /* generate compiler debug messages */
#define CODE_DEBUGINTERP         (1<<3) /* generate interpreter debug messages */
#define CODE_DEBUGDECOMPILE      (1<<4) /* generate decompiler debug messages */