through sub_81306D4
This commit is contained in:
@@ -5,425 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_81303B4
|
|
||||||
sub_81303B4: @ 81303B4
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r6, r0, 24
|
|
||||||
ldr r0, _081303F8 @ =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
cmp r5, 0
|
|
||||||
bne _0813044C
|
|
||||||
ldr r4, _081303FC @ =sOakSpeechResources
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldrb r0, [r0, 0x10]
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_8131754
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldrh r0, [r0, 0x10]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08130408
|
|
||||||
ldr r0, _08130400 @ =gSaveBlock2Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldrb r2, [r1, 0x8]
|
|
||||||
str r5, [sp]
|
|
||||||
ldr r0, _08130404 @ =sub_8130C64
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl DoNamingScreen
|
|
||||||
b _08130440
|
|
||||||
.align 2, 0
|
|
||||||
_081303F8: .4byte gPaletteFade
|
|
||||||
_081303FC: .4byte sOakSpeechResources
|
|
||||||
_08130400: .4byte gSaveBlock2Ptr
|
|
||||||
_08130404: .4byte sub_8130C64
|
|
||||||
_08130408:
|
|
||||||
ldr r0, _08130454 @ =gTasks
|
|
||||||
lsls r4, r6, 2
|
|
||||||
adds r4, r6
|
|
||||||
lsls r4, 3
|
|
||||||
adds r4, r0
|
|
||||||
ldrh r0, [r4, 0x22]
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_810F4D8
|
|
||||||
ldrh r0, [r4, 0x22]
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
bl RemoveWindow
|
|
||||||
ldr r0, _08130458 @ =gSaveBlock1Ptr
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldr r0, _0813045C @ =0x00003a4c
|
|
||||||
adds r1, r0
|
|
||||||
str r5, [sp]
|
|
||||||
ldr r0, _08130460 @ =sub_8130C64
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0x4
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl DoNamingScreen
|
|
||||||
_08130440:
|
|
||||||
adds r0, r6, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_8131168
|
|
||||||
bl FreeAllWindowBuffers
|
|
||||||
_0813044C:
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130454: .4byte gTasks
|
|
||||||
_08130458: .4byte gSaveBlock1Ptr
|
|
||||||
_0813045C: .4byte 0x00003a4c
|
|
||||||
_08130460: .4byte sub_8130C64
|
|
||||||
thumb_func_end sub_81303B4
|
|
||||||
|
|
||||||
thumb_func_start sub_8130464
|
|
||||||
sub_8130464: @ 8130464
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
lsls r1, r0, 2
|
|
||||||
adds r1, r0
|
|
||||||
lsls r6, r1, 3
|
|
||||||
ldr r7, _081304A0 @ =gTasks+0x8
|
|
||||||
adds r5, r6, r7
|
|
||||||
ldr r0, _081304A4 @ =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08130544
|
|
||||||
movs r1, 0x1E
|
|
||||||
ldrsh r0, [r5, r1]
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08130500
|
|
||||||
ldr r0, _081304A8 @ =sOakSpeechResources
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrh r0, [r0, 0x10]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _081304B4
|
|
||||||
ldr r0, _081304AC @ =gStringVar4
|
|
||||||
ldr r1, _081304B0 @ =gUnknown_81C5E13
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
b _081304BC
|
|
||||||
.align 2, 0
|
|
||||||
_081304A0: .4byte gTasks+0x8
|
|
||||||
_081304A4: .4byte gPaletteFade
|
|
||||||
_081304A8: .4byte sOakSpeechResources
|
|
||||||
_081304AC: .4byte gStringVar4
|
|
||||||
_081304B0: .4byte gUnknown_81C5E13
|
|
||||||
_081304B4:
|
|
||||||
ldr r0, _081304F4 @ =gStringVar4
|
|
||||||
ldr r1, _081304F8 @ =gUnknown_81C5EB5
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
_081304BC:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_80F6EE4
|
|
||||||
ldr r2, _081304F4 @ =gStringVar4
|
|
||||||
ldr r0, _081304FC @ =sOakSpeechResources
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r3, [r0, 0x1F]
|
|
||||||
movs r4, 0
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
movs r0, 0x3
|
|
||||||
str r0, [sp, 0xC]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x4
|
|
||||||
bl AddTextPrinterParametrized
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
strh r4, [r5, 0x1E]
|
|
||||||
movs r0, 0x19
|
|
||||||
strh r0, [r5, 0x6]
|
|
||||||
b _08130544
|
|
||||||
.align 2, 0
|
|
||||||
_081304F4: .4byte gStringVar4
|
|
||||||
_081304F8: .4byte gUnknown_81C5EB5
|
|
||||||
_081304FC: .4byte sOakSpeechResources
|
|
||||||
_08130500:
|
|
||||||
movs r0, 0
|
|
||||||
bl IsTextPrinterActive
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08130544
|
|
||||||
ldrh r0, [r5, 0x6]
|
|
||||||
movs r1, 0x6
|
|
||||||
ldrsh r4, [r5, r1]
|
|
||||||
cmp r4, 0
|
|
||||||
beq _0813051C
|
|
||||||
subs r0, 0x1
|
|
||||||
strh r0, [r5, 0x6]
|
|
||||||
b _08130544
|
|
||||||
_0813051C:
|
|
||||||
bl sub_80F796C
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldr r1, _0813054C @ =gUnknown_8462ED0
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0xE
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r4, [sp, 0x8]
|
|
||||||
adds r0, r1, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x2
|
|
||||||
bl sub_810FF60
|
|
||||||
adds r0, r7, 0
|
|
||||||
subs r0, 0x8
|
|
||||||
adds r0, r6, r0
|
|
||||||
ldr r1, _08130550 @ =sub_8130554
|
|
||||||
str r1, [r0]
|
|
||||||
_08130544:
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813054C: .4byte gUnknown_8462ED0
|
|
||||||
_08130550: .4byte sub_8130554
|
|
||||||
thumb_func_end sub_8130464
|
|
||||||
|
|
||||||
thumb_func_start sub_8130554
|
|
||||||
sub_8130554: @ 8130554
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
bl ProcessMenuInputNoWrap_
|
|
||||||
lsls r0, 24
|
|
||||||
asrs r5, r0, 24
|
|
||||||
cmp r5, 0
|
|
||||||
beq _0813057C
|
|
||||||
cmp r5, 0
|
|
||||||
bgt _08130576
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
cmp r5, r0
|
|
||||||
beq _08130604
|
|
||||||
b _0813063E
|
|
||||||
_08130576:
|
|
||||||
cmp r5, 0x1
|
|
||||||
beq _08130604
|
|
||||||
b _0813063E
|
|
||||||
_0813057C:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
ldr r1, _081305B0 @ =gTasks
|
|
||||||
lsls r0, r4, 2
|
|
||||||
adds r0, r4
|
|
||||||
lsls r0, 3
|
|
||||||
adds r6, r0, r1
|
|
||||||
movs r0, 0x28
|
|
||||||
strh r0, [r6, 0xE]
|
|
||||||
ldr r7, _081305B4 @ =sOakSpeechResources
|
|
||||||
ldr r0, [r7]
|
|
||||||
ldrh r0, [r0, 0x10]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _081305BC
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_80F6F54
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl sub_813144C
|
|
||||||
ldr r0, _081305B8 @ =sub_8130650
|
|
||||||
str r0, [r6]
|
|
||||||
b _0813063E
|
|
||||||
.align 2, 0
|
|
||||||
_081305B0: .4byte gTasks
|
|
||||||
_081305B4: .4byte sOakSpeechResources
|
|
||||||
_081305B8: .4byte sub_8130650
|
|
||||||
_081305BC:
|
|
||||||
ldr r4, _081305F8 @ =gStringVar4
|
|
||||||
ldr r1, _081305FC @ =gUnknown_81C5EC5
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_80F6EE4
|
|
||||||
ldr r0, [r7]
|
|
||||||
ldrb r3, [r0, 0x1F]
|
|
||||||
str r5, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
movs r0, 0x3
|
|
||||||
str r0, [sp, 0xC]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x4
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl AddTextPrinterParametrized
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldr r0, _08130600 @ =sub_8130694
|
|
||||||
str r0, [r6]
|
|
||||||
b _0813063E
|
|
||||||
.align 2, 0
|
|
||||||
_081305F8: .4byte gStringVar4
|
|
||||||
_081305FC: .4byte gUnknown_81C5EC5
|
|
||||||
_08130600: .4byte sub_8130694
|
|
||||||
_08130604:
|
|
||||||
movs r0, 0x5
|
|
||||||
bl PlaySE
|
|
||||||
ldr r0, _08130624 @ =sOakSpeechResources
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrh r0, [r0, 0x10]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08130630
|
|
||||||
ldr r0, _08130628 @ =gTasks
|
|
||||||
lsls r1, r4, 2
|
|
||||||
adds r1, r4
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, _0813062C @ =sub_8130160
|
|
||||||
b _0813063C
|
|
||||||
.align 2, 0
|
|
||||||
_08130624: .4byte sOakSpeechResources
|
|
||||||
_08130628: .4byte gTasks
|
|
||||||
_0813062C: .4byte sub_8130160
|
|
||||||
_08130630:
|
|
||||||
ldr r0, _08130648 @ =gTasks
|
|
||||||
lsls r1, r4, 2
|
|
||||||
adds r1, r4
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, _0813064C @ =sub_8130228
|
|
||||||
_0813063C:
|
|
||||||
str r0, [r1]
|
|
||||||
_0813063E:
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130648: .4byte gTasks
|
|
||||||
_0813064C: .4byte sub_8130228
|
|
||||||
thumb_func_end sub_8130554
|
|
||||||
|
|
||||||
thumb_func_start sub_8130650
|
|
||||||
sub_8130650: @ 8130650
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
lsls r1, r0, 2
|
|
||||||
adds r1, r0
|
|
||||||
lsls r5, r1, 3
|
|
||||||
ldr r6, _0813067C @ =gTasks+0x8
|
|
||||||
adds r4, r5, r6
|
|
||||||
movs r1, 0x4
|
|
||||||
ldrsh r0, [r4, r1]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0813068A
|
|
||||||
bl sub_8131310
|
|
||||||
ldrh r1, [r4, 0x6]
|
|
||||||
movs r2, 0x6
|
|
||||||
ldrsh r0, [r4, r2]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08130680
|
|
||||||
subs r0, r1, 0x1
|
|
||||||
strh r0, [r4, 0x6]
|
|
||||||
b _0813068A
|
|
||||||
.align 2, 0
|
|
||||||
_0813067C: .4byte gTasks+0x8
|
|
||||||
_08130680:
|
|
||||||
adds r0, r6, 0
|
|
||||||
subs r0, 0x8
|
|
||||||
adds r0, r5, r0
|
|
||||||
ldr r1, _08130690 @ =sub_81306D4
|
|
||||||
str r1, [r0]
|
|
||||||
_0813068A:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130690: .4byte sub_81306D4
|
|
||||||
thumb_func_end sub_8130650
|
|
||||||
|
|
||||||
thumb_func_start sub_8130694
|
|
||||||
sub_8130694: @ 8130694
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
movs r0, 0
|
|
||||||
bl IsTextPrinterActive
|
|
||||||
lsls r0, 16
|
|
||||||
cmp r0, 0
|
|
||||||
bne _081306C4
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x1
|
|
||||||
bl sub_80F6F54
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl sub_813144C
|
|
||||||
ldr r0, _081306CC @ =gTasks
|
|
||||||
lsls r1, r4, 2
|
|
||||||
adds r1, r4
|
|
||||||
lsls r1, 3
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, _081306D0 @ =sub_81307D0
|
|
||||||
str r0, [r1]
|
|
||||||
_081306C4:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_081306CC: .4byte gTasks
|
|
||||||
_081306D0: .4byte sub_81307D0
|
|
||||||
thumb_func_end sub_8130694
|
|
||||||
|
|
||||||
thumb_func_start sub_81306D4
|
|
||||||
sub_81306D4: @ 81306D4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r5, r0, 0
|
|
||||||
lsls r5, 24
|
|
||||||
lsrs r5, 24
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl ChangeBgX
|
|
||||||
ldr r0, _08130710 @ =gTasks
|
|
||||||
lsls r4, r5, 2
|
|
||||||
adds r4, r5
|
|
||||||
lsls r4, 3
|
|
||||||
adds r4, r0
|
|
||||||
movs r1, 0
|
|
||||||
strh r1, [r4, 0xA]
|
|
||||||
ldr r0, _08130714 @ =gSpriteCoordOffsetX
|
|
||||||
strh r1, [r0]
|
|
||||||
movs r0, 0x2
|
|
||||||
bl sub_81311F4
|
|
||||||
adds r0, r5, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl sub_81315CC
|
|
||||||
ldr r0, _08130718 @ =sub_813071C
|
|
||||||
str r0, [r4]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08130710: .4byte gTasks
|
|
||||||
_08130714: .4byte gSpriteCoordOffsetX
|
|
||||||
_08130718: .4byte sub_813071C
|
|
||||||
thumb_func_end sub_81306D4
|
|
||||||
|
|
||||||
thumb_func_start sub_813071C
|
thumb_func_start sub_813071C
|
||||||
sub_813071C: @ 813071C
|
sub_813071C: @ 813071C
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
@@ -713,6 +713,9 @@ extern const u8 gUnknown_81C5D12[];
|
|||||||
extern const u8 gUnknown_81C5D4B[];
|
extern const u8 gUnknown_81C5D4B[];
|
||||||
extern const u8 gUnknown_81C5DBD[];
|
extern const u8 gUnknown_81C5DBD[];
|
||||||
extern const u8 gUnknown_81C5DEA[];
|
extern const u8 gUnknown_81C5DEA[];
|
||||||
|
extern const u8 gUnknown_81C5E13[];
|
||||||
extern const u8 gUnknown_81C5E91[];
|
extern const u8 gUnknown_81C5E91[];
|
||||||
|
extern const u8 gUnknown_81C5EB5[];
|
||||||
|
extern const u8 gUnknown_81C5EC5[];
|
||||||
|
|
||||||
#endif //GUARD_EVENT_SCRIPTS_H
|
#endif //GUARD_EVENT_SCRIPTS_H
|
||||||
|
|||||||
@@ -44,5 +44,6 @@ void sub_810F5E8(const u8 *, u32, u8);
|
|||||||
void sub_810F71C(void);
|
void sub_810F71C(void);
|
||||||
void sub_810F740(void);
|
void sub_810F740(void);
|
||||||
void sub_810F7D8(u8, u8, u8, u8, u8, u8, u8);
|
void sub_810F7D8(u8, u8, u8, u8, u8, u8, u8);
|
||||||
|
void sub_810FF60(const struct WindowTemplate *, u8, u8, u8, u16, u8, u8);
|
||||||
|
|
||||||
#endif // GUARD_MENU_H
|
#endif // GUARD_MENU_H
|
||||||
|
|||||||
+128
-73
@@ -18,6 +18,7 @@
|
|||||||
#include "scanline_effect.h"
|
#include "scanline_effect.h"
|
||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
#include "pokeball.h"
|
#include "pokeball.h"
|
||||||
|
#include "naming_screen.h"
|
||||||
#include "constants/species.h"
|
#include "constants/species.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
@@ -68,6 +69,13 @@ void sub_8130160(u8 taskId);
|
|||||||
void sub_8130324(u8 taskId);
|
void sub_8130324(u8 taskId);
|
||||||
void sub_81303B4(u8 taskId);
|
void sub_81303B4(u8 taskId);
|
||||||
void sub_8130464(u8 taskId);
|
void sub_8130464(u8 taskId);
|
||||||
|
void sub_8130554(u8 taskId);
|
||||||
|
void sub_8130650(u8 taskId);
|
||||||
|
void sub_8130694(u8 taskId);
|
||||||
|
void sub_81306D4(u8 taskId);
|
||||||
|
void sub_813071C(u8 taskId);
|
||||||
|
void sub_81307D0(u8 taskId);
|
||||||
|
void sub_8130C64(void);
|
||||||
void sub_8130F2C(u8 taskId);
|
void sub_8130F2C(u8 taskId);
|
||||||
void sub_8130FD4(u8 taskId, u8 state);
|
void sub_8130FD4(u8 taskId, u8 state);
|
||||||
void sub_8131168(u8 taskId, u8 state);
|
void sub_8131168(u8 taskId, u8 state);
|
||||||
@@ -513,6 +521,7 @@ extern const struct BgTemplate gUnknown_8462E58[3];
|
|||||||
extern const struct WindowTemplate *const gUnknown_8462EB4[3];
|
extern const struct WindowTemplate *const gUnknown_8462EB4[3];
|
||||||
extern const struct WindowTemplate gUnknown_8462EC0;
|
extern const struct WindowTemplate gUnknown_8462EC0;
|
||||||
extern const struct WindowTemplate gUnknown_8462EC8;
|
extern const struct WindowTemplate gUnknown_8462EC8;
|
||||||
|
extern const struct WindowTemplate gUnknown_8462ED0;
|
||||||
extern const struct TextColor gUnknown_8462EE8;
|
extern const struct TextColor gUnknown_8462EE8;
|
||||||
extern const struct TextColor gUnknown_8462EEC;
|
extern const struct TextColor gUnknown_8462EEC;
|
||||||
extern const u8 *const gUnknown_8462EF0[];
|
extern const u8 *const gUnknown_8462EF0[];
|
||||||
@@ -1316,13 +1325,10 @@ void sub_8130228(u8 taskId)
|
|||||||
gTasks[taskId].func = sub_8130324;
|
gTasks[taskId].func = sub_8130324;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef NONMATCHING
|
|
||||||
// switch case uses blt, should use ble
|
|
||||||
void sub_8130324(u8 taskId)
|
void sub_8130324(u8 taskId)
|
||||||
{
|
{
|
||||||
s16 * data = gTasks[taskId].data;
|
s16 * data = gTasks[taskId].data;
|
||||||
s8 input = ProcessMenuInput();
|
s8 input = ProcessMenuInput();
|
||||||
|
|
||||||
switch (input)
|
switch (input)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
@@ -1341,77 +1347,126 @@ void sub_8130324(u8 taskId)
|
|||||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||||
gTasks[taskId].func = sub_81303B4;
|
gTasks[taskId].func = sub_81303B4;
|
||||||
break;
|
break;
|
||||||
|
case -1:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
NAKED
|
void sub_81303B4(u8 taskId)
|
||||||
void sub_8130324(u8 taskId)
|
|
||||||
{
|
{
|
||||||
asm_unified("\tpush {r4-r7,lr}\n"
|
if (!gPaletteFade.active)
|
||||||
"\tsub sp, 0x4\n"
|
{
|
||||||
"\tlsls r0, 24\n"
|
sub_8131754(sOakSpeechResources->unk_0010, 0);
|
||||||
"\tlsrs r0, 24\n"
|
if (sOakSpeechResources->unk_0010 == 0)
|
||||||
"\tlsls r1, r0, 2\n"
|
{
|
||||||
"\tadds r1, r0\n"
|
DoNamingScreen(0, gSaveBlock2Ptr->playerName, gSaveBlock2Ptr->playerGender, 0, 0, sub_8130C64);
|
||||||
"\tlsls r6, r1, 3\n"
|
}
|
||||||
"\tldr r7, _0813037C @ =gTasks+0x8\n"
|
else
|
||||||
"\tadds r5, r6, r7\n"
|
{
|
||||||
"\tbl ProcessMenuInput\n"
|
sub_810F4D8(gTasks[taskId].data[13], 1);
|
||||||
"\tlsls r0, 24\n"
|
RemoveWindow(gTasks[taskId].data[13]);
|
||||||
"\tasrs r4, r0, 24\n"
|
DoNamingScreen(4, gSaveBlock1Ptr->rivalName, 0, 0, 0, sub_8130C64);
|
||||||
"\tcmp r4, 0\n"
|
}
|
||||||
"\tbeq _08130388\n"
|
sub_8131168(taskId, 1);
|
||||||
"\tcmp r4, 0\n"
|
FreeAllWindowBuffers();
|
||||||
"\tble _081303A8\n"
|
}
|
||||||
"\tcmp r4, 0x4\n"
|
}
|
||||||
"\tbgt _081303A8\n"
|
|
||||||
"\tmovs r0, 0x5\n"
|
void sub_8130464(u8 taskId)
|
||||||
"\tbl PlaySE\n"
|
{
|
||||||
"\tldrb r0, [r5, 0x1A]\n"
|
s16 * data = gTasks[taskId].data;
|
||||||
"\tmovs r1, 0x1\n"
|
|
||||||
"\tbl sub_810F4D8\n"
|
if (!gPaletteFade.active)
|
||||||
"\tldrb r0, [r5, 0x1A]\n"
|
{
|
||||||
"\tbl RemoveWindow\n"
|
if (data[15] == 1)
|
||||||
"\tldr r0, _08130380 @ =sOakSpeechResources\n"
|
{
|
||||||
"\tldr r0, [r0]\n"
|
if (sOakSpeechResources->unk_0010 == 0)
|
||||||
"\tldrb r0, [r0, 0x10]\n"
|
{
|
||||||
"\tsubs r1, r4, 0x1\n"
|
StringExpandPlaceholders(gStringVar4, gUnknown_81C5E13);
|
||||||
"\tlsls r1, 24\n"
|
}
|
||||||
"\tlsrs r1, 24\n"
|
else
|
||||||
"\tbl sub_8131754\n"
|
{
|
||||||
"\tmovs r0, 0x1\n"
|
StringExpandPlaceholders(gStringVar4, gUnknown_81C5EB5);
|
||||||
"\tstrh r0, [r5, 0x1E]\n"
|
}
|
||||||
"\tadds r0, r7, 0\n"
|
OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F);
|
||||||
"\tsubs r0, 0x8\n"
|
data[15] = 0;
|
||||||
"\tadds r0, r6, r0\n"
|
data[3] = 25;
|
||||||
"\tldr r1, _08130384 @ =sub_8130464\n"
|
}
|
||||||
"\tb _081303A6\n"
|
else if (!IsTextPrinterActive(0))
|
||||||
"\t.align 2, 0\n"
|
{
|
||||||
"_0813037C: .4byte gTasks+0x8\n"
|
if (data[3] != 0)
|
||||||
"_08130380: .4byte sOakSpeechResources\n"
|
data[3]--;
|
||||||
"_08130384: .4byte sub_8130464\n"
|
else
|
||||||
"_08130388:\n"
|
{
|
||||||
"\tmovs r0, 0x5\n"
|
sub_810FF60(&gUnknown_8462ED0, 2, 0, 2, sub_80F796C(), 14, 0);
|
||||||
"\tbl PlaySE\n"
|
gTasks[taskId].func = sub_8130554;
|
||||||
"\tmovs r0, 0x1\n"
|
}
|
||||||
"\tnegs r0, r0\n"
|
}
|
||||||
"\tstr r4, [sp]\n"
|
}
|
||||||
"\tmovs r1, 0\n"
|
}
|
||||||
"\tmovs r2, 0\n"
|
|
||||||
"\tmovs r3, 0x10\n"
|
void sub_8130554(u8 taskId)
|
||||||
"\tbl BeginNormalPaletteFade\n"
|
{
|
||||||
"\tadds r0, r7, 0\n"
|
s8 input = ProcessMenuInputNoWrap_();
|
||||||
"\tsubs r0, 0x8\n"
|
switch (input)
|
||||||
"\tadds r0, r6, r0\n"
|
{
|
||||||
"\tldr r1, _081303B0 @ =sub_81303B4\n"
|
case 0:
|
||||||
"_081303A6:\n"
|
PlaySE(SE_SELECT);
|
||||||
"\tstr r1, [r0]\n"
|
gTasks[taskId].data[3] = 40;
|
||||||
"_081303A8:\n"
|
if (sOakSpeechResources->unk_0010 == 0)
|
||||||
"\tadd sp, 0x4\n"
|
{
|
||||||
"\tpop {r4-r7}\n"
|
sub_80F6F54(0, 1);
|
||||||
"\tpop {r0}\n"
|
sub_813144C(taskId, 2);
|
||||||
"\tbx r0\n"
|
gTasks[taskId].func = sub_8130650;
|
||||||
"\t.align 2, 0\n"
|
}
|
||||||
"_081303B0: .4byte sub_81303B4");
|
else
|
||||||
|
{
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_81C5EC5);
|
||||||
|
OaksSpeechPrintMessage(gStringVar4, sOakSpeechResources->unk_001F);
|
||||||
|
gTasks[taskId].func = sub_8130694;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
case -1:
|
||||||
|
PlaySE(SE_SELECT);
|
||||||
|
if (sOakSpeechResources->unk_0010 == 0)
|
||||||
|
gTasks[taskId].func = sub_8130160;
|
||||||
|
else
|
||||||
|
gTasks[taskId].func = sub_8130228;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8130650(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
|
||||||
|
if (data[2] != 0)
|
||||||
|
{
|
||||||
|
sub_8131310();
|
||||||
|
if (data[3] != 0)
|
||||||
|
data[3]--;
|
||||||
|
else
|
||||||
|
gTasks[taskId].func = sub_81306D4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8130694(u8 taskId)
|
||||||
|
{
|
||||||
|
if (!IsTextPrinterActive(0))
|
||||||
|
{
|
||||||
|
sub_80F6F54(0, 1);
|
||||||
|
sub_813144C(taskId, 2);
|
||||||
|
gTasks[taskId].func = sub_81307D0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_81306D4(u8 taskId)
|
||||||
|
{
|
||||||
|
ChangeBgX(2, 0, 0);
|
||||||
|
gTasks[taskId].data[1] = 0;
|
||||||
|
gSpriteCoordOffsetX = 0;
|
||||||
|
sub_81311F4(2, 0);
|
||||||
|
sub_81315CC(taskId, 2);
|
||||||
|
gTasks[taskId].func = sub_813071C;
|
||||||
}
|
}
|
||||||
#endif //NONMATCHING
|
|
||||||
|
|||||||
Reference in New Issue
Block a user