mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-30 21:08:47 -05:00
sub_80637A4
This commit is contained in:
@@ -6,152 +6,6 @@
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_8063698
|
||||
sub_8063698:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
mov r8, r0
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
lsls r2, 24
|
||||
lsrs r7, r2, 24
|
||||
ldr r4, [r0, 0x70]
|
||||
ldr r0, _080636E8
|
||||
ldr r0, [r0]
|
||||
lsls r0, 3
|
||||
movs r1, 0x8C
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
adds r5, r4, r0
|
||||
ldr r1, _080636EC
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
ldrb r0, [r4, 0x7]
|
||||
cmp r0, 0
|
||||
beq _080636FA
|
||||
cmp r7, 0
|
||||
beq _080636D0
|
||||
movs r0, 0x14
|
||||
movs r1, 0
|
||||
bl sub_8044F5C
|
||||
_080636D0:
|
||||
ldrb r1, [r5]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08063702
|
||||
movs r0, 0x8
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080636F0
|
||||
movs r0, 0x33
|
||||
b _080636F2
|
||||
.align 2, 0
|
||||
_080636E8: .4byte gUnknown_202F2D8
|
||||
_080636EC: .4byte gUnknown_202EE6C
|
||||
_080636F0:
|
||||
movs r0, 0x1E
|
||||
_080636F2:
|
||||
movs r1, 0
|
||||
bl sub_8044F5C
|
||||
b _08063702
|
||||
_080636FA:
|
||||
movs r0, 0x1F
|
||||
movs r1, 0
|
||||
bl sub_8044F5C
|
||||
_08063702:
|
||||
cmp r6, 0
|
||||
beq _08063716
|
||||
movs r0, 0x20
|
||||
movs r1, 0
|
||||
bl sub_8044F5C
|
||||
movs r0, 0x21
|
||||
movs r1, 0
|
||||
bl sub_8044F5C
|
||||
_08063716:
|
||||
movs r0, 0x1D
|
||||
movs r1, 0
|
||||
bl sub_8044F5C
|
||||
cmp r6, 0
|
||||
bne _0806372A
|
||||
movs r0, 0x20
|
||||
bl sub_8044FF0
|
||||
b _08063754
|
||||
_0806372A:
|
||||
ldr r5, _080637A0
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, 0
|
||||
bl sub_8063C88
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08063740
|
||||
movs r0, 0x20
|
||||
bl sub_8044FF0
|
||||
_08063740:
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, 0
|
||||
bl sub_8063DD4
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08063754
|
||||
movs r0, 0x21
|
||||
bl sub_8044FF0
|
||||
_08063754:
|
||||
ldr r5, _080637A0
|
||||
ldr r1, [r5]
|
||||
adds r0, r4, 0
|
||||
bl sub_8063DD4
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0806376A
|
||||
movs r0, 0x21
|
||||
bl sub_8044FF0
|
||||
_0806376A:
|
||||
cmp r7, 0
|
||||
beq _08063792
|
||||
movs r0, 0
|
||||
ldr r1, [r5]
|
||||
cmp r1, 0x3
|
||||
bgt _08063788
|
||||
mov r0, r8
|
||||
movs r2, 0x1
|
||||
bl CanAIUseMove
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
negs r1, r0
|
||||
orrs r1, r0
|
||||
lsrs r0, r1, 31
|
||||
_08063788:
|
||||
cmp r0, 0
|
||||
bne _08063792
|
||||
movs r0, 0x14
|
||||
bl sub_8044FF0
|
||||
_08063792:
|
||||
bl sub_8045064
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080637A0: .4byte gUnknown_202F2D8
|
||||
thumb_func_end sub_8063698
|
||||
|
||||
thumb_func_start sub_80637A4
|
||||
sub_80637A4:
|
||||
push {lr}
|
||||
adds r2, r1, 0
|
||||
ldr r1, _080637B8
|
||||
movs r3, 0x18
|
||||
ldrsh r1, [r1, r3]
|
||||
bl sub_80637BC
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080637B8: .4byte gUnknown_202EE10
|
||||
thumb_func_end sub_80637A4
|
||||
|
||||
thumb_func_start sub_80637BC
|
||||
sub_80637BC:
|
||||
push {r4,r5,lr}
|
||||
@@ -304,7 +158,7 @@ _08063898:
|
||||
strh r7, [r6, 0x1C]
|
||||
mov r0, sp
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
ldr r0, [sp, 0x78]
|
||||
adds r1, r0, r4
|
||||
lsls r1, 3
|
||||
@@ -345,7 +199,7 @@ _0806392C:
|
||||
movs r7, 0x2
|
||||
b _080639AE
|
||||
.align 2, 0
|
||||
_0806393C: .4byte gUnknown_202EE10
|
||||
_0806393C: .4byte gDungeonMenu
|
||||
_08063940: .4byte gUnknown_2027370
|
||||
_08063944: .4byte gUnknown_202EE38
|
||||
_08063948: .4byte gRealInputs
|
||||
@@ -447,7 +301,7 @@ sub_80639E4:
|
||||
str r0, [r4, 0x14]
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
ldr r0, _08063A64
|
||||
@@ -492,7 +346,7 @@ _08063A5C: .4byte gUnknown_202F278
|
||||
_08063A60: .4byte gUnknown_8106CC8
|
||||
_08063A64: .4byte gFormatBuffer_Monsters
|
||||
_08063A68: .4byte gUnknown_8106CCC
|
||||
_08063A6C: .4byte gUnknown_202EE10
|
||||
_08063A6C: .4byte gDungeonMenu
|
||||
thumb_func_end sub_80639E4
|
||||
|
||||
thumb_func_start sub_8063A70
|
||||
@@ -1151,7 +1005,7 @@ _08063F76:
|
||||
b _08063FB2
|
||||
.align 2, 0
|
||||
_08063F80: .4byte gUnknown_202F2D8
|
||||
_08063F84: .4byte gUnknown_202EE10
|
||||
_08063F84: .4byte gDungeonMenu
|
||||
_08063F88: .4byte gRealInputs
|
||||
_08063F8C:
|
||||
movs r0, 0x8
|
||||
@@ -1187,7 +1041,7 @@ _08063FB2:
|
||||
str r0, [r1]
|
||||
b _080640FA
|
||||
.align 2, 0
|
||||
_08063FD0: .4byte gUnknown_202EE10
|
||||
_08063FD0: .4byte gDungeonMenu
|
||||
_08063FD4:
|
||||
bl PlayDungeonStartButtonSE
|
||||
movs r4, 0x2
|
||||
@@ -1217,7 +1071,7 @@ _08064008:
|
||||
bl sub_8064310
|
||||
mov r0, sp
|
||||
movs r1, 0x16
|
||||
bl sub_805FC30
|
||||
bl CreateDungeonMenuSubWindow
|
||||
adds r4, r5, 0
|
||||
ldr r6, _0806408C
|
||||
adds r5, 0x2A
|
||||
@@ -1315,7 +1169,7 @@ _080640CE:
|
||||
bl sub_8063E30
|
||||
b _08063EE0
|
||||
.align 2, 0
|
||||
_080640E4: .4byte gUnknown_202EE10
|
||||
_080640E4: .4byte gDungeonMenu
|
||||
_080640E8:
|
||||
cmp r0, 0x2
|
||||
bne _080640FA
|
||||
@@ -1574,7 +1428,7 @@ _08064262:
|
||||
stm r1!, {r2,r3,r7}
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r6, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -1599,7 +1453,7 @@ _08064262:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08064304: .4byte gUnknown_202EE10
|
||||
_08064304: .4byte gDungeonMenu
|
||||
_08064308: .4byte gUnknown_202F2D8
|
||||
_0806430C: .4byte gFormatBuffer_Monsters
|
||||
thumb_func_end sub_8064228
|
||||
@@ -1771,7 +1625,7 @@ _080643F0:
|
||||
strh r4, [r5, 0xA]
|
||||
mov r0, sp
|
||||
movs r1, 0x16
|
||||
bl sub_805FC30
|
||||
bl CreateDungeonMenuSubWindow
|
||||
_0806445C:
|
||||
adds r0, r5, 0
|
||||
bl AddMenuCursorSprite
|
||||
@@ -1823,7 +1677,7 @@ _080644B2:
|
||||
movs r4, 0x2
|
||||
b _0806452A
|
||||
.align 2, 0
|
||||
_080644C8: .4byte gUnknown_202EE10
|
||||
_080644C8: .4byte gDungeonMenu
|
||||
_080644CC: .4byte gRealInputs
|
||||
_080644D0:
|
||||
movs r2, 0x18
|
||||
@@ -1891,7 +1745,7 @@ _0806453C:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08064554: .4byte gUnknown_202EE3A
|
||||
_08064558: .4byte gUnknown_202EE10
|
||||
_08064558: .4byte gDungeonMenu
|
||||
thumb_func_end sub_80643AC
|
||||
|
||||
thumb_func_start sub_806455C
|
||||
@@ -1908,7 +1762,7 @@ sub_806455C:
|
||||
strb r1, [r2, 0x2]
|
||||
strb r5, [r2, 0x3]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
movs r1, 0
|
||||
@@ -2073,7 +1927,7 @@ _080646B8:
|
||||
_080646C4:
|
||||
ldr r0, [sp, 0xE8]
|
||||
movs r1, 0
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
bl GetTrapData
|
||||
adds r4, r0, 0
|
||||
@@ -2298,7 +2152,7 @@ _08064834:
|
||||
strh r4, [r5, 0xA]
|
||||
mov r0, sp
|
||||
movs r1, 0x16
|
||||
bl sub_805FC30
|
||||
bl CreateDungeonMenuSubWindow
|
||||
_080648A0:
|
||||
adds r0, r5, 0
|
||||
bl AddMenuCursorSprite
|
||||
@@ -2350,7 +2204,7 @@ _080648F6:
|
||||
movs r4, 0x2
|
||||
b _0806496E
|
||||
.align 2, 0
|
||||
_0806490C: .4byte gUnknown_202EE10
|
||||
_0806490C: .4byte gDungeonMenu
|
||||
_08064910: .4byte gRealInputs
|
||||
_08064914:
|
||||
movs r2, 0x18
|
||||
@@ -2418,7 +2272,7 @@ _08064980:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08064998: .4byte gUnknown_202EE3A
|
||||
_0806499C: .4byte gUnknown_202EE10
|
||||
_0806499C: .4byte gDungeonMenu
|
||||
thumb_func_end ShowDungeonStairsMenu
|
||||
|
||||
thumb_func_start sub_80649A0
|
||||
@@ -2434,7 +2288,7 @@ sub_80649A0:
|
||||
strb r1, [r2, 0x2]
|
||||
strb r3, [r2, 0x3]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
bl GetFloorType
|
||||
@@ -2566,7 +2420,7 @@ _08064A58:
|
||||
strb r0, [r1, 0x3]
|
||||
ldr r0, [sp, 0xE4]
|
||||
movs r1, 0
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
bl GetFloorType
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
@@ -2799,7 +2653,7 @@ _08064C8C:
|
||||
.align 2, 0
|
||||
_08064C94: .4byte gDungeon
|
||||
_08064C98: .4byte gUnknown_202F2E0
|
||||
_08064C9C: .4byte gUnknown_202EE10
|
||||
_08064C9C: .4byte gDungeonMenu
|
||||
_08064CA0: .4byte gRealInputs
|
||||
_08064CA4:
|
||||
bl PlayDungeonCancelSE
|
||||
@@ -2896,7 +2750,7 @@ _08064D4C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08064D68: .4byte gUnknown_202EE10
|
||||
_08064D68: .4byte gDungeonMenu
|
||||
_08064D6C: .4byte gUnknown_202F2E0
|
||||
_08064D70: .4byte gDungeon
|
||||
thumb_func_end ShowDungeonOthersMenu
|
||||
@@ -2955,7 +2809,7 @@ _08064DDA:
|
||||
bl PlayDungeonConfirmationSE
|
||||
b _08064DFE
|
||||
.align 2, 0
|
||||
_08064DE0: .4byte gUnknown_202EE10
|
||||
_08064DE0: .4byte gDungeonMenu
|
||||
_08064DE4: .4byte gRealInputs
|
||||
_08064DE8:
|
||||
movs r0, 0x2
|
||||
@@ -2991,7 +2845,7 @@ _08064DFE:
|
||||
bl sub_8064E68
|
||||
b _08064E40
|
||||
.align 2, 0
|
||||
_08064E2C: .4byte gUnknown_202EE10
|
||||
_08064E2C: .4byte gDungeonMenu
|
||||
_08064E30: .4byte gGameOptionsRef
|
||||
_08064E34: .4byte gUnknown_202F2E8
|
||||
_08064E38:
|
||||
@@ -3076,7 +2930,7 @@ _08064EC2:
|
||||
bl sub_8065A8C
|
||||
b _08064F2E
|
||||
.align 2, 0
|
||||
_08064EDC: .4byte gUnknown_202EE10
|
||||
_08064EDC: .4byte gDungeonMenu
|
||||
_08064EE0: .4byte gRealInputs
|
||||
_08064EE4:
|
||||
movs r0, 0x10
|
||||
@@ -3131,7 +2985,7 @@ _08064F30:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08064F4C: .4byte gUnknown_202EE10
|
||||
_08064F4C: .4byte gDungeonMenu
|
||||
thumb_func_end sub_8064E68
|
||||
|
||||
thumb_func_start sub_8064F50
|
||||
@@ -3191,7 +3045,7 @@ _08064FAA:
|
||||
bl sub_8065A8C
|
||||
b _0806501C
|
||||
.align 2, 0
|
||||
_08064FC8: .4byte gUnknown_202EE10
|
||||
_08064FC8: .4byte gDungeonMenu
|
||||
_08064FCC: .4byte gRealInputs
|
||||
_08064FD0:
|
||||
movs r0, 0x10
|
||||
@@ -3247,7 +3101,7 @@ _0806501E:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0806503C: .4byte gUnknown_202EE10
|
||||
_0806503C: .4byte gDungeonMenu
|
||||
thumb_func_end sub_8064F50
|
||||
|
||||
thumb_func_start sub_8065040
|
||||
@@ -3374,7 +3228,7 @@ _0806512C:
|
||||
bl PlayDungeonConfirmationSE
|
||||
b _08065152
|
||||
.align 2, 0
|
||||
_08065134: .4byte gUnknown_202EE10
|
||||
_08065134: .4byte gDungeonMenu
|
||||
_08065138: .4byte gRealInputs
|
||||
_0806513C:
|
||||
movs r0, 0x2
|
||||
@@ -3406,7 +3260,7 @@ _08065152:
|
||||
bl sub_80651D0
|
||||
b _08065184
|
||||
.align 2, 0
|
||||
_08065178: .4byte gUnknown_202EE10
|
||||
_08065178: .4byte gDungeonMenu
|
||||
_0806517C:
|
||||
cmp r0, 0x1
|
||||
bne _08065184
|
||||
@@ -3613,7 +3467,7 @@ _080652D2:
|
||||
mov r1, r9
|
||||
strh r1, [r0, 0x8]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -3693,7 +3547,7 @@ _080652D2:
|
||||
bl PrintFormattedStringOnWindow
|
||||
b _0806540E
|
||||
.align 2, 0
|
||||
_080653D0: .4byte gUnknown_202EE10
|
||||
_080653D0: .4byte gDungeonMenu
|
||||
_080653D4: .4byte gUnknown_202F2E0
|
||||
_080653D8: .4byte gDungeon
|
||||
_080653DC: .4byte gUnknown_80FE8F8
|
||||
@@ -3738,7 +3592,7 @@ _0806540E:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08065440: .4byte gUnknown_80FEA44
|
||||
_08065444: .4byte gUnknown_202EE10
|
||||
_08065444: .4byte gDungeonMenu
|
||||
_08065448: .4byte gUnknown_80FEA50
|
||||
thumb_func_end sub_8065250
|
||||
|
||||
@@ -3824,7 +3678,7 @@ sub_806544C:
|
||||
mov r2, r9
|
||||
strh r2, [r0, 0x8]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -3873,7 +3727,7 @@ sub_806544C:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08065568: .4byte gUnknown_202EE10
|
||||
_08065568: .4byte gDungeonMenu
|
||||
_0806556C: .4byte gUnknown_80FE8F4
|
||||
_08065570: .4byte gUnknown_80F7C50
|
||||
thumb_func_end sub_806544C
|
||||
@@ -3964,7 +3818,7 @@ CreateFieldGameOptionsMenu:
|
||||
mov r0, r10
|
||||
strh r1, [r0, 0x8]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -4021,7 +3875,7 @@ CreateFieldGameOptionsMenu:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080656AC: .4byte gUnknown_202EE10
|
||||
_080656AC: .4byte gDungeonMenu
|
||||
_080656B0: .4byte gGameOptionsTextPtr
|
||||
_080656B4: .4byte gOptionsDungeonTextPtr
|
||||
_080656B8: .4byte gOptionsOthersTextPtr
|
||||
@@ -4118,7 +3972,7 @@ CreateFieldDungeonMenu:
|
||||
strh r0, [r3, 0x8]
|
||||
mov r0, r9
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -4202,7 +4056,7 @@ CreateFieldDungeonMenu:
|
||||
b _08065872
|
||||
.align 2, 0
|
||||
_0806583C: .4byte gUnknown_8106CE8
|
||||
_08065840: .4byte gUnknown_202EE10
|
||||
_08065840: .4byte gDungeonMenu
|
||||
_08065844: .4byte gOptionsDungeonTextPtr
|
||||
_08065848: .4byte gUnknown_80FE764
|
||||
_0806584C: .4byte gUnknown_80FE788
|
||||
@@ -4408,7 +4262,7 @@ CreateFieldOthersMenu:
|
||||
mov r1, r9
|
||||
strh r1, [r0, 0x8]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -4468,7 +4322,7 @@ _08065A0A:
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08065A78: .4byte gUnknown_8106CF4
|
||||
_08065A7C: .4byte gUnknown_202EE10
|
||||
_08065A7C: .4byte gDungeonMenu
|
||||
_08065A80: .4byte gOptionsOthersTextPtr
|
||||
_08065A84: .4byte gOptionsWindowColorPtr
|
||||
_08065A88: .4byte gUnknown_202F2E8
|
||||
@@ -4740,7 +4594,7 @@ _08065C5A:
|
||||
bl PlayDungeonConfirmationSE
|
||||
b _08065C7E
|
||||
.align 2, 0
|
||||
_08065C60: .4byte gUnknown_202EE10
|
||||
_08065C60: .4byte gDungeonMenu
|
||||
_08065C64: .4byte gRealInputs
|
||||
_08065C68:
|
||||
movs r0, 0x2
|
||||
@@ -4767,7 +4621,7 @@ _08065C7E:
|
||||
bl sub_8065DBC
|
||||
b _08065C04
|
||||
.align 2, 0
|
||||
_08065C9C: .4byte gUnknown_202EE10
|
||||
_08065C9C: .4byte gDungeonMenu
|
||||
_08065CA0:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
@@ -4858,7 +4712,7 @@ sub_8065CAC:
|
||||
mov r1, r9
|
||||
strh r1, [r0, 0x8]
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_80137B0
|
||||
@@ -4898,7 +4752,7 @@ _08065D7A:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08065DB0: .4byte gUnknown_202EE10
|
||||
_08065DB0: .4byte gDungeonMenu
|
||||
_08065DB4: .4byte gUnknown_80FF770
|
||||
_08065DB8: .4byte gUnknown_80FF774
|
||||
thumb_func_end sub_8065CAC
|
||||
@@ -5015,7 +4869,7 @@ _08065E0C:
|
||||
strh r0, [r1, 0x8]
|
||||
add r0, sp, 0x4
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
ldr r1, _08065F30
|
||||
movs r2, 0
|
||||
ldrsh r0, [r1, r2]
|
||||
@@ -5079,7 +4933,7 @@ _08065F16:
|
||||
b _08065F64
|
||||
.align 2, 0
|
||||
_08065F28: .4byte gGameOptionsRef
|
||||
_08065F2C: .4byte gUnknown_202EE10
|
||||
_08065F2C: .4byte gDungeonMenu
|
||||
_08065F30: .4byte gUnknown_2027370
|
||||
_08065F34: .4byte gUnknown_80FF774
|
||||
_08065F38: .4byte gUnknown_80FF7EC
|
||||
@@ -5212,7 +5066,7 @@ _0806601C:
|
||||
strb r1, [r0, 0x1]
|
||||
ldr r0, _08066138
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
mov r2, r8
|
||||
strh r2, [r6, 0x1A]
|
||||
strh r2, [r6, 0x18]
|
||||
@@ -5332,7 +5186,7 @@ _0806612A:
|
||||
mov r10, r0
|
||||
b _08066184
|
||||
.align 2, 0
|
||||
_08066130: .4byte gUnknown_202EE10
|
||||
_08066130: .4byte gDungeonMenu
|
||||
_08066134: .4byte gUnknown_203B43C
|
||||
_08066138: .4byte gUnknown_8106D08
|
||||
_0806613C: .4byte gUnknown_202F2F8
|
||||
|
||||
@@ -55,7 +55,7 @@ sub_80841EC:
|
||||
strh r0, [r1, 0xA]
|
||||
mov r0, sp
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
ldr r0, _0808426C
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08084270
|
||||
@@ -98,7 +98,7 @@ _08084290:
|
||||
strb r0, [r4]
|
||||
mov r0, sp
|
||||
movs r1, 0x1
|
||||
bl sub_803ECB4
|
||||
bl DungeonShowWindows
|
||||
b _08084290
|
||||
.align 2, 0
|
||||
_080842B8: .4byte gUnknown_80FE6E8
|
||||
|
||||
@@ -40,7 +40,7 @@ extern struct DungeonPalFile *gDungeonNameBannerPalette;
|
||||
extern struct DungeonPalFile *gUnknown_202EC94;
|
||||
extern RGB gUnknown_202ECA4[];
|
||||
extern u8 gUnknown_203B40C;
|
||||
extern MenuInputStruct gUnknown_202EE10;
|
||||
extern MenuInputStruct gDungeonMenu;
|
||||
extern SpriteOAM gUnknown_202EDDC;
|
||||
|
||||
extern const u32 gUnknown_80F6490[];
|
||||
@@ -345,15 +345,15 @@ void sub_803EAF0(u32 a0, u8 *a1)
|
||||
|
||||
void sub_803EC94(void)
|
||||
{
|
||||
gUnknown_202EE10.unk1E = 0;
|
||||
gUnknown_202EE10.unk20 = 0;
|
||||
gUnknown_202EE10.unkC = 0;
|
||||
gUnknown_202EE10.unkE = 0;
|
||||
gUnknown_202EE10.unk14.x = 0;
|
||||
sub_801317C(&gUnknown_202EE10.unk28);
|
||||
gDungeonMenu.unk1E = 0;
|
||||
gDungeonMenu.unk20 = 0;
|
||||
gDungeonMenu.unkC = 0;
|
||||
gDungeonMenu.unkE = 0;
|
||||
gDungeonMenu.unk14.x = 0;
|
||||
sub_801317C(&gDungeonMenu.unk28);
|
||||
}
|
||||
|
||||
void sub_803ECB4(Windows *a0, bool8 a1)
|
||||
void DungeonShowWindows(Windows *a0, bool8 a1)
|
||||
{
|
||||
gUnknown_202EDD0 = 10;
|
||||
sub_8052210(0);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -904,17 +904,17 @@ extern void sub_8068344(void);
|
||||
bool8 sub_8044F3C(s32 param_1);
|
||||
void sub_8068310(s32 a0, PokemonStruct1 **a1);
|
||||
void sub_8067F00(u8 a0, PokemonStruct1 **a1, s32 a2, s32 a3, s32 a4);
|
||||
extern void sub_803ECB4(Windows *a0, u8 a1);
|
||||
extern void DungeonShowWindows(Windows *a0, u8 a1);
|
||||
u32 sub_8014140(s32 a0, const void *a1);
|
||||
void sub_8083D1C(void);
|
||||
void PlayDungeonConfirmationSE(void);
|
||||
void PlayDungeonCancelSE(void);
|
||||
void sub_806806C(PokemonStruct1 *a0);
|
||||
void sub_805FC30(Windows *a0, s32 a1);
|
||||
void CreateDungeonMenuSubWindow(Windows *a0, s32 a1);
|
||||
extern void sub_803EAF0(u32, u8 *);
|
||||
|
||||
extern const s32 gUnknown_8106E80[];
|
||||
extern MenuInputStruct gUnknown_202EE10;
|
||||
extern MenuInputStruct gDungeonMenu;
|
||||
|
||||
static EWRAM_DATA WindowHeader gUnknown_202F308 = {0};
|
||||
static EWRAM_DATA s32 gUnknown_202F30C = 0;
|
||||
@@ -980,25 +980,25 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
|
||||
ASM_MATCH_TRICK(r7);
|
||||
|
||||
sub_803ECB4(&spTxtStruct, 1);
|
||||
DungeonShowWindows(&spTxtStruct, 1);
|
||||
sub_8067F00(a0, a3, gUnknown_202F30C, a2, a1);
|
||||
gUnknown_202EE10.unk1A = min(a2, 8);
|
||||
gUnknown_202EE10.menuIndex = r10;
|
||||
gUnknown_202EE10.unk1C = 8;
|
||||
gUnknown_202EE10.unk1E = 0;
|
||||
gUnknown_202EE10.unk20 = 0;
|
||||
gUnknown_202EE10.unk4 = 0;
|
||||
gUnknown_202EE10.firstEntryY = 18;
|
||||
gUnknown_202EE10.unkC = 0;
|
||||
gUnknown_202EE10.unkE = 0;
|
||||
gUnknown_202EE10.unk14.x = 0;
|
||||
gUnknown_202EE10.unk0 = 0;
|
||||
sub_801317C(&gUnknown_202EE10.unk28);
|
||||
sub_80137B0(&gUnknown_202EE10, 0);
|
||||
gDungeonMenu.unk1A = min(a2, 8);
|
||||
gDungeonMenu.menuIndex = r10;
|
||||
gDungeonMenu.unk1C = 8;
|
||||
gDungeonMenu.unk1E = 0;
|
||||
gDungeonMenu.unk20 = 0;
|
||||
gDungeonMenu.unk4 = 0;
|
||||
gDungeonMenu.firstEntryY = 18;
|
||||
gDungeonMenu.unkC = 0;
|
||||
gDungeonMenu.unkE = 0;
|
||||
gDungeonMenu.unk14.x = 0;
|
||||
gDungeonMenu.unk0 = 0;
|
||||
sub_801317C(&gDungeonMenu.unk28);
|
||||
sub_80137B0(&gDungeonMenu, 0);
|
||||
while (1) {
|
||||
s32 r4;
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
r5 = 0;
|
||||
r7 = 0;
|
||||
if (a2 - gUnknown_202F30C > 8) {
|
||||
@@ -1027,7 +1027,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
}
|
||||
if (gRealInputs.repeated & DPAD_DOWN) {
|
||||
PlayDungeonCursorSE(1);
|
||||
if (gUnknown_202EE10.menuIndex == 7) {
|
||||
if (gDungeonMenu.menuIndex == 7) {
|
||||
if (a2 - gUnknown_202F30C > 8) {
|
||||
s32 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
@@ -1040,7 +1040,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
r10 = 7;
|
||||
break;
|
||||
}
|
||||
MoveMenuCursorDownWrapAround(&gUnknown_202EE10, 0);
|
||||
MoveMenuCursorDownWrapAround(&gDungeonMenu, 0);
|
||||
}
|
||||
|
||||
if (r4 == 1 && r7 != 0) {
|
||||
@@ -1058,7 +1058,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
}
|
||||
if (gRealInputs.repeated & DPAD_UP) {
|
||||
PlayDungeonCursorSE(1);
|
||||
if (gUnknown_202EE10.menuIndex == 0) {
|
||||
if (gDungeonMenu.menuIndex == 0) {
|
||||
if (gUnknown_202F30C != 0) {
|
||||
s32 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
@@ -1071,7 +1071,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
r10 = 0;
|
||||
break;
|
||||
}
|
||||
MoveMenuCursorUpWrapAround(&gUnknown_202EE10, 0);
|
||||
MoveMenuCursorUpWrapAround(&gDungeonMenu, 0);
|
||||
}
|
||||
|
||||
if (sub_80048C8()) {
|
||||
@@ -1083,25 +1083,25 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
r7 = 3;
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gUnknown_202EE10.unk28.a_button) {
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) {
|
||||
PlayDungeonConfirmationSE();
|
||||
r7 = 1;
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) {
|
||||
PlayDungeonCancelSE();
|
||||
r7 = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
DungeonRunFrameActions(0x37);
|
||||
if (r7 == 0) {
|
||||
continue;
|
||||
}
|
||||
else if (r7 == 2) {
|
||||
r10 = gUnknown_202EE10.menuIndex;
|
||||
r10 = gDungeonMenu.menuIndex;
|
||||
if (gUnknown_202F310 < a1) {
|
||||
continue;
|
||||
}
|
||||
@@ -1114,7 +1114,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
}
|
||||
}
|
||||
else if (r7 == 3) {
|
||||
r10 = gUnknown_202EE10.menuIndex;
|
||||
r10 = gDungeonMenu.menuIndex;
|
||||
sub_806806C(a3[gUnknown_202F30C + r10]);
|
||||
continue;
|
||||
}
|
||||
@@ -1122,7 +1122,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
s32 arrId;
|
||||
u8 locIdIsPartner;
|
||||
|
||||
r10 = gUnknown_202EE10.menuIndex;
|
||||
r10 = gDungeonMenu.menuIndex;
|
||||
arrId = gUnknown_202F30C + r10;
|
||||
gUnknown_202EE6C = 0;
|
||||
sub_8044F5C(0x29, 0);
|
||||
@@ -1142,44 +1142,44 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
||||
}
|
||||
|
||||
sub_8045064();
|
||||
sub_805FC30(&spTxtStruct, 0x15);
|
||||
CreateDungeonMenuSubWindow(&spTxtStruct, 0x15);
|
||||
|
||||
while (1) {
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
DungeonRunFrameActions(0x37);
|
||||
|
||||
if (gRealInputs.repeated & DPAD_DOWN) {
|
||||
PlayDungeonCursorSE(1);
|
||||
MoveMenuCursorDownWrapAround(&gUnknown_202EE10, 1);
|
||||
MoveMenuCursorDownWrapAround(&gDungeonMenu, 1);
|
||||
}
|
||||
if (gRealInputs.repeated & DPAD_UP) {
|
||||
PlayDungeonCursorSE(1);
|
||||
MoveMenuCursorUpWrapAround(&gUnknown_202EE10, 1);
|
||||
MoveMenuCursorUpWrapAround(&gDungeonMenu, 1);
|
||||
}
|
||||
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gUnknown_202EE10.unk28.a_button) {
|
||||
if (sub_8044F3C(gUnknown_202EE10.menuIndex)) {
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) {
|
||||
if (sub_8044F3C(gDungeonMenu.menuIndex)) {
|
||||
PlayDungeonConfirmationSE();
|
||||
r7 = 1;
|
||||
break;
|
||||
}
|
||||
PlayDungeonCancelSE();
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) {
|
||||
PlayDungeonCancelSE();
|
||||
r7 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
DungeonRunFrameActions(0x37);
|
||||
if (r7 != 0) {
|
||||
if (gUnknown_202EE10.menuIndex == 0) {
|
||||
if (gDungeonMenu.menuIndex == 0) {
|
||||
a3[arrId]->unk0 |= 0x8000;
|
||||
sub_8068310(a2, a3);
|
||||
}
|
||||
else if (gUnknown_202EE10.menuIndex == 1) {
|
||||
else if (gDungeonMenu.menuIndex == 1) {
|
||||
a3[arrId]->unk0 &= ~(0x8000);
|
||||
sub_8068310(a2, a3);
|
||||
}
|
||||
@@ -1269,7 +1269,7 @@ void sub_806806C(PokemonStruct1 *a0)
|
||||
r7 = 0;
|
||||
unkStruct.unk40 = 0;
|
||||
unkStruct.unk56 = 0;
|
||||
gUnknown_202EE10.menuIndex = 0;
|
||||
gDungeonMenu.menuIndex = 0;
|
||||
|
||||
while (1) {
|
||||
bool32 loopBreak = FALSE;
|
||||
@@ -1280,28 +1280,28 @@ void sub_806806C(PokemonStruct1 *a0)
|
||||
gUnknown_202F308.f2 = 10;
|
||||
gUnknown_202F308.f3 = 0;
|
||||
|
||||
gUnknown_202EE10.unk1E = r7;
|
||||
gUnknown_202EE10.unk20 = 4;
|
||||
gUnknown_202EE10.unk1A = 0;
|
||||
gUnknown_202EE10.menuIndex = 0;
|
||||
gUnknown_202EE10.unk1C = 0;
|
||||
gUnknown_202EE10.unk4 = 0;
|
||||
gUnknown_202EE10.firstEntryY = 16;
|
||||
gUnknown_202EE10.unk14.x = 0;
|
||||
gUnknown_202EE10.unk0 = 0;
|
||||
gDungeonMenu.unk1E = r7;
|
||||
gDungeonMenu.unk20 = 4;
|
||||
gDungeonMenu.unk1A = 0;
|
||||
gDungeonMenu.menuIndex = 0;
|
||||
gDungeonMenu.unk1C = 0;
|
||||
gDungeonMenu.unk4 = 0;
|
||||
gDungeonMenu.firstEntryY = 16;
|
||||
gDungeonMenu.unk14.x = 0;
|
||||
gDungeonMenu.unk0 = 0;
|
||||
|
||||
sub_801317C(&gUnknown_202EE10.unk28);
|
||||
sub_803ECB4(&spTxtStruct, 1);
|
||||
sub_801317C(&gDungeonMenu.unk28);
|
||||
DungeonShowWindows(&spTxtStruct, 1);
|
||||
sub_808FF20(&unkStruct, a0, gDungeon->unk644.unk16);
|
||||
CreatePokemonInfoTabScreen(spF8[r7], r7, &unkStruct, &var_C8, 0);
|
||||
|
||||
gUnknown_202EE10.unkC = (gUnknown_2027370[0].unk0 + 15) * 8;
|
||||
gUnknown_202EE10.unkE = ((gUnknown_2027370[0].unk2 + 1) * 8) - 2;
|
||||
gDungeonMenu.unkC = (gUnknown_2027370[0].unk0 + 15) * 8;
|
||||
gDungeonMenu.unkE = ((gUnknown_2027370[0].unk2 + 1) * 8) - 2;
|
||||
|
||||
while (1) {
|
||||
s32 r5;
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
if (spF8[r7] == 4) {
|
||||
if (var_C8.unk0[8] != 0) {
|
||||
sub_80684C4();
|
||||
@@ -1313,14 +1313,14 @@ void sub_806806C(PokemonStruct1 *a0)
|
||||
|
||||
r5 = sub_8014140(0, gUnknown_8106DA4);
|
||||
DungeonRunFrameActions(0x1C);
|
||||
if ((gRealInputs.pressed & DPAD_RIGHT) || gUnknown_202EE10.unk28.dpad_right) {
|
||||
if ((gRealInputs.pressed & DPAD_RIGHT) || gDungeonMenu.unk28.dpad_right) {
|
||||
PlayDungeonCursorSE(0);
|
||||
if (++r7 == 4) {
|
||||
r7 = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & DPAD_LEFT) || gUnknown_202EE10.unk28.dpad_left) {
|
||||
if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) {
|
||||
PlayDungeonCursorSE(0);
|
||||
if (--r7 == -1) {
|
||||
r7 = 3;
|
||||
@@ -1357,12 +1357,12 @@ void sub_806806C(PokemonStruct1 *a0)
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gUnknown_202EE10.unk28.a_button) {
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) {
|
||||
PlayDungeonConfirmationSE();
|
||||
loopBreak = TRUE;
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) {
|
||||
PlayDungeonCancelSE();
|
||||
loopBreak = TRUE;
|
||||
break;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "text_util.h"
|
||||
|
||||
|
||||
extern MenuInputStruct gUnknown_202EE10;
|
||||
extern MenuInputStruct gDungeonMenu;
|
||||
|
||||
extern u8 *gUnknown_80FE6F4[];
|
||||
extern u8 gUnknown_810AC60; // 0xC
|
||||
@@ -140,7 +140,7 @@ bool8 sub_8083C88(u8 param_1)
|
||||
|
||||
void PlayDungeonCursorSE(bool8 checkMenuEntriesCount)
|
||||
{
|
||||
if ((!checkMenuEntriesCount) || (gUnknown_202EE10.unk1A > 1)) {
|
||||
if ((!checkMenuEntriesCount) || (gDungeonMenu.unk1A > 1)) {
|
||||
PlayFanfareSE(0x12d,MAX_VOLUME);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ gUnknown_202EE08: /* 202EE08 (sub_8040150 - sub_8040788) */
|
||||
gUnknown_202EE0C: /* 202EE0C (sub_80694C0 - sub_806B8CC) */
|
||||
.space 0x4
|
||||
|
||||
gUnknown_202EE10: /* 202EE10 (sub_803EC94 - sub_8083CE0) */
|
||||
gDungeonMenu: /* 202EE10 (sub_803EC94 - sub_8083CE0) */
|
||||
.space 0x28
|
||||
|
||||
gUnknown_202EE38: /* 202EE38 (sub_8063834) */
|
||||
|
||||
Reference in New Issue
Block a user