.objc6 \ If we get here then the object ID is 31, 32 or 33 LDX alienSlot-30,Y \ If the slot for alien Y contains a negative number, BMI objc7 \ then the slot is empty, so jump to objc11 via objc7 \ to return from the subroutine LDA alienState,X \ If the alien's state is >= 27, then it is heading for CMP #27 \ Acornsville, so jump to objc9 to process this object BCS objc9 LDA alienObjectId,X \ Set A to the object ID for this alien BPL objc5 \ If A is positive, jump to objc5 to set the object \ coordinates and process this object .objc7 JMP objc11 \ Jump to objc11 to move on to the next alien in the \ group (for object 30) or return from the subroutine \ (for objects 31 to 33) .objc8 JMP objc12 \ Jump to objc12 to return from the subroutineName: SetObjectCoords (Part 7 of 11) [Show more] Type: Subroutine Category: 3D geometry Summary: Pre-process feeding and flying aliens (objects 31, 32 and 33) Deep dive: 3D objectsContext: See this subroutine in context in the source code References: No direct references to this subroutine in this source file
[X]
Variable alienObjectId (category: The Theme)
Object IDs for each of the eight aliens
[X]
Variable alienSlot (category: The Theme)
Slots for up to three aliens that are ready to start moving towards the town
[X]
Variable alienState (category: The Theme)
The state of each of the eight aliens
[X]
Label objc11 in subroutine SetObjectCoords (Part 10 of 11)
[X]
Label objc12 in subroutine SetObjectCoords (Part 11 of 11)
[X]
Label objc5 in subroutine SetObjectCoords (Part 6 of 11)
[X]
Label objc7 is local to this routine
[X]
Label objc9 in subroutine SetObjectCoords (Part 8 of 11)