diff options
Diffstat (limited to 'engine/events/diploma.asm')
-rw-r--r-- | engine/events/diploma.asm | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm new file mode 100644 index 000000000..5d0482cc4 --- /dev/null +++ b/engine/events/diploma.asm @@ -0,0 +1,93 @@ +_Diploma: ; 1dd702 + call PlaceDiplomaOnScreen + call WaitPressAorB_BlinkCursor + ret +; 1dd709 + +PlaceDiplomaOnScreen: ; 1dd709 + call ClearBGPalettes + call ClearTileMap + call ClearSprites + call DisableLCD + ld hl, DiplomaGFX + ld de, vTiles2 + call Decompress + ld hl, DiplomaPage1Tilemap + decoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call CopyBytes + ld de, .Player + hlcoord 2, 5 + call PlaceString + ld de, .EmptyString + hlcoord 15, 5 + call PlaceString + ld de, wPlayerName + hlcoord 9, 5 + call PlaceString + ld de, .Certification + hlcoord 2, 8 + call PlaceString + call EnableLCD + call WaitBGMap + ld b, SCGB_DIPLOMA + call GetSGBLayout + call SetPalettes + call DelayFrame + ret +; 1dd760 + +.Player: + db "PLAYER@" + +.EmptyString: + db "@" + +.Certification: + db "This certifies" + next "that you have" + next "completed the" + next "new #DEX." + next "Congratulations!" + db "@" +; 1dd7ae + +PrintDiplomaPage2: ; 1dd7ae + hlcoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, $7f + call ByteFill + ld hl, DiplomaPage2Tilemap + decoord 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + call CopyBytes + ld de, .GameFreak + hlcoord 8, 0 + call PlaceString + ld de, .PlayTime + hlcoord 3, 15 + call PlaceString + hlcoord 12, 15 + ld de, wGameTimeHours + lb bc, 2, 4 + call PrintNum + ld [hl], $67 ; colon + inc hl + ld de, wGameTimeMinutes + lb bc, PRINTNUM_LEADINGZEROS | 1, 2 + call PrintNum + ret +; 1dd7f0 + +.PlayTime: db "PLAY TIME@" +.GameFreak: db "GAME FREAK@" +; 1dd805 + +DiplomaGFX: ; 1dd805 +INCBIN "gfx/diploma/diploma.2bpp.lz" + +DiplomaPage1Tilemap: ; 1ddc4b +INCBIN "gfx/diploma/page1.tilemap" + +DiplomaPage2Tilemap: ; 1dddb3 +INCBIN "gfx/diploma/page2.tilemap" |