summaryrefslogtreecommitdiff
path: root/misc/printer_77.asm
diff options
context:
space:
mode:
Diffstat (limited to 'misc/printer_77.asm')
-rwxr-xr-xmisc/printer_77.asm356
1 files changed, 356 insertions, 0 deletions
diff --git a/misc/printer_77.asm b/misc/printer_77.asm
new file mode 100755
index 000000000..72a7ec645
--- /dev/null
+++ b/misc/printer_77.asm
@@ -0,0 +1,356 @@
+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, wc2c6
+ 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
+ ld b, SCGB_03
+ 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
+ ld b, SCGB_03
+ 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