pokecrystal-board/engine/events/diploma.asm
mid-kid baa0dc5a96 Organize the engine/ directory
This is an informed attempt at reorganizing the engine/ directory by
creating categorized subdirectories, in order to make it easier to
navigate and find things.

The directories created are as follows:
* engine/game: Contains all "minigames", things like the unown puzzle
and slot machine.
* engine/gfx: Contains all handling of graphics. From loading palettes
to playing animations.
* engine/link: Contains all multiplayer functionality.
* engine/menu: Contains all generic/misc. menus and menu code.
Other, more specialized menus are in their own subdirectories (pokedex,
pokegear, party menu, etc).
* engine/overworld: Contains all handling of the overworld. From loading
and connecting maps to wild encounters and the scripting engine.
* engine/pokegear: In the same vein as engine/pokedex, except it could
use some more splitting up.
* engine/pokemon: Contains everything related to manipulating pokemon
data. From the pokemon storage system to evolution and mail.
* engine/printer: Contains everything related to printing things as well
as the printer communication.
* engine/title: Contains intro sequences, title screens and credits.
2018-03-13 13:21:40 +01:00

94 lines
1.6 KiB
NASM

_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"