![]() |
Routines |
| Prev: E201 | Up: Map | Next: E22A |
|
Used by the routine at DispatchRoomGraphics.
Finds the response for the id in A in the table at Table_ResponsesById.
|
||||
| FindResponseForThisId | E207 | LD IX,$E22A | Point at the response table at Table_ResponsesById. | |
| FindResponseForThisId_Match | E20B | CP (IX+$00) | Jump back to DispatchRoomGraphics_0 if this id matches the entry's id. | |
| E20E | JR Z,DispatchRoomGraphics_0 | |||
| E210 | PUSH AF | Jump to DispatchRoomGraphics_ActionSucceeded if this is the catch-all entry (FE). | ||
| E211 | LD A,(IX+$00) | |||
| E214 | CP $FE | |||
| E216 | JR Z,DispatchRoomGraphics_ActionSucceeded | |||
| E218 | INC A | Jump to FindResponseForThisId_Ended if the table has ended (FF). | ||
| E219 | JR Z,FindResponseForThisId_Ended | |||
| E21B | INC IX | Step to the first group and call SearchThreeByteTable to find the FF that ends it. | ||
| E21D | LD A,$FF | |||
| E21F | CALL SearchThreeByteTable | |||
| E222 | INC IX | Step past the terminator and test the next entry. | ||
| E224 | POP AF | |||
| E225 | JR FindResponseForThisId_Match | |||
| FindResponseForThisId_Ended | E227 | POP AF | Drop the saved id and clear A. | |
| E228 | XOR A | |||
| E229 | RET | Return. | ||
| Prev: E201 | Up: Map | Next: E22A |