mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
e8bc86d1fe
Since we're aiming for consistency across the codebase, I believe it includes a uniform way to refer to the creatures this game consists of in the labels of the code. The only exceptions to this rule are labels referring to things named through the use of the <PK><MN> or <PKMN> characters, in which case PKMN is used. Most of this was already consistent enough™, I just picked the convention with the most occurences and fixed the outliers.
365 lines
6.1 KiB
NASM
Executable File
365 lines
6.1 KiB
NASM
Executable File
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"
|