![]() |
Routines |
| Prev: 948D | Up: Map | Next: 950F |
|
Used by the routine at Inglish_RunTheFirstNounTest.
Runs the action handler for the current object and the current action, and stores the result in the message-suppressed flag.
|
||||
| Turn_RunTheActionHandler | 94D6 | PUSH IX | Save IX and HL and call Turn_AcceptTheNamedObject to accept the named object. | |
| 94D8 | PUSH HL | |||
| 94D9 | CALL Turn_AcceptTheNamedObject | |||
| 94DC | LD A,$00 | Take zero and jump to Turn_RunTheActionHandler_Examine_RecordTheResult if Turn_AcceptTheNamedObject returned with the zero flag set. | ||
| 94DE | JR Z,Turn_RunTheActionHandler_Examine_RecordTheResult | |||
| 94E0 | LD A,($B6E7) | Read *CurrentAction. | ||
| 94E3 | LD IX,$C730 | Point IX at the action: "". | ||
|
Find this id in the table at IX.
|
||||
| 94E7 | CALL IndexIdTable | Call IndexIdTable to look this id up in the table. | ||
| 94EA | CP $FF | Take 01, and jump to Turn_RunTheActionHandler_Examine_RecordTheResult if IndexIdTable found the action in the table. | ||
| 94EC | LD A,$01 | |||
| 94EE | JR NZ,Turn_RunTheActionHandler_Examine_RecordTheResult | |||
| 94F0 | CALL Action_MatchAVerbInTheTable | Call Action_MatchAVerbInTheTable to match the action against the five verb bytes. | ||
| 94F3 | LD A,$01 | Take 01, and jump to Turn_RunTheActionHandler_Examine_RecordTheResult if Action_MatchAVerbInTheTable found the action in the verb list. | ||
| 94F5 | JR Z,Turn_RunTheActionHandler_Examine_RecordTheResult | |||
| 94F7 | LD A,($B6E8) | Read *CurrentObject. | ||
|
Find the object's record.
|
||||
| 94FA | CALL LocateObject | Call LocateObject to locate object. | ||
| 94FD | LD A,($B6E7) | Read *CurrentAction. | ||
| 9500 | CALL TableFindAnActionRecord | Call TableFindAnActionRecord to find an action record. | ||
| 9503 | LD A,$01 | Take 01, and jump to Turn_RunTheActionHandler_Examine_RecordTheResult if TableFindAnActionRecord found the action record. | ||
| 9505 | JR C,Turn_RunTheActionHandler_Examine_RecordTheResult | |||
| 9507 | SUB A | Take zero. | ||
| Turn_RunTheActionHandler_Examine_RecordTheResult | 9508 | LD ($B6FB),A | Record in the message-suppressed flag whether this action ran. | |
| 950B | POP HL | Restore HL and IX from the stack. | ||
| 950C | POP IX | |||
| 950E | RET | Return. | ||
| Prev: 948D | Up: Map | Next: 950F |