![]() |
Routines |
| Prev: 41848 | Up: Map | Next: 41921 |
|
Mark the object as carried and set RoverCargoFlag.
|
||||||||
|
Mark the object as carried and set RoverCargoFlag.
|
||||||||
| AttachCarriedItem | 41884 | SET 2,(IX+8) | Set bit 2 of the actor flags. | |||||
| 41888 | LD A,1 | Write 1 to RoverCargoFlag. | ||||||
| 41890 | LD (24227),A | |||||||
|
Record in the actor flags which way the rover faces.
|
||||||||
| 41893 | LD A,(24720) | Fetch Rover_Slot. | ||||||
| 41896 | CP 34 | Compare it against 34. | ||||||
| 41898 | LD A,0 | A=0. | ||||||
| 41900 | JR C,AttachCarriedItem_KeepBit3 | Jump to AttachCarriedItem_KeepBit3 if the rover type is below 34. | ||||||
| 41902 | ADD A,8 | Add 8. | ||||||
|
Keep the facing bit from the actor type and merge it into the flags.
|
||||||||
| AttachCarriedItem_KeepBit3 | 41904 | XOR (IX+0) | XOR it with the actor type. | |||||
| 41907 | AND %00001000 | Keep only bit 3. | ||||||
| 41909 | LD C,A | Stash that bit in C. | ||||||
| 41910 | LD A,(IX+8) | Fetch the actor flags. | ||||||
| 41913 | AND %11110111 | Reset bit 3. | ||||||
| 41915 | OR C | Merge the rover-facing bit back in. | ||||||
| 41916 | LD (IX+8),A | Write the flags back. | ||||||
| 41919 | JR Handler_WorldObject_Loop | Jump to Handler_WorldObject_Loop. | ||||||
| Prev: 41848 | Up: Map | Next: 41921 |