mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 06:57:18 -05:00
Merge branch 'master' into stuff
This commit is contained in:
commit
730d0ebd10
|
|
@ -1315,7 +1315,7 @@ _080467BE:
|
|||
movs r2, 0
|
||||
bl sub_80462AC
|
||||
movs r0, 0x13
|
||||
bl sub_803E46C
|
||||
bl DungeonRunFrameActions
|
||||
ldr r2, [sp, 0x10]
|
||||
adds r2, 0x55
|
||||
str r2, [sp, 0x10]
|
||||
|
|
@ -1351,7 +1351,7 @@ _08046822:
|
|||
movs r3, 0xFF
|
||||
bl sub_80462AC
|
||||
movs r0, 0x13
|
||||
bl sub_803E46C
|
||||
bl DungeonRunFrameActions
|
||||
add sp, 0x18
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
|
|
@ -1837,7 +1837,7 @@ _08046C06:
|
|||
blt _08046BAA
|
||||
_08046C14:
|
||||
movs r0, 0x13
|
||||
bl sub_803E46C
|
||||
bl DungeonRunFrameActions
|
||||
movs r0, 0xA7
|
||||
lsls r0, 3
|
||||
add r0, sp
|
||||
|
|
|
|||
|
|
@ -249,7 +249,7 @@ _08047370:
|
|||
cmp r4, 0
|
||||
beq _0804737A
|
||||
movs r0, 0x12
|
||||
bl sub_803E46C
|
||||
bl DungeonRunFrameActions
|
||||
_0804737A:
|
||||
subs r5, 0x1
|
||||
cmp r5, 0
|
||||
|
|
@ -788,7 +788,7 @@ _080477B2:
|
|||
cmp r3, 0
|
||||
beq _080477BE
|
||||
movs r0, 0x17
|
||||
bl sub_803E46C
|
||||
bl DungeonRunFrameActions
|
||||
_080477BE:
|
||||
ldr r0, [sp, 0x34]
|
||||
add r8, r0
|
||||
|
|
|
|||
9639
asm/code_805D8C8.s
9639
asm/code_805D8C8.s
File diff suppressed because it is too large
Load Diff
|
|
@ -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
|
||||
|
|
@ -116,7 +116,7 @@ _080842C4:
|
|||
cmp r0, 0
|
||||
beq _08084290
|
||||
_080842DA:
|
||||
bl sub_8083D08
|
||||
bl PlayDungeonConfirmationSE
|
||||
add sp, 0xC4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
|
|
|
|||
10
charmap.txt
10
charmap.txt
|
|
@ -465,8 +465,14 @@ STAR_BULLET = 87 42
|
|||
@ = 87 43 @ Star with E
|
||||
ICON_STICKY = 87 44
|
||||
SPEECH_BUBBLE = 87 45
|
||||
@ 87 46..49 - red hearts
|
||||
@ 87 4a..4d - yellow hearts - appears in team list
|
||||
HEART_RED_TINY = 87 46
|
||||
HEART_RED_SMALL = 87 47
|
||||
HEART_RED_MEDIUM = 87 48
|
||||
HEART_RED_LARGE = 87 49
|
||||
HEART_YELLOW_TINY = 87 4A
|
||||
HEART_YELLOW_SMALL = 87 4B
|
||||
HEART_YELLOW_MEDIUM = 87 4C
|
||||
HEART_YELLOW_LARGE = 87 4D
|
||||
TM = 87 4E
|
||||
ORB = 87 4F
|
||||
A_BUTTON = 87 50
|
||||
|
|
|
|||
|
|
@ -1,258 +1,7 @@
|
|||
.section .rodata
|
||||
|
||||
@ sub_8048E04 - sub_805FC30
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
|
||||
|
||||
.global gUnknown_8106A4C
|
||||
gUnknown_8106A4C: @ 8106A4C
|
||||
.4byte 0
|
||||
|
||||
.global gUnknown_8106A50
|
||||
gUnknown_8106A50: @ 8106A50
|
||||
.4byte 1
|
||||
|
||||
.global gUnknown_8106A54
|
||||
gUnknown_8106A54: @ 8106A54
|
||||
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
|
||||
.byte 0x80, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
|
||||
.byte 0x80, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
.byte 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gUnknown_8106A8C
|
||||
gUnknown_8106A8C: @ 8106A8C
|
||||
.byte 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
||||
.byte 0x18, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64
|
||||
.byte 0x69, 0x72, 0x30, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00, 0x70, 0x6b, 0x73, 0x64
|
||||
.byte 0x69, 0x72, 0x30, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gUnknown_8106AC8
|
||||
gUnknown_8106AC8: @ 8106AC8
|
||||
.byte 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106AE8
|
||||
gUnknown_8106AE8: @ 8106AE8
|
||||
.byte 0x00, 0x00, 0x01, 0x00
|
||||
.byte 0x12, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x13, 0x02, 0x00, 0x00
|
||||
.byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0xff, 0xff, 0x13, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff
|
||||
.byte 0x12, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x13, 0x02, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
|
||||
.byte 0xff, 0xff, 0x01, 0x00, 0x13, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64
|
||||
.byte 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gUnknown_8106B50
|
||||
gUnknown_8106B50: @ 8106B50
|
||||
.string "{COLOR}%c%s\0"
|
||||
|
||||
|
||||
|
||||
@ CreateFieldItemMenu - sub_8062CA8
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106B60
|
||||
gUnknown_8106B60: @ 8106B60
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x50, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106B6C
|
||||
gUnknown_8106B6C: @ 8106B6C
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x06, 0x00, 0x02, 0x00
|
||||
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gUnknown_8106B8C
|
||||
gUnknown_8106B8C: @ 8106B8C
|
||||
.byte 0x01, 0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x38, 0x00
|
||||
.byte 0x68, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gTeamFormat
|
||||
gTeamFormat: @ 8106BB0
|
||||
.string "$t\0"
|
||||
.align 2,0
|
||||
|
||||
@ Red Heart Symbols
|
||||
.global gHeartRedTiny
|
||||
gHeartRedTiny: @ 8106BB4
|
||||
.byte 0x87, 0x46, 0x00, 0x00
|
||||
|
||||
.global gHeartRedSmall
|
||||
gHeartRedSmall: @ 8106BB8
|
||||
.byte 0x87, 0x47, 0x00, 0x00
|
||||
|
||||
.global gHeartRedMedium
|
||||
gHeartRedMedium: @ 8106BBC
|
||||
.byte 0x87, 0x48, 0x00, 0x00
|
||||
|
||||
.global gHeartRedLarge
|
||||
gHeartRedLarge: @ 8106BC0
|
||||
.byte 0x87, 0x49, 0x00, 0x00
|
||||
|
||||
@ Yellow Heart Symbols
|
||||
.global gHeartYellowTiny
|
||||
gHeartYellowTiny: @ 8106BC4
|
||||
.byte 0x87, 0x4A, 0x00, 0x00
|
||||
|
||||
.global gHeartYellowSmall
|
||||
gHeartYellowSmall: @ 8106BC8
|
||||
.byte 0x87, 0x4B, 0x00, 0x00
|
||||
|
||||
.global gHeartYellowMedium
|
||||
gHeartYellowMedium: @ 8106BCC
|
||||
.byte 0x87, 0x4C, 0x00, 0x00
|
||||
|
||||
.global gHeartYellowLarge
|
||||
gHeartYellowLarge: @ 8106BD0
|
||||
.byte 0x87, 0x4D, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BD4
|
||||
gUnknown_8106BD4: @ 8106BD4
|
||||
.byte 0x87, 0x42, 0x24, 0x6d, 0x30, 0x23, 0x3d, 0x59, 0x24, 0x6d, 0x31, 0x00
|
||||
|
||||
.global gUnknown_8106BE0
|
||||
gUnknown_8106BE0: @ 8106BE0
|
||||
.byte 0x87, 0x40, 0x24, 0x6d, 0x30, 0x23, 0x3d, 0x59, 0x24, 0x6d, 0x31, 0x00
|
||||
|
||||
.global gUnknown_8106BEC
|
||||
gUnknown_8106BEC: @ 8106BEC
|
||||
.byte 0x87, 0x42, 0x24, 0x6d, 0x30, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BF4
|
||||
gUnknown_8106BF4: @ 8106BF4
|
||||
.byte 0x87, 0x40, 0x24, 0x6d, 0x30, 0x00, 0x00, 0x00
|
||||
.global gUnknown_8106BFC
|
||||
gUnknown_8106BFC:
|
||||
.byte 0x01, 0x00, 0x0f, 0x00
|
||||
|
||||
.global gUnknown_8106C00
|
||||
gUnknown_8106C00: @ 8106C00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00
|
||||
.4byte gUnknown_8106BFC
|
||||
|
||||
.global gUnknown_8106C18
|
||||
gUnknown_8106C18: @ 8106C18
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00
|
||||
.4byte gUnknown_8106BFC
|
||||
|
||||
.global gUnknown_8106C30
|
||||
gUnknown_8106C30: @ 8106C30
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x0e, 0x00, 0x02, 0x00
|
||||
.byte 0x0e, 0x00, 0x10, 0x00
|
||||
.byte 0x10, 0x00, 0x00, 0x00
|
||||
.byte 0x70, 0xf2, 0x02, 0x02
|
||||
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x02, 0x00
|
||||
.byte 0x0a, 0x00, 0x02, 0x00
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.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
|
||||
|
||||
.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
|
||||
|
||||
.global gUnknown_8106C90
|
||||
gUnknown_8106C90: @ 8106C90
|
||||
.string "????\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106C98
|
||||
gUnknown_8106C98: @ 8106C98
|
||||
.string "{MOVE_ITEM_0}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106C9C
|
||||
gUnknown_8106C9C: @ 8106C9C
|
||||
.string "None\0"
|
||||
|
||||
|
||||
@ sub_80633E4 - sub_80639E4
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106CAC
|
||||
gUnknown_8106CAC: @ 8106CAC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x0E, 0x00
|
||||
.byte 0x1A, 0x00, 0x03, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106CC4
|
||||
gUnknown_8106CC4: @ 8106CC4
|
||||
.string "{MOVE_ITEM_0}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106CC8
|
||||
gUnknown_8106CC8: @ 8106CC8
|
||||
.byte 0x01, 0x00, 0x10, 0x00
|
||||
|
||||
.global gUnknown_8106CCC
|
||||
gUnknown_8106CCC: @ 8106CCC
|
||||
.string "{POKEMON_0}\0"
|
||||
|
||||
@ ???
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
|
||||
@ ???
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
|
||||
@ CreateFieldDungeonMenu - CreateFieldOthersMenu
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106CE8
|
||||
gUnknown_8106CE8: @ 8106CE8
|
||||
.byte 0x10, 0x00, 0x00, 0x00
|
||||
.byte 0x19, 0x00, 0x00, 0x00
|
||||
.byte 0x1b, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106CF4
|
||||
gUnknown_8106CF4: @ 8106CF4
|
||||
.byte 0x13, 0x00, 0x00, 0x00
|
||||
.byte 0x11, 0x00, 0x00, 0x00
|
||||
.byte 0x19, 0x00, 0x00, 0x00
|
||||
|
||||
@ sub_8065FB4 - sub_8066358
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106D08
|
||||
gUnknown_8106D08: @ 8106D08
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x12, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x02, 0x00, 0x3c, 0xb4, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106D68
|
||||
gUnknown_8106D68: @ 8106D68
|
||||
.byte 0x01, 0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x38, 0x00, 0x68, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106D8C
|
||||
gUnknown_8106D8C: @ 8106D8C
|
||||
.string "{color}%d{POKEMON_0}\0"
|
||||
|
||||
@ ???
|
||||
.align 2,0
|
||||
|
|
|
|||
44
data/data_8106A4C_0.s
Normal file
44
data/data_8106A4C_0.s
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
.section .rodata
|
||||
|
||||
@ sub_8048E04 - sub_805FC30
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
|
||||
|
||||
.global gUnknown_8106A4C
|
||||
gUnknown_8106A4C: @ 8106A4C
|
||||
.4byte 0
|
||||
|
||||
.global gUnknown_8106A50
|
||||
gUnknown_8106A50: @ 8106A50
|
||||
.4byte 1
|
||||
|
||||
.global gUnknown_8106A54
|
||||
gUnknown_8106A54: @ 8106A54
|
||||
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00
|
||||
.byte 0x80, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00
|
||||
.byte 0x80, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00
|
||||
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106A8C
|
||||
gUnknown_8106A8C: @ 8106A8C
|
||||
.byte 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
||||
.byte 0x18, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64
|
||||
.byte 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ typedef struct unkStruct_203B230
|
|||
u8 fill18[0x20 - 0x18];
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
Windows unk28;
|
||||
WindowTemplates unk28;
|
||||
MenuInputStructSub unk88;
|
||||
} unkStruct_203B230;
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ typedef struct unkStruct_203B234
|
|||
MenuStruct unk78;
|
||||
/* 0xC8 */ u32 menuAction;
|
||||
MenuItem unkCC[5];
|
||||
Windows windows;
|
||||
WindowTemplates windows;
|
||||
} unkStruct_203B234;
|
||||
|
||||
bool8 sub_801B60C(u32, u8 id, u8 quantity);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ struct unk_203B250
|
|||
MenuStruct unk18;
|
||||
MenuItem unk68[8];
|
||||
u16 unkA8[8];
|
||||
Windows windows;
|
||||
WindowTemplates windows;
|
||||
};
|
||||
|
||||
// size: 0x8
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ typedef struct unkStruct_203B270
|
|||
/* 0x1C */ MenuInputStruct input;
|
||||
u32 unk50;
|
||||
u32 unk54;
|
||||
Windows windows;
|
||||
WindowTemplates windows;
|
||||
const u8 *text;
|
||||
} unkStruct_203B270;
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ typedef struct unkStruct_203B294
|
|||
/* 0xF4 */ u32 menuAction;
|
||||
MenuItem unkF8[8];
|
||||
u16 unk138[8];
|
||||
Windows windows;
|
||||
WindowTemplates windows;
|
||||
} unkStruct_203B294;
|
||||
|
||||
bool8 sub_80227B8(PokemonStruct1 *pkmn);
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ struct unkStruct_203B2AC
|
|||
struct unkStruct_808FF20 unk4C;
|
||||
struct UnkInfoTabStruct unkB0;
|
||||
u32 unkE0;
|
||||
Window *unkE4;
|
||||
Windows unkE8;
|
||||
WindowTemplate *unkE4;
|
||||
WindowTemplates unkE8;
|
||||
WindowHeader unk148;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ struct unkStruct_203B2FC
|
|||
/* 0x30 */ u8 jobSlotIndex;
|
||||
/* 0x34 */ WonderMail *jobInfo;
|
||||
/* 0x38 */ struct MonPortraitMsg monPortrait;
|
||||
Windows unk48;
|
||||
WindowTemplates unk48;
|
||||
};
|
||||
|
||||
bool8 sub_802DB28(u8 jobSlotIndex, u8 dungeon);
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ struct unkStruct_203B300
|
|||
MenuInputStructSub unk0;
|
||||
/* 0xC */ unkStruct_802C39C *mail;
|
||||
u32 unk10;
|
||||
Window *unk14;
|
||||
Windows unk18;
|
||||
WindowTemplate *unk14;
|
||||
WindowTemplates unk18;
|
||||
u8 unk78[4];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef GUARD_CODE_803E46C_H
|
||||
#define GUARD_CODE_803E46C_H
|
||||
|
||||
void sub_803E46C(u32);
|
||||
void DungeonRunFrameActions(u32);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
// size: 0x4
|
||||
typedef struct unkStruct_202EE44
|
||||
{
|
||||
u16 unk0;
|
||||
u16 actionId;
|
||||
u8 unk2;
|
||||
bool8 unk3;
|
||||
bool8 canBeChosen;
|
||||
} unkStruct_202EE44;
|
||||
|
||||
extern unkStruct_202EE44 gUnknown_202EE44[10];
|
||||
extern unkStruct_202EE44 gDungeonSubMenu[10];
|
||||
|
||||
#endif // GUARD_CODE_8044CC8_H
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@
|
|||
|
||||
#include "structs/subStruct_203B240.h"
|
||||
|
||||
extern u32 sub_8097DF0(u8 *, struct subStruct_203B240 **);
|
||||
extern u32 sub_8097DF0(const u8 *, struct subStruct_203B240 **);
|
||||
|
||||
#endif // GUARD_CODE_8097DD0_H
|
||||
#endif // GUARD_CODE_8097DD0_H
|
||||
|
|
|
|||
|
|
@ -8,12 +8,13 @@ enum DungeonAction
|
|||
ACTION_WALK = 0x2,
|
||||
ACTION_UNK5 = 0x5,
|
||||
// Switching between Pokémon in the moves menu.
|
||||
ACTION_NEXT = 0x6,
|
||||
ACTION_PREVIOUS = 0x7,
|
||||
ACTION_MOVES_MENU_NEXT_MON = 0x6,
|
||||
ACTION_MOVES_MENU_PREV_MON = 0x7,
|
||||
ACTION_PLACE_ITEM = 0x8,
|
||||
// Some actions are different between the leader and AI-controlled Pokémon.
|
||||
ACTION_PICK_UP_PLAYER = 0x9, // Picking up an item underfoot.
|
||||
ACTION_THROW_ITEM_PLAYER = 0xB,
|
||||
ACTION_SHOW_INFO = 0xC,
|
||||
ACTION_EAT_BERRY_SEED_DRINK = 0xD,
|
||||
ACTION_USE_TM = 0x12,
|
||||
ACTION_TALK_FIELD = 0x13, // Talking to another Pokémon by facing them and interacting.
|
||||
|
|
@ -24,16 +25,18 @@ enum DungeonAction
|
|||
ACTION_CHANGE_TACTICS = 0x1A,
|
||||
ACTION_CHECK_SUMMARY = 0x1B,
|
||||
ACTION_TALK_MENU = 0x1C, // Talking to another Pokémon via the menu.
|
||||
ACTION_UNK1D = 0x1D,
|
||||
ACTION_MOVE_INFO = 0x1D,
|
||||
ACTION_SET_MOVE = 0x1E, // Registering a move.
|
||||
ACTION_UNK1F = 0x1F,
|
||||
ACTION_UNK20 = 0x20,
|
||||
ACTION_UNK21 = 0x21,
|
||||
ACTION_SWITCH_AI_MOVE = 0x1F,
|
||||
ACTION_LINK_MOVES = 0x20,
|
||||
ACTION_DELINK_MOVES = 0x21,
|
||||
ACTION_UNK22 = 0x22,
|
||||
ACTION_EAT_AI = 0x23,
|
||||
ACTION_THROW_ITEM_AI = 0x24,
|
||||
ACTION_STEPPED_ON_TRAP = 0x25,
|
||||
ACTION_STAIRS = 0x26,
|
||||
ACTION_THROW_STRAIGHT_PLAYER = 0x27,
|
||||
ACTION_QUICK_SAVE = 0x2B,
|
||||
ACTION_USE_LINK_BOX = 0x2C,
|
||||
ACTION_GIVE_UP = 0x2E,
|
||||
ACTION_VIEW_IQ = 0x30,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
// size: 0x6C
|
||||
typedef struct Credits1Work
|
||||
{
|
||||
Windows unk0;
|
||||
WindowTemplates unk0;
|
||||
s32 unk60;
|
||||
s32 unk64;
|
||||
/* 0x68 */ s32 creditsCategoryIndex;
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
struct DebugMenu
|
||||
{
|
||||
MenuStruct unk0[4];
|
||||
Windows unk140;
|
||||
WindowTemplates unk140;
|
||||
u32 fill1A0;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ typedef struct unkStruct_203B3F0
|
|||
MenuStruct unk4C;
|
||||
unkStructFor8013AA0 unk9C;
|
||||
u8 fillCC[0xD8 - 0xCC];
|
||||
Windows unkD8;
|
||||
WindowTemplates unkD8;
|
||||
} unkStruct_203B3F0;
|
||||
|
||||
#endif // GUARD_DEBUG_MENU2_H
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ typedef struct unkStruct_203B3F4
|
|||
/* 0x8 */ u32 menuAction;
|
||||
/* 0xC */ MenuItem menuItems[8];
|
||||
MenuStruct unk4C;
|
||||
Windows unk9C;
|
||||
WindowTemplates unk9C;
|
||||
} unkStruct_203B3F4;
|
||||
|
||||
#endif // GUARD_DEBUG_MENU3_H
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ typedef struct unkStruct_203B3F8
|
|||
unkStructFor8013AA0 unk60;
|
||||
MenuItem unk90[8];
|
||||
u16 unkD0[8];
|
||||
Windows unkE0;
|
||||
WindowTemplates unkE0;
|
||||
} unkStruct_203B3F8;
|
||||
|
||||
#endif // GUARD_DEBUG_MENU4_H
|
||||
|
|
|
|||
22
include/dungeon_main.h
Normal file
22
include/dungeon_main.h
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef GUARD_DUNGEON_MAIN_H
|
||||
#define GUARD_DUNGEON_MAIN_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
struct UnkMenuBitsStruct {
|
||||
u8 a0_8;
|
||||
u8 a0_16;
|
||||
u8 a0_24;
|
||||
u8 a0_32;
|
||||
};
|
||||
|
||||
void DungeonHandlePlayerInput(void);
|
||||
void sub_805E804(void);
|
||||
void sub_805EE30(void);
|
||||
void sub_805EFB4(Entity *a0, bool8 a1);
|
||||
void sub_805F02C(void);
|
||||
ActionContainer *GetLeaderActionContainer(void);
|
||||
u16 GetLeaderActionId(void);
|
||||
bool8 DungeonGiveNameToRecruitedMon(u8 *a0);
|
||||
|
||||
#endif
|
||||
|
|
@ -19,7 +19,7 @@ void sub_8049B8C(void);
|
|||
void sub_8049BB0(s32 x, s32 y);
|
||||
void sub_804A1F0(s32 a0, s32 a1);
|
||||
void sub_804A49C(s32 a0, s32 a1);
|
||||
void sub_804A728(DungeonPos *pos, s32 a1, u8 a2, u8 a3);
|
||||
void ChangeDungeonCameraPos(DungeonPos *pos, s32 a1, u8 a2, u8 a3);
|
||||
void sub_804AA60(void);
|
||||
void sub_804AAAC(void);
|
||||
void sub_804AAD4(void);
|
||||
|
|
|
|||
11
include/dungeon_menu_items.h
Normal file
11
include/dungeon_menu_items.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_ITEMS_H
|
||||
#define GUARD_DUNGEON_MENU_ITEMS_H
|
||||
|
||||
#include "dungeon_main.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
bool8 sub_805FD3C(struct UnkMenuBitsStruct *a0);
|
||||
bool8 ShowDungeonItemsMenu(Entity * a0, struct UnkMenuBitsStruct *a1);
|
||||
void sub_8060D24(UNUSED ActionContainer *a0);
|
||||
|
||||
#endif
|
||||
18
include/dungeon_menu_moves.h
Normal file
18
include/dungeon_menu_moves.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_MOVES_H
|
||||
#define GUARD_DUNGEON_MENU_MOVES_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/menu.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
|
||||
void ShowMovesFromTeamMenu(ActionContainer *a0);
|
||||
bool8 ShowDungeonMovesMenu(Entity * entity, bool8 addLinkOptions, bool8 addUseMove, s32 a3, s32 a4);
|
||||
void ActionShowMoveInfo(ActionContainer *a0);
|
||||
void ShowStatusDescriptionMenu(struct subStruct_203B240 *status, MenuInputStructSub *menuSub);
|
||||
void ActionSetOrUnsetMove(ActionContainer *a0, bool8 flagToSet);
|
||||
void ActionToggleMoveUsableForAi(ActionContainer *a0);
|
||||
void ActionLinkMoves(ActionContainer *a0);
|
||||
void ActionDelinkMoves(ActionContainer *a0, bool8 showMsg);
|
||||
bool8 sub_8063E70(Entity *entity, Move *moves, bool8 showYesNoBox, bool8 allowBPress);
|
||||
|
||||
#endif
|
||||
6
include/dungeon_menu_others.h
Normal file
6
include/dungeon_menu_others.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_OTHERS_H
|
||||
#define GUARD_DUNGEON_MENU_OTHERS_H
|
||||
|
||||
void ShowDungeonOthersMenu(void);
|
||||
|
||||
#endif
|
||||
6
include/dungeon_menu_recruitment.h
Normal file
6
include/dungeon_menu_recruitment.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_RECRUITMENT_H
|
||||
#define GUARD_DUNGEON_MENU_RECRUITMENT_H
|
||||
|
||||
void ShowRecruitmentSearchMenu(void);
|
||||
|
||||
#endif
|
||||
8
include/dungeon_menu_stairs.h
Normal file
8
include/dungeon_menu_stairs.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_STAIRS_H
|
||||
#define GUARD_DUNGEON_MENU_STAIRS_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void ShowDungeonStairsMenu(Entity *mon);
|
||||
|
||||
#endif
|
||||
16
include/dungeon_menu_team.h
Normal file
16
include/dungeon_menu_team.h
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_TEAM_H
|
||||
#define GUARD_DUNGEON_MENU_TEAM_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/subStruct_203B240.h"
|
||||
|
||||
bool8 ShowDungeonTeamMenu(Entity *a0);
|
||||
void ShowDungeonTacticsMenu(ActionContainer *a0);
|
||||
void ShowDungeonSummaryOrIQMenu(ActionContainer *a0, bool8 a1);
|
||||
void ShowStatusDescriptionMenuArrow(void);
|
||||
void ShowStatusesDescriptionMenu(s32 count, struct subStruct_203B240 **strings);
|
||||
#define WHICH_MENU_MOVES 1
|
||||
#define WHICH_MENU_ITEMS 2
|
||||
Entity *ShowDungeonToWhichMonMenu(s32 *teamId, s32 caseId);
|
||||
|
||||
#endif
|
||||
8
include/dungeon_menu_tile.h
Normal file
8
include/dungeon_menu_tile.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef GUARD_DUNGEON_MENU_TRAP_H
|
||||
#define GUARD_DUNGEON_MENU_TRAP_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void ShowDungeonTileMenu(Entity *mon);
|
||||
|
||||
#endif
|
||||
|
|
@ -4,6 +4,10 @@
|
|||
#include "structs/dungeon_entity.h"
|
||||
#include "string_format.h"
|
||||
|
||||
// These flags are used in dungeon message and dungeon menu recruitment file. It's possible these are general scroll flags and should be put elsewhere, like text.h, assuming more files actually use it.
|
||||
#define FLAG_CAN_SCROLL_UP 0x1
|
||||
#define FLAG_CAN_SCROLL_DOWN 0x2
|
||||
|
||||
struct MonDialogueSpriteInfo
|
||||
{
|
||||
s16 species;
|
||||
|
|
|
|||
8
include/dungeon_submenu.h
Normal file
8
include/dungeon_submenu.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef GUARD_DUNGEON_SUBMENU_H
|
||||
#define GUARD_DUNGEON_SUBMENU_H
|
||||
|
||||
#include "structs/str_text.h"
|
||||
|
||||
void CreateDungeonMenuSubWindow(WindowTemplate *mainWindow, s32 subWindowX);
|
||||
|
||||
#endif
|
||||
|
|
@ -55,7 +55,7 @@ bool8 sub_8098100(u8 param_1);
|
|||
bool8 sub_8098134(s16 pokeID);
|
||||
void SetTutorialFlag(s32 param_1);
|
||||
bool32 GetTutorialFlag(s32 param_1);
|
||||
bool8 IsExclusivePokemonUnlocked(s16 pokeID);
|
||||
bool8 IsExclusivePokemonUnlocked(s32 pokeID);
|
||||
void UnlockExclusivePokemon(s16 pokeID);
|
||||
void WriteExclusivePokemon(DataSerializer *r0);
|
||||
void ReadExclusivePokemon(DataSerializer *r0);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ typedef struct FelicityBankWork
|
|||
unkStructFor8013AA0 unk64;
|
||||
/* 0x94 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unkA8;
|
||||
WindowTemplates unkA8;
|
||||
} FelicityBankWork;
|
||||
|
||||
bool8 CreateFelicityBank(s32 mode);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ struct unkStruct_203B2BC
|
|||
MenuItem menuItems[4];
|
||||
u8 fill120[0x16C - 0x13C];
|
||||
u16 unk16C[10];
|
||||
Windows unk180;
|
||||
WindowTemplates unk180;
|
||||
};
|
||||
|
||||
u32 sub_8027074(void);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ typedef struct unkStruct_203B2B4
|
|||
MenuStruct unk78;
|
||||
MenuItem unkC8[8];
|
||||
u16 unk108[8];
|
||||
Windows unk118;
|
||||
WindowTemplates unk118;
|
||||
} unkStruct_203B2B4;
|
||||
|
||||
bool8 CreateFriendListMenu(s32 param_1);
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ typedef struct WonderMailStruct_203B33C
|
|||
unkStruct_203B480 unk1E8;
|
||||
u8 unk218;
|
||||
MenuStruct unk21C[4];
|
||||
Windows unk35C;
|
||||
Windows unk3BC;
|
||||
WindowTemplates unk35C;
|
||||
WindowTemplates unk3BC;
|
||||
/* 0x41C */ Item item;
|
||||
u32 unk420; // Is this supposed to be a File like 203B2C4?
|
||||
u8 unk424[0x100];
|
||||
|
|
|
|||
|
|
@ -46,6 +46,11 @@ static inline void InlineStrncpy(u8 *dst, const u8 *src, s32 n)
|
|||
strncpy(dst, src, n);
|
||||
}
|
||||
|
||||
static inline bool8 AreStringsDifferent(const u8 *str1, const u8 *str2)
|
||||
{
|
||||
return strcmp(str1, str2) != 0;
|
||||
}
|
||||
|
||||
// Sometimes incrementing and decrementing a variable changes how registers are allocated, which helps with matching functions. Functionality-wise this doesn't do anything.
|
||||
#ifdef NONMATCHING
|
||||
#define ASM_MATCH_TRICK(a) {;}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ typedef struct GulpinShopWork
|
|||
u8 fillC8[0x118 - 0xC8];
|
||||
/* 0x118 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unk12C;
|
||||
WindowTemplates unk12C;
|
||||
} GulpinShopWork;
|
||||
|
||||
bool8 CreateGulpinShop(u32 mode, s16 pokeSpecies, Move *moves);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ typedef struct unkStruct_203B27C
|
|||
u8 fill11C[0x16C - 0x11C];
|
||||
/* 0x16C */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unk180;
|
||||
WindowTemplates unk180;
|
||||
} unkStruct_203B27C;
|
||||
|
||||
bool8 sub_801FB50(u32 mode);
|
||||
|
|
|
|||
|
|
@ -59,4 +59,4 @@ void UpdateInput(void);
|
|||
bool8 sub_80048BC(void);
|
||||
bool8 sub_80048C8(void);
|
||||
|
||||
#endif // GUARD_INPUT_H
|
||||
#endif // GUARD_INPUT_H
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ struct IQSkillInfoMenu
|
|||
u8 fill14[0x20 - 0x18];
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
Windows unk28;
|
||||
WindowTemplates unk28;
|
||||
MenuInputStructSub unk88;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ struct IQSkillMenu
|
|||
/* 0x30 */ s32 menuAction;
|
||||
MenuItem unk34[8];
|
||||
MenuStruct unk74;
|
||||
Windows unkC4;
|
||||
WindowTemplates unkC4;
|
||||
};
|
||||
|
||||
bool8 CreateIQSkillMenu(s16 species);
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ struct KangaskhanStorageWork
|
|||
unkStructFor8013AA0 unkA8;
|
||||
/* 0xD8 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unkEC;
|
||||
WindowTemplates unkEC;
|
||||
};
|
||||
|
||||
bool8 CreateKangaskhanStorage(u32 mode);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ typedef struct unkStruct_203B20C
|
|||
u16 unk60[8];
|
||||
MenuStruct unk70;
|
||||
unkStructFor8013AA0 unkC0;
|
||||
Windows unkF0;
|
||||
WindowTemplates unkF0;
|
||||
} unkStruct_203B20C;
|
||||
|
||||
bool8 sub_8017E1C(void);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ typedef struct KecleonBrosWork1
|
|||
/* 0x84 */ MenuStruct menu;
|
||||
/* 0xD4 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unkE8;
|
||||
WindowTemplates unkE8;
|
||||
} KecleonBrosWork1;
|
||||
|
||||
// mode corresponds to the enum: KecleonBrosMode
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ typedef struct LuminousCaveWork
|
|||
u8 unk110;
|
||||
u8 unk111;
|
||||
u8 unk112;
|
||||
Windows unk114;
|
||||
WindowTemplates unk114;
|
||||
} LuminousCaveWork;
|
||||
|
||||
void CleanLuminousCave(void);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ struct unkStruct_203B304
|
|||
MenuStruct unk6C;
|
||||
MenuItem menuItems[8];
|
||||
u16 unkFC[8];
|
||||
Windows unk10C;
|
||||
WindowTemplates unk10C;
|
||||
};
|
||||
|
||||
extern void SetMailboxState(u32);
|
||||
|
|
|
|||
|
|
@ -38,12 +38,12 @@ void CleanUpMenu(void);
|
|||
void DeleteMainMenu(void);
|
||||
MainMenu1Work *GetMainMenu(void);
|
||||
void InitMainMenu(void);
|
||||
void SetMenuItems(MenuStruct *, Windows *, s32 index, const Window *, const MenuItem *menuItems, bool8, u32 menuAction, bool8 unused);
|
||||
void SetMenuItems(MenuStruct *, WindowTemplates *, s32 index, const WindowTemplate *, const MenuItem *menuItems, bool8, u32 menuAction, bool8 unused);
|
||||
void SetUpMenu(void);
|
||||
s32 UpdateMenu(void);
|
||||
|
||||
void sub_8035C1C(void);
|
||||
void sub_8035CC0(Windows *dataArray, u32 index);
|
||||
void sub_8035CC0(WindowTemplates *dataArray, u32 index);
|
||||
void sub_8035CF4(MenuStruct *menu, u32 index, bool8);
|
||||
void sub_8035D1C(void);
|
||||
s16 sub_8035D3C(void);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ typedef struct MainMenu2Work
|
|||
{
|
||||
u32 unk0;
|
||||
MenuStruct unk4[4];
|
||||
Windows unk144;
|
||||
WindowTemplates unk144;
|
||||
/* 0x1A4 */ u32 currMenuChoice;
|
||||
} MainMenu2Work;
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ typedef struct MakuhitaDojoWork1
|
|||
u8 fill38[0x58 - 0x38];
|
||||
/* 0x58 */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unk6C;
|
||||
WindowTemplates unk6C;
|
||||
} MakuhitaDojoWork1;
|
||||
|
||||
void MakuhitaDojo_Delete(void);
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ s32 GetKeyPress(MenuInputStruct *r0);
|
|||
s32 sub_8012AE8(void);
|
||||
void sub_8012BC4(u32 x, u32 y, s32 n, s32 len, u32 color, u32 param_6);
|
||||
void sub_8012C60(u32 x, u32 y, u32 param_3, u32 color, u32 param_5);
|
||||
void sub_8012CAC(Window *param_1, const MenuItem *param_2);
|
||||
void sub_8012D08(Window *param_1, s32 param_2);
|
||||
void sub_8012D34(Window *param_1, s32 param_2);
|
||||
void sub_8012CAC(WindowTemplate *param_1, const MenuItem *param_2);
|
||||
void sub_8012D08(WindowTemplate *param_1, s32 param_2);
|
||||
void sub_8012D34(WindowTemplate *param_1, s32 param_2);
|
||||
void sub_8012D60(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index);
|
||||
void sub_8012E04(MenuStruct *param_1, const MenuItem *menuItems, const u32 *colorArray, u16 *param_4, s32 menuAction, s32 index);
|
||||
void sub_8012EA4(MenuStruct *param_1, bool8 r1);
|
||||
|
|
@ -24,9 +24,9 @@ void AddMenuCursorSprite(MenuInputStruct *param_1);
|
|||
void sub_8013660(MenuInputStruct *param_1);
|
||||
void UpdateMenuCursorSpriteCoords(MenuInputStruct *param_1);
|
||||
void MoveMenuCursorDown(MenuInputStruct *param_1);
|
||||
void sub_80136E0(MenuInputStruct *param_1, u8 param_2);
|
||||
void MoveMenuCursorDownWrapAround(MenuInputStruct *param_1, u8 param_2);
|
||||
void MoveMenuCursorUp(MenuInputStruct *param_1);
|
||||
void sub_8013744(MenuInputStruct *param_1, u8 param_2);
|
||||
void MoveMenuCursorUpWrapAround(MenuInputStruct *param_1, u8 param_2);
|
||||
void sub_8013780(MenuInputStruct *param_1, s32 param_2);
|
||||
s32 sub_80137A8(MenuInputStruct *param_1);
|
||||
void sub_80137B0(MenuInputStruct *param_1, s32 param_2);
|
||||
|
|
@ -49,7 +49,7 @@ void sub_8013C68(unkStructFor8013AA0 *);
|
|||
void sub_8013D10(unkStructFor8013AA0 *);
|
||||
void sub_8013E54(void);
|
||||
void sub_8013F84(void);
|
||||
void sub_80140B4(Windows *);
|
||||
void sub_80140B4(WindowTemplates *);
|
||||
|
||||
|
||||
#endif // GUARD_MENU_INPUT_H
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ struct unkStruct_203B25C
|
|||
/* 0x1C */ MenuStruct menu;
|
||||
/* 0x6C */ MenuItem menuItems[8];
|
||||
u16 unkAC[8];
|
||||
Windows unkBC;
|
||||
WindowTemplates unkBC;
|
||||
};
|
||||
|
||||
bool8 sub_801DCC4(void);
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ struct unkStruct_203B260
|
|||
/* 0x4 */ MenuInputStructSub unk4;
|
||||
/* 0x10 */ MenuInputStruct input;
|
||||
u32 unk44;
|
||||
Window *unk48;
|
||||
Windows unk4C;
|
||||
WindowTemplate *unk48;
|
||||
WindowTemplates unk4C;
|
||||
};
|
||||
|
||||
bool8 sub_801E198(GameOptions *optionsMenu);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ typedef struct unkStruct_203B35C
|
|||
u32 unk14;
|
||||
u8 fill18[0x1C - 0x18];
|
||||
MenuStruct unk1C[4];
|
||||
Windows unk15C;
|
||||
WindowTemplates unk15C;
|
||||
unkStruct_8035D94 unk1BC[2];
|
||||
unkStruct_203B480 unk1CC;
|
||||
unkStruct_203B480 unk1FC;
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ typedef struct unkStruct_203B2B8
|
|||
MenuItem unk16C[10];
|
||||
MenuItem unk1BC[10];
|
||||
u16 unk20C[10];
|
||||
Windows unk220;
|
||||
WindowTemplates unk220;
|
||||
} unkStruct_203B2B8;
|
||||
|
||||
bool8 CreatePartyListMenu(PokemonStruct1 *pokeStruct);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ struct unkStruct_203B308
|
|||
MenuStruct unk6C;
|
||||
MenuItem menuItems[8];
|
||||
u16 unkFC[8];
|
||||
Windows unk10C;
|
||||
WindowTemplates unk10C;
|
||||
};
|
||||
extern struct unkStruct_203B308 *gPelipperBoard;
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ struct unkStruct_203B2D4
|
|||
const u8 *unk10[4];
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
Windows unk28;
|
||||
WindowTemplates unk28;
|
||||
MenuInputStructSub unk88;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ typedef struct unkStruct_203B330
|
|||
u8 unkC;
|
||||
/* 0xD */ u8 dungeonIndex;
|
||||
u32 unk10;
|
||||
Window *unk14;
|
||||
Windows unk18;
|
||||
WindowTemplate *unk14;
|
||||
WindowTemplates unk18;
|
||||
} unkStruct_203B330;
|
||||
|
||||
bool8 sub_80319A4(u8, u8 dungeon, s32);
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ struct RescuePasswordMenu
|
|||
u32 currMenu;
|
||||
u32 state;
|
||||
MenuStruct unk8[4];
|
||||
Windows unk148;
|
||||
Windows unk1A8;
|
||||
WindowTemplates unk148;
|
||||
WindowTemplates unk1A8;
|
||||
SpriteOAM unk208;
|
||||
u32 unk210;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ typedef struct SaveMenuWork
|
|||
/* 0x0 */ u32 currMenu;
|
||||
u32 unk4;
|
||||
MenuStruct unk8[4];
|
||||
Windows unk148;
|
||||
WindowTemplates unk148;
|
||||
SpriteOAM unk1A8;
|
||||
u32 unk1B0; // Sprite count?
|
||||
} SaveMenuWork;
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ typedef struct unkStructFor8013AA0
|
|||
s32 unkC; // maxInclusive?
|
||||
s32 unk10;
|
||||
s32 unk14; // index of unk18? But read as chosenValue..?
|
||||
Window *unk18;
|
||||
WindowTemplate *unk18;
|
||||
s32 unk1C; // width of prompt?
|
||||
s32 unk20; // height of prompt?
|
||||
u8 unk24; // related to unk10
|
||||
|
|
|
|||
|
|
@ -259,16 +259,6 @@ typedef struct SpriteOAM
|
|||
(spritePtr)->attrib2 |= _xSpriteVal; \
|
||||
}
|
||||
|
||||
// Hacky way of matching functions in menu_input.c AddMenuCursorSprite_, sub_801332C sub_8013470
|
||||
#define SpriteSetX_MatrixNumSize0(spritePtr, _x) \
|
||||
{ \
|
||||
u32 _xSpriteVal = _x; \
|
||||
_xSpriteVal &= SPRITEOAM_MAX_X; \
|
||||
_xSpriteVal <<= SPRITEOAM_SHIFT_X; \
|
||||
(spritePtr)->attrib2 &= ~SPRITEOAM_MASK_X; \
|
||||
(spritePtr)->attrib2 = _xSpriteVal; \
|
||||
}
|
||||
|
||||
#define SpriteGetY(spritePtr)(((spritePtr)->unk6 >> SPRITEOAM_SHIFT_WORKING_Y) & SPRITEOAM_MAX_WORKING_Y)
|
||||
|
||||
#define SpriteGetY_LocalVar(spritePtr, _y) \
|
||||
|
|
|
|||
|
|
@ -98,8 +98,8 @@ typedef struct UnkDungeonGlobal_unk181E8_sub
|
|||
u8 unk18218; // x30
|
||||
u8 unk18219; // x31
|
||||
u8 unk1821A; // x32
|
||||
u8 unk1821B; // x33
|
||||
u8 unk1821C; // x34
|
||||
u8 rotateModeDirection; // x33
|
||||
u8 prevRotateModeDirection; // x34
|
||||
u8 fill1821D; // x35
|
||||
s16 unk36; // x36
|
||||
s16 unk38; // x38
|
||||
|
|
@ -249,7 +249,7 @@ typedef struct unkDungeon644
|
|||
/* 0x8 */ unkStruct_Dungeon64C unk8;
|
||||
/* 0x10 */ u8 unk10;
|
||||
/* 0x11 */ u8 fill11[3];
|
||||
/* 0x14 */ u8 unk14;
|
||||
/* 0x14 */ bool8 canRecruit;
|
||||
/* 0x15 */ u8 unk15;
|
||||
/* 0x16 */ u8 unk16;
|
||||
/* 0x17 */ u8 unk17;
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
#define GUARD_STR_TEXT_H
|
||||
|
||||
// size: 0x48
|
||||
typedef struct UnkTextStruct1
|
||||
typedef struct Window
|
||||
{
|
||||
s16 unk0;
|
||||
s16 unk2;
|
||||
s16 unk4;
|
||||
s16 unk6;
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 width;
|
||||
s16 height;
|
||||
s16 unk8;
|
||||
u32 unkC;
|
||||
s32 type;
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 *unk18;
|
||||
|
|
@ -26,21 +26,21 @@ typedef struct UnkTextStruct1
|
|||
u8 unk44;
|
||||
bool8 unk45;
|
||||
u8 unk46;
|
||||
} UnkTextStruct1;
|
||||
} Window;
|
||||
|
||||
// size: 0x4
|
||||
typedef struct WindowHeader
|
||||
{
|
||||
/* 0x0 */ u8 f0;
|
||||
/* 0x1 */ u8 f1;
|
||||
/* 0x2 */ u8 f2;
|
||||
/* 0x0 */ u8 count; // How many headers there are, it's used for windows which can be scrolled left/right
|
||||
/* 0x1 */ u8 currId; // Id of the current header
|
||||
/* 0x2 */ u8 width;
|
||||
/* 0x3 */ u8 f3;
|
||||
} WindowHeader;
|
||||
|
||||
#include "structs/str_position.h"
|
||||
|
||||
// size: 0x18
|
||||
typedef struct Window
|
||||
typedef struct WindowTemplate
|
||||
{
|
||||
u8 unk0;
|
||||
/* 0x4 */ s32 type;
|
||||
|
|
@ -49,30 +49,27 @@ typedef struct Window
|
|||
/* 0xE */ s16 height;
|
||||
s16 unk10; // In most cases it's the same as height. If it's smaller than height, the window may look glitchy. Maybe something with tile allocation/how the window is filled?
|
||||
s16 unk12;
|
||||
const WindowHeader *unk14;
|
||||
} Window;
|
||||
|
||||
#define WINDOW_DUMMY (Window) { .unk0 = 0, .type = WINDOW_TYPE_NORMAL, .pos = { .x = 0, .y = 0 }, .width = 0, .height = 0, .unk10 = 0, .unk12 = 0, .unk14 = NULL }
|
||||
const WindowHeader *header;
|
||||
} WindowTemplate;
|
||||
|
||||
#define WINDOW_TYPE_0 0
|
||||
#define WINDOW_TYPE_WITHOUT_BORDER 1
|
||||
//#define WINDOW_TYPE_2 2
|
||||
#define WINDOW_TYPE_2 2
|
||||
#define WINDOW_TYPE_NORMAL 3
|
||||
//#define WINDOW_TYPE_4 4
|
||||
#define WINDOW_TYPE_4 4
|
||||
#define WINDOW_TYPE_FILL_TRANSPARENT 5
|
||||
#define WINDOW_TYPE_WITH_HEADER 6
|
||||
#define WINDOW_TYPE_7 7
|
||||
|
||||
#define MAX_WINDOWS 4
|
||||
|
||||
// All fields are zeroed out except for type which is set to WINDOW_TYPE_NORMAL.
|
||||
#define WINDOW_DUMMY (Window) { .unk0 = 0, .type = WINDOW_TYPE_NORMAL, .pos = { .x = 0, .y = 0 }, .width = 0, .height = 0, .unk10 = 0, .unk12 = 0, .header = NULL }
|
||||
|
||||
// size: 0x60
|
||||
typedef struct Windows
|
||||
typedef struct WindowTemplates
|
||||
{
|
||||
/* 0x0 */ Window id[MAX_WINDOWS];
|
||||
// Something ugly, so that sub_805FD74 could match weird compiler memcpy/stack initialization
|
||||
#ifndef NONMATCHING
|
||||
u8 fakeMatch[0];
|
||||
#endif // NONMATCHING
|
||||
} Windows;
|
||||
/* 0x0 */ sWindowTemplate id[MAX_WINDOWS];
|
||||
} WindowTemplates;
|
||||
|
||||
#endif // GUARD_STR_TEXT_H
|
||||
|
|
@ -12,8 +12,8 @@ typedef struct struct_Sub80095E4
|
|||
{
|
||||
/* 0x0 */ MenuInputStruct input;
|
||||
u32 unk34;
|
||||
Window *unk38;
|
||||
Windows windows;
|
||||
WindowTemplate *unk38;
|
||||
WindowTemplates windows;
|
||||
// size: 0x9C
|
||||
} struct_Sub80095E4;
|
||||
|
||||
|
|
|
|||
|
|
@ -49,9 +49,10 @@ struct UnkDrawStringStruct
|
|||
s32 unk30;
|
||||
};
|
||||
|
||||
extern UnkTextStruct1 gUnknown_2027370[4];
|
||||
extern Window gWindows[MAX_WINDOWS];
|
||||
extern u8 gUnknown_202749A[11];
|
||||
extern bool8 gUnknown_20274A5;
|
||||
|
||||
// These should probably go to code_8009804.h
|
||||
#define TILEMAP_TILE_NUM(num)(num & 0x3FF) // bits 0-9
|
||||
#define TILEMAP_FLIP_HORIZONTAL(f)((f & 1) << 10) // bit 10
|
||||
|
|
@ -59,8 +60,8 @@ extern bool8 gUnknown_20274A5;
|
|||
#define TILEMAP_PAL(pal)((pal & 0xF) << 12) // bits 12-15
|
||||
extern u16 gBgTilemaps[4][32][32]; // 4 bgs, 32x32 tiles, y dimension goes before x [bgId][y][x]
|
||||
|
||||
extern void (*gIwramTextFunc1)(s32 a0);
|
||||
extern void (*gIwramTextFunc2)(s32 a0);
|
||||
extern void (*ScrollDownWindowFunc)(s32 windowId);
|
||||
extern void (*ScrollUpWindowFunc)(s32 windowId);
|
||||
extern void (*gIwramTextFunc3)(s32 a0);
|
||||
extern void (*gIwramTextFunc4)(s32 a0);
|
||||
|
||||
|
|
@ -69,15 +70,15 @@ u32 UpdateFadeInTile(u32 a0);
|
|||
u32 sub_80063B0(void);
|
||||
void SelectCharmap(u32 a0);
|
||||
void SetCharacterMask(int a0);
|
||||
void ShowWindows(const Windows *windows, bool8 a1, bool8 a2);
|
||||
void RestoreUnkTextStruct_8006518(Windows *unkData);
|
||||
void ShowWindows(const WindowTemplates *windows, bool8 a1, bool8 a2);
|
||||
void RestoreUnkTextStruct_8006518(WindowTemplates *unkData);
|
||||
u32 sub_8006544(u32 index);
|
||||
void sub_8007334(s32 a0);
|
||||
void sub_8007334(s32 windowId);
|
||||
void sub_80073B8(s32 a0);
|
||||
void sub_80073E0(s32 a0);
|
||||
u32 xxx_call_draw_char(s32 x, s32 y, u32 a2, u32 color, u32 a4);
|
||||
void sub_80078A4(u32 a0, s32 x, s32 y, s32 a3, u32 color);
|
||||
void sub_800792C(u32 a0, s32 x, s32 y, s32 a3, u32 color);
|
||||
void AddDoubleUnderScoreHighlight(u32 windowId, s32 x, s32 y, s32 width, u32 color);
|
||||
void AddUnderScoreHighlight(u32 windowId, s32 x, s32 y, s32 width, u32 color);
|
||||
void sub_8007A78(u32 a0, s32 x, s32 y, s32 a3, u32 color);
|
||||
void sub_8007B7C(u32 a0, s32 x, s32 y, s32 a3, u32 color);
|
||||
void sub_8007E20(u32 a0, u32 a1, u32 a2, u32 a3, u32 a4, u32 *a5, u32 a6);
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ typedef struct WonderMailStruct_203B2C4
|
|||
unkStruct_203B480 unk1E8;
|
||||
/* 0x218 */ s8 mailIndex;
|
||||
MenuStruct unk21C[4];
|
||||
Windows unk35C;
|
||||
Windows unk3BC;
|
||||
WindowTemplates unk35C;
|
||||
WindowTemplates unk3BC;
|
||||
Item unk41C;
|
||||
/* 0x420 */ struct MonPortraitMsg monPortrait;
|
||||
u32 unk430;
|
||||
|
|
|
|||
|
|
@ -47,8 +47,8 @@ struct TradeItemsMenu
|
|||
u32 unk10;
|
||||
unkStructFor8013AA0 unk14;
|
||||
MenuStruct unk44[4];
|
||||
Windows unk184;
|
||||
Windows unk1E4;
|
||||
WindowTemplates unk184;
|
||||
WindowTemplates unk1E4;
|
||||
|
||||
// TODO These might be structs...
|
||||
struct TradeItem unk244;
|
||||
|
|
|
|||
|
|
@ -13,8 +13,8 @@ typedef struct WigglytuffShop2Work
|
|||
u32 pokemonStatus[0x10];
|
||||
/* 0x70 */ s32 numPokemoninFriendArea;
|
||||
s32 unk74;
|
||||
Window *unk78;
|
||||
Windows unk7C;
|
||||
WindowTemplate *unk78;
|
||||
WindowTemplates unk7C;
|
||||
u8 unkDC[4];
|
||||
} WigglytuffShop2Work;
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ typedef struct WigglytuffShop3Work
|
|||
MenuStruct unk6C;
|
||||
/* 0xBC */ struct MonPortraitMsg monPortrait;
|
||||
struct MonPortraitMsg *monPortraitPtr;
|
||||
Windows unkD0;
|
||||
WindowTemplates unkD0;
|
||||
u32 unk130;
|
||||
u32 unk134;
|
||||
} WigglytuffShop3Work;
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ typedef struct WonderMailStruct_203B2C0
|
|||
u8 fill16A[0x218 - 0x1B8];
|
||||
/* 0x218 */ u8 mailIndex;
|
||||
MenuStruct unk21C[4];
|
||||
Windows unk35C;
|
||||
Windows unk3BC;
|
||||
WindowTemplates unk35C;
|
||||
WindowTemplates unk3BC;
|
||||
/* 0x41C */ u32 unkfill; // ItemSlot?
|
||||
/* 0x420 */ struct MonPortraitMsg monPortrait;
|
||||
/* 0x430 */ u8 padding3[0x534 - 0x430];
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ struct unkStruct_203B2F0
|
|||
MenuItem unk10C[8];
|
||||
MenuItem unk14C[8];
|
||||
u8 fill18C[0x19C - 0x18C];
|
||||
Windows unk19C;
|
||||
WindowTemplates unk19C;
|
||||
};
|
||||
|
||||
bool8 InitializeJobListMenu(u32);
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ typedef struct unkStruct_203B2F8
|
|||
MenuItem unk118[8];
|
||||
MenuItem unk158[8];
|
||||
u16 unk198[8];
|
||||
Windows unk1A8;
|
||||
WindowTemplates unk1A8;
|
||||
} unkStruct_203B2F8;
|
||||
|
||||
bool8 GetWonderMailAccepted(void);
|
||||
|
|
|
|||
|
|
@ -223,8 +223,15 @@ SECTIONS {
|
|||
src/move_actions.o(.text);
|
||||
src/status_actions.o(.text);
|
||||
src/move_checks.o(.text);
|
||||
src/code_805D8C8_1.o(.text);
|
||||
asm/code_805D8C8.o(.text);
|
||||
src/dungeon_main.o(.text);
|
||||
src/dungeon_submenu.o(.text);
|
||||
src/dungeon_menu_items.o(.text);
|
||||
src/dungeon_menu_team.o(.text);
|
||||
src/dungeon_menu_moves.o(.text);
|
||||
src/dungeon_menu_tile.o(.text);
|
||||
src/dungeon_menu_stairs.o(.text);
|
||||
src/dungeon_menu_others.o(.text);
|
||||
src/dungeon_menu_recruitment.o(.text);
|
||||
src/code_8066D04.o(.text);
|
||||
src/code_805D8C8.o(.text);
|
||||
asm/code_805D8C8_1.o(.text);
|
||||
|
|
@ -540,6 +547,16 @@ SECTIONS {
|
|||
data/data_80F59C8.o(.rodata);
|
||||
src/dungeon_message.o(.rodata);
|
||||
src/dungeon_move.o(.rodata);
|
||||
data/data_8106A4C_0.o(.rodata);
|
||||
src/dungeon_main.o(.rodata);
|
||||
src/dungeon_submenu.o(.rodata);
|
||||
src/dungeon_menu_items.o(.rodata);
|
||||
src/dungeon_menu_team.o(.rodata);
|
||||
src/dungeon_menu_moves.o(.rodata);
|
||||
src/dungeon_menu_tile.o(.rodata);
|
||||
src/dungeon_menu_stairs.o(.rodata);
|
||||
src/dungeon_menu_others.o(.rodata);
|
||||
src/dungeon_menu_recruitment.o(.rodata);
|
||||
data/data_8106A4C.o(.rodata);
|
||||
src/code_8066D04.o(.rodata);
|
||||
data/data_8106A4C_2.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ bool8 CreateAdventureLogScreen(u32 kind)
|
|||
sAdventureLog->s0.unk38 = &sAdventureLog->s0.windows.id[kind];
|
||||
RestoreUnkTextStruct_8006518(&sAdventureLog->s0.windows);
|
||||
sAdventureLog->s0.windows.id[sAdventureLog->s0.unk34] = sUnknown_80E2008;
|
||||
sAdventureLog->s0.unk38->unk14 = &sAdventureLog->unk9C;
|
||||
sAdventureLog->s0.unk38->header = &sAdventureLog->unk9C;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sAdventureLog->s0.windows, TRUE, TRUE);
|
||||
|
|
@ -73,9 +73,9 @@ void CleanAdventureLogScreen(void)
|
|||
|
||||
static void sub_8032084(void)
|
||||
{
|
||||
sAdventureLog->unk9C.f0 = sAdventureLog->s0.input.unk20;
|
||||
sAdventureLog->unk9C.f1 = sAdventureLog->s0.input.unk1E;
|
||||
sAdventureLog->unk9C.f2 = 11;
|
||||
sAdventureLog->unk9C.count = sAdventureLog->s0.input.unk20;
|
||||
sAdventureLog->unk9C.currId = sAdventureLog->s0.input.unk1E;
|
||||
sAdventureLog->unk9C.width = 11;
|
||||
sAdventureLog->unk9C.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(sAdventureLog->s0);
|
||||
|
|
@ -96,7 +96,7 @@ static void DisplayAdventureLog(void)
|
|||
PrintStringOnWindow(r6, 0, sAdventureLogText, sAdventureLog->s0.unk34, 0);
|
||||
|
||||
r4 += 4;
|
||||
r6 = r4 + (sAdventureLog->unk9C.f2 * 8);
|
||||
r6 = r4 + (sAdventureLog->unk9C.width * 8);
|
||||
sub_8012BC4(r6, 0, sAdventureLog->s0.input.unk1E + 1, 1, 7, sAdventureLog->s0.unk34);
|
||||
|
||||
for (i = 0; i < sAdventureLog->s0.input.unk1A; i++) {
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ struct unkStruct_203B1F8
|
|||
// size: 0x4B4
|
||||
u32 menuAction;
|
||||
MenuStruct unk4;
|
||||
Windows windows;
|
||||
WindowTemplates windows;
|
||||
u8 buffer[0x400];
|
||||
};
|
||||
|
||||
EWRAM_INIT struct unkStruct_203B1F8 *gUnknown_203B1F8 = {NULL};
|
||||
|
||||
const Window gUnknown_80DAF70 = {
|
||||
const WindowTemplate gUnknown_80DAF70 = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
|
|
@ -31,7 +31,7 @@ const Window gUnknown_80DAF70 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
const Window gUnknown_80DAF88 = {
|
||||
const WindowTemplate gUnknown_80DAF88 = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x02, 0x02,
|
||||
|
|
@ -40,7 +40,7 @@ const Window gUnknown_80DAF88 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
const Window gUnknown_80DAFA0 = {
|
||||
const WindowTemplate gUnknown_80DAFA0 = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x16, 0x0F,
|
||||
|
|
@ -251,7 +251,7 @@ static const u8 *const gUnknown_80DB4F4[] =
|
|||
_("END"),
|
||||
};
|
||||
|
||||
static const Window gUnknown_80DB538 = {
|
||||
static const WindowTemplate gUnknown_80DB538 = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
|
|
@ -260,7 +260,7 @@ static const Window gUnknown_80DB538 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const Window gUnknown_80DB550 = {
|
||||
static const WindowTemplate gUnknown_80DB550 = {
|
||||
0x00,
|
||||
0x01,
|
||||
0x01, 0x0A,
|
||||
|
|
@ -269,7 +269,7 @@ static const Window gUnknown_80DB550 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const Window gUnknown_80DB568 = {
|
||||
static const WindowTemplate gUnknown_80DB568 = {
|
||||
0x00,
|
||||
0x01,
|
||||
0x04, 0x03,
|
||||
|
|
@ -278,7 +278,7 @@ static const Window gUnknown_80DB568 = {
|
|||
NULL
|
||||
};
|
||||
|
||||
static const Window gUnknown_80DB580 = {
|
||||
static const WindowTemplate gUnknown_80DB580 = {
|
||||
0x00,
|
||||
0x01,
|
||||
0x01, 0x02,
|
||||
|
|
@ -356,7 +356,7 @@ struct unkStruct_203B1FC
|
|||
u8 *unkF8;
|
||||
u8 unkFC[56];
|
||||
u8 *unk134;
|
||||
Windows windows;
|
||||
WindowTemplates windows;
|
||||
};
|
||||
extern struct unkStruct_203B1FC *gUnknown_203B1FC;
|
||||
|
||||
|
|
@ -640,34 +640,34 @@ bool8 sub_8015748(void)
|
|||
|
||||
void sub_80157D8(void)
|
||||
{
|
||||
UnkTextStruct1 *txtPtr = &gUnknown_2027370[1];
|
||||
Window *window = &gWindows[1];
|
||||
|
||||
// Note: for cases 4 and 5, the code is identical except for different position structs.
|
||||
if (gUnknown_203B1FC->unk0 == 4) {
|
||||
s32 x, y;
|
||||
|
||||
x = gUnknown_80DAFC0[gUnknown_203B1FC->unk1C].x + (txtPtr->unk0 * 8);
|
||||
x = gUnknown_80DAFC0[gUnknown_203B1FC->unk1C].x + (window->x * 8);
|
||||
SpriteSetX((SpriteOAM *) &gUnknown_203B1FC->sprite1Attribs, x);
|
||||
|
||||
y = gUnknown_80DAFC0[gUnknown_203B1FC->unk1C].y + (txtPtr->unk2 * 8) + 5;
|
||||
y = gUnknown_80DAFC0[gUnknown_203B1FC->unk1C].y + (window->y * 8) + 5;
|
||||
SpriteSetY((SpriteOAM *) &gUnknown_203B1FC->sprite1Attribs, y);
|
||||
}
|
||||
else if (gUnknown_203B1FC->unk0 == 5) {
|
||||
s32 x, y;
|
||||
|
||||
x = gUnknown_80DB098[gUnknown_203B1FC->unk1C].x + (txtPtr->unk0 * 8);
|
||||
x = gUnknown_80DB098[gUnknown_203B1FC->unk1C].x + (window->x * 8);
|
||||
SpriteSetX((SpriteOAM *) &gUnknown_203B1FC->sprite1Attribs, x);
|
||||
|
||||
y = gUnknown_80DB098[gUnknown_203B1FC->unk1C].y + (txtPtr->unk2 * 8) + 5;
|
||||
y = gUnknown_80DB098[gUnknown_203B1FC->unk1C].y + (window->y * 8) + 5;
|
||||
SpriteSetY((SpriteOAM *) &gUnknown_203B1FC->sprite1Attribs, y);
|
||||
}
|
||||
else {
|
||||
s32 x, y;
|
||||
|
||||
x = gUnknown_203B1FC->unk1E[gUnknown_203B1FC->unk1C] + (gUnknown_203B1FC->unk8A[gUnknown_203B1FC->unk1C] / 2) + 30 + (txtPtr->unk0 * 8);
|
||||
x = gUnknown_203B1FC->unk1E[gUnknown_203B1FC->unk1C] + (gUnknown_203B1FC->unk8A[gUnknown_203B1FC->unk1C] / 2) + 30 + (window->x * 8);
|
||||
SpriteSetX((SpriteOAM *) &gUnknown_203B1FC->sprite1Attribs, (u16) x);
|
||||
|
||||
y = (txtPtr->unk2 * 8) + 34;
|
||||
y = (window->y * 8) + 34;
|
||||
SpriteSetY((SpriteOAM *) &gUnknown_203B1FC->sprite1Attribs, y);
|
||||
}
|
||||
}
|
||||
|
|
@ -675,7 +675,7 @@ void sub_80157D8(void)
|
|||
void sub_80158BC(void)
|
||||
{
|
||||
s32 x, y;
|
||||
UnkTextStruct1 *txtPtr = &gUnknown_2027370[0];
|
||||
Window *window = &gWindows[0];
|
||||
u32 var;
|
||||
|
||||
switch (sub_8012AE8()) {
|
||||
|
|
@ -702,8 +702,8 @@ void sub_80158BC(void)
|
|||
gUnknown_203B1FC->unk17 = 8;
|
||||
}
|
||||
|
||||
x = gUnknown_80DB0F8[gUnknown_203B1FC->unk19][gUnknown_203B1FC->unk1A].x + (txtPtr->unk0 * 8) - 5;
|
||||
y = gUnknown_80DB0F8[gUnknown_203B1FC->unk19][gUnknown_203B1FC->unk1A].y + (txtPtr->unk2 * 8) + 1;
|
||||
x = gUnknown_80DB0F8[gUnknown_203B1FC->unk19][gUnknown_203B1FC->unk1A].x + (window->x * 8) - 5;
|
||||
y = gUnknown_80DB0F8[gUnknown_203B1FC->unk19][gUnknown_203B1FC->unk1A].y + (window->y * 8) + 1;
|
||||
SpriteSetX((SpriteOAM *) &gUnknown_203B1FC->sprite2Attribs, x);
|
||||
SpriteSetY((SpriteOAM *) &gUnknown_203B1FC->sprite2Attribs, y);
|
||||
}
|
||||
|
|
@ -769,8 +769,8 @@ void sub_8015A08(u32 unused)
|
|||
}
|
||||
}
|
||||
|
||||
sub_800792C(0, 0, 0, 0xE0, 0xE);
|
||||
sub_800792C(0, 0, 0x47, 0xE0, 0xE);
|
||||
AddUnderScoreHighlight(0, 0, 0, 0xE0, 0xE);
|
||||
AddUnderScoreHighlight(0, 0, 0x47, 0xE0, 0xE);
|
||||
sub_8007A78(0, 0, 0, 0x48, 0xE);
|
||||
sub_8007A78(0, 0xDF, 0, 0x48, 0xE);
|
||||
sub_80073E0(0);
|
||||
|
|
@ -783,14 +783,14 @@ void sub_8015C1C(void)
|
|||
CallPrepareTextbox_8008C54(1);
|
||||
sub_80073B8(1);
|
||||
if (gUnknown_203B1FC->unk4 != 0) {
|
||||
sub_800792C(1, 0, 0, 0xE0, 0xE);
|
||||
sub_800792C(1, 0, 0x37, 0xE0, 0xE);
|
||||
AddUnderScoreHighlight(1, 0, 0, 0xE0, 0xE);
|
||||
AddUnderScoreHighlight(1, 0, 0x37, 0xE0, 0xE);
|
||||
sub_8007A78(1, 0, 0, 0x38, 0xE);
|
||||
sub_8007A78(1, 0xDF, 0, 0x38, 0xE);
|
||||
}
|
||||
else {
|
||||
sub_800792C(1, 0, 0, 0xB0, 0xE);
|
||||
sub_800792C(1, 0, 0x27, 0xB0, 0xE);
|
||||
AddUnderScoreHighlight(1, 0, 0, 0xB0, 0xE);
|
||||
AddUnderScoreHighlight(1, 0, 0x27, 0xB0, 0xE);
|
||||
sub_8007A78(1, 0, 0, 0x28, 0xE);
|
||||
sub_8007A78(1, 0xAF, 0, 0x28, 0xE);
|
||||
}
|
||||
|
|
@ -827,7 +827,7 @@ void sub_8015C1C(void)
|
|||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
sub_80078A4(1, 38, 33, sub_8016028(), 4);
|
||||
AddDoubleUnderScoreHighlight(1, 38, 33, sub_8016028(), 4);
|
||||
if (sub_8015FEC(gUnknown_203B1FC->unkF8, gUnknown_203B1FC->unk1B) > sub_8016028()) {
|
||||
sprintfStatic(text, _("{COLOR RED}%s{RESET}"), gUnknown_203B1FC->unkF8);
|
||||
}
|
||||
|
|
@ -850,7 +850,7 @@ void sub_8015E10(u8 *a0, s32 a1, s32 _a2)
|
|||
s32 a2 = (s16) _a2;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT_INT(gUnknown_80DAFC0); i++) {
|
||||
sub_80078A4(a1, gUnknown_80DAFC0[i].x, gUnknown_80DAFC0[i].y + 11 + a2, 11, 5);
|
||||
AddDoubleUnderScoreHighlight(a1, gUnknown_80DAFC0[i].x, gUnknown_80DAFC0[i].y + 11 + a2, 11, 5);
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT_INT(gUnknown_80DAFC0) && a0[i] != 0; i++) {
|
||||
|
|
@ -876,7 +876,7 @@ void sub_8015EB4(u8 *a0, s32 a1, s32 _a2)
|
|||
s32 a2 = (s16) _a2;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT_INT(gUnknown_80DB098); i++) {
|
||||
sub_80078A4(a1, gUnknown_80DB098[i].x, gUnknown_80DB098[i].y + 11 + a2, 12, 5);
|
||||
AddDoubleUnderScoreHighlight(a1, gUnknown_80DB098[i].x, gUnknown_80DB098[i].y + 11 + a2, 12, 5);
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT_INT(gUnknown_80DB098) && a0[i] != 0; i++) {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ bool8 sub_801C8C4(s32 a0, s32 a1, DungeonPos *a2, u32 a3)
|
|||
sUnknown_203B244->unk4B4.s0.unk38 = &sUnknown_203B244->unk4B4.s0.windows.id[a1];
|
||||
RestoreUnkTextStruct_8006518(&sUnknown_203B244->unk4B4.s0.windows);
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34] = sUnknown_80DBE54;
|
||||
sUnknown_203B244->unk4B4.s0.unk38->unk14 = &sUnknown_203B244->unk4B4.unk9C;
|
||||
sUnknown_203B244->unk4B4.s0.unk38->header = &sUnknown_203B244->unk4B4.unk9C;
|
||||
|
||||
if (a2 != NULL)
|
||||
sUnknown_203B244->unk4B4.s0.windows.id[sUnknown_203B244->unk4B4.s0.unk34].pos = *a2;
|
||||
|
|
@ -137,9 +137,9 @@ void sub_801CBB8(void)
|
|||
|
||||
static void sub_801CC38(void)
|
||||
{
|
||||
sUnknown_203B244->unk4B4.unk9C.f0 = 1;
|
||||
sUnknown_203B244->unk4B4.unk9C.f1 = 0;
|
||||
sUnknown_203B244->unk4B4.unk9C.f2 = 12;
|
||||
sUnknown_203B244->unk4B4.unk9C.count = 1;
|
||||
sUnknown_203B244->unk4B4.unk9C.currId = 0;
|
||||
sUnknown_203B244->unk4B4.unk9C.width = 12;
|
||||
sUnknown_203B244->unk4B4.unk9C.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL(sUnknown_203B244->unk4B4.s0);
|
||||
|
|
@ -156,7 +156,7 @@ void sub_801CCD8(void)
|
|||
CallPrepareTextbox_8008C54(sUnknown_203B244->unk4B4.s0.unk34);
|
||||
sub_80073B8(sUnknown_203B244->unk4B4.s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sStorage, sUnknown_203B244->unk4B4.s0.unk34, 0);
|
||||
sub_8012BC4(sUnknown_203B244->unk4B4.unk9C.f2 * 8 + 4, 0, sUnknown_203B244->unk4B4.s0.input.unk1E + 1, 2, 7, sUnknown_203B244->unk4B4.s0.unk34);
|
||||
sub_8012BC4(sUnknown_203B244->unk4B4.unk9C.width * 8 + 4, 0, sUnknown_203B244->unk4B4.s0.input.unk1E + 1, 2, 7, sUnknown_203B244->unk4B4.s0.unk34);
|
||||
|
||||
for(index = 0; index < sUnknown_203B244->unk4B4.s0.input.unk1A; index++) {
|
||||
itemID = sUnknown_203B244->itemIDs[(sUnknown_203B244->unk4B4.s0.input.unk1E * sUnknown_203B244->unk4B4.s0.input.unk1C) + index];
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ bool8 sub_801D9E4(void)
|
|||
sUnknown_203B258->s0.unk38 = &sUnknown_203B258->s0.windows.id[3];
|
||||
RestoreUnkTextStruct_8006518(&sUnknown_203B258->s0.windows);
|
||||
sUnknown_203B258->s0.windows.id[sUnknown_203B258->s0.unk34] = sUnknown_80DBF88;
|
||||
sUnknown_203B258->s0.unk38->unk14 = &sUnknown_203B258->unk9C;
|
||||
sUnknown_203B258->s0.unk38->header = &sUnknown_203B258->unk9C;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B258->s0.windows, TRUE, TRUE);
|
||||
sub_8013818(&sUnknown_203B258->s0.input, 229, 10, sUnknown_203B258->s0.unk34);
|
||||
|
|
@ -90,9 +90,9 @@ void sub_801DB0C(void)
|
|||
|
||||
static void sub_801DB54(void)
|
||||
{
|
||||
sUnknown_203B258->unk9C.f0 = 1;
|
||||
sUnknown_203B258->unk9C.f1 = 0;
|
||||
sUnknown_203B258->unk9C.f2 = 8;
|
||||
sUnknown_203B258->unk9C.count = 1;
|
||||
sUnknown_203B258->unk9C.currId = 0;
|
||||
sUnknown_203B258->unk9C.width = 8;
|
||||
sUnknown_203B258->unk9C.f3 = 0;
|
||||
|
||||
ResetUnusedInputStruct();
|
||||
|
|
@ -113,7 +113,7 @@ static void sub_801DBD4(void)
|
|||
sub_80073B8(sUnknown_203B258->s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sField, sUnknown_203B258->s0.unk34, 0); // Field
|
||||
|
||||
x = (sUnknown_203B258->unk9C.f2 * 8) - 2;
|
||||
x = (sUnknown_203B258->unk9C.width * 8) - 2;
|
||||
n = sUnknown_203B258->s0.input.unk1E + 1;
|
||||
sub_8012BC4(x, 0, n, 2, 7, sUnknown_203B258->s0.unk34);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
EWRAM_INIT unkStruct_203B270 *gUnknown_203B270 = {NULL};
|
||||
|
||||
const Window gUnknown_80DC240 = {
|
||||
const WindowTemplate gUnknown_80DC240 = {
|
||||
0x00,
|
||||
0x03,
|
||||
0x00, 0x00,
|
||||
|
|
@ -24,7 +24,7 @@ const Window gUnknown_80DC240 = {
|
|||
|
||||
const WindowHeader gUnkData_80DC258 = {0x01, 0x00, 0x0F, 0x00};
|
||||
|
||||
const Window gUnknown_80DC25C = {
|
||||
const WindowTemplate gUnknown_80DC25C = {
|
||||
0,
|
||||
6,
|
||||
0x2, 0x2,
|
||||
|
|
@ -33,7 +33,7 @@ const Window gUnknown_80DC25C = {
|
|||
&gUnkData_80DC258
|
||||
};
|
||||
|
||||
const Window gUnknown_80DC274 = {
|
||||
const WindowTemplate gUnknown_80DC274 = {
|
||||
0,
|
||||
3,
|
||||
0x2, 0xF,
|
||||
|
|
@ -320,7 +320,7 @@ void sub_801F280(bool8 param_1)
|
|||
linkChain = MoveFlagLinkChain(move);
|
||||
x = !linkChain ? 0x8 : 0xD;
|
||||
if (!linkChain && i != 0) {
|
||||
sub_800792C(gUnknown_203B270->unk50,0xc,y - 2,0x78,7);
|
||||
AddUnderScoreHighlight(gUnknown_203B270->unk50,0xc,y - 2,0x78,7);
|
||||
}
|
||||
PrintFormattedStringOnWindow(x,y,gUnknown_80DC2A0,gUnknown_203B270->unk50,0); // {ARG_MOVE_ITEM_0}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ struct unkStruct_203B274
|
|||
};
|
||||
EWRAM_INIT struct unkStruct_203B274 *gUnknown_203B274 = {NULL};
|
||||
|
||||
static const Window sUnknown_80DC2AC = {
|
||||
static const WindowTemplate sUnknown_80DC2AC = {
|
||||
0,
|
||||
3,
|
||||
0, 0,
|
||||
|
|
@ -28,7 +28,7 @@ static const Window sUnknown_80DC2AC = {
|
|||
0, 0,
|
||||
NULL
|
||||
};
|
||||
static const Window sUnknown_80DC2C4 = {
|
||||
static const WindowTemplate sUnknown_80DC2C4 = {
|
||||
0,
|
||||
6,
|
||||
2, 2,
|
||||
|
|
@ -55,10 +55,10 @@ bool8 sub_801F428(s16 index, s32 param_2)
|
|||
gUnknown_203B274->s348.s0.unk38 = &gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34];
|
||||
RestoreUnkTextStruct_8006518(&gUnknown_203B274->s348.s0.windows);
|
||||
gUnknown_203B274->s348.s0.windows.id[gUnknown_203B274->s348.s0.unk34] = sUnknown_80DC2C4;
|
||||
gUnknown_203B274->s348.s0.unk38->unk14 = &gUnknown_203B274->s348.unk9C;
|
||||
gUnknown_203B274->s348.unk9C.f0 = 1;
|
||||
gUnknown_203B274->s348.unk9C.f1 = 0;
|
||||
gUnknown_203B274->s348.unk9C.f2 = 0xC;
|
||||
gUnknown_203B274->s348.s0.unk38->header = &gUnknown_203B274->s348.unk9C;
|
||||
gUnknown_203B274->s348.unk9C.count = 1;
|
||||
gUnknown_203B274->s348.unk9C.currId = 0;
|
||||
gUnknown_203B274->s348.unk9C.width = 0xC;
|
||||
gUnknown_203B274->s348.unk9C.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B274->s348.s0.windows, TRUE, TRUE);
|
||||
|
|
|
|||
|
|
@ -23,15 +23,15 @@ struct unkStruct_203B278
|
|||
u32 unk24;
|
||||
MenuInputStruct unk28;
|
||||
u32 unk5C;
|
||||
Window *unk60;
|
||||
Windows windows;
|
||||
WindowTemplate *unk60;
|
||||
WindowTemplates windows;
|
||||
WindowHeader unkC4;
|
||||
MenuInputStructSub unkC8;
|
||||
};
|
||||
|
||||
EWRAM_INIT struct unkStruct_203B278 *gUnknown_203B278 = {NULL};
|
||||
|
||||
static const Window sUnknown_80DC2F8 = {
|
||||
static const WindowTemplate sUnknown_80DC2F8 = {
|
||||
0,
|
||||
3,
|
||||
0, 0,
|
||||
|
|
@ -114,10 +114,10 @@ void sub_801F930(void)
|
|||
switch(gUnknown_203B278->state)
|
||||
{
|
||||
case 0:
|
||||
gUnknown_203B278->unk60->unk14 = &gUnknown_203B278->unkC4;
|
||||
gUnknown_203B278->unkC4.f0 = gUnknown_203B278->unk28.unk20;
|
||||
gUnknown_203B278->unkC4.f1 = gUnknown_203B278->unk28.unk1E;
|
||||
gUnknown_203B278->unkC4.f2 = 0x10;
|
||||
gUnknown_203B278->unk60->header = &gUnknown_203B278->unkC4;
|
||||
gUnknown_203B278->unkC4.count = gUnknown_203B278->unk28.unk20;
|
||||
gUnknown_203B278->unkC4.currId = gUnknown_203B278->unk28.unk1E;
|
||||
gUnknown_203B278->unkC4.width = 0x10;
|
||||
gUnknown_203B278->unkC4.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_203B278->windows, TRUE, TRUE);
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ bool8 sub_8023144(s32 a0, s32 index, DungeonPos *sub, u32 a3)
|
|||
RestoreUnkTextStruct_8006518(&gUnknown_3001B5C->s35C.s0.windows);
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34] = sUnknown_80DC91C;
|
||||
|
||||
gUnknown_3001B5C->s35C.s0.unk38->unk14 = &gUnknown_3001B5C->s35C.unk9C;
|
||||
gUnknown_3001B5C->s35C.s0.unk38->header = &gUnknown_3001B5C->s35C.unk9C;
|
||||
|
||||
if (sub != NULL)
|
||||
gUnknown_3001B5C->s35C.s0.windows.id[gUnknown_3001B5C->s35C.s0.unk34].pos = *sub;
|
||||
|
|
@ -137,9 +137,9 @@ void sub_80233A0(void)
|
|||
|
||||
static void sub_8023420(void)
|
||||
{
|
||||
gUnknown_3001B5C->s35C.unk9C.f0 = 1;
|
||||
gUnknown_3001B5C->s35C.unk9C.f1 = 0;
|
||||
gUnknown_3001B5C->s35C.unk9C.f2 = 12;
|
||||
gUnknown_3001B5C->s35C.unk9C.count = 1;
|
||||
gUnknown_3001B5C->s35C.unk9C.currId = 0;
|
||||
gUnknown_3001B5C->s35C.unk9C.width = 12;
|
||||
gUnknown_3001B5C->s35C.unk9C.f3 = 0;
|
||||
|
||||
SUB_80095E4_CALL_2(gUnknown_3001B5C->s35C.s0);
|
||||
|
|
@ -162,7 +162,7 @@ static void sub_80234BC(void)
|
|||
sub_80073B8(gUnknown_3001B5C->s35C.s0.unk34);
|
||||
PrintStringOnWindow(10, 0, sPokemon, gUnknown_3001B5C->s35C.s0.unk34, 0);
|
||||
|
||||
sub_8012BC4((gUnknown_3001B5C->s35C.unk9C.f2 * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.unk34);
|
||||
sub_8012BC4((gUnknown_3001B5C->s35C.unk9C.width * 8) + 4, 0, gUnknown_3001B5C->s35C.s0.input.unk1E + 1, 2, 7, gUnknown_3001B5C->s35C.s0.unk34);
|
||||
|
||||
for (i = 0; i < gUnknown_3001B5C->s35C.s0.input.unk1A; i++) {
|
||||
y = GetMenuEntryYCoord(&gUnknown_3001B5C->s35C.s0.input, i);
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ bool8 sub_8024458(s16 speciesNum, s32 a1)
|
|||
sUnknown_203B2AC->unkE4 = &sUnknown_203B2AC->unkE8.id[a1];
|
||||
RestoreUnkTextStruct_8006518(&sUnknown_203B2AC->unkE8);
|
||||
sUnknown_203B2AC->unkE8.id[sUnknown_203B2AC->unkE0] = sUnknown_80DC9C8;
|
||||
sUnknown_203B2AC->unkE4->unk14 = &sUnknown_203B2AC->unk148;
|
||||
sUnknown_203B2AC->unk148.f2 = 10;
|
||||
sUnknown_203B2AC->unkE4->header = &sUnknown_203B2AC->unk148;
|
||||
sUnknown_203B2AC->unk148.width = 10;
|
||||
sub_8024604();
|
||||
sub_802452C();
|
||||
sub_8013984(&sUnknown_203B2AC->input);
|
||||
|
|
@ -74,8 +74,8 @@ void sub_802453C(void)
|
|||
|
||||
static void sub_8024588(void)
|
||||
{
|
||||
sUnknown_203B2AC->unk148.f0 = sUnknown_203B2AC->input.unk20;
|
||||
sUnknown_203B2AC->unk148.f1 = sUnknown_203B2AC->input.unk1E;
|
||||
sUnknown_203B2AC->unk148.count = sUnknown_203B2AC->input.unk20;
|
||||
sUnknown_203B2AC->unk148.currId = sUnknown_203B2AC->input.unk1E;
|
||||
sUnknown_203B2AC->unk148.f3 = 0;
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&sUnknown_203B2AC->unkE8, TRUE, TRUE);
|
||||
|
|
|
|||
|
|
@ -18,15 +18,15 @@ struct unkStruct_203B334
|
|||
u32 mailIndex;
|
||||
MenuInputStructSub unk4;
|
||||
u32 unk10;
|
||||
Window *unk14;
|
||||
Windows unk18;
|
||||
WindowTemplate *unk14;
|
||||
WindowTemplates unk18;
|
||||
u8 unk78[4];
|
||||
};
|
||||
|
||||
EWRAM_INIT struct unkStruct_203B334 *gUnknown_203B334 = {NULL};
|
||||
extern unkStruct_203B480 *gUnknown_203B480;
|
||||
|
||||
const Window gUnknown_80E1FA8 = {
|
||||
const WindowTemplate gUnknown_80E1FA8 = {
|
||||
0,
|
||||
3,
|
||||
0x0, 0x0,
|
||||
|
|
@ -37,7 +37,7 @@ const Window gUnknown_80E1FA8 = {
|
|||
|
||||
const WindowHeader gUnkData_80E1FC0 = {0x01, 0x00, 0x0A, 0x00};
|
||||
|
||||
const Window gUnknown_80E1FC4 = {
|
||||
const WindowTemplate gUnknown_80E1FC4 = {
|
||||
0,
|
||||
6,
|
||||
0x2, 0x2,
|
||||
|
|
@ -170,7 +170,7 @@ void DrawSOSPasswordScreen(void)
|
|||
rowIndex = index % 0x12;
|
||||
x = rowIndex * 0xb + 6;
|
||||
sub_8012C60(x,y,buffer[index],color,gUnknown_203B334->unk10); // Draw character
|
||||
sub_80078A4(gUnknown_203B334->unk10,x,y + 0xA,10,COLOR_CYAN); // Draw underscore beneath character
|
||||
AddDoubleUnderScoreHighlight(gUnknown_203B334->unk10,x,y + 0xA,10,COLOR_CYAN); // Draw underscore beneath character
|
||||
}
|
||||
sub_80073E0(gUnknown_203B334->unk10);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -319,7 +319,7 @@ void ShowDungeonNameBanner(void)
|
|||
}
|
||||
|
||||
CloseFile(gDungeonNameBannerFontFile);
|
||||
sub_803E46C(2);
|
||||
DungeonRunFrameActions(2);
|
||||
}
|
||||
|
||||
s32 sub_803DC14(const u8 *dungName, s32 strWidth, s32 a2)
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ EWRAM_INIT u8 gUnknown_203B40C = 0;
|
|||
EWRAM_INIT u8 gUnknown_203B40D = 0;
|
||||
|
||||
extern s32 gDungeonBrightness;
|
||||
extern s32 gUnknown_202EDCC;
|
||||
extern s32 gDungeonFramesCounter;
|
||||
extern u32 gUnknown_202EDD0;
|
||||
extern s32 gUnknown_202EDD4;
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ void sub_800F7D0(DungeonPos *);
|
|||
void sub_803E874(s32, s32);
|
||||
void sub_803EAF0(s32, s32);
|
||||
|
||||
void sub_803E46C(u32 a0)
|
||||
void DungeonRunFrameActions(u32 a0)
|
||||
{
|
||||
if (gUnknown_203B40C != 0)
|
||||
sub_803E490(a0);
|
||||
|
|
@ -92,7 +92,7 @@ void sub_803E490(u32 unused)
|
|||
nullsub_12();
|
||||
sub_80060EC();
|
||||
|
||||
gUnknown_202EDCC++;
|
||||
gDungeonFramesCounter++;
|
||||
|
||||
IncrementPlayTime(gPlayTimeRef);
|
||||
sub_800CB20();
|
||||
|
|
@ -125,7 +125,7 @@ void sub_803E668(u32 unused)
|
|||
nullsub_12();
|
||||
sub_8005838(NULL, 0);
|
||||
sub_80060EC();
|
||||
gUnknown_202EDCC++;
|
||||
gDungeonFramesCounter++;
|
||||
IncrementPlayTime(gPlayTimeRef);
|
||||
sub_800CB20();
|
||||
LoadBufferedInputs();
|
||||
|
|
@ -147,7 +147,7 @@ void sub_803E668(u32 unused)
|
|||
void sub_803E708(s32 a0, u32 a1)
|
||||
{
|
||||
while (a0 != 0) {
|
||||
sub_803E46C(a1);
|
||||
DungeonRunFrameActions(a1);
|
||||
a0--;
|
||||
}
|
||||
}
|
||||
|
|
@ -156,7 +156,7 @@ void sub_803E724(s32 r0)
|
|||
{
|
||||
do
|
||||
{
|
||||
sub_803E46C(r0);
|
||||
DungeonRunFrameActions(r0);
|
||||
} while (gRealInputs.held & 0xF0);
|
||||
}
|
||||
|
||||
|
|
@ -187,7 +187,7 @@ void sub_803E748(void) {
|
|||
if(gDungeonBrightness <= 0x1E)
|
||||
gDungeonBrightness++;
|
||||
sub_803E874(1, index2);
|
||||
sub_803E46C(5);
|
||||
DungeonRunFrameActions(5);
|
||||
}
|
||||
gUnknown_203B40D = 0;
|
||||
gDungeonBrightness = 0x1F;
|
||||
|
|
@ -203,7 +203,7 @@ void sub_803E7C8(void)
|
|||
gUnknown_203B40D = 1;
|
||||
gDungeonBrightness = 0;
|
||||
|
||||
sub_803E46C(5);
|
||||
DungeonRunFrameActions(5);
|
||||
|
||||
for(index1 = 0; index1 < 0x2C; index1++)
|
||||
{
|
||||
|
|
@ -218,7 +218,7 @@ void sub_803E7C8(void)
|
|||
gDungeon->unk181e8.unk18217 = index2;
|
||||
}
|
||||
}
|
||||
sub_803E46C(5);
|
||||
DungeonRunFrameActions(5);
|
||||
}
|
||||
gUnknown_203B40D = 0;
|
||||
}
|
||||
|
|
@ -231,7 +231,7 @@ void sub_803E830(void)
|
|||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
sub_803E874(0, 0);
|
||||
sub_803E46C(5);
|
||||
DungeonRunFrameActions(5);
|
||||
if(gDungeonBrightness > 0)
|
||||
gDungeonBrightness--;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,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[];
|
||||
|
|
@ -54,10 +54,9 @@ extern const u16 gUnknown_80F6544[][9];
|
|||
|
||||
extern u8 gUnknown_20274A5;
|
||||
|
||||
extern s32 gUnknown_202EDCC;
|
||||
extern s32 gDungeonFramesCounter;
|
||||
|
||||
extern void ShowWholeRevealedDungeonMap();
|
||||
extern void sub_8083D44(void);
|
||||
extern void PlayDungeonStartButtonSE(void);
|
||||
extern void ShowWholeRevealedDungeonMap(void);
|
||||
extern void sub_80400D4(void);
|
||||
extern void sub_8041888(u8 param_1);
|
||||
|
|
@ -174,7 +173,7 @@ void sub_803EA10(void)
|
|||
SetBGPaletteBufferColorRGB(248, &gFontPalette[8], gDungeonBrightness, NULL);
|
||||
}
|
||||
|
||||
static const struct Windows gUnknown_80F62B0 =
|
||||
static const struct WindowTemplates gUnknown_80F62B0 =
|
||||
{
|
||||
.id = {
|
||||
[0] = {
|
||||
|
|
@ -184,7 +183,7 @@ static const struct Windows gUnknown_80F62B0 =
|
|||
.height = 5,
|
||||
.unk10 = 7,
|
||||
.unk12 = 0,
|
||||
.unk14 = NULL,
|
||||
.header = NULL,
|
||||
},
|
||||
[1] = WINDOW_DUMMY,
|
||||
[2] = WINDOW_DUMMY,
|
||||
|
|
@ -192,7 +191,7 @@ static const struct Windows gUnknown_80F62B0 =
|
|||
}
|
||||
};
|
||||
|
||||
static const struct Windows gUnknown_80F6310 =
|
||||
static const struct WindowTemplates gUnknown_80F6310 =
|
||||
{
|
||||
.id = {
|
||||
[0] = {
|
||||
|
|
@ -202,7 +201,7 @@ static const struct Windows gUnknown_80F6310 =
|
|||
.height = 7,
|
||||
.unk10 = 7,
|
||||
.unk12 = 0,
|
||||
.unk14 = NULL,
|
||||
.header = NULL,
|
||||
},
|
||||
[1] = WINDOW_DUMMY,
|
||||
[2] = WINDOW_DUMMY,
|
||||
|
|
@ -210,7 +209,7 @@ static const struct Windows gUnknown_80F6310 =
|
|||
}
|
||||
};
|
||||
|
||||
static const struct Windows gUnknown_80F6370 =
|
||||
static const struct WindowTemplates gUnknown_80F6370 =
|
||||
{
|
||||
.id = {
|
||||
[0] = {
|
||||
|
|
@ -220,7 +219,7 @@ static const struct Windows gUnknown_80F6370 =
|
|||
.height = 7,
|
||||
.unk10 = 7,
|
||||
.unk12 = 0,
|
||||
.unk14 = NULL,
|
||||
.header = NULL,
|
||||
},
|
||||
[1] = {
|
||||
.type = WINDOW_TYPE_NORMAL,
|
||||
|
|
@ -229,7 +228,7 @@ static const struct Windows gUnknown_80F6370 =
|
|||
.height = 2,
|
||||
.unk10 = 2,
|
||||
.unk12 = 0,
|
||||
.unk14 = NULL,
|
||||
.header = NULL,
|
||||
},
|
||||
[2] = {
|
||||
.type = WINDOW_TYPE_NORMAL,
|
||||
|
|
@ -238,13 +237,13 @@ static const struct Windows gUnknown_80F6370 =
|
|||
.height = 6,
|
||||
.unk10 = 6,
|
||||
.unk12 = 0,
|
||||
.unk14 = NULL,
|
||||
.header = NULL,
|
||||
},
|
||||
[3] = WINDOW_DUMMY,
|
||||
}
|
||||
};
|
||||
|
||||
static const struct Windows gUnknown_80F63D0 =
|
||||
static const struct WindowTemplates gUnknown_80F63D0 =
|
||||
{
|
||||
.id = {
|
||||
[0] = {
|
||||
|
|
@ -254,7 +253,7 @@ static const struct Windows gUnknown_80F63D0 =
|
|||
.height = 14,
|
||||
.unk10 = 18,
|
||||
.unk12 = 2,
|
||||
.unk14 = NULL,
|
||||
.header = NULL,
|
||||
},
|
||||
[1] = WINDOW_DUMMY,
|
||||
[2] = WINDOW_DUMMY,
|
||||
|
|
@ -321,7 +320,7 @@ void sub_803EAF0(u32 a0, u8 *a1)
|
|||
break;
|
||||
case 8:
|
||||
if (gUnknown_203B40C != 0) {
|
||||
sub_8083D44();
|
||||
PlayDungeonStartButtonSE();
|
||||
sub_8052210(0);
|
||||
}
|
||||
CreateConfirmNameMenu(2, a1);
|
||||
|
|
@ -329,13 +328,13 @@ void sub_803EAF0(u32 a0, u8 *a1)
|
|||
case 9:
|
||||
if (gUnknown_203B40C != 0) {
|
||||
sub_8052210(0);
|
||||
sub_8083D44();
|
||||
PlayDungeonStartButtonSE();
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
ShowWindows(&gUnknown_80F63D0, FALSE, TRUE);
|
||||
break;
|
||||
case 10:
|
||||
sub_8083D44();
|
||||
PlayDungeonStartButtonSE();
|
||||
break;
|
||||
case 150: // Dummy case put here to match, any value >= 150 works
|
||||
break;
|
||||
|
|
@ -346,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(WindowTemplates *a0, bool8 a1)
|
||||
{
|
||||
gUnknown_202EDD0 = 10;
|
||||
sub_8052210(0);
|
||||
|
|
@ -383,7 +382,7 @@ void sub_803ED30(s32 a0, Entity *mon, u8 a2, s32 a3)
|
|||
for (i = 0; i < 20; i++) {
|
||||
if (gUnknown_202EDE8.unk0 == 0)
|
||||
break;
|
||||
sub_803E46C(0x29);
|
||||
DungeonRunFrameActions(0x29);
|
||||
}
|
||||
|
||||
var = sub_803EF90(a0, a2);
|
||||
|
|
@ -687,8 +686,8 @@ void sub_803F27C(bool8 a0)
|
|||
strPtr->priority = 3;
|
||||
strPtr->unk1821A = 0;
|
||||
strPtr->unk18212 = 0;
|
||||
strPtr->unk1821B = 0;
|
||||
strPtr->unk1821C = 0;
|
||||
strPtr->rotateModeDirection = 0;
|
||||
strPtr->prevRotateModeDirection = 0;
|
||||
strPtr->inFloorMapMode = 0;
|
||||
strPtr->unk18215 = 1;
|
||||
sub_803F38C();
|
||||
|
|
@ -1098,14 +1097,14 @@ void sub_803FB74(void)
|
|||
hungry = TRUE;
|
||||
}
|
||||
|
||||
if (lowHp && (gUnknown_202EDCC & 16) != 0) {
|
||||
if (lowHp && (gDungeonFramesCounter & 16) != 0) {
|
||||
r5 = 32, r6 = 32;
|
||||
}
|
||||
else {
|
||||
r5 = 0, r6 = 0;
|
||||
}
|
||||
|
||||
if (hungry && (gUnknown_202EDCC & 16) != 0) {
|
||||
if (hungry && (gDungeonFramesCounter & 16) != 0) {
|
||||
r5 = 48, r6 = 48;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ extern void sub_800569C(DungeonPos *, axdata *, u8);
|
|||
extern void sub_800EEC8(u16 r0);
|
||||
extern void sub_800EF64(void);
|
||||
extern void sub_8042DD4(s32 a0, Entity *a1, s32 a2);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void DungeonRunFrameActions(u32);
|
||||
extern u8 sub_800EA44(s32 species, u16 a2);
|
||||
extern s32 sub_800E790(s32 species, u16 a2);
|
||||
extern void sub_806CDD4(Entity *entity, u8, u32 direction);
|
||||
|
|
@ -116,7 +116,7 @@ static void sub_8040C4C(Entity *entity, Move *move, bool32 a2)
|
|||
sub_8041500(&sp);
|
||||
sub_800EEC8(r9);
|
||||
sub_800EF64();
|
||||
sub_803E46C(0x58);
|
||||
DungeonRunFrameActions(0x58);
|
||||
r4 = sub_800EA84(&sp);
|
||||
sub_8042DD4(r4, entity, 5);
|
||||
savedUnkVar = gUnknown_203B40D;
|
||||
|
|
@ -139,7 +139,7 @@ static void sub_8040C4C(Entity *entity, Move *move, bool32 a2)
|
|||
r8 = FALSE;
|
||||
}
|
||||
sub_803EA10();
|
||||
sub_803E46C(0x26);
|
||||
DungeonRunFrameActions(0x26);
|
||||
}
|
||||
gUnknown_203B40D = savedUnkVar;
|
||||
}
|
||||
|
|
@ -225,7 +225,7 @@ void sub_8040DA0(Entity *entity, Move *move)
|
|||
for (i = 0; i < 120; i++) {
|
||||
u32 unk;
|
||||
|
||||
sub_803E46C(0x59);
|
||||
DungeonRunFrameActions(0x59);
|
||||
unk = entity->axObj.axdata.sub1.unk10;
|
||||
if (var_24 == 9) {
|
||||
unk |= 2;
|
||||
|
|
@ -280,7 +280,7 @@ static void sub_8041108(struct UnkStruct_8040094 *a0, Entity *entity, Move *move
|
|||
sub_8041500(a0);
|
||||
sub_800EEF8(r4);
|
||||
sub_800EF64();
|
||||
sub_803E46C(0x5A);
|
||||
DungeonRunFrameActions(0x5A);
|
||||
sub_8042DD4(sub_800E52C(a0), entity, 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -346,12 +346,12 @@ void sub_8041168(Entity *entity, Entity *entity2, Move *move, DungeonPos *pos)
|
|||
sub_800EEE0(r10);
|
||||
sub_800EF64();
|
||||
var3 = sub_800EBC8(&sp);
|
||||
sub_803E46C(0x5B);
|
||||
DungeonRunFrameActions(0x5B);
|
||||
sub_8042DD4(var3, entity2, 6);
|
||||
while (1) {
|
||||
if (!sub_800E9A8(var3))
|
||||
break;
|
||||
sub_803E46C(0x28);
|
||||
DungeonRunFrameActions(0x28);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -479,7 +479,7 @@ static bool8 sub_80414C0(Entity *entity, Move *move)
|
|||
static void sub_8041500(struct UnkStruct_8040094 *a0)
|
||||
{
|
||||
if (sub_800E7D0(a0)) {
|
||||
sub_803E46C(0x5C);
|
||||
DungeonRunFrameActions(0x5C);
|
||||
sub_8052740(0x5D);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ s32 sub_8041550(Entity *entity, s32 a1, u8 a2, u8 a3, s32 a4, u8 a5)
|
|||
if (!sub_800E9A8(r4)) {
|
||||
break;
|
||||
}
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
}
|
||||
r4 = -1;
|
||||
}
|
||||
|
|
@ -155,7 +155,7 @@ s32 sub_80416E0(PixelPos *pos, u32 param_2, bool8 param_3)
|
|||
if (param_3) {
|
||||
counter = 0;
|
||||
while ((counter < 100 && (sub_800E9A8(ret)))) {
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
counter++;
|
||||
}
|
||||
ret = -1;
|
||||
|
|
@ -168,7 +168,7 @@ u32 sub_8041764(unkStruct_80416E0 *param_1, bool8 param_2)
|
|||
sub_800EE5C(param_1->unk0);
|
||||
sub_800EF64();
|
||||
if(param_2)
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
return sub_800E890(param_1);
|
||||
}
|
||||
|
||||
|
|
@ -181,11 +181,11 @@ void sub_804178C(u8 param_1)
|
|||
gDungeon->unk181e8.unk18204 = 0;
|
||||
if (sub_800E9FC(param_1) != 0) {
|
||||
while ((counter < 1000 && (sub_800E9FC(param_1) != 0))) {
|
||||
sub_803E46C(0x4a);
|
||||
DungeonRunFrameActions(0x4a);
|
||||
counter++;
|
||||
}
|
||||
sub_803E46C(0x4a);
|
||||
sub_803E46C(0x4a);
|
||||
DungeonRunFrameActions(0x4a);
|
||||
DungeonRunFrameActions(0x4a);
|
||||
}
|
||||
if ((counter == 1000) || (param_1 != 0)) {
|
||||
sub_800DBBC();
|
||||
|
|
@ -205,7 +205,7 @@ void sub_804178C(u8 param_1)
|
|||
gDungeonBrightness = 0x1f;
|
||||
}
|
||||
sub_803EA10();
|
||||
sub_803E46C(0x4a);
|
||||
DungeonRunFrameActions(0x4a);
|
||||
if(gDungeonBrightness == 0x1f) break;
|
||||
};
|
||||
gUnknown_2026E4E = 0x808;
|
||||
|
|
@ -1011,7 +1011,7 @@ void sub_804225C(Entity *entity, DungeonPos *pos, u8 trapId)
|
|||
}
|
||||
|
||||
for (i = 0; i < 1000; i++) {
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
if (!sub_800E9A8(uVar6))
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ void sub_8042390(Entity *entity, Item *item)
|
|||
sub_8005700(asStack_24,&entity->axObj);
|
||||
uVar6 = sub_800E49C(id,&local_14,asStack_24,0,sVar1);
|
||||
for (counter = 0; counter < 1000; counter++) {
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
if (!sub_800E9A8(uVar6)) {
|
||||
break;
|
||||
}
|
||||
|
|
@ -88,7 +88,7 @@ void sub_804245C(Entity *entity, Item *item)
|
|||
sub_8005700(asStack_24,&entity->axObj);
|
||||
uVar6 = sub_800E49C(id,&local_14,asStack_24,1,sVar1);
|
||||
for (counter = 0; counter < 1000; counter++) {
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
if (!sub_800E9A8(uVar6)) {
|
||||
break;
|
||||
}
|
||||
|
|
@ -128,7 +128,7 @@ s32 sub_8042520(Entity *a0)
|
|||
|
||||
for (i = 0; i < 6; i++) {
|
||||
sub_800E8AC(uVar4, &pos, 0, iVar8, 0);
|
||||
sub_803E46C(66);
|
||||
DungeonRunFrameActions(66);
|
||||
pos.x += gAdjacentTileOffsets[dir].x * 4;
|
||||
pos.y += gAdjacentTileOffsets[dir].y * 4;
|
||||
iVar8 = (pos.y - gDungeon->unk181e8.cameraPixelPos.y) / 2;
|
||||
|
|
@ -179,7 +179,7 @@ void sub_80426C8(u32 a0, u32 a1)
|
|||
sub_8042B34(a0, a1, 0x80);
|
||||
|
||||
while (sub_8042CC0())
|
||||
sub_803E46C(0x46);
|
||||
DungeonRunFrameActions(0x46);
|
||||
|
||||
sub_8042D7C();
|
||||
LoadDungeonMapPalette();
|
||||
|
|
@ -192,7 +192,7 @@ void sub_8042730(Entity *a0, void *unused)
|
|||
|
||||
sub_806CDD4(a0, 8, 8);
|
||||
for (i = 0; i < 100; i++) {
|
||||
sub_803E46C(0x51);
|
||||
DungeonRunFrameActions(0x51);
|
||||
if ((a0->axObj.axdata.sub1.unk10 & 3) != 0 || a0->axObj.unk43_animId2 != 8)
|
||||
break;
|
||||
}
|
||||
|
|
@ -406,7 +406,7 @@ void sub_8042A84(s16 param_1, Entity *entity, u32 param_3)
|
|||
sub_803E708(param_3,0x42);
|
||||
do {
|
||||
if (entity->unk1C.raw > IntToF248_2(199.999).raw) break;
|
||||
sub_803E46C(0x42);
|
||||
DungeonRunFrameActions(0x42);
|
||||
entity->unk1C.raw += + r6;
|
||||
r6 += IntToF248_2(1).raw;
|
||||
iVar3 = (entity->pixelPos.y - entity->unk1C.raw) / 256;
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ void sub_8042B34(s32 a0, s32 a1, s32 a2)
|
|||
sUnknown_203B414->unk8 = (a1 + 1) * 4;
|
||||
sub_800EE5C(gUnknown_80F6624[a0][0].unk0);
|
||||
sub_800EF64();
|
||||
sub_803E46C(0x46);
|
||||
DungeonRunFrameActions(0x46);
|
||||
sUnknown_203B414->unk4 = a2;
|
||||
for (i = 0; i < sUnknown_203B414->unk8; i++) {
|
||||
s32 rnd;
|
||||
|
|
@ -403,7 +403,7 @@ void RunDungeon(UnkStruct_RunDungeon *r8)
|
|||
gDungeon->unk644.unk55 = 0;
|
||||
gDungeon->unk644.unk18 = r8->unk9;
|
||||
gDungeon->unk644.unk16 = r8->unkC;
|
||||
gDungeon->unk644.unk14 = r8->unkA;
|
||||
gDungeon->unk644.canRecruit = r8->unkA;
|
||||
gDungeon->unk644.unk15 = r8->unkB;
|
||||
gDungeon->unk644.unk17 = r8->unkD;
|
||||
gDungeon->unk644.unk19 = r8->unkE;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#include "constants/dungeon_action.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "dungeon_generation.h"
|
||||
#include "code_8044CC8.h"
|
||||
#include "items.h"
|
||||
|
||||
|
|
@ -15,15 +16,15 @@ typedef struct ItemText
|
|||
// size: 0x8
|
||||
typedef struct unkStr_80F7C54
|
||||
{
|
||||
u32 unk0;
|
||||
s32 unk0;
|
||||
u8 *text;
|
||||
} unkStr_80F7C54;
|
||||
|
||||
|
||||
|
||||
EWRAM_DATA unkStruct_202EE44 gUnknown_202EE44[10] = {0};
|
||||
EWRAM_DATA unkStruct_202EE44 gDungeonSubMenu[10] = {0};
|
||||
|
||||
extern s32 gUnknown_202EE6C;
|
||||
extern s32 gDungeonSubMenuItemsCount;
|
||||
|
||||
extern const ItemText gActions[];
|
||||
extern u16 gUnknown_80F6964[NUM_ITEM_CATEGORIES];
|
||||
|
|
@ -159,79 +160,70 @@ void sub_8044E24(Entity *entity,int index,u32 unused)
|
|||
}
|
||||
|
||||
// Similar to sub_8044BA8
|
||||
u8 *sub_8044EC8(s32 param_1)
|
||||
u8 *GetDungeonSubMenuItemString(s32 param_1)
|
||||
{
|
||||
u16 uVar1;
|
||||
u32 uVar3;
|
||||
u32 uVar4;
|
||||
u16 actionId = gDungeonSubMenu[param_1].actionId;
|
||||
|
||||
uVar1 = gUnknown_202EE44[param_1].unk0;
|
||||
|
||||
if ((uVar1 == 0x26) && (GetFloorType() == 2)) {
|
||||
if (actionId == ACTION_STAIRS && GetFloorType() == FLOOR_TYPE_RESCUE) {
|
||||
return *gUnknown_80F91EC;
|
||||
}
|
||||
else {
|
||||
uVar3 = uVar4 = strcmp(gUnknown_80F7C50[uVar1 << 1], gUnknown_80F697C);
|
||||
if (uVar3 != 0) {
|
||||
uVar4 = 1;
|
||||
if (!AreStringsDifferent(gUnknown_80F7C50[actionId << 1], gUnknown_80F697C)) {
|
||||
return gActions[GetItemActionType(gDungeonSubMenu[param_1].unk2)].useText;
|
||||
}
|
||||
if ((u8)(uVar4) == 0) {
|
||||
return gActions[GetItemActionType(gUnknown_202EE44[param_1].unk2)].useText;
|
||||
}
|
||||
else
|
||||
{
|
||||
return gUnknown_80F7C50[uVar1 << 1];
|
||||
else {
|
||||
return gUnknown_80F7C50[actionId << 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool8 sub_8044F3C(s32 param_1)
|
||||
bool8 CanSubMenuItemBeChosen(s32 itemId)
|
||||
{
|
||||
if(param_1 < 0)
|
||||
if (itemId < 0)
|
||||
return FALSE;
|
||||
else
|
||||
return gUnknown_202EE44[param_1].unk3;
|
||||
return gDungeonSubMenu[itemId].canBeChosen;
|
||||
}
|
||||
|
||||
void sub_8044F5C(u16 param_1, u8 param_2)
|
||||
void AddActionToDungeonSubMenu(u16 actionId, u8 param_2)
|
||||
{
|
||||
int index;
|
||||
|
||||
if (gUnknown_202EE6C < 10) {
|
||||
for(index = 0; index < gUnknown_202EE6C; index++)
|
||||
if (gDungeonSubMenuItemsCount < 10) {
|
||||
for(index = 0; index < gDungeonSubMenuItemsCount; index++)
|
||||
{
|
||||
if (gUnknown_202EE44[index].unk0 == param_1) {
|
||||
if (gDungeonSubMenu[index].actionId == actionId) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
gUnknown_202EE44[gUnknown_202EE6C].unk0 = param_1;
|
||||
gUnknown_202EE44[gUnknown_202EE6C].unk2 = param_2;
|
||||
gUnknown_202EE44[gUnknown_202EE6C].unk3 = TRUE;
|
||||
gUnknown_202EE6C++;
|
||||
gDungeonSubMenu[gDungeonSubMenuItemsCount].actionId = actionId;
|
||||
gDungeonSubMenu[gDungeonSubMenuItemsCount].unk2 = param_2;
|
||||
gDungeonSubMenu[gDungeonSubMenuItemsCount].canBeChosen = TRUE;
|
||||
gDungeonSubMenuItemsCount++;
|
||||
}
|
||||
}
|
||||
|
||||
s32 sub_8044FB4(u16 param_1)
|
||||
s32 ActionToDungeonSubMenuId(u16 actionId)
|
||||
{
|
||||
int index;
|
||||
|
||||
for(index = 0; index < gUnknown_202EE6C; index++)
|
||||
for(index = 0; index < gDungeonSubMenuItemsCount; index++)
|
||||
{
|
||||
if (gUnknown_202EE44[index].unk0 == param_1) {
|
||||
if (gDungeonSubMenu[index].actionId == actionId) {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void sub_8044FF0(u16 param_1)
|
||||
void SetActionUnusableInDungeonSubMenu(u16 actionId)
|
||||
{
|
||||
int index;
|
||||
|
||||
for(index = 0; index < gUnknown_202EE6C; index++)
|
||||
for(index = 0; index < gDungeonSubMenuItemsCount; index++)
|
||||
{
|
||||
if (gUnknown_202EE44[index].unk0 == param_1) {
|
||||
gUnknown_202EE44[index].unk3 = FALSE;
|
||||
if (gDungeonSubMenu[index].actionId == actionId) {
|
||||
gDungeonSubMenu[index].canBeChosen = FALSE;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -263,20 +255,16 @@ bool8 IsNotAttacking(Entity *param_1, bool8 param_2)
|
|||
|
||||
void sub_8045064(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
unkStruct_202EE44 *iPtr;
|
||||
unkStruct_202EE44 *jPtr;
|
||||
unkStruct_202EE44 temp;
|
||||
s32 i, j;
|
||||
|
||||
for (i = 0; i < gUnknown_202EE6C; i++) {
|
||||
for (j = i + 1; j < gUnknown_202EE6C; j++) {
|
||||
iPtr = &gUnknown_202EE44[i];
|
||||
jPtr = &gUnknown_202EE44[j];
|
||||
if ((s32)gUnknown_80F7C54[iPtr->unk0].unk0 > (s32)gUnknown_80F7C54[jPtr->unk0].unk0) {
|
||||
temp = *iPtr;
|
||||
*iPtr = *jPtr;
|
||||
*jPtr = temp;
|
||||
for (i = 0; i < gDungeonSubMenuItemsCount; i++) {
|
||||
for (j = i + 1; j < gDungeonSubMenuItemsCount; j++) {
|
||||
unkStruct_202EE44 temp;
|
||||
unkStruct_202EE44 *iPtr = &gDungeonSubMenu[i];
|
||||
unkStruct_202EE44 *jPtr = &gDungeonSubMenu[j];
|
||||
|
||||
if (gUnknown_80F7C54[iPtr->actionId].unk0 > gUnknown_80F7C54[jPtr->actionId].unk0) {
|
||||
SWAP(*iPtr, *jPtr, temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
#include "structs/str_dungeon.h"
|
||||
#include "structs/str_position.h"
|
||||
#include "dungeon_config.h"
|
||||
#include "dungeon_menu_team.h"
|
||||
#include "dungeon_menu_moves.h"
|
||||
|
||||
extern s16 gTypeGummiIQBoost[NUM_TYPES][NUMBER_OF_GUMMIS];
|
||||
|
||||
|
|
@ -68,16 +70,11 @@ extern void sub_8078B5C(Entity *, Entity *, u32, u32, u32);
|
|||
extern u8 sub_806A538(s32);
|
||||
extern void sub_8051E7C(Entity *pokemon);
|
||||
extern void sub_8045BF8(u8 *, Item *);
|
||||
extern void sub_8063B54(ActionContainer *);
|
||||
extern void sub_80637E8(ActionContainer *);
|
||||
extern void sub_8063BB4(ActionContainer *);
|
||||
extern void sub_8063CF0(ActionContainer *, u32);
|
||||
extern void sub_8063A70(ActionContainer *, u32);
|
||||
extern u8 sub_8062F90(Entity *, u32, u32, u32, u32);
|
||||
extern void ActionShowMoveInfo(ActionContainer *);
|
||||
extern void ActionLinkMoves(ActionContainer *);
|
||||
extern void sub_8044DF0(Entity *, u32, u32);
|
||||
extern void sub_803EAF0(u32, u32);
|
||||
extern void sub_8044C10(bool8);
|
||||
Entity *DrawFieldGiveItemMenu(u32, u32);
|
||||
extern void SetLeaderActionToNothing(bool8);
|
||||
extern void sub_8044E24(Entity *, u32, u32);
|
||||
extern void sub_804245C(Entity *, Item *);
|
||||
extern u8 sub_8072938(Entity *, u16);
|
||||
|
|
@ -813,7 +810,7 @@ bool8 sub_8048950(Entity *param_1,Item *item)
|
|||
entityInfo->unk157 = flag;
|
||||
}
|
||||
}
|
||||
entity2 = DrawFieldGiveItemMenu(0,1);
|
||||
entity2 = ShowDungeonToWhichMonMenu(NULL,WHICH_MENU_MOVES);
|
||||
if (!EntityIsValid(entity2)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -878,7 +875,7 @@ bool8 sub_8048A68(Entity *param_1,Item *item)
|
|||
pEVar6->unk157 = flag;
|
||||
}
|
||||
}
|
||||
entity2 = DrawFieldGiveItemMenu(0,1);
|
||||
entity2 = ShowDungeonToWhichMonMenu(NULL,WHICH_MENU_MOVES);
|
||||
if (!EntityIsValid(entity2)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -924,7 +921,7 @@ bool8 sub_8048B9C(Entity *entity, Item *item)
|
|||
}
|
||||
}
|
||||
|
||||
entity2 = DrawFieldGiveItemMenu(0,1);
|
||||
entity2 = ShowDungeonToWhichMonMenu(NULL,WHICH_MENU_MOVES);
|
||||
if (!EntityIsValid(entity2)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -932,32 +929,32 @@ bool8 sub_8048B9C(Entity *entity, Item *item)
|
|||
originalAction = *entityActionPtr;
|
||||
goto LOOP_MIDDLE; // Needed to match
|
||||
while (1) {
|
||||
if (entityActionPtr->action == ACTION_UNK1D) {
|
||||
sub_80637E8(entityActionPtr);
|
||||
if (entityActionPtr->action == ACTION_MOVE_INFO) {
|
||||
ActionShowMoveInfo(entityActionPtr);
|
||||
}
|
||||
else if (entityActionPtr->action == ACTION_UNK20) {
|
||||
else if (entityActionPtr->action == ACTION_LINK_MOVES) {
|
||||
sub_803EAF0(0,0);
|
||||
sub_8063BB4(entityActionPtr);
|
||||
sub_8044C10(TRUE);
|
||||
ActionLinkMoves(entityActionPtr);
|
||||
SetLeaderActionToNothing(TRUE);
|
||||
ret = TRUE;
|
||||
}
|
||||
else if (entityActionPtr->action == ACTION_UNK21) {
|
||||
else if (entityActionPtr->action == ACTION_DELINK_MOVES) {
|
||||
sub_803EAF0(0,0);
|
||||
sub_8063CF0(entityActionPtr,0);
|
||||
sub_8044C10(TRUE);
|
||||
ActionDelinkMoves(entityActionPtr,0);
|
||||
SetLeaderActionToNothing(TRUE);
|
||||
}
|
||||
else if ((entityActionPtr->action == ACTION_SET_MOVE) || (entityActionPtr->action == ACTION_UNSET_MOVE)) {
|
||||
sub_803EAF0(0,0);
|
||||
sub_8063A70(entityActionPtr,0);
|
||||
ActionSetOrUnsetMove(entityActionPtr, FALSE);
|
||||
}
|
||||
else if (entityActionPtr->action == ACTION_UNK1F) {
|
||||
else if (entityActionPtr->action == ACTION_SWITCH_AI_MOVE) {
|
||||
sub_803EAF0(0,0);
|
||||
sub_8063B54(entityActionPtr);
|
||||
ActionToggleMoveUsableForAi(entityActionPtr);
|
||||
}
|
||||
|
||||
LOOP_MIDDLE:
|
||||
ClearMonsterActionFields(entityActionPtr);
|
||||
if (sub_8062F90(entity2,1,0,0,1) != 0) {
|
||||
if (ShowDungeonMovesMenu(entity2,1,0,0,1) != 0) {
|
||||
if (ret) {
|
||||
ASM_MATCH_TRICK(ret);
|
||||
if (DisplayDungeonYesNoMessage(0,*gUnknown_80FECA0,1) == 1) {
|
||||
|
|
@ -969,7 +966,7 @@ bool8 sub_8048B9C(Entity *entity, Item *item)
|
|||
}
|
||||
else
|
||||
{
|
||||
sub_8044C10(TRUE);
|
||||
SetLeaderActionToNothing(TRUE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ extern const u8 gUnknown_8106E98[]; // palet
|
|||
// ???
|
||||
extern s32 sprintf(char *, const char *, ...);
|
||||
|
||||
extern u32 gUnknown_202EDCC;
|
||||
extern u32 gDungeonFramesCounter;
|
||||
|
||||
static void EnsureCastformLoaded(void);
|
||||
static void EnsureDeoxysLoaded(void);
|
||||
|
|
@ -37,9 +37,9 @@ void sub_8068310(s32 size, u16 **param_2)
|
|||
}
|
||||
|
||||
void sub_8068344(void)
|
||||
{
|
||||
if ((gUnknown_202EDCC & 8) != 0) {
|
||||
UnkTextStruct1 *ptr = &gUnknown_2027370[0];
|
||||
{
|
||||
if ((gDungeonFramesCounter & 8) != 0) {
|
||||
Window *window = &gWindows[0];
|
||||
SpriteOAM sprite = {0};
|
||||
|
||||
SpriteSetAffine1(&sprite, 0);
|
||||
|
|
@ -49,20 +49,21 @@ void sub_8068344(void)
|
|||
SpriteSetBpp(&sprite, 0);
|
||||
SpriteSetShape(&sprite, 1);
|
||||
SpriteSetMatrixNum(&sprite, 16);
|
||||
SpriteSetSize(&sprite, 0);
|
||||
SpriteSetSize(&sprite, 0);
|
||||
SpriteSetTileNum(&sprite, 0x3F0);
|
||||
SpriteSetPriority(&sprite, 0);
|
||||
SpriteSetPalNum(&sprite, 15);
|
||||
SpriteSetY(&sprite, (ptr->unk2 * 8) + 0x8);
|
||||
SpriteSetX(&sprite, (ptr->unk0 * 8) + 0x40);
|
||||
SpriteSetY(&sprite, (window->y * 8) + 0x8);
|
||||
SpriteSetX(&sprite, (window->x * 8) + 0x40);
|
||||
AddSprite(&sprite,0x100,NULL,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
// The same as sub_80623B0
|
||||
void sub_80684C4(void)
|
||||
{
|
||||
if ((gUnknown_202EDCC & 8) != 0) {
|
||||
UnkTextStruct1 *ptr = &gUnknown_2027370[0];
|
||||
{
|
||||
if ((gDungeonFramesCounter & 8) != 0) {
|
||||
Window *window = &gWindows[0];
|
||||
SpriteOAM sprite = {0};
|
||||
|
||||
SpriteSetAffine1(&sprite, 0);
|
||||
|
|
@ -71,12 +72,13 @@ void sub_80684C4(void)
|
|||
SpriteSetMosaic(&sprite, 0);
|
||||
SpriteSetBpp(&sprite, 0);
|
||||
SpriteSetShape(&sprite, 1);
|
||||
SpriteSetMatrixNum(&sprite, 0);
|
||||
SpriteSetSize(&sprite, 0);
|
||||
SpriteSetTileNum(&sprite, 0x3F0);
|
||||
SpriteSetPriority(&sprite, 0);
|
||||
SpriteSetPalNum(&sprite, 15);
|
||||
SpriteSetY(&sprite, (ptr->unk2 * 8) + 0x70);
|
||||
SpriteSetX_MatrixNumSize0(&sprite, (ptr->unk0 * 8) + 0x40);
|
||||
SpriteSetY(&sprite, (window->y * 8) + 0x70);
|
||||
SpriteSetX(&sprite, (window->x * 8) + 0x40);
|
||||
AddSprite(&sprite,0x100,NULL,NULL);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
3099
src/code_805D8C8_1.c
3099
src/code_805D8C8_1.c
File diff suppressed because it is too large
Load Diff
|
|
@ -76,7 +76,7 @@ extern const u8 *const gMonCringing;
|
|||
extern const u8 *const gMonParalyzed;
|
||||
extern const u8 *const gUnknown_80FC690;
|
||||
|
||||
extern s32 gUnknown_202EE6C;
|
||||
extern s32 gDungeonSubMenuItemsCount;
|
||||
extern u32 gUnknown_202F208;
|
||||
|
||||
extern void sub_8071DA4(Entity *);
|
||||
|
|
@ -91,9 +91,9 @@ extern bool8 sub_8045888(Entity *);
|
|||
extern Item *sub_8044D90(Entity *, s32, u32);
|
||||
void sub_8045BF8(u8 *, Item *);
|
||||
u8 sub_8048D50();
|
||||
void sub_8044FF0(u16 param_1);
|
||||
void SetActionUnusableInDungeonSubMenu(u16 param_1);
|
||||
u8 * sub_80464AC();
|
||||
void sub_8044F5C(u16 param_1, u8 param_2);
|
||||
void AddActionToDungeonSubMenu(u16 param_1, u8 param_2);
|
||||
void sub_8044DF0();
|
||||
void sub_8042208(Entity *pokemon, u8 r1);
|
||||
void sub_803E708();
|
||||
|
|
@ -899,22 +899,22 @@ void sub_8067904(Entity *entity, u16 moveId)
|
|||
|
||||
extern void sub_80684C4(void);
|
||||
void sub_8045064(void);
|
||||
extern void sub_8083CE0(u8 param_1);
|
||||
extern void PlayDungeonCursorSE(u8 param_1);
|
||||
extern void sub_8068344(void);
|
||||
bool8 sub_8044F3C(s32 param_1);
|
||||
bool8 CanSubMenuItemBeChosen(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(WindowTemplates *a0, u8 a1);
|
||||
u32 sub_8014140(s32 a0, const void *a1);
|
||||
void sub_8083D1C(void);
|
||||
void sub_8083D08(void);
|
||||
void sub_8083D30(void);
|
||||
void PlayDungeonConfirmationSE(void);
|
||||
void PlayDungeonCancelSE(void);
|
||||
void sub_806806C(PokemonStruct1 *a0);
|
||||
void sub_805FC30(Windows *a0, s32 a1);
|
||||
void CreateDungeonMenuSubWindow(WindowTemplates *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;
|
||||
|
|
@ -925,7 +925,7 @@ static const u8 gUnknown_8106DA4[] = {
|
|||
0x01, 0, 0x38, 0, 0, 0, 0x18, 0, 0x18, 0, 0, 0, 0x02, 0, 0x38, 0, 0x68, 0, 0x18, 0, 0x18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
static const Windows gUnknown_8106DC8 = {
|
||||
static const WindowTemplates gUnknown_8106DC8 = {
|
||||
.id = {
|
||||
[0] =
|
||||
{
|
||||
|
|
@ -936,7 +936,7 @@ static const Windows gUnknown_8106DC8 = {
|
|||
.height = 0x0E,
|
||||
.unk10 = 0x12,
|
||||
.unk12 = 0x02,
|
||||
.unk14 = &gUnknown_202F308
|
||||
.header = &gUnknown_202F308
|
||||
},
|
||||
[1] =
|
||||
{
|
||||
|
|
@ -947,7 +947,7 @@ static const Windows gUnknown_8106DC8 = {
|
|||
.height = 0x04,
|
||||
.unk10 = 0x04,
|
||||
.unk12 = 0,
|
||||
.unk14 = NULL
|
||||
.header = NULL
|
||||
},
|
||||
[2] = WINDOW_DUMMY,
|
||||
[3] = WINDOW_DUMMY,
|
||||
|
|
@ -958,7 +958,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
{
|
||||
s32 i;
|
||||
s32 r10;
|
||||
Windows spTxtStruct = gUnknown_8106DC8;
|
||||
WindowTemplates spTxtStruct = gUnknown_8106DC8;
|
||||
|
||||
gUnknown_202F30C = 0;
|
||||
r10 = 0;
|
||||
|
|
@ -973,32 +973,32 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
while (1) {
|
||||
s32 r7 = 0, r5 = 0;
|
||||
|
||||
gUnknown_202F308.f0 = 1;
|
||||
gUnknown_202F308.f1 = 0;
|
||||
gUnknown_202F308.f2 = 0xE;
|
||||
gUnknown_202F308.count = 1;
|
||||
gUnknown_202F308.currId = 0;
|
||||
gUnknown_202F308.width = 0xE;
|
||||
gUnknown_202F308.f3 = 0;
|
||||
|
||||
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) {
|
||||
|
|
@ -1011,13 +1011,13 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
}
|
||||
|
||||
r4 = sub_8014140(0, gUnknown_8106DA4);
|
||||
sub_803E46C(0x37);
|
||||
DungeonRunFrameActions(0x37);
|
||||
if (r4 == 2 && r5) {
|
||||
if (a2 - gUnknown_202F30C > 8) {
|
||||
s32 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc1(0);
|
||||
sub_803E46C(0x37);
|
||||
ScrollDownWindowFunc(0);
|
||||
DungeonRunFrameActions(0x37);
|
||||
}
|
||||
gUnknown_202F30C++;
|
||||
}
|
||||
|
|
@ -1026,13 +1026,13 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
break;
|
||||
}
|
||||
if (gRealInputs.repeated & DPAD_DOWN) {
|
||||
sub_8083CE0(1);
|
||||
if (gUnknown_202EE10.menuIndex == 7) {
|
||||
PlayDungeonCursorSE(1);
|
||||
if (gDungeonMenu.menuIndex == 7) {
|
||||
if (a2 - gUnknown_202F30C > 8) {
|
||||
s32 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc1(0);
|
||||
sub_803E46C(0x37);
|
||||
ScrollDownWindowFunc(0);
|
||||
DungeonRunFrameActions(0x37);
|
||||
}
|
||||
gUnknown_202F30C++;
|
||||
}
|
||||
|
|
@ -1040,15 +1040,15 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
r10 = 7;
|
||||
break;
|
||||
}
|
||||
sub_80136E0(&gUnknown_202EE10, 0);
|
||||
MoveMenuCursorDownWrapAround(&gDungeonMenu, 0);
|
||||
}
|
||||
|
||||
if (r4 == 1 && r7 != 0) {
|
||||
if (gUnknown_202F30C != 0) {
|
||||
s32 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc2(0);
|
||||
sub_803E46C(0x37);
|
||||
ScrollUpWindowFunc(0);
|
||||
DungeonRunFrameActions(0x37);
|
||||
}
|
||||
gUnknown_202F30C--;
|
||||
}
|
||||
|
|
@ -1057,13 +1057,13 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
break;
|
||||
}
|
||||
if (gRealInputs.repeated & DPAD_UP) {
|
||||
sub_8083CE0(1);
|
||||
if (gUnknown_202EE10.menuIndex == 0) {
|
||||
PlayDungeonCursorSE(1);
|
||||
if (gDungeonMenu.menuIndex == 0) {
|
||||
if (gUnknown_202F30C != 0) {
|
||||
s32 i;
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc2(0);
|
||||
sub_803E46C(0x37);
|
||||
ScrollUpWindowFunc(0);
|
||||
DungeonRunFrameActions(0x37);
|
||||
}
|
||||
gUnknown_202F30C--;
|
||||
}
|
||||
|
|
@ -1071,7 +1071,7 @@ void sub_8067A80(u8 a0, s32 a1, s32 a2, PokemonStruct1 **a3)
|
|||
r10 = 0;
|
||||
break;
|
||||
}
|
||||
sub_8013744(&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) {
|
||||
sub_8083D08();
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) {
|
||||
PlayDungeonConfirmationSE();
|
||||
r7 = 1;
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
sub_8083D30();
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) {
|
||||
PlayDungeonCancelSE();
|
||||
r7 = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
sub_803E46C(0x37);
|
||||
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,64 +1122,64 @@ 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);
|
||||
sub_8044F5C(0x2A, 0);
|
||||
sub_8044F5C(0x40, 0);
|
||||
gDungeonSubMenuItemsCount = 0;
|
||||
AddActionToDungeonSubMenu(0x29, 0);
|
||||
AddActionToDungeonSubMenu(0x2A, 0);
|
||||
AddActionToDungeonSubMenu(0x40, 0);
|
||||
if (a3[arrId]->unk0 & 0x8000) {
|
||||
sub_8044FF0(0x29);
|
||||
SetActionUnusableInDungeonSubMenu(0x29);
|
||||
}
|
||||
else {
|
||||
sub_8044FF0(0x2A);
|
||||
SetActionUnusableInDungeonSubMenu(0x2A);
|
||||
}
|
||||
|
||||
// This unnecessary variable is required to match.
|
||||
locIdIsPartner = DUNGEON_JOIN_LOCATION_PARTNER;
|
||||
if (a3[arrId]->isTeamLeader || (a3[arrId]->dungeonLocation.id == DUNGEON_JOIN_LOCATION_LEADER || a3[arrId]->dungeonLocation.id == locIdIsPartner)) {
|
||||
sub_8044FF0(0x29);
|
||||
SetActionUnusableInDungeonSubMenu(0x29);
|
||||
}
|
||||
|
||||
sub_8045064();
|
||||
sub_805FC30(&spTxtStruct, 0x15);
|
||||
CreateDungeonMenuSubWindow(&spTxtStruct, 0x15);
|
||||
|
||||
while (1) {
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
sub_803E46C(0x37);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
DungeonRunFrameActions(0x37);
|
||||
|
||||
if (gRealInputs.repeated & DPAD_DOWN) {
|
||||
sub_8083CE0(1);
|
||||
sub_80136E0(&gUnknown_202EE10, 1);
|
||||
PlayDungeonCursorSE(1);
|
||||
MoveMenuCursorDownWrapAround(&gDungeonMenu, 1);
|
||||
}
|
||||
if (gRealInputs.repeated & DPAD_UP) {
|
||||
sub_8083CE0(1);
|
||||
sub_8013744(&gUnknown_202EE10, 1);
|
||||
PlayDungeonCursorSE(1);
|
||||
MoveMenuCursorUpWrapAround(&gDungeonMenu, 1);
|
||||
}
|
||||
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gUnknown_202EE10.unk28.a_button) {
|
||||
if (sub_8044F3C(gUnknown_202EE10.menuIndex)) {
|
||||
sub_8083D08();
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) {
|
||||
if (CanSubMenuItemBeChosen(gDungeonMenu.menuIndex)) {
|
||||
PlayDungeonConfirmationSE();
|
||||
r7 = 1;
|
||||
break;
|
||||
}
|
||||
sub_8083D30();
|
||||
PlayDungeonCancelSE();
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
sub_8083D30();
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) {
|
||||
PlayDungeonCancelSE();
|
||||
r7 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
sub_803E46C(0x37);
|
||||
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);
|
||||
}
|
||||
|
|
@ -1251,7 +1251,7 @@ void sub_806806C(PokemonStruct1 *a0)
|
|||
{
|
||||
struct unkStruct_808FF20 unkStruct;
|
||||
struct UnkInfoTabStruct var_C8;
|
||||
Windows spTxtStruct = {0};
|
||||
WindowTemplates spTxtStruct = {0};
|
||||
s32 r7;
|
||||
|
||||
spTxtStruct.id[0].type = WINDOW_TYPE_WITH_HEADER;
|
||||
|
|
@ -1261,7 +1261,7 @@ void sub_806806C(PokemonStruct1 *a0)
|
|||
spTxtStruct.id[0].height = 0xE;
|
||||
spTxtStruct.id[0].unk10 = 0x12;
|
||||
spTxtStruct.id[0].unk12 = 2;
|
||||
spTxtStruct.id[0].unk14 = &gUnknown_202F308;
|
||||
spTxtStruct.id[0].header = &gUnknown_202F308;
|
||||
spTxtStruct.id[1].type = WINDOW_TYPE_NORMAL;
|
||||
spTxtStruct.id[2].type = WINDOW_TYPE_NORMAL;
|
||||
spTxtStruct.id[3].type = WINDOW_TYPE_NORMAL;
|
||||
|
|
@ -1269,39 +1269,39 @@ 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;
|
||||
s32 spF8[4] = {2, 3, 4, 5};
|
||||
|
||||
gUnknown_202F308.f0 = 4;
|
||||
gUnknown_202F308.f1 = r7;
|
||||
gUnknown_202F308.f2 = 10;
|
||||
gUnknown_202F308.count = 4;
|
||||
gUnknown_202F308.currId = r7;
|
||||
gUnknown_202F308.width = 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 = (gWindows[0].x + 15) * 8;
|
||||
gDungeonMenu.unkE = ((gWindows[0].y + 1) * 8) - 2;
|
||||
|
||||
while (1) {
|
||||
s32 r5;
|
||||
|
||||
AddMenuCursorSprite(&gUnknown_202EE10);
|
||||
AddMenuCursorSprite(&gDungeonMenu);
|
||||
if (spF8[r7] == 4) {
|
||||
if (var_C8.unk0[8] != 0) {
|
||||
sub_80684C4();
|
||||
|
|
@ -1312,16 +1312,16 @@ void sub_806806C(PokemonStruct1 *a0)
|
|||
}
|
||||
|
||||
r5 = sub_8014140(0, gUnknown_8106DA4);
|
||||
sub_803E46C(0x1C);
|
||||
if ((gRealInputs.pressed & DPAD_RIGHT) || gUnknown_202EE10.unk28.dpad_right) {
|
||||
sub_8083CE0(0);
|
||||
DungeonRunFrameActions(0x1C);
|
||||
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) {
|
||||
sub_8083CE0(0);
|
||||
if ((gRealInputs.pressed & DPAD_LEFT) || gDungeonMenu.unk28.dpad_left) {
|
||||
PlayDungeonCursorSE(0);
|
||||
if (--r7 == -1) {
|
||||
r7 = 3;
|
||||
}
|
||||
|
|
@ -1332,10 +1332,10 @@ void sub_806806C(PokemonStruct1 *a0)
|
|||
if (((gRealInputs.repeated & DPAD_DOWN) || r5 == 2) && var_C8.unk0[8] != 0) {
|
||||
s32 i;
|
||||
|
||||
sub_8083CE0(0);
|
||||
PlayDungeonCursorSE(0);
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc1(0);
|
||||
sub_803E46C(0x1C);
|
||||
ScrollDownWindowFunc(0);
|
||||
DungeonRunFrameActions(0x1C);
|
||||
}
|
||||
unkStruct.unk40++;
|
||||
break;
|
||||
|
|
@ -1343,10 +1343,10 @@ void sub_806806C(PokemonStruct1 *a0)
|
|||
if (((gRealInputs.repeated & DPAD_UP) || r5 == 1) && unkStruct.unk40 != 0) {
|
||||
s32 i;
|
||||
|
||||
sub_8083CE0(0);
|
||||
PlayDungeonCursorSE(0);
|
||||
for (i = 0; i < 6; i++) {
|
||||
gIwramTextFunc2(0);
|
||||
sub_803E46C(0x1C);
|
||||
ScrollUpWindowFunc(0);
|
||||
DungeonRunFrameActions(0x1C);
|
||||
}
|
||||
unkStruct.unk40--;
|
||||
break;
|
||||
|
|
@ -1357,19 +1357,19 @@ void sub_806806C(PokemonStruct1 *a0)
|
|||
continue;
|
||||
}
|
||||
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gUnknown_202EE10.unk28.a_button) {
|
||||
sub_8083D08();
|
||||
if ((gRealInputs.pressed & A_BUTTON) || gDungeonMenu.unk28.a_button) {
|
||||
PlayDungeonConfirmationSE();
|
||||
loopBreak = TRUE;
|
||||
break;
|
||||
}
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gUnknown_202EE10.unk28.b_button) {
|
||||
sub_8083D30();
|
||||
if ((gRealInputs.pressed & B_BUTTON) || gDungeonMenu.unk28.b_button) {
|
||||
PlayDungeonCancelSE();
|
||||
loopBreak = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
sub_803E46C(0x37);
|
||||
DungeonRunFrameActions(0x37);
|
||||
if (loopBreak) {
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user