diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-11-15 11:02:26 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-15 11:02:26 -0800 |
commit | bfaa55f2fe3d557570260f6b4956e39c3b0f1218 (patch) | |
tree | 77611afc222d74c9a68a5577df3ce9916d9b3b97 /src/debug_menu_mid.c | |
parent | 0ea22237c933523f66d7468a953c5a5057b3a899 (diff) |
Label and doc iq skills and tactics info (#75)
* label/doc iq skills/tactics info
* decomp a few more dungeon_util and label some funcs
* doc the IQSkills field
Diffstat (limited to 'src/debug_menu_mid.c')
-rw-r--r-- | src/debug_menu_mid.c | 117 |
1 files changed, 112 insertions, 5 deletions
diff --git a/src/debug_menu_mid.c b/src/debug_menu_mid.c index bc67ef6..2d4907b 100644 --- a/src/debug_menu_mid.c +++ b/src/debug_menu_mid.c @@ -35,7 +35,7 @@ struct unkStruct_203B3F4 { // size: 0xFC u32 state; - u8 unk4; + u8 friendArea; u8 fill5[0x8 - 5]; u32 unk8; struct MenuItem menuItems[8]; @@ -56,7 +56,7 @@ extern struct UnkTextStruct2 gUnknown_80E7E64; extern const char gDebug_NumberText; extern struct UnkTextStruct2 gUnknown_80E7E8C; extern struct UnkTextStruct2 gUnknown_80E7EA4; - +extern bool8 *gFriendAreas; extern const char *gUnknown_80D4970[]; @@ -83,8 +83,16 @@ extern void sub_8021354(u32); extern void sub_8021494(); extern void sub_803AA34(); extern void sub_8021774(u8,u32, u32); - - +extern u8 gDebug_CloseText[]; +extern u8 gDebug_OpenText[]; +extern void UnlockFriendArea(u8); +extern void sub_809249C(u8, u32); +extern void sub_8021830(void); +extern u32 sub_80217EC(void); +extern u8 sub_803ABC8(void); +extern u32 sub_8021274(u32); +extern u8 sub_802132C(void); +extern void sub_80213A0(void); extern void sub_803AAC4(); extern void sub_803AB34(); extern void sub_803ABAC(); @@ -402,9 +410,108 @@ void sub_803A9AC(void) sub_8012D60(&gUnknown_203B3F4->unk4C,gUnknown_203B3F4->menuItems,0,0,gUnknown_203B3F4->unk8,2); break; case 3: - sub_8021774(gUnknown_203B3F4->unk4,1,0); + sub_8021774(gUnknown_203B3F4->friendArea,1,0); break; case 4: break; } } + +void sub_803AA34(void) +{ + s32 iVar4; + u8 *FriendAreas; + + + iVar4 = 0; + + // So dumb that it matches... + FriendAreas = gFriendAreas; + + if(FriendAreas[gUnknown_203B3F4->friendArea]) + { + gUnknown_203B3F4->menuItems[0].text = gDebug_CloseText; + if(sub_803ABC8()) + gUnknown_203B3F4->menuItems[0].menuAction = 3; + else + gUnknown_203B3F4->menuItems[0].menuAction = -1; + } + else + { + gUnknown_203B3F4->menuItems[0].text = gDebug_OpenText; + gUnknown_203B3F4->menuItems[0].menuAction = 2; + } + + iVar4++; + gUnknown_203B3F4->menuItems[iVar4].text = *gUnknown_80D4970; + gUnknown_203B3F4->menuItems[iVar4].menuAction = 4; + + iVar4++; + gUnknown_203B3F4->menuItems[iVar4].text = NULL; + gUnknown_203B3F4->menuItems[iVar4].menuAction = 1; + + gUnknown_203B3F4->unk8 = gUnknown_203B3F4->menuItems[0].menuAction; +} + +void sub_803AAC4(void) +{ + switch(sub_8021274(1)) + { + case 0: + case 1: + break; + case 3: + gUnknown_203B3F4->friendArea = sub_802132C(); + sub_803A924(2); + break; + case 4: + gUnknown_203B3F4->friendArea = sub_802132C(); + sub_803A924(3); + break; + case 2: + sub_80213A0(); + sub_803A924(4); + break; + } +} + +void sub_803AB34(void) +{ + s32 temp; + temp = 0; + sub_8021274(0); + if(!sub_8012FD8(&gUnknown_203B3F4->unk4C)) + sub_8013114(&gUnknown_203B3F4->unk4C, &temp); + switch(temp) + { + case 2: + UnlockFriendArea(gUnknown_203B3F4->friendArea); + sub_803A924(1); + break; + case 3: + sub_809249C(gUnknown_203B3F4->friendArea, 1); + sub_803A924(1); + break; + case 4: + sub_803A924(3); + break; + case 1: + sub_803A924(1); + break; + } +} + +void sub_803ABAC(void) +{ + switch(sub_80217EC()) + { + case 2: + case 3: + sub_8021830(); + sub_803A924(1); + break; + case 0: + case 1: + break; + } +} |