You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
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.
This commit is contained in:
364
engine/printer/print_party.asm
Executable file
364
engine/printer/print_party.asm
Executable file
@@ -0,0 +1,364 @@
|
||||
PRINTPARTY_HP EQUS "\"◀\"" ; $71
|
||||
|
||||
PrintPage1: ; 1dc1b0
|
||||
hlcoord 0, 0
|
||||
decoord 0, 0, wPrinterTileMapBuffer
|
||||
ld bc, 17 * SCREEN_WIDTH
|
||||
call CopyBytes
|
||||
hlcoord 17, 1, wPrinterTileMapBuffer
|
||||
ld a, $62
|
||||
ld [hli], a
|
||||
inc a
|
||||
ld [hl], a
|
||||
hlcoord 17, 2, wPrinterTileMapBuffer
|
||||
ld a, $64
|
||||
ld [hli], a
|
||||
inc a
|
||||
ld [hl], a
|
||||
hlcoord 1, 9, wPrinterTileMapBuffer
|
||||
ld a, " "
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
hlcoord 1, 10, wPrinterTileMapBuffer
|
||||
ld a, $61
|
||||
ld [hli], a
|
||||
ld [hl], a
|
||||
hlcoord 2, 11, wPrinterTileMapBuffer
|
||||
lb bc, 5, 18
|
||||
call ClearBox
|
||||
ld a, [wd265]
|
||||
dec a
|
||||
call CheckCaughtMon
|
||||
push af
|
||||
ld a, [wd265]
|
||||
ld b, a
|
||||
ld c, 1 ; get page 1
|
||||
farcall GetDexEntryPagePointer
|
||||
pop af
|
||||
ld a, b
|
||||
hlcoord 1, 11, wPrinterTileMapBuffer
|
||||
call nz, FarString
|
||||
hlcoord 19, 0, wPrinterTileMapBuffer
|
||||
ld [hl], $35
|
||||
ld de, SCREEN_WIDTH
|
||||
add hl, de
|
||||
ld b, $f
|
||||
.column_loop
|
||||
ld [hl], $37
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .column_loop
|
||||
ld [hl], $3a
|
||||
ret
|
||||
; 1dc213
|
||||
|
||||
PrintPage2: ; 1dc213
|
||||
hlcoord 0, 0, wPrinterTileMapBuffer
|
||||
ld bc, 8 * SCREEN_WIDTH
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 0, 0, wPrinterTileMapBuffer
|
||||
ld a, $36
|
||||
ld b, 6
|
||||
call .FillColumn
|
||||
hlcoord 19, 0, wPrinterTileMapBuffer
|
||||
ld a, $37
|
||||
ld b, 6
|
||||
call .FillColumn
|
||||
hlcoord 0, 6, wPrinterTileMapBuffer
|
||||
ld [hl], $38
|
||||
inc hl
|
||||
ld a, $39
|
||||
ld bc, SCREEN_HEIGHT
|
||||
call ByteFill
|
||||
ld [hl], $3a
|
||||
hlcoord 0, 7, wPrinterTileMapBuffer
|
||||
ld bc, SCREEN_WIDTH
|
||||
ld a, $32
|
||||
call ByteFill
|
||||
ld a, [wd265]
|
||||
dec a
|
||||
call CheckCaughtMon
|
||||
push af
|
||||
ld a, [wd265]
|
||||
ld b, a
|
||||
ld c, 2 ; get page 2
|
||||
farcall GetDexEntryPagePointer
|
||||
pop af
|
||||
hlcoord 1, 1, wPrinterTileMapBuffer
|
||||
ld a, b
|
||||
call nz, FarString
|
||||
ret
|
||||
; 1dc26a
|
||||
|
||||
.FillColumn: ; 1dc26a
|
||||
push de
|
||||
ld de, SCREEN_WIDTH
|
||||
.column_loop
|
||||
ld [hl], a
|
||||
add hl, de
|
||||
dec b
|
||||
jr nz, .column_loop
|
||||
pop de
|
||||
ret
|
||||
; 1dc275
|
||||
|
||||
GBPrinterStrings:
|
||||
GBPrinterString_Null: db "@"
|
||||
GBPrinterString_CheckingLink: next " CHECKING LINK...@"
|
||||
GBPrinterString_Transmitting: next " TRANSMITTING...@"
|
||||
GBPrinterString_Printing: next " PRINTING...@"
|
||||
GBPrinterString_PrinterError1:
|
||||
db " Printer Error 1"
|
||||
next ""
|
||||
next "Check the Game Boy"
|
||||
next "Printer Manual."
|
||||
db "@"
|
||||
GBPrinterString_PrinterError2:
|
||||
db " Printer Error 2"
|
||||
next ""
|
||||
next "Check the Game Boy"
|
||||
next "Printer Manual."
|
||||
db "@"
|
||||
GBPrinterString_PrinterError3:
|
||||
db " Printer Error 3"
|
||||
next ""
|
||||
next "Check the Game Boy"
|
||||
next "Printer Manual."
|
||||
db "@"
|
||||
GBPrinterString_PrinterError4:
|
||||
db " Printer Error 4"
|
||||
next ""
|
||||
next "Check the Game Boy"
|
||||
next "Printer Manual."
|
||||
db "@"
|
||||
; 1dc381
|
||||
|
||||
PrintPartyMonPage1: ; 1dc381
|
||||
call ClearBGPalettes
|
||||
call ClearTileMap
|
||||
call ClearSprites
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call LoadFontsBattleExtra
|
||||
|
||||
ld de, GBPrinterHPIcon
|
||||
ld hl, vTiles2 tile PRINTPARTY_HP
|
||||
lb bc, BANK(GBPrinterHPIcon), 1
|
||||
call Request1bpp
|
||||
|
||||
ld de, GBPrinterLvIcon
|
||||
ld hl, vTiles2 tile "<LV>"
|
||||
lb bc, BANK(GBPrinterLvIcon), 1
|
||||
call Request1bpp
|
||||
|
||||
ld de, StatsScreenPageTilesGFX + 14 tiles ; shiny icon
|
||||
ld hl, vTiles2 tile "⁂"
|
||||
lb bc, BANK(StatsScreenPageTilesGFX), 1
|
||||
call Get2bpp
|
||||
|
||||
xor a
|
||||
ld [wMonType], a
|
||||
farcall CopyMonToTempMon
|
||||
hlcoord 0, 7
|
||||
ld b, 9
|
||||
ld c, 18
|
||||
call TextBox
|
||||
hlcoord 8, 2
|
||||
ld a, [wTempMonLevel]
|
||||
call PrintLevel_Force3Digits
|
||||
hlcoord 12, 2
|
||||
ld [hl], PRINTPARTY_HP
|
||||
inc hl
|
||||
ld de, wTempMonMaxHP
|
||||
lb bc, 2, 3
|
||||
call PrintNum
|
||||
ld a, [wCurPartySpecies]
|
||||
ld [wd265], a
|
||||
ld [wCurSpecies], a
|
||||
ld hl, wPartyMonNicknames
|
||||
call Function1dc50e
|
||||
hlcoord 8, 4
|
||||
call PlaceString
|
||||
hlcoord 9, 6
|
||||
ld [hl], "/"
|
||||
call GetPokemonName
|
||||
hlcoord 10, 6
|
||||
call PlaceString
|
||||
hlcoord 8, 0
|
||||
ld [hl], "№"
|
||||
inc hl
|
||||
ld [hl], "."
|
||||
inc hl
|
||||
ld de, wd265
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 1, 3
|
||||
call PrintNum
|
||||
hlcoord 1, 9
|
||||
ld de, String1dc550
|
||||
call PlaceString
|
||||
ld hl, wPartyMonOT
|
||||
call Function1dc50e
|
||||
hlcoord 4, 9
|
||||
call PlaceString
|
||||
hlcoord 1, 11
|
||||
ld de, String1dc559
|
||||
call PlaceString
|
||||
hlcoord 4, 11
|
||||
ld de, wTempMonID
|
||||
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
|
||||
call PrintNum
|
||||
hlcoord 1, 14
|
||||
ld de, String1dc554
|
||||
call PlaceString
|
||||
hlcoord 7, 14
|
||||
ld a, [wTempMonMoves + 0]
|
||||
call Function1dc51a
|
||||
call Function1dc52c
|
||||
ld hl, wTempMonDVs
|
||||
predef GetUnownLetter
|
||||
ld hl, wBoxAlignment
|
||||
xor a
|
||||
ld [hl], a
|
||||
ld a, [wCurPartySpecies]
|
||||
cp UNOWN
|
||||
jr z, .asm_1dc469
|
||||
inc [hl]
|
||||
|
||||
.asm_1dc469
|
||||
hlcoord 0, 0
|
||||
call _PrepMonFrontpic
|
||||
call WaitBGMap
|
||||
ld b, SCGB_STATS_SCREEN_HP_PALS
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
ret
|
||||
; 1dc47b
|
||||
|
||||
PrintPartyMonPage2: ; 1dc47b
|
||||
call ClearBGPalettes
|
||||
call ClearTileMap
|
||||
call ClearSprites
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
call LoadFontsBattleExtra
|
||||
xor a
|
||||
ld [wMonType], a
|
||||
farcall CopyMonToTempMon
|
||||
hlcoord 0, 0
|
||||
ld b, 15
|
||||
ld c, 18
|
||||
call TextBox
|
||||
ld bc, SCREEN_WIDTH
|
||||
decoord 0, 0
|
||||
hlcoord 0, 1
|
||||
call CopyBytes
|
||||
hlcoord 7, 0
|
||||
ld a, [wTempMonMoves + 1]
|
||||
call Function1dc51a
|
||||
hlcoord 7, 2
|
||||
ld a, [wTempMonMoves + 2]
|
||||
call Function1dc51a
|
||||
hlcoord 7, 4
|
||||
ld a, [wTempMonMoves + 3]
|
||||
call Function1dc51a
|
||||
hlcoord 7, 7
|
||||
ld de, String1dc55d
|
||||
call PlaceString
|
||||
hlcoord 16, 7
|
||||
ld de, wTempMonAttack
|
||||
call .PrintTempMonStats
|
||||
hlcoord 16, 9
|
||||
ld de, wTempMonDefense
|
||||
call .PrintTempMonStats
|
||||
hlcoord 16, 11
|
||||
ld de, wTempMonSpclAtk
|
||||
call .PrintTempMonStats
|
||||
hlcoord 16, 13
|
||||
ld de, wTempMonSpclDef
|
||||
call .PrintTempMonStats
|
||||
hlcoord 16, 15
|
||||
ld de, wTempMonSpeed
|
||||
call .PrintTempMonStats
|
||||
call WaitBGMap
|
||||
ld b, SCGB_STATS_SCREEN_HP_PALS
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
ret
|
||||
; 1dc507
|
||||
|
||||
.PrintTempMonStats: ; 1dc507
|
||||
lb bc, 2, 3
|
||||
call PrintNum
|
||||
ret
|
||||
; 1dc50e
|
||||
|
||||
Function1dc50e: ; 1dc50e
|
||||
ld bc, NAME_LENGTH
|
||||
ld a, [wCurPartyMon]
|
||||
call AddNTimes
|
||||
ld e, l
|
||||
ld d, h
|
||||
ret
|
||||
; 1dc51a
|
||||
|
||||
Function1dc51a: ; 1dc51a
|
||||
and a
|
||||
jr z, .no_move
|
||||
|
||||
ld [wd265], a
|
||||
call GetMoveName
|
||||
jr .got_string
|
||||
|
||||
.no_move
|
||||
ld de, String1dc584
|
||||
|
||||
.got_string
|
||||
call PlaceString
|
||||
ret
|
||||
; 1dc52c
|
||||
|
||||
Function1dc52c: ; 1dc52c
|
||||
farcall GetGender
|
||||
ld a, " "
|
||||
jr c, .got_gender
|
||||
ld a, "♂"
|
||||
jr nz, .got_gender
|
||||
ld a, "♀"
|
||||
|
||||
.got_gender
|
||||
hlcoord 17, 2
|
||||
ld [hl], a
|
||||
ld bc, wTempMonDVs
|
||||
farcall CheckShininess
|
||||
ret nc
|
||||
hlcoord 18, 2
|
||||
ld [hl], "⁂"
|
||||
ret
|
||||
; 1dc550
|
||||
|
||||
String1dc550: ; 1dc550
|
||||
db "OT/@"
|
||||
|
||||
String1dc554: ; 1dc554
|
||||
db "MOVE@"
|
||||
|
||||
String1dc559: ; 1dc559
|
||||
db "<ID>№.@"
|
||||
|
||||
String1dc55d: ; 1dc55d
|
||||
db "ATTACK"
|
||||
next "DEFENSE"
|
||||
next "SPCL.ATK"
|
||||
next "SPCL.DEF"
|
||||
next "SPEED"
|
||||
db "@"
|
||||
|
||||
String1dc584: ; 1dc584
|
||||
db "------------@"
|
||||
; 1dc591
|
||||
|
||||
GBPrinterHPIcon: ; 1dc591
|
||||
INCBIN "gfx/printer/hp.1bpp"
|
||||
|
||||
GBPrinterLvIcon: ; 1dc599
|
||||
INCBIN "gfx/printer/lv.1bpp"
|
949
engine/printer/printer.asm
Executable file
949
engine/printer/printer.asm
Executable file
File diff suppressed because it is too large
Load Diff
640
engine/printer/printer_serial.asm
Executable file
640
engine/printer/printer_serial.asm
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user