Prev: 60166 Up: Map Next: 60243
60227: Data buffer - for each room object, creature, scenery item
This 16 byte working buffer handles each room item data set, stored at 31744. Bytes are copied back and forth between store and buffer.
60227 DEFB 0 Type of graphic to draw - checked & dealt with at routine at 51359:
1 = Back wall bricks/scenery, door frames, and wall-floor connector graphics. Also servant and flashing eye cursor
2 = Door
3 = Creature
4 = Interactable objects (e.g. key, chest, scroll)
5 = Missile fired by creature/warlock
6 = Corner-wall section (left)
7 = Corner-wall section (right)
8 = Missile fired by Maroc
14 = Tunnel item - boundary wall, spider or bat
15 = Viewport position for tunnel rooms
32 = Viewport position for standard rooms
60228 DEFW 0 Multiple use:
  • Tunnel number offset (32) stored at 50727
  • Address pointer to data sets at 26512 (plus offset) stored in routine at 50062
  • Address pointer to data set for a room object (29551) in the current room (checked at 56959)
  • Pointer to warlock & creature data sets at 27772 and 27828
  • For missiles, address pointer to missile table at 27868
60230 DEFB 0 Multiple uses:
0 = Back wall door
1 = Right wall door
2 = Left wall door
Connecting door set number (from 26512)
Tunnel boundary wall type, 1 (right) or 2 (left) - 55042
Tunnel number 0-31 (room number minus 224) stored at 50731.
Data set number for object in room interactable objects table at 29551
Creature type setup in routine at 52630 - warlock & creature data at 27772:
  • 1-7 = Warlock
  • 8 = Guardian of Chaos
  • 9 = Goblin warrior
  • 10 = Goblin missile thrower
  • 11 = Wraith
  • 12 = Demon
  • 4 = Spider (creature generation in tunnel at 55128)
  • 8 = Bat (creature generation in tunnel at 55128)
60231 DEFB 0 Overflow/precision byte used when calculating the item's horizontal room position ('true' position is the next - high - byte which follows this one)
Acts as a fraction/overflow value for large/small values when this item's horizontal room position is calculated at 51265
Second byte of foreground scenery set (at 32513) stored here in routine at 54545
60232 DEFB 0 Graphic horizontal position within current room, in half character (4-pixel) steps
60233 DEFB 0 Overflow/precision byte used when calculating the item's vertical room position ('true' position is the next - high - byte which follows this one)
60234 DEFB 0 Graphic vertical position within current room, in pixels, from top of room playing area
60235 DEFB 0 64 - item in standard room
254 - spider/bat in tunnel room at 55128
255 - other item in tunnel room (50663)
60236 DEFB 0 Item's horizontal movement speed
For room scenery items, calculated at 59630 using the reverse (NEG) of Maroc's horizontal movement speed (60164)
> 128 (negative) = left, < 128 (positive) = right
60237 DEFB 0 Item's vertical movement speed
For room scenery items, calculated at 59630 using the reverse (NEG) of Maroc's vertical movement speed (60165)
> 128 (negative) = up, < 128 (positive) = down
60238 DEFB 0 Item properties byte:
  • ALL - Bit 0 (1) set indicates if any part of graphic is visible on-screen (1 = visible, 0 = not visible)
  • ITEMS - Bit 1 (2) set indicates an item is hidden (e.g. inside a chest)
  • ALL - Bit 2 (4) set if this item needs erasing on-screen, before being re-drawn (e.g. item has changed frame/moved)
  • ITEMS - Bit 3 (8) indicates (when set) that an item is flying/falling - e.g. an item thrown/dropped by the servant (see 52059)
  • ITEMS - Bit 4 (16) set = item currently carried by servant
  • ITEMS - Bit 6 (64) = item is portable
  • DOORS - Bit 3 (8) set (1) if door is open, reset (0) if closed
  • DOORS - Bit 5 (32) set when a door opening/closing is triggered
  • DOORS - Bit 6 (64) set if door is now opening/closing
  • DOORS - Bit 7 (128) set - Maroc has just gone through a doorway
  • MISSILES - Bits 5-8 - length of missile's existence on-screen before disappearing
  • CREATURES - Bit 5 (32) - creature is disintegrating, will need removing post-animation
  • WARLOCKS - Bit 6 (64) trigger warlock disappearance post-materialization animation (52873) - successful object trade
  • WARLOCKS - Bit 7 (128) trigger warlock's appearance, post-materialization animation
60239 DEFB 0 Pre-graphics data byte (see Graphic properties):
  • Bits 0-3 - graphics frame
  • Bit 5 is set - graphic is 'flippable'
  • Bit 6 is set = graphic has a left/right facing direction (e.g. mouse, goblins)
  • Bit 7 is set = graphic is animated
60240 DEFB 0 Graphic address frame offset (>1 for mirrored graphics frames)
Used at 57538 to calculate the graphics address pointer offset for the graphic in the table at 38851
Offset address = [(n-1)*2] - e.g. a byte value of 1 = no offset, byte value of 4 = offset of 6 bytes, or 3 x 2-byte pointer addresses
Bit 3 (8) - used for creatures with left/right facing graphics, to indicate if they are facing right (set) or left (not set) - see 58203
60241 DEFW 0 Graphic address pointer (in table at 38851), including any offset for the correct graphic frame
Prev: 60166 Up: Map Next: 60243