Prev: 24720 Up: Map Next: 24891
24829: Game Over
Set up altering the "GAME OVER PLAYER X" message for 1UP.
GameOver1UP 24829 LD A,"1"+128 A="1" + 128 (escape character).
Print the messaging and pause to show it for a period of time.
GameOver_Write 24831 LD (24949),A Write ASCII player number to 24949.
24834 CALL CreateWindow Call CreateWindow.
24837 LD DE,24931 DE=Message_GameOver.
24840 LD HL,28728 HL=28728.
Print message and pause, also used by 24496 and Message_SprayBugs.
GameOverPrint_Pause 24843 CALL PrintString Call PrintString.
Introduce a pause by counting down from 65536 four times.
24846 LD B,4 B=4 (counter).
This entry point is used by the routine at 26327.
GameOverPause 24848 LD HL,0 HL=0 (large counter).
GameOverPause_Loop 24851 DEC HL Decrease HL by one.
24852 LD A,H Loop back to GameOverPause_Loop until HL is zero.
24853 OR L
24854 JR NZ,GameOverPause_Loop
24856 DJNZ GameOverPause_Loop Decrease counter by one and loop back to GameOverPause_Loop until counter is zero.
24858 RET Return.
Set up altering the "GAME OVER PLAYER X" message for 2UP.
GameOver2UP 24859 LD A,"2"+128 A="2" + 128 (escape character).
24861 JR GameOver_Write Jump to GameOver_Write.
This controller simply returns on end. This is for when the game continues after the messaging.
GameOver_Controller 24863 LD A,(24094) If Current_Player is zero, jump to GameOverPause.
24866 AND A
24867 JR Z,GameOver1UP
24869 JR GameOver2UP Else, jump to GameOver2UP.
This is a controller with a jump to Game_Restart to return to the game selection screen.
GameOver_ControllerRestart 24871 CALL 28815 Call 28815.
24874 LD A,(24094) If Current_Player is not zero, jump to GameOver_Restart2UP.
24877 AND A
24878 JR NZ,GameOver_Restart2UP
24880 CALL GameOver1UP Call GameOver1UP.
GameOver_Restart 24883 JP Game_Restart Jump to Game_Restart.
GameOver_Restart2UP 24886 CALL GameOver2UP Call GameOver2UP.
24889 JR GameOver_Restart Jump to GameOver_Restart.
Prev: 24720 Up: Map Next: 24891