![]() |
Routines |
| Prev: 48284 | Up: Map | Next: 48390 |
|
Used by the routines at CheckObjectAttribute, ProcessGameStatusEntries, ProcessGameStatusEntriesWithCounter and ProcessGameStatusEntriesAlternate.
Tests the action flags and runs CheckBitAndProcessEntry when bit 2 is set. Returns non-zero when that entry is accepted, and zero when it is not.
|
||||
| CheckBitAndProcess | 48329 | BIT 2,(IX+3) | Jump to CheckBitAndProcess_Next if a marker on the action flags is clear. | |
| 48333 | JR Z,CheckBitAndProcess_Next | |||
| 48335 | PUSH IX | Call CheckBitAndProcessEntry to test bit and process entry. | ||
| 48337 | PUSH BC | |||
| 48338 | CALL CheckBitAndProcessEntry | |||
| 48341 | POP BC | |||
| 48342 | POP IX | Go to CheckBitAndProcess_TestStepSucceedsScript if the entry check returns zero. | ||
| 48344 | JR Z,CheckBitAndProcess_TestStepSucceedsScript | |||
| CheckBitAndProcess_Next | 48346 | BIT 5,(IX+3) | Jump to CheckBitAndProcess_MarkActionTaken if a marker on the action flags is clear. | |
| 48350 | JR Z,CheckBitAndProcess_MarkActionTaken | |||
| 48352 | SET 0,(IX+3) | Set the action-pending flag and jump ahead to CheckBitAndProcess_ClearResult. | ||
| 48356 | JR CheckBitAndProcess_ClearResult | |||
|
Mark the action taken and clear the bit that would repeat it.
|
||||
| CheckBitAndProcess_MarkActionTaken | 48358 | SET 1,(IX+3) | Mark the action taken so the script will not repeat it. | |
| 48362 | RES 0,(IX+3) | |||
| 48366 | BIT 4,(IX+3) | Jump to CheckBitAndProcess_ClearResult if the action state flag is clear. | ||
| 48370 | JR Z,CheckBitAndProcess_ClearResult | |||
| 48372 | LD L,(IX+4) | Read the handler address from bytes 4-5 of the record and keep the record. | ||
| 48375 | LD H,(IX+5) | |||
| 48378 | PUSH IX | |||
| 48380 | CALL JumpToHandler | Call JumpToHandler to jump to handler. | ||
| 48383 | POP IX | |||
| CheckBitAndProcess_ClearResult | 48385 | XOR A | Clear A. | |
| 48386 | RET | Return. | ||
| CheckBitAndProcess_TestStepSucceedsScript | 48387 | OR %00000001 | Reset the zero flag. | |
| 48389 | RET | Return. | ||
| Prev: 48284 | Up: Map | Next: 48390 |