![]() |
Routines |
Prev: 25562 | Up: Map | Next: 25690 |
Used by the routine at 28714.
|
||||
Calculate number of points to award.
|
||||
HandlerCup | 25599 | LD A,(24124) | A=Cups_Collected. | |
25602 | INC A | A=(A + 1) * 2 with BCD conversion. | ||
25603 | ADD A,A | |||
25604 | DAA | |||
Adds points to score.
|
||||
25605 | LD B,A | BC=number of points to award. | ||
25606 | LD C,0 | |||
25608 | CALL AddPointsToScore | Call AddPointsToScore. | ||
Handle incrementing the cup counter.
|
||||
25611 | LD HL,24124 | Increment Cups_Collected by one. | ||
25614 | INC (HL) | |||
Have all the cups been collected?
|
||||
25615 | LD A,(HL) | A=Cups_Collected. | ||
25616 | CP 8 | If A is less than 8 jump to DisplayCupsCollected. | ||
25618 | JR C,DisplayCupsCollected | |||
All cups have been collected, display the "congratulations" messaging.
|
||||
25620 | CALL SetDayAttributes | Call SetDayAttributes. | ||
25623 | CALL CreateWindow | Call CreateWindow. | ||
25626 | CALL DisplayCongratsMessaging | Call DisplayCongratsMessaging. | ||
Writes the line "YOUR TIME WAS".
|
||||
25629 | LD HL,22632 | HL=22632 (screen location). | ||
25632 | LD DE,25571 | DE=Message_YourTime. | ||
25635 | CALL MenuWriteText | Call MenuWriteText. | ||
Set HL to where the time itself will display.
|
||||
25638 | LD HL,26752 | HL=26752 (screen location). | ||
25641 | CALL ScreenAddress | Call ScreenAddress. | ||
25644 | CALL DisplayTime_Minutes | Call DisplayTime_Minutes. | ||
Has a new "Best Time" been made?
|
||||
25647 | LD A,(24067) | If Flag_BestTime is zero then jump to BestTime_Set. | ||
25650 | AND A | |||
25651 | JR Z,BestTime_Set | |||
25653 | CALL DisplayBestTime | Call DisplayBestTime. | ||
25656 | LD HL,24064 | HL=BestTime_1. | ||
25659 | LD DE,24113 | DE=Time_1. | ||
25662 | LD B,3 | B=3 (counter). | ||
BestTime_Compare | 25664 | LD A,(DE) | Compare DE against HL. | |
25665 | CP (HL) | |||
25666 | JR C,BestTime_Update | If it's higher than A then jump to BestTime_Update. | ||
25668 | JR Z,BestTime_Compare_Next | If zero then jump to BestTime_Compare_Next. | ||
25670 | JR HandlerCup_Delay | Jump to HandlerCup_Delay. | ||
BestTime_Compare_Next | 25672 | INC HL | Move onto the next BestTime digit. | |
25673 | INC DE | Move onto the next Time digit. | ||
25674 | DJNZ BestTime_Compare | Decrease counter by one and loop back to BestTime_Compare until counter is zero. | ||
Create a short pause.
|
||||
HandlerCup_Delay | 25676 | LD B,12 | B=12. | |
25678 | CALL Delay | Call Delay. | ||
25681 | CALL GameInit_0 | Call GameInit_0. | ||
25684 | LD SP,24064 | Set the stack pointer to 24064. | ||
25687 | JP StartGame_0 | Jump to StartGame_0. |
Prev: 25562 | Up: Map | Next: 25690 |