Routines |
Prev: 49765 | Up: Map | Next: 49858 |
Used by the routine at 49765.
|
||||
49808 | LD A,1 | Graphics type = 1 (fixed scenery item) | ||
49810 | LD (60227),A | |||
49813 | LD A,17 | Graphic number - address pointer offset for graphic address table at 38851 - unnecessary because it'll be overwritten in a few more instructions at 49845 | ||
49815 | LD (60240),A | |||
49818 | LD A,(60280) | Room graphic item's horizontal position within current room, in half-character (4 pixel) steps. Copy into data buffer. | ||
49821 | LD (60232),A | |||
49824 | LD A,(60281) | Room graphic item's vertical position within current room, in pixels. Copy into data buffer. | ||
49827 | LD (60234),A | |||
Sets up (including mirroring if needed) wall/floor connector graphics, depending on which wall is being dealt with (left, right or back)
Uses the byte at 60287 to identify the graphics address offset (C register) and frame (A register) for the wall/floor connector graphic address:
|
||||
49830 | LD A,(60287) | |||
49833 | CP 0 | Back wall - offset for graphics address 38879, back wall floor section (see 40392) | ||
49835 | JR Z,49841 | |||
49837 | LD C,16 | Right/left wall - offset for: | ||
49839 | JR 49845 | |||
49841 | LD C,15 | |||
49843 | LD A,1 | |||
49845 | LD (60240),A | |||
Calculate graphics offset based on level offset and the above
|
||||
49848 | LD A,(60279) | Level type offset to scenery graphics (either 0 or 12 depending on whether it's a 'brick' or 'cavern' style level) | ||
49851 | ADD A,C | Add to calculated value to indicate the correct graphic number based on level type and wall alignment | ||
49852 | CALL 57538 | Set up graphics (copy graphics address pointers and mirror any graphic data) | ||
49855 | CALL 57520 | Copy the item data from the working buffer 60227 into a 16 byte room item data set at 31744. |
Prev: 49765 | Up: Map | Next: 49858 |