Location (LOC) scripts specification
Level-0 simple statements:
| DISK |
Selects data file containing resources for this location (it used to ask the user to switch floppy in the original games). This statement appears any other resource specification.
|
| LOCATION |
Specifies location name and selects background bitmap and depth mask. It is not necessary for this statement to be the first one in the script.
|
| LOCAFLAGS |
Declares custom flags for the current location: the default value is *clear*. The flags values are retained across savegames and location switches.
|
| FLAGS |
Sets flags declared in LOCALFLAGS.
|
| SOUND |
Specifies sound effect to be looped (as it was background music).
|
| MUSIC |
Specifies background music.
|
| ENDLOCATION |
Tells the parser there is nothing more to read in this location script.
|
Level-0 block statements (with brief description):
| ZONE |
Declares interactive screen area.
|
| ANIMATION |
Declares visible animation.
|
| COMMENT |
Defines text to be displayed in a balloon when the location is accessed for the first time.
|
| ENDCOMMENT |
Special text displayed on end game. There is only one instance in the last location for Nippon Safes.
|
| NODES |
Defines points to be used as aid when computing walk paths.
|
| COMMANDS |
Defines a list of commands to be executed before COMMENT text -if any- is displayed.
|
| ACOMMANDS |
Defines a list of commands to be executed after COMMENT text -if any- is displayed.
|
Zone block
| LIMITS |
Defines rectangular interactive area on screen.
|
| LABEL |
Text to be displayed when mouse enters the area defined by LIMITS.
|
| FLAGS |
One or more among behavior flags, separated by pipe character.
|
| COMMANDS |
List of commands to be executed when zone is activated.
|
| MOVETO |
Specifies position (x, y) character is set to walk to when action is triggered on this zone.
|
| TYPE |
Block defining special features of the zone. See here.
|
| ENDZONE |
Marks the end of Zone definition.
|
Animation block
| POSITION |
Defines starting position (x, y, z) of the animation on the screen.
|
| FILE |
Data file holding animation frames and respective sizes.
|
| SCRIPT |
Name of script file (SCR) containing instructions to drive this animation (and possibly others).
|
| LABEL |
Text to be displayed when mouse enters the area occupied by the animation. Since animations can move, the area is computed on the fly.
|
| FLAGS |
One or more among behavior flags, separated by pipe character.
|
| COMMANDS |
List of commands to be performed when execution of animation script (SCR) is over.
|
| MOVETO |
Specifies position (x, y) character is set to walk to when action is triggered on this animation (usually a non-playing character).
|
| TYPE |
Block defining special features of the animation. See here.
|
| ENDANIMATION |
Marks the end of Animation definition.
|
These blocks are made of plain text, followed by an ENDTEXT statement on its own line.
Nodes block
This block only appear once in a location file, and holds a list of screen coordinates.
| COORDS |
Declares one point (x, y) to be used in walk path calculation, whenever a direct path between two positions is not available.
|
| ENDNODES |
Marks the end of Nodes block.
|
Commands/Acommands block
This block holds a list of commands with their own parameters. With regard to the order in which commands are encountered during parsing, the execution flow is backwards.
| SET |
Sets a global (system) flag or a flag declared with LOCALFLAGS statement.
|
| CLEAR |
Clears a global (system) flag or a flag declared with LOCALFLAGS statement.
|
| START |
Sets kFlagsActing flag, starting animation script (SCR) execution.
|
| STOP |
Clears kFlagsActing flag, stopping animation script (SCR) execution.
|
| SPEAK |
Schedules a dialogue for execution at the beginning of the next game loop.
|
| GET |
Adds an item to the inventory and removes corresponding Zone from screen, unless kFlagsFixed is set for the same Zone.
|
| DROP |
Removes an item from inventory.
|
| LOCATION |
Schedules a location switch.
|
| OPEN |
Schedules a door for opening at the next frame.
|
| CLOSE |
Schedules a door for closing at the next frame.
|
| ON |
Sets kFlagActive, this displaying a previously hidden Zone or Animation.
|
| OFF |
Sets kFlagRemove, this scheduling a visible Zone or Animation for hiding.
|
| CALL |
Calls a built-in routine for special gfx.
|
| TOGGLE |
Toggles a global (system) flag or a flag declared with LOCALFLAGS statement.
|
| QUIT |
Sets system quit flag, thus telling the engine to exit the game.
|
| MOVE |
Sets animation to be moved at the specified position.
|
| ENDCOMMANDS |
Marks the end of Commands list.
|