![]() |
Data |
| Prev: 6BD1 | Up: Map | Next: 6C12 |
A block type is a list of parts, six bytes each, ended by a 0 byte. For every copy a room asks for, next_fg_obj_sprite makes one object record from each part.
Byte 0 goes to +0, the object type -- which is also its sprite, through sprite_tbl, and its handler, through upd_sprite_jmp_tbl. Bytes 1 to 4 go to +4 to +7: size along x, size along y, height, and flags. Byte 5 is not stored; it adjusts the position. Its bit 0 adds 8 to x, bit 1 adds 8 to y, and the rest, with bits 0 and 1 masked off, is added to z. The record's +8 gets the room number and bytes +9 to +31 are cleared.
Of the flags, bit 6 draws the sprite mirrored left to right and bit 7 draws it upside down (vflip_sprite_data); the other bits are the business of the object handlers.
This one is the plain stone block, type $07: 8 by 8 and 12 high, one cell of the grid, and the commonest thing in the castle.
|
||||
| block | 6C0B | DEFB $07,$08,$08,$0C,$10,$00 | Type, size x, size y, height, flags, offset; then the end marker | |
| 6C11 | DEFB $00 | |||
| Prev: 6BD1 | Up: Map | Next: 6C12 |