Prev: 48198 Up: Map Next: 48284
48244: Process Game Status Entries With Counter
Used by the routines at StoreSetMarkPointer and ReadActionFlags.
Walks the character pairs at 39245+24 and counts the entries that still have an action pending.
ProcessGameStatusEntriesWithCounter 48244 LD IX,39269 Use the character pairs (39245+24).
48248 LD B,0
ProcessGameStatusEntriesWithCounter_Loop 48250 LD A,(IX+0) Jump to ProcessGameStatusEntriesWithCounter_ReturnCount if the record's flag byte is 255.
48253 CP 255
48255 JR Z,ProcessGameStatusEntriesWithCounter_ReturnCount
48257 BIT 0,(IX+3) Jump to ProcessGameStatusEntriesWithCounter_Next if the action-pending flag is clear.
48261 JR Z,ProcessGameStatusEntriesWithCounter_Next
48263 CALL CheckBitAndProcess Go to ProcessGameStatusEntriesWithCounter_Next if the attribute needs no extra bit handling.
48266 JR Z,ProcessGameStatusEntriesWithCounter_Next
48268 LD (47646),IX Remember this record at 47635+11 and count one more.
48272 INC B
ProcessGameStatusEntriesWithCounter_Next 48273 CALL AdvancePointerAndCheckBit Jump back to ProcessGameStatusEntriesWithCounter_Loop to read the record flag, see whether it is the end marker and jump to ProcessGameStatusEntriesWithCounter_ReturnCount.
48276 JR ProcessGameStatusEntriesWithCounter_Loop
Returns the count and the record saved for this pass.
ProcessGameStatusEntriesWithCounter_ReturnCount 48278 LD A,B Take the count in A and the record at 47635+11.
48279 LD IX,(47646)
48283 RET Return.
Prev: 48198 Up: Map Next: 48284