diff options
Diffstat (limited to 'main.asm')
-rwxr-xr-x | main.asm | 1794 |
1 files changed, 1565 insertions, 229 deletions
@@ -261,7 +261,7 @@ MapHeaderPointers: ; 01ae (0:01ae) dw UndergroundTunnelEntranceRoute6_h ; unused dw Route7Gate_h dw UndergroundPathEntranceRoute7_h - dw $575d + dw UndergroundPathEntranceRoute7Copy_h dw Route8Gate_h dw UndergroundPathEntranceRoute8_h ;id=80 dw RockTunnelPokecenter_h @@ -11515,8 +11515,7 @@ UnusedNames: ; 4a92 (1:4a92) db "キャプテン@" db "プチマスター@" db "マスター@" - -INCBIN "baserom.gbc",$4b09,$4b0f - $4b09 + db "エクセレント" ; calculates the OAM data for all currently visible sprites and writes it to wOAMBuffer PrepareOAMData: ; 4b0f (1:4b0f) @@ -11970,7 +11969,8 @@ Func_4d72: ; 4d72 (1:4d72) DiagonalLines: ; 4d85 (1:4d85) INCBIN "gfx/diagonal_lines.2bpp" -INCBIN "baserom.gbc",$4da5,$4da6 - $4da5 +Func_4da5: ; 4da5 (1:4da5) + ret Func_4da6: ; 4da6 (1:4da6) call GBPalNormal @@ -15650,7 +15650,7 @@ NicknameTextString: ; 6953 (1:6953) db "NICKNAME?@" Func_695d: ; 695d (1:695d) - call Unnamed_6a12 + call Func_6a12 ld de, DefaultNamesPlayer ; $6aa8 call Func_6a6c ld a, [wCurrentMenuItem] ; $cc26 @@ -15683,7 +15683,7 @@ UnnamedText_699f: ; 699f (1:699f) db "@" Func_69a4: ; 69a4 (1:69a4) - call Unnamed_6a12 ; 0x69a4 call 0x6a12 + call Func_6a12 ; 0x69a4 call 0x6a12 ld de, DefaultNamesRival call Func_6a6c ld a, [wCurrentMenuItem] ; $cc26 @@ -15733,7 +15733,7 @@ Func_69ec: ; 69ec (1:69ec) ld a, $ff jr asm_6a19 -Unnamed_6a12: ; 6a12 (1:6a12) +Func_6a12: ; 6a12 (1:6a12) FuncCoord 5, 4 ; $c3f5 ld hl, Coord ld de, $67d @@ -16563,7 +16563,7 @@ DisplayPokemonCenterDialogue_: ; 6fe6 (1:6fe6) ld a, [wCurrentMenuItem] and a jr nz, .declinedHealing ; if the player chose No - call Unknown_7078 + call Func_7078 call LoadScreenTilesFromBuffer1 ; restore screen ld hl, NeedYourPokemonText call PrintText @@ -16618,7 +16618,7 @@ PokemonCenterFarewellText: ; 7072 (1:7072) TX_FAR _PokemonCenterFarewellText db "@" -Unknown_7078: ; 7078 (1:7078) +Func_7078: ; 7078 (1:7078) push hl ld hl, SafariZoneRestHouses ld a, [W_CURMAP] @@ -20779,10 +20779,10 @@ MapHeaderBanks: ; c23d (3:423d) db BANK(DayCareM_h) db BANK(Route6Gate_h) db BANK(UndergroundTunnelEntranceRoute6_h) - db $17 ;FREEZE + db BANK(UndergroundTunnelEntranceRoute6_h) ;FREEZE db BANK(Route7Gate_h) db BANK(UndergroundPathEntranceRoute7_h) - db $17 ;FREEZE + db BANK(UndergroundPathEntranceRoute7Copy_h) ;FREEZE db BANK(Route8Gate_h) db BANK(UndergroundPathEntranceRoute8_h) db BANK(RockTunnelPokecenter_h) @@ -20877,7 +20877,7 @@ MapHeaderBanks: ; c23d (3:423d) db BANK(Lab4_h) db BANK(CinnabarPokecenter_h) db BANK(CinnabarMart_h) - db $1D + db BANK(CinnabarMart_h) db BANK(IndigoPlateauLobby_h) db BANK(CopycatsHouseF1_h) db BANK(CopycatsHouseF2_h) @@ -22227,13 +22227,14 @@ MapHSA2: ; cd8d (3:4d8d) Func_cd99: ; cd99 (3:4d99) ld hl, $d728 set 0, [hl] - ld hl, Unknown_cdaa ; $4daa + ld hl, UsedStrengthText ; $4daa call PrintText ld hl, UnnamedText_cdbb ; $4dbb jp PrintText -Unknown_cdaa: ; cdaa (3:4daa) -INCBIN "baserom.gbc",$cdaa,$cdaf - $cdaa +UsedStrengthText: ; cdaa (3:4daa) + TX_FAR _UsedStrengthText + db $08 ; asm ld a, [$cf91] call PlayCry call Delay3 @@ -29597,7 +29598,7 @@ asm_ef82: ; ef82 (3:6f82) call Delay3 xor a ld [$FF00+$b0], a - ld hl, Unknown_eff2 ; $6ff2 + ld hl, UsedCutText ; $6ff2 call PrintText call LoadScreenTilesFromBuffer2 ld hl, $d730 @@ -29620,8 +29621,9 @@ asm_ef82: ; ef82 (3:6f82) call UpdateSprites jp Func_eedc -Unknown_eff2: ; eff2 (3:6ff2) -INCBIN "baserom.gbc",$eff2,$eff7 - $eff2 +UsedCutText: ; eff2 (3:6ff2) + TX_FAR _UsedCutText + db "@" Func_eff7: ; eff7 (3:6ff7) xor a @@ -31543,7 +31545,20 @@ UnnamedText_fbe3: ; fbe3 (3:7be3) TX_FAR _UnnamedText_fbe3 db "@" -INCBIN "baserom.gbc",$fbe8,$fc03 - $fbe8 +UnnamedText_fbe8: ; fbe8 (3:7be8) + db $08 ; asm + ld hl, UnnamedText_fc03 + ld a, [W_CURMAPTILESET] + cp $13 + jr nz, .asm_fbfd + ld a, [$c420] + cp $38 + jr nz, .asm_fbfd + ld hl, UnnamedText_fc08 + +.asm_fbfd + call PrintText + jp TextScriptEnd UnnamedText_fc03: ; fc03 (3:7c03) TX_FAR _UnnamedText_fc03 @@ -31557,7 +31572,30 @@ UnnamedText_fc0d: ; fc0d (3:7c0d) TX_FAR _UnnamedText_fc0d db "@" -INCBIN "baserom.gbc",$fc12,$fc45 - $fc12 +TownMapText: ; fc12 (3:7c12) + TX_FAR _TownMapText + db $06 + db $08 ; asm + ld a, $1 + ld [$cc3c], a + ld hl, $d730 + set 6, [hl] + call GBPalWhiteOutWithDelay3 + xor a + ld [$ffb0], a + inc a + ld [H_AUTOBGTRANSFERENABLED], a + call LoadFontTilePatterns + ld b, BANK(Func_70e3e) + ld hl, Func_70e3e + call Bankswitch + ld hl, $d730 + res 6, [hl] + ld de, TextScriptEnd + push de + ld a, [H_LOADEDROMBANK] + push af + jp CloseTextDisplay UnnamedText_fc45: ; fc45 (3:7c45) TX_FAR _UnnamedText_fc45 @@ -31882,10 +31920,16 @@ StatusScreen: ; 12953 (4:6953) jp SkipFixedLengthTextEntries Unknown_12a95: ; 12a95 (4:6a95) -INCBIN "baserom.gbc",$12a95,$12a9d - $12a95 + dw W_PARTYMON1OT + dw W_ENEMYMON1OT + dw $DD2A + dw $DA54 Unknown_12a9d: ; 12a9d (4:6a9d) -INCBIN "baserom.gbc",$12a9d,$12aa5 - $12a9d + dw W_PARTYMON1NAME + dw W_ENEMYMON1NAME + dw $DE06 + dw $DA49 Type1Text: ; 12aa5 (4:6aa5) db "TYPE1/", $4e @@ -33791,13 +33835,113 @@ UnnamedText_1399e: ; 1399e (4:799e) TX_FAR _UnnamedText_1399e db "@" -INCBIN "baserom.gbc",$139a3,$139cd - $139a3 + ld hl, W_ENEMYMONTYPE1 + ld de, W_PLAYERMONTYPE1 + ld a, [H_WHOSETURN] + and a + ld a, [W_ENEMYBATTSTATUS1] + jr z, .asm_139b8 + push hl + ld h, d + ld l, e + pop de + ld a, [W_PLAYERBATTSTATUS1] + +.asm_139b8 + bit 6, a + jr nz, Func_139d2 + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + ld hl, Func_3fba8 + call Func_139d5 + ld hl, UnnamedText_139cd + jp PrintText UnnamedText_139cd: ; 139cd (4:79cd) TX_FAR _UnnamedText_139cd db "@" -INCBIN "baserom.gbc",$139d2,$13a53 - $139d2 +Func_139d2: ; 139d2 (4:79d2) + ld hl, Func_3fb53 +Func_139d5: ; 139d5 (4:79d5) + ld b, BANK(Func_3fb53) + jp Bankswitch + +Func_139da: ; 139da (4:79da) + ld a, $7 + ld hl, wPlayerMonAttackMod + call Func_13a43 + ld hl, wEnemyMonAttackMod + call Func_13a43 + ld hl, $cd12 + ld de, W_PLAYERMONATK + call Func_13a4a + ld hl, $cd26 + ld de, W_ENEMYMONATTACK + call Func_13a4a + ld hl, W_ENEMYMONSTATUS + ld de, wEnemySelectedMove + ld a, [H_WHOSETURN] + and a + jr z, .asm_13a09 + ld hl, W_PLAYERMONSTATUS + dec de + +.asm_13a09 + ld a, [hl] + ld [hl], $0 + and $27 + jr z, .asm_13a13 + ld a, $ff + ld [de], a + +.asm_13a13 + xor a + ld [W_PLAYERDISABLEDMOVE], a + ld [W_ENEMYDISABLEDMOVE], a + ld hl, $ccee + ld [hli], a + ld [hl], a + ld hl, W_PLAYERBATTSTATUS1 + call Func_13a37 + ld hl, W_ENEMYBATTSTATUS1 + call Func_13a37 + ld hl, Func_3fba8 + call Func_139d5 + ld hl, UnnamedText_13a53 + jp PrintText + +Func_13a37: ; 13a37 (4:7a37) + res 7, [hl] + inc hl + ld a, [hl] + and $78 + ld [hli], a + ld a, [hl] + and $f8 + ld [hl], a + ret + +Func_13a43: ; 13a43 (4:7a43) + ld b, $8 +.loop + ld [hli], a + dec b + jr nz, .loop + ret + +Func_13a4a: ; 13a4a (4:7a4a) + ld b, $8 +.loop + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + ret UnnamedText_13a53: ; 13a53 (4:7a53) TX_FAR _UnnamedText_13a53 @@ -36079,10 +36223,10 @@ ViridianCityScriptPointers: ; 18ffd (6:4ffd) dw ViridianCityScript3 ViridianCityScript0: ; 19005 (6:5005) - call Function1900b - jp Function1903d + call ViridianCityScript_1900b + jp ViridianCityScript_1903d -Function1900b: ; 1900b (6:500b) +ViridianCityScript_1900b: ; 1900b (6:500b) ld a, [$d74c] bit 0, a ret nz @@ -36104,12 +36248,12 @@ Function1900b: ; 1900b (6:500b) call DisplayTextID xor a ld [H_CURRENTPRESSEDBUTTONS], a - call Function190cf + call ViridianCityScript_190cf ld a, $3 ld [W_VIRIDIANCITYCURSCRIPT], a ret -Function1903d: ; 1903d (6:503d) +ViridianCityScript_1903d: ; 1903d (6:503d) ld a, [$d74b] bit 5, a ret nz @@ -36124,7 +36268,7 @@ Function1903d: ; 1903d (6:503d) call DisplayTextID xor a ld [H_CURRENTPRESSEDBUTTONS], a - call Function190cf + call ViridianCityScript_190cf ld a, $3 ld [W_VIRIDIANCITYCURSCRIPT], a ret @@ -36149,7 +36293,7 @@ ViridianCityScript1: ; 19062 (6:5062) ld a, WEEDLE ld [W_CUROPPONENT], a ld a, $2 - ld [W_VIRIDIANCITYCURSCRIPT], a ; XXX what is this + ld [W_VIRIDIANCITYCURSCRIPT], a ret ViridianCityScript2: ; 1908f (6:508f) @@ -36184,7 +36328,7 @@ ViridianCityScript3: ; 190c1 (6:50c1) ld [W_VIRIDIANCITYCURSCRIPT], a ret -Function190cf: ; 190cf (6:50cf) +ViridianCityScript_190cf: ; 190cf (6:50cf) call Func_3486 ld a, $1 ld [$cd38], a @@ -36293,7 +36437,7 @@ ViridianCityText5: ; 1917f (6:517f) db $08 ; asm ld hl, UnnamedText_19191 call PrintText - call Function190cf + call ViridianCityScript_190cf ld a, $3 ld [W_VIRIDIANCITYCURSCRIPT], a jp TextScriptEnd @@ -36420,10 +36564,10 @@ PewterCityScript0: ; 19251 (6:5251) ld [W_MUSEUMF1CURSCRIPT], a ld hl, $d754 res 0, [hl] - call Function1925e + call PewterCityScript_1925e ret -Function1925e: ; 1925e (6:525e) +PewterCityScript_1925e: ; 1925e (6:525e) ld a, [$d755] bit 7, a ret nz @@ -36642,9 +36786,7 @@ UnnamedText_193fb: ; 193fb (6:53fb) db "@" PewterCityText13: ; 19400 (6:5400) - -UnnamedText_19400: ; 19400 (6:5400) - TX_FAR _UnnamedText_19400 + TX_FAR _PewterCityText13 db "@" PewterCityText4: ; 19405 (6:5405) @@ -36730,7 +36872,7 @@ CeruleanCityScript: ; 19480 (6:5480) ld a, [W_CERULEANCITYCURSCRIPT] jp CallFunctionInTable -CeruleanCity_Unknown1948c: ; 1948c (6:548c) +CeruleanCityScript_1948c: ; 1948c (6:548c) xor a ld [wJoypadForbiddenButtonsMask], a ld [W_CERULEANCITYCURSCRIPT], a @@ -36749,7 +36891,7 @@ CeruleanCityScriptPointers: ; 1949d (6:549d) CeruleanCityScript4: ; 194a7 (6:54a7) ld a, [W_ISINBATTLE] cp $ff - jp z, CeruleanCity_Unknown1948c + jp z, CeruleanCityScript_1948c ld a, $f0 ld [wJoypadForbiddenButtonsMask], a ld hl, $d75b @@ -36840,7 +36982,7 @@ CeruleanCityCoords2: ; 19554 (6:5554) CeruleanCityMovement1: ; 19559 (6:5559) db $00,$00,$00,$FF -CeruleanCityFunction1955d: ; 1955d (6:555d) +CeruleanCityScript_1955d: ; 1955d (6:555d) ld a,1 ld [$ff8c],a xor a @@ -36883,7 +37025,7 @@ CeruleanCityScript1: ; 19567 (6:5567) xor a ld [H_CURRENTPRESSEDBUTTONS], a - call CeruleanCityFunction1955d + call CeruleanCityScript_1955d ld a, $2 ld [W_CERULEANCITYCURSCRIPT], a ret @@ -36891,8 +37033,8 @@ CeruleanCityScript1: ; 19567 (6:5567) CeruleanCityScript2: ; 195b1 (6:55b1) ld a, [$d057] cp $ff - jp z, CeruleanCity_Unknown1948c - call CeruleanCityFunction1955d + jp z, CeruleanCityScript_1948c + call CeruleanCityScript_1955d ld a, $f0 ld [wJoypadForbiddenButtonsMask], a ld hl, $d75a @@ -37030,8 +37172,8 @@ CeruleanCityText2: ; 1967c (6:567c) ld [$cc3c], a ld hl, ReceivedTM28Text call PrintText - ld b, BANK(Unnamed_ASM_74872) - ld hl, Unnamed_ASM_74872 + ld b, BANK(Func_74872) + ld hl, Func_74872 call Bankswitch .Done jp TextScriptEnd @@ -37992,7 +38134,7 @@ SilphCo4_h: ; 0x19cff to 0x19d0b (12 bytes) (bank=6) (id=209) dw SilphCo4Object ; objects SilphCo4Script: ; 19d0b (6:5d0b) - call SilphCo4Script_Unknown19d21 + call SilphCo4Script_19d21 call EnableAutoTextBoxDrawing ld hl, SilphCo4TrainerHeaders ld de, SilphCo4ScriptPointers @@ -38001,14 +38143,14 @@ SilphCo4Script: ; 19d0b (6:5d0b) ld [W_SILPHCO4CURSCRIPT], a ret -SilphCo4Script_Unknown19d21: ; 19d21 (6:5d21) +SilphCo4Script_19d21: ; 19d21 (6:5d21) ld hl, $d126 bit 5, [hl] res 5, [hl] ret z ld hl, SilphCo4Data19d58 - call SilphCo4Function19d5d - call SilphCo4Function19d89 + call SilphCo4Script_19d5d + call SilphCo4Script_19d89 ld a, [$d82a] bit 0, a jr nz, .asm_19d48 @@ -38031,7 +38173,7 @@ SilphCo4Script_Unknown19d21: ; 19d21 (6:5d21) SilphCo4Data19d58: ; 19d58 (6:5d58) db $06, $02, $04, $06, $ff -SilphCo4Function19d5d: ; 19d5d (6:5d5d) +SilphCo4Script_19d5d: ; 19d5d (6:5d5d) push hl ld hl, $d73f ld a, [hli] @@ -38067,7 +38209,7 @@ SilphCo4Function19d5d: ; 19d5d (6:5d5d) ld [$ff00+$e0], a ret -SilphCo4Function19d89: ; 19d89 (6:5d89) +SilphCo4Script_19d89: ; 19d89 (6:5d89) ld hl, $d82a ld a, [$ff00+$e0] and a @@ -38128,7 +38270,7 @@ SilphCo4Text1: ; 19dd3 (6:5dd3) db $08 ; asm ld hl, UnnamedText_19de0 ; $5de0 ld de, UnnamedText_19de5 ; $5de5 - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_19de0: ; 19de0 (6:5de0) @@ -38237,7 +38379,7 @@ SilphCo5_h: ; 0x19f2b to 0x19f37 (12 bytes) (bank=6) (id=210) dw SilphCo5Object ; objects SilphCo5Script: ; 19f37 (6:5f37) - call Unnamed_19f4d + call SilphCo5Script_19f4d call EnableAutoTextBoxDrawing ld hl, SilphCo5TrainerHeaders ld de, SilphCo5ScriptPointers @@ -38246,14 +38388,14 @@ SilphCo5Script: ; 19f37 (6:5f37) ld [W_SILPHCO5CURSCRIPT], a ret -Unnamed_19f4d: ; 19f4d (6:5f4d) +SilphCo5Script_19f4d: ; 19f4d (6:5f4d) ld hl, $d126 bit 5, [hl] res 5, [hl] ret z ld hl, SilphCo5Coords - call SilphCo4Function19d5d - call SilphCo5Function19f9e + call SilphCo4Script_19d5d + call SilphCo5Script_19f9e ld a, [$d82c] bit 0, a jr nz, .asm_19f74 ; 0x19f63 $f @@ -38286,7 +38428,7 @@ Unnamed_19f4d: ; 19f4d (6:5f4d) SilphCo5Coords: ; 19f97 (6:5f97) ; coords? db $02, $03, $06, $03, $05, $07, $ff -SilphCo5Function19f9e: ; 19f9e (6:5f9e) +SilphCo5Script_19f9e: ; 19f9e (6:5f9e) ld hl, $d82c ld a, [$ff00+$e0] and a @@ -38365,7 +38507,7 @@ SilphCo5Text1: ; 1a003 (6:6003) db $08 ; asm ld hl, UnnamedText_1a010 ; $6010 ld de, UnnamedText_1a015 ; $6015 - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_1a010: ; 1a010 (6:6010) @@ -38508,7 +38650,7 @@ SilphCo6_h: ; 0x1a19d to 0x1a1a9 (12 bytes) (bank=6) (id=211) dw SilphCo6Object ; objects SilphCo6Script: ; 1a1a9 (6:61a9) - call Unnamed_1a1bf + call SilphCo6Script_1a1bf call EnableAutoTextBoxDrawing ld hl, SilphCo6TrainerHeaders ld de, SilphCo6ScriptPointers @@ -38517,14 +38659,14 @@ SilphCo6Script: ; 1a1a9 (6:61a9) ld [W_SILPHCO6CURSCRIPT], a ret -Unnamed_1a1bf: ; 1a1bf (6:61bf) +SilphCo6Script_1a1bf: ; 1a1bf (6:61bf) ld hl, $d126 bit 5, [hl] res 5, [hl] ret z ld hl, SilphCo6Coords1 - call SilphCo4Function19d5d - call Unknown_1a1e6 + call SilphCo4Script_19d5d + call SilphCo6Script_1a1e6 ld a, [$d82e] bit 7, a ret nz @@ -38538,7 +38680,7 @@ SilphCo6Coords1: ; 1a1e3 (6:61e3) db $06, $02 db $ff -Unknown_1a1e6: ; 1a1e6 (6:61e6) +SilphCo6Script_1a1e6: ; 1a1e6 (6:61e6) ld a, [$ff00+$e0] and a ret z @@ -38593,7 +38735,7 @@ SilphCo6TrainerHeader3: ; 1a222 (6:6222) db $ff -Unnamed_622f: ; 1a22f (6:622f) +SilphCo6Script_1a22f: ; 1a22f (6:622f) ld a, [$d838] bit 7, a jr nz, .asm_1a238 ; 0x1a234 $2 @@ -38608,7 +38750,7 @@ SilphCo6Text1: ; 1a23d (6:623d) db $08 ; asm ld hl, UnnamedText_1a24a ld de, UnnamedText_1a24f - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_1a24a: ; 1a24a (6:624a) @@ -38623,7 +38765,7 @@ SilphCo6Text2: ; 1a254 (6:6254) db $08 ; asm ld hl, UnnamedText_1a261 ld de, UnnamedText_1a266 - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_1a261: ; 1a261 (6:6261) @@ -38638,7 +38780,7 @@ SilphCo6Text3: ; 1a26b (6:626b) db $08 ; asm ld hl, UnnamedText_1a278 ld de, UnnamedText_1a27d - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_1a278: ; 1a278 (6:6278) @@ -38653,7 +38795,7 @@ SilphCo6Text4: ; 1a282 (6:6282) db $08 ; asm ld hl, UnnamedText_1a28f ld de, UnnamedText_1a294 - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_1a28f: ; 1a28f (6:628f) @@ -38668,7 +38810,7 @@ SilphCo6Text5: ; 1a299 (6:6299) db $08 ; asm ld hl, UnnamedText_1a2a6 ld de, UnnamedText_1a2ab - call Unnamed_622f + call SilphCo6Script_1a22f jp TextScriptEnd UnnamedText_1a2a6: ; 1a2a6 (6:62a6) @@ -39033,31 +39175,35 @@ RLEList_1a5da: ; 1a5da (6:65da) db $C0, $03 db $FF +; XXX why would this function want to return on POKEMONTOWER_7? Func_1a5e7: ; 1a5e7 (6:65e7) ld a, [W_CURMAP] ; $d35e - cp $94 + cp POKEMONTOWER_7 ret z - ld hl, Unknown_1a605 ; $6605 + ld hl, RivalIDs ; $6605 ld a, [wEngagedTrainerClass] ld b, a -.asm_1a5f4 +.loop ld a, [hli] cp $ff - jr z, .asm_1a5fd + jr z, .notRival cp b ret z - jr .asm_1a5f4 -.asm_1a5fd + jr .loop +.notRival ld a, [$cf13] ld [H_DOWNARROWBLINKCNT2], a ; $FF00+$8c jp SetSpriteMovementBytesToFF -Unknown_1a605: ; 1a605 (6:6605) -INCBIN "baserom.gbc",$1a605,$1a609 - $1a605 +RivalIDs: ; 1a605 (6:6605) + db SONY1 + $c8 + db SONY2 + $c8 + db SONY3 + $c8 + db $ff Func_1a609: ; 1a609 (6:6609) push de - ld hl, Unknown_1a62c ; $662c + ld hl, TilesetArray_1a62c ; $662c ld a, [W_CURMAPTILESET] ; $d367 ld de, $3 call IsInArray @@ -39082,8 +39228,67 @@ Func_1a609: ; 1a609 (6:6609) and a ret -Unknown_1a62c: ; 1a62c (6:662c) -INCBIN "baserom.gbc",$1a62c,$1a672 - $1a62c +TilesetArray_1a62c: ; 1a62c (6:662c) + db $00 + dw UnknownTilesetData1a654 + db $03 + dw UnknownTilesetData1a657 + db $02 + dw UnknownTilesetData1a659 + db $08 + dw UnknownTilesetData1a65b + db $09 + dw UnknownTilesetData1a65d + db $0a + dw UnknownTilesetData1a65d + db $0c + dw UnknownTilesetData1a65d + db $0d + dw UnknownTilesetData1a65f + db $12 + dw UnknownTilesetData1a661 + db $13 + dw UnknownTilesetData1a665 + db $14 + dw UnknownTilesetData1a669 + db $16 + dw UnknownTilesetData1a66b + db $17 + dw UnknownTilesetData1a66f + db $ff + +UnknownTilesetData1a654: ; 1a654 (6:6654) + db $1B,$58,$00 + +UnknownTilesetData1a657: ; 1a657 (6:6657) + db $3a,$00 + +UnknownTilesetData1a659: ; 1a659 (6:6659) + db $5e,$00 + +UnknownTilesetData1a65b: ; 1a65b (6:665b) + db $54,$00 + +UnknownTilesetData1a65d: ; 1a65d (6:665d) + db $3b,$00 + +UnknownTilesetData1a65f: ; 1a65f (6:665f) + db $1e,$00 + +UnknownTilesetData1a661: ; 1a661 (6:6661) + db $1c,$38,$1a,$00 + +UnknownTilesetData1a665: ; 1a665 (6:6665) + db $1a,$1c,$53,$00 + +UnknownTilesetData1a669: ; 1a669 (6:6669) + db $34,$00 + +UnknownTilesetData1a66b: ; 1a66b (6:666b) + db $43,$58,$1b,$00 + +UnknownTilesetData1a66f: ; 1a66f (6:666f) + db $3b,$1b,$00 Func_1a672: ; 1a672 (6:6672) ld a, [$d736] @@ -39101,7 +39306,7 @@ Func_1a672: ; 1a672 (6:6672) ld c, a ld a, [$cfc6] ld d, a - ld hl, Unknown_1a6cf ; $66cf + ld hl, DataTable_1a6cf ; $66cf .asm_1a691 ld a, [hli] cp $ff @@ -39143,8 +39348,16 @@ Func_1a672: ; 1a672 (6:6672) call PlaySound ret -Unknown_1a6cf: ; 1a6cf (6:66cf) -INCBIN "baserom.gbc",$1a6cf,$1a6f0 - $1a6cf +DataTable_1a6cf: ; 1a6cf (6:66cf) + db $00,$2C,$37,$80 + db $00,$39,$36,$80 + db $00,$39,$37,$80 + db $08,$2C,$27,$20 + db $08,$39,$27,$20 + db $0C,$2C,$0D,$10 + db $0C,$2C,$1D,$10 + db $0C,$39,$0D,$10 + db $FF Func_1a6f0: ; 1a6f0 (6:66f0) ld hl, $8ff0 @@ -40080,7 +40293,7 @@ OaksLabScript11: ; 1cdb9 (7:4db9) ret nz ; define which team rival uses, and fight it - ld a, SONY1 + 200 + ld a, SONY1 + $C8 ld [W_CUROPPONENT], a ld a, [W_RIVALSTARTER] cp SQUIRTLE @@ -40217,7 +40430,7 @@ OaksLabScript15: ; 1ceb0 (7:4eb0) ld a, $15 ld [$ff00+$8c], a call DisplayTextID - call Unknown_1d02b + call Func_1d02b ld a, $2a ld [$cc4d], a ld a, $15 @@ -40382,7 +40595,7 @@ Function1D00A: ; 1d00a (7:500a) ld [$cf96], a jp RemoveItemFromInventory -Unknown_1d02b: ; 1d02b (7:502b) +Func_1d02b: ; 1d02b (7:502b) ld a, $7c ld [$ff00+$eb], a ld a, $8 @@ -41820,14 +42033,14 @@ NameRater_h: ; 0x1da06 to 0x1da12 (12 bytes) (bank=7) (id=229) NameRaterScript: ; 1da12 (7:5a12) jp EnableAutoTextBoxDrawing -Unknown_1da15: ; 1da15 (7:5a15) +Func_1da15: ; 1da15 (7:5a15) call PrintText call YesNoChoice ld a, [$cc26] and a ret -Unknown_1da20: ; 1da20 (7:5a20) +Func_1da20: ; 1da20 (7:5a20) ld hl, $d273 ld bc, $000b ld a, [$cf92] @@ -41863,7 +42076,7 @@ NameRaterText1: ; 1da56 (7:5a56) db $8 call SaveScreenTilesToBuffer2 ld hl, UnnamedText_1dab3 - call Unknown_1da15 + call Func_1da15 jr nz, .asm_1daae ; 0x1da60 $4c ld hl, UnnamedText_1dab8 call PrintText @@ -41879,11 +42092,11 @@ NameRaterText1: ; 1da56 (7:5a56) pop af jr c, .asm_1daae ; 0x1da80 $2c call GetPartyMonName2 - call Unknown_1da20 + call Func_1da20 ld hl, UnnamedText_1dad1 jr c, .asm_1daa8 ; 0x1da8b $1b ld hl, UnnamedText_1dabd - call Unknown_1da15 + call Func_1da15 jr nz, .asm_1daae ; 0x1da93 $19 ld hl, UnnamedText_1dac2 call PrintText @@ -42724,7 +42937,7 @@ Route6GateScript0: ; 1e04e (7:604e) ld a, $2 ld [$ff00+$8c], a call DisplayTextID - call Unknown_1e0a1 + call Func_1e0a1 ld a, $1 ld [W_ROUTE6GATECURSCRIPT], a ret @@ -42749,7 +42962,7 @@ Route6GateScript1: ; 1e091 (7:6091) ld [W_ROUTE6GATECURSCRIPT], a ret -Unknown_1e0a1: ; 1e0a1 (7:60a1) +Func_1e0a1: ; 1e0a1 (7:60a1) ld hl, $d730 set 7, [hl] ld a, $80 @@ -43867,11 +44080,11 @@ asm_1e9b0: ; 1e9b0 (7:69b0) Func_1e9ed: ; 1e9ed (7:69ed) xor a ld [wJoypadForbiddenButtonsMask], a - ld hl, Unknown_1e9f7 ; $69f7 + ld hl, UnnamedText_1e9f7 ; $69f7 jp PrintText -Unknown_1e9f7: ; 1e9f7 (7:69f7) -INCBIN "baserom.gbc",$1e9f7,$1e9f8 - $1e9f7 +UnnamedText_1e9f7: ; 1e9f7 (7:69f7) + db $08 ; asm ld a, [W_NUMSAFARIBALLS] ; $da47 and a jr z, .asm_1ea04 @@ -43897,7 +44110,8 @@ UnnamedText_1ea12: ; 1ea12 (7:6a12) ld a, $31 jp Func_3ef5 -INCBIN "baserom.gbc",$1ea25,$1ea26 - $1ea25 +UnnamedText_1ea25: ; 1ea25 (7:6a25) + db $08 ; asm xor a ld [$da38], a ld a, [wWhichTrade] ; $cd3d @@ -44143,10 +44357,10 @@ UnnamedText_1ebdd: ; 1ebdd (7:6bdd) TX_FAR _UnnamedText_1ebdd db "@" -UnnamedText_1ebe2: ; 1ebe2 (7:6be2 +UnnamedText_1ebe2: ; 1ebe2 (7:6be2) TX_FAR _UnnamedText_1ebe2 - db $06,$08 - + db $06 + db $08 ; asm ld a, $ff ld [$c0ee], a call PlaySound @@ -44159,8 +44373,8 @@ UnnamedText_1ebe2: ; 1ebe2 (7:6be2 call DelayFrames jp TextScriptEnd -INCBIN "baserom.gbc",$1ec05,$1ec06 - $1ec05 - +UnnamedText_1ec05: ; 1ec05 (7:6c05) + db $08 ; asm call SaveScreenTilesToBuffer1 ld hl, UnnamedText_1ec7f call PrintText @@ -48013,7 +48227,7 @@ Func_3726a: ; 3726a (d:726a) and $f0 swap a ld b, a -.asm_37279 +.loop ld h, d ld l, $48 call Func_37292 @@ -48025,7 +48239,7 @@ Func_3726a: ; 3726a (d:726a) ld d, a call Func_372c4 dec c - jr nz, .asm_37279 + jr nz, .loop pop bc jr Func_3726a @@ -48035,10 +48249,10 @@ Func_37292: ; 37292 (d:7292) jr nz, Func_37292 ld a, h ld [rSCX], a ; $FF00+$43 -.asm_3729a +.loop ld a, [$FF00+$44] cp h - jr z, .asm_3729a + jr z, .loop ret Unknown_372a0: ; 372a0 (d:72a0) @@ -48047,12 +48261,12 @@ INCBIN "baserom.gbc",$372a0,$372ac - $372a0 Func_372ac: ; 372ac (d:72ac) ld a, [wWhichTrade] ; $cd3d cp $b0 - jr z, .asm_372ba + jr z, .skip cp $b1 - jr z, .asm_372ba + jr z, .skip cp $99 ret nz -.asm_372ba +.skip ld e, $1 ld bc, Unknown_37244 ; $7244 ld d, $0 @@ -48102,13 +48316,159 @@ Func_372d6: ; 372d6 (d:72d6) ld c, $96 jp DelayFrames -INCBIN "baserom.gbc",$3730e,$37390 - $3730e +Func_3730e: ; 3730e (d:730e) + call SaveScreenTilesToBuffer2 + ld a, BANK(DisplayTextIDInit) + ld [$cf0c], a + ld b, a + ld hl, DisplayTextIDInit + call Bankswitch + ld hl, UnnamedText_37390 + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .skip + dec a + ld [$cfcb], a + ld hl, $cd4f + xor a + ld [hli], a + ld [hl], $2 + ld a, $4c + call Predef + call GBPalWhiteOutWithDelay3 + call Func_378a8 + call LoadFontTilePatterns + ld b, $5 + call GoPAL_SET + call GBPalNormal + ld a, $e4 + ld [$ff48], a + ld hl, $d730 + set 6, [hl] + xor a + ld [W_SUBANIMSUBENTRYADDR], a + ld hl, wTrainerSpriteOffset + ld bc, $0014 + call FillMemory + call Func_37395 + ld hl, $d730 + res 6, [hl] + xor a + ld [W_SUBANIMSUBENTRYADDR], a + call GBPalWhiteOutWithDelay3 + ld a, $1 + ld [$cfcb], a + call GoPAL_SET_CF1C + call Func_3e08 + call ReloadTilesetTilePatterns +.skip + call LoadScreenTilesFromBuffer2 + call Delay3 + call GBPalNormal + ld a, [$cc5e] + push af + jp CloseTextDisplay UnnamedText_37390: ; 37390 (d:7390) TX_FAR _UnnamedText_37390 db "@" -INCBIN "baserom.gbc",$37395,$37467 - $37395 +Func_37395: ; 37395 (d:7395) + call Func_37754 + xor a + ld hl, $cd4a + ld [hli], a + ld [hl], a + call Func_3775f + ld hl, UnnamedText_3746c + call PrintText + call SaveScreenTilesToBuffer1 +.loop + ld a, $3 + ld [wMenuWatchedKeys], a + ld a, $2 + ld [wMaxMenuItem], a + ld a, $c + ld [wTopMenuItemY], a + ld a, $f + ld [wTopMenuItemX], a + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [$cc37], a + ld hl, $c48a + ld b, $5 + ld c, $4 + call TextBoxBorder + ld hl, $c4a0 + ld de, UnnamedText_3745e + call PlaceString + call HandleMenuInput + and $2 + jp nz, LoadScreenTilesFromBuffer1 + ld a, [wCurrentMenuItem] + ld b, a + ld a, $3 + sub b + ld [$cd50], a + ld hl, wPlayerCoins + ld c, a + ld a, [hli] + and a + jr nz, .skip1 + ld a, [hl] + cp c + jr nc, .skip1 + ld hl, UnnamedText_37476 + call PrintText + jr .loop +.skip1 + call LoadScreenTilesFromBuffer1 + call Func_37741 + call Func_377d5 + call Func_37480 + ld a, $4 + ld hl, $cd4d + ld [hli], a + ld [hli], a + ld [hl], a + call WaitForSoundToFinish + ld a, $c0 + call PlaySound + ld hl, UnnamedText_37471 + call PrintText + call Func_374ad + call Func_37588 + ld hl, wPlayerCoins + ld a, [hli] + or [hl] + jr nz, .skip2 + ld hl, UnnamedText_37467 + call PrintText + ld c, $3c + jp DelayFrames +.skip2 + ld hl, UnnamedText_3747b + call PrintText + ld hl, $c49e + ld bc, $0d0f + xor a + ld [$d12c], a + ld a, $14 + ld [$d125], a + call DisplayTextBoxID + ld a, [wCurrentMenuItem] + and a + ret nz + call Func_377ce + jp Func_37395 + +UnnamedText_3745e: ; 3745e (d:745e) + db "×3",$4e + db "×2",$4e + db "×1@" UnnamedText_37467: ; 37467 (d:7467) TX_FAR _UnnamedText_37467 @@ -48130,29 +48490,756 @@ UnnamedText_3747b: ; 3747b (d:747b) TX_FAR _UnnamedText_3747b db "@" -INCBIN "baserom.gbc",$37480,$37673 - $37480 +Func_37480: ; 37480 (d:7480) + ld hl, $cd4c + bit 7, [hl] + ret nz + ld a, [W_SUBANIMSUBENTRYADDR] + and a + jr nz, .skip1 + call GenRandom + and a + jr z, .skip2 + ld b, a + ld a, [$cc5b] + cp b + jr c, .skip3 + ld a, $d2 + cp b + jr c, .skip1 + ld [hl], $0 + ret +.skip1 + set 6, [hl] + ret +.skip2 + ld a, $3c + ld [W_SUBANIMSUBENTRYADDR], a + ret +.skip3 + set 7, [hl] + ret + +Func_374ad: ; 374ad (d:74ad) + ld c, $14 +.loop1 + push bc + call Func_37813 + call Func_37823 + call Func_37833 + ld c, $2 + call DelayFrames + pop bc + dec c + jr nz, .loop1 + xor a + ld [wTrainerSpriteOffset], a +.loop2 + call Func_37882 + call Func_374df + call Func_374fb + call Func_37517 + ret c + ld a, [$cf1b] + xor $1 + inc a + ld c, a + call DelayFrames + jr .loop2 + +Func_374df: ; 374df (d:74df) + ld a, [wTrainerSpriteOffset] + cp $1 + jr c, .skip + ld de, wTrainerEngageDistance + ld a, [de] + rra + jr nc, .skip + ld hl, $cd4d + ld a, [hl] + and a + ret z + dec [hl] + call Func_3752c + ret nz +.skip + jp Func_37813 + +Func_374fb: ; 374fb (d:74fb) + ld a, [wTrainerSpriteOffset] + cp $2 + jr c, .skip + ld de, wTrainerFacingDirection + ld a, [de] + rra + jr nc, .skip + ld hl, $cd4e + ld a, [hl] + and a + ret z + dec [hl] + call Func_37552 + ret z +.skip + jp Func_37823 + +Func_37517: ; 37517 (d:7517) + ld a, [wTrainerSpriteOffset] + cp $3 + jr c, .skip + ld de, wTrainerScreenY + ld a, [de] + rra + jr nc, .skip + scf + ret +.skip + call Func_37833 + and a + ret + +Func_3752c: ; 3752c (d:752c) + call Func_376c0 + ld hl, wTrainerScreenX + ld a, [$cd4c] + and $80 + jr nz, .skip1 + inc hl + ld a, [hl] + cp $a + jr nz, .skip2 + ret +.skip1 + ld c, $3 +.loop + ld a, [hli] + cp $2 + jr c, .skip2 + dec c + jr nz, .loop + ret +.skip2 + inc a + ld hl, $cd4d + ld [hl], $0 + ret + +Func_37552: ; 37552 (d:7552) + call Func_376b4 + ld a, [$cd4c] + and $80 + jr nz, .skip1 + call Func_3756e + ret nz + jr .skip2 +.skip1 + call Func_3756e + ld a, [de] + cp $7 + ret nc +.skip2 + xor a + ld [$cd4e], a + ret + +Func_3756e: ; 3756e (d:756e) + ld hl, wTrainerScreenX + ld de, $cd44 + ld a, [de] + cp [hl] + ret z + inc de + ld a, [de] + cp [hl] + ret z + inc hl + cp [hl] + ret z + inc hl + cp [hl] + ret z + inc de + ld a, [de] + cp [hl] + ret z + dec de + dec de + ret + +Func_37588: ; 37588 (d:7588) + call Func_376a8 + ld a, [$cd50] + cp $2 + jr z, .skip1 + cp $1 + jr z, .skip2 + ld hl, wTrainerScreenX + ld de, $cd45 + ld bc, $cd49 + call Func_376a2 + jp z, .skip5 + ld hl, $cd43 + ld de, $cd45 + ld bc, $cd47 + call Func_376a2 + jr z, .skip5 +.skip1 + ld hl, $cd43 + ld de, $cd46 + ld bc, $cd49 + call Func_376a2 + jr z, .skip5 + ld hl, wTrainerScreenX + ld de, $cd44 + ld bc, $cd47 + call Func_376a2 + jr z, .skip5 +.skip2 + ld hl, $cd42 + ld de, $cd45 + ld bc, $cd48 + call Func_376a2 + jr z, .skip5 + ld a, [$cd4c] + and $c0 + jr z, .skip3 + ld hl, $cd4f + dec [hl] + jr nz, .skip4 +.skip3 + ld hl, UnnamedText_3769d + call PrintText +.loop + xor a + ld [$c002], a + ret +.skip4 + call Func_37833 + call DelayFrame + call Func_37833 + call DelayFrame + jp Func_37588 +.skip5 + ld a, [$cd4c] + and $c0 + jr z, .skip4 + and $80 + jr nz, .skip6 + ld a, [hl] + cp $7 + jr c, .skip4 +.skip6 + ld a, [hl] + sub $2 + ld [wTrainerScreenX], a + ld hl, SlotRewardPointers + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, $cf4b + ld bc, $0004 + call CopyData + pop hl + ld de, .asm_37638 + push de + jp [hl] + +.asm_37638 + ld a, [$ff47] + xor $40 + ld [$ff47], a + ld c, $5 + call DelayFrames + dec b + jr nz, .asm_37638 + ld hl, $cd4a + ld [hl], d + inc hl + ld [hl], e + call Func_3775f + ld hl, UnnamedText_37665 + call PrintText + call WaitForTextScrollButtonPress + call Func_3776b + call Func_3775f + ld a, $e4 + ld [$ff48], a + jp .loop + +UnnamedText_37665: ; 37665 (d:7665) + db $08 ; asm + push bc + call Func_37728 + ld hl, UnnamedText_37673 + pop bc + inc bc + inc bc + inc bc + inc bc + ret UnnamedText_37673: ; 37673 (d:7673) TX_FAR _UnnamedText_37673 db "@" -INCBIN "baserom.gbc",$37678,$37690 - $37678 +SlotRewardPointers: ; 37678 (d:7678) + dw SlotReward300Func + dw SlotReward300Text + dw SlotReward100Func + dw SlotReward100Text + dw SlotReward8Func + dw SlotReward8Text + dw SlotReward15Func + dw SlotReward15Text + dw SlotReward15Func + dw SlotReward15Text + dw SlotReward15Func + dw SlotReward15Text + +SlotReward300Text: ; 37690 (d:7690) + db "300@" -SlotRewardValues: - db "300@100@8@15@" +SlotReward100Text: ; 37694 (d:7694) + db "100@" + +SlotReward8Text: ; 37698 (d:7698) + db "8@" + +SlotReward15Text: ; 3769a (d:769a) + db "15@" UnnamedText_3769d: ; 3769d (d:769d) TX_FAR _UnnamedText_3769d db "@" -INCBIN "baserom.gbc",$376a2,$378f5 - $376a2 +Func_376a2: ; 376a2 (d:76a2) + ld a, [de] + cp [hl] + ret nz + ld a, [bc] + cp [hl] + ret + +Func_376a8: ; 376a8 (d:76a8) + ld de, $cd47 + ld hl, SlotMachineWheel3 + ld a, [wTrainerScreenY] + call Func_376c9 + +Func_376b4: ; 376b4 (d:76b4) + ld de, $cd44 + ld hl, SlotMachineWheel2 + ld a, [wTrainerFacingDirection] + call Func_376c9 + +Func_376c0: ; 376c0 (d:76c0) + ld de, wTrainerScreenX + ld hl, SlotMachineWheel1 + ld a, [wTrainerEngageDistance] + +Func_376c9: ; 376c9 (d:76c9) + ld c, a + ld b, $0 + add hl, bc + ld c, $3 +.loop + ld a, [hli] + ld [de], a + inc de + inc hl + dec c + jr nz, .loop + ret + +SlotReward8Func: ; 376d7 (d:76d7) + ld hl, W_SUBANIMSUBENTRYADDR + ld a, [hl] + and a + jr z, .skip + dec [hl] +.skip + ld b, $2 + ld de, 8 + ret + +SlotReward15Func: ; 376e5 (d:76e5) + ld hl, W_SUBANIMSUBENTRYADDR + ld a, [hl] + and a + jr z, .skip + dec [hl] +.skip + ld b, $4 + ld de, 15 + ret + +SlotReward100Func: ; 376f3 (d:76f3) + ld a, $94 + call PlaySound + xor a + ld [$cd4c], a + ld b, $8 + ld de, 100 + ret + +SlotReward300Func: ; 37702 (d:7702) + ld hl, UnnamedText_37722 + call PrintText + ld a, $89 + call PlaySound + call GenRandom + cp $80 + ld a, $0 + jr c, .skip + ld [$cd4c], a +.skip + ld [W_SUBANIMSUBENTRYADDR], a + ld b, $14 + ld de, 300 + ret + +UnnamedText_37722: ; 37722 (d:7722) + TX_FAR _UnnamedText_37722 + db $0a, "@" + +Func_37728: ; 37728 (d:7728) + ld hl, $c4ba + ld a, [wTrainerScreenX] + add $25 + ld [hli], a + inc a + ld [hld], a + inc a + ld de, $ffec + add hl, de + ld [hli], a + inc a + ld [hl], a + ld hl, $c4f2 + ld [hl], $ee + ret + +Func_37741: ; 37741 (d:7741) + ld hl, $cd4b + ld a, [$cd50] + ld [hld], a + xor a + ld [hli], a + ld de, $d5a5 + ld c, $2 + ld a, $c + call Predef + +Func_37754: ; 37754 (d:7754) + ld hl, $c3b9 + ld de, wPlayerCoins + ld c, $2 + jp PrintBCDNumber + +Func_3775f: ; 3775f (d:775f) + ld hl, $c3bf + ld de, $cd4a + ld bc, $8204 + jp PrintNumber + +Func_3776b: ; 3776b (d:776b) + ld a, $1 + ld [$c002], a + call WaitForSoundToFinish + ld hl, $cd46 + xor a + ld [hli], a + inc a + ld [hl], a + ld a, $5 + ld [W_SUBANIMTRANSFORM], a +.loop + ld a, [$cd4b] + ld l, a + ld a, [$cd4a] + ld h, a + or l + ret z + ld de, $ffff + add hl, de + ld a, l + ld [$cd4b], a + ld a, h + ld [$cd4a], a + ld hl, $cd47 + ld de, $d5a5 + ld c, $2 + ld a, $b + call Predef + call Func_37754 + call Func_3775f + ld a, $bf + call PlaySound + ld a, [W_SUBANIMTRANSFORM] + dec a + jr nz, .skip1 + ld a, [$ff48] + xor $40 + ld [$ff48], a + ld a, $5 +.skip1 + ld [W_SUBANIMTRANSFORM], a + ld a, [wTrainerScreenX] + cp $7 + ld c, $8 + jr nc, .skip2 + srl c +.skip2 + call DelayFrames + jr .loop + +Func_377ce: ; 377ce (d:77ce) + ld a, $23 + ld [$d08a], a + jr Func_377e3 + +Func_377d5: ; 377d5 (d:77d5) + ld a, $14 + ld [$d08a], a + ld a, [$cd50] + dec a + jr z, Func_377fb + dec a + jr z, Func_377ef + +Func_377e3: ; 377e3 (d:77e3) + ld hl, $c3cb + call Func_377fe + ld hl, $c46b + call Func_377fe + +Func_377ef: ; 377ef (d:77ef) + ld hl, $c3f3 + call Func_377fe + ld hl, $c443 + call Func_377fe + +Func_377fb: ; 377fb (d:77fb) + ld hl, $c41b + +Func_377fe: ; 377fe (d:77fe) + ld a, [$d08a] + ld [hl], a + ld bc, $000d + add hl, bc + ld [hl], a + ld bc, $0007 + add hl, bc + inc a + ld [hl], a + ld bc, $000d + add hl, bc + ld [hl], a + ret + +Func_37813: ; 37813 (d:7813) + ld bc, SlotMachineWheel1 + ld de, wTrainerEngageDistance + ld hl, wOAMBuffer + ld a, $30 + ld [W_BASECOORDX], a + jr Func_37841 + +Func_37823: ; 37823 (d:7823) + ld bc, SlotMachineWheel2 + ld de, wTrainerFacingDirection + ld hl, $c330 + ld a, $50 + ld [W_BASECOORDX], a + jr Func_37841 + +Func_37833: ; 37833 (d:7833) + ld bc, SlotMachineWheel3 + ld de, wTrainerScreenY + ld hl, $c360 + ld a, $70 + ld [W_BASECOORDX], a + +Func_37841: ; 37841 (d:7841) + ld a, $58 + ld [W_BASECOORDY], a + push de + ld a, [de] + ld d, b + add c + ld e, a + jr nc, Func_3784e + inc d + +Func_3784e: ; 3784e (d:784e) + ld a, [W_BASECOORDY] + ld [hli], a + ld a, [W_BASECOORDX] + ld [hli], a + ld a, [de] + ld [hli], a + ld a, $80 + ld [hli], a + ld a, [W_BASECOORDY] + ld [hli], a + ld a, [W_BASECOORDX] + add $8 + ld [hli], a + ld a, [de] + inc a + ld [hli], a + ld a, $80 + ld [hli], a + inc de + ld a, [W_BASECOORDY] + sub $8 + ld [W_BASECOORDY], a + cp $28 + jr nz, Func_3784e + pop de + ld a, [de] + inc a + cp $1e + jr nz, .skip + xor a +.skip + ld [de], a + ret + +Func_37882: ; 37882 (d:7882) + call DelayFrame + call GetJoypadStateLowSensitivity + ld a, [$ffb5] + and $1 + ret z + ld hl, wTrainerSpriteOffset + ld a, [hl] + dec a + ld de, $cd4d + jr z, .skip + dec a + ld de, $cd4e + jr z, .skip +.loop + inc [hl] + ld a, $be + jp PlaySound +.skip + ld a, [de] + and a + ret nz + jr .loop + +Func_378a8: ; 378a8 (d:78a8) + call DisableLCD + ld hl, SlotMachineTiles2 + ld de, $8000 + ld bc, $01c0 + ld a, BANK(SlotMachineTiles2) + call FarCopyData2 + ld hl, SlotMachineTiles1 + ld de, $9000 + ld bc, $0250 + ld a, BANK(SlotMachineTiles1) + call FarCopyData2 + ld hl, SlotMachineTiles2 + ld de, $9250 + ld bc, $01c0 + ld a, BANK(SlotMachineTiles2) + call FarCopyData2 + ld hl, SlotMachineMap + ld de, wTileMap + ld bc, $00f0 + call CopyData + call EnableLCD + ld hl, wTrainerEngageDistance + ld a, $1c + ld [hli], a + ld [hli], a + ld [hl], a + call Func_37813 + call Func_37823 + jp Func_37833 SlotMachineMap: ; 378f5 (d:78f5) INCBIN "gfx/tilemaps/slotmachine.map" -INCBIN "baserom.gbc",$379e5,$37af1 - $379e5 - -; 0x37af1 +SLOTS7 EQU $0200 +SLOTSBAR EQU $0604 +SLOTSCHERRY EQU $0A08 +SLOTSFISH EQU $0E0C +SLOTSBIRD EQU $1210 +SLOTSMOUSE EQU $1614 + +SlotMachineWheel1: ; 379e5 (d:79e5) + dw SLOTS7 + dw SLOTSMOUSE + dw SLOTSFISH + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTS7 + dw SLOTSFISH + dw SLOTSBIRD + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTS7 + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTS7 + dw SLOTSMOUSE + dw SLOTSFISH + +SlotMachineWheel2: ; 37a09 (d:7a09) + dw SLOTS7 + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSBIRD + dw SLOTSMOUSE + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTSFISH + dw SLOTSBIRD + dw SLOTSCHERRY + dw SLOTSBAR + dw SLOTSFISH + dw SLOTSBIRD + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTS7 + dw SLOTSFISH + dw SLOTSCHERRY + +SlotMachineWheel3: ; 37a2d (d:7a2d) + dw SLOTS7 + dw SLOTSBIRD + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSBAR + dw SLOTS7 + dw SLOTSBIRD + dw SLOTSFISH + +SlotMachineTiles1: ; 37a51 (d:7a51) IF _RED INCBIN "gfx/red/slotmachine1.2bpp" ENDC @@ -72157,7 +73244,7 @@ VictoryRoad3_h: ; 0x44974 to 0x44980 (12 bytes) (bank=11) (id=198) dw VictoryRoad3Object ; objects VictoryRoad3Script: ; 44980 (11:4980) - call VictoryRoad3Script_Unknown44996 + call VictoryRoad3Script_44996 call EnableAutoTextBoxDrawing ld hl, VictoryRoad3TrainerHeaders ld de, VictoryRoad3ScriptPointers @@ -72166,7 +73253,7 @@ VictoryRoad3Script: ; 44980 (11:4980) ld [W_VICTORYROAD3CURSCRIPT], a ret -VictoryRoad3Script_Unknown44996: ; 44996 (11:4996) +VictoryRoad3Script_44996: ; 44996 (11:4996) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -73695,7 +74782,7 @@ RocketHideoutElevatorScript: ; 45710 (11:5710) bit 5, [hl] res 5, [hl] push hl - call nz, RocketHideoutElevatorScript_Unknown4572c + call nz, RocketHideoutElevatorScript_4572c pop hl bit 7, [hl] res 7, [hl] @@ -73706,8 +74793,22 @@ RocketHideoutElevatorScript: ; 45710 (11:5710) ld [$cc3c], a ret -RocketHideoutElevatorScript_Unknown4572c: ; 4572c (11:572c) -INCBIN "baserom.gbc",$4572c,$45741 - $4572c +RocketHideoutElevatorScript_4572c: ; 4572c (11:572c) + ld hl, $d3af + ld a, [$d73b] + ld b, a + ld a, [$d73c] + ld c, a + call RocketHideoutElevatorScript_4573a + +RocketHideoutElevatorScript_4573a: ; 4573a (11:573a) + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret Func_45741: ; 45741 (11:5741) ld hl, Unknown_45754 ; $5754 @@ -73786,7 +74887,7 @@ SilphCoElevatorScript: ; 457c0 (11:57c0) bit 5, [hl] res 5, [hl] push hl - call nz, SilphCoElevatorScript_Unknown457dc + call nz, SilphCoElevatorScript_457dc pop hl bit 7, [hl] res 7, [hl] @@ -73797,7 +74898,7 @@ SilphCoElevatorScript: ; 457c0 (11:57c0) ld [$cc3c], a ret -SilphCoElevatorScript_Unknown457dc: ; 457dc (11:57dc) +SilphCoElevatorScript_457dc: ; 457dc (11:57dc) ld hl, $d3af ld a, [$d73b] ld b, a @@ -74925,7 +76026,41 @@ SeafoamIslands4Script1: ; 46639 (11:6639) ret SeafoamIslands4Script2: ; 46644 (11:6644) -INCBIN "baserom.gbc",$46644,$4668f - $46644 + ld a, [$d880] + and $3 + cp $3 + ret z + ld a, [W_XCOORD] + cp $12 + jr z, .asm_4665e + cp $13 + ld a, $0 + jr nz, .asm_4667b + ld de, RLEData_4667f + jr .asm_46661 +.asm_4665e + ld de, RLEData_46688 +.asm_46661 + ld hl, $ccd3 + call DecodeRLEList + dec a + ld [$cd38], a + xor a + ld [$c206], a + ld hl, $d730 + set 7, [hl] + ld hl, W_FLAGS_D733 + set 2, [hl] + ld a, $3 +.asm_4667b + ld [W_SEAFOAMISLANDS4CURSCRIPT], a + ret + +RLEData_4667f: ; 4667f (11:667f) + db $80,$06,$10,$02,$80,$04,$20,$01,$FF + +RLEData_46688: ; 46688 (11:6688) + db $80,$06,$10,$02,$80,$04,$FF SeafoamIslands4Script3: ; 4668f (11:668f) ld a, [$cd38] @@ -76841,7 +77976,7 @@ CeladonMartElevatorScript: ; 48600 (12:4600) bit 5, [hl] res 5, [hl] push hl - call nz, CeladonMartElevatorScript_Unknown4861c + call nz, CeladonMartElevatorScript_4861c pop hl bit 7, [hl] res 7, [hl] @@ -76852,8 +77987,22 @@ CeladonMartElevatorScript: ; 48600 (12:4600) ld [$cc3c], a ret -CeladonMartElevatorScript_Unknown4861c: ; 4861c (12:461c) -INCBIN "baserom.gbc",$4861c,$48631 - $4861c +CeladonMartElevatorScript_4861c: ; 4861c (12:461c) + ld hl, $d3af + ld a, [$d73b] + ld b, a + ld a, [$d73c] + ld c, a + call CeladonMartElevatorScript_4862a + +CeladonMartElevatorScript_4862a: ; 4862a (12:462a) + inc hl + inc hl + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ret Func_48631: ; 48631 (12:4631) ld hl, Unknown_48643 ; $4643 @@ -78764,7 +79913,7 @@ Route11GateUpstairsText3: ; 494a8 (12:54a8) db $08 ; asm ld a, [$c109] cp $4 - jp nz, Unnamed_55c9 + jp nz, Func_55c9 ld a, [$d7d8] bit 7, a ld hl, UnnamedText_494c4 @@ -78785,7 +79934,7 @@ UnnamedText_494c9: ; 494c9 (12:54c9) Route11GateUpstairsText4: ; 494ce (12:54ce) db $8 ld hl, UnnamedText_494d5 ; $54d5 - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_494d5: ; 494d5 (12:54d5) TX_FAR _UnnamedText_494d5 @@ -78911,7 +80060,7 @@ TM39NoRoomText: ; 495ac (12:55ac) Route12GateUpstairsText2: ; 495b1 (12:55b1) db $08 ; asm ld hl, UnnamedText_495b8 - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_495b8: ; 495b8 (12:55b8) TX_FAR _UnnamedText_495b8 ; 0x8c95a @@ -78920,13 +80069,13 @@ UnnamedText_495b8: ; 495b8 (12:55b8) Route12GateUpstairsText3: ; 495bd (12:55bd) db $8 ld hl, UnnamedText_495c4 - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_495c4: ; 495c4 (12:55c4) TX_FAR _UnnamedText_495c4 db "@" -Unnamed_55c9: ; 495c9 (12:55c9) +Func_55c9: ; 495c9 (12:55c9) ld a, [$c109] cp $4 jr z, .asm_495d4 ; 0x495ce $4 @@ -79045,7 +80194,7 @@ UnnamedText_4968c: ; 4968c (12:568c) Route15GateUpstairsText2: ; 49691 (12:5691) db $8 ld hl, UnnamedText_49698 - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_49698: ; 49698 (12:5698) TX_FAR _UnnamedText_49698 @@ -79270,7 +80419,7 @@ UnnamedText_4982f: ; 4982f (12:582f) Route16GateUpstairsText3: ; 49834 (12:5834) db $8 ld hl, UnnamedText_4983b - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_4983b: ; 4983b (12:583b) TX_FAR _UnnamedText_4983b @@ -79279,7 +80428,7 @@ UnnamedText_4983b: ; 4983b (12:583b) Route16GateUpstairsText4: ; 49840 (12:5840) db $8 ld hl, UnnamedText_49847 ; $5847 - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_49847: ; 49847 (12:5847) TX_FAR _UnnamedText_49847 @@ -79472,7 +80621,7 @@ Route18GateUpstairsText1: ; 4997e (12:597e) Route18GateUpstairsText2: ; 4998c (12:598c) db $8 ld hl, UnnamedText_49993 ; $5993 - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_49993: ; 49993 (12:5993) TX_FAR _UnnamedText_49993 @@ -79481,7 +80630,7 @@ UnnamedText_49993: ; 49993 (12:5993) Route18GateUpstairsText3: ; 49998 (12:5998) db $8 ld hl, UnnamedText_4999f ; $599f - jp Unnamed_55c9 + jp Func_55c9 UnnamedText_4999f: ; 4999f (12:599f) TX_FAR _UnnamedText_4999f @@ -79955,7 +81104,7 @@ MtMoon3TextPointers: ; 49e34 (12:5e34) dw MtMoon3Text7 dw Predef5CText dw Predef5CText - dw Unnamed_49f99 + dw UnnamedText_49f99 MtMoon3TrainerHeaders: ; 49e48 (12:5e48) MtMoon3TrainerHeader0: ; 49e48 (12:5e48) @@ -80065,8 +81214,8 @@ MtMoon3Text6: ; 49ee9 (12:5ee9) jr nz, .asm_1fa5e ; 0x49efc ld bc,(DOME_FOSSIL << 8) | 1 call GiveItem - jp nc, Unnamed_49f76 - call Unnamed_49f69 + jp nc, Func_49f76 + call Func_49f69 ld a, $6d ld [$cc4d], a ld a, $11 @@ -80095,8 +81244,8 @@ MtMoon3Text7: ; 49f29 (12:5f29) jr nz, .asm_8e988 ; 0x49f3c ld bc, (HELIX_FOSSIL << 8) | 1 call GiveItem - jp nc, Unnamed_49f76 - call Unnamed_49f69 + jp nc, Func_49f76 + call Func_49f69 ld a, $6e ld [$cc4d], a ld a, $11 @@ -80113,7 +81262,7 @@ UnnamedText_49f64: ; 49f64 (12:5f64) TX_FAR _UnnamedText_49f64 db "@" -Unnamed_49f69: ; 49f69 (12:5f69) +Func_49f69: ; 49f69 (12:5f69) ld hl, UnnamedText_49f6f jp PrintText @@ -80121,7 +81270,7 @@ UnnamedText_49f6f: ; 49f6f (12:5f6f) TX_FAR _UnnamedText_49f6f ; 0x80995 db $11, $d, "@" -Unnamed_49f76: ; 49f76 (12:5f76) +Func_49f76: ; 49f76 (12:5f76) ld hl, UnnamedText_49f7f call PrintText jp TextScriptEnd @@ -80146,8 +81295,9 @@ UnnamedText_49f94: ; 49f94 (12:5f94) TX_FAR _UnnamedText_49f94 db "@" -Unnamed_49f99: ; 49f99 (12:5f99) -INCBIN "baserom.gbc",$49f99,$49f9f - $49f99 +UnnamedText_49f99: ; 49f99 (12:5f99) + TX_FAR _UnnamedText_49f99 + db $11, "@" MtMoon3BattleText2: ; 49f9f (12:5f9f) TX_FAR _MtMoon3BattleText2 @@ -82705,7 +83855,7 @@ Route24AfterBattleText6: ; 515c6 (14:55c6) db "@" Route25Script: ; 515cb (14:55cb) - call Unknown_515e1 + call Route25Script_515e1 call EnableAutoTextBoxDrawing ld hl, Route25TrainerHeaders ld de, Route25ScriptPointers @@ -82714,7 +83864,7 @@ Route25Script: ; 515cb (14:55cb) ld [W_ROUTE25CURSCRIPT], a ret -Unknown_515e1: ; 515e1 (14:55e1) +Route25Script_515e1: ; 515e1 (14:55e1) ld hl, $d126 bit 6, [hl] res 6, [hl] @@ -83940,7 +85090,7 @@ Mansion2_h: ; 0x51fcc to 0x51fd8 (12 bytes) (id=214) dw Mansion2Object ; objects Mansion2Script: ; 51fd8 (14:5fd8) - call Mansion2Script_Unknown51fee + call Mansion2Script_51fee call EnableAutoTextBoxDrawing ld hl, Mansion2TrainerHeaders ld de, Mansion2ScriptPointers @@ -83949,7 +85099,7 @@ Mansion2Script: ; 51fd8 (14:5fd8) ld [W_MANSION2CURSCRIPT], a ret -Mansion2Script_Unknown51fee: ; 51fee (14:5fee) +Mansion2Script_51fee: ; 51fee (14:5fee) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -84305,7 +85455,7 @@ Mansion4_h: ; 0x523ad to 0x523b9 (12 bytes) (id=216) dw Mansion4Object ; objects Mansion4Script: ; 523b9 (14:63b9) - call Unknown_523cf + call Mansion4Script_523cf call EnableAutoTextBoxDrawing ld hl, Mansion4TrainerHeader0 ld de, Mansion4ScriptPointers @@ -84314,7 +85464,7 @@ Mansion4Script: ; 523b9 (14:63b9) ld [W_MANSION4CURSCRIPT], a ret -Unknown_523cf: ; 523cf (14:63cf) +Mansion4Script_523cf: ; 523cf (14:63cf) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -88382,18 +89532,18 @@ DayCareMText1: ; 56254 (15:6254) call SaveScreenTilesToBuffer2 ld a, [$da48] and a - jp nz, Unnamed_562e1 + jp nz, Func_562e1 ld hl, UnnamedText_5640f call PrintText call YesNoChoice ld a, [$cc26] and a ld hl, UnnamedText_5643b - jp nz, Unnamed_56409 + jp nz, Func_56409 ld a, [$d163] dec a ld hl, UnnamedText_56445 - jp z, Unnamed_56409 + jp z, Func_56409 ld hl, UnnamedText_56414 call PrintText xor a @@ -88407,12 +89557,12 @@ DayCareMText1: ; 56254 (15:6254) call LoadGBPal pop af ld hl, UnnamedText_56437 - jp c, Unnamed_56409 + jp c, Func_56409 ld hl, Func_2171b ld b, BANK(Func_2171b) call Bankswitch ld hl, UnnamedText_5644a - jp c, Unnamed_56409 + jp c, Func_56409 xor a ld [$cc2b], a ld a, [$cf92] @@ -88431,12 +89581,160 @@ DayCareMText1: ; 56254 (15:6254) ld a, [$cf91] call PlayCry ld hl, UnnamedText_5641e - jp Unnamed_56409 + jp Func_56409 + +Func_562e1: ; 562e1 (15:62e1) + xor a + ld hl, $da49 + call GetPartyMonName + ld a, $3 + ld [$cc49], a + call LoadMonData + ld hl, Func_58f43 + ld b, BANK(Func_58f43) + call Bankswitch + ld a, d + cp $64 + jr c, .asm_56315 + ld d, $64 + ld hl, CalcExperience + ld b, BANK(CalcExperience) + call Bankswitch + ld hl, $da6d + ld a, [H_NUMTOPRINT] + ld [hli], a + ld a, [$ff97] + ld [hli], a + ld a, [$ff98] + ld [hl], a + ld d, $64 + +.asm_56315 + xor a + ld [wTrainerEngageDistance], a + ld hl, $da62 + ld a, [hl] + ld [wTrainerSpriteOffset], a + cp d + ld [hl], d + ld hl, UnnamedText_56432 + jr z, .asm_56333 + ld a, [wTrainerSpriteOffset] + ld b, a + ld a, d + sub b + ld [wTrainerEngageDistance], a + ld hl, UnnamedText_56423 + +.asm_56333 + call PrintText + ld a, [W_NUMINPARTY] + cp $6 + ld hl, UnnamedText_56440 + jp z, .asm_56403 + ld de, wTrainerFacingDirection + xor a + ld [de], a + inc de + ld [de], a + ld hl, wTrainerScreenX + ld a, $1 + ld [hli], a + ld [hl], $0 + ld a, [wTrainerEngageDistance] + inc a + ld b, a + ld c, $2 +.asm_56357 + push hl + push de + push bc + ld a, $b + call Predef + pop bc + pop de + pop hl + dec b + jr nz, .asm_56357 + ld hl, UnnamedText_56428 + call PrintText + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + call YesNoChoice + ld hl, UnnamedText_56437 + ld a, [wCurrentMenuItem] + and a + jp nz, .asm_56403 + ld hl, wTrainerFacingDirection + ld [$ff9f], a + ld a, [hli] + ld [$ffa0], a + ld a, [hl] + ld [$ffa1], a + call HasEnoughMoney + jr nc, .asm_56396 + ld hl, UnnamedText_56454 + jp .asm_56403 -Unnamed_562e1: ; 562e1 (15:62e1) -INCBIN "baserom.gbc",$562e1,$56409 - $562e1 +.asm_56396 + xor a + ld [$da48], a + ld hl, wTrainerEngageDistance + ld [hli], a + inc hl + ld de, $d349 + ld c, $3 + ld a, $c + call Predef + ld a, $b2 + call PlaySoundWaitForCurrent + ld a, $13 + ld [$d125], a + call DisplayTextBoxID + ld hl, UnnamedText_5644f + call PrintText + ld a, $2 + ld [$cf95], a + call Func_3a68 + ld a, [$da5f] + ld [$cf91], a + ld a, [W_NUMINPARTY] + dec a + push af + ld bc, $002c + push bc + ld hl, W_PARTYMON1_MOVE1 + call AddNTimes + ld d, h + ld e, l + ld a, $1 + ld [wHPBarMaxHP], a + ld a, $3e + call Predef + pop bc + pop af + ld hl, W_PARTYMON1_HP + call AddNTimes + ld d, h + ld e, l + ld bc, $0021 + add hl, bc + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + ld a, [$cf91] + call PlayCry + ld hl, UnnamedText_5642d + jr Func_56409 -Unnamed_56409: ; 56409 (15:6409) +.asm_56403 + ld a, [wTrainerSpriteOffset] + ld [$da62], a + +Func_56409: ; 56409 (15:6409) call PrintText jp TextScriptEnd @@ -93337,6 +94635,7 @@ PewterPokecenterBlocks: ; 5c064 (17:4064) INCBIN "maps/pewterpokecenter.blk" UndergroundTunnelEntranceRoute7Blocks: ; 5c080 (17:4080) +UndergroundTunnelEntranceRoute7CopyBlocks: ; 5c080 (17:4080) UndergroundTunnelEntranceRoute6Blocks: ; 5c080 (17:4080) UndergroundTunnelEntranceRoute5Blocks: ; 5c080 (17:4080) INCBIN "maps/undergroundtunnelentranceroute5.blk" @@ -93768,7 +95067,7 @@ PewterGymScript: ; 5c387 (17:4387) ld hl, $d126 bit 6, [hl] res 6, [hl] - call nz, PewterGymScript_Unknown5c3a4 + call nz, PewterGymScript_5c3a4 call EnableAutoTextBoxDrawing ld hl, PewterGymTrainerHeaders ld de, PewterGymScriptPointers @@ -93777,7 +95076,7 @@ PewterGymScript: ; 5c387 (17:4387) ld [W_PEWTERGYMCURSCRIPT], a ret -PewterGymScript_Unknown5c3a4: ; 5c3a4 (17:43a4) +PewterGymScript_5c3a4: ; 5c3a4 (17:43a4) ld hl, Gym1CityName ; $43ad ld de, Gym1LeaderName ; $43b9 jp LoadGymLeaderAndCityName @@ -96373,7 +97672,22 @@ UndergroundPathEntranceRoute7Object: ; 0x5d73b (size=34) EVENT_DISP $4, $7, $4 EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE -INCBIN "baserom.gbc",$5d75d,$5d773 - $5d75d +UndergroundPathEntranceRoute7Copy_h: ; 5d75d (17:575d) + db $0c ; tileset + db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x) + dw UndergroundTunnelEntranceRoute7CopyBlocks, UndergroundPathEntranceRoute7CopyTextPointers, UndergroundPathEntranceRoute7CopyScript ; blocks, texts, scripts + db $00 ; connections + + dw UndergroundPathEntranceRoute7CopyObject ; objects + +UndergroundPathEntranceRoute7CopyScript: ; 5d769 (17:5769) + ld a, $12 + ld [$d365], a + ret + +UndergroundPathEntranceRoute7CopyTextPointers: ; 5d76f (17:576f) + dw UnnamedText_5d773 + dw UnnamedText_5d77d UnnamedText_5d773: ; 5d773 (17:5773) TX_FAR _UnnamedText_5d773 @@ -96391,7 +97705,24 @@ UnnamedText_5d782: ; 5d782 (17:5782) TX_FAR _UnnamedText_5d782 db "@" -INCBIN "baserom.gbc",$5d787,$5d7af - $5d787 +UndergroundPathEntranceRoute7CopyObject: ; 5d787 (17:5787) + db $a ; border tile + + db $3 ; warps + db $7, $3, $5, $ff + db $7, $4, $5, $ff + db $4, $4, $0, UNDERGROUND_PATH_WE + + db $0 ; signs + + db $2 ; people + db SPRITE_GIRL, $2 + 4, $3 + 4, $ff, $ff, $1 ; person + db SPRITE_FAT_BALD_GUY, $4 + 4, $2 + 4, $ff, $ff, $2 ; person + + ; warp-to + EVENT_DISP $4, $7, $3 + EVENT_DISP $4, $7, $4 + EVENT_DISP $4, $4, $4 ; UNDERGROUND_PATH_WE SilphCo9_h: ; 0x5d7af to 0x5d7bb (12 bytes) (id=233) db $16 ; tileset @@ -106166,7 +107497,7 @@ Func40CB: ; 740cb (1d:40cb) xor a ld [H_AUTOBGTRANSFERENABLED],a call SaveScreenTilesToBuffer1 - call Unknown_74183 + call Func_74183 ; display the next monster from CreditsMons ld hl,$CD3E @@ -106183,27 +107514,27 @@ Func40CB: ; 740cb (1d:40cb) call GetMonHeader call LoadFrontSpriteByMonIndex ld hl,$980C - call Unknown_74164 + call Func_74164 xor a ld [H_AUTOBGTRANSFERENABLED],a call LoadScreenTilesFromBuffer1 ld hl,$9800 - call Unknown_74164 + call Func_74164 ld a,$A7 ld [$FF4B],a ld hl,$9C00 - call Unknown_74164 - call Unknown_74183 + call Func_74164 + call Func_74183 ld a,$FC ld [$FF47],a ld bc,7 .next - call Unknown_74140 + call Func_74140 dec c jr nz,.next ld c,$14 .next2 - call Unknown_74140 + call Func_74140 ld a,[$FF4B] sub 8 ld [$FF4B],a @@ -106232,7 +107563,7 @@ CreditsMons: ; 74131 (1d:4131) db NIDOKING db PARASECT -Unknown_74140: ; 74140 (1d:4140) +Func_74140: ; 74140 (1d:4140) ld h, b ld l, $20 call Func_74152 @@ -106259,7 +107590,7 @@ Func_74152: ; 74152 (1d:4152) Unknown_74160: ; 74160 (1d:4160) INCBIN "baserom.gbc",$74160,$74164 - $74160 -Unknown_74164: ; 74164 (1d:4164) +Func_74164: ; 74164 (1d:4164) ld a, l ld [H_AUTOBGTRANSFERDEST], a ; $FF00+$bc ld a, h @@ -106283,7 +107614,7 @@ Func_7417b: ; 7417b (1d:417b) ld a, $7e jp FillMemory -Unknown_74183: ; 74183 (1d:4183) +Func_74183: ; 74183 (1d:4183) FuncCoord 0, 4 ; $c3f0 ld hl, Coord ld bc, $c8 @@ -106298,7 +107629,7 @@ Func_7418e: ; 7418e (1d:418e) FuncCoord 9, 6 ; $c421 ld hl, Coord push hl - call Unknown_74183 + call Func_74183 pop hl .asm_7419b ld a, [de] @@ -106368,7 +107699,7 @@ Func_7418e: ; 7418e (1d:418e) .asm_74201 ld c, $10 call DelayFrames - call Unknown_74183 + call Func_74183 pop de ld de, TheEndGfx ld hl, $9600 @@ -106669,7 +108000,7 @@ Unknown_7481f: ; 7481f (1d:481f) inc hl jr nz, .asm_74824 ; 0x74845 $dd ld a, [$d361] - call Unknown_7486b + call Func_7486b cp d jr nc, .asm_74824 ; 0x7484e $d4 ld a, [$d361] @@ -106677,7 +108008,7 @@ Unknown_7481f: ; 7481f (1d:481f) cp d jr c, .asm_74824 ; 0x74856 $cc ld a, [$d362] - call Unknown_7486b + call Func_7486b cp e jr nc, .asm_74824 ; 0x7485f $c3 ld a, [$d362] @@ -106687,14 +108018,14 @@ Unknown_7481f: ; 7481f (1d:481f) scf ret -Unknown_7486b: ; 7486b (1d:486b) +Func_7486b: ; 7486b (1d:486b) sub $5 cp $f0 ret c xor a ret -Unnamed_ASM_74872: ; 74872 (1d:4872) +Func_74872: ; 74872 (1d:4872) ; code similar to this appears in a lot of banks; this particular ; one is called after you beat the Rocket that gives you TM28 DIG. ; the screen then fades out, he disappears, and fades back in @@ -107534,11 +108865,11 @@ Func_74ee0: ; 74ee0 (1d:4ee0) call UpdateSprites FuncCoord 2, 5 ; $c406 ld hl, Coord - ld de, Unnamed_74f9e + ld de, DrinkText call PlaceString FuncCoord 9, 6 ; $c421 ld hl, Coord - ld de, Unnamed_74fc3 + ld de, DrinkPriceText call PlaceString ld hl, $d730 res 6, [hl] @@ -107558,7 +108889,7 @@ Func_74ee0: ; 74ee0 (1d:4ee0) ld hl, UnnamedText_74fd3 jp PrintText .asm_74f54 - call Unknown_74fe7 + call Func_74fe7 ld a, [$FF00+$db] ld b, a ld c, 1 @@ -107595,12 +108926,12 @@ UnnamedText_74f99: ; 74f99 (1d:4f99) TX_FAR _UnnamedText_74f99 db "@" -Unnamed_74f9e: ; 74f9e (1d:4f9e) +DrinkText: ; 74f9e (1d:4f9e) db "FRESH WATER",$4E db "SODA POP",$4E db "LEMONADE",$4E db "CANCEL@" -Unnamed_74fc3: ; 74fc3 (1d:4fc3) +DrinkPriceText: ; 74fc3 (1d:4fc3) db "¥200",$4E db "¥300",$4E db "¥350",$4E,"@" @@ -107621,7 +108952,7 @@ UnnamedText_74fe2: ; 74fe2 (1d:4fe2) TX_FAR _UnnamedText_74fe2 db "@" -Unknown_74fe7: ; 74fe7 (1d:4fe7) +Func_74fe7: ; 74fe7 (1d:4fe7) ld hl, VendingPrices ld a, [$cc26] add a @@ -108234,7 +109565,7 @@ FuchsiaGym_h: ; 0x75431 to 0x7543d (12 bytes) (id=157) dw FuchsiaGymObject ; objects FuchsiaGymScript: ; 7543d (1d:543d) - call FuchsiaGymScript_Unknown75453 + call FuchsiaGymScript_75453 call EnableAutoTextBoxDrawing ld hl, FuchsiaGymTrainerHeaders ld de, FuchsiaGymScriptPointers @@ -108243,7 +109574,7 @@ FuchsiaGymScript: ; 7543d (1d:543d) ld [W_FUCHSIAGYMCURSCRIPT], a ret -FuchsiaGymScript_Unknown75453: ; 75453 (1d:5453) +FuchsiaGymScript_75453: ; 75453 (1d:5453) ld hl, $D126 bit 6, [hl] res 6, [hl] @@ -108652,18 +109983,18 @@ CinnabarGym_h: ; 0x7573e to 0x7574a (12 bytes) (id=166) dw CinnabarGymObject ; objects CinnabarGymScript: ; 7574a (1d:574a) - call CinnabarGymScript_Unknown75759 + call CinnabarGymScript_75759 call EnableAutoTextBoxDrawing ld hl, CinnabarGymScriptPointers ld a, [W_CINNABARGYMCURSCRIPT] jp CallFunctionInTable -CinnabarGymScript_Unknown75759: ; 75759 (1d:5759) +CinnabarGymScript_75759: ; 75759 (1d:5759) ld hl, $D126 bit 6, [hl] res 6, [hl] push hl - call nz, CinnabarGymScript_Unknown75772 + call nz, CinnabarGymScript_75772 pop hl bit 5, [hl] res 5, [hl] @@ -108671,7 +110002,7 @@ CinnabarGymScript_Unknown75759: ; 75759 (1d:5759) ld hl, $D79B res 7, [hl] ret -CinnabarGymScript_Unknown75772: ; 75772 (1d:5772) +CinnabarGymScript_75772: ; 75772 (1d:5772) ld hl, Gym7CityName ld de, Gym7LeaderName jp LoadGymLeaderAndCityName @@ -108681,7 +110012,7 @@ Gym7CityName: ; 7577b (1d:577b) Gym7LeaderName: ; 7578b (1d:578b) db "BLAINE@" -Unknown_75792: ; 75792 (1d:5792) +CinnabarGymScript_75792: ; 75792 (1d:5792) xor a ld [wJoypadForbiddenButtonsMask], a ld [W_CINNABARGYMCURSCRIPT], a @@ -108689,7 +110020,7 @@ Unknown_75792: ; 75792 (1d:5792) ld [$da38], a ret -Unknown_757a0: ; 757a0 (1d:57a0) +CinnabarGymScript_757a0: ; 757a0 (1d:57a0) ld a, [H_DOWNARROWBLINKCNT2] ; $FF00+$8c ld [wTrainerHeaderFlagBit], a ret @@ -108739,20 +110070,20 @@ CinnabarGymScript1: ; 757dc (1d:57dc) ld [$ff00+$8c], a jp DisplayTextID -Unknown_757f1: ; 757f1 (1d:57f1) +Func_757f1: ; 757f1 (1d:57f1) ld a, $10 jp Predef ; indirect jump to HandleBitArray (f666 (3:7666)) CinnabarGymScript2: ; 757f6 (1d:57f6) ld a, [$d057] cp $ff - jp z, Unknown_75792 + jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] ld [$ff00+$db], a ld c, a ld b, $2 ld hl, $d79a - call Unknown_757f1 + call Func_757f1 ld a, c and a jr nz, .asm_7581b ; 0x7580e $b @@ -108766,13 +110097,13 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) ld c, a ld b, $1 ld hl, $d79a - call Unknown_757f1 + call Func_757f1 ld a, [wTrainerHeaderFlagBit] sub $2 ld c, a ld b, $1 ld hl, $d79c - call Unknown_757f1 + call Func_757f1 call Func_3ead xor a ld [wJoypadForbiddenButtonsMask], a @@ -108785,7 +110116,7 @@ CinnabarGymScript2: ; 757f6 (1d:57f6) CinnabarGymScript3: ; 7584a (1d:584a) ld a, [$d057] cp $ff - jp z, Unknown_75792 + jp z, CinnabarGymScript_75792 ld a, $f0 ld [wJoypadForbiddenButtonsMask], a Unknown_75857: ; 75857 (1d:5857) @@ -108819,7 +110150,7 @@ Unknown_75857: ; 75857 (1d:5857) set 0, [hl] ld hl, $d126 set 5, [hl] - jp Unknown_75792 + jp CinnabarGymScript_75792 CinnabarGymTextPointers: ; 7589f (1d:589f) dw CinnabarGymText1 @@ -108909,7 +110240,7 @@ TM38NoRoomText: ; 75934 (1d:5934) CinnabarGymText2: ; 75939 (1d:5939) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 2, a jr nz, .asm_46bb4 ; 0x75942 @@ -108938,7 +110269,7 @@ UnnamedText_75969: ; 75969 (1d:5969) CinnabarGymText3: ; 7596e (1d:596e) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 3, a jr nz, .asm_4b406 ; 0x75977 @@ -108967,7 +110298,7 @@ UnnamedText_7599e: ; 7599e (1d:599e) CinnabarGymText4: ; 759a3 (1d:59a3) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 4, a jr nz, .asm_c0673 ; 0x759ac @@ -108996,7 +110327,7 @@ UnnamedText_759d3: ; 759d3 (1d:59d3) CinnabarGymText5: ; 759d8 (1d:59d8) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 5, a jr nz, .asm_5cfd7 ; 0x759e1 @@ -109025,7 +110356,7 @@ UnnamedText_75a08: ; 75a08 (1d:5a08) CinnabarGymText6: ; 75a0d (1d:5a0d) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 6, a jr nz, .asm_776b4 ; 0x75a16 @@ -109054,7 +110385,7 @@ UnnamedText_75a3d: ; 75a3d (1d:5a3d) CinnabarGymText7: ; 75a42 (1d:5a42) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79a] bit 7, a jr nz, .asm_2f755 ; 0x75a4b @@ -109083,7 +110414,7 @@ UnnamedText_75a72: ; 75a72 (1d:5a72) CinnabarGymText8: ; 75a77 (1d:5a77) db $08 ; asm - call Unknown_757a0 + call CinnabarGymScript_757a0 ld a, [$d79b] bit 0, a jr nz, .asm_d87be ; 0x75a80 @@ -109392,7 +110723,7 @@ Lab4TextPointers: ; 75d34 (1d:5d34) dw Lab4Text1 dw Lab4Text2 -Unknown_75d38: ; 75d38 (1d:5d38) +Func_75d38: ; 75d38 (1d:5d38) xor a ld [$cd37], a ld de, $cc5b @@ -109435,7 +110766,7 @@ Lab4Text1: ; 75d6c (1d:5d6c) jr nz, .asm_75d96 ; 0x75d72 $22 ld hl, UnnamedText_75dc6 call PrintText - call Unknown_75d38 + call Func_75d38 ld a, [$cd37] and a jr z, .asm_75d8d ; 0x75d81 $a @@ -110003,7 +111334,7 @@ Lorelei_h: ; 0x7616f to 0x7617b (12 bytes) (id=245) dw LoreleiObject ; objects LoreleiScript: ; 7617b (1d:617b) - call LoreleiScript_Unknown76191 + call LoreleiScript_76191 call EnableAutoTextBoxDrawing ld hl, LoreleiTrainerHeaders ld de, LoreleiScriptPointers @@ -110012,7 +111343,7 @@ LoreleiScript: ; 7617b (1d:617b) ld [W_LORELEICURSCRIPT], a ret -LoreleiScript_Unknown76191: ; 76191 (1d:6191) +LoreleiScript_76191: ; 76191 (1d:6191) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -110188,7 +111519,7 @@ Bruno_h: ; 0x762ca to 0x762d6 (12 bytes) (id=246) dw BrunoObject ; objects BrunoScript: ; 762d6 (1d:62d6) - call BrunoScript_Unknown762ec + call BrunoScript_762ec call EnableAutoTextBoxDrawing ld hl, BrunoTrainerHeaders ld de, BrunoScriptPointers @@ -110197,7 +111528,7 @@ BrunoScript: ; 762d6 (1d:62d6) ld [W_BRUNOCURSCRIPT], a ret -BrunoScript_Unknown762ec: ; 762ec (1d:62ec) +BrunoScript_762ec: ; 762ec (1d:62ec) ld hl, $d126 bit 5, [hl] res 5, [hl] @@ -110586,7 +111917,7 @@ Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; ld b, BANK(Func_73b3f) ld hl, Func_73b3f call Bankswitch - call Unknown_765e5 + call Func_765e5 pop bc jr c, .second ld hl, $CD41 @@ -110605,11 +111936,12 @@ Unknown_7657e: ; XXX: make better (has to do with the hall of fame on the PC) ; call ClearScreen call GoPAL_SET_CF1C jp GBPalNormal -Unknown_765e5: ; 765e5 (1d:65e5) + +Func_765e5: ; 765e5 (1d:65e5) ld c, 6 .third push bc - call Unknown_76610 + call Func_76610 call WaitForTextScrollButtonPress ld a, [H_CURRENTPRESSEDBUTTONS] bit 1, a @@ -110630,8 +111962,9 @@ Unknown_765e5: ; 765e5 (1d:65e5) .fifth pop bc scf - ret -Unknown_76610: ; 76610 (1d:6610) + ret + +Func_76610: ; 76610 (1d:6610) call GBPalWhiteOutWithDelay3 call ClearScreen ld hl, $CC5B @@ -111287,6 +112620,7 @@ AnimationTileset1: ; 781fe (1e:41fe) AnimationTileset2: ; 786ee (1e:46ee) INCBIN "gfx/attack_anim_2.2bpp" +SlotMachineTiles2: ; 78bde (1e:4bde) IF _RED INCBIN "gfx/red/slotmachine2.2bpp" ENDC @@ -116025,7 +117359,7 @@ _UnnamedText_49f94: ; 80a37 (20:4a37) db "on regenerating", $55 db "fossils.", $57 -UnnamedText_80a93: ; 80a93 (20:4a93) +_UnnamedText_49f99: ; 80a93 (20:4a93) db $0, "All right. Then", $4f db "this is mine!@@" @@ -118347,7 +119681,7 @@ UnnamedText_8821a: ; 8821a (22:421a) _UnnamedText_3769d: ; 88226 (22:4226) db $0, "Not this time!", $58 -UnnamedText_88236: ; 88236 (22:4236) +_UnnamedText_37722: ; 88236 (22:4236) db $0, "Yeah!@@" _UnnamedText_703fa: ; 8823e (22:423e) @@ -118907,7 +120241,7 @@ _UnnamedText_fc0d: ; 895fb (22:55fb) db $0, "This is an", $4f db "elevator.", $57 -UnnamedText_89611: ; 89611 (22:5611) +_TownMapText: ; 89611 (22:5611) db $0, "A TOWN MAP.@@" _UnnamedText_fc45: ; 8961f (22:561f) @@ -127498,7 +128832,7 @@ _UnnamedText_72d2: ; a4014 (29:4014) db "preparations.", $55 db "Please wait.", $57 -UnnamedText_a403c: ; a403c (29:403c) +_UsedStrengthText: ; a403c (29:403c) TX_RAM $cd6d db $0, " used", $4f db "STRENGTH.@@" @@ -127755,7 +129089,7 @@ _UnnamedText_193fb: ; a4aa2 (29:4aa2) db "You absolutely", $55 db "have to go!", $57 -_UnnamedText_19400: ; a4ac6 (29:4ac6) +_PewterCityText13: ; a4ac6 (29:4ac6) db $0, "It's right here!", $4f db "You have to pay", $55 db "to get in, but", $55 @@ -128878,6 +130212,8 @@ _UnnamedText_71dda: ; a82c9 (2a:42c9) _UnnamedText_ef7d ; a82f8 (2a:42f8) db $0, "There isn't", $4f db "anything to CUT!", $58 + +_UsedCutText: ; a8315 (2a:4315) TX_RAM $cd6d db $0, " hacked", $4f db "away with CUT!", $58 |