summaryrefslogtreecommitdiff
path: root/src/menu/pauseMenu.c
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-12-11 12:07:48 +0100
committeroctorock <79596758+octorock@users.noreply.github.com>2022-12-11 12:07:48 +0100
commit1d741c182dec03c6c7a6ea337f351eedf7d6eb65 (patch)
tree7a1fc484cc98a123a562ed5bb2e03e85b6f28e95 /src/menu/pauseMenu.c
parent017eb5a65efe06ab338f7d6a3bdd1188fcca6c3e (diff)
Extract dungeon maps
Diffstat (limited to 'src/menu/pauseMenu.c')
-rw-r--r--src/menu/pauseMenu.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/menu/pauseMenu.c b/src/menu/pauseMenu.c
index 63f22f28..752f8b0c 100644
--- a/src/menu/pauseMenu.c
+++ b/src/menu/pauseMenu.c
@@ -581,7 +581,7 @@ extern u32 gUnk_085C4620[];
extern void (*const gUnk_08128D58[])(void);
extern KeyButtonLayout gUnk_08128D60;
-void sub_080A5D1C();
+void DrawDungeonMapActually();
void sub_080A5CFC(u32, void*, u32);
void sub_080A6FB4(u32, u32);
void DrawDungeonFeatures(u32, void*, u32);
@@ -1067,7 +1067,7 @@ void PauseMenu_Screen_5(void) {
u32 temp;
gUnk_08128D30[gMenu.menuType]();
- sub_080A5D1C();
+ DrawDungeonMapActually();
temp = gMain.ticks;
if ((temp & 7) == 0) {
uVar1 = *gUnk_02017830;
@@ -1091,10 +1091,10 @@ void sub_080A5C44(u32 param_1, u32 param_2, u32 param_3) {
void sub_080A5C9C(void) {
s32 newChoice;
- const struct_080C9C6C* ptr;
+ const DungeonFloorMetadata* floorMetadata;
if (sub_080A51F4()) {
- ptr = &gUnk_080C9C6C[gArea.dungeon_idx];
+ floorMetadata = &gDungeonFloorMetadatas[gArea.dungeon_idx];
newChoice = gMenu.field_0x3;
switch (gInput.newKeys) {
case DPAD_UP:
@@ -1103,7 +1103,7 @@ void sub_080A5C9C(void) {
}
break;
case DPAD_DOWN:
- if (ptr->unk_0 - 1 > newChoice) {
+ if (floorMetadata->numFloors - 1 > newChoice) {
newChoice++;
}
break;
@@ -1129,7 +1129,7 @@ void sub_080A5CFC(u32 menuType, void* param_2, u32 param_3) {
#endif
// Actually draw the sprites for the dungeon map.
-void sub_080A5D1C(void) {
+void DrawDungeonMapActually(void) {
extern u8 gUnk_08128D3C[];
u32 bVar1;
int frameIndex;
@@ -1137,10 +1137,10 @@ void sub_080A5D1C(void) {
u32 uVar6;
u32 index;
u8* puVar8;
- const struct_080C9C6C* pbVar9;
+ const DungeonFloorMetadata* pbVar9;
- pbVar9 = &gUnk_080C9C6C[gArea.dungeon_idx];
- bVar1 = gUnk_08128D3C[pbVar9->unk_0];
+ pbVar9 = &gDungeonFloorMetadatas[gArea.dungeon_idx];
+ bVar1 = gUnk_08128D3C[pbVar9->numFloors];
uVar4 = sub_0801DB94();
gOamCmd._4 = 0x400;
gOamCmd._6 = 0;
@@ -1171,7 +1171,7 @@ void sub_080A5D1C(void) {
if (sub_080A5F24()) {
gOamCmd._8 = 0;
gOamCmd.x = 0x46;
- gOamCmd.y = bVar1 + (pbVar9->unk_1 - pbVar9->unk_2) * 0xc;
+ gOamCmd.y = bVar1 + (pbVar9->highestFloor - pbVar9->unk_2) * 0xc;
if ((gMain.ticks & 0x20) != 0) {
uVar6 = 0x7a;
} else {
@@ -1183,9 +1183,10 @@ void sub_080A5D1C(void) {
gOamCmd._8 = 0;
gOamCmd.x = 0x34;
gOamCmd.y = bVar1;
- frameIndex = pbVar9->unk_1 + 0x82;
+ frameIndex = pbVar9->highestFloor + 0x82;
- for (index = 0; index < pbVar9->unk_0; index++) {
+ // Floor number sprites?
+ for (index = 0; index < pbVar9->numFloors; index++) {
DrawDirect(DRAW_DIRECT_SPRITE_INDEX, frameIndex);
frameIndex--;
gOamCmd.y = gOamCmd.y + 0xc;