![]() |
Routines |
| Prev: 40595 | Up: Map | Next: 40711 |
|
Used by the routine at Draw_Room.
Shows the screen for escaping from the Underwurlde and then shows the game over screen. It does not return.
The screen says CONGRATULATIONS and YOU HAVE ESCAPED FROM THE UNDERWURLDE, and then gives the name of the next adventure, which depends on the room x of Sabreman: 3 for KNIGHT LORE, 9 for PENTAGRAM and anything else for MIRE MARE. The two letters A of PENTAGRAM are drawn as star sprites (see Ending_Text).
This is where the game ends if Sabreman reaches room y 255 (see Draw_Room).
|
||||||||||
| Show_Ending_Screen | 40608 | LD A,71 | Set the attribute to bright white (71). | |||||||
| 40610 | LD (36584),A | Store it as the attribute for printing (Current_MenuAttribute). | ||||||||
| 40613 | LD DE,40717 | Point at the text CONGRATULATIONS (Ending_Text_Congratulations). | ||||||||
| 40616 | LD HL,12352 | Set the x position to 64 and the y position to 48 (12352). | ||||||||
| 40619 | CALL MenuWriteText | Print the text. | ||||||||
| 40622 | LD DE,40779 | Point at the text YOU HAVE ESCAPED FROM (Ending_Text_You_Have_Escaped_From). | ||||||||
| 40625 | LD HL,18472 | Set the x position to 40 and the y position to 72 (18472). | ||||||||
| 40628 | CALL MenuWriteText | Print the text. | ||||||||
| 40631 | LD DE,40801 | Point at the text THE UNDERWURLDE (Ending_Text_The_Underwurlde). | ||||||||
| 40634 | LD HL,24640 | Set the x position to 64 and the y position to 96 (24640). | ||||||||
| 40637 | CALL MenuWriteText | Print the text. | ||||||||
| 40640 | LD DE,40817 | Point at the text YOUR NEXT ADVENTURE IS (Ending_Text_Your_Next_Adventure_Is). | ||||||||
| 40643 | LD HL,30760 | Set the x position to 40 and the y position to 120 (30760). | ||||||||
| 40646 | CALL MenuWriteText | Print the text. | ||||||||
| 40649 | LD H,144 | Set the y position for the name of the next adventure to 144. | ||||||||
| 40651 | LD A,(36636) | Fetch the room x of Sabreman. | ||||||||
| 40654 | CP 3 | Jump to Show_Ending_Screen_Knight_Lore if the room x is 3. | ||||||||
| 40656 | JR Z,Show_Ending_Screen_Knight_Lore | |||||||||
| 40658 | CP 9 | Jump to Show_Ending_Screen_Pentagram if the room x is 9. | ||||||||
| 40660 | JR Z,Show_Ending_Screen_Pentagram | |||||||||
| 40662 | LD DE,40757 | Point at the text MIRE MARE (Ending_Text_Mire_Mare). | ||||||||
| 40665 | LD L,88 | Set the x position to 88. | ||||||||
| Show_Ending_Screen_Print_Text | 40667 | CALL MenuWriteText | Print the text. | |||||||
| Show_Ending_Screen_Wait_For_Key | 40670 | CALL Wait_For_Key | Wait for key 0 to be pressed. | |||||||
| 40673 | JP Show_Game_Over | Jump to Show_Game_Over to show the game over screen. | ||||||||
|
The room x is 3.
|
||||||||||
| Show_Ending_Screen_Knight_Lore | 40676 | LD DE,40732 | Point at the text KNIGHT LORE (Ending_Text_Knight_Lore). | |||||||
| 40679 | LD L,80 | Set the x position to 80. | ||||||||
| 40681 | JR Show_Ending_Screen_Print_Text | Jump to Show_Ending_Screen_Print_Text to print the text. | ||||||||
|
The room x is 9. The text PENTAGRAM leaves a gap of two cells for each A, which is filled by a star.
|
||||||||||
| Show_Ending_Screen_Pentagram | 40683 | LD DE,40744 | Point at the attribute and the text PENT GR M (Ending_Text_Pentagram). | |||||||
| 40686 | LD L,80 | Set the x position to 80. | ||||||||
| 40688 | CALL PrintStringColour | Print the text using the attribute at the start of the string. | ||||||||
| 40691 | LD IX,40711 | Point at the object record of the star (Ending_Text). | ||||||||
| 40695 | LD (IX+1),112 | Set the x position of the star to 112. | ||||||||
| 40699 | CALL Update_Object_Sprite_Draw | Draw the first star. | ||||||||
| 40702 | LD (IX+1),144 | Set the x position of the star to 144. | ||||||||
| 40706 | CALL Update_Object_Sprite_Draw | Draw the second star. | ||||||||
| 40709 | JR Show_Ending_Screen_Wait_For_Key | Jump to Show_Ending_Screen_Wait_For_Key to wait for a key. | ||||||||
| Prev: 40595 | Up: Map | Next: 40711 |