From 8638f546db41ddb487ee2bbef589b1b372f05af3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 4 Apr 2025 12:58:07 +0200 Subject: [PATCH] add to ewram, clean up dungeon action --- include/code_8044CC8.h | 17 ----------------- include/constants/dungeon_action.h | 14 ++++++++++++++ src/code_8066D04.c | 2 +- src/code_80848F0.c | 3 ++- src/dungeon_8067A80.c | 2 +- src/dungeon_8072CF4.c | 5 +++-- src/dungeon_action.c | 13 ++++++------- src/dungeon_main.c | 2 +- src/dungeon_menu_items.c | 2 +- src/dungeon_menu_moves.c | 2 +- src/dungeon_menu_others.c | 2 +- src/dungeon_menu_stairs.c | 2 +- src/dungeon_menu_team.c | 2 +- src/dungeon_menu_tile.c | 2 +- sym_ewram.txt | 18 +++--------------- 15 files changed, 37 insertions(+), 51 deletions(-) delete mode 100644 include/code_8044CC8.h diff --git a/include/code_8044CC8.h b/include/code_8044CC8.h deleted file mode 100644 index c5bcecc20..000000000 --- a/include/code_8044CC8.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef GUARD_CODE_8044CC8_H -#define GUARD_CODE_8044CC8_H - -// size: 0x4 -typedef struct unkStruct_202EE44 -{ - u16 actionId; - u8 unk2; - bool8 canBeChosen; -} unkStruct_202EE44; - -extern unkStruct_202EE44 gDungeonSubMenu[10]; - -void AddActionToDungeonSubMenu(u16 actionId, u8 param_2); -void SetActionUnusableInDungeonSubMenu(u16 actionId); - -#endif // GUARD_CODE_8044CC8_H diff --git a/include/constants/dungeon_action.h b/include/constants/dungeon_action.h index edd1d28b1..f092e1a5e 100644 --- a/include/constants/dungeon_action.h +++ b/include/constants/dungeon_action.h @@ -60,4 +60,18 @@ enum DungeonAction NUM_DUNGEON_ACTIONS }; +// size: 0x4 +typedef struct SubMenuAction +{ + u16 actionId; + u8 unk2; + bool8 canBeChosen; +} SubMenuAction; + +extern SubMenuAction gDungeonSubMenu[10]; +extern s32 gDungeonSubMenuItemsCount; + +void AddActionToDungeonSubMenu(u16 actionId, u8 param_2); +void SetActionUnusableInDungeonSubMenu(u16 actionId); + #endif diff --git a/src/code_8066D04.c b/src/code_8066D04.c index 86402d873..2464670f0 100644 --- a/src/code_8066D04.c +++ b/src/code_8066D04.c @@ -6,7 +6,7 @@ #include "code_803E46C.h" #include "code_803E724.h" #include "code_8041AD0.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_8066D04.h" #include "code_806CD90.h" #include "code_8077274_1.h" diff --git a/src/code_80848F0.c b/src/code_80848F0.c index 8f7fd35fc..b0c04304c 100644 --- a/src/code_80848F0.c +++ b/src/code_80848F0.c @@ -47,7 +47,6 @@ struct RgbS16 extern OpenedFile *gDungeonPaletteFile; extern s32 gDungeonBrightness; extern RGB gUnknown_202ECA4[]; -extern s32 gUnknown_202F3D8; extern const u8 gUnknown_8107358[25]; extern const DungeonPos gUnknown_80F4598[]; @@ -1171,6 +1170,8 @@ UNUSED static void sub_8085B0C(Entity *pokemon) } } +static EWRAM_DATA s32 gUnknown_202F3D8 = 0; + void sub_8085B4C(struct_8085B80 a0[], s16 *a1[], Entity *a2[], s32 a3) { s32 i; diff --git a/src/dungeon_8067A80.c b/src/dungeon_8067A80.c index 470fb78bb..817d814a3 100644 --- a/src/dungeon_8067A80.c +++ b/src/dungeon_8067A80.c @@ -6,7 +6,7 @@ #include "code_803E46C.h" #include "code_803E724.h" #include "code_8041AD0.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_8066D04.h" #include "code_806CD90.h" #include "code_8077274_1.h" diff --git a/src/dungeon_8072CF4.c b/src/dungeon_8072CF4.c index 80363700b..18abf9b85 100644 --- a/src/dungeon_8072CF4.c +++ b/src/dungeon_8072CF4.c @@ -32,8 +32,6 @@ extern u8 gUnknown_202F221; extern u8 gUnknown_202F222; -extern u8 gUnknown_202F32C; -extern u8 gUnknown_202F32D; extern u8 gUnknown_203B434; extern u8 *gUnknown_80FA5B4[]; @@ -86,6 +84,9 @@ extern void MarkLastUsedMonMove(Entity *entity, Move *move); bool8 TryUseChosenMove(struct Entity *attacker, u32 r6, s32 itemId, u32 var_30, bool32 isLinkedMove, struct Move *move); extern void sub_80838EC(u8 *a); +EWRAM_DATA u8 gUnknown_202F32C = 0; +EWRAM_DATA u8 gUnknown_202F32D = 0; + bool8 sub_8072CF4(Entity *entity) { bool8 bVar4; diff --git a/src/dungeon_action.c b/src/dungeon_action.c index da4dad368..52e540870 100644 --- a/src/dungeon_action.c +++ b/src/dungeon_action.c @@ -14,7 +14,7 @@ #include "pokemon.h" #include "items.h" #include "structs/str_item_text.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "dungeon_items.h" #include "dungeon_map_access.h" #include "dungeon_engine.h" @@ -27,9 +27,8 @@ extern void TriggerWeatherAbilities(void); extern void sub_8071DA4(Entity *); extern void TickStatusHeal(Entity *); -extern unkStruct_202EE44 gDungeonSubMenu[10]; - -extern s32 gDungeonSubMenuItemsCount; +EWRAM_DATA SubMenuAction gDungeonSubMenu[10] = {0}; +EWRAM_DATA s32 gDungeonSubMenuItemsCount = 0; extern bool8 sub_8045888(Entity *); @@ -339,9 +338,9 @@ void sub_8045064(void) 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]; + SubMenuAction temp; + SubMenuAction *iPtr = &gDungeonSubMenu[i]; + SubMenuAction *jPtr = &gDungeonSubMenu[j]; if (gUnknown_80F7C50[iPtr->actionId].val > gUnknown_80F7C50[jPtr->actionId].val) { SWAP(*iPtr, *jPtr, temp); diff --git a/src/dungeon_main.c b/src/dungeon_main.c index b21dc9381..47295fe3d 100644 --- a/src/dungeon_main.c +++ b/src/dungeon_main.c @@ -16,7 +16,7 @@ #include "code_801B3C0.h" #include "code_803E46C.h" #include "code_803E724.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_8066D04.h" #include "code_806CD90.h" #include "dungeon_action.h" diff --git a/src/dungeon_menu_items.c b/src/dungeon_menu_items.c index 9c88939b4..d1b47401f 100644 --- a/src/dungeon_menu_items.c +++ b/src/dungeon_menu_items.c @@ -24,7 +24,7 @@ #include "dungeon_leader.h" #include "menu_input.h" #include "text_1.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_801B3C0.h" extern void PlayDungeonCancelSE(void); diff --git a/src/dungeon_menu_moves.c b/src/dungeon_menu_moves.c index 65f54babc..adbc70452 100644 --- a/src/dungeon_menu_moves.c +++ b/src/dungeon_menu_moves.c @@ -4,7 +4,7 @@ #include "structs/str_dungeon.h" #include "code_803E46C.h" #include "code_803E724.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "dungeon_action.h" #include "dungeon_leader.h" #include "dungeon_main.h" diff --git a/src/dungeon_menu_others.c b/src/dungeon_menu_others.c index f094064dc..47fdf6023 100644 --- a/src/dungeon_menu_others.c +++ b/src/dungeon_menu_others.c @@ -3,7 +3,7 @@ #include "code_803D110.h" #include "code_803E46C.h" #include "code_803E724.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_8097DD0.h" #include "dungeon.h" #include "dungeon_8083AB0.h" diff --git a/src/dungeon_menu_stairs.c b/src/dungeon_menu_stairs.c index 269b249aa..957368dce 100644 --- a/src/dungeon_menu_stairs.c +++ b/src/dungeon_menu_stairs.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_803E46C.h" #include "code_803E724.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_8097DD0.h" #include "dungeon.h" #include "dungeon_action.h" diff --git a/src/dungeon_menu_team.c b/src/dungeon_menu_team.c index f32bb7e89..4661924b5 100644 --- a/src/dungeon_menu_team.c +++ b/src/dungeon_menu_team.c @@ -10,7 +10,7 @@ #include "code_801B3C0.h" #include "code_803E46C.h" #include "code_803E724.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_806CD90.h" #include "code_8097DD0.h" #include "dungeon_action.h" diff --git a/src/dungeon_menu_tile.c b/src/dungeon_menu_tile.c index 1079ea36b..9b2d578fa 100644 --- a/src/dungeon_menu_tile.c +++ b/src/dungeon_menu_tile.c @@ -2,7 +2,7 @@ #include "globaldata.h" #include "code_803E46C.h" #include "code_803E724.h" -#include "code_8044CC8.h" +#include "dungeon_action.h" #include "code_8097DD0.h" #include "dungeon.h" #include "dungeon_action.h" diff --git a/sym_ewram.txt b/sym_ewram.txt index d54e29cf0..ab59e1ce2 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -125,10 +125,7 @@ gUnknown_202EE39: /* 202EE39 (sub_8060E38) */ gUnknown_202EE3A: /* 202EE3A (sub_8060E38 - sub_8065DBC) */ .space 0xA -gDungeonSubMenu: /* 202EE44 (sub_8044EC8 - sub_80647F0) */ - .space 0x28 -gDungeonSubMenuItemsCount: /* 202EE6C (sub_8044F5C - sub_8067A80) */ - .space 0x4 + .include "src/dungeon_action.o" gUnknown_202EE70: /* 202EE70 (sub_804513C - sub_80828E0) */ .space 0x6 @@ -154,23 +151,14 @@ gUnknown_202EE76: /* 202EE76 (sub_804513C - sub_8082A08) */ .include "src/dungeon_8067A80.o" .include "src/dungeon_logic.o" .include "src/code_80718D8.o" - -gUnknown_202F32C: /* 202F32C (xxx_dungeon_8042F6C - sub_8072CF4) */ - .space 0x1 -gUnknown_202F32D: /* 202F32D (sub_8072CF4 - UseAttack) */ - .space 0x3 - + .include "src/dungeon_8072CF4.o" .include "src/dungeon_ai_items.o" .include "src/code_8073CF0.o" .include "src/code_8075708.o" .space 0x4 .include "src/dungeon_ai_attack.o" .include "src/code_80848F0.o" - -gUnknown_202F3D8: /* 202F3D8 (sub_8085B4C - sub_8085B80) */ - .space 0x8 - - + .space 0x4 .include "src/pokemon.o" .include "src/items.o" .include "src/rescue_team_info.o"