![]() |
Routines |
| Prev: EAA2 | Up: Map | Next: EB18 |
|
Handler for the object types 74 to 78: the clock, the tapestry, the table, the sideboard and the bird (see Sprite_Clock_1). These decorations are drawn in the single attribute of the record, which is cyan. The other decorations, which have colours of their own, are handled by Handle_Coloured_Decoration.
A decoration is removed (see Handle_Collectable_Remove) when Sabreman is not in its room. The first time that it is handled Set_Decoration_Size gives it the size of its obstacle, which Check_Object_Contact uses to find out if an object touches it, and then Handle_Static_Object draws it. After that Handle_Static_Object only colours it.
|
||||||||
| Handle_Plain_Decoration | EAF9 | LD A,($8F1C) | Fetch the room x of Sabreman. | |||||
| EAFC | CP (IX+$02) | Jump to Handle_Collectable_Remove to remove the decoration if it is in a different room x. | ||||||
| EAFF | JP NZ,Handle_Collectable_Remove | |||||||
| EB02 | LD A,($8F1E) | Fetch the room y of Sabreman. | ||||||
| EB05 | CP (IX+$04) | Jump to Handle_Collectable_Remove to remove the decoration if it is in a different room y. | ||||||
| EB08 | JP NZ,Handle_Collectable_Remove | |||||||
| EB0B | BIT 0,(IX+$0F) | Jump to Handle_Static_Object if the decoration has been drawn already (bit 0 of the redraw flags is clear). | ||||||
| EB0F | JP Z,Handle_Static_Object | |||||||
| EB12 | CALL Set_Decoration_Size | Copy the size of the obstacle to the object record. | ||||||
| EB15 | JP Handle_Static_Object | Jump to Handle_Static_Object to draw the decoration. | ||||||
| Prev: EAA2 | Up: Map | Next: EB18 |