Prev: BC46 Up: Map Next: BC9C
BC74: Process Game Status Entries With Counter
Used by the routines at StoreSetMarkPointer and ReadActionFlags.
Walks the character pairs at 994D+18 and counts the entries that still have an action pending.
ProcessGameStatusEntriesWithCounter BC74 LD IX,$9965 Use the character pairs (994D+18).
BC78 LD B,$00
ProcessGameStatusEntriesWithCounter_Loop BC7A LD A,(IX+$00) Jump to ProcessGameStatusEntriesWithCounter_ReturnCount if the record's flag byte is FF.
BC7D CP $FF
BC7F JR Z,ProcessGameStatusEntriesWithCounter_ReturnCount
BC81 BIT 0,(IX+$03) Jump to ProcessGameStatusEntriesWithCounter_Next if the action-pending flag is clear.
BC85 JR Z,ProcessGameStatusEntriesWithCounter_Next
BC87 CALL CheckBitAndProcess Go to ProcessGameStatusEntriesWithCounter_Next if the attribute needs no extra bit handling.
BC8A JR Z,ProcessGameStatusEntriesWithCounter_Next
BC8C LD ($BA1E),IX Remember this record at BA13+0B and count one more.
BC90 INC B
ProcessGameStatusEntriesWithCounter_Next BC91 CALL AdvancePointerAndCheckBit Jump back to ProcessGameStatusEntriesWithCounter_Loop to read the record flag, see whether it is the end marker and jump to ProcessGameStatusEntriesWithCounter_ReturnCount.
BC94 JR ProcessGameStatusEntriesWithCounter_Loop
Returns the count and the record saved for this pass.
ProcessGameStatusEntriesWithCounter_ReturnCount BC96 LD A,B Take the count in A and the record at BA13+0B.
BC97 LD IX,($BA1E)
BC9B RET Return.
Prev: BC46 Up: Map Next: BC9C