![]() |
Routines |
| Prev: 25853 | Up: Map | Next: 25955 |
|
Used by the routine at GameInitialisation.
|
|||||
|
|||||
| InitialiseLevel | 25856 | LD DE,40448 | DE=LevelBuffer. | ||
| 25859 | LD HL,35168 | HL=Data_Level_1. | |||
| 25862 | CALL CopyLevelDataToBuffer | Call CopyLevelDataToBuffer. | |||
| 25865 | LD HL,41217 | HL=41217. | |||
| 25868 | LD B,10 | B=10. | |||
| InitialiseLevel_0 | 25870 | LD (HL),0 | Write 0 to *HL. | ||
| 25872 | DEC H | Decrease H by one. | |||
| 25873 | LD (HL),0 | Write 0 to *HL. | |||
| 25875 | INC H | Increment H by one. | |||
| 25876 | INC L | Increment L by one. | |||
| 25877 | DJNZ InitialiseLevel_0 | Decrease counter by one and loop back to InitialiseLevel_0 until counter is zero. | |||
| 25879 | LD (HL),35 | Write 35 to *HL. | |||
| 25881 | EXX | Switch to the shadow registers. | |||
| 25882 | LD A,10 | A=10. | |||
| 25884 | NOP | No operation. | |||
| 25885 | LD B,A | B=A. | |||
| InitialiseLevel_1 | 25886 | EXX | Switch to the shadow registers. | ||
| 25887 | CALL GetRandomNumber | Call GetRandomNumber. | |||
| 25890 | AND %00011111 | Keep only bits 0-4. | |||
| 25892 | LD B,A | B=A. | |||
| 25893 | ADD A,A | A+=A. | |||
| 25894 | ADD A,A | A+=A. | |||
| 25895 | ADD A,B | A+=B. | |||
| 25896 | RRCA | RRCA. | |||
| 25897 | RRCA | ||||
| 25898 | RRCA | ||||
| 25899 | LD L,A | L=A. | |||
| 25900 | AND %00011111 | Keep only bits 0-4. | |||
| 25902 | ADD A,138 | A+=138. | |||
| 25904 | LD H,A | H=A. | |||
| 25905 | LD A,L | A=L. | |||
| 25906 | AND %11100000 | Keep only bits 5-7. | |||
| 25908 | LD L,A | L=A. | |||
| 25909 | CALL CopyLevelDataToBuffer | Call CopyLevelDataToBuffer. | |||
| 25912 | EXX | Switch to the shadow registers. | |||
| 25913 | DJNZ InitialiseLevel_1 | Decrease counter by one and loop back to InitialiseLevel_1 until counter is zero. | |||
| 25915 | EXX | Switch to the shadow registers. | |||
| 25916 | LD HL,35168 | HL=Data_Level_1. | |||
| 25919 | CALL CopyLevelDataToBuffer | Call CopyLevelDataToBuffer. | |||
| 25922 | LD A,E | A=E. | |||
| 25923 | LD HL,756 | HL=756. | |||
| 25926 | AND A | Jump to InitialiseLevel_2 if A is not zero. | |||
| 25927 | JR NZ,InitialiseLevel_2 | ||||
| 25929 | LD H,254 | H=254. | |||
| InitialiseLevel_2 | 25931 | ADD HL,DE | HL+=DE. | ||
| 25932 | LD (HL),34 | Write 34 to *HL. | |||
| 25934 | LD B,10 | B=10. | |||
| InitialiseLevel_3 | 25936 | INC L | Increment L by one. | ||
| 25937 | LD (HL),0 | Write 0 to *HL. | |||
| 25939 | DEC H | Decrease H by one. | |||
| 25940 | LD (HL),0 | Write 0 to *HL. | |||
| 25942 | INC H | Increment H by one. | |||
| 25943 | DJNZ InitialiseLevel_3 | Decrease counter by one and loop back to InitialiseLevel_3 until counter is zero. | |||
| 25945 | CALL InitialiseGameObjects | Call InitialiseGameObjects. | |||
| 25948 | CALL ObjectPlacement_SpecialTerrain | Call ObjectPlacement_SpecialTerrain. | |||
| 25951 | CALL InitialiseNewLevel | Call InitialiseNewLevel. | |||
| 25954 | RET | Return. | |||
| Prev: 25853 | Up: Map | Next: 25955 |