diff options
Diffstat (limited to 'misc/printer_77.asm')
-rwxr-xr-x | misc/printer_77.asm | 356 |
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 |