Nonmatching sub_810287C; annotate rodata

This commit is contained in:
PikalaxALT
2019-12-09 16:26:22 -05:00
parent 9d70b8a4d9
commit efb171875c
4 changed files with 1139 additions and 638 deletions
-577
View File
@@ -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}
+477 -59
View File
@@ -7,162 +7,580 @@
.align 2
gUnknown_843FAB0:: @ 843FAB0
.incbin "baserom.gba", 0x43FAB0, 0x674
.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
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
+1
View File
@@ -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
+661 -2
View File
@@ -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