Prev: 48161 Up: Map Next: 48244
48198: Process Game Status Entries
Used by the routines at StoreSetMarkPointer and ReadActionFlags.
See whether this byte is the end marker, then test the mark on this byte
ProcessGameStatusEntries 48198 LD IX,39269 Use the character pairs (39245+24).
48202 LD HL,0
48205 PUSH HL
ProcessGameStatusEntries_Loop 48206 LD A,(IX+0) Jump to ProcessGameStatusEntries_KeepMatchFlags if the record's flag byte is 255.
48209 CP 255
48211 JR Z,ProcessGameStatusEntries_KeepMatchFlags
48213 BIT 0,(IX+3) Jump to ProcessGameStatusEntries_0 if the action-pending flag is clear.
48217 JR Z,ProcessGameStatusEntries_0
48219 BIT 5,(IX+3) Jump to ProcessGameStatusEntries_0 if a marker on the action flags is set.
48223 JR NZ,ProcessGameStatusEntries_0
48225 PUSH IX Call AdvancePointerAndCheckBit, keeping character record.
ProcessGameStatusEntries_0 48227 CALL AdvancePointerAndCheckBit
48230 JR ProcessGameStatusEntries_Loop Jump back to ProcessGameStatusEntries_Loop to read the record flag, see whether it is the end marker and jump to ProcessGameStatusEntries_KeepMatchFlags.
Keep the match flags before returning.
ProcessGameStatusEntries_KeepMatchFlags 48232 POP HL Restore the saved pointer from the stack.
48233 LD A,H See whether the pointer is empty.
48234 OR L
48235 RET Z Return when the status pointer is empty.
48236 PUSH HL Call CheckBitAndProcess to check bit and process.
48237 POP IX
48239 CALL CheckBitAndProcess
48242 JR ProcessGameStatusEntries_KeepMatchFlags Go back to ProcessGameStatusEntries_KeepMatchFlags for the next status entry.
Prev: 48161 Up: Map Next: 48244