![]() |
Data |
| Prev: 5E07 | Up: Map | Next: 5E2F |
|
4 pieces of scenery and 15 objects in 4 groups. Positions are cells (U, V, level): U and V 0-7, sixteen units a cell from 72; each level twelve units up from the floor.
The room directory: 139 records, one per room, end to end up to SCENERY_TABLE. BUILD_ROOM finds a room by stepping from one record to the next until the number matches.
A record is +0 the room number, +1 the count of bytes that follow it, +2 the room's ink (bits 0-2; the builder adds BRIGHT) and its size (bits 3-7, an index into ROOM_SIZES). Then the scenery, two bytes an entry -- a scenery template (SCENERY_TABLE) and, for a doorway, the room it leads to -- up to an $FF; then the objects in groups, a header byte (bits 0-2: how many, less one; bits 3-7: the object template, OBJECT_TABLE) and a position byte for each: U in bits 0-2, V in bits 3-5, the level in bits 6-7. Nothing ends a record but the count at +1 running out, and a group can be cut short by it.
Each room is an entry of its own, laid out from the game's data when the disassembly is built.
|
||||
| ROOMS | 5E10 | DEFB $00,$1E,$07 | Room 0; 30 bytes follow; ink 7, size 0 | |
| 5E13 | DEFB $18,$93 | Scenery template 24: a doorway to room 147 | ||
| 5E15 | DEFB $1C,$00 | Scenery template 28 | ||
| 5E17 | DEFB $0C,$00 | Scenery template 12 | ||
| 5E19 | DEFB $0D,$00 | Scenery template 13 | ||
| 5E1B | DEFB $FF | End of the scenery | ||
| 5E1C | DEFB $01,$FD,$FE | Object template 0 x2 at (5,7,3), (6,7,3) | ||
| 5E1F | DEFB $BD,$5A,$75,$B5,$F5,$35,$1A | Object template 23 x6 at (2,3,1), (5,6,1), (5,6,2), (5,6,3), (5,6,0), (2,3,0) | ||
| 5E26 | DEFB $1D,$2E,$25,$1E,$1C,$15,$33 | Object template 3 x6 at (6,5,0), (5,4,0), (6,3,0), (4,3,0), (5,2,0), (3,6,0) | ||
| 5E2D | DEFB $88,$9D | Object template 17 at (5,3,2) | ||
| Prev: 5E07 | Up: Map | Next: 5E2F |