====== Place File Synax ======
==== Header Line ====
This line must begin with #, and may include any text desired.
There must be at least one header line, but the file may include as many as are deemed useful for documentation purposes.
# Place file for Project Name
==== Comments ====
; Any line beginning with a semicolon is a comment.
==== IMPORT FROM / IMPORT ALL ... FROM ====
When a library is imported, its contents becomes available for use elsewhere in the Place File, but they are conceptually still stored in the library, and don't get compiled in with your game until you make use of them individually. If you import a location specifically, it gets incorporated into your project immediately (you can still open its definition back up to make modifications, however.) A package is a named set of connected locations
IMPORT [LIBRARY | LIBRARIES] FROM "filename":
"BUILDINGS" AS "B"
"NATURE" AS "N"
"BUILDINGS" LOCATION "INT. CAFE" [AS "INT. DINER"]
or
IMPORT ALL LIBRARIES FROM "filename" [PREFIXED BY "IMPORTED"]
==== [FROM ...] ====
When you see [FROM ...] (but not FROM "filename") as part of other syntax, it means you may optionally specify a Library or Area from which the preceding named object should be fetched.
[FROM LIBRARY "L" | FROM AREA "A"]
==== (BASED ON) ====
This must be the first line after an Area Declaration or after a Location Header.
When used for an Area:
MY NEW AREA
-- --- ----
(BASED ON "AREA NAME" [IMPORTED FROM "filename"] [ROTATE 0])
When used for a Location, it makes a copy of the named Location and opens it for modification. This Location may either be a Location that already exists in your game, or a Location defined in an imported Library:
INT. MY NEW LOCATION
(BASED ON "INT. LOCATION NAME" [FROM ...] [ROTATE 0])
==== REFER TO IMPORTED ... AS ... ====
Goes after the (BASED ON) line for an Area, this is used to effectively rename any Package, Location, or other identifier from the imported place file so that a different name is applied throughout the imported version of the content.
REFER TO IMPORTED "POLICE STATION" AS "SHERIFF'S DEPARTMENT"
==== PACKAGE ====
Packaging locations together allows them to be imported or cloned as a related set of locations, maintaining any connections between their exits.
PACKAGE "TRAIL" (START):
EXT. TRAILHEAD ([FROM ...] AS $START)
WITHIN $PACKAGE:
EXT. TRAIL / SWITCHBACK PATH
EXT. TRAIL / LARGE ROCK
EXT. TRAIL / MEADOW
==== UNPACK ====
UNPACK "TRAIL" [FROM ["filename.place"] [LIBRARY "OUTDOORS"]]
AS "NATURE PATH" (START = "PARKING LOT")
==== INT. / EXT. ====
Name a Location in uppercase on an unindented line to either create it (if new) or re-open its definition for additions, changes, or deletions. Once this line is encountered, you are in "Location Definition Context" until switching to another context.
INT. OFFICE
==== Descriptive Text ====
To add or replace a description:
INT. OFFICE
You are in a poorly lit, smoke-filled office. In the center of the
room is a heavy, well-worn mahogany desk.
To append to the existing description:
INT. OFFICE
You look around to gain your bearings. $DESCRIPTION
or
DELETE DESCRIPTION
==== Marks ====
To add or update a mark:
MARK markname
To delete an existing mark:
DELETE MARK markname
==== Exits ====
Exits can be any compass direction, UP, DOWN, ENTER or EXIT.
@ENTER DOOR: Int.
==== SCOPE LIMITERS ====
G$ = Ghostwood GL Engine \\
U$ = Fully 3D Rendering Engine \\
T$ = Text Adventure Engine \\