pokecrystal/misc/printer_77.asm

357 lines
5.4 KiB
NASM
Raw Normal View History

2015-11-30 16:04:14 +00:00
PrintPage1: ; 1dc1b0
hlcoord 0, 0
ld de, wca90
ld bc, 17 * SCREEN_WIDTH
call CopyBytes
ld hl, wcab5
ld a, $62
ld [hli], a
inc a
ld [hl], a
ld hl, wcac9
ld a, $64
ld [hli], a
inc a
ld [hl], a
ld hl, wcb45
ld a, " "
ld [hli], a
ld [hl], a
ld hl, wcb59
ld a, $61
ld [hli], a
ld [hl], a
ld hl, wcb6e
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
callba GetDexEntryPagePointer
pop af
ld a, b
ld hl, wcb6d
call nz, FarString
ld hl, wcaa3
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
ld hl, wca90
ld bc, $a0
ld a, " "
call ByteFill
ld hl, wca90
ld a, $36
ld b, $6
call .FillColumn
ld hl, wcaa3
ld a, $37
ld b, $6
call .FillColumn
ld hl, wcb08
ld [hl], $38
inc hl
ld a, $39
ld bc, SCREEN_HEIGHT
call ByteFill
ld [hl], $3a
ld hl, wcb1c
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
callba GetDexEntryPagePointer
pop af
ld hl, wcaa5
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:
String_1dc275: db "@"
String_1dc276: next " CHECKING LINK...@"
String_1dc289: next " TRANSMITTING...@"
String_1dc29c: next " PRINTING...@"
String_1dc2ad:
db " Printer Error 1"
next ""
next "Check the Game Boy"
next "Printer Manual."
db "@"
String_1dc2e2:
db " Printer Error 2"
next ""
next "Check the Game Boy"
next "Printer Manual."
db "@"
String_1dc317:
db " Printer Error 3"
next ""
next "Check the Game Boy"
next "Printer Manual."
db "@"
String_1dc34c:
db " Printer Error 4"
next ""
next "Check the Game Boy"
next "Printer Manual."
db "@"
; 1dc381
Function1dc381: ; 1dc381
call ClearBGPalettes
call ClearTileMap
call ClearSprites
xor a
ld [hBGMapMode], a
call LoadFontsBattleExtra
ld de, MobileHPIcon
ld hl, VTiles2 tile $71
lb bc, BANK(MobileHPIcon), 1
call Request1bpp
ld de, MobileLvIcon
ld hl, VTiles2 tile $6e
lb bc, BANK(MobileLvIcon), 1
call Request1bpp
ld de, ShinyIcon
ld hl, VTiles2 tile $3f
lb bc, BANK(ShinyIcon), 1
call Get2bpp
xor a
ld [MonType], a
callba CopyPkmnToTempMon
hlcoord 0, 7
ld b, 9
ld c, 18
call TextBox
hlcoord 8, 2
ld a, [TempMonLevel]
call Function383d
hlcoord 12, 2
ld [hl], "◀" ; Filled left triangle
inc hl
ld de, TempMonMaxHP
lb bc, 2, 3
call PrintNum
ld a, [CurPartySpecies]
ld [wd265], a
ld [CurSpecies], a
ld hl, PartyMonNicknames
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, PartyMonOT
call Function1dc50e
hlcoord 4, 9
call PlaceString
hlcoord 1, 11
ld de, String1dc559
call PlaceString
hlcoord 4, 11
ld de, TempMonID
lb bc, PRINTNUM_LEADINGZEROS | 2, 5
call PrintNum
hlcoord 1, 14
ld de, String1dc554
call PlaceString
hlcoord 7, 14
ld a, [TempMonMoves + 0]
call Function1dc51a
call Function1dc52c
ld hl, TempMonDVs
predef GetUnownLetter
ld hl, wBoxAlignment
2015-11-30 16:04:14 +00:00
xor a
ld [hl], a
ld a, [CurPartySpecies]
cp UNOWN
jr z, .asm_1dc469
inc [hl]
.asm_1dc469
hlcoord 0, 0
call _PrepMonFrontpic
call WaitBGMap
2015-12-23 03:19:33 +00:00
ld b, SCGB_STATS_SCREEN_HP_PALS
2015-11-30 16:04:14 +00:00
call GetSGBLayout
call SetPalettes
ret
; 1dc47b
Function1dc47b: ; 1dc47b
call ClearBGPalettes
call ClearTileMap
call ClearSprites
xor a
ld [hBGMapMode], a
call LoadFontsBattleExtra
xor a
ld [MonType], a
callba CopyPkmnToTempMon
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, [TempMonMoves + 1]
call Function1dc51a
hlcoord 7, 2
ld a, [TempMonMoves + 2]
call Function1dc51a
hlcoord 7, 4
ld a, [TempMonMoves + 3]
call Function1dc51a
hlcoord 7, 7
ld de, String1dc55d
call PlaceString
hlcoord 16, 7
ld de, TempMonAttack
call .PrintTempMonStats
hlcoord 16, 9
ld de, TempMonDefense
call .PrintTempMonStats
hlcoord 16, 11
ld de, TempMonSpclAtk
call .PrintTempMonStats
hlcoord 16, 13
ld de, TempMonSpclDef
call .PrintTempMonStats
hlcoord 16, 15
ld de, TempMonSpeed
call .PrintTempMonStats
call WaitBGMap
2015-12-23 03:19:33 +00:00
ld b, SCGB_STATS_SCREEN_HP_PALS
2015-11-30 16:04:14 +00:00
call GetSGBLayout
call SetPalettes
ret
; 1dc507
.PrintTempMonStats: ; 1dc507
lb bc, 2, 3
call PrintNum
ret
; 1dc50e
Function1dc50e: ; 1dc50e
ld bc, NAME_LENGTH
ld a, [CurPartyMon]
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
callba 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, TempMonDVs
callba CheckShininess
ret nc
hlcoord 18, 2
ld [hl], "<SHINY>"
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