![]() |
Data |
| Prev: BAD8 | Up: Map | Next: BC90 |
|
Records 1 to 6 of the object records (the knight's is the seventh, KNIGHT), twenty bytes each, laid out like his. They have no sprite (+4 and +5 are zero, so nothing draws them) and huge sizes, and they box the room in for the collision code, which tests every record in use from the first (FIND_OBSTACLE): record 1 is the floor, ten high with its top at +7; record 2 the ceiling; records 3 and 4 the walls across +6, one at each end; records 5 and 6 the walls across +8. Each reaches right across the room the other two ways ($FF). An object occupies +6 to +6 plus +9, +7 less +10 to +7, and +8 to +8 plus +11 (FAR_CORNER).
A room sets them with the patch code in its object list (or a part's), $E6 up: PATCH_RECORDS in DO_ROOM_COMMAND writes the patch's six bytes into the floor's and the ceiling's +7, records 3 and 4's +6 and records 5 and 6's +8. In most rooms the floor's top is 50, the height the knight's feet are at when he stands on it. Every room the knight plays in has a patch in its list or in one of its parts; only rooms 1, 79 and 81 (GAME OVER, the title and the end of the quest) have none (read from the rooms' commands, parts followed). On the tape they hold the values below; entering rooms 3, 45, 80 and 5 in the simulator showed the walls moving to that room's patch (measured).
|
||||
| FIXED_RECORDS | BC18 | DEFB $00,$00,$00,$00,$00,$00 | Record 1, the floor: no sprite; at 50, 50, 50; 255 by 10 by 255 | |
| BC1E | DEFB $32,$32,$32 | |||
| BC21 | DEFB $FF,$0A,$FF | |||
| BC24 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| BC2C | DEFB $00,$00,$00,$00,$00,$00 | Record 2, the ceiling: at 50, 120, 50 on the tape; 255 by 10 by 255 | ||
| BC32 | DEFB $32,$78,$32 | |||
| BC35 | DEFB $FF,$0A,$FF | |||
| BC38 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| BC40 | DEFB $00,$00,$00,$00,$00,$00 | Record 3, a wall across +6: at 178, 255, 50; 10 by 255 by 255 | ||
| BC46 | DEFB $B2,$FF,$32 | |||
| BC49 | DEFB $0A,$FF,$FF | |||
| BC4C | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| BC54 | DEFB $00,$00,$00,$00,$00,$00 | Record 4, the other wall across +6: at 40, 255, 50; 10 by 255 by 255 | ||
| BC5A | DEFB $28,$FF,$32 | |||
| BC5D | DEFB $0A,$FF,$FF | |||
| BC60 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| BC68 | DEFB $00,$00,$00,$00,$00,$00 | Record 5, a wall across +8: at 50, 255, 175 on the tape; 255 by 255 by 10 | ||
| BC6E | DEFB $32,$FF,$AF | |||
| BC71 | DEFB $FF,$FF,$0A | |||
| BC74 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| BC7C | DEFB $00,$00,$00,$00,$00,$00 | Record 6, the other wall across +8: the same on the tape | ||
| BC82 | DEFB $32,$FF,$AF | |||
| BC85 | DEFB $FF,$FF,$0A | |||
| BC88 | DEFB $00,$00,$00,$00,$00,$00,$00,$00 | |||
| Prev: BAD8 | Up: Map | Next: BC90 |