Prev: 33368 Up: Map Next: 33432
33369: Next Object Slot
Return address pushed by 33268. Moves IX onto the next 24-byte actor and either dispatches it or runs the rest of the game loop once the list is finished.
Input
IX Actor slot
Advance IX onto the next 24-byte actor slot.
NextObjectSlot 33369 LD DE,24 IX+=0024.
33372 ADD IX,DE
33374 PUSH IX Copy IX to HL (using the stack).
33376 POP HL
33377 LD BC,25152 Jump to StartGame_NextActor if HL is still below Actor_List_End.
33380 AND A
33381 SBC HL,BC
33383 JP C,StartGame_NextActor
33386 DEFB 0 Patched to JP ResetModifiedInFrame while a frame update is running.
33387 DEFB 0
33388 DEFB 0
Update timers, then handle pause, spawning, pickups and bombs.
33389 LD HL,(24130) Increment GameTimer by one.
33392 INC HL
33393 LD (24130),HL
Stir the random number with a byte from the ROM, picked by the low byte of the timer.
33396 LD H,0 H=0 so HL is a ROM address from 0000 to 0255, set by the low byte of GameTimer.
33398 LD A,(24128) A=*RandomNumber.
33401 ADD A,(HL) Add the ROM byte at *HL to A.
33402 LD (24128),A Write A back to RandomNumber.
33405 CALL ControlsPause Call ControlsPause.
Restart the game loop early if Jetman is not in play.
33408 LD A,(24172) Jump to StartGame_ReadyStack if PlayerInactive is set.
33411 AND A
33412 JP NZ,StartGame_ReadyStack
Spawn an alien if there are too few, then run the remaining handlers for this frame.
33415 LD A,(24158) Call SpawnAlien if AlienCount is less than 7.
33418 CP 7
33420 CALL C,SpawnAlien
33423 CALL Handler_Pickups Call Handler_Pickups.
33426 CALL Handler_Bombs Call Handler_Bombs.
33429 JP StartGame_ReadyStack Jump to StartGame_ReadyStack.
Prev: 33368 Up: Map Next: 33432