diff options
-rwxr-xr-x | engine/printer.asm | 343 | ||||
-rwxr-xr-x | main.asm | 269 |
2 files changed, 343 insertions, 269 deletions
diff --git a/engine/printer.asm b/engine/printer.asm index 6218f6a7..7e6ae637 100755 --- a/engine/printer.asm +++ b/engine/printer.asm @@ -997,3 +997,346 @@ Func_e8e24: ; e8e24 call Func_0f3d call Func_e8f3b ret + +Func_e8e79: ; e8e79 (3a:4e79) + push af + push bc + push de + push hl + call StopAllMusic + ld a, [rIE] + push af + xor a + ld [rIF], a + ld a, $09 + ld [rIE], a + call Func_e8783 + ld a, $13 + ld [$cae2], a + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call Func_e8efc + call Func_ea573 +.asm_e8e9c + ld a, [wOverworldMap] + bit 7, a + jr nz, .asm_e8eae + call Func_ea5d1 + call Func_ea5b7 + call DelayFrame + jr .asm_e8e9c + +.asm_e8eae + xor a + ld [wUnknownSerialFlag_d49a], a + ld [wUnknownSerialFlag_d49b], a + ld hl, wOAMBuffer + 32 * 4 + ld bc, $0020 + xor a + call FillMemory + xor a + ld [rIF], a + pop af + ld [rIE], a + pop hl + pop de + pop bc + pop af + ret + +Func_e8eca: ; e8eca (3a:4eca) + ld a, [hJoyHeld] + and B_BUTTON + jr nz, .asm_e8ed2 + and a + ret + +.asm_e8ed2 + ld a, [wOverworldMap] + cp $0c + jr nz, .asm_e8ef6 +.asm_e8ed9 + ld a, [wUnknownSerialFlag_d49b] + and a + jr nz, .asm_e8ed9 + ld a, $16 + ld [wUnknownSerialFlag_d49b], a + ld a, $88 + ld [rSB], a + ld a, $01 + ld [rSC], a + ld a, $81 + ld [rSC], a +.asm_e8ef0 + ld a, [wUnknownSerialFlag_d49b] + and a + jr nz, .asm_e8ef0 +.asm_e8ef6 + ld a, $01 + ld [hItemCounter], a + scf + ret + +Func_e8efc: ; e8efc (3a:4efc) + dr $e8efc,$e8f09 +Func_e8f09: ; e8f09 (3a:4f09) + dr $e8f09,$e8f16 +Func_e8f16: ; e8f16 (3a:4f16) + dr $e8f16,$e8f24 +Func_e8f24: ; e8f24 (3a:4f24) + dr $e8f24,$e8f3b +Func_e8f3b: ; e8f3b (3a:4f3b) + dr $e8f3b,$e8f51 +Func_e8f51: ; e8f51 (3a:4f51) + dr $e8f51,$e8f82 +Func_e8f82: ; e8f82 (3a:4f82) + dr $e8f82,$e910a +Func_e910a: + dr $e910a,$e925d + +Func_e925d: +.asm_e925d + push bc + push hl +.asm_e925f + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .asm_e925f + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .asm_e925d + ret + +Func_e926f: + ld de, wd496 + coord hl, 7, 6 + ld a, [de] + call Func_e927a + ld a, [de] +Func_e927a: + ld c, a + swap a + and $f + add -10 + ld [hli], a + ld a, c + and $f + add -10 + ld [hli], a + dec de + ret + +SurfingPikachu2Graphics: INCBIN "gfx/surfing_pikachu_2.2bpp" + +Func_e988a: + xor a + ld [wBoxNumString], a + call ClearScreen + call Func_e99de + coord hl, 0, 0 + ld bc, 11 * SCREEN_WIDTH + ld a, " " + call FillMemory + call Func_e99b9 + call Func_e99a7 + coord hl, 4, 4 + ld de, String_e98db + call PlaceString + coord hl, 7, 6 + ld de, String_e98e8 + call PlaceString + coord hl, 11, 6 + ld a, [wCurrentBoxNum] + and $7f + cp 9 + jr c, .asm_e98cc + sub 9 + ld [hl], "1" + inc hl + add "0" + jr .asm_e98ce + +.asm_e98cc + add "1" +.asm_e98ce + ld [hl], a + coord hl, 4, 9 + ld de, wBoxSpecies + ld c, $03 + call Func_e994e + ret + + +String_e98db: db "POKéMON LIST@" +String_e98e8: db "BOX@" + +Func_e98ec: + call ClearScreen + call Func_e99de + call Func_e99b9 + ld a, [wBoxDataStart] + cp 4 + ret c + coord hl, 4, 0 + ld de, wBoxSpecies + 3 + ld c, 6 + call Func_e994e + ret + +Func_e9907: + call ClearScreen + call Func_e99de + call Func_e99b9 + ld a, [wBoxDataStart] + cp 10 + ret c + coord hl, 4, 0 + ld de, wBoxSpecies + 9 + ld c, 6 + call Func_e994e + ret + +Func_e9922: + call ClearScreen + call Func_e99de + call Func_e99b9 + coord hl, 0, 15 + call Func_e99cf + coord hl, 0, 16 + ld bc, 2 * SCREEN_WIDTH + ld a, " " + call FillMemory + ld a, [wBoxDataStart] + cp 16 + ret c + coord hl, 4, 0 + ld de, wBoxSpecies + 15 + ld c, 5 + call Func_e994e + ret + +Func_e994e: +.asm_e994e + ld a, c + and a + jr z, .asm_e99a6 + dec c + ld a, [de] + cp $ff + jr z, .asm_e99a6 + ld [$d11d], a + push bc + push hl + push de + push hl + ld bc, 12 + ld a, " " + call FillMemory + pop hl + push hl + ld de, SCREEN_WIDTH + add hl, de + ld bc, 12 + ld a, " " + call FillMemory + pop hl + push hl + call GetMonName + pop hl + call PlaceString + push hl + ld hl, wBoxMonNicks + ld bc, NAME_LENGTH + ld a, [wBoxNumString] + call AddNTimes + ld e, l + ld d, h + pop hl + ld bc, SCREEN_WIDTH + 1 + add hl, bc + ld [hl], " " + inc hl + call PlaceString + ld hl, wBoxNumString + inc [hl] + pop de + pop hl + ld bc, 3 * SCREEN_WIDTH + add hl, bc + pop bc + inc de + jr .asm_e994e + +.asm_e99a6 + ret + +Func_e99a7: + coord hl, 0, 0 + ld a, $79 + ld [hli], a + ld a, $7a + ld c, SCREEN_WIDTH - 2 +.asm_e99b1 + ld [hli], a + dec c + jr nz, .asm_e99b1 + ld a, $7b + ld [hl], a + ret + +Func_e99b9: + coord hl, 0, 0 + ld de, SCREEN_WIDTH - 1 + ld c, SCREEN_HEIGHT +.asm_e99c1 + ld a, $7c + ld [hl], a + add hl, de + ld a, $7c + ld [hli], a + dec c + jr nz, .asm_e99c1 + ret + +Func_e99cc: + coord hl, 0, 17 +Func_e99cf: + ld a, $7d + ld [hli], a + ld a, $7a + ld c, SCREEN_WIDTH - 2 +.asm_e99b1 + ld [hli], a + dec c + jr nz, .asm_e99b1 + ld a, $7e + ld [hl], a + ret + +Func_e99de: + coord hl, 4, 0 + ld c, 6 + call Func_e99eb + coord hl, 6, 1 + ld c, 6 +Func_e99eb: +.asm_e99eb + push bc + push hl + ld de, String_e99fd + call PlaceString + pop hl + ld bc, 3 * SCREEN_WIDTH + add hl, bc + pop bc + dec c + jr nz, .asm_e99eb + ret + +String_e99fd: + db "----------@" @@ -897,275 +897,6 @@ Func_e877e: ret INCLUDE "engine/printer.asm" - -Func_e8e79: ; e8e79 (3a:4e79) - dr $e8e79,$e8eca -Func_e8eca: ; e8eca (3a:4eca) - dr $e8eca,$e8efc -Func_e8efc: ; e8efc (3a:4efc) - dr $e8efc,$e8f09 -Func_e8f09: ; e8f09 (3a:4f09) - dr $e8f09,$e8f16 -Func_e8f16: ; e8f16 (3a:4f16) - dr $e8f16,$e8f24 -Func_e8f24: ; e8f24 (3a:4f24) - dr $e8f24,$e8f3b -Func_e8f3b: ; e8f3b (3a:4f3b) - dr $e8f3b,$e8f51 -Func_e8f51: ; e8f51 (3a:4f51) - dr $e8f51,$e8f82 -Func_e8f82: ; e8f82 (3a:4f82) - dr $e8f82,$e910a -Func_e910a: - dr $e910a,$e925d - -Func_e925d: -.asm_e925d - push bc - push hl -.asm_e925f - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .asm_e925f - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .asm_e925d - ret - -Func_e926f: - ld de, wd496 - coord hl, 7, 6 - ld a, [de] - call Func_e927a - ld a, [de] -Func_e927a: - ld c, a - swap a - and $f - add -10 - ld [hli], a - ld a, c - and $f - add -10 - ld [hli], a - dec de - ret - -SurfingPikachu2Graphics: INCBIN "gfx/surfing_pikachu_2.2bpp" - -Func_e988a: - xor a - ld [wBoxNumString], a - call ClearScreen - call Func_e99de - coord hl, 0, 0 - ld bc, 11 * SCREEN_WIDTH - ld a, " " - call FillMemory - call Func_e99b9 - call Func_e99a7 - coord hl, 4, 4 - ld de, String_e98db - call PlaceString - coord hl, 7, 6 - ld de, String_e98e8 - call PlaceString - coord hl, 11, 6 - ld a, [wCurrentBoxNum] - and $7f - cp 9 - jr c, .asm_e98cc - sub 9 - ld [hl], "1" - inc hl - add "0" - jr .asm_e98ce - -.asm_e98cc - add "1" -.asm_e98ce - ld [hl], a - coord hl, 4, 9 - ld de, wBoxSpecies - ld c, $03 - call Func_e994e - ret - - -String_e98db: db "POKéMON LIST@" -String_e98e8: db "BOX@" - -Func_e98ec: - call ClearScreen - call Func_e99de - call Func_e99b9 - ld a, [wBoxDataStart] - cp 4 - ret c - coord hl, 4, 0 - ld de, wBoxSpecies + 3 - ld c, 6 - call Func_e994e - ret - -Func_e9907: - call ClearScreen - call Func_e99de - call Func_e99b9 - ld a, [wBoxDataStart] - cp 10 - ret c - coord hl, 4, 0 - ld de, wBoxSpecies + 9 - ld c, 6 - call Func_e994e - ret - -Func_e9922: - call ClearScreen - call Func_e99de - call Func_e99b9 - coord hl, 0, 15 - call Func_e99cf - coord hl, 0, 16 - ld bc, 2 * SCREEN_WIDTH - ld a, " " - call FillMemory - ld a, [wBoxDataStart] - cp 16 - ret c - coord hl, 4, 0 - ld de, wBoxSpecies + 15 - ld c, 5 - call Func_e994e - ret - -Func_e994e: -.asm_e994e - ld a, c - and a - jr z, .asm_e99a6 - dec c - ld a, [de] - cp $ff - jr z, .asm_e99a6 - ld [$d11d], a - push bc - push hl - push de - push hl - ld bc, 12 - ld a, " " - call FillMemory - pop hl - push hl - ld de, SCREEN_WIDTH - add hl, de - ld bc, 12 - ld a, " " - call FillMemory - pop hl - push hl - call GetMonName - pop hl - call PlaceString - push hl - ld hl, wBoxMonNicks - ld bc, NAME_LENGTH - ld a, [wBoxNumString] - call AddNTimes - ld e, l - ld d, h - pop hl - ld bc, SCREEN_WIDTH + 1 - add hl, bc - ld [hl], " " - inc hl - call PlaceString - ld hl, wBoxNumString - inc [hl] - pop de - pop hl - ld bc, 3 * SCREEN_WIDTH - add hl, bc - pop bc - inc de - jr .asm_e994e - -.asm_e99a6 - ret - -Func_e99a7: - coord hl, 0, 0 - ld a, $79 - ld [hli], a - ld a, $7a - ld c, SCREEN_WIDTH - 2 -.asm_e99b1 - ld [hli], a - dec c - jr nz, .asm_e99b1 - ld a, $7b - ld [hl], a - ret - -Func_e99b9: - coord hl, 0, 0 - ld de, SCREEN_WIDTH - 1 - ld c, SCREEN_HEIGHT -.asm_e99c1 - ld a, $7c - ld [hl], a - add hl, de - ld a, $7c - ld [hli], a - dec c - jr nz, .asm_e99c1 - ret - -Func_e99cc: - coord hl, 0, 17 -Func_e99cf: - ld a, $7d - ld [hli], a - ld a, $7a - ld c, SCREEN_WIDTH - 2 -.asm_e99b1 - ld [hli], a - dec c - jr nz, .asm_e99b1 - ld a, $7e - ld [hl], a - ret - -Func_e99de: - coord hl, 4, 0 - ld c, 6 - call Func_e99eb - coord hl, 6, 1 - ld c, 6 -Func_e99eb: -.asm_e99eb - push bc - push hl - ld de, String_e99fd - call PlaceString - pop hl - ld bc, 3 * SCREEN_WIDTH - add hl, bc - pop bc - dec c - jr nz, .asm_e99eb - ret - -String_e99fd: - db "----------@" - INCLUDE "engine/diploma_3a.asm" SurfingPikachu3Graphics: INCBIN "gfx/surfing_pikachu_3.t1.2bpp" |