diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-12-09 16:26:22 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-12-09 16:26:22 -0500 |
commit | efb171875caf57aa48edf14254c1dd8d61c17a5a (patch) | |
tree | f5e6178498679f4b1e4b1c1053f222f546c9a814 | |
parent | 9d70b8a4d9fc69064b5a0bde6670b4aaca25cf5e (diff) |
Nonmatching sub_810287C; annotate rodata
-rw-r--r-- | asm/pokedex_screen.s | 577 | ||||
-rw-r--r-- | data/pokedex_screen.s | 538 | ||||
-rw-r--r-- | include/sound.h | 1 | ||||
-rw-r--r-- | src/pokedex_screen.c | 663 |
4 files changed, 1140 insertions, 639 deletions
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s index ad2b96cdf..753cf8008 100644 --- a/asm/pokedex_screen.s +++ b/asm/pokedex_screen.s @@ -5,583 +5,6 @@ .text - thumb_func_start CB2_OpenPokedexFromStartMenu -CB2_OpenPokedexFromStartMenu: @ 810275C - push {lr} - bl sub_810250C - movs r1, 0xC0 - lsls r1, 7 - movs r0, 0 - bl ClearGpuRegBits - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x52 - movs r1, 0 - bl SetGpuReg - movs r0, 0x54 - movs r1, 0 - bl SetGpuReg - ldr r0, _08102794 @ =sub_81024D4 - bl SetMainCallback2 - movs r0, 0x4 - bl HelpSystem_SetSomeVariable2 - pop {r0} - bx r0 - .align 2, 0 -_08102794: .4byte sub_81024D4 - thumb_func_end CB2_OpenPokedexFromStartMenu - - thumb_func_start sub_8102798 -sub_8102798: @ 8102798 - push {r4,lr} - sub sp, 0x4 - ldr r0, _081027B4 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r1, [r4] - cmp r1, 0x1 - beq _081027D8 - cmp r1, 0x1 - bgt _081027B8 - cmp r1, 0 - beq _081027BE - b _0810284A - .align 2, 0 -_081027B4: .4byte gMain -_081027B8: - cmp r1, 0x2 - beq _081027F2 - b _0810284A -_081027BE: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldrb r0, [r4] - adds r0, 0x1 -_081027D2: - strb r0, [r4] -_081027D4: - movs r0, 0 - b _0810284C -_081027D8: - ldr r0, _081027E8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081027EC - movs r0, 0x2 - b _081027D2 - .align 2, 0 -_081027E8: .4byte gPaletteFade -_081027EC: - bl UpdatePaletteFade - b _081027D4 -_081027F2: - ldr r4, _08102854 @ =gUnknown_203ACF0 - ldr r0, [r4] - ldr r0, [r0, 0x44] - cmp r0, 0 - beq _08102800 - bl Free -_08102800: - ldr r0, [r4] - cmp r0, 0 - beq _0810280A - bl Free -_0810280A: - bl FreeAllWindowBuffers - movs r0, 0 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _0810281C - bl Free -_0810281C: - movs r0, 0x1 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _0810282A - bl Free -_0810282A: - movs r0, 0x2 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _08102838 - bl Free -_08102838: - movs r0, 0x3 - bl GetBgTilemapBuffer - cmp r0, 0 - beq _08102846 - bl Free -_08102846: - bl sub_807249C -_0810284A: - movs r0, 0x1 -_0810284C: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08102854: .4byte gUnknown_203ACF0 - thumb_func_end sub_8102798 - - thumb_func_start sub_8102858 -sub_8102858: @ 8102858 - push {lr} - bl sub_8102798 - lsls r0, 24 - cmp r0, 0 - beq _08102874 - movs r1, 0xC0 - lsls r1, 7 - movs r0, 0 - bl SetGpuRegBits - ldr r0, _08102878 @ =CB2_ReturnToFieldWithOpenMenu - bl SetMainCallback2 -_08102874: - pop {r0} - bx r0 - .align 2, 0 -_08102878: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end sub_8102858 - - thumb_func_start sub_810287C -sub_810287C: @ 810287C - push {r4,r5,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0810289C @ =gUnknown_203ACF0 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x9 - bls _08102892 - b _08102C18 -_08102892: - lsls r0, 2 - ldr r1, _081028A0 @ =_081028A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810289C: .4byte gUnknown_203ACF0 -_081028A0: .4byte _081028A4 - .align 2, 0 -_081028A4: - .4byte _081028CC - .4byte _081028FC - .4byte _08102930 - .4byte _08102940 - .4byte _08102964 - .4byte _081029D0 - .4byte _08102A14 - .4byte _08102B24 - .4byte _08102B94 - .4byte _08102BD8 -_081028CC: - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x8] - movs r4, 0 -_081028D4: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_81068A0 - ldr r1, _081028F8 @ =gUnknown_203ACF0 - ldr r2, [r1] - lsls r0, 24 - lsrs r0, 24 - lsls r0, r4 - ldr r1, [r2, 0x8] - orrs r1, r0 - str r1, [r2, 0x8] - adds r4, 0x1 - cmp r4, 0x8 - ble _081028D4 - movs r0, 0x2 - strb r0, [r2, 0x1] - b _08102C18 - .align 2, 0 -_081028F8: .4byte gUnknown_203ACF0 -_081028FC: - ldr r0, [r4] - adds r0, 0x60 - ldrb r0, [r0] - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - adds r0, 0x14 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x15 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x16 - bl sub_81047B0 - ldr r0, _0810292C @ =sub_8102858 - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask - b _08102C18 - .align 2, 0 -_0810292C: .4byte sub_8102858 -_08102930: - bl sub_8102C28 - ldr r0, _0810293C @ =gUnknown_203ACF0 - ldr r1, [r0] - movs r0, 0x3 - b _08102C16 - .align 2, 0 -_0810293C: .4byte gUnknown_203ACF0 -_08102940: - movs r0, 0x3 - bl CopyBgTilemapBufferToVram - movs r0, 0x2 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r0, _08102960 @ =gUnknown_203ACF0 - ldr r1, [r0] - movs r0, 0x4 - b _08102C16 - .align 2, 0 -_08102960: .4byte gUnknown_203ACF0 -_08102964: - movs r0, 0x3 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0 - bl ShowBg - ldr r2, _081029A4 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _081029AC - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - ldr r1, _081029A8 @ =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - b _081029BC - .align 2, 0 -_081029A4: .4byte gPaletteFade -_081029A8: .4byte 0x0000ffff -_081029AC: - ldr r0, _081029C4 @ =0xffff7fff - ldr r1, _081029C8 @ =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade -_081029BC: - ldr r0, _081029CC @ =gUnknown_203ACF0 - ldr r1, [r0] - movs r0, 0x5 - b _08102C16 - .align 2, 0 -_081029C4: .4byte 0xffff7fff -_081029C8: .4byte 0x0000ffff -_081029CC: .4byte gUnknown_203ACF0 -_081029D0: - ldr r4, _081029EC @ =gUnknown_203ACF0 - ldr r1, [r4] - ldrb r0, [r1, 0x17] - adds r1, 0x62 - movs r2, 0 - bl ListMenuGetScrollAndRow - bl IsNationalPokedexEnabled - cmp r0, 0 - beq _081029F4 - ldr r0, _081029F0 @ =gUnknown_84520E4 - b _081029F6 - .align 2, 0 -_081029EC: .4byte gUnknown_203ACF0 -_081029F0: .4byte gUnknown_84520E4 -_081029F4: - ldr r0, _08102A0C @ =gUnknown_84520D4 -_081029F6: - ldr r1, [r4] - adds r1, 0x62 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - adds r1, 0x60 - strb r0, [r1] - ldr r0, _08102A10 @ =gUnknown_203ACF0 - ldr r1, [r0] - movs r0, 0x6 - b _08102C16 - .align 2, 0 -_08102A0C: .4byte gUnknown_84520D4 -_08102A10: .4byte gUnknown_203ACF0 -_08102A14: - ldr r0, [r4] - ldrb r0, [r0, 0x17] - bl ListMenu_ProcessInput - ldr r1, [r4] - str r0, [r1, 0xC] - ldrb r0, [r1, 0x17] - adds r1, 0x62 - movs r2, 0 - bl ListMenuGetScrollAndRow - ldr r0, _08102A4C @ =gMain - ldrh r1, [r0, 0x2E] - movs r3, 0x1 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08102B14 - ldr r2, [r4] - ldr r1, [r2, 0xC] - cmp r1, 0xD - bhi _08102A50 - cmp r1, 0xA - bcs _08102ADC - cmp r1, 0x8 - bls _08102A62 - b _08102AA4 - .align 2, 0 -_08102A4C: .4byte gMain -_08102A50: - cmp r1, 0xE - beq _08102AA4 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _08102A5E - b _08102C18 -_08102A5E: - strb r3, [r2, 0x1] - b _08102C18 -_08102A62: - lsls r0, r1, 24 - lsrs r0, 24 - bl sub_81068A0 - lsls r0, 24 - cmp r0, 0 - bne _08102A72 - b _08102C18 -_08102A72: - ldr r0, [r4] - adds r0, 0x60 - ldrb r0, [r0] - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r0, 0x28 - strb r1, [r0] - ldr r0, _08102A9C @ =0xffff7fff - ldr r1, _08102AA0 @ =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - movs r0, 0x7 - b _08102C16 - .align 2, 0 -_08102A9C: .4byte 0xffff7fff -_08102AA0: .4byte 0x0000ffff -_08102AA4: - ldr r4, _08102AD0 @ =gUnknown_203ACF0 - ldr r0, [r4] - adds r0, 0x60 - ldrb r0, [r0] - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - ldr r0, [r1, 0xC] - subs r0, 0x9 - adds r1, 0x42 - strb r0, [r1] - ldr r0, _08102AD4 @ =0xffff7fff - ldr r1, _08102AD8 @ =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - movs r0, 0x9 - b _08102C16 - .align 2, 0 -_08102AD0: .4byte gUnknown_203ACF0 -_08102AD4: .4byte 0xffff7fff -_08102AD8: .4byte 0x0000ffff -_08102ADC: - adds r0, r2, 0 - adds r0, 0x60 - ldrb r0, [r0] - bl RemoveScrollIndicatorArrowPair - ldr r0, [r4] - ldr r1, [r0, 0xC] - subs r1, 0x9 - adds r0, 0x42 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - strh r2, [r0, 0x3A] - strh r2, [r0, 0x38] - ldr r0, _08102B0C @ =0xffff7fff - ldr r1, _08102B10 @ =0x0000ffff - str r1, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r4] - movs r0, 0x8 - b _08102C16 - .align 2, 0 -_08102B0C: .4byte 0xffff7fff -_08102B10: .4byte 0x0000ffff -_08102B14: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08102B1E - b _08102C18 -_08102B1E: - ldr r0, [r4] - strb r3, [r0, 0x1] - b _08102C18 -_08102B24: - ldr r2, [r4] - ldrb r0, [r2, 0x17] - adds r1, r2, 0 - adds r1, 0x12 - adds r2, 0x10 - bl DestroyListMenuTask - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r0, [r4] - adds r0, 0x14 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x15 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x16 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x2B - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x2D - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x2F - strb r2, [r0] - ldr r1, _08102B8C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08102B90 @ =sub_8103AC8 - str r1, [r0] - ldr r0, [r4] - strb r2, [r0, 0x1] - b _08102C18 - .align 2, 0 -_08102B8C: .4byte gTasks -_08102B90: .4byte sub_8103AC8 -_08102B94: - ldr r2, [r4] - ldrb r0, [r2, 0x17] - adds r1, r2, 0 - adds r1, 0x12 - adds r2, 0x10 - bl DestroyListMenuTask - movs r0, 0x1 - bl HideBg - ldr r0, [r4] - adds r0, 0x14 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x15 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x16 - bl sub_81047B0 - ldr r1, _08102BD0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08102BD4 @ =sub_8103238 - b _08102C10 - .align 2, 0 -_08102BD0: .4byte gTasks -_08102BD4: .4byte sub_8103238 -_08102BD8: - ldr r2, [r4] - ldrb r0, [r2, 0x17] - adds r1, r2, 0 - adds r1, 0x12 - adds r2, 0x10 - bl DestroyListMenuTask - movs r0, 0x1 - bl HideBg - ldr r0, [r4] - adds r0, 0x14 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x15 - bl sub_81047B0 - ldr r0, [r4] - adds r0, 0x16 - bl sub_81047B0 - ldr r1, _08102C20 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08102C24 @ =sub_8102F80 -_08102C10: - str r1, [r0] - ldr r1, [r4] - movs r0, 0 -_08102C16: - strb r0, [r1, 0x1] -_08102C18: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08102C20: .4byte gTasks -_08102C24: .4byte sub_8102F80 - thumb_func_end sub_810287C - thumb_func_start sub_8102C28 sub_8102C28: @ 8102C28 push {r4-r7,lr} diff --git a/data/pokedex_screen.s b/data/pokedex_screen.s index 473c88e40..6a834342d 100644 --- a/data/pokedex_screen.s +++ b/data/pokedex_screen.s @@ -7,162 +7,580 @@ .align 2 gUnknown_843FAB0:: @ 843FAB0 - .incbin "baserom.gba", 0x43FAB0, 0x674 - -gUnknown_8440124:: @ 8440124 + .4byte gMonFootprint_Bulbasaur + .4byte gMonFootprint_Bulbasaur + .4byte gMonFootprint_Ivysaur + .4byte gMonFootprint_Venusaur + .4byte gMonFootprint_Charmander + .4byte gMonFootprint_Charmeleon + .4byte gMonFootprint_Charizard + .4byte gMonFootprint_Squirtle + .4byte gMonFootprint_Wartortle + .4byte gMonFootprint_Blastoise + .4byte gMonFootprint_Caterpie + .4byte gMonFootprint_Metapod + .4byte gMonFootprint_Butterfree + .4byte gMonFootprint_Weedle + .4byte gMonFootprint_Kakuna + .4byte gMonFootprint_Beedrill + .4byte gMonFootprint_Pidgey + .4byte gMonFootprint_Pidgeotto + .4byte gMonFootprint_Pidgeot + .4byte gMonFootprint_Rattata + .4byte gMonFootprint_Raticate + .4byte gMonFootprint_Spearow + .4byte gMonFootprint_Fearow + .4byte gMonFootprint_Ekans + .4byte gMonFootprint_Arbok + .4byte gMonFootprint_Pikachu + .4byte gMonFootprint_Raichu + .4byte gMonFootprint_Sandshrew + .4byte gMonFootprint_Sandslash + .4byte gMonFootprint_NidoranF + .4byte gMonFootprint_Nidorina + .4byte gMonFootprint_Nidoqueen + .4byte gMonFootprint_NidoranM + .4byte gMonFootprint_Nidorino + .4byte gMonFootprint_Nidoking + .4byte gMonFootprint_Clefairy + .4byte gMonFootprint_Clefable + .4byte gMonFootprint_Vulpix + .4byte gMonFootprint_Ninetales + .4byte gMonFootprint_Jigglypuff + .4byte gMonFootprint_Wigglytuff + .4byte gMonFootprint_Zubat + .4byte gMonFootprint_Golbat + .4byte gMonFootprint_Oddish + .4byte gMonFootprint_Gloom + .4byte gMonFootprint_Vileplume + .4byte gMonFootprint_Paras + .4byte gMonFootprint_Parasect + .4byte gMonFootprint_Venonat + .4byte gMonFootprint_Venomoth + .4byte gMonFootprint_Diglett + .4byte gMonFootprint_Dugtrio + .4byte gMonFootprint_Meowth + .4byte gMonFootprint_Persian + .4byte gMonFootprint_Psyduck + .4byte gMonFootprint_Golduck + .4byte gMonFootprint_Mankey + .4byte gMonFootprint_Primeape + .4byte gMonFootprint_Growlithe + .4byte gMonFootprint_Arcanine + .4byte gMonFootprint_Poliwag + .4byte gMonFootprint_Poliwhirl + .4byte gMonFootprint_Poliwrath + .4byte gMonFootprint_Abra + .4byte gMonFootprint_Kadabra + .4byte gMonFootprint_Alakazam + .4byte gMonFootprint_Machop + .4byte gMonFootprint_Machoke + .4byte gMonFootprint_Machamp + .4byte gMonFootprint_Bellsprout + .4byte gMonFootprint_Weepinbell + .4byte gMonFootprint_Victreebel + .4byte gMonFootprint_Tentacool + .4byte gMonFootprint_Tentacruel + .4byte gMonFootprint_Geodude + .4byte gMonFootprint_Graveler + .4byte gMonFootprint_Golem + .4byte gMonFootprint_Ponyta + .4byte gMonFootprint_Rapidash + .4byte gMonFootprint_Slowpoke + .4byte gMonFootprint_Slowbro + .4byte gMonFootprint_Magnemite + .4byte gMonFootprint_Magneton + .4byte gMonFootprint_Farfetchd + .4byte gMonFootprint_Doduo + .4byte gMonFootprint_Dodrio + .4byte gMonFootprint_Seel + .4byte gMonFootprint_Dewgong + .4byte gMonFootprint_Grimer + .4byte gMonFootprint_Muk + .4byte gMonFootprint_Shellder + .4byte gMonFootprint_Cloyster + .4byte gMonFootprint_Gastly + .4byte gMonFootprint_Haunter + .4byte gMonFootprint_Gengar + .4byte gMonFootprint_Onix + .4byte gMonFootprint_Drowzee + .4byte gMonFootprint_Hypno + .4byte gMonFootprint_Krabby + .4byte gMonFootprint_Kingler + .4byte gMonFootprint_Voltorb + .4byte gMonFootprint_Electrode + .4byte gMonFootprint_Exeggcute + .4byte gMonFootprint_Exeggutor + .4byte gMonFootprint_Cubone + .4byte gMonFootprint_Marowak + .4byte gMonFootprint_Hitmonlee + .4byte gMonFootprint_Hitmonchan + .4byte gMonFootprint_Lickitung + .4byte gMonFootprint_Koffing + .4byte gMonFootprint_Weezing + .4byte gMonFootprint_Rhyhorn + .4byte gMonFootprint_Rhydon + .4byte gMonFootprint_Chansey + .4byte gMonFootprint_Tangela + .4byte gMonFootprint_Kangaskhan + .4byte gMonFootprint_Horsea + .4byte gMonFootprint_Seadra + .4byte gMonFootprint_Goldeen + .4byte gMonFootprint_Seaking + .4byte gMonFootprint_Staryu + .4byte gMonFootprint_Starmie + .4byte gMonFootprint_Mrmime + .4byte gMonFootprint_Scyther + .4byte gMonFootprint_Jynx + .4byte gMonFootprint_Electabuzz + .4byte gMonFootprint_Magmar + .4byte gMonFootprint_Pinsir + .4byte gMonFootprint_Tauros + .4byte gMonFootprint_Magikarp + .4byte gMonFootprint_Gyarados + .4byte gMonFootprint_Lapras + .4byte gMonFootprint_Ditto + .4byte gMonFootprint_Eevee + .4byte gMonFootprint_Vaporeon + .4byte gMonFootprint_Jolteon + .4byte gMonFootprint_Flareon + .4byte gMonFootprint_Porygon + .4byte gMonFootprint_Omanyte + .4byte gMonFootprint_Omastar + .4byte gMonFootprint_Kabuto + .4byte gMonFootprint_Kabutops + .4byte gMonFootprint_Aerodactyl + .4byte gMonFootprint_Snorlax + .4byte gMonFootprint_Articuno + .4byte gMonFootprint_Zapdos + .4byte gMonFootprint_Moltres + .4byte gMonFootprint_Dratini + .4byte gMonFootprint_Dragonair + .4byte gMonFootprint_Dragonite + .4byte gMonFootprint_Mewtwo + .4byte gMonFootprint_Mew + .4byte gMonFootprint_Chikorita + .4byte gMonFootprint_Bayleef + .4byte gMonFootprint_Meganium + .4byte gMonFootprint_Cyndaquil + .4byte gMonFootprint_Quilava + .4byte gMonFootprint_Typhlosion + .4byte gMonFootprint_Totodile + .4byte gMonFootprint_Croconaw + .4byte gMonFootprint_Feraligatr + .4byte gMonFootprint_Sentret + .4byte gMonFootprint_Furret + .4byte gMonFootprint_Hoothoot + .4byte gMonFootprint_Noctowl + .4byte gMonFootprint_Ledyba + .4byte gMonFootprint_Ledian + .4byte gMonFootprint_Spinarak + .4byte gMonFootprint_Ariados + .4byte gMonFootprint_Crobat + .4byte gMonFootprint_Chinchou + .4byte gMonFootprint_Lanturn + .4byte gMonFootprint_Pichu + .4byte gMonFootprint_Cleffa + .4byte gMonFootprint_Igglybuff + .4byte gMonFootprint_Togepi + .4byte gMonFootprint_Togetic + .4byte gMonFootprint_Natu + .4byte gMonFootprint_Xatu + .4byte gMonFootprint_Mareep + .4byte gMonFootprint_Flaaffy + .4byte gMonFootprint_Ampharos + .4byte gMonFootprint_Bellossom + .4byte gMonFootprint_Marill + .4byte gMonFootprint_Azumarill + .4byte gMonFootprint_Sudowoodo + .4byte gMonFootprint_Politoed + .4byte gMonFootprint_Hoppip + .4byte gMonFootprint_Skiploom + .4byte gMonFootprint_Jumpluff + .4byte gMonFootprint_Aipom + .4byte gMonFootprint_Sunkern + .4byte gMonFootprint_Sunflora + .4byte gMonFootprint_Yanma + .4byte gMonFootprint_Wooper + .4byte gMonFootprint_Quagsire + .4byte gMonFootprint_Espeon + .4byte gMonFootprint_Umbreon + .4byte gMonFootprint_Murkrow + .4byte gMonFootprint_Slowking + .4byte gMonFootprint_Misdreavus + .4byte gMonFootprint_Unown + .4byte gMonFootprint_Wobbuffet + .4byte gMonFootprint_Girafarig + .4byte gMonFootprint_Pineco + .4byte gMonFootprint_Forretress + .4byte gMonFootprint_Dunsparce + .4byte gMonFootprint_Gligar + .4byte gMonFootprint_Steelix + .4byte gMonFootprint_Snubbull + .4byte gMonFootprint_Granbull + .4byte gMonFootprint_Qwilfish + .4byte gMonFootprint_Scizor + .4byte gMonFootprint_Shuckle + .4byte gMonFootprint_Heracross + .4byte gMonFootprint_Sneasel + .4byte gMonFootprint_Teddiursa + .4byte gMonFootprint_Ursaring + .4byte gMonFootprint_Slugma + .4byte gMonFootprint_Magcargo + .4byte gMonFootprint_Swinub + .4byte gMonFootprint_Piloswine + .4byte gMonFootprint_Corsola + .4byte gMonFootprint_Remoraid + .4byte gMonFootprint_Octillery + .4byte gMonFootprint_Delibird + .4byte gMonFootprint_Mantine + .4byte gMonFootprint_Skarmory + .4byte gMonFootprint_Houndour + .4byte gMonFootprint_Houndoom + .4byte gMonFootprint_Kingdra + .4byte gMonFootprint_Phanpy + .4byte gMonFootprint_Donphan + .4byte gMonFootprint_Porygon2 + .4byte gMonFootprint_Stantler + .4byte gMonFootprint_Smeargle + .4byte gMonFootprint_Tyrogue + .4byte gMonFootprint_Hitmontop + .4byte gMonFootprint_Smoochum + .4byte gMonFootprint_Elekid + .4byte gMonFootprint_Magby + .4byte gMonFootprint_Miltank + .4byte gMonFootprint_Blissey + .4byte gMonFootprint_Raikou + .4byte gMonFootprint_Entei + .4byte gMonFootprint_Suicune + .4byte gMonFootprint_Larvitar + .4byte gMonFootprint_Pupitar + .4byte gMonFootprint_Tyranitar + .4byte gMonFootprint_Lugia + .4byte gMonFootprint_HoOh + .4byte gMonFootprint_Celebi + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_QuestionMark + .4byte gMonFootprint_Treecko + .4byte gMonFootprint_Grovyle + .4byte gMonFootprint_Sceptile + .4byte gMonFootprint_Torchic + .4byte gMonFootprint_Combusken + .4byte gMonFootprint_Blaziken + .4byte gMonFootprint_Mudkip + .4byte gMonFootprint_Marshtomp + .4byte gMonFootprint_Swampert + .4byte gMonFootprint_Poochyena + .4byte gMonFootprint_Mightyena + .4byte gMonFootprint_Zigzagoon + .4byte gMonFootprint_Linoone + .4byte gMonFootprint_Wurmple + .4byte gMonFootprint_Silcoon + .4byte gMonFootprint_Beautifly + .4byte gMonFootprint_Cascoon + .4byte gMonFootprint_Dustox + .4byte gMonFootprint_Lotad + .4byte gMonFootprint_Lombre + .4byte gMonFootprint_Ludicolo + .4byte gMonFootprint_Seedot + .4byte gMonFootprint_Nuzleaf + .4byte gMonFootprint_Shiftry + .4byte gMonFootprint_Nincada + .4byte gMonFootprint_Ninjask + .4byte gMonFootprint_Shedinja + .4byte gMonFootprint_Taillow + .4byte gMonFootprint_Swellow + .4byte gMonFootprint_Shroomish + .4byte gMonFootprint_Breloom + .4byte gMonFootprint_Spinda + .4byte gMonFootprint_Wingull + .4byte gMonFootprint_Pelipper + .4byte gMonFootprint_Surskit + .4byte gMonFootprint_Masquerain + .4byte gMonFootprint_Wailmer + .4byte gMonFootprint_Wailord + .4byte gMonFootprint_Skitty + .4byte gMonFootprint_Delcatty + .4byte gMonFootprint_Kecleon + .4byte gMonFootprint_Baltoy + .4byte gMonFootprint_Claydol + .4byte gMonFootprint_Nosepass + .4byte gMonFootprint_Torkoal + .4byte gMonFootprint_Sableye + .4byte gMonFootprint_Barboach + .4byte gMonFootprint_Whiscash + .4byte gMonFootprint_Luvdisc + .4byte gMonFootprint_Corphish + .4byte gMonFootprint_Crawdaunt + .4byte gMonFootprint_Feebas + .4byte gMonFootprint_Milotic + .4byte gMonFootprint_Carvanha + .4byte gMonFootprint_Sharpedo + .4byte gMonFootprint_Trapinch + .4byte gMonFootprint_Vibrava + .4byte gMonFootprint_Flygon + .4byte gMonFootprint_Makuhita + .4byte gMonFootprint_Hariyama + .4byte gMonFootprint_Electrike + .4byte gMonFootprint_Manectric + .4byte gMonFootprint_Numel + .4byte gMonFootprint_Camerupt + .4byte gMonFootprint_Spheal + .4byte gMonFootprint_Sealeo + .4byte gMonFootprint_Walrein + .4byte gMonFootprint_Cacnea + .4byte gMonFootprint_Cacturne + .4byte gMonFootprint_Snorunt + .4byte gMonFootprint_Glalie + .4byte gMonFootprint_Lunatone + .4byte gMonFootprint_Solrock + .4byte gMonFootprint_Azurill + .4byte gMonFootprint_Spoink + .4byte gMonFootprint_Grumpig + .4byte gMonFootprint_Plusle + .4byte gMonFootprint_Minun + .4byte gMonFootprint_Mawile + .4byte gMonFootprint_Meditite + .4byte gMonFootprint_Medicham + .4byte gMonFootprint_Swablu + .4byte gMonFootprint_Altaria + .4byte gMonFootprint_Wynaut + .4byte gMonFootprint_Duskull + .4byte gMonFootprint_Dusclops + .4byte gMonFootprint_Roselia + .4byte gMonFootprint_Slakoth + .4byte gMonFootprint_Vigoroth + .4byte gMonFootprint_Slaking + .4byte gMonFootprint_Gulpin + .4byte gMonFootprint_Swalot + .4byte gMonFootprint_Tropius + .4byte gMonFootprint_Whismur + .4byte gMonFootprint_Loudred + .4byte gMonFootprint_Exploud + .4byte gMonFootprint_Clamperl + .4byte gMonFootprint_Huntail + .4byte gMonFootprint_Gorebyss + .4byte gMonFootprint_Absol + .4byte gMonFootprint_Shuppet + .4byte gMonFootprint_Banette + .4byte gMonFootprint_Seviper + .4byte gMonFootprint_Zangoose + .4byte gMonFootprint_Relicanth + .4byte gMonFootprint_Aron + .4byte gMonFootprint_Lairon + .4byte gMonFootprint_Aggron + .4byte gMonFootprint_Castform + .4byte gMonFootprint_Volbeat + .4byte gMonFootprint_Illumise + .4byte gMonFootprint_Lileep + .4byte gMonFootprint_Cradily + .4byte gMonFootprint_Anorith + .4byte gMonFootprint_Armaldo + .4byte gMonFootprint_Ralts + .4byte gMonFootprint_Kirlia + .4byte gMonFootprint_Gardevoir + .4byte gMonFootprint_Bagon + .4byte gMonFootprint_Shelgon + .4byte gMonFootprint_Salamence + .4byte gMonFootprint_Beldum + .4byte gMonFootprint_Metang + .4byte gMonFootprint_Metagross + .4byte gMonFootprint_Regirock + .4byte gMonFootprint_Regice + .4byte gMonFootprint_Registeel + .4byte gMonFootprint_Kyogre + .4byte gMonFootprint_Groudon + .4byte gMonFootprint_Rayquaza + .4byte gMonFootprint_Latias + .4byte gMonFootprint_Latios + .4byte gMonFootprint_Jirachi + .4byte gMonFootprint_Deoxys + .4byte gMonFootprint_Chimecho + .4byte gMonFootprint_Bulbasaur + +gUnknown_8440124:: @ 8440124 bin.lz .incbin "baserom.gba", 0x440124, 0x150 -gUnknown_8440274:: @ 8440274 +gUnknown_8440274:: @ 8440274 4bpp.lz .incbin "baserom.gba", 0x440274, 0x138 -gUnknown_84403AC:: @ 84403AC +gUnknown_84403AC:: @ 84403AC 4bpp.lz .incbin "baserom.gba", 0x4403AC, 0x11C -gUnknown_84404C8:: @ 84404C8 +gUnknown_84404C8:: @ 84404C8 gbapal .incbin "baserom.gba", 0x4404C8, 0x200 -gUnknown_84406C8:: @ 84406C8 +gUnknown_84406C8:: @ 84406C8 data16 .incbin "baserom.gba", 0x4406C8, 0x4 -gUnknown_84406CC:: @ 84406CC +gUnknown_84406CC:: @ 84406CC data16 .incbin "baserom.gba", 0x4406CC, 0x2 -gUnknown_84406CE:: @ 84406CE +gUnknown_84406CE:: @ 84406CE data16 .incbin "baserom.gba", 0x4406CE, 0x12 -gUnknown_84406E0:: @ 84406E0 - .incbin "baserom.gba", 0x4406E0, 0x810 +gUnknown_84406E0:: @ 84406E0 gbapal + .incbin "baserom.gba", 0x4406E0, 0x200 + .incbin "baserom.gba", 0x4408E0, 0x610 -gUnknown_8440EF0:: @ 8440EF0 +gUnknown_8440EF0:: @ 8440EF0 bin.lz .incbin "baserom.gba", 0x440EF0, 0x2570 -gUnknown_8443460:: @ 8443460 - .incbin "baserom.gba", 0x443460, 0x1A0 +gUnknown_8443460:: @ 8443460 gbapal + .incbin "baserom.gba", 0x443460, 0x20 + .incbin "baserom.gba", 0x443480, 0x180 -gUnknown_8443600:: @ 8443600 +gUnknown_8443600:: @ 8443600 4bpp .incbin "baserom.gba", 0x443600, 0x20 -gUnknown_8443620:: @ 8443620 +gUnknown_8443620:: @ 8443620 bin.lz .incbin "baserom.gba", 0x443620, 0x6E0 -gUnknown_8443D00:: @ 8443D00 +gUnknown_8443D00:: @ 8443D00 4bpp .incbin "baserom.gba", 0x443D00, 0x2C0 -gUnknown_8443FC0:: @ 8443FC0 +gUnknown_8443FC0:: @ 8443FC0 data16 .incbin "baserom.gba", 0x443FC0, 0x336 -gUnknown_84442F6:: @ 84442F6 +gUnknown_84442F6:: @ 84442F6 data16 .incbin "baserom.gba", 0x4442F6, 0x304 -gUnknown_84445FA:: @ 84445FA +gUnknown_84445FA:: @ 84445FA data16 .incbin "baserom.gba", 0x4445FA, 0x304 -gUnknown_84448FE:: @ 84448FE +gUnknown_84448FE:: @ 84448FE data16 .incbin "baserom.gba", 0x4448FE, 0x336 .section .rodata.after @ pokedex.c erroneously carved out? -gUnknown_8451EBC:: @ 8451EBC +gUnknown_8451EBC:: @ 8451EBC BgTemplate .incbin "baserom.gba", 0x451EBC, 0x10 -gUnknown_8451ECC:: @ 8451ECC +gUnknown_8451ECC:: @ 8451ECC WindowTemplate .incbin "baserom.gba", 0x451ECC, 0x18 -gUnknown_8451EE4:: @ 8451EE4 +gUnknown_8451EE4:: @ 8451EE4 PokedexScreenData .incbin "baserom.gba", 0x451EE4, 0x70 -gUnknown_8451F54:: @ 8451F54 +gUnknown_8451F54:: @ 8451F54 WindowTemplate .incbin "baserom.gba", 0x451F54, 0x8 -gUnknown_8451F5C:: @ 8451F5C +gUnknown_8451F5C:: @ 8451F5C WindowTemplate .incbin "baserom.gba", 0x451F5C, 0x8 -gUnknown_8451F64:: @ 8451F64 - .incbin "baserom.gba", 0x451F64, 0xA0 +gUnknown_8451F64:: @ 8451F64 WindowTemplate + .incbin "baserom.gba", 0x451F64, 0x8 + .incbin "baserom.gba", 0x451F6C, 0x98 -gUnknown_8452004:: @ 8452004 - .incbin "baserom.gba", 0x452004, 0xB8 +gUnknown_8452004:: @ 8452004 ListMenuTemplate + .incbin "baserom.gba", 0x452004, 0x18 + .incbin "baserom.gba", 0x45201C, 0xA0 -gUnknown_84520BC:: @ 84520BC +gUnknown_84520BC:: @ 84520BC ListMenuTemplate .incbin "baserom.gba", 0x4520BC, 0x18 -gUnknown_84520D4:: @ 84520D4 +gUnknown_84520D4:: @ 84520D4 ScrollArrowsTemplate .incbin "baserom.gba", 0x4520D4, 0x10 -gUnknown_84520E4:: @ 84520E4 +gUnknown_84520E4:: @ 84520E4 ScrollArrowsTemplate .incbin "baserom.gba", 0x4520E4, 0x10 -gUnknown_84520F4:: @ 84520F4 +gUnknown_84520F4:: @ 84520F4 struct { dataptr; dataptr; } .incbin "baserom.gba", 0x4520F4, 0x78 -gUnknown_845216C:: @ 845216C +gUnknown_845216C:: @ 845216C WindowTemplate .incbin "baserom.gba", 0x45216C, 0x8 -gUnknown_8452174:: @ 8452174 +gUnknown_8452174:: @ 8452174 ListMenuTemplate .incbin "baserom.gba", 0x452174, 0x18 -gUnknown_845218C:: @ 845218C - .incbin "baserom.gba", 0x45218C, 0x28 +gUnknown_845218C:: @ 845218C ListMenuWindowRect + .incbin "baserom.gba", 0x45218C, 0x8 + .incbin "baserom.gba", 0x452194, 0x20 -gUnknown_84521B4:: @ 84521B4 +gUnknown_84521B4:: @ 84521B4 ScrollArrowsTemplate .incbin "baserom.gba", 0x4521B4, 0x10 -gUnknown_84521C4:: @ 84521C4 +gUnknown_84521C4:: @ 84521C4 WindowTemplate .incbin "baserom.gba", 0x4521C4, 0x8 -gUnknown_84521CC:: @ 84521CC +gUnknown_84521CC:: @ 84521CC WindowTemplate .incbin "baserom.gba", 0x4521CC, 0x8 -gUnknown_84521D4:: @ 84521D4 +gUnknown_84521D4:: @ 84521D4 WindowTemplate .incbin "baserom.gba", 0x4521D4, 0x8 -gUnknown_84521DC:: @ 84521DC +gUnknown_84521DC:: @ 84521DC WindowTemplate .incbin "baserom.gba", 0x4521DC, 0x8 -gUnknown_84521E4:: @ 84521E4 +gUnknown_84521E4:: @ 84521E4 WindowTemplate .incbin "baserom.gba", 0x4521E4, 0x8 -gUnknown_84521EC:: @ 84521EC +gUnknown_84521EC:: @ 84521EC WindowTemplate .incbin "baserom.gba", 0x4521EC, 0x8 -gUnknown_84521F4:: @ 84521F4 +gUnknown_84521F4:: @ 84521F4 WindowTemplate .incbin "baserom.gba", 0x4521F4, 0x8 -gUnknown_84521FC:: @ 84521FC +gUnknown_84521FC:: @ 84521FC WindowTemplate .incbin "baserom.gba", 0x4521FC, 0x8 -gUnknown_8452204:: @ 8452204 +gUnknown_8452204:: @ 8452204 WindowTemplate .incbin "baserom.gba", 0x452204, 0x8 -gUnknown_845220C:: @ 845220C +gUnknown_845220C:: @ 845220C WindowTemplate .incbin "baserom.gba", 0x45220C, 0x8 -gUnknown_8452214:: @ 8452214 - .incbin "baserom.gba", 0x452214, 0x40 +gUnknown_8452214:: @ 8452214 WindowTemplate + .incbin "baserom.gba", 0x452214, 0x8 + .incbin "baserom.gba", 0x45221C, 0x38 -gUnknown_8452254:: @ 8452254 +gUnknown_8452254:: @ 8452254 struct { dataptr; dataptr; } .incbin "baserom.gba", 0x452254, 0x38 -gUnknown_845228C:: @ 845228C +gUnknown_845228C:: @ 845228C bin .incbin "baserom.gba", 0x45228C, 0xA8 -gUnknown_8452334:: @ 8452334 +gUnknown_8452334:: @ 8452334 dataptr .incbin "baserom.gba", 0x452334, 0x10 -gUnknown_8452344:: @ 8452344 +gUnknown_8452344:: @ 8452344 dataptr .incbin "baserom.gba", 0x452344, 0x24 -gUnknown_8452368:: @ 8452368 +gUnknown_8452368:: @ 8452368 gbapal .incbin "baserom.gba", 0x452368, 0x20 -gUnknown_8452388:: @ 8452388 +gUnknown_8452388:: @ 8452388 data16 .incbin "baserom.gba", 0x452388, 0x12C -gUnknown_84524B4:: @ 84524B4 +gUnknown_84524B4:: @ 84524B4 ScrollArrowsTemplate .incbin "baserom.gba", 0x4524B4, 0x10 -gUnknown_84524C4:: @ 84524C4 +gUnknown_84524C4:: @ 84524C4 CursorStruct .incbin "baserom.gba", 0x4524C4, 0x788 -gUnknown_8452C4C:: @ 8452C4C +gUnknown_8452C4C:: @ 8452C4C struct { dataptr; data8; } .incbin "baserom.gba", 0x452C4C, 0x48 diff --git a/include/sound.h b/include/sound.h index 73ca1c654..8ce8a62ad 100644 --- a/include/sound.h +++ b/include/sound.h @@ -47,5 +47,6 @@ bool8 IsSEPlaying(void); bool8 IsBGMPlaying(void); bool8 IsSpecialSEPlaying(void); void sub_8072474(u16 volume); +void sub_807249C(void); #endif // GUARD_SOUND_H diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index 1731f1cec..d04a83279 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -13,13 +13,41 @@ #include "new_menu_helpers.h" #include "sound.h" #include "event_data.h" +#include "help_system.h" +#include "menu_indicators.h" +#include "overworld.h" struct PokedexScreenData { u8 field_00; - u8 filler_01[0x43]; + u8 field_01; + u8 filler_02[0x6]; + u32 field_08; + s32 field_0C; + u16 field_10; + u16 field_12; + u8 field_14; + u8 field_15; + u8 field_16; + u8 field_17; + u8 filler_18[0x10]; + u8 field_28; + u8 filler_29[0x2]; + u8 field_2B; + u8 field_2C; + u8 field_2D; + u8 field_2E; + u8 field_2F; + u8 filler_30[0x8]; + u16 field_38; + u16 field_3A; + u8 filler_3C[0x6]; + u8 field_42; void * field_44; - u8 filler_48[0x1E]; + u8 filler_48[0x18]; + u8 field_60; + u16 field_62; + u8 filler_64[0x2]; u16 field_66; u16 field_68; u16 field_6A; @@ -29,7 +57,13 @@ struct PokedexScreenData EWRAM_DATA struct PokedexScreenData * gUnknown_203ACF0 = NULL; void sub_810287C(u8 taskId); +void sub_8103238(u8 taskId); +void sub_8103AC8(u8 taskId); +void sub_8102C28(void); +void sub_8102F80(u8 taskId); +void sub_81047B0(u8 *a0); u16 sub_8104BBC(u8 a0, u8 a1); +u8 sub_81068A0(u8 a0); extern const u32 gUnknown_8440274[]; extern const u32 gUnknown_84403AC[]; @@ -38,6 +72,8 @@ extern const u16 gUnknown_84406E0[]; extern const struct BgTemplate gUnknown_8451EBC[4]; extern const struct WindowTemplate gUnknown_8451ECC[]; extern const struct PokedexScreenData gUnknown_8451EE4; +extern const struct ScrollArrowsTemplate gUnknown_84520D4; +extern const struct ScrollArrowsTemplate gUnknown_84520E4; void sub_81024C0(void) { @@ -118,3 +154,626 @@ void sub_810250C(void) FillBgTilemapBufferRect(0, 0x0000, 0, 2, 32, 16, 0x11); FillBgTilemapBufferRect(0, 0x003, 0, 18, 32, 2, 0xF); } + +void CB2_OpenPokedexFromStartMenu(void) +{ + sub_810250C(); + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); + SetMainCallback2(sub_81024D4); + HelpSystem_SetSomeVariable2(4); +} + +#define FREE_IF_NOT_NULL(ptr0) ({ void * ptr = (ptr0); if (ptr) Free(ptr); }) + +bool8 sub_8102798(void) +{ + switch (gMain.state) + { + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state++; + return FALSE; + case 1: + if (!gPaletteFade.active) + gMain.state = 2; + else + UpdatePaletteFade(); + return FALSE; + case 2: + FREE_IF_NOT_NULL(gUnknown_203ACF0->field_44); + FREE_IF_NOT_NULL(gUnknown_203ACF0); + FreeAllWindowBuffers(); + FREE_IF_NOT_NULL(GetBgTilemapBuffer(0)); + FREE_IF_NOT_NULL(GetBgTilemapBuffer(1)); + FREE_IF_NOT_NULL(GetBgTilemapBuffer(2)); + FREE_IF_NOT_NULL(GetBgTilemapBuffer(3)); + sub_807249C(); + break; + } + return TRUE; +} + +void sub_8102858(void) +{ + if (sub_8102798()) + { + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON); + SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); + } +} + +#ifdef NONMATCHING +void sub_810287C(u8 taskId) +{ + int i; + switch (gUnknown_203ACF0->field_01) + { + case 0: + gUnknown_203ACF0->field_08 = 0; + for (i = 0; i < 9; i++) + gUnknown_203ACF0->field_08 |= sub_81068A0(i); + gUnknown_203ACF0->field_01 = 2; + break; + case 1: + RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60); + sub_81047B0(&gUnknown_203ACF0->field_14); + sub_81047B0(&gUnknown_203ACF0->field_15); + sub_81047B0(&gUnknown_203ACF0->field_16); + SetMainCallback2(sub_8102858); + DestroyTask(taskId); + break; + case 2: + sub_8102C28(); + gUnknown_203ACF0->field_01 = 3; + break; + case 3: + CopyBgTilemapBufferToVram(3); + CopyBgTilemapBufferToVram(2); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(0); + gUnknown_203ACF0->field_01 = 4; + break; + case 4: + ShowBg(3); + ShowBg(2); + ShowBg(1); + ShowBg(0); + if (gPaletteFade.bufferTransferDisabled) + { + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_WHITEALPHA); + } + else + BeginNormalPaletteFade(0xFFFF7FFF, 0, 16, 0, RGB_WHITEALPHA); + gUnknown_203ACF0->field_01 = 5; + break; + case 5: + ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL); + if (IsNationalPokedexEnabled()) + gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520E4, &gUnknown_203ACF0->field_62); + else + gUnknown_203ACF0->field_60 = AddScrollIndicatorArrowPair(&gUnknown_84520D4, &gUnknown_203ACF0->field_62); + gUnknown_203ACF0->field_01 = 6; + break; + case 6: + gUnknown_203ACF0->field_0C = ListMenu_ProcessInput(gUnknown_203ACF0->field_17); + ListMenuGetScrollAndRow(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_62, NULL); + if (JOY_NEW(A_BUTTON)) + { + // FIXME: Get this switch to behave + switch (gUnknown_203ACF0->field_0C) + { + case -2: + gUnknown_203ACF0->field_01 = 1; + break; + case -1: + return; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + if (sub_81068A0(gUnknown_203ACF0->field_0C)) + { + RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60); + gUnknown_203ACF0->field_28 = gUnknown_203ACF0->field_0C; + BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA); + gUnknown_203ACF0->field_01 = 7; + } + break; + case 9: + case 14: + RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60); + gUnknown_203ACF0->field_42 = gUnknown_203ACF0->field_0C - 9; + BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA); + gUnknown_203ACF0->field_01 = 9; + break; + case 10: + case 11: + case 12: + case 13: + RemoveScrollIndicatorArrowPair(gUnknown_203ACF0->field_60); + gUnknown_203ACF0->field_42 = gUnknown_203ACF0->field_0C - 9; + gUnknown_203ACF0->field_38 = gUnknown_203ACF0->field_3A = 0; + BeginNormalPaletteFade(0xFFFF7FFF, 0, 0, 16, RGB_WHITEALPHA); + gUnknown_203ACF0->field_01 = 8; + break; + } + break; + } + if (JOY_NEW(B_BUTTON)) + { + gUnknown_203ACF0->field_01 = 1; + } + break; + case 7: + DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 32, 20); + CopyBgTilemapBufferToVram(1); + sub_81047B0(&gUnknown_203ACF0->field_14); + sub_81047B0(&gUnknown_203ACF0->field_15); + sub_81047B0(&gUnknown_203ACF0->field_16); + gUnknown_203ACF0->field_2B = 0; + gUnknown_203ACF0->field_2D = 0; + gUnknown_203ACF0->field_2F = 0; + gTasks[taskId].func = sub_8103AC8; + gUnknown_203ACF0->field_01 = 0; + break; + case 8: + DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10); + HideBg(1); + sub_81047B0(&gUnknown_203ACF0->field_14); + sub_81047B0(&gUnknown_203ACF0->field_15); + sub_81047B0(&gUnknown_203ACF0->field_16); + gTasks[taskId].func = sub_8103238; + gUnknown_203ACF0->field_01 = 0; + break; + case 9: + DestroyListMenuTask(gUnknown_203ACF0->field_17, &gUnknown_203ACF0->field_12, &gUnknown_203ACF0->field_10); + HideBg(1); + sub_81047B0(&gUnknown_203ACF0->field_14); + sub_81047B0(&gUnknown_203ACF0->field_15); + sub_81047B0(&gUnknown_203ACF0->field_16); + gTasks[taskId].func = sub_8102F80; + gUnknown_203ACF0->field_01 = 0; + break; + } +} +#else +NAKED +void sub_810287C(u8 taskId) +{ + asm_unified("\tpush {r4,r5,lr}\n" + "\tsub sp, 0x8\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tldr r1, _0810289C @ =gUnknown_203ACF0\n" + "\tldr r0, [r1]\n" + "\tldrb r0, [r0, 0x1]\n" + "\tadds r4, r1, 0\n" + "\tcmp r0, 0x9\n" + "\tbls _08102892\n" + "\tb _08102C18\n" + "_08102892:\n" + "\tlsls r0, 2\n" + "\tldr r1, _081028A0 @ =_081028A4\n" + "\tadds r0, r1\n" + "\tldr r0, [r0]\n" + "\tmov pc, r0\n" + "\t.align 2, 0\n" + "_0810289C: .4byte gUnknown_203ACF0\n" + "_081028A0: .4byte _081028A4\n" + "\t.align 2, 0\n" + "_081028A4:\n" + "\t.4byte _081028CC\n" + "\t.4byte _081028FC\n" + "\t.4byte _08102930\n" + "\t.4byte _08102940\n" + "\t.4byte _08102964\n" + "\t.4byte _081029D0\n" + "\t.4byte _08102A14\n" + "\t.4byte _08102B24\n" + "\t.4byte _08102B94\n" + "\t.4byte _08102BD8\n" + "_081028CC:\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0\n" + "\tstr r0, [r1, 0x8]\n" + "\tmovs r4, 0\n" + "_081028D4:\n" + "\tlsls r0, r4, 24\n" + "\tlsrs r0, 24\n" + "\tbl sub_81068A0\n" + "\tldr r1, _081028F8 @ =gUnknown_203ACF0\n" + "\tldr r2, [r1]\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tlsls r0, r4\n" + "\tldr r1, [r2, 0x8]\n" + "\torrs r1, r0\n" + "\tstr r1, [r2, 0x8]\n" + "\tadds r4, 0x1\n" + "\tcmp r4, 0x8\n" + "\tble _081028D4\n" + "\tmovs r0, 0x2\n" + "\tstrb r0, [r2, 0x1]\n" + "\tb _08102C18\n" + "\t.align 2, 0\n" + "_081028F8: .4byte gUnknown_203ACF0\n" + "_081028FC:\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x60\n" + "\tldrb r0, [r0]\n" + "\tbl RemoveScrollIndicatorArrowPair\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x14\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x15\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x16\n" + "\tbl sub_81047B0\n" + "\tldr r0, _0810292C @ =sub_8102858\n" + "\tbl SetMainCallback2\n" + "\tadds r0, r5, 0\n" + "\tbl DestroyTask\n" + "\tb _08102C18\n" + "\t.align 2, 0\n" + "_0810292C: .4byte sub_8102858\n" + "_08102930:\n" + "\tbl sub_8102C28\n" + "\tldr r0, _0810293C @ =gUnknown_203ACF0\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x3\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_0810293C: .4byte gUnknown_203ACF0\n" + "_08102940:\n" + "\tmovs r0, 0x3\n" + "\tbl CopyBgTilemapBufferToVram\n" + "\tmovs r0, 0x2\n" + "\tbl CopyBgTilemapBufferToVram\n" + "\tmovs r0, 0x1\n" + "\tbl CopyBgTilemapBufferToVram\n" + "\tmovs r0, 0\n" + "\tbl CopyBgTilemapBufferToVram\n" + "\tldr r0, _08102960 @ =gUnknown_203ACF0\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x4\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_08102960: .4byte gUnknown_203ACF0\n" + "_08102964:\n" + "\tmovs r0, 0x3\n" + "\tbl ShowBg\n" + "\tmovs r0, 0x2\n" + "\tbl ShowBg\n" + "\tmovs r0, 0x1\n" + "\tbl ShowBg\n" + "\tmovs r0, 0\n" + "\tbl ShowBg\n" + "\tldr r2, _081029A4 @ =gPaletteFade\n" + "\tldrb r1, [r2, 0x8]\n" + "\tmovs r0, 0x80\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _081029AC\n" + "\tmovs r0, 0x7F\n" + "\tands r0, r1\n" + "\tstrb r0, [r2, 0x8]\n" + "\tmovs r0, 0x1\n" + "\tnegs r0, r0\n" + "\tldr r1, _081029A8 @ =0x0000ffff\n" + "\tstr r1, [sp]\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0\n" + "\tbl BeginNormalPaletteFade\n" + "\tb _081029BC\n" + "\t.align 2, 0\n" + "_081029A4: .4byte gPaletteFade\n" + "_081029A8: .4byte 0x0000ffff\n" + "_081029AC:\n" + "\tldr r0, _081029C4 @ =0xffff7fff\n" + "\tldr r1, _081029C8 @ =0x0000ffff\n" + "\tstr r1, [sp]\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0x10\n" + "\tmovs r3, 0\n" + "\tbl BeginNormalPaletteFade\n" + "_081029BC:\n" + "\tldr r0, _081029CC @ =gUnknown_203ACF0\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x5\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_081029C4: .4byte 0xffff7fff\n" + "_081029C8: .4byte 0x0000ffff\n" + "_081029CC: .4byte gUnknown_203ACF0\n" + "_081029D0:\n" + "\tldr r4, _081029EC @ =gUnknown_203ACF0\n" + "\tldr r1, [r4]\n" + "\tldrb r0, [r1, 0x17]\n" + "\tadds r1, 0x62\n" + "\tmovs r2, 0\n" + "\tbl ListMenuGetScrollAndRow\n" + "\tbl IsNationalPokedexEnabled\n" + "\tcmp r0, 0\n" + "\tbeq _081029F4\n" + "\tldr r0, _081029F0 @ =gUnknown_84520E4\n" + "\tb _081029F6\n" + "\t.align 2, 0\n" + "_081029EC: .4byte gUnknown_203ACF0\n" + "_081029F0: .4byte gUnknown_84520E4\n" + "_081029F4:\n" + "\tldr r0, _08102A0C @ =gUnknown_84520D4\n" + "_081029F6:\n" + "\tldr r1, [r4]\n" + "\tadds r1, 0x62\n" + "\tbl AddScrollIndicatorArrowPair\n" + "\tldr r1, [r4]\n" + "\tadds r1, 0x60\n" + "\tstrb r0, [r1]\n" + "\tldr r0, _08102A10 @ =gUnknown_203ACF0\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x6\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_08102A0C: .4byte gUnknown_84520D4\n" + "_08102A10: .4byte gUnknown_203ACF0\n" + "_08102A14:\n" + "\tldr r0, [r4]\n" + "\tldrb r0, [r0, 0x17]\n" + "\tbl ListMenu_ProcessInput\n" + "\tldr r1, [r4]\n" + "\tstr r0, [r1, 0xC]\n" + "\tldrb r0, [r1, 0x17]\n" + "\tadds r1, 0x62\n" + "\tmovs r2, 0\n" + "\tbl ListMenuGetScrollAndRow\n" + "\tldr r0, _08102A4C @ =gMain\n" + "\tldrh r1, [r0, 0x2E]\n" + "\tmovs r3, 0x1\n" + "\tmovs r0, 0x1\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbeq _08102B14\n" + "\tldr r2, [r4]\n" + "\tldr r1, [r2, 0xC]\n" + "\tcmp r1, 0xD\n" + "\tbhi _08102A50\n" + "\tcmp r1, 0xA\n" + "\tbcs _08102ADC\n" + "\tcmp r1, 0x8\n" + "\tbls _08102A62\n" + "\tb _08102AA4\n" + "\t.align 2, 0\n" + "_08102A4C: .4byte gMain\n" + "_08102A50:\n" + "\tcmp r1, 0xE\n" + "\tbeq _08102AA4\n" + "\tmovs r0, 0x2\n" + "\tnegs r0, r0\n" + "\tcmp r1, r0\n" + "\tbeq _08102A5E\n" + "\tb _08102C18\n" + "_08102A5E:\n" + "\tstrb r3, [r2, 0x1]\n" + "\tb _08102C18\n" + "_08102A62:\n" + "\tlsls r0, r1, 24\n" + "\tlsrs r0, 24\n" + "\tbl sub_81068A0\n" + "\tlsls r0, 24\n" + "\tcmp r0, 0\n" + "\tbne _08102A72\n" + "\tb _08102C18\n" + "_08102A72:\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x60\n" + "\tldrb r0, [r0]\n" + "\tbl RemoveScrollIndicatorArrowPair\n" + "\tldr r0, [r4]\n" + "\tldr r1, [r0, 0xC]\n" + "\tadds r0, 0x28\n" + "\tstrb r1, [r0]\n" + "\tldr r0, _08102A9C @ =0xffff7fff\n" + "\tldr r1, _08102AA0 @ =0x0000ffff\n" + "\tstr r1, [sp]\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0x10\n" + "\tbl BeginNormalPaletteFade\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0x7\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_08102A9C: .4byte 0xffff7fff\n" + "_08102AA0: .4byte 0x0000ffff\n" + "_08102AA4:\n" + "\tldr r4, _08102AD0 @ =gUnknown_203ACF0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x60\n" + "\tldrb r0, [r0]\n" + "\tbl RemoveScrollIndicatorArrowPair\n" + "\tldr r1, [r4]\n" + "\tldr r0, [r1, 0xC]\n" + "\tsubs r0, 0x9\n" + "\tadds r1, 0x42\n" + "\tstrb r0, [r1]\n" + "\tldr r0, _08102AD4 @ =0xffff7fff\n" + "\tldr r1, _08102AD8 @ =0x0000ffff\n" + "\tstr r1, [sp]\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0x10\n" + "\tbl BeginNormalPaletteFade\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0x9\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_08102AD0: .4byte gUnknown_203ACF0\n" + "_08102AD4: .4byte 0xffff7fff\n" + "_08102AD8: .4byte 0x0000ffff\n" + "_08102ADC:\n" + "\tadds r0, r2, 0\n" + "\tadds r0, 0x60\n" + "\tldrb r0, [r0]\n" + "\tbl RemoveScrollIndicatorArrowPair\n" + "\tldr r0, [r4]\n" + "\tldr r1, [r0, 0xC]\n" + "\tsubs r1, 0x9\n" + "\tadds r0, 0x42\n" + "\tmovs r2, 0\n" + "\tstrb r1, [r0]\n" + "\tldr r0, [r4]\n" + "\tstrh r2, [r0, 0x3A]\n" + "\tstrh r2, [r0, 0x38]\n" + "\tldr r0, _08102B0C @ =0xffff7fff\n" + "\tldr r1, _08102B10 @ =0x0000ffff\n" + "\tstr r1, [sp]\n" + "\tmovs r1, 0\n" + "\tmovs r3, 0x10\n" + "\tbl BeginNormalPaletteFade\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0x8\n" + "\tb _08102C16\n" + "\t.align 2, 0\n" + "_08102B0C: .4byte 0xffff7fff\n" + "_08102B10: .4byte 0x0000ffff\n" + "_08102B14:\n" + "\tmovs r0, 0x2\n" + "\tands r0, r1\n" + "\tcmp r0, 0\n" + "\tbne _08102B1E\n" + "\tb _08102C18\n" + "_08102B1E:\n" + "\tldr r0, [r4]\n" + "\tstrb r3, [r0, 0x1]\n" + "\tb _08102C18\n" + "_08102B24:\n" + "\tldr r2, [r4]\n" + "\tldrb r0, [r2, 0x17]\n" + "\tadds r1, r2, 0\n" + "\tadds r1, 0x12\n" + "\tadds r2, 0x10\n" + "\tbl DestroyListMenuTask\n" + "\tmovs r0, 0x20\n" + "\tstr r0, [sp]\n" + "\tmovs r0, 0x14\n" + "\tstr r0, [sp, 0x4]\n" + "\tmovs r0, 0x1\n" + "\tmovs r1, 0\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0\n" + "\tbl FillBgTilemapBufferRect_Palette0\n" + "\tmovs r0, 0x1\n" + "\tbl CopyBgTilemapBufferToVram\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x14\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x15\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x16\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x2B\n" + "\tmovs r2, 0\n" + "\tstrb r2, [r0]\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x2D\n" + "\tstrb r2, [r0]\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x2F\n" + "\tstrb r2, [r0]\n" + "\tldr r1, _08102B8C @ =gTasks\n" + "\tlsls r0, r5, 2\n" + "\tadds r0, r5\n" + "\tlsls r0, 3\n" + "\tadds r0, r1\n" + "\tldr r1, _08102B90 @ =sub_8103AC8\n" + "\tstr r1, [r0]\n" + "\tldr r0, [r4]\n" + "\tstrb r2, [r0, 0x1]\n" + "\tb _08102C18\n" + "\t.align 2, 0\n" + "_08102B8C: .4byte gTasks\n" + "_08102B90: .4byte sub_8103AC8\n" + "_08102B94:\n" + "\tldr r2, [r4]\n" + "\tldrb r0, [r2, 0x17]\n" + "\tadds r1, r2, 0\n" + "\tadds r1, 0x12\n" + "\tadds r2, 0x10\n" + "\tbl DestroyListMenuTask\n" + "\tmovs r0, 0x1\n" + "\tbl HideBg\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x14\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x15\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x16\n" + "\tbl sub_81047B0\n" + "\tldr r1, _08102BD0 @ =gTasks\n" + "\tlsls r0, r5, 2\n" + "\tadds r0, r5\n" + "\tlsls r0, 3\n" + "\tadds r0, r1\n" + "\tldr r1, _08102BD4 @ =sub_8103238\n" + "\tb _08102C10\n" + "\t.align 2, 0\n" + "_08102BD0: .4byte gTasks\n" + "_08102BD4: .4byte sub_8103238\n" + "_08102BD8:\n" + "\tldr r2, [r4]\n" + "\tldrb r0, [r2, 0x17]\n" + "\tadds r1, r2, 0\n" + "\tadds r1, 0x12\n" + "\tadds r2, 0x10\n" + "\tbl DestroyListMenuTask\n" + "\tmovs r0, 0x1\n" + "\tbl HideBg\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x14\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x15\n" + "\tbl sub_81047B0\n" + "\tldr r0, [r4]\n" + "\tadds r0, 0x16\n" + "\tbl sub_81047B0\n" + "\tldr r1, _08102C20 @ =gTasks\n" + "\tlsls r0, r5, 2\n" + "\tadds r0, r5\n" + "\tlsls r0, 3\n" + "\tadds r0, r1\n" + "\tldr r1, _08102C24 @ =sub_8102F80\n" + "_08102C10:\n" + "\tstr r1, [r0]\n" + "\tldr r1, [r4]\n" + "\tmovs r0, 0\n" + "_08102C16:\n" + "\tstrb r0, [r1, 0x1]\n" + "_08102C18:\n" + "\tadd sp, 0x8\n" + "\tpop {r4,r5}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_08102C20: .4byte gTasks\n" + "_08102C24: .4byte sub_8102F80"); +} +#endif //NONMATCHING |