Bouder Rush Editor supports reading/writing simple text cave description.
First column in a cave file contains keyword. Second one contains a value or values.
Following keywords are defined and required (NOTE: order they appear in the
file is important). All keywords and their parameters are case sensitive.
keyword | argument(s) | description |
---|---|---|
FileVersion | version_num | Cave format version (as double). Currently defined as 1.0 |
Author | author | Cave author (as string) |
Name | name | Cave title (as string) |
Description | description | Cave description (as string) |
InitialFill | element_name | Initial fill element (as element name). This element is used to fill entire field. |
RandomFill | el1 el2 el3 el4 | Pseudo-randomly placed elements (four element names). These elements are used to pseudo-randomly fill entire field. |
ObjProbability | p1 p2 p3 p4 | Pseudo-randomly placed elements probabilities (as integers from 0 to 999). Each number encodes probability that corresponding element will be placed on the field. Zero (0) means that given element will not be placed at all. 200 means that corresponding element will occupy about 20.0% of field area. |
RandSeed | s1 s2 s3 s4 | Random generator seed values for corresponding pseudo-randomly placed elements (as integers from 0 to 32767). |
CaveTime | t1 t2 t3 t4 t5 | Cave total times for each level (as five integer values from 1 to 9999) |
DiamondsRequired | d1 d2 d3 d4 d5 | Number of diamonds required to successfully finish the cave for each level (as five integer values from 0 to 9999) |
DiamondValue | v1 | Number of points per diamond (as integer from 0 to 9999) |
DiamondExtraValue | v1 | Number of bonus points per diamond (as integer from 0 to 9999) |
MagicWallTime | time | Number of cave time units magic wall is milling after activation (as integer from 0 to 9999) |
LavaSlowGrowthTime | time | Number of cave time units lava grows slowly (as integer from 0 to 9999). When this time expires lava will grow significally faster. |
SlimePermeability | permeability | Slime permeability in per mills (integer from 0 to 1000). Zero (0) means slime is not permeable. |
CaveWidth | width | Cave width (as integer from 20 to 100). Used to establish cave dimensions. |
CaveHeight | height | Cave height (as integer from 12 to 100). Used to establish cave dimensions. |
Intermission | bool | Cave is intermission (as bool value: "true" or "false"). |
HatchingDelay | delay | Rockford's hatching delay (as integer from 0 to 100). This is a number of scanning frames inbox will be blinking before Rockford's hatching. |
Objects | count | Number of cave objects (as integer from 0). |
object_name | object_params | Object and it's parameters |
Following field elements are defined:
SPACE, DIRT, WALL, MAGICWALL, OUTBOX, WALL2, STEELWALL, FIREFLY, FIREFLYu, FIREFLYr, FIREFLYd, BOULDER, DIAMOND, EXPANDINGWALLH, EXPANDINGWALLV, EXPANDINGWALLVH, INBOX, HIDDENOUTBOX, BUTTERFLY, BUTTERFLYl, BUTTERFLYu, BUTTERFLYr, INBOX, LAVA, SLIME, BOMB, SKULL, FUSE, GLUE, ACID, DUMMY.
Not all of them are explicitly available under cave editor.
Current implementation of cave editor supports following objects:
object | arguments | description |
---|---|---|
Point | pos element | Single element placed on given position |
Line | from to element | Line of elements |
Outline | from to element | Outline (frame) of elements. Positions are given as two opposite corners of outline. |
Rectangle | from to element | Rectangle (filled) of elements. Positions are given as two opposite corners of rectangle. |
OutlinedRect | from to outline fill | Outlined rectangle of elements. Positions are given as two opposite corners of rectangle. |
Grid | from to fill1 fill2 | Patterned (checked) rectangle of elements. Positions are given as two opposite corners of rectangle. |
All positions are encoded as a pair of integers separated by comma ',' character. Elements are encoded as element names.