Routines |
Prev: 9D37 | Up: Map | Next: 9D97 |
Used by the routines at Action_Look, Action_Putdown, Action_Pickup, Action_Dir, Action_Talkto, Action_Shoot, Action_Inventory, 910E, Action_Attack, Action_Give, Action_Examine, ActionTie, ActionUntie, ActionBurn, ActionCapture, ActionClimbOut and A55F.
|
||||
9D44 | LD A,($B6FA) | If B6FA is $01 then return. | ||
9D47 | CP $01 | |||
9D49 | RET Z | |||
9D4A | INC A | Increase TODO by one and write it to B6FB. | ||
9D4B | LD ($B6FB),A | |||
9D4E | POP BC | |||
9D4F | RET | Return. | ||
This entry point is used by the routines at Action_Attack and Action_Examine.
|
||||
9D50 | LD A,($B6E8) | A=CurrentObject. | ||
9D53 | PUSH IY | Stash IY, IX and HL on the stack. | ||
9D55 | PUSH IX | |||
9D57 | PUSH HL | |||
9D58 | CALL LocateObject | Call LocateObject. | ||
9D5B | LD B,(IX+$01) | B=Mother object. | ||
9D5E | LD IX,$C060 | Set IX to $C060 which is 3 bytes less than the start of the object table due to the following line adding $0003 and moving us on to the first record. | ||
9D62 | CALL Step3ByteTable_Next | Call Step3ByteTable_Next. | ||
9D65 | JR Z,$9D91 | Jump to 9D91 if TODO. | ||
9D67 | CP (IY+$01) | Compare TODO, jump back to 9D62 if so. | ||
9D6A | JR NZ,$9D62 | |||
9D6C | BIT 1,(IY+$07) | |||
9D70 | JR Z,$9D8B | |||
9D72 | PUSH AF | |||
9D73 | LD (IY+$10),$00 | |||
9D77 | LD (IY+$01),$FF | |||
9D7B | RES 7,(IY+$07) | |||
9D7F | CALL $9EC7 | Call 9EC7. | ||
9D82 | LD HL,$B143 | HL="evaporate(s|d|ing|es)[0x15]". | ||
9D85 | CALL PrintMsg | Call PrintMsg. | ||
9D88 | POP AF | |||
9D89 | JR $9D62 | Jump to 9D62. | ||
9D8B | LD (IY+$01),B | |||
9D8E | JP $9D62 | Jump to 9D62. | ||
9D91 | POP HL | Restore HL, IX and IY from the stack. | ||
9D92 | POP IX | |||
9D94 | POP IY | |||
9D96 | RET | Return. |
Prev: 9D37 | Up: Map | Next: 9D97 |