Prev: 8EF9 Up: Map Next: 902A
8EFA: Object Records
Nineteen records of 10 bytes each. Run_Game works through them one by one, using byte 00 of each record (the type of the object, which is also its sprite id) as an index into the handler table at Object_Handler_Table. A type of 00 marks a record that is not in use.
The first two records are the weapons that Sabreman throws. They are handled only as priority records (see Finish_Object_Pass). The third record is Sabreman. Reset_Sabreman fills it in using the template at Sabreman_Template.
Some of the other records have fixed uses: the fourth is the rope (type 17 which Set_Up_Rope sets up when the room has a rope) and the fifth is a falling stalactite (see Spawn_Falling_Stalactite).
Byte Contents
00 Type of the object (the sprite id)
01 X position
02 Room x
03 Y position
04 Room y
05 Attribute
06-0F Used differently by each type of handler
Most handlers use bit 0 of byte 0F (or of byte 07) as a flag to say that the sprite has no old image to erase (see Update_Object_Sprite). Byte 09 is often a vertical speed and bytes 0A and 0D are often the fractions of the x and y positions.
Object_Records 8EFA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 0: the first thrown weapon.
First_Weapon_Redraw_Flags 8F09 DEFB $00 Record 0: the redraw flags.
Second_Weapon_Record 8F0A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 1: the second thrown weapon.
Sabreman_Record 8F1A DEFB $00 Record 2: the sprite id of Sabreman.
Sabreman_X_Position 8F1B DEFB $00 The x position of Sabreman.
Sabreman_Room_X 8F1C DEFB $00 The room x of Sabreman.
Sabreman_Y_Position 8F1D DEFB $00 The y position of Sabreman.
Sabreman_Room_Y 8F1E DEFB $00 The room y of Sabreman.
Sabreman_Attribute 8F1F DEFB $00 The attribute of Sabreman.
Sabreman_X_Velocity 8F20 DEFB $00 The x velocity of Sabreman.
8F21 DEFB $00 Byte 07.
Sabreman_Carried_X_Position 8F22 DEFB $00 Byte 08 where an eagle puts the x position of Sabreman.
Sabreman_Carried_Y_Position 8F23 DEFB $00 Byte 09 where an eagle puts the y position of Sabreman.
8F24 DEFB $00 Byte 0A.
Sabreman_Contact_Flags 8F25 DEFB $00 The contact flags of Sabreman.
8F26 DEFB $00,$00,$00 Bytes 0C to 0E.
Sabreman_Redraw_Flags 8F29 DEFB $00 The redraw flags of Sabreman.
Rope_Record 8F2A DEFB $00,$00,$00,$00,$00,$00 Record 3: the rope.
Rope_X_Velocity 8F30 DEFB $00 The x velocity of the rope.
8F31 DEFB $00,$00,$00,$00,$00,$00,$00,$00 Bytes 07 to 0E.
Rope_Redraw_Flags 8F39 DEFB $00 The redraw flags of the rope.
Falling_Stalactite_Record 8F3A DEFB $00 Record 4: the type of the falling stalactite.
Falling_Stalactite_X_Position 8F3B DEFB $00 The x position of the stalactite.
Falling_Stalactite_Room_X 8F3C DEFB $00 The room x of the stalactite.
Falling_Stalactite_Y_Position 8F3D DEFB $00 The y position of the stalactite.
Falling_Stalactite_Room_Y 8F3E DEFB $00 The room y of the stalactite.
8F3F DEFB $00,$00,$00,$00 Bytes 05 to 08.
Falling_Stalactite_Y_Velocity 8F43 DEFB $00 The y velocity of the stalactite.
8F44 DEFB $00,$00,$00,$00,$00 Bytes 0A to 0E.
Falling_Stalactite_Redraw_Flags 8F49 DEFB $00 The redraw flags of the stalactite.
Dust_Record 8F4A DEFB $00,$00,$00,$00,$00,$00,$00,$00 Record 5: the puff of dust.
Dust_Counter 8F52 DEFB $00 The counter of the puff of dust.
8F53 DEFB $00,$00,$00,$00,$00,$00 Bytes 09 to 0E.
Dust_Redraw_Flags 8F59 DEFB $00 The redraw flags of the puff of dust.
First_Bubble_Record 8F5A DEFB $00,$00,$00 Records 6 to 9: the four bubbles. This is the first.
First_Bubble_Y_Position 8F5D DEFB $00 The y position of the first bubble.
8F5E DEFB $00 The room y of the first bubble.
First_Bubble_Attribute 8F5F DEFB $00 The attribute of the first bubble.
8F60 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 Bytes 06 to 0E.
First_Bubble_Redraw_Flags 8F69 DEFB $00 The redraw flags of the first bubble.
8F6A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 7: the second bubble.
Object_Record_8 8F7A DEFB $00 Record 8: the third bubble, or the first decoration.
Object_Record_8_X_Position 8F7B DEFB $00 The x position of record 08.
8F7C DEFB $00 The room x of record 08.
Object_Record_8_Y_Position 8F7D DEFB $00 The y position of record 08.
8F7E DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Bytes 04 to 0E.
Object_Record_8_Redraw_Flags 8F89 DEFB $00 The redraw flags of record 08.
Object_Record_9 8F8A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 9: the fourth bubble, or the second decoration.
Object_Record_10 8F9A DEFB $00 Record 10: the third decoration.
Object_Record_10_X_Position 8F9B DEFB $00 The x position of record 0A.
8F9C DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Bytes 02 to 0E.
Object_Record_10_Redraw_Flags 8FA9 DEFB $00 The redraw flags of record 0A.
Object_Record_11 8FAA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 11: the fourth decoration.
First_Special_Object_Record 8FBA DEFB $00 Record 12: the first special object.
First_Special_Object_X_Position 8FBB DEFB $00 The x position of the first special object.
8FBC DEFB $00,$00,$00,$00 Bytes 02 to 05.
First_Special_Object_Entry_Number 8FC0 DEFB $00 The number of the table entry of the first special object.
8FC1 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00 Bytes 07 to 0F.
8FCA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 13: the second special object.
First_Creature_Record 8FDA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Records 14 to 17: the four creatures.
8FEA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
8FFA DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
900A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
901A DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 Record 18.
Prev: 8EF9 Up: Map Next: 902A