Prev: 33645 Up: Map Next: 33725
33657: Insert current time and score into "time left" and "percentage completion" texts
Used by the routines at 30145 and 55685.
Input
HL Points to percentage completion text (47501 or 44530)
DE Points to time left text (47513 or 44542)
33657 PUSH DE Store DE
33658 PUSH HL Store HL
33659 LD HL,23502 Point HL at visited rooms table
33662 LD BC,12800 Set B=50, C=0 (see trivia)
33665 LD A,(HL) Load A with value at HL
33666 ADD A,C Add this to C...
33667 LD C,A ...
33668 INC HL Advance to next byte
33669 DJNZ 33665 Loop back to 33665 (adding together 50 values from 23502 onwards to get score for exploring rooms)
33671 DEC C Decrease exploration score by one (due to no score for The Transporter Room)
33672 LD A,C Double count of rooms visited...
33673 ADD A,A ...
33674 LD C,A ...
33675 LD A,(23451) If I.D.-card-validated flag is reset...
33678 BIT 4,A ...
33680 JP Z,33687 ...then skip ahead to 33687
33683 LD A,10 Add ten percent to score in C...
33685 ADD A,C ...
33686 LD C,A ...
33687 LD A,(23451) If transporter-repaired flag is reset...
33690 AND 1 ...
33692 JR Z,33698 ...then skip ahead to 33698
33694 LD A,10 Add ten percent to score in C...
33696 ADD A,C ...
33697 LD C,A ...
33698 LD A,(23403) If barriers-removed flag is reset...
33701 AND 1 ...
33703 JR Z,33709 ...then skip ahead to 33709
33705 LD A,2 Add two percent to score in C...
33707 ADD A,C ...
33708 LD C,A ...
33709 LD A,(23397) Add bonus score to total...
33712 ADD A,C ...
33713 POP HL Restore HL (address of percentage completion text)
33714 CALL 34697 Splice numeric data A as a string into a string at HL
33717 LD A,(23457) Load A with number of days left
33720 POP HL Restore HL (originally DE, time left text)
33721 CALL 34697 Splice numeric data A as a string into a string at HL
33724 RET Return
Prev: 33645 Up: Map Next: 33725