Miscellaneous decomp/labeling/splitting (#29)

* lots of wonder mail work, credits and label some stuff

* nonmatch one intr func, match another, and label unused intr func

* seperate credits out

* split out debug menu and other stuff that isn't main menu

* label another func

* label some more funcs
This commit is contained in:
Seth Barberee 2021-02-27 10:16:45 -08:00 committed by GitHub
parent 7fa4f1a92b
commit d72e17b5f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 6600 additions and 6230 deletions

View File

@ -1262,10 +1262,10 @@ sub_8001064:
movs r0, 0x4
ldrsh r1, [r5, r0]
adds r0, r4, 0
bl sub_808D8BC
bl CopySpeciesNametoBuffer
mov r0, sp
adds r1, r4, 0
bl sub_80922F4
bl CopyStringtoBuffer
movs r1, 0x4
ldrsh r0, [r5, r1]
movs r1, 0x1
@ -1293,10 +1293,10 @@ _080010AE:
movs r0, 0x6
ldrsh r1, [r5, r0]
adds r0, r4, 0
bl sub_808D8BC
bl CopySpeciesNametoBuffer
mov r0, sp
adds r1, r4, 0
bl sub_80922F4
bl CopyStringtoBuffer
movs r1, 0x6
ldrsh r0, [r5, r1]
movs r1, 0

View File

@ -227,206 +227,4 @@ _0800B8BC:
bx r0
thumb_func_end sub_800B850
thumb_func_start nullsub_177
nullsub_177:
bx lr
thumb_func_end nullsub_177
thumb_func_start VBlankIntr
VBlankIntr:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
ldr r0, _0800B95C
ldr r1, [r0]
adds r1, 0x1
str r1, [r0]
bl SoundVSync
bl BlinkSavingIcon
ldr r0, _0800B960
ldr r0, [r0, 0x4]
cmp r0, 0
beq _0800B8EE
bl _call_via_r0
_0800B8EE:
movs r2, 0
ldr r3, _0800B964
movs r1, 0
ldrsh r0, [r3, r1]
adds r6, r3, 0
ldr r7, _0800B968
ldr r1, _0800B96C
mov r12, r1
ldr r1, _0800B970
mov r8, r1
ldr r1, _0800B974
mov r9, r1
ldr r1, _0800B978
mov r10, r1
cmp r2, r0
bge _0800B920
ldr r5, _0800B97C
ldr r4, _0800B980
_0800B912:
ldm r5!, {r0,r1}
stm r4!, {r0,r1}
adds r2, 0x1
movs r1, 0
ldrsh r0, [r3, r1]
cmp r2, r0
blt _0800B912
_0800B920:
ldrh r0, [r6]
strh r0, [r7]
movs r1, 0x1
negs r1, r1
adds r0, r1, 0
mov r1, r12
strh r0, [r1]
mov r1, r8
strh r0, [r1]
mov r1, r9
strh r0, [r1]
ldr r1, _0800B984
movs r0, 0x28
strh r0, [r1]
mov r1, r10
ldrb r0, [r1]
cmp r0, 0
bne _0800B948
bl UpdateSound
_0800B948:
movs r0, 0x1
bl SetInterruptFlag
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0800B95C: .4byte gUnknown_203B0A0
_0800B960: .4byte gUnknown_202D5F0
_0800B964: .4byte gUnknown_203B0AA
_0800B968: .4byte gUnknown_203B0AC
_0800B96C: .4byte gUnknown_203B0AE
_0800B970: .4byte gUnknown_203B0B0
_0800B974: .4byte gUnknown_203B0B2
_0800B978: .4byte gUnknown_203B099
_0800B97C: .4byte gUnknown_202D608
_0800B980: .4byte gUnknown_202D648
_0800B984: .4byte 0x04000004
thumb_func_end VBlankIntr
thumb_func_start VCountIntr
VCountIntr:
push {r4-r7,lr}
mov r7, r8
push {r7}
ldr r0, _0800BA44
ldrh r0, [r0]
lsls r0, 16
asrs r6, r0, 16
ldr r0, _0800BA48
movs r2, 0
ldrsh r1, [r0, r2]
adds r7, r0, 0
cmp r1, 0
bge _0800B9B2
ldr r0, _0800BA4C
ldr r0, [r0, 0x8]
cmp r0, 0
beq _0800B9AE
bl _call_via_r0
_0800B9AE:
movs r0, 0
strh r0, [r7]
_0800B9B2:
ldr r0, _0800BA50
movs r3, 0
ldrsh r2, [r7, r3]
movs r3, 0
ldrsh r1, [r0, r3]
mov r8, r0
cmp r2, r1
bge _0800BA34
ldr r1, _0800BA54
adds r0, r2, 0
lsls r0, 3
adds r0, r1
movs r3, 0x2
ldrsh r0, [r0, r3]
cmp r0, r6
bgt _0800BA10
adds r5, r1, 0
adds r4, r7, 0
_0800B9D6:
movs r1, 0
ldrsh r0, [r4, r1]
lsls r0, 3
adds r1, r5, 0x4
adds r0, r1
ldr r0, [r0]
cmp r0, 0
beq _0800B9EA
bl _call_via_r0
_0800B9EA:
ldrh r0, [r4]
adds r0, 0x1
strh r0, [r4]
ldr r1, _0800BA50
lsls r0, 16
asrs r0, 16
movs r2, 0
ldrsh r1, [r1, r2]
cmp r0, r1
bge _0800BA34
movs r3, 0
ldrsh r0, [r4, r3]
lsls r0, 3
adds r0, r5
movs r1, 0x2
ldrsh r0, [r0, r1]
ldr r7, _0800BA48
cmp r0, r6
ble _0800B9D6
_0800BA10:
movs r2, 0
ldrsh r1, [r7, r2]
mov r3, r8
movs r2, 0
ldrsh r0, [r3, r2]
cmp r1, r0
bge _0800BA34
ldr r2, _0800BA58
ldr r1, _0800BA54
movs r3, 0
ldrsh r0, [r7, r3]
lsls r0, 3
adds r0, r1
ldrh r0, [r0, 0x2]
lsls r0, 8
movs r1, 0x28
orrs r0, r1
strh r0, [r2]
_0800BA34:
movs r0, 0x4
bl SetInterruptFlag
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0800BA44: .4byte 0x04000006
_0800BA48: .4byte gUnknown_203B0AE
_0800BA4C: .4byte gUnknown_202D5F0
_0800BA50: .4byte gUnknown_203B0AC
_0800BA54: .4byte gUnknown_202D648
_0800BA58: .4byte 0x04000004
thumb_func_end VCountIntr
.align 2, 0 @ Don't pad with nop.

View File

@ -7726,7 +7726,7 @@ _08010BD0:
pop {r0}
bx r0
.align 2, 0
_08010C08: .4byte gUnknown_202DF98
_08010C08: .4byte gAvailablePokemonNames
_08010C0C: .4byte gUnknown_80D4074
thumb_func_end sub_8010B74

View File

@ -55,7 +55,7 @@ _08012C18:
adds r0, 0x30
lsls r0, 24
lsrs r0, 24
bl sub_8092288
bl ReturnIntFromChar2
adds r4, r0, 0
bl GetCharacter
movs r1, 0x6
@ -97,7 +97,7 @@ sub_8012C60:
adds r7, r3, 0
lsls r0, 24
lsrs r0, 24
bl sub_8092288
bl ReturnIntFromChar2
adds r4, r0, 0
bl GetCharacter
adds r1, r0, 0
@ -6745,7 +6745,7 @@ _08015F96:
_08015FBC: .4byte gUnknown_203B1FC
_08015FC0:
ldrb r0, [r2]
bl sub_8092288
bl ReturnIntFromChar2
bl GetCharacter
ldr r3, [r7]
adds r1, r3, 0
@ -6781,7 +6781,7 @@ sub_8015FEC:
adds r4, r2, 0
_08016002:
ldrb r0, [r4]
bl sub_8092288
bl ReturnIntFromChar2
bl GetCharacter
movs r1, 0x6
ldrsh r0, [r0, r1]
@ -6971,7 +6971,7 @@ _08016140:
bl sub_80922B4
b _08016166
.align 2, 0
_08016158: .4byte gUnknown_202DF98
_08016158: .4byte gAvailablePokemonNames
_0801615C:
ldr r0, _08016188
ldr r1, [r1, 0x8]
@ -6995,7 +6995,7 @@ _08016166:
bl sub_8014248
b _080161B8
.align 2, 0
_08016188: .4byte gUnknown_202DF98
_08016188: .4byte gAvailablePokemonNames
_0801618C: .4byte gUnknown_80DB688
_08016190: .4byte gUnknown_203B200
_08016194:
@ -7208,7 +7208,7 @@ DisplayPersianDialogueSprite:
movs r1, 0x35
bl sub_808D8E0
movs r0, 0x35
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@ -8428,7 +8428,7 @@ DisplayKangaskhanDialogueSprite:
movs r1, 0x73
bl sub_808D8E0
movs r0, 0x73
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@ -12242,7 +12242,7 @@ _08018B50:
adds r1, r5, 0
bl sub_808D8E0
adds r0, r5, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@ -12266,7 +12266,7 @@ _08018B80:
adds r1, r5, 0
bl sub_808D8E0
adds r0, r5, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@ -17005,7 +17005,7 @@ _0801B1D2:
.align 2, 0
_0801B1F4: .4byte gUnknown_203B22C
_0801B1F8: .4byte gUnknown_203B45C
_0801B1FC: .4byte gUnknown_202DF98
_0801B1FC: .4byte gAvailablePokemonNames
thumb_func_end sub_801B178
thumb_func_start sub_801B200
@ -17423,7 +17423,7 @@ _0801B50C:
pop {r0}
bx r0
.align 2, 0
_0801B514: .4byte gUnknown_202DF98
_0801B514: .4byte gAvailablePokemonNames
_0801B518: .4byte gUnknown_80DBA4C
thumb_func_end sub_801B480
@ -17622,7 +17622,7 @@ _0801B65E:
bx r1
.align 2, 0
_0801B6A0: .4byte gUnknown_203B234
_0801B6A4: .4byte gUnknown_202DF98
_0801B6A4: .4byte gAvailablePokemonNames
_0801B6A8: .4byte gUnknown_202DE58
thumb_func_end sub_801B60C
@ -19776,7 +19776,7 @@ _0801C7C4:
pop {r0}
bx r0
.align 2, 0
_0801C7CC: .4byte gUnknown_202DF98
_0801C7CC: .4byte gAvailablePokemonNames
_0801C7D0: .4byte gUnknown_80DBE30
thumb_func_end sub_801C6E4
@ -21359,7 +21359,7 @@ _0801D400:
bl sub_8012D60
b _0801D4B6
.align 2, 0
_0801D434: .4byte gUnknown_202DF98
_0801D434: .4byte gAvailablePokemonNames
_0801D438:
bl sub_801D894
ldr r2, [r6]
@ -21618,7 +21618,7 @@ _0801D622:
str r0, [r1, 0x14]
b _0801D67A
.align 2, 0
_0801D63C: .4byte gUnknown_202DF98
_0801D63C: .4byte gAvailablePokemonNames
_0801D640: .4byte gUnknown_80DBF34
_0801D644: .4byte gUnknown_80D49A8
_0801D648: .4byte gMenuItems

View File

@ -58,7 +58,7 @@ _0801D8B2:
bl sub_8092178
lsls r0, 24
lsrs r0, 24
bl sub_80921A8
bl GetTeamRankString
adds r4, r0, 0
bl sub_8092110
adds r3, r0, 0
@ -2342,7 +2342,7 @@ _0801EACA:
beq _0801EB68
b _0801EBB8
.align 2, 0
_0801EAF8: .4byte gUnknown_202DF98
_0801EAF8: .4byte gAvailablePokemonNames
_0801EAFC: .4byte gUnknown_203B26C
_0801EB00:
ldrb r4, [r2, 0xE]
@ -3378,7 +3378,7 @@ _0801F2E0:
b _0801F31A
.align 2, 0
_0801F30C: .4byte gUnknown_203B270
_0801F310: .4byte gUnknown_202DF98
_0801F310: .4byte gAvailablePokemonNames
_0801F314: .4byte gUnknown_80DC28C
_0801F318:
movs r0, 0x4
@ -4302,7 +4302,7 @@ _0801FA48:
pop {r0}
bx r0
.align 2, 0
_0801FA50: .4byte gUnknown_202DF98
_0801FA50: .4byte gAvailablePokemonNames
_0801FA54: .4byte gUnknown_80DC310
thumb_func_end sub_801F9A4
@ -4465,7 +4465,7 @@ sub_801FB50:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r0, r5, 0
subs r0, 0x50
@ -5374,7 +5374,7 @@ _08020304:
ldr r2, [r2]
b _0802052C
.align 2, 0
_0802033C: .4byte gUnknown_202DF98
_0802033C: .4byte gAvailablePokemonNames
_08020340: .4byte gGulpinDialogue
_08020344:
ldr r1, [r5]
@ -8492,7 +8492,7 @@ sub_8021B9C:
movs r1, 0x28
bl sub_808D8E0
movs r0, 0x28
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@ -9237,7 +9237,7 @@ _080221FA:
ldr r0, [r4]
movs r1, 0x12
ldrsh r0, [r0, r1]
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
ldr r0, _0802222C
bl strcpy
@ -9256,7 +9256,7 @@ _080221FA:
b _0802227A
.align 2, 0
_08022228: .4byte gUnknown_203B290
_0802222C: .4byte gUnknown_202DF98
_0802222C: .4byte gAvailablePokemonNames
_08022230: .4byte gUnknown_202E628
_08022234: .4byte gWigglytuffDialogue
_08022238:
@ -10024,7 +10024,7 @@ sub_80227B8:
b _08022856
.align 2, 0
_08022810: .4byte gUnknown_203B294
_08022814: .4byte gUnknown_202DF98
_08022814: .4byte gAvailablePokemonNames
_08022818:
movs r0, 0x11
bl sub_8022924
@ -10046,7 +10046,7 @@ _08022820:
bl sub_8022924
b _08022856
.align 2, 0
_08022848: .4byte gUnknown_202DF98
_08022848: .4byte gAvailablePokemonNames
_0802284C: .4byte gUnknown_80DC5EC
_08022850:
movs r0, 0
@ -14487,7 +14487,7 @@ _08024B74:
ldr r0, [r0, 0xC]
movs r1, 0x8
ldrsh r0, [r0, r1]
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
ldr r4, _08024C10
adds r0, r4, 0
@ -14495,7 +14495,7 @@ _08024B74:
ldr r0, [r5]
movs r2, 0xA
ldrsh r0, [r0, r2]
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r4, 0x50
adds r0, r4, 0
@ -14538,11 +14538,11 @@ _08024BD6:
adds r4, 0x4C
movs r1, 0x8
ldrsh r0, [r0, r1]
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
_08024C06:
ldr r1, [r5]
movs r0, 0x3
@ -14550,7 +14550,7 @@ _08024C06:
ldr r0, _08024C18
b _08024CAE
.align 2, 0
_08024C10: .4byte gUnknown_202DF98
_08024C10: .4byte gAvailablePokemonNames
_08024C14: .4byte 0x000001ff
_08024C18: .4byte gUnknown_80DCEB0
_08024C1C:
@ -14647,11 +14647,11 @@ _08024CC8:
adds r4, 0x4C
movs r2, 0x8
ldrsh r0, [r0, r2]
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
_08024CE8:
ldr r0, [r5]
ldr r1, [r0, 0xC]
@ -15833,7 +15833,7 @@ _080255D2:
ldr r2, [r2, 0x70]
b _08025654
.align 2, 0
_08025608: .4byte gUnknown_202DF98
_08025608: .4byte gAvailablePokemonNames
_0802560C:
ldr r0, [r5]
movs r1, 0xE
@ -17382,7 +17382,7 @@ _0802625C:
b _0802633E
.align 2, 0
_080262A0: .4byte gUnknown_203B2B8
_080262A4: .4byte gUnknown_202DF98
_080262A4: .4byte gAvailablePokemonNames
_080262A8:
movs r0, 0x3
bl sub_8026E08
@ -17410,7 +17410,7 @@ _080262A8:
b _080264BA
.align 2, 0
_080262E4: .4byte gUnknown_203B2B8
_080262E8: .4byte gUnknown_202DF98
_080262E8: .4byte gAvailablePokemonNames
_080262EC:
ldr r0, [r4]
movs r1, 0xA
@ -18851,7 +18851,7 @@ sub_8026E08:
pop {r0}
bx r0
.align 2, 0
_08026E78: .4byte gUnknown_202DF98
_08026E78: .4byte gAvailablePokemonNames
_08026E7C: .4byte gUnknown_203B2B8
_08026E80: .4byte gUnknown_80DD6E0
_08026E84: .4byte gUnknown_80DD370

View File

@ -426,7 +426,7 @@ sub_8027F88:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
ldr r0, _08028064
bl strcpy
@ -487,7 +487,7 @@ _08028054: .4byte 0x0000053c
_08028058: .4byte 0x00000544
_0802805C: .4byte 0x0000ffff
_08028060: .4byte gUnknown_202E5D8
_08028064: .4byte gUnknown_202DF98
_08028064: .4byte gAvailablePokemonNames
_08028068: .4byte 0x0000042c
_0802806C: .4byte 0x0000042d
_08028070: .4byte 0x0000042e

2159
asm/code_803B050.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -735,7 +735,7 @@ _080427FA:
.align 2, 0
_08042808: .4byte gUnknown_203B418
_0804280C: .4byte 0x000135cc
_08042810: .4byte gUnknown_202DF98
_08042810: .4byte gAvailablePokemonNames
_08042814: .4byte gPtrFeralFoundItemMessage
thumb_func_end sub_80427AC

View File

@ -2496,7 +2496,7 @@ _08043F20:
b _08043FAC
.align 2, 0
_08043F2C: .4byte gUnknown_203B418
_08043F30: .4byte gUnknown_202DF98
_08043F30: .4byte gAvailablePokemonNames
_08043F34: .4byte 0x000005f4
_08043F38: .4byte gUnknown_80F89B4
_08043F3C: .4byte 0x0000021f
@ -2519,7 +2519,7 @@ _08043F40:
ldr r0, _08043F70
b _08043F9A
.align 2, 0
_08043F68: .4byte gUnknown_202DF98
_08043F68: .4byte gAvailablePokemonNames
_08043F6C: .4byte 0x000005f4
_08043F70: .4byte gUnknown_80F89D4
_08043F74:
@ -2560,7 +2560,7 @@ _08043FB8:
pop {r1}
bx r1
.align 2, 0
_08043FC0: .4byte gUnknown_202DF98
_08043FC0: .4byte gAvailablePokemonNames
_08043FC4: .4byte 0x000005f4
_08043FC8: .4byte gUnknown_80F89D8
_08043FCC: .4byte 0x00000222
@ -6627,7 +6627,7 @@ _08045E1E:
b _08046048
.align 2, 0
_08045E34: .4byte gUnknown_202DE58
_08045E38: .4byte gUnknown_202DF98
_08045E38: .4byte gAvailablePokemonNames
_08045E3C: .4byte gUnknown_80F8F88
_08045E40:
ldrb r0, [r5, 0x2]
@ -6897,7 +6897,7 @@ _08046048:
b _080460E0
.align 2, 0
_08046054: .4byte gUnknown_202DE58
_08046058: .4byte gUnknown_202DF98
_08046058: .4byte gAvailablePokemonNames
_0804605C: .4byte gUnknown_80F8F54
_08046060:
movs r0, 0xA5
@ -6939,7 +6939,7 @@ _080460AC:
bl sub_80522A8
b _080460DA
.align 2, 0
_080460B8: .4byte gUnknown_202DF98
_080460B8: .4byte gAvailablePokemonNames
_080460BC: .4byte gUnknown_80F8FAC
_080460C0:
ldr r0, _080460F0
@ -8755,7 +8755,7 @@ _08046EE4: .4byte gUnknown_203B418
_08046EE8: .4byte 0x0001356c
_08046EEC: .4byte gUnknown_810531C
_08046EF0: .4byte gUnknown_8105360
_08046EF4: .4byte gUnknown_202DF98
_08046EF4: .4byte gAvailablePokemonNames
_08046EF8: .4byte gUnknown_81053A8
_08046EFC: .4byte gUnknown_8105434
thumb_func_end sub_8046D8C
@ -9516,7 +9516,7 @@ _080474A6:
_080474B8: .4byte 0x00000195
_080474BC: .4byte gUnknown_203B418
_080474C0: .4byte 0x0001c05e
_080474C4: .4byte gUnknown_202DF98
_080474C4: .4byte gAvailablePokemonNames
_080474C8: .4byte gUnknown_202DE58
_080474CC: .4byte gUnknown_80F94C4
_080474D0:
@ -9548,7 +9548,7 @@ _080474E2:
bl sub_80522F4
b _08047524
.align 2, 0
_0804750C: .4byte gUnknown_202DF98
_0804750C: .4byte gAvailablePokemonNames
_08047510: .4byte gUnknown_202DE58
_08047514: .4byte gUnknown_80F94D8
_08047518:
@ -10023,7 +10023,7 @@ _080478B8:
.align 2, 0
_080478CC: .4byte 0xffffff00
_080478D0: .4byte gUnknown_202DE58
_080478D4: .4byte gUnknown_202DF98
_080478D4: .4byte gAvailablePokemonNames
_080478D8: .4byte gUnknown_80F94C4
_080478DC:
cmp r7, 0
@ -10257,7 +10257,7 @@ _08047A76:
.align 2, 0
_08047AAC: .4byte 0x0000014d
_08047AB0: .4byte gUnknown_202DE58
_08047AB4: .4byte gUnknown_202DF98
_08047AB4: .4byte gAvailablePokemonNames
_08047AB8: .4byte gUnknown_80FDBB8
_08047ABC:
cmp r6, 0

View File

@ -35,7 +35,7 @@ _08048542:
ldr r0, _08048564
b _08048586
.align 2, 0
_08048560: .4byte gUnknown_202DF98
_08048560: .4byte gAvailablePokemonNames
_08048564: .4byte gPtrSelfHealPreventedHungerMessage
_08048568:
movs r0, 0x9E
@ -1111,7 +1111,7 @@ _08048D9A:
movs r0, 0
b _08048DB2
.align 2, 0
_08048DA8: .4byte gUnknown_202DF98
_08048DA8: .4byte gAvailablePokemonNames
_08048DAC: .4byte gUnknown_80FDCA4
_08048DB0:
movs r0, 0x1

File diff suppressed because it is too large Load Diff

View File

@ -1518,11 +1518,11 @@ sub_808F734:
add r4, sp, 0x4C
ldr r5, _0808F794
adds r0, r5, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
mov r0, sp
adds r1, r5, 0
bl sub_808F798
@ -1586,10 +1586,10 @@ _0808F7DA:
_0808F7EA:
add r4, sp, 0x64
adds r0, r6, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
bl sub_80922F4
bl CopyStringtoBuffer
movs r2, 0
b _0808F800
_0808F7FE:
@ -1612,11 +1612,11 @@ _0808F816:
beq _0808F82E
add r4, sp, 0x4C
adds r0, r5, 0
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
_0808F82E:
mov r0, sp
bl sub_808D1DC
@ -1664,7 +1664,7 @@ _0808F874:
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0808F880: .4byte gUnknown_202DF98
_0808F880: .4byte gAvailablePokemonNames
_0808F884: .4byte _0808F888
.align 2, 0
_0808F888:
@ -1976,7 +1976,7 @@ _0808FB28: .4byte gUnknown_810DE58
_0808FB2C: .4byte gUnknown_810DE6C
_0808FB30: .4byte gUnknown_202DE30
_0808FB34: .4byte gUnknown_8115718
_0808FB38: .4byte gUnknown_202DF98
_0808FB38: .4byte gAvailablePokemonNames
_0808FB3C: .4byte gUnknown_810DE80
_0808FB40: .4byte gUnknown_810DE98
_0808FB44:
@ -2289,7 +2289,7 @@ _0808FDB0:
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r6, 0
bl sub_808D8BC
bl CopySpeciesNametoBuffer
ldr r1, _0808FEF4
mov r2, r10
movs r3, 0
@ -2419,7 +2419,7 @@ _0808FED6:
bx r0
.align 2, 0
_0808FEEC: .4byte gUnknown_8107798
_0808FEF0: .4byte gUnknown_202DF98
_0808FEF0: .4byte gAvailablePokemonNames
_0808FEF4: .4byte gUnknown_202DE30
_0808FEF8: .4byte gUnknown_810DEB4
_0808FEFC: .4byte gUnknown_202DE58

View File

@ -442,7 +442,7 @@ _0809048E:
b _080904BA
.align 2, 0
_080904AC: .4byte gUnknown_8115ADC
_080904B0: .4byte gUnknown_202DF98
_080904B0: .4byte gAvailablePokemonNames
_080904B4: .4byte gUnknown_8115B3C
_080904B8:
ldr r0, _08090528
@ -4302,7 +4302,7 @@ sub_8092094:
ldr r0, [r4]
ldr r1, _080920B4
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
ldr r1, [r4]
movs r0, 0
str r0, [r1, 0xC]
@ -4467,8 +4467,8 @@ _080921A2:
bx r1
thumb_func_end sub_8092178
thumb_func_start sub_80921A8
sub_80921A8:
thumb_func_start GetTeamRankString
GetTeamRankString:
lsls r0, 24
ldr r1, _080921B4
lsrs r0, 22
@ -4477,7 +4477,7 @@ sub_80921A8:
bx lr
.align 2, 0
_080921B4: .4byte gRescueTeamRanks
thumb_func_end sub_80921A8
thumb_func_end GetTeamRankString
thumb_func_start sub_80921B8
sub_80921B8:
@ -4580,19 +4580,19 @@ sub_809222C:
_0809227C: .4byte gUnknown_203B464
thumb_func_end sub_809222C
thumb_func_start sub_8092280
sub_8092280:
thumb_func_start ReturnIntFromChar
ReturnIntFromChar:
lsls r0, 24
lsrs r0, 24
bx lr
thumb_func_end sub_8092280
thumb_func_end ReturnIntFromChar
thumb_func_start sub_8092288
sub_8092288:
thumb_func_start ReturnIntFromChar2
ReturnIntFromChar2:
lsls r0, 24
lsrs r0, 24
bx lr
thumb_func_end sub_8092288
thumb_func_end ReturnIntFromChar2
thumb_func_start sub_8092290
sub_8092290:
@ -4603,7 +4603,7 @@ sub_8092290:
_08092298:
ldrb r0, [r4]
adds r4, 0x1
bl sub_8092288
bl ReturnIntFromChar2
strb r0, [r5]
adds r5, 0x1
_080922A4:
@ -4627,7 +4627,7 @@ sub_80922B4:
_080922BE:
ldrb r0, [r4]
adds r4, 0x1
bl sub_8092288
bl ReturnIntFromChar2
strb r0, [r6]
adds r6, 0x1
_080922CA:
@ -4657,8 +4657,8 @@ sub_80922E4:
_080922F0: .4byte gUnknown_810983C
thumb_func_end sub_80922E4
thumb_func_start sub_80922F4
sub_80922F4:
thumb_func_start CopyStringtoBuffer
CopyStringtoBuffer:
push {lr}
adds r2, r0, 0
b _08092300
@ -4674,10 +4674,10 @@ _08092300:
strb r0, [r2]
pop {r0}
bx r0
thumb_func_end sub_80922F4
thumb_func_end CopyStringtoBuffer
thumb_func_start sub_8092310
sub_8092310:
thumb_func_start BoundedCopyStringtoBuffer
BoundedCopyStringtoBuffer:
push {r4,lr}
adds r4, r0, 0
b _0809231C
@ -4699,6 +4699,6 @@ _0809232E:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8092310
thumb_func_end BoundedCopyStringtoBuffer
.align 2, 0 @ Don't pad with nop.

View File

@ -3215,7 +3215,7 @@ _08093E3A:
bx r1
.align 2, 0
_08093E80: .4byte 0xfffffcdc
_08093E84: .4byte gUnknown_202DF98
_08093E84: .4byte gAvailablePokemonNames
_08093E88: .4byte gUnknown_8109930
_08093E8C: .4byte gMovesData
thumb_func_end sub_8093DE8
@ -3271,7 +3271,7 @@ sub_8093E90:
pop {r0}
bx r0
.align 2, 0
_08093F00: .4byte gUnknown_202DF98
_08093F00: .4byte gAvailablePokemonNames
_08093F04: .4byte gUnknown_810CF00
_08093F08: .4byte gUnknown_810CF0C
_08093F0C: .4byte gUnknown_202DE30
@ -4227,7 +4227,7 @@ sub_8094558:
bl xxx_format_string
b _080945EA
.align 2, 0
_080945D0: .4byte gUnknown_202DF98
_080945D0: .4byte gAvailablePokemonNames
_080945D4: .4byte gUnknown_8113850
_080945D8: .4byte gUnknown_8113868
_080945DC:

View File

@ -512,7 +512,7 @@ sub_809542C:
ldr r0, [r4]
adds r0, 0x14
mov r1, sp
bl sub_80922F4
bl CopyStringtoBuffer
bl sub_8011C34
ldr r1, [r4]
str r0, [r1, 0x24]

View File

@ -190,7 +190,7 @@ _0809913E:
adds r0, r4, 0
mov r1, sp
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
add r5, sp, 0x30
str r4, [sp, 0x58]
add r1, sp, 0x5C
@ -3246,7 +3246,7 @@ _0809A89A:
_0809A8A0: .4byte gUnknown_3001B64
_0809A8A4: .4byte 0x0000043c
_0809A8A8: .4byte 0x0000ffff
_0809A8AC: .4byte gUnknown_202DF98
_0809A8AC: .4byte gAvailablePokemonNames
_0809A8B0: .4byte gUnknown_811615C
_0809A8B4: .4byte gPlayerName
thumb_func_end sub_809A83C
@ -3535,7 +3535,7 @@ _0809AAE6:
movs r0, 0x1
b _0809AB3C
.align 2, 0
_0809AB28: .4byte gUnknown_202DF98
_0809AB28: .4byte gAvailablePokemonNames
_0809AB2C: .4byte gUnknown_811616C
_0809AB30: .4byte gPlayerName
_0809AB34:
@ -3598,7 +3598,7 @@ _0809ABA0:
pop {r1}
bx r1
.align 2, 0
_0809ABA8: .4byte gUnknown_202DF98
_0809ABA8: .4byte gAvailablePokemonNames
_0809ABAC: .4byte gPlayerName
_0809ABB0: .4byte gUnknown_811617C
thumb_func_end sub_809AB4C
@ -3649,7 +3649,7 @@ _0809AC0A:
pop {r1}
bx r1
.align 2, 0
_0809AC10: .4byte gUnknown_202DF98
_0809AC10: .4byte gAvailablePokemonNames
_0809AC14: .4byte gPlayerName
thumb_func_end sub_809ABB4
@ -3699,7 +3699,7 @@ _0809AC6E:
pop {r1}
bx r1
.align 2, 0
_0809AC74: .4byte gUnknown_202DF98
_0809AC74: .4byte gAvailablePokemonNames
_0809AC78: .4byte gPlayerName
thumb_func_end sub_809AC18
@ -6555,7 +6555,7 @@ _0809C32A:
lsls r2, 3
adds r1, r2
ldr r1, [r1]
bl sub_8035444
bl DrawCredits
lsls r0, 24
cmp r0, 0
beq _0809C35C

View File

@ -2505,7 +2505,7 @@ _0809E718:
cmp r1, r3
bge _0809E718
adds r1, r4, 0
bl sub_80922F4
bl CopyStringtoBuffer
movs r2, 0
ldrb r0, [r4]
ldrb r3, [r5]
@ -9018,13 +9018,13 @@ _080A1EE8:
lsls r5, 24
lsrs r5, 24
adds r0, r4, 0
bl sub_80921A8
bl GetTeamRankString
adds r1, r0, 0
ldr r4, _080A1F30
adds r0, r4, 0
bl strcpy
adds r0, r5, 0
bl sub_80921A8
bl GetTeamRankString
adds r1, r0, 0
adds r4, 0x50
adds r0, r4, 0

View File

@ -3103,7 +3103,7 @@ _080A8F30:
ldrsh r1, [r0, r2]
_080A8F34:
adds r0, r4, 0
bl sub_808D8BC
bl CopySpeciesNametoBuffer
b _080A8F44
_080A8F3C:
ldr r1, _080A8F4C
@ -3131,7 +3131,7 @@ sub_80A8F50:
adds r0, r4, 0
mov r1, sp
adds r2, r5, 0
bl sub_8092310
bl BoundedCopyStringtoBuffer
add sp, 0x80
pop {r4,r5}
pop {r0}

View File

@ -5,8 +5,8 @@
.text
thumb_func_start sub_8035444
sub_8035444:
thumb_func_start DrawCredits
DrawCredits:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -157,8 +157,8 @@ _08035542:
pop {r1}
bx r1
.align 2, 0
_08035570: .4byte gCreditsText
thumb_func_end sub_8035444
_08035570: .4byte gUnknown_80E4A40
thumb_func_end DrawCredits
thumb_func_start sub_8035574
sub_8035574:
@ -201,7 +201,7 @@ _080355A8:
b _08035654
.align 2, 0
_080355C8: .4byte gUnknown_203B340
_080355CC: .4byte gCreditsText
_080355CC: .4byte gUnknown_80E4A40
_080355D0:
bl sub_8099B94
lsls r0, 24
@ -233,7 +233,7 @@ _08035600:
str r0, [r1, 0x64]
b _08035654
.align 2, 0
_0803560C: .4byte gCreditsText
_0803560C: .4byte gUnknown_80E4A40
_08035610:
bl sub_8099B94
lsls r0, 24
@ -262,7 +262,7 @@ _08035638:
movs r0, 0x3
b _08035656
.align 2, 0
_08035650: .4byte gCreditsText
_08035650: .4byte gUnknown_80E4A40
_08035654:
movs r0, 0
_08035656:
@ -271,163 +271,4 @@ _08035656:
bx r1
thumb_func_end sub_8035574
thumb_func_start sub_803565C
sub_803565C:
push {r4,lr}
ldr r4, _08035674
ldr r0, [r4]
cmp r0, 0
beq _0803566E
bl MemoryFree
movs r0, 0
str r0, [r4]
_0803566E:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08035674: .4byte gUnknown_203B340
thumb_func_end sub_803565C
thumb_func_start sub_8035678
sub_8035678:
push {r4,lr}
ldr r4, _0803569C
movs r0, 0x8
movs r1, 0x8
bl MemoryAlloc
str r0, [r4]
movs r1, 0
str r1, [r0]
str r1, [r0, 0x4]
movs r0, 0
movs r1, 0x39
bl sub_80015C0
movs r0, 0x1
pop {r4}
pop {r1}
bx r1
.align 2, 0
_0803569C: .4byte gUnknown_203B344
thumb_func_end sub_8035678
thumb_func_start sub_80356A0
sub_80356A0:
push {r4,lr}
ldr r0, _080356C4
ldrh r4, [r0]
ldr r3, _080356C8
ldr r2, _080356CC
ldr r1, [r2]
ldr r0, [r1, 0x4]
lsls r0, 1
adds r0, r3
ldrh r3, [r0]
ldr r0, [r1]
cmp r0, 0x4
bhi _08035734
lsls r0, 2
ldr r1, _080356D0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080356C4: .4byte gRealInputs
_080356C8: .4byte gUnknown_80E5990
_080356CC: .4byte gUnknown_203B344
_080356D0: .4byte _080356D4
.align 2, 0
_080356D4:
.4byte _08035728
.4byte _080356E8
.4byte _08035710
.4byte _0803574C
.4byte _08035730
_080356E8:
cmp r3, 0
bne _080356F4
ldr r1, [r2]
movs r0, 0x4
str r0, [r1]
b _08035734
_080356F4:
cmp r4, r3
bne _08035700
ldr r1, [r2]
movs r0, 0x2
str r0, [r1]
b _08035734
_08035700:
ands r3, r4
cmp r3, r4
bne _08035728
ldr r1, [r2]
ldr r0, [r1, 0x4]
cmp r0, 0
bne _08035734
b _0803572A
_08035710:
cmp r4, 0
bne _08035722
ldr r1, [r2]
movs r0, 0x1
str r0, [r1]
ldr r0, [r1, 0x4]
adds r0, 0x1
str r0, [r1, 0x4]
b _08035734
_08035722:
ands r3, r4
cmp r3, r4
beq _08035734
_08035728:
ldr r1, [r2]
_0803572A:
movs r0, 0x3
str r0, [r1]
b _08035734
_08035730:
movs r0, 0x3
b _0803574E
_08035734:
movs r0, 0
movs r1, 0x39
bl sub_8001658
cmp r0, 0
bne _08035744
movs r0, 0
b _0803574E
_08035744:
ldr r0, _08035754
ldr r1, [r0]
movs r0, 0x3
str r0, [r1]
_0803574C:
movs r0, 0x2
_0803574E:
pop {r4}
pop {r1}
bx r1
.align 2, 0
_08035754: .4byte gUnknown_203B344
thumb_func_end sub_80356A0
thumb_func_start sub_8035758
sub_8035758:
push {r4,lr}
ldr r4, _08035770
ldr r0, [r4]
cmp r0, 0
beq _0803576A
bl MemoryFree
movs r0, 0
str r0, [r4]
_0803576A:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08035770: .4byte gUnknown_203B344
thumb_func_end sub_8035758
.align 2,0

1844
asm/debug_menu.s Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -72,7 +72,7 @@ _0803CF68:
adds r0, r1
movs r1, 0
ldrsh r0, [r0, r1]
bl sub_808D994
bl GetMonSpecies
adds r2, r0, 0
ldr r0, [r6]
ldr r3, [r0, 0x4C]

View File

@ -147,11 +147,11 @@ _0808CEA4:
add r4, sp, 0x58
adds r0, r4, 0
adds r1, r7, 0
bl sub_808D8BC
bl CopySpeciesNametoBuffer
add r0, sp, 0x4C
adds r1, r4, 0
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
lsls r4, r7, 3
b _0808CF72
_0808CF36:
@ -339,11 +339,11 @@ _0808D09A:
bne _0808D0B4
mov r0, sp
mov r1, r9
bl sub_808D8BC
bl CopySpeciesNametoBuffer
mov r0, r8
mov r1, sp
movs r2, 0xA
bl sub_8092310
bl BoundedCopyStringtoBuffer
b _0808D0C8
_0808D0B4:
movs r2, 0
@ -1422,10 +1422,10 @@ sub_808D824:
adds r4, r0, 0
movs r1, 0x8
ldrsh r0, [r4, r1]
bl sub_808D994
bl GetMonSpecies
adds r1, r0, 0
mov r0, sp
bl sub_80922F4
bl CopyStringtoBuffer
movs r2, 0
adds r4, 0x4C
_0808D83E:
@ -1475,10 +1475,10 @@ sub_808D864:
movs r7, 0
_0808D888:
ldrb r0, [r6]
bl sub_8092280
bl ReturnIntFromChar
adds r4, r0, 0
ldrb r0, [r5]
bl sub_8092280
bl ReturnIntFromChar
cmp r4, r0
ble _0808D8A4
movs r0, 0x1
@ -1501,8 +1501,8 @@ _0808D8B4:
bx r1
thumb_func_end sub_808D864
thumb_func_start sub_808D8BC
sub_808D8BC:
thumb_func_start CopySpeciesNametoBuffer
CopySpeciesNametoBuffer:
push {lr}
lsls r1, 16
asrs r1, 16
@ -1519,7 +1519,7 @@ sub_808D8BC:
bx r0
.align 2, 0
_0808D8DC: .4byte gMonsterParameters
thumb_func_end sub_808D8BC
thumb_func_end CopySpeciesNametoBuffer
thumb_func_start sub_808D8E0
sub_808D8E0:
@ -1579,7 +1579,7 @@ sub_808D930:
bne _0808D970
ldr r5, _0808D968
movs r0, 0xC9
bl sub_808D994
bl GetMonSpecies
adds r4, r0, 0
adds r0, r6, 0
bl sub_808E8C8
@ -1614,8 +1614,8 @@ _0808D98C: .4byte gUnknown_8107638
_0808D990: .4byte gMonsterParameters
thumb_func_end sub_808D930
thumb_func_start sub_808D994
sub_808D994:
thumb_func_start GetMonSpecies
GetMonSpecies:
lsls r0, 16
asrs r0, 16
ldr r1, _0808D9A8
@ -1628,7 +1628,7 @@ sub_808D994:
bx lr
.align 2, 0
_0808D9A8: .4byte gMonsterParameters
thumb_func_end sub_808D994
thumb_func_end GetMonSpecies
thumb_func_start sub_808D9AC
sub_808D9AC:

File diff suppressed because it is too large Load Diff

View File

@ -25,9 +25,9 @@ gUnknown_80B9C00: @ 80B9C00
.4byte gUnknown_202DBB8
.4byte VBlankIntr
.4byte VCountIntr
.4byte nullsub_177
.4byte UnusedIntrFunc
.4byte Timer3Intr
.4byte nullsub_177
.4byte UnusedIntrFunc
.string "pksdir0\0"
.align 2,0
.string "pksdir0\0"
@ -4911,21 +4911,99 @@ gUnknown_80E4A28: @ 80E4A28
.byte 0x10, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gCreditsText
gCreditsText: @ 80E4A40
.incbin "baserom.gba", 0xE4A40, 0xEDC
.global gUnknown_80E4A40
gUnknown_80E4A40: @ 80E4A40
@ replacing .incbin "baserom.gba", 0x000e4a40, 0xedc
.byte 0x18, 0x18
.byte 0x38, 0x00
.byte 0x21, 0xff
.byte 0x22, 0xff
.byte 0x23, 0xff
.byte 0x24, 0xff
.byte 0x25, 0xff
.byte 0x26, 0xff
.byte 0x27, 0xff
.byte 0x28, 0xff
.byte 0x29, 0xff
.byte 0x2a, 0xff
.byte 0x2b, 0xff
.byte 0x2c, 0xff
.byte 0x2d, 0xff
.byte 0x2e, 0xff
.byte 0x2f, 0xff
.byte 0x30, 0xff
.byte 0x31, 0xff
.byte 0x32, 0xff
.byte 0x33, 0xff
.byte 0x34, 0xff
.byte 0x35, 0xff
.byte 0x36, 0xff
.byte 0x37, 0xff
.byte 0x38, 0xff
.byte 0x39, 0xff
.byte 0x3a, 0xff
.byte 0x41, 0xff
.byte 0x42, 0xff
.byte 0x43, 0xff
.byte 0x44, 0xff
.byte 0x45, 0xff
.byte 0x46, 0xff
.byte 0x47, 0xff
.byte 0x48, 0xff
.byte 0x49, 0xff
.byte 0x4a, 0xff
.byte 0x4b, 0xff
.byte 0x4c, 0xff
.byte 0x4d, 0xff
.byte 0x4e, 0xff
.byte 0x4f, 0xff
.byte 0x50, 0xff
.byte 0x51, 0xff
.byte 0x52, 0xff
.byte 0x53, 0xff
.byte 0x54, 0xff
.byte 0x55, 0xff
.byte 0x56, 0xff
.byte 0x57, 0xff
.byte 0x58, 0xff
.byte 0x59, 0xff
.byte 0x5a, 0xff
.byte 0x10, 0xff
.byte 0x11, 0xff
.byte 0x12, 0xff
.byte 0x13, 0xff
.byte 0x14, 0xff
.byte 0x15, 0xff
.byte 0x16, 0xff
.byte 0x17, 0xff
.byte 0x18, 0xff
.byte 0x19, 0xff
.global gCreditsTable
gCreditsTable: @ 80E591C
.incbin "baserom.gba", 0xE591C, 0x74
.include "data/text/credits.inc"
.global gUnknown_80E5990
gUnknown_80E5990: @ 80E5990
.incbin "baserom.gba", 0xE5990, 0x18
.byte 0x06, 0x02
.byte 0x40, 0x00
.byte 0x80, 0x00
.byte 0x10, 0x00
.byte 0x20, 0x00
.byte 0x01, 0x00
.byte 0x02, 0x00
.byte 0x00, 0x00
.string "pksdir0\0"
.align 2,0
.global gUnknown_80E59A8
gUnknown_80E59A8: @ 80E59A8
.incbin "baserom.gba", 0xE59A8, 0x20
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.string "pksdir0\0"
.align 2,0
.global gUnknown_80E59C8
gUnknown_80E59C8: @ 80E59C8

920
data/text/credits.inc Normal file
View File

@ -0,0 +1,920 @@
@ Actual Start of Credits
.global Credits_StaffCredits
Credits_StaffCredits:
.byte 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte StaffCredits_80E4AD8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global StaffCredits_80E4AD8
StaffCredits_80E4AD8:
.string "#+"
.byte 0x82, 0xa0
.string "STAFF CREDITS"
.byte 0x82, 0xa2, 0x00
.global Credits_Producer
Credits_Producer:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte Producer_80E4B20
.byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte KoichiNakamura
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global KoichiNakamura
KoichiNakamura:
.string "Koichi Nakamura\0"
.align 2,0
.global Producer_80E4B20
Producer_80E4B20:
.byte 0x82, 0xa0
.string "PRODUCER"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
.global Credits_Director
Credits_Director:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte Director_80E4B68
.byte 0x02, 0x00, 0x1e, 0x00
.byte 0x3c, 0x00, 0x00, 0x00
.4byte SeeichiroNagahata
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global SeeichiroNagahata
SeeichiroNagahata:
.string "Seiichiro Nagahata\0"
.align 2,0
.global Director_80E4B68
Director_80E4B68:
.byte 0x82, 0xa0
.string "DIRECTOR"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
.global Credits_Scenario
Credits_Scenario:
.byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00
.4byte Scenario_80EB4CC
.byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00
.4byte ShinichiroTomie
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte EmikoTanaka
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global EmikoTanaka
EmikoTanaka:
.string "Emiko Tanaka\0"
.align 2,0
.global ShinichiroTomie
ShinichiroTomie:
.string "Shin-ichiro Tomie\0"
.align 2,0
.global Scenario_80EB4CC
Scenario_80EB4CC:
.byte 0x82, 0xa0
.string "SCENARIO"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
.global Credits_GamePlanning
Credits_GamePlanning:
.byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
.4byte GamePlanning_80E4C48
.byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
.4byte KunimiKawamura
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte ShonosukeMorisue
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte JiroIshii
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global JiroIshii
JiroIshii:
.string "Jiro Ishii\0"
.align 2,0
.global ShonosukeMorisue
ShonosukeMorisue:
.string "Shonosuke Morisue\0"
.align 2,0
.global KunimiKawamura
KunimiKawamura:
.string "Kunimi Kawamura\0"
.align 2,0
.global GamePlanning_80E4C48
GamePlanning_80E4C48:
.byte 0x82, 0xa0
.string "GAME PLANNING"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00
.global Credits_Programming
Credits_Programming:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte MainProgramming_80E4D04
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte MasayasuYamamoto
.byte 0x01, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00
.4byte Programming_80E4CE0
.byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00
.4byte YujiFukuda
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte HironoriIshigami
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte NobuoMorioka
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global NobuoMorioka
NobuoMorioka:
.string "Nobuo Morioka\0"
.align 2,0
.global HironoriIshigami
HironoriIshigami:
.string "Hironori Ishigami\0"
.align 2,0
.global YujiFukuda
YujiFukuda:
.string "Yuji Fukuda\0"
.align 2,0
.global Programming_80E4CE0
Programming_80E4CE0:
.byte 0x82, 0xa0
.string "PROGRAMMING"
.byte 0x82, 0xa2, 0x00
.global MasayasuYamamoto
MasayasuYamamoto:
.string "Masayasu Yamamoto\0"
.align 2,0
.global MainProgramming_80E4D04
MainProgramming_80E4D04:
.byte 0x82, 0xa0
.string "MAIN PROGRAMMING"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
.global Credits_GraphicsDirectorBGIllus
Credits_GraphicsDirectorBGIllus:
.byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
.4byte GraphicDirector_80E4D90
.byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
.4byte FuyuhikoKoizumi
.byte 0x01, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x00, 0x00
.4byte BGIllustration_80E4D68
.byte 0x02, 0x00, 0x1e, 0x00, 0x55, 0x00, 0x00, 0x00
.4byte KaoruHasegawa
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global KaoruHasegawa
KaoruHasegawa:
.string "Kaoru Hasegawa\0"
.align 2,0
.global BGIllustration_80E4D68
BGIllustration_80E4D68:
.byte 0x82, 0xa0
.string "BG ILLUSTRATION"
.byte 0x82, 0xa2, 0x00
.global FuyuhikoKoizumi
FuyuhikoKoizumi:
.string "Fuyuhiko Koizumi\0"
.align 2,0
.global GraphicDirector_80E4D90
GraphicDirector_80E4D90:
.byte 0x82, 0xa0
.string "GRAPHIC DIRECTOR"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
.global Credits_DesignDirector
Credits_DesignDirector:
.byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
.4byte DesignDirector_80E4E1C
.byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
.4byte HiroshiNakamura
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte FujimiOnishi
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YoshihitoTakaishi
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global YoshihitoTakaishi
YoshihitoTakaishi:
.string "Yoshihito Takaishi\0"
.align 2,0
.global FujimiOnishi
FujimiOnishi:
.string "Fujimi O-nishi\0"
.align 2,0
.global HiroshiNakamura
HiroshiNakamura:
.string "Hiroshi Nakamura\0"
.align 2,0
.global DesignDirector_80E4E1C
DesignDirector_80E4E1C:
.byte 0x82, 0xa0
.string "DESIGN DIRECTOR"
.byte 0x82, 0xa2, 0x00
.global Credits_CharacterGraphics
Credits_CharacterGraphics:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte CharacterGraphics_80E4EEC
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte YoshinariKaiho
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte AsamiWatanabe
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YusukeFuruya
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte HirokoFujikawa
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YukoKameyama
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YukiAda
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global YukiUda
YukiAda:
.string "Yuki Uda\0"
.align 2,0
.global YukoKameyama
YukoKameyama:
.string "Yuko Kameyama\0"
.align 2,0
.global HirokoFujikawa
HirokoFujikawa:
.string "Hiroko Fujikawa\0"
.align 2,0
.global YusukeFuruya
YusukeFuruya:
.string "Yusuke Furuya\0"
.align 2,0
.global AsamiWatanabe
AsamiWatanabe:
.string "Asami Watanabe\0"
.align 2,0
.global YoshinariKaiho
YoshinariKaiho:
.string "Yoshinari Kaiho\0"
.align 2,0
.global CharacterGraphics_80E4EEC
CharacterGraphics_80E4EEC:
.byte 0x82, 0xa0
.string "CHARACTER GRAPHICS"
.byte 0x82, 0xa2, 0x00, 0x00
.global Credits_CharacterGraphics2
Credits_CharacterGraphics2:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte CharacterGraphics_80E4EEC
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte MarieHirosawa
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YoshikoOta
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte JunkoHarada
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YuichiHirose
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte NorimasaHigaki
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte MisakiTsukada
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global MisakiTsukada
MisakiTsukada:
.string "Misaki Tsukada\0"
.align 2,0
.global NorimasaHigaki
NorimasaHigaki:
.string "Norimasa Higaki\0"
.align 2,0
.global YuichiHirose
YuichiHirose:
.string "Yuichi Hirose\0"
.align 2,0
.global JunkoHarada
JunkoHarada:
.string "Junko Harada\0"
.align 2,0
.global YoshikoOta
YoshikoOta:
.string "Yoshiko Ota\0"
.align 2,0
.global MarieHirosawa
MarieHirosawa:
.string "Marie Hirosawa\0"
.align 2,0
.global Credits_BGGraphics
Credits_BGGraphics:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte BGGraphics_80E5088
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte MigakuMatsui
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte ToshimiAoyagi
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte SatoshiMatsuura
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte ShigeruKawahara
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YukoNakagawa
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte ChikaHirano
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global ChikaHirano
ChikaHirano:
.string "Chika Hirano\0"
.align 2,0
.global YukoNakagawa
YukoNakagawa:
.string "Yuko Nakagawa\0"
.align 2,0
.global ShigeruKawahara
ShigeruKawahara:
.string "Shigeru Kawahara\0"
.align 2,0
.global SatoshiMatsuura
SatoshiMatsuura:
.string "Satoshi Matsuura\0"
.align 2,0
.global ToshimiAoyagi
ToshimiAoyagi:
.string "Toshimi Aoyagi\0"
.align 2,0
.global MigakuMatsui
MigakuMatsui:
.string "Migaku Matsui\0"
.align 2,0
.global BGGraphics_80E5088
BGGraphics_80E5088:
.byte 0x82, 0xa0
.string "BG GRAPHICS"
.byte 0x82, 0xa2, 0x00
.global Credits_BGGraphics2
Credits_BGGraphics2:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte BGGraphics_80E5088
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte KyoheiIshida
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte ReikoNagashima
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte MasayukiShirakawa
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global MasayukiShirakawa
MasayukiShirakawa:
.string "Masayuki Shirakawa\0"
.align 2,0
.global ReikoNagashima
ReikoNagashima:
.string "Reiko Nagashima\0"
.global KyoheiIshida
KyoheiIshida:
.align 2,0
.string "Kyohei Ishida\0"
.align 2,0
.global Credits_SoundMusic
Credits_SoundMusic:
.byte 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00
.4byte SoundDirector_80E51D0
.byte 0x02, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte KojiroNakashima
.byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
.4byte Music_80E51B0
.byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
.4byte ArataIiyoshi
.byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00
.4byte AtsurhiroIshizuna
.byte 0x01, 0x00, 0x0a, 0x00, 0x55, 0x00, 0x00, 0x00
.4byte SoundEffects_80E5178
.byte 0x02, 0x00, 0x1e, 0x00, 0x64, 0x00, 0x00, 0x00
.4byte MisakiOkibe
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global MisakiOkibe
MisakiOkibe:
.string "Misaki Okibe\0"
.align 2,0
.global SoundEffects_80E5178
SoundEffects_80E5178:
.byte 0x82, 0xa0
.string "SOUND EFFECTS"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00
.global AtsurhiroIshizuna
AtsurhiroIshizuna:
.string "Atsuhiro Ishizuna\0"
.align 2,0
.global ArataIiyoshi
ArataIiyoshi:
.string "Arata Iiyoshi\0"
.align 2,0
.global Music_80E51B0
Music_80E51B0:
.byte 0x82, 0xa0
.string "MUSIC"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00
.global KojiroNakashima
KojiroNakashima:
.string "Kojiro Nakashima\0"
.align 2,0
.global SoundDirector_80E51D0
SoundDirector_80E51D0:
.byte 0x82, 0xa0
.string "SOUND DIRECTOR"
.byte 0x82, 0xa2, 0x00, 0x00
.global Credits_SpecialThanks
Credits_SpecialThanks:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte SpecialThanks_80E5218
.byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte KoyushaLTD
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global KoyushaLTD
KoyushaLTD:
.string "KOYUSHA LTD.\0"
.align 2,0
.global SpecialThanks_80E5218
SpecialThanks_80E5218:
.byte 0x82, 0xa0
.string "SPECIAL THANKS"
.byte 0x82, 0xa2, 0x00, 0x00
.global Credits_Debug
Credits_Debug:
.byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00
.4byte Debug_80E5284
.byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00
.4byte ChunsoftDebugTeam
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte SuperMarioClub
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global SuperMarioClub
SuperMarioClub:
.string "Super Mario Club\0"
.align 2,0
.global ChunsoftDebugTeam
ChunsoftDebugTeam:
.string "CHUNSOFT Debug Team\0"
.align 2,0
.global Debug_80E5284
Debug_80E5284:
.byte 0x82, 0xa0
.string "DEBUG"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00
.global Credits_PackageIllustration
Credits_PackageIllustration:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte PackageIllustration_80E52C4
.byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte KenSugimori
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global KenSugimori
KenSugimori:
.string "Ken Sugimori\0"
.align 2,0
.global PackageIllustration_80E52C4
PackageIllustration_80E52C4:
.byte 0x82, 0xa0
.string "PACKAGE ILLUSTRATION"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
.global Credits_Artwork
Credits_Artwork:
.byte 0x01, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x00, 0x00
.4byte Artwork_80E5384
.byte 0x02, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00
.4byte KazuhikoNakanishi
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte SakaeKimura
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte KenichiKoga
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte KiyomoOe
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte FujikoNomura
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global FujikoNomura
FujikoNomura:
.string "Fujiko Nomura\0"
.align 2,0
.global KiyomoOe
KiyomoOe:
.string "Kiyomo Oe\0"
.align 2,0
.global KenichiKoga
KenichiKoga:
.string "Ken-ichi Koga\0"
.align 2,0
.global SakaeKimura
SakaeKimura:
.string "Sakae Kimura\0"
.align 2,0
.global KazuhikoNakanishi
KazuhikoNakanishi:
.string "Kazuhiko Nakanishi\0"
.align 2,0
.global Artwork_80E5384
Artwork_80E5384:
.byte 0x82, 0xa0
.string "ARTWORK"
.byte 0x82, 0xa2, 0x00
.global Credits_DevelopmentSupport
Credits_DevelopmentSupport:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte DevelopmentSupport_80E544C
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte AkihiroKaneko
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte NobuhiroSaito
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte KosukeYoshida
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte KeikoHoriuchi
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte MayumiIso
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte KensukeOguri
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global KensukeOguri
KensukeOguri:
.string "Kensuke Oguri\0"
.align 2,0
.global MayumiIso
MayumiIso:
.string "Mayumi Iso\0"
.align 2,0
.global KeikoHoriuchi
KeikoHoriuchi:
.string "Keiko Horiuchi\0"
.align 2,0
.global KosukeYoshida
KosukeYoshida:
.string "Kosuke Yoshida\0"
.align 2,0
.global NobuhiroSaito
NobuhiroSaito:
.string "Nobuhiro Saito\0"
.align 2,0
.global AkihiroKaneko
AkihiroKaneko:
.string "Akihiro Kaneko\0"
.align 2,0
.global DevelopmentSupport_80E544C
DevelopmentSupport_80E544C:
.byte 0x82, 0xa0
.string "DEVELOPMENT SUPPORT"
.byte 0x82, 0xa2, 0x00
.global Credits_DevelopmentSupport2
Credits_DevelopmentSupport2:
.byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte DevelopmentSupport_80E544C
.byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
.4byte KojiMalta
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte YasufumiFukuda
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte HizukiMisono
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte TakahiroOnishi
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte TakaoNakano
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global TakaoNakano
TakaoNakano:
.string "Takao Nakano\0"
.align 2,0
.global TakahiroOnishi
TakahiroOnishi:
.string "Takahiro O-nishi\0"
.align 2,0
.global HizukiMisono
HizukiMisono:
.string "Hizuki Misono\0"
.align 2,0
.global YasufumiFukuda
YasufumiFukuda:
.string "Yasufumi Fukuda\0"
.align 2,0
.global KojiMalta
KojiMalta:
.string "Koji Malta\0"
.align 2,0
.global Credits_Localization
Credits_Localization:
.byte 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00
.4byte LocalizationCoordinators_80E55CC
.byte 0x02, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x00, 0x00
.4byte KeisukeTominaga
.byte 0x02, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00
.4byte SethMcMahill
.byte 0x01, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00
.4byte Translator_80E5598
.byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00
.4byte NobOgasawara
.byte 0x01, 0x00, 0x0a, 0x00, 0x55, 0x00, 0x00, 0x00
.4byte Editor_80E557C
.byte 0x02, 0x00, 0x1e, 0x00, 0x64, 0x00, 0x00, 0x00
.4byte TeresaLillygren
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global TeresaLillygren
TeresaLillygren:
.string "Teresa Lillygren\0"
.align 2,0
.global Editor_80E557C
Editor_80E557C:
.byte 0x82, 0xa0
.string "EDITOR"
.byte 0x82, 0xa2, 0x00, 0x00
.global NobOgasawara
NobOgasawara:
.string "Nob Ogasawara\0"
.align 2,0
.global Translator_80E5598
Translator_80E5598:
.byte 0x82, 0xa0
.string "TRANSLATOR"
.byte 0x82, 0xa2, 0x00, 0x00
.global SethMcMahill
SethMcMahill:
.string "Seth McMahill\0"
.align 2,0
.global KeisukeTominaga
KeisukeTominaga:
.string "Keisuke Tominaga\0"
.align 2,0
.global LocalizationCoordinators_80E55CC
LocalizationCoordinators_80E55CC:
.byte 0x82, 0xa0
.string "LOCALIZATION COORDINATORS"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00
.global Credits_Product
Credits_Product:
.byte 0x01, 0x00, 0x0a, 0x00, 0x05, 0x00, 0x00, 0x00
.4byte ProductSupport_80E56B8
.byte 0x02, 0x00, 0x1e, 0x00, 0x14, 0x00, 0x00, 0x00
.4byte KimikoNakamichi
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte HiroshiAkune
.byte 0x01, 0x00, 0x0a, 0x00, 0x37, 0x00, 0x00, 0x00
.4byte NoaProductTesting_80E567C
.byte 0x02, 0x00, 0x1e, 0x00, 0x46, 0x00, 0x00, 0x00
.4byte ThomasHertzog
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte JimHoldeman
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte MikaKurosawa
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global MikaKurosawa
MikaKurosawa:
.string "Mika Kurosawa\0"
.align 2,0
.global JimHoldeman
JimHoldeman:
.string "Jim Holdeman\0"
.align 2,0
.global ThomasHertzog
ThomasHertzog:
.string "Thomas Hertzog\0"
.align 2,0
.global NoaProductTesting_80E567C
NoaProductTesting_80E567C:
.byte 0x82, 0xa0
.string "NOA PRODUCT TESTING"
.byte 0x82, 0xa2, 0x00
.global HiroshiAkune
HiroshiAkune:
.string "Hiroshi Akune\0"
.align 2,0
.global KimikoNakamichi
KimikoNakamichi:
.string "Kimiko Nakamichi\0"
.align 2,0
.global ProductSupport_80E56B8
ProductSupport_80E56B8:
.byte 0x82, 0xa0
.string "PRODUCT SUPPORT"
.byte 0x82, 0xa2, 0x00
.global Credits_SpecialThanks2
Credits_SpecialThanks2:
.byte 0x01, 0x00, 0x0a, 0x00, 0x19, 0x00, 0x00, 0x00
.4byte SpecialThanks_80E5218
.byte 0x02, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x00, 0x00
.4byte NicolaWright
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte ShellieDow
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte JoshNewman
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte HitomiRoss
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global HitomiRoss
HitomiRoss:
.string "Hitomi Ross\0"
.align 2,0
.global JoshNewman
JoshNewman:
.string "Josh Newman\0"
.align 2,0
.global ShellieDow
ShellieDow:
.string "Shellie Dow\0"
.align 2,0
.global NicolaWright
NicolaWright:
.string "Nicola Wright\0"
.align 2,0
.global Credits_VerySpecialThanks
Credits_VerySpecialThanks:
.byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00
.4byte VerySpecialThanks_80E579C
.byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00
.4byte GameFreakInc
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte AmbrellaCoLtd
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global AmbrellaCoLtd
AmbrellaCoLtd:
.string "Ambrella Co., Ltd.\0"
.align 2,0
.global GameFreakInc
GameFreakInc:
.string "GAME FREAK inc.\0"
.align 2,0
.global VerySpecialThanks_80E579C
VerySpecialThanks_80E579C:
.byte 0x82, 0xa0
.string "VERY SPECIAL THANKS"
.byte 0x82, 0xa2, 0x00
.global Credits_OriginalDirector
Credits_OriginalDirector:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte OriginalDirector_80E57E8
.byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte SatoshiTajiri
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global SatoshiTajiri
SatoshiTajiri:
.string "Satoshi Tajiri\0"
.align 2,0
.global OriginalDirector_80E57E8
OriginalDirector_80E57E8:
.byte 0x82, 0xa0
.string "POK~e9MON ORIGINAL DIRECTOR"
.byte 0x82, 0xa2, 0x00
.global Credits_Producers
Credits_Producers:
.byte 0x01, 0x00, 0x0a, 0x00, 0x19, 0x00, 0x00, 0x00
.4byte Producers_80E5888
.byte 0x02, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x00, 0x00
.4byte HiroakiTsuru
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte AtsushiSugimoto
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte KunimiKawamura
.byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
.4byte HitoshiYamagami
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global HitoshiYamagami
HitoshiYamagami:
.string "Hitoshi Yamagami\0"
.align 2,0
.global AtsushiSugimoto
AtsushiSugimoto:
.string "Atsushi Sugimoto\0"
.align 2,0
.global HiroakiTsuru
HiroakiTsuru:
.string "Hiroaki Tsuru\0"
.align 2,0
.global Producers_80E5888
Producers_80E5888:
.byte 0x82, 0xa0
.string "PRODUCERS"
.byte 0x82, 0xa2, 0x00, 0x00, 0x00
.global Credits_ExectiveProducer
Credits_ExecutiveProducer:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte ExecutiveProducer_80E58CC
.byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte SatoruIwata
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global SatoruIwata
SatoruIwata:
.string "Satoru Iwata\0"
.align 2,0
.global ExecutiveProducer_80E58CC
ExecutiveProducer_80E58CC:
.byte 0x82, 0xa0
.string "EXECUTIVE PRODUCER"
.byte 0x82, 0xa2, 0x00, 0x00
.global Credits_ExectiveProducer2
Credits_ExecutiveProducer2:
.byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
.4byte ExecutiveProducer_80E58CC
.byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
.4byte TsuenehazuIshihara
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.global TsunekazuIshihara
TsuenehazuIshihara:
.string "Tsunekazu Ishihara\0"
.align 2,0
.global gCreditsTable
gCreditsTable: @ 80E591C
@ replacing .incbin "baserom.gba", 0x000e591c, 0x74
.4byte Credits_StaffCredits
.4byte Credits_Producer
.4byte Credits_Director
.4byte Credits_Scenario
.4byte Credits_GamePlanning
.4byte Credits_Programming
.4byte Credits_GraphicsDirectorBGIllus
.4byte Credits_DesignDirector
.4byte Credits_CharacterGraphics
.4byte Credits_CharacterGraphics2
.4byte Credits_BGGraphics
.4byte Credits_BGGraphics2
.4byte Credits_SoundMusic
.4byte Credits_SpecialThanks
.4byte Credits_Debug
.4byte Credits_PackageIllustration
.4byte Credits_Artwork
.4byte Credits_DevelopmentSupport
.4byte Credits_DevelopmentSupport2
.4byte Credits_Localization
.4byte Credits_Product
.4byte Credits_SpecialThanks2
.4byte Credits_VerySpecialThanks
.4byte Credits_OriginalDirector
.4byte Credits_Producers
.4byte Credits_ExecutiveProducer
.4byte Credits_ExecutiveProducer2
.string "pksdir0\0"
.align 2,0

View File

@ -17,7 +17,7 @@ struct PersonalityStruct_203B400
/* 0x8 */ s16 StarterID;
/* 0xA */ s16 PartnerID;
u8 padding[0x20 - 0xC];
s32 unk20;
s32 unk20; // Buffer to store partner name?
u8 padding2[0x34 - 0x24];
/* 0x34 */ u32 TestState;
/* 0x38 */ s32 QuestionCounter;

View File

@ -90,12 +90,15 @@ SECTIONS {
src/code_8027C84_pre.o(.text);
asm/code_8027C84.o(.text);
src/wonder_mail.o(.text);
src/wonder_mail_mid.o(.text);
asm/wonder_mail.o(.text);
src/wonder_mail_1.o(.text);
src/credits.o(.text);
asm/credits.o(.text);
src/credits.o(.text);
src/main_menu.o(.text);
asm/main_menu.o(.text);
asm/debug_menu.o(.text);
asm/code_803B050.o(.text);
src/pokemon_mail.o(.text);
src/code_803C1B4.o(.text);
asm/code_803C1D0.o(.text);

View File

@ -7,7 +7,7 @@ struct unkDungeon_8041D5C
};
extern u32 gUnknown_80F89F4;
extern u32 gUnknown_202DF98;
extern u32 gAvailablePokemonNames;
extern u32 gUnknown_80FB580;
extern s16 gUnknown_80F4FB6;
extern s16 gUnknown_80F4FB8;
@ -162,6 +162,6 @@ void sub_80484E8(u32 r0, struct unkDungeon_8041D5C *r1)
sub_807A290(r0, r1);
return;
}
sub_8045B94(&gUnknown_202DF98, r1, 0);
sub_8045B94(&gAvailablePokemonNames, r1, 0);
sub_80522F4(r0, r1, gUnknown_80FB580);
}

View File

@ -1,8 +1,9 @@
#include "global.h"
#include "constants/species.h"
extern s16 *sub_8085480(void);
extern u32 sub_8085680(u32);
extern u32 gUnknown_202E038;
extern char gUnknown_202E038[0x50];
extern u8* gUnknown_203B418;
extern u32 gUnknown_8106778;
@ -15,7 +16,7 @@ extern u32 gUnknown_8106918;
extern u32 gUnknown_8106934;
extern void sub_8086A3C(void);
extern void sub_808D8BC(u32 *r0, u32 r1);
extern void CopySpeciesNametoBuffer(char *r0, u32 r1);
extern void sub_8083E88(u32);
extern void sub_80854D4(void);
extern void sub_80855E4(void *);
@ -51,7 +52,7 @@ void sub_808C9C4(void)
sub_80855E4(sub_8086A3C);
sub_8085918(temp_2, 0);
sub_8085860(array[2], array[3] - 3);
sub_808D8BC(&gUnknown_202E038, 0x14d);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
}
void sub_808CA1C(void)
@ -112,7 +113,7 @@ void sub_808CB5C(void)
sub_8085930(0x4);
sub_8068FE0(temp_2, 0x87 << 2, 0);
sub_8085860(array[2], array[3]);
sub_808D8BC(&gUnknown_202E038, 0x14d);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
}
void nullsub_101(void)
@ -132,7 +133,7 @@ void sub_808CBB0(void)
sub_80855E4(sub_8086A3C);
sub_8085918(temp_2, 0);
sub_8085860(array[2], array[3] - 3);
sub_808D8BC(&gUnknown_202E038, 0x82 << 1);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
}
void sub_808CC04(void)
@ -195,6 +196,6 @@ void sub_808CD44(void)
sub_80855E4(sub_8086A3C);
sub_8068FE0(temp_2, 0x87 << 2, 0);
sub_8085860(array[2], array[3] - 3);
sub_808D8BC(&gUnknown_202E038, 0x82 << 1);
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
}

View File

@ -1,33 +1,108 @@
#include "global.h"
#include "input.h"
extern s32 sub_80144A4(s32 *);
extern void sub_80338C4(u32);
extern void sub_80338C4(u32);
extern struct Inputs gRealInputs;
void sub_8035404(u32 param_1)
struct unkStruct_203B344
{
s32 iVar1;
u32 unk0; // state variable
u32 unk4; // timer??
};
if(sub_80144A4(&iVar1) == 0){
sub_80338C4(param_1);
struct unkStruct_203B340
{
// size: 0x84
u32 unk0;
};
extern void MemoryFree(void *);
extern void* MemoryAlloc(u32, u32);
extern void sub_80015C0(u32, u32);
extern u16 gUnknown_80E5990[];
extern struct unkStruct_203B344 *gUnknown_203B344;
extern struct unkStruct_203B340 *gUnknown_203B340;
extern s32 sub_8001658(u32, u32);
void sub_803565C(void)
{
if(gUnknown_203B340 != NULL)
{
MemoryFree(gUnknown_203B340);
gUnknown_203B340 = NULL;
}
}
u32 sub_8035678(void)
{
gUnknown_203B344 = MemoryAlloc(sizeof(struct unkStruct_203B344), 8);
gUnknown_203B344->unk0 = 0;
gUnknown_203B344->unk4 = 0;
sub_80015C0(0, 0x39);
return 1;
}
u32 sub_80356A0(void)
{
u16 uVar1;
u16 held_input;
held_input = gRealInputs.held;
uVar1 = gUnknown_80E5990[gUnknown_203B344->unk4];
switch(gUnknown_203B344->unk0) {
case 0:
gUnknown_203B344->unk0 = 3;
break;
case 1:
if (uVar1 == 0)
gUnknown_203B344->unk0 = 4;
else {
if (held_input == uVar1)
gUnknown_203B344->unk0 = 2;
else {
// NOTE: couldn't match with OR'd condition so split up to match
if ((uVar1 & held_input) != held_input)
gUnknown_203B344->unk0 = 3;
else
{
if (gUnknown_203B344->unk4 == 0)
gUnknown_203B344->unk0 = 3;
}
}
}
break;
case 2:
if (held_input == 0) {
gUnknown_203B344->unk0 = 1;
gUnknown_203B344->unk4++;
}
else {
if ((uVar1 & held_input) != held_input)
gUnknown_203B344->unk0 = 3;
}
break;
case 3:
return 2;
case 4:
return 3; // sub_809C478 clears the flash data when this is returned
}
if (sub_8001658(0,0x39) != 0) {
gUnknown_203B344->unk0 = 3;
return 2;
}
else {
return 0;
}
}
void sub_8035424(void)
void sub_8035758(void)
{
sub_80338C4(6);
if(gUnknown_203B344 != NULL)
{
MemoryFree(gUnknown_203B344);
gUnknown_203B344 = NULL;
}
}
void sub_8035430(void)
{
sub_80338C4(0x4F);
}
void nullsub_50(void)
{
}
void nullsub_51(void)
{
}

View File

@ -39,7 +39,7 @@ extern void sub_803225C(void);
extern void sub_803A1D8(void);
extern void sub_80398AC(void);
extern void sub_80382A0(void);
extern void sub_8039254(u32);
extern void CreateLoadScreen(u32);
extern void sub_8035DB4(u32);
extern void sub_8038900(u32);
extern void sub_803850C(u32);
@ -57,7 +57,7 @@ extern s32 sub_8038630(void);
extern s32 sub_803A2A4(void);
extern void CleanMainMenu(void);
extern void sub_80393F0(void);
extern void CleanLoadScreen(void);
extern void sub_8036B04(void);
extern void sub_80370D4(void);
extern void sub_80327E4(void);
@ -109,7 +109,7 @@ void SetUpMenu(void)
case 7:
case 8:
case 9:
sub_8039254(gUnknown_203B348->unk4);
CreateLoadScreen(gUnknown_203B348->unk4);
break;
case 0xc:
sub_8036400();
@ -248,7 +248,7 @@ void CleanUpMenu(void)
case 7:
case 8:
case 9:
sub_80393F0();
CleanLoadScreen();
break;
case 0xc:
sub_8036B04();

View File

@ -19,6 +19,15 @@ extern void sub_800C298(u16 r0);
typedef void (*IntrCallback)(void);
extern IntrCallback gUnknown_202D5F0[];
struct unkStruct_202D648
{
s16 unk0;
s16 unk2; // Vcount??
IntrCallback unk4; // some function... just making it IntrCallback for now
};
extern struct unkStruct_202D648 gUnknown_202D648[8];
extern struct unkStruct_202D648 gUnknown_202D608[8];
extern struct MusicPlayerInfo gUnknown_20008F0; // BGM??
extern u32 gUnknown_203B0A0;
extern u32 gUnknown_203B0A4;
@ -34,6 +43,13 @@ extern u8 gUnknown_203B09B;
extern u32 gUnknown_203B09C;
extern u8 gUnknown_203B09A;
extern u32 gUnknown_203B0A0;
extern s16 gUnknown_203B0AA;
extern s16 gUnknown_203B0AC;
extern s16 gUnknown_203B0AE;
extern s16 gUnknown_203B0B0;
extern s16 gUnknown_203B0B2;
struct unkStruct_3000FD8
{
u16 unk0;
@ -51,9 +67,188 @@ extern struct BGControlStruct gBG1Control;
extern struct BGControlStruct gBG2Control;
extern struct BGControlStruct gBG3Control;
extern void SoundVSync();
extern void BlinkSavingIcon();
void sub_800BF80(void);
void xxx_update_bg_sound_input(void);
void UnusedIntrFunc(void)
{
}
void VBlankIntr(void)
{
int index;
gUnknown_203B0A0++;
SoundVSync();
BlinkSavingIcon();
if (gUnknown_202D5F0[1] != NULL) {
gUnknown_202D5F0[1]();
}
index = 0;
while (index < gUnknown_203B0AA) {
gUnknown_202D648[index] = gUnknown_202D608[index];
index++;
}
gUnknown_203B0AC = gUnknown_203B0AA;
gUnknown_203B0AE = -1;
gUnknown_203B0B0 = -1;
gUnknown_203B0B2 = -1;
REG_DISPSTAT = DISPSTAT_VBLANK_INTR | DISPSTAT_VCOUNT_INTR;
if (gUnknown_203B099 == 0) {
UpdateSound();
}
SetInterruptFlag(INTR_FLAG_VBLANK);
}
// Registers are a little off.. seems to be around the while loop
#ifdef NONMATCHING
void VCountIntr(void)
{
s32 sVar1;
s32 sVar2;
// Hack to get the lsr/asr shifts
sVar2 = REG_VCOUNT << 16;
sVar2 = sVar2 >> 16;
if (gUnknown_203B0AE < 0) {
if (gUnknown_202D5F0[2] != 0) {
gUnknown_202D5F0[2]();
}
gUnknown_203B0AE = 0;
}
if (gUnknown_203B0AE < gUnknown_203B0AC) {
sVar1 = gUnknown_202D648[gUnknown_203B0AE].unk2;
while (sVar1 <= sVar2) {
if ( gUnknown_202D648[gUnknown_203B0AE].unk4 != NULL) {
gUnknown_202D648[gUnknown_203B0AE].unk4();
}
gUnknown_203B0AE++;
if (gUnknown_203B0AC >= gUnknown_203B0AE) break;
sVar1 = gUnknown_202D648[gUnknown_203B0AE].unk2;
}
if (gUnknown_203B0AE < gUnknown_203B0AC) {
REG_DISPSTAT = gUnknown_202D648[gUnknown_203B0AE].unk2 << 8 | DISPSTAT_VBLANK_INTR | DISPSTAT_VCOUNT_INTR;
}
}
SetInterruptFlag(INTR_FLAG_VCOUNT);
}
#else
NAKED
void VCountIntr(void)
{
asm_unified(
"\tpush {r4-r7,lr}\n"
"\tmov r7, r8\n"
"\tpush {r7}\n"
"\tldr r0, _0800BA44\n"
"\tldrh r0, [r0]\n"
"\tlsls r0, 16\n"
"\tasrs r6, r0, 16\n"
"\tldr r0, _0800BA48\n"
"\tmovs r2, 0\n"
"\tldrsh r1, [r0, r2]\n"
"\tadds r7, r0, 0\n"
"\tcmp r1, 0\n"
"\tbge _0800B9B2\n"
"\tldr r0, _0800BA4C\n"
"\tldr r0, [r0, 0x8]\n"
"\tcmp r0, 0\n"
"\tbeq _0800B9AE\n"
"\tbl _call_via_r0\n"
"_0800B9AE:\n"
"\tmovs r0, 0\n"
"\tstrh r0, [r7]\n"
"_0800B9B2:\n"
"\tldr r0, _0800BA50\n"
"\tmovs r3, 0\n"
"\tldrsh r2, [r7, r3]\n"
"\tmovs r3, 0\n"
"\tldrsh r1, [r0, r3]\n"
"\tmov r8, r0\n"
"\tcmp r2, r1\n"
"\tbge _0800BA34\n"
"\tldr r1, _0800BA54\n"
"\tadds r0, r2, 0\n"
"\tlsls r0, 3\n"
"\tadds r0, r1\n"
"\tmovs r3, 0x2\n"
"\tldrsh r0, [r0, r3]\n"
"\tcmp r0, r6\n"
"\tbgt _0800BA10\n"
"\tadds r5, r1, 0\n"
"\tadds r4, r7, 0\n"
"_0800B9D6:\n"
"\tmovs r1, 0\n"
"\tldrsh r0, [r4, r1]\n"
"\tlsls r0, 3\n"
"\tadds r1, r5, 0x4\n"
"\tadds r0, r1\n"
"\tldr r0, [r0]\n"
"\tcmp r0, 0\n"
"\tbeq _0800B9EA\n"
"\tbl _call_via_r0\n"
"_0800B9EA:\n"
"\tldrh r0, [r4]\n"
"\tadds r0, 0x1\n"
"\tstrh r0, [r4]\n"
"\tldr r1, _0800BA50\n"
"\tlsls r0, 16\n"
"\tasrs r0, 16\n"
"\tmovs r2, 0\n"
"\tldrsh r1, [r1, r2]\n"
"\tcmp r0, r1\n"
"\tbge _0800BA34\n"
"\tmovs r3, 0\n"
"\tldrsh r0, [r4, r3]\n"
"\tlsls r0, 3\n"
"\tadds r0, r5\n"
"\tmovs r1, 0x2\n"
"\tldrsh r0, [r0, r1]\n"
"\tldr r7, _0800BA48\n"
"\tcmp r0, r6\n"
"\tble _0800B9D6\n"
"_0800BA10:\n"
"\tmovs r2, 0\n"
"\tldrsh r1, [r7, r2]\n"
"\tmov r3, r8\n"
"\tmovs r2, 0\n"
"\tldrsh r0, [r3, r2]\n"
"\tcmp r1, r0\n"
"\tbge _0800BA34\n"
"\tldr r2, _0800BA58\n"
"\tldr r1, _0800BA54\n"
"\tmovs r3, 0\n"
"\tldrsh r0, [r7, r3]\n"
"\tlsls r0, 3\n"
"\tadds r0, r1\n"
"\tldrh r0, [r0, 0x2]\n"
"\tlsls r0, 8\n"
"\tmovs r1, 0x28\n"
"\torrs r0, r1\n"
"\tstrh r0, [r2]\n"
"_0800BA34:\n"
"\tmovs r0, 0x4\n"
"\tbl SetInterruptFlag\n"
"\tpop {r3}\n"
"\tmov r8, r3\n"
"\tpop {r4-r7}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_0800BA44: .4byte 0x04000006\n"
"_0800BA48: .4byte gUnknown_203B0AE\n"
"_0800BA4C: .4byte gUnknown_202D5F0\n"
"_0800BA50: .4byte gUnknown_203B0AC\n"
"_0800BA54: .4byte gUnknown_202D648\n"
"_0800BA58: .4byte 0x04000004"
);
}
#endif
void sub_800BA5C(void)
{
if(gUnknown_203B09A != 0)

View File

@ -50,14 +50,14 @@ extern void sub_8014248(const char *text, u32, u32, u32 *r0, u32, u32, u32, u32,
extern u32 sub_80144A4(s32 *);
extern void sub_803CE6C(void);
extern u32 sub_808D994(u32);
extern void sub_80922F4(s32 *r0, u32);
extern char* GetMonSpecies(u32);
extern void CopyStringtoBuffer(s32 *r0, char *r1);
extern void sub_801602C(u32, s32 *r0);
extern u32 sub_8016080(void);
extern void sub_80160D8(void);
extern void sub_8099690(u32);
extern void sub_808D8BC(u32 *r0, u32);
extern void CopySpeciesNametoBuffer(char *r0, u32);
extern void sub_8006518(void *);
extern void sub_800641C(void *, u32, u32);
@ -89,7 +89,7 @@ extern u32 gGenderMenu;
extern u8 gNatureQuestionTable[NUM_QUIZ_QUESTIONS];
extern const char *gPersonalityTypeDescriptionTable[];
extern u32 gUnknown_202DF98;
extern char gAvailablePokemonNames[0x50];
struct unkData gUnknown_80F4244 =
@ -503,12 +503,12 @@ void sub_803CB5C(void)
void sub_803CB7C(void)
{
u32 uVar1;
char *monName;
s32 *iVar2;
iVar2 = &gUnknown_203B400->unk20;
uVar1 = sub_808D994(gUnknown_203B400->PartnerID);
sub_80922F4(iVar2,uVar1);
monName = GetMonSpecies(gUnknown_203B400->PartnerID);
CopyStringtoBuffer(iVar2, monName);
sub_801602C(3, &gUnknown_203B400->unk20);
gUnknown_203B400->TestState = 13;
}
@ -567,7 +567,7 @@ void PromptNewQuestion(void)
void PrintPersonalityTypeDescription(void)
{
sub_808D8BC(&gUnknown_202DF98,gUnknown_203B400->StarterID);
CopySpeciesNametoBuffer(gAvailablePokemonNames, gUnknown_203B400->StarterID);
sub_80141B4(gPersonalityTypeDescriptionTable[gUnknown_203B400->playerNature],0,
0,0x101);
}

View File

@ -1,12 +1,16 @@
#include "global.h"
#include "save.h"
#include "pokemon.h"
#include "file_system.h"
#include "constants/species.h"
// Wonder Mail Related
struct WonderMailStruct_203B2C0
{
// size: 0x548
u32 unk0;
u32 unk4;
u8 padding2[0x38];
u8 unk8[0x38];
u32 unk40;
u32 unk44;
u16 unk48[232];
@ -22,7 +26,7 @@ struct WonderMailStruct_203B2C0
u8 padding5[0x5C];
u32 unk3BC;
u8 padding4[0x60];
u32 unk420;
u32 unk420; // Is this supposed to be a File like 203B2C4?
u8 padding3[0x110];
u32 unk534;
s32 unk538; // A7 << 3
@ -31,29 +35,65 @@ struct WonderMailStruct_203B2C0
s16 unk544;
};
struct unkStruct_203B2C4
{
// size: 0x564
u8 unk0;
u8 padding[3];
u32 unk4; // wonder mail link status??
u8 unk8[0x36];
u8 unk3E;
u32 unk40;
u32 unk44; // another link status
u8 filler48[0x218 - 0x48];
s8 unk218;
u32 unk21C;
u8 filler220[0x30C - 0x220];
u32 unk30C;
u8 filler310[0x35C - 0x310];
u32 unk35C;
u8 filler360[0x3BC - 0x360];
u32 unk3BC;
u8 filler3C0[0x41C - 0x3C0];
u8 *unk41C;
/* 0x420 */ struct OpenedFile *faceFile;
/* 0x424 */ u8 *faceData;
u16 unk428;
u16 unk42A;
u8 unk42C;
u8 unk42D;
u8 unk42E;
u32 unk430;
u8 padding3[0x534 - 0x434];
s32 unk534;
u32 unk538;
};
extern struct unkStruct_203B2C4 *gUnknown_203B2C4;
struct unkStruct_8095228
{
u32 unk0;
u8 unk4;
u8 padding[0x27];
u8 padding[0x10 - 0x5];
u32 unk10;
u8 padding2[0x20 - 0x14];
u8 *unk20;
u8 padding3[0x2C - 0x24];
s8 unk2C;
u8 padding4[0x30 - 0x2D];
s8 unk30;
};
// Used as a temp storage when receiveing A-OK Mail
struct unkStruct_80293F4
{
// size of 0x44
u32 unk0;
u32 unk4;
u32 unk8;
u32 *unkC;
u8 unkArray[0x10];
u32 unk10;
u8 unk14[0xA]; // very unsure about this one
u32 unk20;
u32 unk24;
u32 padding[7];
u8 padding[0x30 - 0x14];
};
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
extern u32 sub_80144A4(s32 *r0);
@ -81,6 +121,19 @@ extern u32 gWonderMailPasswordIncorrectText;
extern u32 gWonderMailSOSPasswordIncorrectText;
extern u32 gWonderMailDuplicateText;
extern u32 gWonderMailAOKMailReceivedText;
extern u32 gUnknown_80DDA48;
extern u32 gUnknown_80DEF04;
extern u32 gUnknown_80DEF28;
extern u32 gUnknown_80DEF80;
extern u32 gUnknown_80DEFDC;
extern u32 gUnknown_80DF044;
extern u32 gUnknown_80DF0A0;
extern u32 gUnknown_80DF0E0;
extern u32 gUnknown_80DF138;
extern u32 gUnknown_80DF194;
extern char gUnknown_202E5D8[0x50];
extern char gAvailablePokemonNames[0x50];
extern u8 *gUnknown_80DED44;
extern s32 sub_8095190(void);
extern u32 sub_8095324(u32);
@ -91,7 +144,7 @@ extern void sub_800641C(void *r0, u8, u8);
extern void ResetUnusedInputStruct();
extern void sub_803084C();
extern u32 sub_8030768(u32);
extern u8 sub_80307EC();
extern s8 sub_80307EC();
extern void sub_8030D40(u8, u32);
extern void sub_8006518(u32 *r0);
extern u8 sub_8012FD8(u32 *r0);
@ -104,11 +157,13 @@ extern void sub_803092C(void);
extern void sub_8011C28(u32);
extern void MemoryFill8(u8 *dest, u8 value, s32 size);
extern void* MemoryAlloc(u32, u32);
extern void MemoryFree(void *);
extern u32 sub_80154F0();
void MemoryFill8(u8 *dest, u8 value, s32 size);
extern u32 sub_8039068(u32, u32 *r1, u8 *r0);
extern u32 gUnknown_80DDA48;
extern void sub_8014248(u32 *r0, u32, u32, u32 *r1);
extern u32 sub_8039068(u32, u8 *r1, u8 *r0);
extern void sub_8014248(u32 *r0, u32, u32, u32 *r4, u32, u32, u32, u32 *r5, u32);
extern void sub_8095274(u32);
extern void sub_80155F0();
extern void sub_80951BC(u8 *r0);
@ -126,6 +181,61 @@ extern u8 sub_8024108(u32);
extern u32 sub_8031DCC();
extern void sub_8031E10();
extern void sub_8031E00();
void sub_808D8E0(u8 *, u32);
extern char* GetMonSpecies(u32);
extern s32 sub_80953D4(u32);
extern void sub_802B2BC(u32);
extern void sub_802AAE4();
extern void sub_802AAC8();
extern void sub_802AAAC();
extern void sub_802AB7C();
extern void sub_802AA28();
extern void sub_802A98C();
extern void sub_802A9A8();
extern void sub_802A910();
extern void sub_802A8BC();
extern void sub_802A8A0();
extern void sub_802A798();
extern void sub_802A474();
extern void sub_802A090();
extern void sub_802A158();
extern void sub_802A0C8();
extern void sub_802A174();
extern void sub_802A230();
extern void sub_802A28C();
extern void sub_802A39C();
extern void sub_802A33C();
extern void sub_802A740();
extern void sub_802A6F0();
extern void sub_802A68C();
extern void sub_802A4D4();
extern void sub_802A050();
extern void sub_802A4AC();
extern void sub_802A458();
extern void sub_802A75C();
extern void sub_8029F98();
extern void sub_8029EA8();
extern void sub_802A490();
extern void sub_802AB60();
extern void sub_802AB98();
extern void sub_802A718();
extern void sub_802A6B4();
extern void sub_802A4F0();
extern void sub_802A50C();
extern void sub_802A9FC();
extern void sub_802A828();
extern void sub_802A850();
extern void sub_8030DE4();
extern void sub_801B450();
extern void sub_803084C();
extern void sub_801CBB8();
extern void sub_80155F0();
extern void sub_8031E10();
extern void sub_802F2C0();
void sub_8028B04(u32 r0)
{
@ -546,7 +656,7 @@ void sub_8028FDC(void)
}
else
{
if(return_var->unk30 <= 0)
if(return_var->unk2C <= 0)
{
sub_8028B04(0x1D);
}
@ -817,24 +927,20 @@ void sub_80293D8(void)
sub_8028B04(0x27);
}
#ifndef NONMATCHING
NAKED
#endif
// TODO: pls someone fix this madness of a match - Sese
// This is definitely a fake match with the casting and switch could probably be cleaned up too..
//
void sub_80293F4(void)
{
#ifdef NONMATCHING
u32 return_var;
u32 temp_var;
struct unkStruct_80293F4 temp;
return_var = sub_80154F0();
MemoryFill8(temp.unk14, 0, 0x30);
MemoryFill8((u8 *)temp.unkArray, 0, 0x30);
switch(return_var)
{
case 3:
return_var = sub_8039068(0x1C, &(gUnknown_203B2C0->unk8), temp.unk14) - 7;
if(return_var <= 0x11)
{
switch(return_var)
switch(sub_8039068(0x1C, (gUnknown_203B2C0->unk8), temp.unkArray) - 7)
{
case 1:
case 2:
@ -847,13 +953,7 @@ void sub_80293F4(void)
case 9:
break;
case 10:
// TODO one register off from matching
temp.unk0 = 0;
temp.unk4 = 4;
temp.unk8 = 0;
temp.unkC = &(gUnknown_203B2C0->unk420);
temp.unk10 = 0xC;
sub_8014248(&gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48);
sub_8014248(&gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48, 0, 4, 0, &gUnknown_203B2C0->unk420, 0xC);
sub_8028B04(0x28);
break;
case 11:
@ -869,10 +969,9 @@ void sub_80293F4(void)
case 14:
break;
case 15:
sub_8095274(temp.unk24);
// This one is iffy.. not sure
temp.unk14[0] = 2;
sub_80951BC(temp.unk14);
sub_8095274(temp.unk10);
temp.unkArray[0] = 2; // Some sort of Ack?
sub_80951BC(temp.unkArray);
sub_80141B4(&gWonderMailAOKMailReceivedText, 0, &gUnknown_203B2C0->unk420, 0x101);
sub_8028B04(0x23);
break;
@ -881,7 +980,6 @@ void sub_80293F4(void)
default:
break;
}
}
sub_80155F0();
break;
case 2:
@ -893,158 +991,6 @@ void sub_80293F4(void)
default:
break;
}
#else
asm_unified("\tpush {r4,lr}\n"
"\tsub sp, 0x44\n"
"\tbl sub_80154F0\n"
"\tadds r4, r0, 0\n"
"\tadd r0, sp, 0x14\n"
"\tmovs r1, 0\n"
"\tmovs r2, 0x30\n"
"\tbl MemoryFill8\n"
"\tcmp r4, 0x2\n"
"\tbne _0802940E\n"
"\tb _08029530\n"
"_0802940E:\n"
"\tcmp r4, 0x3\n"
"\tbeq _08029414\n"
"\tb _08029550\n"
"_08029414:\n"
"\tldr r0, _08029434\n"
"\tldr r1, [r0]\n"
"\tadds r1, 0x8\n"
"\tmovs r0, 0x1C\n"
"\tadd r2, sp, 0x14\n"
"\tbl sub_8039068\n"
"\tsubs r0, 0x7\n"
"\tcmp r0, 0x11\n"
"\tbls _0802942A\n"
"\tb _0802951C\n"
"_0802942A:\n"
"\tlsls r0, 2\n"
"\tldr r1, _08029438\n"
"\tadds r0, r1\n"
"\tldr r0, [r0]\n"
"\tmov pc, r0\n"
"\t.align 2, 0\n"
"_08029434: .4byte gUnknown_203B2C0\n"
"_08029438: .4byte _0802943C\n"
"\t.align 2, 0\n"
"_0802943C:\n"
"\t.4byte _080294C8\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _08029484\n"
"\t.4byte _080294C0\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"\t.4byte _080294F0\n"
"\t.4byte _0802951C\n"
"\t.4byte _0802951C\n"
"_08029484:\n"
"\tldr r0, _080294B4\n"
"\tldr r3, _080294B8\n"
"\tmovs r2, 0\n"
"\tstr r2, [sp]\n"
"\tmovs r1, 0x4\n"
"\tstr r1, [sp, 0x4]\n"
"\tstr r2, [sp, 0x8]\n"
"\tldr r1, _080294BC\n"
"\tldr r1, [r1]\n"
"\tmovs r2, 0x84\n"
"\tlsls r2, 3\n"
"\tadds r1, r2\n"
"\tstr r1, [sp, 0xC]\n"
"\tmovs r1, 0xC\n"
"\tstr r1, [sp, 0x10]\n"
"\tmovs r1, 0\n"
"\tmovs r2, 0x8\n"
"\tbl sub_8014248\n"
"\tmovs r0, 0x28\n"
"\tbl sub_8028B04\n"
"\tb _0802951C\n"
"\t.align 2, 0\n"
"_080294B4: .4byte gWonderMailPasswordIncorrectText\n"
"_080294B8: .4byte gUnknown_80DDA48\n"
"_080294BC: .4byte gUnknown_203B2C0\n"
"_080294C0:\n"
"\tldr r0, _080294C4\n"
"\tb _080294CA\n"
"\t.align 2, 0\n"
"_080294C4: .4byte gWonderMailSOSPasswordIncorrectText\n"
"_080294C8:\n"
"\tldr r0, _080294E4\n"
"_080294CA:\n"
"\tldr r1, _080294E8\n"
"\tldr r2, [r1]\n"
"\tmovs r1, 0x84\n"
"\tlsls r1, 3\n"
"\tadds r2, r1\n"
"\tldr r3, _080294EC\n"
"\tmovs r1, 0\n"
"\tbl sub_80141B4\n"
"\tmovs r0, 0x7\n"
"\tbl sub_8028B04\n"
"\tb _0802951C\n"
"\t.align 2, 0\n"
"_080294E4: .4byte gWonderMailDuplicateText\n"
"_080294E8: .4byte gUnknown_203B2C0\n"
"_080294EC: .4byte 0x0000010d\n"
"_080294F0:\n"
"\tldr r0, [sp, 0x24]\n"
"\tbl sub_8095274\n"
"\tadd r1, sp, 0x14\n"
"\tmovs r0, 0x2\n"
"\tstrb r0, [r1]\n"
"\tadds r0, r1, 0\n"
"\tbl sub_80951BC\n"
"\tldr r0, _08029524\n"
"\tldr r1, _08029528\n"
"\tldr r2, [r1]\n"
"\tmovs r1, 0x84\n"
"\tlsls r1, 3\n"
"\tadds r2, r1\n"
"\tldr r3, _0802952C\n"
"\tmovs r1, 0\n"
"\tbl sub_80141B4\n"
"\tmovs r0, 0x23\n"
"\tbl sub_8028B04\n"
"_0802951C:\n"
"\tbl sub_80155F0\n"
"\tb _08029550\n"
"\t.align 2, 0\n"
"_08029524: .4byte gWonderMailAOKMailReceivedText\n"
"_08029528: .4byte gUnknown_203B2C0\n"
"_0802952C: .4byte 0x00000101\n"
"_08029530:\n"
"\tbl sub_80155F0\n"
"\tbl ResetUnusedInputStruct\n"
"\tldr r0, _08029558\n"
"\tldr r0, [r0]\n"
"\tmovs r2, 0xEF\n"
"\tlsls r2, 2\n"
"\tadds r0, r2\n"
"\tmovs r1, 0x1\n"
"\tmovs r2, 0x1\n"
"\tbl sub_800641C\n"
"\tmovs r0, 0x1\n"
"\tbl sub_8028B04\n"
"_08029550:\n"
"\tadd sp, 0x44\n"
"\tpop {r4}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_08029558: .4byte gUnknown_203B2C0\n");
#endif
}
void sub_802955C(void)
@ -1436,3 +1382,252 @@ void sub_8029B34(void)
}
sub_8028B04(3);
}
u32 sub_8029B50(void)
{
char *monName;
struct OpenedFile *faceFile;
s32 uVar2;
int counter;
struct unkStruct_8095228 *temp;
ResetUnusedInputStruct();
sub_800641C(0,1,1);
gUnknown_203B2C4 = MemoryAlloc(0x564, 8);
MemoryFill8((u8 *)gUnknown_203B2C4, 0, 0x564);
sub_808D8E0(gUnknown_202E5D8, SPECIES_PELIPPER);
monName = GetMonSpecies(SPECIES_PELIPPER);
strcpy(gAvailablePokemonNames, monName);
faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER);
gUnknown_203B2C4->faceFile = faceFile;
gUnknown_203B2C4->faceData = faceFile->data;
gUnknown_203B2C4->unk42C = 0;
gUnknown_203B2C4->unk42D = 0;
gUnknown_203B2C4->unk42E = 0;
gUnknown_203B2C4->unk428 = 2;
gUnknown_203B2C4->unk42A = 8;
for(counter = 0; counter < 0x36; counter++){
gUnknown_203B2C4->unk8[counter] = 0;
}
gUnknown_203B2C4->unk534 = 3;
gUnknown_203B2C4->unk538 = 1;
uVar2 = sub_80953D4(6);
if (uVar2 != -1) {
temp = sub_8095228(uVar2);
gUnknown_203B2C4->unk41C = temp->unk20;
gUnknown_203B2C4->unk218 = uVar2;
gUnknown_203B2C4->unk430 = temp->unk10;
sub_802B2BC(5);
}
else {
gUnknown_203B2C4->unk41C = gUnknown_80DED44;
gUnknown_203B2C4->unk218 = -1;
sub_802B2BC(0);
}
gUnknown_203B2C4->unk4 = 0x2b;
return 1;
}
u32 sub_8029C98(void)
{
switch(gUnknown_203B2C4->unk0) {
case 5:
sub_802AB7C();
break;
case 0x1e:
sub_8029F98();
break;
case 0x1f:
sub_8029EA8();
break;
case 0xe:
sub_802A090();
break;
case 0xf:
sub_802A158();
break;
case 0x11:
sub_802A174();
break;
case 0x12:
sub_802A230();
break;
case 0x10:
sub_802A0C8();
break;
case 0x13:
sub_802A28C();
break;
case 0x14:
sub_802A39C();
break;
case 0x15:
sub_802A33C();
break;
case 0x1c:
sub_802A458();
break;
case 0x1b:
sub_802A4AC();
break;
case 0x19:
sub_802A4D4();
break;
case 0x1a:
sub_802A050();
break;
case 0x28:
sub_802A9FC();
break;
case 0x26:
sub_802A4F0();
break;
case 0x27:
sub_802A50C();
break;
case 0x25:
sub_802A6B4();
break;
case 0x24:
sub_802A718();
break;
case 0x21:
sub_802AB60();
break;
case 0x22:
sub_802AB98();
break;
case 0x16:
sub_802A740();
break;
case 0x18:
sub_802A68C();
break;
case 0x17:
sub_802A6F0();
break;
case 0x1d:
sub_802A75C();
break;
case 0x20:
sub_802A490();
break;
case 0xd:
sub_802A474();
break;
case 0xc:
sub_802A798();
break;
case 0x29:
sub_802A828();
break;
case 0x2a:
sub_802A850();
break;
case 0xb:
sub_802A8A0();
break;
case 10:
sub_802A8BC();
break;
case 9:
sub_802A910();
break;
case 7:
sub_802A98C();
break;
case 8:
sub_802A9A8();
break;
case 6:
sub_802AA28();
break;
case 4:
sub_802AAAC();
break;
case 0:
case 1:
sub_802AAE4();
break;
case 2:
sub_802AAC8();
break;
case 3:
return 3;
}
return 0;
}
void sub_8029E60(void)
{
if(gUnknown_203B2C4 != NULL)
{
CloseFile(gUnknown_203B2C4->faceFile);
MemoryFree(gUnknown_203B2C4);
gUnknown_203B2C4 = NULL;
sub_8030DE4();
sub_801B450();
sub_803084C();
sub_801CBB8();
sub_80155F0();
sub_8031E10();
sub_802F2C0();
}
}
void sub_8029EA8(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(1);
}
}
void sub_8029EC4(u32 param_1)
{
switch(param_1) {
case 3:
sub_80141B4(&gUnknown_80DEF28, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 4:
sub_80141B4(&gUnknown_80DEF80, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 6:
sub_80141B4(&gUnknown_80DEFDC, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 7:
sub_80141B4(&gUnknown_80DF044, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 9:
sub_80141B4(&gUnknown_80DF0A0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 11:
sub_80141B4(&gUnknown_80DF0A0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 13:
sub_80141B4(&gUnknown_80DF0E0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 1:
case 2:
case 5:
case 14:
sub_80141B4(&gUnknown_80DEF04, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 15:
sub_80141B4(&gUnknown_80DF138,0,(u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 0:
case 8:
case 10:
case 12:
default:
return;
}
}

View File

@ -2,8 +2,7 @@
extern void sub_80338C4(u32);
extern u32 *gUnknown_203B33C;
u32 sub_80144A4(s32 *);
extern s32 sub_80144A4(s32 *);
void sub_8035374(void)
{
@ -45,3 +44,30 @@ void sub_80353BC(void)
break;
}
}
void sub_8035404(u32 param_1)
{
s32 iVar1;
if(sub_80144A4(&iVar1) == 0){
sub_80338C4(param_1);
}
}
void sub_8035424(void)
{
sub_80338C4(6);
}
void sub_8035430(void)
{
sub_80338C4(0x4F);
}
void nullsub_50(void)
{
}
void nullsub_51(void)
{
}

399
src/wonder_mail_mid.c Normal file
View File

@ -0,0 +1,399 @@
#include "global.h"
#include "file_system.h"
struct unkStruct_203B2C4
{
// size: 0x564
u8 unk0;
u8 padding[3];
u32 unk4; // wonder mail link status??
u8 unk8[0x36];
u8 unk3E;
u32 unk40;
u32 unk44; // another link status
u8 filler48[0x218 - 0x48];
s8 unk218;
u32 unk21C;
u8 filler220[0x30C - 0x220];
u32 unk30C;
u8 filler310[0x35C - 0x310];
u32 unk35C;
u8 filler360[0x3BC - 0x360];
u32 unk3BC;
u8 filler3C0[0x41C - 0x3C0];
u8 unk41C[4]; // TODO: unify this with wonder_mail.c
struct OpenedFile *faceFile;
u8 *faceData;
u16 unk428;
u16 unk42A;
u8 unk42C;
u8 unk42D;
u8 unk42E;
u32 unk430;
u8 filler434[0x534 - 0x434];
s32 unk534;
u32 unk538;
};
extern struct unkStruct_203B2C4 *gUnknown_203B2C4;
extern u16 gUnknown_80E5990[];
extern struct unkStruct_203B340 *gUnknown_203B340;
extern s32 sub_8001658(u32, u32);
extern u32 gUnknown_80E4A40[];
extern u8 sub_8099B94();
extern void sub_8099A5C(u32, u32, u32*);
extern void sub_8099AFC(u32, u32, u32*);
extern void sub_800641C(void *, u32, u32);
extern void ResetUnusedInputStruct();
extern void sub_8099690(u32);
extern void sub_80141B4(u32 *r0, u32, u32 *r1, u32);
extern void MemoryFill8(u8 *dest, u8 value, s32 size);
extern u32 gUnknown_80DF194;
extern void sub_8029EC4(u32 param_1);
extern void sub_802B2BC(u32);
extern u32 sub_80144A4(s32 *r0);
extern u32 sub_8031DCC(void);
extern void sub_8031E00(void);
extern void sub_8031E10(void);
extern void sub_8030D40(u8, u32);
extern u32 sub_8030768(u32);
extern void sub_803084C(void);
extern s8 sub_80307EC(void);
extern void sub_8006518(u32 *);
extern u8 sub_8012FD8(u32 *r0);
extern void sub_8013114(u32 *, s32 *);
extern void sub_8035CC0(u32 *, u32);
extern void sub_8030810(u32);
extern u32 sub_8030DA0();
extern void sub_8030DE4();
extern void sub_803092C();
extern void sub_8035CF4(u32 *, u32, u32);
extern u32 sub_801CA08(u32);
extern void sub_801CBB8();
extern void sub_801B3C0(u8 *);
extern u8 sub_801CB24();
extern void sub_801B450();
extern u32 sub_801B410();
extern void sub_801CB5C(u32);
extern void sub_801CCD8();
extern void sub_8011C28(u32);
extern void sub_8012574(u32);
void sub_8029F98(void)
{
s32 auStack20;
if (sub_80144A4(&auStack20) != 0) {
return;
}
MemoryFill8(gUnknown_203B2C4->unk41C, 0, 4);
gUnknown_203B2C4->unk41C[2] = 0;
gUnknown_203B2C4->unk41C[1] = 1;
gUnknown_203B2C4->unk41C[0] = 0;
if (gUnknown_203B2C4->unk44 == 0) {
switch(gUnknown_203B2C4->unk40)
{
case 6:
switch(gUnknown_203B2C4->unk534)
{
case 3:
case 5:
case 6:
sub_80141B4(&gUnknown_80DF194, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
break;
case 4:
default:
break;
}
sub_802B2BC(0xD);
return;
case 7:
sub_802B2BC(0x21);
return;
default:
return;
}
}
else
{
sub_8029EC4(gUnknown_203B2C4->unk44);
sub_802B2BC(0x1F);
}
}
void sub_802A050(void)
{
switch(sub_8031DCC())
{
case 3:
case 2:
sub_8031E10();
ResetUnusedInputStruct();
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
sub_802B2BC(0x1B);
break;
case 1:
sub_8031E00();
break;
default:
return;
}
}
void sub_802A090(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
switch(temp)
{
case 7:
sub_802B2BC(6);
break;
case 8:
case 0:
sub_802B2BC(1);
break;
default:
break;
}
}
}
void sub_802A0C8(void)
{
switch(sub_8030768(1))
{
case 2:
sub_803084C();
sub_802B2BC(1);
break;
case 3:
gUnknown_203B2C4->unk218 = sub_80307EC();
sub_802B2BC(0x11);
break;
case 4:
gUnknown_203B2C4->unk4 = 0x10;
gUnknown_203B2C4->unk218 = sub_80307EC();
sub_8006518(&gUnknown_203B2C4->unk3BC);
ResetUnusedInputStruct();
sub_800641C(0,1,1);
sub_8030D40(gUnknown_203B2C4->unk218,0);
sub_802B2BC(0x12);
}
}
void sub_802A158(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0x10);
}
}
void sub_802A174(void)
{
s32 temp;
temp = -1;
sub_8030768(0);
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
}
switch(temp)
{
case 0xB:
sub_803084C();
sub_802B2BC(0xe);
break;
case 0xC:
gUnknown_203B2C4->unk4 = 0x2b;
sub_8006518(&gUnknown_203B2C4->unk3BC);
ResetUnusedInputStruct();
sub_800641C(0,1,1);
sub_8030D40(gUnknown_203B2C4->unk218,0);
sub_802B2BC(0x12);
break;
case 0:
case 0xD:
sub_8035CC0(&gUnknown_203B2C4->unk35C,2);
sub_8030810(1);
sub_802B2BC(0x10);
default:
break;
}
}
void sub_802A230(void)
{
switch(sub_8030DA0())
{
case 2:
case 3:
sub_8030DE4();
ResetUnusedInputStruct();
sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
sub_803092C();
if (gUnknown_203B2C4->unk4 == 0x2b) {
sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1);
sub_802B2BC(0x11);
}
else {
sub_802B2BC(gUnknown_203B2C4->unk4);
}
break;
default:
break;
}
}
void sub_802A28C(void)
{
gUnknown_203B2C4->unk41C[2] = 0;
gUnknown_203B2C4->unk41C[1] = 1;
gUnknown_203B2C4->unk41C[0] = 0;
switch(sub_801CA08(1))
{
case 2:
sub_801CBB8();
sub_802B2BC(1);
break;
case 3:
gUnknown_203B2C4->unk41C[2] = sub_801CB24();
sub_802B2BC(0x14);
break;
case 4:
gUnknown_203B2C4->unk4 = 0x13;
gUnknown_203B2C4->unk41C[2] = sub_801CB24();
sub_8006518(&gUnknown_203B2C4->unk3BC);
ResetUnusedInputStruct();
sub_800641C(0,1,1);
sub_801B3C0(gUnknown_203B2C4->unk41C);
sub_802B2BC(0x15);
break;
}
}
void sub_802A33C(void)
{
switch(sub_801B410())
{
case 2:
case 3:
sub_801B450();
ResetUnusedInputStruct();
sub_800641C(&gUnknown_203B2C4->unk3BC,1,1);
sub_801CB5C(1);
if (gUnknown_203B2C4->unk4 == 0x2b) {
sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
sub_802B2BC(0x14);
}
else {
sub_802B2BC(gUnknown_203B2C4->unk4);
}
break;
case 1:
default:
break;
}
}
void sub_802A39C(void)
{
s32 temp;
temp = -1;
sub_801CA08(0);
if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
}
switch(temp)
{
case 0xB:
sub_801CBB8();
sub_802B2BC(0xC);
break;
case 0xC:
gUnknown_203B2C4->unk4 = 0x2b;
sub_8006518(&gUnknown_203B2C4->unk3BC);
ResetUnusedInputStruct();
sub_800641C(0,1,1);
sub_801B3C0(gUnknown_203B2C4->unk41C);
sub_802B2BC(0x15);
break;
case 0:
case 0xD:
sub_8035CC0(&gUnknown_203B2C4->unk35C, 3);
sub_801CCD8();
sub_802B2BC(0x13);
default:
break;
}
}
void sub_802A458(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0xD);
}
}
void sub_802A474(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0x3);
}
}
void sub_802A490(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0x3);
}
}
void sub_802A4AC(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0x18);
sub_8011C28(1);
sub_8012574(0);
}
}
void sub_802A4D4(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0x1A);
}
}
void sub_802A4F0(void)
{
s32 temp;
if(sub_80144A4(&temp) == 0)
{
sub_802B2BC(0x27);
}
}

View File

@ -398,7 +398,7 @@ gUnknown_202DE58 = .; /* 202DE58 */
gUnknown_202DEA8 = .; /* 202DEA8 */
. += 0xF0;
gUnknown_202DF98 = .; /* 202DF98 ( Available Pokemon Names ) */
gAvailablePokemonNames = .; /* 202DF98 */
. += 0x50;
gUnknown_202DFE8 = .; /* 202DFE8 */