diff options
| author | mid-kid <esteve.varela@gmail.com> | 2018-03-13 13:07:16 +0100 |
|---|---|---|
| committer | mid-kid <esteve.varela@gmail.com> | 2018-03-13 13:21:40 +0100 |
| commit | baa0dc5a963a79843b37888bcfe1d2dfe833ade9 (patch) | |
| tree | 968c86105bd67a3121d8f3f20018bfc59191f4c9 /engine/events | |
| parent | 12070ca50067d3abe36a730190f88ee43f2cace9 (diff) | |
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.
Diffstat (limited to 'engine/events')
| -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" |
