diff --git a/assets/xml/archives/map_grand_static.xml b/assets/xml/archives/map_grand_static.xml
index d5d80bdd6..f9fe649af 100644
--- a/assets/xml/archives/map_grand_static.xml
+++ b/assets/xml/archives/map_grand_static.xml
@@ -1,102 +1,102 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/xml/archives/map_i_static.xml b/assets/xml/archives/map_i_static.xml
index dbb64185d..3ea496aa3 100644
--- a/assets/xml/archives/map_i_static.xml
+++ b/assets/xml/archives/map_i_static.xml
@@ -1,62 +1,62 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/include/functions.h b/include/functions.h
index 8bdc6c6c8..d3230e467 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -984,7 +984,7 @@ void func_8010565C(PlayState* play, s32 num, void* segmentAddress);
void func_80105818(PlayState* play, s32 num, TransitionActorEntry* transitionActorList);
void MapDisp_Destroy(PlayState* play);
void func_80105B34(PlayState* play);
-void func_80105C40(s16 room);
+void MapDisp_SwapRooms(s16 nextRoom);
// void func_80105FE0(void);
// void func_80106408(void);
// void func_80106450(void);
@@ -1007,45 +1007,45 @@ s32 func_801090B0(s32 arg0);
s32 func_80109124(s16 arg0);
void func_801091F0(PlayState* play);
void func_80109428(PlayState* play);
-void func_801094A0(s32 arg0, Color_RGBA8* color);
+void MapData_GetMapColor(s32 colorIndex, Color_RGBA8* color);
// void func_801094C8(void);
-// void func_801094F8(void);
-// void func_80109528(void);
-// void func_8010954C(void);
+// void MapData_GetMapTexOffsetGameplayDangeonKeep(void);
+// void MapData_GetMapDrawTypeGameplayDangeonKeep(void);
+// void MapData_GetMapColorIndexGameplayDangeonKeep(void);
// void func_8010956C(void);
-// void func_8010958C(void);
+// void MapData_GetMapTexGameplayDangeonKeep(void);
// void func_801095AC(void);
-// void func_801095DC(void);
-// void func_8010960C(void);
-// void func_80109630(void);
-// void func_80109650(void);
-// void func_80109670(void);
-// void func_801096D4(void);
-// void func_80109714(void);
+// void MapData_GetMapTexGameplayDangeonKeepOffset(void);
+// void MapData_GetMapGrandDrawType(void);
+// void MapData_GetMapGrandColorIndex(void);
+// void MapData_GetMapGrandScale(void);
+// void MapData_MapGrandTexSizeTest(void);
+// void MapData_GetSizeOfMapGrandTex(void);
+// void MapData_MID_GetType(void);
// void func_80109754(void);
-// void func_801097C8(void);
+// void MapData_GetMapTexOffset(void);
// void func_8010983C(void);
-// void func_801098A0(void);
-// void func_80109908(void);
+// void MapData_GetDrawType(void);
+// void MapData_GetMapColorIndex(void);
// UNK_TYPE4 func_80109964(s32 param_1);
-// void func_8010997C(void);
-// void func_801099AC(void);
-// void func_801099DC(void);
-// void func_80109A00(void);
-// void func_80109A20(void);
-// void func_80109A40(void);
-// void func_80109A98(void);
-// void func_80109AD8(void);
+// void MapData_GetMapITexDim(void);
+// void MapData_GetMapITexOffset(void);
+// void MapData_GetMapIDrawType(void);
+// void MapData_GetMapIColorIndex(void);
+// void MapData_GetMapIScale(void);
+// void MapData_MapITexSizeTest(void);
+// void MapDisp_GetSizeOfMapITex(void);
+// void MapData_GetMapIId(void);
// void func_80109B38(void);
-// void func_80109BA0(void);
-// void func_80109BF4(void);
+// void MapData_GetMapCompactId(void);
+// void MapData_CPID_GetType(void);
// void func_80109C38(void);
// void MapData_GetIMapSize(void);
-// void func_80109D40(void);
-// void func_80109DD8(void);
-// void func_80109E70(void);
-// void func_80109EF8(void);
-// void func_80109F78(void);
+// void MapData_CPID_GetTexDim(void);
+// void MapData_CPID_GetTexOffset(void);
+// void MapData_CPID_GetDrawType(void);
+// void MapData_CPID_GetMapColorIndex(void);
+// void MapData_CPID_GetMapScale(void);
s32 Map_GetDungeonOrBossAreaIndex(PlayState* play);
s32 Map_IsInDungeonOrBossArea(PlayState* play);
s32 func_8010A0A4(PlayState* play);
diff --git a/include/variables.h b/include/variables.h
index 4cf303c7c..26282bb76 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -455,19 +455,19 @@ extern MinimapList D_801BEC14;
// extern UNK_TYPE1 D_801BED00;
// extern UNK_TYPE2 D_801BED24;
// extern UNK_TYPE1 D_801BED3C;
-// extern UNK_TYPE1 D_801BED40;
-// extern UNK_TYPE1 D_801BED4C;
+// extern UNK_TYPE1 mapColorTable;
+// extern UNK_TYPE1 gameplay_dangeon_keep_Info;
// extern UNK_TYPE1 D_801BED54;
// extern UNK_TYPE1 D_801BED55;
// extern UNK_TYPE1 D_801BED56;
-// extern UNK_TYPE1 D_801BED88;
+// extern UNK_TYPE1 map_grand_static_Info;
// extern UNK_TYPE1 D_801BEFC8;
// extern UNK_TYPE1 D_801BF15C;
-// extern UNK_TYPE1 D_801BF170;
+// extern UNK_TYPE1 map_i_static_Info;
// extern UNK_TYPE1 D_801BF176;
// extern UNK_TYPE1 D_801BF177;
// extern UNK_TYPE1 D_801BF178;
-// extern UNK_TYPE1 D_801BF3B4;
+// extern UNK_TYPE1 map_i_for_gameplay_dangeon_keep;
// extern UNK_TYPE2 D_801BF550;
// extern UNK_TYPE2 D_801BF554;
// extern UNK_TYPE2 D_801BF558;
diff --git a/include/z64map.h b/include/z64map.h
index 3e977ba73..2eba34577 100644
--- a/include/z64map.h
+++ b/include/z64map.h
@@ -2,71 +2,99 @@
#define Z64MAP_H
#include "ultra64.h"
#include "z64scene.h"
+
+/*
+Handles L-minimap and pause screen dungeon minimap system.
+
+z_map_data.c stores MapSpriteInfo and helper functions to "simplify" accessing this data
+
+Two separate Id systems are used to access data
+
+mapId
+0x000-0x004 fetches L-minimap data from gameplay_dangeon_keep
+0x005-0x039 fetches dungeon minimap data from map_i_static
+0x100-0x161 fetches L-minimap data from map_grand_static
+
+mapCompactId
+0x000-0x039 fetches dungeon minimap data from map_i_static
+0x03A-0x09B fetches L-minimap data from map_grand_static
+
+*/
+
#define FLOOR_INDEX_MAX 4
/* z_map_data */
+#define MAPDATA_MAP_I_MAX 0x3A
+#define MAPDATA_MAP_GRAND 0x100
+#define MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(id) (id + (MAPDATA_MAP_GRAND - MAPDATA_MAP_I_MAX))
+#define MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId) (mapId - MAPDATA_MAP_GRAND)
#define MAPDATA_MID_GAMEPLAY_DANGEON_KEEP 0
-#define MAPDATA_MID_GRAND_MAP_STATIC 1
+#define MAPDATA_MID_MAP_GRAND_STATIC 1
#define MAPDATA_MID_MAP_I_STATIC 2
-#define MAPDATA_CPID_GRAND_MAP_STATIC 0
+#define MAPDATA_CPID_MAP_GRAND_STATIC 0
#define MAPDATA_CPID_MAP_I_STATIC 1
#define MAPDATA_CPID_2 2
+#define MAPDATA_DRAW_0 0
+#define MAPDATA_DRAW_1 1
+#define MAPDATA_DRAW_2 2
+#define MAPDATA_DRAW_3 3
+
typedef struct {
/* 0x00 */ TexturePtr lmapTex; //minimap texture
/* 0x04 */ u8 width;
/* 0x05 */ u8 height;
- /* 0x06 */ u8 unk6;
- /* 0x07 */ u8 unk7;
- /* 0x08 */ u8 unk8;
- /* 0x09 */ u8 unk9;
+ /* 0x06 */ u8 offsetX;
+ /* 0x07 */ u8 offsetY;
+ /* 0x08 */ u8 drawType;
+ /* 0x09 */ u8 colorIndex;
/* 0x0A */ s16 scale;
-} T_801BED4C; // size 0x0C
+} MapSpriteInfo2; // size 0x0C
typedef struct {
- u8 unk0;
- u8 unk1;
- s16 unk2;
- s16 unk4;
- u8 unk6;
- u8 unk7;
- s16 unk8;
-} T_801BF170; // size 0x0A, ident to T_801BED88
+ u8 texWidth;
+ u8 texHeight;
+ s16 offsetX;
+ s16 offsetY;
+ u8 drawType;
+ u8 colorIndex;
+ s16 scale;
+} MapSpriteInfo; // size 0x0A
/* z_map_disp */
typedef struct {
- /* 0x00 */ MinimapList* unk0;
+ /* 0x00 */ MinimapList* minimapList;
/* 0x04 */ s32 curRoom;
/* 0x08 */ s16 unk8;
/* 0x0A */ s16 unkA;
/* 0x0C */ s16 unkC;
/* 0x0E */ s16 unkE;
- /* 0x10 */ TexturePtr unk10; // gameplay cur minimap room
+ /* 0x10 */ TexturePtr lMapCurTex; // gameplay cur minimap room
/* 0x14 */ s32 prevRoom;
- /* 0x18 */ TexturePtr unk18;
+ /* 0x18 */ TexturePtr lMapPrevTex;
/* 0x1C */ s16 unk1C; //same as 0C
/* 0x1E */ s16 unk1E; //same as 0E
/* 0x20 */ s32 unk20;
- /* 0x24 */ s32 unk24;
- /* 0x28 */ TexturePtr unk28; //unk type
- /* 0x2C */ TexturePtr unk2C; //unk type
- /* 0x30 */ s16 unk30; //scene minBounds.x
- /* 0x32 */ s16 unk32; //scene minBounds.z
- /* 0x34 */ s16 unk34; //scene boundsWidth.x
- /* 0x36 */ s16 unk36; //scene boundsWidth.z
- /* 0x38 */ s16 unk38; //scene boundsMidpoint.x
- /* 0x3A */ s16 unk3A; //scene boundsMidpoint.z
+ /* 0x24 */ s32 swapAnimTimer;
+ /* 0x28 */ void* texBuff0;
+ /* 0x2C */ void* texBuff1;
+ /* 0x30 */ s16 sceneMinX; //scene minBounds.x
+ /* 0x32 */ s16 sceneMinZ; //scene minBounds.z
+ /* 0x34 */ s16 sceneWidth; //scene boundsWidth.x
+ /* 0x36 */ s16 sceneHeight; //scene boundsWidth.z
+ /* 0x38 */ s16 sceneMidX; //scene boundsMidpoint.x
+ /* 0x3A */ s16 sceneMidZ; //scene boundsMidpoint.z
/* 0x3C */ s16* unk3C;
/* 0x40 */ s16 unk40;
/* 0x42 */ s16 unk42;
/* 0x44 */ s16 unk44;
/* 0x48 */ s16* unk48;
/* 0x4C */ s16 unk4C;
- /* 0x50 */ s32 unk50; //num chests
+ /* 0x50 */ s32 numChests;
/* 0x54 */ MinimapChest* unk54;
/* 0x58 */ s16 unk58;
/* 0x5A */ s16 unk5A;
@@ -96,20 +124,19 @@ typedef struct {
} T_801F56B0;
/* z_map_data */
-TexturePtr func_8010958C(s32);
-
-s16 func_80109F78(s32);
-s32 func_80109BA0(s32);
-s32 func_80109714(s32);
-s32 MapData_GetMapSize(s32);
-void func_801098A0(s32, s32*);
-s32 func_80109908(s32);
-s32 func_80109A98(s32);
-s32 func_80109AD8(s32);
-s32 func_801096D4(s32 mapId);
+TexturePtr MapData_GetMapTexGameplayDangeonKeep(s32);
+s32 MapData_GetMapCompactId(s32);
+s32 MapData_MID_GetType(s32);
+s32 MapData_CPID_GetSizeOfMapTex(s32);
+void MapData_GetDrawType(s32, s32*);
+s32 MapData_GetMapColorIndex(s32);
+s32 MapDisp_GetSizeOfMapITex(s32);
+s32 MapData_GetMapIId(s32);
+s32 MapData_GetSizeOfMapGrandTex(s32 mapId);
void MapData_GetMapTexDim(s32 mapId, s32* width, s32* height);
-void func_801097C8(s32 mapId, s32* arg1, s32* arg2);
+void MapData_GetMapTexOffset(s32 mapId, s32* offsetX, s32* offsetY);
void MapData_GetMapScale(s32 mapId, s32 *scale);
-void func_80109D40(s32, s32*, s32*);
-void func_80109DD8(s32, s32*, s32*);
+void MapData_CPID_GetTexDim(s32 mapCompactId, s32* width, s32* height);
+void MapData_CPID_GetTexOffset(s32 mapCompactId, s32* offsetX, s32* offsetY);
+s16 MapData_CPID_GetMapScale(s32 mapCompactId);
#endif
diff --git a/include/z64scene.h b/include/z64scene.h
index 440c04a94..afba71eaa 100644
--- a/include/z64scene.h
+++ b/include/z64scene.h
@@ -497,7 +497,7 @@ typedef struct {
/* 0x02 */ s16 unk2;
/* 0x04 */ s16 unk4;
/* 0x06 */ s16 unk6;
- /* 0x08 */ u16 unk8;
+ /* 0x08 */ u16 unk8; // flags; 1 = mirror x? 2 = mirror y?
} MinimapEntry; // size = 0xA
typedef struct {
diff --git a/src/code/z_map_data.c b/src/code/z_map_data.c
index 67dbe6d31..0dbd8d534 100644
--- a/src/code/z_map_data.c
+++ b/src/code/z_map_data.c
@@ -1,179 +1,302 @@
#include "global.h"
#include "z64map.h"
+#include "assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.h"
-static Color_RGBA8 D_801BED40[3] = {
+static Color_RGBA8 mapColorTable[3] = {
{ 255, 255, 255, 255 },
- { 0, 255, 255, 160 },
+ { 0, 255, 255, 160 }, // Blue
{ 100, 255, 255, 255 },
};
-static T_801BED4C D_801BED4C[5] = {
- { 0x050022C8, 96, 85, 48, 42, 0x00, 0x00, 20 }, { 0x050042C8, 96, 85, 48, 62, 0x00, 0x00, 20 },
- { 0x050052C8, 96, 85, 68, 42, 0x00, 0x00, 20 }, { 0x050032C8, 96, 85, 48, 62, 0x00, 0x00, 20 },
- { 0x050062C8, 96, 85, 68, 62, 0x00, 0x00, 20 },
+
+static MapSpriteInfo2 gameplay_dangeon_keep_Info[5] = {
+ { &gameplay_dangeon_keep_Tex_0022C8, 96, 85, 48, 42, MAPDATA_DRAW_0, 0, 20 },
+ { &gameplay_dangeon_keep_Tex_0042C8, 96, 85, 48, 62, MAPDATA_DRAW_0, 0, 20 },
+ { &gameplay_dangeon_keep_Tex_0052C8, 96, 85, 68, 42, MAPDATA_DRAW_0, 0, 20 },
+ { &gameplay_dangeon_keep_Tex_0032C8, 96, 85, 48, 62, MAPDATA_DRAW_0, 0, 20 },
+ { &gameplay_dangeon_keep_Tex_0062C8, 96, 85, 68, 62, MAPDATA_DRAW_0, 0, 20 },
};
-static T_801BF170 D_801BED88[98] = {
- { 96, 85, 48, 42, 0x00, 0x00, 20 }, { 96, 85, 48, 62, 0x00, 0x00, 20 }, { 96, 85, 68, 42, 0x00, 0x00, 20 },
- { 96, 85, 48, 62, 0x00, 0x00, 20 }, { 96, 85, 68, 62, 0x00, 0x00, 20 }, { 80, 72, 40, 35, 0x01, 0x01, 52 },
- { 96, 85, 49, 43, 0x03, 0x02, 20 }, { 96, 85, 49, 43, 0x03, 0x02, 20 }, { 96, 85, 49, 43, 0x03, 0x02, 20 },
- { 96, 85, 49, 49, 0x03, 0x02, 20 }, { 48, 44, 25, 23, 0x03, 0x02, 20 }, { 96, 85, 49, 43, 0x03, 0x02, 20 },
- { 48, 46, 25, 24, 0x03, 0x02, 20 }, { 64, 61, 32, 31, 0x03, 0x02, 20 }, { 96, 85, 49, 50, 0x03, 0x02, 20 },
- { 96, 85, 49, 62, 0x03, 0x02, 20 }, { 96, 85, 49, 43, 0x03, 0x02, 20 }, { 48, 80, 21, 41, 0x01, 0x01, 198 },
- { 32, 128, 17, 87, 0x01, 0x01, 138 }, { 80, 53, 40, 27, 0x01, 0x01, 54 }, { 32, 81, 16, 15, 0x03, 0x02, 20 },
- { 80, 45, 35, 23, 0x03, 0x02, 20 }, { 64, 87, 36, 44, 0x03, 0x02, 20 }, { 64, 51, 31, 23, 0x03, 0x02, 20 },
- { 80, 79, 40, 40, 0x03, 0x02, 20 }, { 96, 75, 36, 26, 0x03, 0x02, 20 }, { 48, 41, 24, 20, 0x03, 0x02, 20 },
- { 64, 45, 31, 20, 0x03, 0x02, 20 }, { 80, 52, 38, 28, 0x03, 0x02, 20 }, { 48, 45, 23, 20, 0x03, 0x02, 20 },
- { 48, 59, 25, 37, 0x03, 0x02, 20 }, { 48, 60, 21, 38, 0x03, 0x02, 20 }, { 48, 81, 24, 40, 0x03, 0x02, 20 },
- { 48, 81, 24, 40, 0x03, 0x02, 20 }, { 80, 89, 41, 26, 0x03, 0x02, 20 }, { 80, 53, 39, 26, 0x03, 0x02, 20 },
- { 64, 78, 37, 36, 0x03, 0x02, 20 }, { 64, 68, 33, 33, 0x03, 0x02, 20 }, { 48, 68, 23, 35, 0x03, 0x02, 20 },
- { 48, 36, 25, 17, 0x03, 0x02, 20 }, { 48, 25, 24, 12, 0x03, 0x02, 20 }, { 64, 75, 24, 37, 0x03, 0x02, 20 },
- { 32, 53, 17, 26, 0x03, 0x02, 20 }, { 80, 62, 35, 27, 0x01, 0x01, 105 }, { 64, 76, 31, 31, 0x01, 0x01, 133 },
- { 96, 85, 47, 43, 0x03, 0x02, 20 }, { 80, 71, 48, 33, 0x01, 0x01, 180 }, { 80, 87, 44, 44, 0x01, 0x01, 72 },
- { 64, 65, 31, 36, 0x01, 0x01, 57 }, { 48, 41, 28, 20, 0x01, 0x01, 60 }, { 64, 76, 17, 36, 0x01, 0x01, 58 },
- { 80, 60, 27, 22, 0x01, 0x01, 83 }, { 80, 47, 38, 23, 0x01, 0x01, 69 }, { 80, 60, 40, 38, 0x01, 0x01, 29 },
- { 48, 19, 17, 8, 0x01, 0x01, 25 }, { 32, 99, 17, 16, 0x01, 0x01, 88 }, { 48, 69, 19, 28, 0x01, 0x01, 76 },
- { 48, 83, 34, 47, 0x01, 0x01, 104 }, { 80, 54, 45, 27, 0x01, 0x01, 61 }, { 80, 92, 35, 50, 0x01, 0x01, 60 },
- { 48, 75, 24, 37, 0x03, 0x02, 20 }, { 64, 49, 32, 23, 0x03, 0x02, 20 }, { 64, 49, 25, 24, 0x03, 0x02, 20 },
- { 64, 52, 32, 24, 0x03, 0x02, 34 }, { 64, 49, 31, 24, 0x03, 0x02, 34 }, { 32, 33, 18, 14, 0x03, 0x02, 34 },
- { 48, 50, 25, 25, 0x03, 0x02, 34 }, { 64, 52, 32, 25, 0x03, 0x02, 34 }, { 48, 35, 24, 18, 0x03, 0x02, 34 },
- { 64, 51, 32, 26, 0x03, 0x02, 34 }, { 48, 35, 24, 18, 0x03, 0x02, 34 }, { 48, 53, 24, 28, 0x03, 0x02, 34 },
- { 64, 53, 33, 25, 0x03, 0x02, 34 }, { 64, 47, 31, 24, 0x03, 0x02, 34 }, { 64, 52, 32, 35, 0x03, 0x02, 34 },
- { 48, 48, 24, 23, 0x03, 0x02, 34 }, { 64, 87, 32, 26, 0x03, 0x02, 34 }, { 48, 30, 24, 14, 0x03, 0x02, 34 },
- { 80, 74, 40, 36, 0x01, 0x01, 50 }, { 80, 87, 6, 41, 0x01, 0x01, 42 }, { 80, 56, 19, 27, 0x01, 0x01, 40 },
- { 80, 65, 25, 33, 0x01, 0x01, 40 }, { 16, 38, 8, 12, 0x01, 0x01, 47 }, { 80, 78, 46, 33, 0x01, 0x01, 142 },
- { 80, 55, 32, 29, 0x01, 0x01, 155 }, { 80, 98, 67, 48, 0x01, 0x01, 51 }, { 80, 62, 47, 19, 0x01, 0x01, 55 },
- { 32, 123, 15, 83, 0x01, 0x01, 140 }, { 80, 60, 47, 14, 0x01, 0x01, 170 }, { 48, 77, 18, 59, 0x01, 0x01, 79 },
- { 80, 64, 35, 30, 0x01, 0x01, 33 }, { 64, 50, 29, 22, 0x01, 0x01, 40 }, { 80, 65, 39, 5, 0x01, 0x01, 37 },
- { 32, 61, 8, 56, 0x01, 0x01, 35 }, { 80, 83, 37, 42, 0x01, 0x01, 95 }, { 80, 27, 30, 21, 0x01, 0x01, 134 },
- { 80, 23, 122, -18, 0x01, 0x01, 53 }, { 80, 60, 27, 22, 0x01, 0x01, 83 },
+
+static MapSpriteInfo map_grand_static_Info[98] = {
+ { 96, 85, 48, 42, MAPDATA_DRAW_0, 0, 20 }, { 96, 85, 48, 62, MAPDATA_DRAW_0, 0, 20 },
+ { 96, 85, 68, 42, MAPDATA_DRAW_0, 0, 20 }, { 96, 85, 48, 62, MAPDATA_DRAW_0, 0, 20 },
+ { 96, 85, 68, 62, MAPDATA_DRAW_0, 0, 20 }, { 80, 72, 40, 35, MAPDATA_DRAW_1, 1, 52 },
+ { 96, 85, 49, 43, MAPDATA_DRAW_3, 2, 20 }, { 96, 85, 49, 43, MAPDATA_DRAW_3, 2, 20 },
+ { 96, 85, 49, 43, MAPDATA_DRAW_3, 2, 20 }, { 96, 85, 49, 49, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 44, 25, 23, MAPDATA_DRAW_3, 2, 20 }, { 96, 85, 49, 43, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 46, 25, 24, MAPDATA_DRAW_3, 2, 20 }, { 64, 61, 32, 31, MAPDATA_DRAW_3, 2, 20 },
+ { 96, 85, 49, 50, MAPDATA_DRAW_3, 2, 20 }, { 96, 85, 49, 62, MAPDATA_DRAW_3, 2, 20 },
+ { 96, 85, 49, 43, MAPDATA_DRAW_3, 2, 20 }, { 48, 80, 21, 41, MAPDATA_DRAW_1, 1, 198 },
+ { 32, 128, 17, 87, MAPDATA_DRAW_1, 1, 138 }, { 80, 53, 40, 27, MAPDATA_DRAW_1, 1, 54 },
+ { 32, 81, 16, 15, MAPDATA_DRAW_3, 2, 20 }, { 80, 45, 35, 23, MAPDATA_DRAW_3, 2, 20 },
+ { 64, 87, 36, 44, MAPDATA_DRAW_3, 2, 20 }, { 64, 51, 31, 23, MAPDATA_DRAW_3, 2, 20 },
+ { 80, 79, 40, 40, MAPDATA_DRAW_3, 2, 20 }, { 96, 75, 36, 26, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 41, 24, 20, MAPDATA_DRAW_3, 2, 20 }, { 64, 45, 31, 20, MAPDATA_DRAW_3, 2, 20 },
+ { 80, 52, 38, 28, MAPDATA_DRAW_3, 2, 20 }, { 48, 45, 23, 20, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 59, 25, 37, MAPDATA_DRAW_3, 2, 20 }, { 48, 60, 21, 38, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 81, 24, 40, MAPDATA_DRAW_3, 2, 20 }, { 48, 81, 24, 40, MAPDATA_DRAW_3, 2, 20 },
+ { 80, 89, 41, 26, MAPDATA_DRAW_3, 2, 20 }, { 80, 53, 39, 26, MAPDATA_DRAW_3, 2, 20 },
+ { 64, 78, 37, 36, MAPDATA_DRAW_3, 2, 20 }, { 64, 68, 33, 33, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 68, 23, 35, MAPDATA_DRAW_3, 2, 20 }, { 48, 36, 25, 17, MAPDATA_DRAW_3, 2, 20 },
+ { 48, 25, 24, 12, MAPDATA_DRAW_3, 2, 20 }, { 64, 75, 24, 37, MAPDATA_DRAW_3, 2, 20 },
+ { 32, 53, 17, 26, MAPDATA_DRAW_3, 2, 20 }, { 80, 62, 35, 27, MAPDATA_DRAW_1, 1, 105 },
+ { 64, 76, 31, 31, MAPDATA_DRAW_1, 1, 133 }, { 96, 85, 47, 43, MAPDATA_DRAW_3, 2, 20 },
+ { 80, 71, 48, 33, MAPDATA_DRAW_1, 1, 180 }, { 80, 87, 44, 44, MAPDATA_DRAW_1, 1, 72 },
+ { 64, 65, 31, 36, MAPDATA_DRAW_1, 1, 57 }, { 48, 41, 28, 20, MAPDATA_DRAW_1, 1, 60 },
+ { 64, 76, 17, 36, MAPDATA_DRAW_1, 1, 58 }, { 80, 60, 27, 22, MAPDATA_DRAW_1, 1, 83 },
+ { 80, 47, 38, 23, MAPDATA_DRAW_1, 1, 69 }, { 80, 60, 40, 38, MAPDATA_DRAW_1, 1, 29 },
+ { 48, 19, 17, 8, MAPDATA_DRAW_1, 1, 25 }, { 32, 99, 17, 16, MAPDATA_DRAW_1, 1, 88 },
+ { 48, 69, 19, 28, MAPDATA_DRAW_1, 1, 76 }, { 48, 83, 34, 47, MAPDATA_DRAW_1, 1, 104 },
+ { 80, 54, 45, 27, MAPDATA_DRAW_1, 1, 61 }, { 80, 92, 35, 50, MAPDATA_DRAW_1, 1, 60 },
+ { 48, 75, 24, 37, MAPDATA_DRAW_3, 2, 20 }, { 64, 49, 32, 23, MAPDATA_DRAW_3, 2, 20 },
+ { 64, 49, 25, 24, MAPDATA_DRAW_3, 2, 20 }, { 64, 52, 32, 24, MAPDATA_DRAW_3, 2, 34 },
+ { 64, 49, 31, 24, MAPDATA_DRAW_3, 2, 34 }, { 32, 33, 18, 14, MAPDATA_DRAW_3, 2, 34 },
+ { 48, 50, 25, 25, MAPDATA_DRAW_3, 2, 34 }, { 64, 52, 32, 25, MAPDATA_DRAW_3, 2, 34 },
+ { 48, 35, 24, 18, MAPDATA_DRAW_3, 2, 34 }, { 64, 51, 32, 26, MAPDATA_DRAW_3, 2, 34 },
+ { 48, 35, 24, 18, MAPDATA_DRAW_3, 2, 34 }, { 48, 53, 24, 28, MAPDATA_DRAW_3, 2, 34 },
+ { 64, 53, 33, 25, MAPDATA_DRAW_3, 2, 34 }, { 64, 47, 31, 24, MAPDATA_DRAW_3, 2, 34 },
+ { 64, 52, 32, 35, MAPDATA_DRAW_3, 2, 34 }, { 48, 48, 24, 23, MAPDATA_DRAW_3, 2, 34 },
+ { 64, 87, 32, 26, MAPDATA_DRAW_3, 2, 34 }, { 48, 30, 24, 14, MAPDATA_DRAW_3, 2, 34 },
+ { 80, 74, 40, 36, MAPDATA_DRAW_1, 1, 50 }, { 80, 87, 6, 41, MAPDATA_DRAW_1, 1, 42 },
+ { 80, 56, 19, 27, MAPDATA_DRAW_1, 1, 40 }, { 80, 65, 25, 33, MAPDATA_DRAW_1, 1, 40 },
+ { 16, 38, 8, 12, MAPDATA_DRAW_1, 1, 47 }, { 80, 78, 46, 33, MAPDATA_DRAW_1, 1, 142 },
+ { 80, 55, 32, 29, MAPDATA_DRAW_1, 1, 155 }, { 80, 98, 67, 48, MAPDATA_DRAW_1, 1, 51 },
+ { 80, 62, 47, 19, MAPDATA_DRAW_1, 1, 55 }, { 32, 123, 15, 83, MAPDATA_DRAW_1, 1, 140 },
+ { 80, 60, 47, 14, MAPDATA_DRAW_1, 1, 170 }, { 48, 77, 18, 59, MAPDATA_DRAW_1, 1, 79 },
+ { 80, 64, 35, 30, MAPDATA_DRAW_1, 1, 33 }, { 64, 50, 29, 22, MAPDATA_DRAW_1, 1, 40 },
+ { 80, 65, 39, 5, MAPDATA_DRAW_1, 1, 37 }, { 32, 61, 8, 56, MAPDATA_DRAW_1, 1, 35 },
+ { 80, 83, 37, 42, MAPDATA_DRAW_1, 1, 95 }, { 80, 27, 30, 21, MAPDATA_DRAW_1, 1, 134 },
+ { 80, 23, 122, -18, MAPDATA_DRAW_1, 1, 53 }, { 80, 60, 27, 22, MAPDATA_DRAW_1, 1, 83 },
};
+
static s32 D_801BF15C[5] = {
0x50, 0x50, 0x8D, 0x50, 0x50,
};
-static T_801BF170 D_801BF170[58] = {
- { 96, 85, 73, 67, 0x00, 0x00, 60 }, { 96, 85, 73, 74, 0x00, 0x00, 60 }, { 96, 85, 80, 67, 0x00, 0x00, 60 },
- { 96, 85, 73, 67, 0x00, 0x00, 60 }, { 96, 85, 80, 74, 0x00, 0x00, 60 }, { 32, 29, 17, 14, 0x02, 0x00, 50 },
- { 32, 27, 16, 13, 0x02, 0x00, 50 }, { 32, 30, 16, 15, 0x02, 0x00, 50 }, { 16, 32, 8, 20, 0x02, 0x00, 50 },
- { 16, 12, 8, 6, 0x02, 0x00, 50 }, { 32, 27, 16, 13, 0x02, 0x00, 50 }, { 16, 14, 8, 7, 0x02, 0x00, 50 },
- { 32, 19, 16, 9, 0x02, 0x00, 50 }, { 32, 26, 16, 16, 0x02, 0x00, 50 }, { 16, 32, 8, 22, 0x02, 0x00, 50 },
- { 32, 27, 16, 13, 0x02, 0x00, 50 }, { 16, 35, 9, 5, 0x02, 0x00, 45 }, { 32, 18, 14, 9, 0x02, 0x00, 45 },
- { 32, 38, 18, 19, 0x02, 0x00, 45 }, { 32, 21, 16, 9, 0x02, 0x00, 45 }, { 32, 34, 16, 17, 0x02, 0x00, 45 },
- { 48, 32, 19, 11, 0x02, 0x00, 45 }, { 32, 17, 16, 8, 0x02, 0x00, 45 }, { 32, 17, 16, 7, 0x02, 0x00, 45 },
- { 32, 21, 16, 11, 0x02, 0x00, 45 }, { 32, 18, 16, 8, 0x02, 0x00, 45 }, { 16, 24, 9, 15, 0x02, 0x00, 45 },
- { 16, 25, 7, 16, 0x02, 0x00, 45 }, { 32, 35, 16, 17, 0x02, 0x00, 45 }, { 16, 19, 5, 9, 0x02, 0x00, 80 },
- { 32, 28, 17, 7, 0x02, 0x00, 66 }, { 32, 16, 16, 8, 0x02, 0x00, 66 }, { 32, 24, 18, 11, 0x02, 0x00, 66 },
- { 32, 21, 16, 10, 0x02, 0x00, 66 }, { 16, 21, 8, 11, 0x02, 0x00, 66 }, { 16, 10, 8, 4, 0x02, 0x00, 66 },
- { 16, 7, 8, 3, 0x02, 0x00, 66 }, { 32, 23, 13, 11, 0x02, 0x00, 66 }, { 16, 16, 8, 8, 0x02, 0x00, 66 },
- { 16, 17, 8, 7, 0x02, 0x00, 50 }, { 16, 23, 9, 10, 0x02, 0x00, 66 }, { 16, 15, 8, 7, 0x02, 0x00, 66 },
- { 32, 15, 15, 7, 0x02, 0x00, 66 }, { 32, 17, 16, 8, 0x02, 0x00, 90 }, { 32, 16, 16, 8, 0x02, 0x00, 90 },
- { 16, 10, 8, 5, 0x02, 0x00, 90 }, { 16, 17, 8, 8, 0x02, 0x00, 90 }, { 32, 17, 17, 8, 0x02, 0x00, 90 },
- { 16, 11, 8, 5, 0x02, 0x00, 90 }, { 32, 17, 15, 9, 0x02, 0x00, 90 }, { 16, 12, 8, 6, 0x02, 0x00, 90 },
- { 16, 18, 9, 9, 0x02, 0x00, 90 }, { 32, 17, 17, 8, 0x02, 0x00, 90 }, { 32, 15, 16, 8, 0x02, 0x00, 90 },
- { 16, 18, 9, 13, 0x02, 0x00, 90 }, { 16, 16, 8, 7, 0x02, 0x00, 90 }, { 16, 30, 9, 8, 0x02, 0x00, 90 },
- { 16, 9, 9, 4, 0x02, 0x00, 90 },
+
+static MapSpriteInfo map_i_static_Info[MAPDATA_MAP_I_MAX] = {
+ { 96, 85, 73, 67, MAPDATA_DRAW_0, 0, 60 }, { 96, 85, 73, 74, MAPDATA_DRAW_0, 0, 60 },
+ { 96, 85, 80, 67, MAPDATA_DRAW_0, 0, 60 }, { 96, 85, 73, 67, MAPDATA_DRAW_0, 0, 60 },
+ { 96, 85, 80, 74, MAPDATA_DRAW_0, 0, 60 }, { 32, 29, 17, 14, MAPDATA_DRAW_2, 0, 50 },
+ { 32, 27, 16, 13, MAPDATA_DRAW_2, 0, 50 }, { 32, 30, 16, 15, MAPDATA_DRAW_2, 0, 50 },
+ { 16, 32, 8, 20, MAPDATA_DRAW_2, 0, 50 }, { 16, 12, 8, 6, MAPDATA_DRAW_2, 0, 50 },
+ { 32, 27, 16, 13, MAPDATA_DRAW_2, 0, 50 }, { 16, 14, 8, 7, MAPDATA_DRAW_2, 0, 50 },
+ { 32, 19, 16, 9, MAPDATA_DRAW_2, 0, 50 }, { 32, 26, 16, 16, MAPDATA_DRAW_2, 0, 50 },
+ { 16, 32, 8, 22, MAPDATA_DRAW_2, 0, 50 }, { 32, 27, 16, 13, MAPDATA_DRAW_2, 0, 50 },
+ { 16, 35, 9, 5, MAPDATA_DRAW_2, 0, 45 }, { 32, 18, 14, 9, MAPDATA_DRAW_2, 0, 45 },
+ { 32, 38, 18, 19, MAPDATA_DRAW_2, 0, 45 }, { 32, 21, 16, 9, MAPDATA_DRAW_2, 0, 45 },
+ { 32, 34, 16, 17, MAPDATA_DRAW_2, 0, 45 }, { 48, 32, 19, 11, MAPDATA_DRAW_2, 0, 45 },
+ { 32, 17, 16, 8, MAPDATA_DRAW_2, 0, 45 }, { 32, 17, 16, 7, MAPDATA_DRAW_2, 0, 45 },
+ { 32, 21, 16, 11, MAPDATA_DRAW_2, 0, 45 }, { 32, 18, 16, 8, MAPDATA_DRAW_2, 0, 45 },
+ { 16, 24, 9, 15, MAPDATA_DRAW_2, 0, 45 }, { 16, 25, 7, 16, MAPDATA_DRAW_2, 0, 45 },
+ { 32, 35, 16, 17, MAPDATA_DRAW_2, 0, 45 }, { 16, 19, 5, 9, MAPDATA_DRAW_2, 0, 80 },
+ { 32, 28, 17, 7, MAPDATA_DRAW_2, 0, 66 }, { 32, 16, 16, 8, MAPDATA_DRAW_2, 0, 66 },
+ { 32, 24, 18, 11, MAPDATA_DRAW_2, 0, 66 }, { 32, 21, 16, 10, MAPDATA_DRAW_2, 0, 66 },
+ { 16, 21, 8, 11, MAPDATA_DRAW_2, 0, 66 }, { 16, 10, 8, 4, MAPDATA_DRAW_2, 0, 66 },
+ { 16, 7, 8, 3, MAPDATA_DRAW_2, 0, 66 }, { 32, 23, 13, 11, MAPDATA_DRAW_2, 0, 66 },
+ { 16, 16, 8, 8, MAPDATA_DRAW_2, 0, 66 }, { 16, 17, 8, 7, MAPDATA_DRAW_2, 0, 50 },
+ { 16, 23, 9, 10, MAPDATA_DRAW_2, 0, 66 }, { 16, 15, 8, 7, MAPDATA_DRAW_2, 0, 66 },
+ { 32, 15, 15, 7, MAPDATA_DRAW_2, 0, 66 }, { 32, 17, 16, 8, MAPDATA_DRAW_2, 0, 90 },
+ { 32, 16, 16, 8, MAPDATA_DRAW_2, 0, 90 }, { 16, 10, 8, 5, MAPDATA_DRAW_2, 0, 90 },
+ { 16, 17, 8, 8, MAPDATA_DRAW_2, 0, 90 }, { 32, 17, 17, 8, MAPDATA_DRAW_2, 0, 90 },
+ { 16, 11, 8, 5, MAPDATA_DRAW_2, 0, 90 }, { 32, 17, 15, 9, MAPDATA_DRAW_2, 0, 90 },
+ { 16, 12, 8, 6, MAPDATA_DRAW_2, 0, 90 }, { 16, 18, 9, 9, MAPDATA_DRAW_2, 0, 90 },
+ { 32, 17, 17, 8, MAPDATA_DRAW_2, 0, 90 }, { 32, 15, 16, 8, MAPDATA_DRAW_2, 0, 90 },
+ { 16, 18, 9, 13, MAPDATA_DRAW_2, 0, 90 }, { 16, 16, 8, 7, MAPDATA_DRAW_2, 0, 90 },
+ { 16, 30, 9, 8, MAPDATA_DRAW_2, 0, 90 }, { 16, 9, 9, 4, MAPDATA_DRAW_2, 0, 90 },
};
-static s32 D_801BF3B4[5] = {
+
+static s32 map_i_for_gameplay_dangeon_keep[5] = {
0x00, 0x01, 0x02, 0x03, 0x04,
};
-static s32 D_801BF3C8[98] = {
- 0x3A, 0x01, 0x02, 0x03, 0x04, 0x3A, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
- 0x3A, 0x3A, 0x3A, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x3A,
- 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x3A, 0x3A, 0x27, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A,
- 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
- 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A,
- 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A, 0x3A,
+
+static s32 map_i_for_map_grand[98] = {
+ MAPDATA_MAP_I_MAX,
+ 0x01,
+ 0x02,
+ 0x03,
+ 0x04,
+ MAPDATA_MAP_I_MAX,
+ 0x05,
+ 0x06,
+ 0x07,
+ 0x08,
+ 0x09,
+ 0x0A,
+ 0x0B,
+ 0x0C,
+ 0x0D,
+ 0x0E,
+ 0x0F,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ 0x10,
+ 0x11,
+ 0x12,
+ 0x13,
+ 0x14,
+ 0x15,
+ 0x16,
+ 0x17,
+ 0x18,
+ 0x19,
+ 0x1A,
+ 0x1B,
+ 0x1C,
+ MAPDATA_MAP_I_MAX,
+ 0x1E,
+ 0x1F,
+ 0x20,
+ 0x21,
+ 0x22,
+ 0x23,
+ 0x24,
+ 0x25,
+ 0x26,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ 0x27,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ 0x28,
+ 0x29,
+ 0x2A,
+ 0x2B,
+ 0x2C,
+ 0x2D,
+ 0x2E,
+ 0x2F,
+ 0x30,
+ 0x31,
+ 0x32,
+ 0x33,
+ 0x34,
+ 0x35,
+ 0x36,
+ 0x37,
+ 0x38,
+ 0x39,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
+ MAPDATA_MAP_I_MAX,
};
-// mapId
-// 0-4 is gameplay_dangeon_keep
-// 5-0x3A is map_i_static
-// 0x100-0x162 is map_grand_static
-s32 func_80109A98(s32);
+s32 MapDisp_GetSizeOfMapITex(s32 mapId);
-// Get ? Color
-void func_801094A0(s32 arg0, Color_RGBA8* color) {
- *color = D_801BED40[arg0];
+void MapData_GetMapColor(s32 colorIndex, Color_RGBA8* color) {
+ *color = mapColorTable[colorIndex];
}
void MapData_GetMapTexDimGameplayDangeonKeep(s32 mapId, s32* width, s32* height) {
- *width = D_801BED4C[mapId].width;
- *height = D_801BED4C[mapId].height;
+ *width = gameplay_dangeon_keep_Info[mapId].width;
+ *height = gameplay_dangeon_keep_Info[mapId].height;
}
-void func_801094F8(s32 mapId, s32* arg1, s32* arg2) {
- *arg1 = D_801BED4C[mapId].unk6;
- *arg2 = D_801BED4C[mapId].unk7;
+void MapData_GetMapTexOffsetGameplayDangeonKeep(s32 mapId, s32* offsetX, s32* offsetY) {
+ *offsetX = gameplay_dangeon_keep_Info[mapId].offsetX;
+ *offsetY = gameplay_dangeon_keep_Info[mapId].offsetY;
}
-void func_80109528(s32 mapId, s32* arg1) {
- *arg1 = D_801BED4C[mapId].unk8;
+void MapData_GetMapDrawTypeGameplayDangeonKeep(s32 mapId, s32* drawType) {
+ *drawType = gameplay_dangeon_keep_Info[mapId].drawType;
}
-u8 func_8010954C(s32 arg0) {
- return D_801BED4C[arg0].unk9;
+u8 MapData_GetMapColorIndexGameplayDangeonKeep(s32 mapId) {
+ return gameplay_dangeon_keep_Info[mapId].colorIndex;
}
-s16 MapData_GetMapScaleGameplayDangeonKeep(s32 mapId) {
- return D_801BED4C[mapId].scale;
+s16 MapData_GetMapGameplayDangeonKeepScale(s32 mapId) {
+ return gameplay_dangeon_keep_Info[mapId].scale;
}
-TexturePtr func_8010958C(s32 arg0) {
- return D_801BED4C[arg0].lmapTex;
+TexturePtr MapData_GetMapTexGameplayDangeonKeep(s32 mapId) {
+ return gameplay_dangeon_keep_Info[mapId].lmapTex;
}
-void MapData_GetMapTexDimGrandMap(s32 mapId, s32* arg1, s32* arg2) {
- *arg1 = D_801BED88[mapId - 0x100].unk0;
- *arg2 = D_801BED88[mapId - 0x100].unk1;
+void MapData_GetMapTexGameplayDangeonKeepDim(s32 mapId, s32* width, s32* height) {
+ *width = map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].texWidth;
+ *height = map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].texHeight;
}
-void func_801095DC(s32 mapId, s32* arg1, s32* arg2) {
- *arg1 = D_801BED88[mapId - 0x100].unk2;
- *arg2 = D_801BED88[mapId - 0x100].unk4;
+void MapData_GetMapTexGameplayDangeonKeepOffset(s32 mapId, s32* offsetX, s32* offsetY) {
+ *offsetX = map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].offsetX;
+ *offsetY = map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].offsetY;
}
-void func_8010960C(s32 mapId, s32* arg1) {
- *arg1 = D_801BED88[mapId - 0x100].unk6;
+void MapData_GetMapGrandDrawType(s32 mapId, s32* drawType) {
+ *drawType = map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].drawType;
}
-u8 func_80109630(s32 mapId) {
- return D_801BED88[mapId - 0x100].unk7;
+u8 MapData_GetMapGrandColorIndex(s32 mapId) {
+ return map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].colorIndex;
}
-s16 func_80109650(s32 mapId) {
- return D_801BED88[mapId - 0x100].unk8;
+s16 MapData_GetMapGrandScale(s32 mapId) {
+ return map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].scale;
}
-s32 func_80109670(s32 mapId) {
- s32 cond = mapId - 0x100;
- s32 var_s1 = 0;
+s32 MapData_MapGrandTexSizeTest(s32 mapId) {
+ s32 endMap = mapId - MAPDATA_MAP_GRAND;
+ s32 size = 0;
s32 i;
- for (i = 1; i < cond + 1; i++) {
- var_s1 += func_801096D4((i - 1) + 0x100);
+ for (i = 1; i < endMap + 1; i++) {
+ size += MapData_GetSizeOfMapGrandTex((i - 1) + MAPDATA_MAP_GRAND);
}
- return var_s1;
+ return size;
}
-s32 func_801096D4(s32 mapId) {
- return (D_801BED88[mapId - 0x100].unk0 * D_801BED88[mapId - 0x100].unk1) / 2;
+s32 MapData_GetSizeOfMapGrandTex(s32 mapId) {
+ return (map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].texWidth *
+ map_grand_static_Info[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)].texHeight) /
+ 2;
}
-s32 func_80109714(s32 mapId) {
+s32 MapData_MID_GetType(s32 mapId) {
if ((mapId >= 0) && (mapId < 5)) {
return MAPDATA_MID_GAMEPLAY_DANGEON_KEEP;
}
if ((mapId >= 0x100) && (mapId < 0x162)) {
- return MAPDATA_MID_GRAND_MAP_STATIC;
+ return MAPDATA_MID_MAP_GRAND_STATIC;
}
return MAPDATA_MID_MAP_I_STATIC;
}
void MapData_GetMapTexDim(s32 mapId, s32* width, s32* height) {
- switch (func_80109714(mapId)) {
+ switch (MapData_MID_GetType(mapId)) {
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
MapData_GetMapTexDimGameplayDangeonKeep(mapId, width, height);
return;
- case MAPDATA_MID_GRAND_MAP_STATIC:
- MapData_GetMapTexDimGrandMap(mapId, width, height);
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ MapData_GetMapTexGameplayDangeonKeepDim(mapId, width, height);
return;
default:
*width = *height = 0;
@@ -181,55 +304,54 @@ void MapData_GetMapTexDim(s32 mapId, s32* width, s32* height) {
}
}
-void func_801097C8(s32 mapId, s32* arg1, s32* arg2) {
- switch (func_80109714(mapId)) {
+void MapData_GetMapTexOffset(s32 mapId, s32* offsetX, s32* offsetY) {
+ switch (MapData_MID_GetType(mapId)) {
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
- func_801094F8(mapId, arg1, arg2);
+ MapData_GetMapTexOffsetGameplayDangeonKeep(mapId, offsetX, offsetY);
return;
- case MAPDATA_MID_GRAND_MAP_STATIC:
- func_801095DC(mapId, arg1, arg2);
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ MapData_GetMapTexGameplayDangeonKeepOffset(mapId, offsetX, offsetY);
return;
default:
- *arg1 = *arg2 = 0;
+ *offsetX = *offsetY = 0;
return;
}
}
void MapData_GetMapScale(s32 mapId, s32* scale) {
- switch (func_80109714(mapId)) {
+ switch (MapData_MID_GetType(mapId)) {
default:
*scale = 0;
return;
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
- *scale = MapData_GetMapScaleGameplayDangeonKeep(mapId);
+ *scale = MapData_GetMapGameplayDangeonKeepScale(mapId);
return;
- case MAPDATA_MID_GRAND_MAP_STATIC:
- *scale = func_80109650(mapId);
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ *scale = MapData_GetMapGrandScale(mapId);
return;
}
}
-void func_801098A0(s32 mapId, s32* arg1) {
- switch (func_80109714(mapId)) {
+void MapData_GetDrawType(s32 mapId, s32* drawType) {
+ switch (MapData_MID_GetType(mapId)) {
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
- func_80109528(mapId, arg1);
+ MapData_GetMapDrawTypeGameplayDangeonKeep(mapId, drawType);
return;
- case MAPDATA_MID_GRAND_MAP_STATIC:
- func_8010960C(mapId, arg1);
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ MapData_GetMapGrandDrawType(mapId, drawType);
return;
default:
- *arg1 = 0;
+ *drawType = 0;
return;
}
}
-// return some color index?
-s32 func_80109908(s32 mapId) {
- switch (func_80109714(mapId)) {
+s32 MapData_GetMapColorIndex(s32 mapId) {
+ switch (MapData_MID_GetType(mapId)) {
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
- return func_8010954C(mapId);
- case MAPDATA_MID_GRAND_MAP_STATIC:
- return func_80109630(mapId);
+ return MapData_GetMapColorIndexGameplayDangeonKeep(mapId);
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ return MapData_GetMapGrandColorIndex(mapId);
default:
return 0;
}
@@ -239,75 +361,74 @@ s32 func_80109964(s32 arg0) {
return D_801BF15C[arg0];
}
-void func_8010997C(s32 arg0, s32* arg1, s32* arg2) {
- *arg1 = D_801BF170[arg0].unk0;
- *arg2 = D_801BF170[arg0].unk1;
+void MapData_GetMapITexDim(s32 mapId, s32* width, s32* height) {
+ *width = map_i_static_Info[mapId].texWidth;
+ *height = map_i_static_Info[mapId].texHeight;
}
-void func_801099AC(s32 arg0, s32* arg1, s32* arg2) {
- *arg1 = D_801BF170[arg0].unk2;
- *arg2 = D_801BF170[arg0].unk4;
+void MapData_GetMapITexOffset(s32 mapId, s32* offsetX, s32* offsetY) {
+ *offsetX = map_i_static_Info[mapId].offsetX;
+ *offsetY = map_i_static_Info[mapId].offsetY;
}
-void func_801099DC(s32 arg0, s32* arg1) {
- *arg1 = D_801BF170[arg0].unk6;
+void MapData_GetMapIDrawType(s32 mapId, s32* drawType) {
+ *drawType = map_i_static_Info[mapId].drawType;
}
-u8 func_80109A00(s32 arg0) {
- return D_801BF170[arg0].unk7;
+u8 MapData_GetMapIColorIndex(s32 mapId) {
+ return map_i_static_Info[mapId].colorIndex;
}
-s16 func_80109A20(s32 arg0) {
- return D_801BF170[arg0].unk8;
+s16 MapData_GetMapIScale(s32 mapId) {
+ return map_i_static_Info[mapId].scale;
}
-s32 func_80109A40(s32 arg0) {
- s32 temp_s2;
- s32 var_s0;
- s32 var_s1;
+s32 MapData_MapITexSizeTest(s32 mapId) {
+ s32 i;
+ s32 size;
- var_s1 = 0;
- for (var_s0 = 1; var_s0 < arg0 + 1; var_s0++) {
- var_s1 += func_80109A98(var_s0 - 1);
+ size = 0;
+ for (i = 1; i < mapId + 1; i++) {
+ size += MapDisp_GetSizeOfMapITex(i - 1);
}
- return var_s1;
+ return size;
}
-s32 func_80109A98(s32 arg0) {
- return (D_801BF170[arg0].unk0 * D_801BF170[arg0].unk1) / 2;
+s32 MapDisp_GetSizeOfMapITex(s32 mapId) {
+ return (map_i_static_Info[mapId].texWidth * map_i_static_Info[mapId].texHeight) / 2;
}
-s32 func_80109AD8(s32 mapId) {
- switch (func_80109714(mapId)) {
+s32 MapData_GetMapIId(s32 mapId) {
+ switch (MapData_MID_GetType(mapId)) {
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
- return D_801BF3B4[mapId];
- case MAPDATA_MID_GRAND_MAP_STATIC:
- return D_801BF3C8[mapId - 0x100];
+ return map_i_for_gameplay_dangeon_keep[mapId];
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ return map_i_for_map_grand[MAPDATA_GET_MAP_GRAND_ID_FROM_MAP_ID(mapId)];
default:
return 0;
}
}
s32 func_80109B38(s32 mapId) {
- if (func_80109AD8(mapId) != 0x3A) {
+ if (MapData_GetMapIId(mapId) != MAPDATA_MAP_I_MAX) {
return 1;
}
- switch (func_80109714(mapId)) {
+ switch (MapData_MID_GetType(mapId)) {
case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
return 2;
- case MAPDATA_MID_GRAND_MAP_STATIC:
+ case MAPDATA_MID_MAP_GRAND_STATIC:
return 0;
default:
return 0;
}
}
-s32 func_80109BA0(s32 mapId) {
- s32 temp_v0 = func_80109AD8(mapId);
+s32 MapData_GetMapCompactId(s32 mapId) {
+ s32 mapI = MapData_GetMapIId(mapId);
- if (temp_v0 != 0x3A) {
- return temp_v0;
+ if (mapI != MAPDATA_MAP_I_MAX) {
+ return mapI;
}
if ((mapId >= 0x100) && (mapId < 0x162)) {
return mapId - 0xC6;
@@ -315,28 +436,29 @@ s32 func_80109BA0(s32 mapId) {
return -1;
}
-s32 func_80109BF4(s32 mapCompactId) {
+s32 MapData_CPID_GetType(s32 mapCompactId) {
if (mapCompactId == -1) {
return MAPDATA_CPID_2;
}
- if (mapCompactId < 0x3A) {
+ if (mapCompactId < MAPDATA_MAP_I_MAX) {
return MAPDATA_CPID_MAP_I_STATIC;
}
- if (mapCompactId >= 0x3A) {
- return MAPDATA_CPID_GRAND_MAP_STATIC;
+ if (mapCompactId >= MAPDATA_MAP_I_MAX) {
+ return MAPDATA_CPID_MAP_GRAND_STATIC;
}
return MAPDATA_CPID_2;
}
+// Unused
s32 func_80109C38(s32 mapCompactId) {
if (mapCompactId == -1) {
return 0;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- return func_80109670(mapCompactId + 0xC6);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ return MapData_MapGrandTexSizeTest(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId));
case MAPDATA_CPID_MAP_I_STATIC:
- return func_80109A40(mapCompactId);
+ return MapData_MapITexSizeTest(mapCompactId);
case MAPDATA_CPID_2:
return 0;
default:
@@ -344,15 +466,15 @@ s32 func_80109C38(s32 mapCompactId) {
}
}
-s32 MapData_GetMapSize(s32 mapCompactId) {
+s32 MapData_CPID_GetSizeOfMapTex(s32 mapCompactId) {
if (mapCompactId == -1) {
return 0;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- return func_801096D4(mapCompactId + 0xC6);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ return MapData_GetSizeOfMapGrandTex(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId));
case MAPDATA_CPID_MAP_I_STATIC:
- return func_80109A98(mapCompactId);
+ return MapDisp_GetSizeOfMapITex(mapCompactId);
case MAPDATA_CPID_2:
return 0;
default:
@@ -360,90 +482,94 @@ s32 MapData_GetMapSize(s32 mapCompactId) {
}
}
-void func_80109D40(s32 mapCompactId, s32* arg1, s32* arg2) {
+// GOOD
+void MapData_CPID_GetTexDim(s32 mapCompactId, s32* width, s32* height) {
if (mapCompactId == -1) {
- *arg1 = *arg2 = 0;
+ *width = *height = 0;
return;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- // id base 0x100
- MapData_GetMapTexDimGrandMap(mapCompactId + 0xC6, arg1, arg2);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ MapData_GetMapTexGameplayDangeonKeepDim(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId), width,
+ height);
return;
case MAPDATA_CPID_MAP_I_STATIC:
- func_8010997C(mapCompactId, arg1, arg2);
+ MapData_GetMapITexDim(mapCompactId, width, height);
return;
case MAPDATA_CPID_2:
default:
- *arg1 = *arg2 = 0;
+ *width = *height = 0;
return;
}
}
-void func_80109DD8(s32 mapCompactId, s32* arg1, s32* arg2) {
- s32 temp_v0;
-
+// GOOD
+void MapData_CPID_GetTexOffset(s32 mapCompactId, s32* offsetX, s32* offsetY) {
if (mapCompactId == -1) {
- *arg1 = *arg2 = 0;
+ *offsetX = *offsetY = 0;
return;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- func_801095DC(mapCompactId + 0xC6, arg1, arg2);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ MapData_GetMapTexGameplayDangeonKeepOffset(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId), offsetX,
+ offsetY);
return;
case MAPDATA_CPID_MAP_I_STATIC:
- func_801099AC(mapCompactId, arg1, arg2);
+ MapData_GetMapITexOffset(mapCompactId, offsetX, offsetY);
return;
case MAPDATA_CPID_2:
default:
- *arg1 = *arg2 = 0;
+ *offsetX = *offsetY = 0;
return;
}
}
-void func_80109E70(s32 mapCompactId, s32* arg1) {
+// Unused
+void MapData_CPID_GetDrawType(s32 mapCompactId, s32* drawType) {
if (mapCompactId == -1) {
- *arg1 = 0;
+ *drawType = MAPDATA_DRAW_0;
return;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- func_8010960C(mapCompactId + 0xC6, arg1);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ MapData_GetMapGrandDrawType(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId), drawType);
return;
case MAPDATA_CPID_MAP_I_STATIC:
- func_801099DC(mapCompactId, arg1);
+ MapData_GetMapIDrawType(mapCompactId, drawType);
return;
case MAPDATA_CPID_2:
default:
- *arg1 = 0;
+ *drawType = MAPDATA_DRAW_0;
return;
}
}
-u8 func_80109EF8(s32 mapCompactId) {
+// Unused
+u8 MapData_CPID_GetMapColorIndex(s32 mapCompactId) {
if (mapCompactId == -1) {
return 0;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- return func_80109630(mapCompactId + 0xC6);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ return MapData_GetMapGrandColorIndex(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId));
case MAPDATA_CPID_MAP_I_STATIC:
- return func_80109A00(mapCompactId);
+ return MapData_GetMapIColorIndex(mapCompactId);
case MAPDATA_CPID_2:
default:
return 0;
}
}
-s16 func_80109F78(s32 mapCompactId) {
+// GOOD
+s16 MapData_CPID_GetMapScale(s32 mapCompactId) {
if (mapCompactId == -1) {
return 0;
}
- switch (func_80109BF4(mapCompactId)) {
- case MAPDATA_CPID_GRAND_MAP_STATIC:
- return func_80109650(mapCompactId + 0xC6);
+ switch (MapData_CPID_GetType(mapCompactId)) {
+ case MAPDATA_CPID_MAP_GRAND_STATIC:
+ return MapData_GetMapGrandScale(MAPDATA_GET_MAP_GRAND_ID_FROM_COMPACT_ID(mapCompactId));
case MAPDATA_CPID_MAP_I_STATIC:
- return func_80109A20(mapCompactId);
+ return MapData_GetMapIScale(mapCompactId);
case MAPDATA_CPID_2:
default:
return 0;
diff --git a/src/code/z_map_disp.c b/src/code/z_map_disp.c
index 7bd458870..194c8f2ef 100644
--- a/src/code/z_map_disp.c
+++ b/src/code/z_map_disp.c
@@ -1,8 +1,9 @@
#include "global.h"
#include "gfx.h"
+#include "overlays/actors/ovl_En_Door/z_en_door.h"
-void MapDisp_DestroyIMap(PlayState* play);
-void MapDisp_InitIMap(PlayState* play);
+void MapDisp_DestroyMapI(PlayState* play);
+void MapDisp_InitMapI(PlayState* play);
extern s32 D_801BEAD0[4]; // G_IM_SIZ
extern s32 D_801BEAE0[4]; // siz_LOAD_BLOCK
@@ -37,9 +38,9 @@ extern TexturePtr D_02003F20;
extern Gfx D_0401ED00[];
extern TexturePtr D_0C000000;
-void MapDisp_GetIMapTexture(void* dst, s32 iMapId) {
- if (func_80109A98(iMapId) != 0) {
- CmpDma_LoadFile(SEGMENT_ROM_START(map_i_static), iMapId, dst, func_80109A98(iMapId));
+void MapDisp_GetMapITexture(void* dst, s32 mapId) {
+ if (MapDisp_GetSizeOfMapITex(mapId) != 0) {
+ CmpDma_LoadFile(SEGMENT_ROM_START(map_i_static), mapId, dst, MapDisp_GetSizeOfMapITex(mapId));
}
}
@@ -69,11 +70,11 @@ s32 func_80102EF0(PlayState* play) {
if (curRoom == -1) {
return false;
}
- entry = &D_801BEBB8.unk0->entry[curRoom];
+ entry = &D_801BEBB8.minimapList->entry[curRoom];
if (entry->mapId == 0xFFFF) {
return false;
}
- if (func_80109AD8(entry->mapId) == 0x3A) {
+ if (MapData_GetMapIId(entry->mapId) == MAPDATA_MAP_I_MAX) {
return false;
}
return true;
@@ -96,37 +97,37 @@ f32 func_80102F9C(f32 arg0) {
return 0.0f;
}
-void MapDisp_GetMapTexDim(MinimapEntry* arg0, s32* out1, s32* out2) {
- MapData_GetMapTexDim(arg0->mapId, out1, out2);
+void MapDisp_GetMapTexDim(MinimapEntry* minimapEntry, s32* width, s32* height) {
+ MapData_GetMapTexDim(minimapEntry->mapId, width, height);
}
-void MapDisp_GetMapScale(MinimapEntry* arg0, s32* scale) {
- MapData_GetMapScale(arg0->mapId, scale);
+void MapDisp_GetMapScale(MinimapEntry* minimapEntry, s32* scale) {
+ MapData_GetMapScale(minimapEntry->mapId, scale);
if (*scale == 0) {
*scale = 20;
}
}
-void MapDisp_GetMapPos(MinimapEntry* arg0, s32* arg1, s32* arg2) {
+void MapDisp_GetMapPos(MinimapEntry* minimapEntry, s32* offsetX, s32* offsetY) {
s32 width;
s32 height;
s32 temp;
s32 temp2;
- if (arg0->mapId == 0xFFFF) {
- *arg1 = 0;
- *arg2 = 0;
+ if (minimapEntry->mapId == 0xFFFF) {
+ *offsetX = 0;
+ *offsetY = 0;
return;
}
- MapDisp_GetMapTexDim(arg0, &width, &height);
- func_801097C8(arg0->mapId, arg1, arg2);
- if (arg0->unk8 & 1) {
+ MapDisp_GetMapTexDim(minimapEntry, &width, &height);
+ MapData_GetMapTexOffset(minimapEntry->mapId, offsetX, offsetY);
+ if (minimapEntry->unk8 & 1) {
temp = width / 2;
- *arg1 = (temp - *arg1) + temp;
+ *offsetX = (temp - *offsetX) + temp;
}
- if (arg0->unk8 & 2) {
+ if (minimapEntry->unk8 & 2) {
temp2 = height / 2;
- *arg2 = (temp2 - *arg2) + temp2;
+ *offsetY = (temp2 - *offsetY) + temp2;
}
}
@@ -142,32 +143,32 @@ void func_801031D0(PlayState* play, TexturePtr arg1, s32 arg2, s32 arg3, s32 arg
s32 var_t1;
s32 var_v1_4;
s32 var_v1_5;
- Color_RGBA8 spAC;
- s32 spA8;
+ Color_RGBA8 spAC_color;
+ s32 spA8_drawType;
- spCC = &D_801BEBB8.unk0->entry[arg4];
+ spCC = &D_801BEBB8.minimapList->entry[arg4];
if ((spCC->mapId != 0xFFFF) && (arg1 != 0)) {
MapDisp_GetMapTexDim(spCC, &spC8, &spC4);
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL39_Overlay(play->state.gfxCtx);
- func_801094A0(func_80109908(spCC->mapId), &spAC);
- gDPSetPrimColor(OVERLAY_DISP++, 0, 0, spAC.r, spAC.g, spAC.b,
- (s32)(play->interfaceCtx.minimapAlpha * arg5 * spAC.a / 255.0f));
- func_801098A0(spCC->mapId, &spA8);
- switch (spA8) {
- case 1:
+ MapData_GetMapColor(MapData_GetMapColorIndex(spCC->mapId), &spAC_color);
+ gDPSetPrimColor(OVERLAY_DISP++, 0, 0, spAC_color.r, spAC_color.g, spAC_color.b,
+ (s32)(play->interfaceCtx.minimapAlpha * arg5 * spAC_color.a / 255.0f));
+ MapData_GetDrawType(spCC->mapId, &spA8_drawType);
+ switch (spA8_drawType) {
+ case MAPDATA_DRAW_1:
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, arg1, G_IM_FMT_IA, spC8, spC4, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
break;
- case 3:
+ case MAPDATA_DRAW_3:
gDPSetCombineLERP(OVERLAY_DISP++, 0, 0, 0, PRIMITIVE, 0, 0, 0, TEXEL0, 0, 0, 0, PRIMITIVE, 0, 0, 0,
TEXEL0);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, arg1, G_IM_FMT_I, spC8, spC4, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
break;
default:
- case 0:
+ case MAPDATA_DRAW_0:
gDPSetCombineMode(OVERLAY_DISP++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, arg1, G_IM_FMT_I, spC8, spC4, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -242,25 +243,25 @@ void func_80103A58(PlayState* play, Actor* actor) {
s32 spC4;
f32 spC0;
u32 pad;
- s32 var_v0;
+ s32 scale;
Player* spB4;
u32 pad2;
- s32 spAC;
+ s32 spAC_scaleTemp;
// GraphicsContext *spA8;
- spDC = &D_801BEBB8.unk0->entry[D_801BEBB8.curRoom];
+ spDC = &D_801BEBB8.minimapList->entry[D_801BEBB8.curRoom];
spB4 = GET_PLAYER(play);
if (spDC->mapId != 0xFFFF) {
MapDisp_GetMapPos(spDC, &spD0, &spCC);
MapDisp_GetMapTexDim(spDC, &spC8, &spC4);
- var_v0 = D_801BEBB8.unk0->scale;
- if (D_801BEBB8.unk0->scale == 0) {
- var_v0 = 20;
- } else if (D_801BEBB8.unk0->scale == -1) {
- MapDisp_GetMapScale(spDC, &spAC);
- var_v0 = spAC;
+ scale = D_801BEBB8.minimapList->scale;
+ if (D_801BEBB8.minimapList->scale == 0) {
+ scale = 20;
+ } else if (D_801BEBB8.minimapList->scale == -1) {
+ MapDisp_GetMapScale(spDC, &spAC_scaleTemp);
+ scale = spAC_scaleTemp;
}
- spC0 = 1.0f / (f32)var_v0;
+ spC0 = 1.0f / (f32)scale;
if (!MapDisp_IsDataRotated(play)) {
spD8 = (s32)((actor->world.pos.x - (f32)spDC->unk2) * spC0) + D_801BEBB8.unk8 + D_801BEBB8.unkC -
D_801BEBB8.unk8 + spD0;
@@ -408,15 +409,15 @@ void func_801045AC(PlayState* play, Actor* actor) {
if (sp50 < 0) {
sp50 = 0.0f;
}
- sp7C = &D_801BEBB8.unk0->entry[D_801BEBB8.curRoom];
+ sp7C = &D_801BEBB8.minimapList->entry[D_801BEBB8.curRoom];
if (sp7C->mapId != 0xFFFF) {
MapDisp_GetMapPos(sp7C, &sp70, &sp6C);
MapDisp_GetMapTexDim(sp7C, &sp68, &sp64);
- var_v1 = D_801BEBB8.unk0->scale;
- if (D_801BEBB8.unk0->scale == 0) {
+ var_v1 = D_801BEBB8.minimapList->scale;
+ if (D_801BEBB8.minimapList->scale == 0) {
var_v1 = 20;
- } else if (D_801BEBB8.unk0->scale == -1) {
+ } else if (D_801BEBB8.minimapList->scale == -1) {
s32 sp4C;
MapDisp_GetMapScale(sp7C, &sp4C);
var_v1 = sp4C;
@@ -446,14 +447,14 @@ void func_801045AC(PlayState* play, Actor* actor) {
s32 pad;
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, D_801BEC2C[actor->category].r, D_801BEC2C[actor->category].g,
D_801BEC2C[actor->category].b,
- (s32)((D_801BEC2C[actor->category].a * (1.0f - D_801BEBB8.unk24 * 0.05f) * sp50 *
- play->interfaceCtx.minimapAlpha) /
+ (s32)((D_801BEC2C[actor->category].a * (1.0f - D_801BEBB8.swapAnimTimer * 0.05f) *
+ sp50 * play->interfaceCtx.minimapAlpha) /
255.0f));
- var_v1 = D_801BEBB8.unk0->scale;
- if (D_801BEBB8.unk0->scale == 0) {
+ var_v1 = D_801BEBB8.minimapList->scale;
+ if (D_801BEBB8.minimapList->scale == 0) {
var_v1 = 20;
- } else if (D_801BEBB8.unk0->scale == -1) {
+ } else if (D_801BEBB8.minimapList->scale == -1) {
s32 sp34;
MapDisp_GetMapScale(sp7C, &sp34);
var_v1 = sp34;
@@ -511,33 +512,33 @@ void func_80104C80(PlayState* play) {
void MapDisp_Init(PlayState* play) {
s32 i;
- D_801BEBB8.unk0 = NULL;
+ D_801BEBB8.minimapList = NULL;
D_801BEBB8.curRoom = -1;
D_801BEBB8.unk8 = 0xD2;
D_801BEBB8.unkA = 0x8C;
D_801BEBB8.unkC = 0xD2;
D_801BEBB8.unkE = 0x8C;
- D_801BEBB8.unk10 = NULL;
+ D_801BEBB8.lMapCurTex = NULL;
D_801BEBB8.prevRoom = -1;
- D_801BEBB8.unk18 = NULL;
+ D_801BEBB8.lMapPrevTex = NULL;
D_801BEBB8.unk1C = 0;
D_801BEBB8.unk1E = 0;
D_801BEBB8.unk20 = 0;
- D_801BEBB8.unk24 = 0;
+ D_801BEBB8.swapAnimTimer = 0;
if (!Map_IsInBossArea(play)) {
D_801BEC1C = play->numRooms;
}
- D_801BEBB8.unk28 = THA_AllocTailAlign16(&play->state.heap, 0x4000);
- D_801BEBB8.unk2C = THA_AllocTailAlign16(&play->state.heap, 0x4000);
+ D_801BEBB8.texBuff0 = THA_AllocTailAlign16(&play->state.heap, 0x4000);
+ D_801BEBB8.texBuff1 = THA_AllocTailAlign16(&play->state.heap, 0x4000);
func_80104C80(play);
if (!Map_IsInBossArea(play)) {
- D_801BEBB8.unk30 = 0;
- D_801BEBB8.unk32 = 0;
- D_801BEBB8.unk34 = 0x64;
- D_801BEBB8.unk36 = 0x64;
- D_801BEBB8.unk38 = (s16)(s32)((f32)D_801BEBB8.unk30 + ((f32)D_801BEBB8.unk34 * 0.5f));
- D_801BEBB8.unk3A = (s16)(s32)((f32)D_801BEBB8.unk32 + ((f32)D_801BEBB8.unk36 * 0.5f));
+ D_801BEBB8.sceneMinX = 0;
+ D_801BEBB8.sceneMinZ = 0;
+ D_801BEBB8.sceneWidth = 100;
+ D_801BEBB8.sceneHeight = 100;
+ D_801BEBB8.sceneMidX = (s16)(s32)((f32)D_801BEBB8.sceneMinX + ((f32)D_801BEBB8.sceneWidth * 0.5f));
+ D_801BEBB8.sceneMidZ = (s16)(s32)((f32)D_801BEBB8.sceneMinZ + ((f32)D_801BEBB8.sceneHeight * 0.5f));
}
D_801BEBB8.unk3C = THA_AllocTailAlign16(&play->state.heap, D_801BEC1C * sizeof(s16));
@@ -549,7 +550,7 @@ void MapDisp_Init(PlayState* play) {
for (i = 0; i < 32; i++) {
D_801BEBB8.unk48[i] = -0x7FFF;
}
- MapDisp_InitIMap(play);
+ MapDisp_InitMapI(play);
D_801BEBB8.unk58 = 0;
D_801BEBB8.unk5A = 0;
if (Map_IsInBossArea(play) != 0) {
@@ -568,7 +569,7 @@ void func_80104F34(PlayState* play) {
D_801BEBB8.unk48[i1] = -0x7FFF;
}
for (i2 = 0; i2 < D_801BEC1C; i2++) {
- MinimapEntry* mapEntry1 = &D_801BEBB8.unk0->entry[i2];
+ MinimapEntry* mapEntry1 = &D_801BEBB8.minimapList->entry[i2];
if (mapEntry1->mapId == 0xFFFF) {
continue;
@@ -599,7 +600,7 @@ void func_80104F34(PlayState* play) {
}
}
for (i2 = 0; i2 < D_801BEC1C; i2++) {
- MinimapEntry* mapEntry2 = &D_801BEBB8.unk0->entry[i2];
+ MinimapEntry* mapEntry2 = &D_801BEBB8.minimapList->entry[i2];
D_801BEBB8.unk3C[i2] = -1;
@@ -629,7 +630,7 @@ void func_80104F34(PlayState* play) {
s32 func_80105294(void) {
T_801BEC70 sp4 = D_801BEC70;
- if ((D_801BEBB8.unk0 == NULL) || (D_801BEBB8.unk58 < 0) || (D_801BEBB8.unk58 >= 5) || (D_801BEC1C == 0)) {
+ if ((D_801BEBB8.minimapList == NULL) || (D_801BEBB8.unk58 < 0) || (D_801BEBB8.unk58 >= 5) || (D_801BEC1C == 0)) {
return 0x7B;
}
return sp4.unk0[D_801BEBB8.unk58];
@@ -641,30 +642,27 @@ s16 func_80105318(void) {
// TransitionActor params test
s32 func_80105328(s32 params) {
- if (((((u16)params) >> 7) & 7) == 5) {
- return 1;
+ if (ENDOOR_PARAMS_GET_TYPE((u16)params) == ENDOOR_TYPE_5) {
+ return true;
}
- return 0;
+ return false;
}
void func_8010534C(PlayState* play) {
- TransitionActorList* transitionActors;
- TransitionActorEntry* var_s0;
+ TransitionActorList* transitionActors = &D_801BEC24;
s32 var_v0;
- s32 var_s2;
+ s32 i;
- transitionActors = &D_801BEC24;
-
- for (var_s2 = 0; var_s2 < transitionActors->count; var_s2++) {
- if (func_80105328(D_801F53B0[var_s2].params) != 0) {
- if (ABS_ALT(D_801F53B0[var_s2].id) != 0x18) {
+ for (i = 0; i < transitionActors->count; i++) {
+ if (func_80105328(D_801F53B0[i].params) != 0) {
+ if (ABS_ALT(D_801F53B0[i].id) != 0x18) {
for (var_v0 = 0; var_v0 < D_801BEBB8.unk40; var_v0++) {
s32 temp = (D_801BEBB8.unk48[var_v0] - 5); // needed for matching
- if (((var_v0 == D_801BEBB8.unk40 - 1) &&
- (D_801F53B0[var_s2].pos.y >= (D_801BEBB8.unk48[var_v0] - 5))) ||
- ((var_v0 != D_801BEBB8.unk40 - 1) &&
- (D_801F53B0[var_s2].pos.y >= (D_801BEBB8.unk48[var_v0] - 5)) &&
- (D_801F53B0[var_s2].pos.y < (D_801BEBB8.unk48[var_v0 + 1] - 5)))) {
+ if (((var_v0 == D_801BEBB8.unk40 - 1) && (D_801F53B0[i].pos.y >= (D_801BEBB8.unk48[var_v0] - 5)))
+
+ ||
+ ((var_v0 != D_801BEBB8.unk40 - 1) && (D_801F53B0[i].pos.y >= (D_801BEBB8.unk48[var_v0] - 5)) &&
+ (D_801F53B0[i].pos.y < (D_801BEBB8.unk48[var_v0 + 1] - 5)))) {
D_801BEBB8.unk58 = var_v0;
return;
}
@@ -692,15 +690,15 @@ void func_8010549C(PlayState* play, void* segmentAddress) {
D_801BEC14.entry = D_801F5130;
if (play->colCtx.colHeader != NULL) {
- D_801BEBB8.unk30 = play->colCtx.colHeader->minBounds.x;
- D_801BEBB8.unk32 = play->colCtx.colHeader->minBounds.z;
- D_801BEBB8.unk34 = play->colCtx.colHeader->maxBounds.x - play->colCtx.colHeader->minBounds.x;
- D_801BEBB8.unk36 = play->colCtx.colHeader->maxBounds.z - play->colCtx.colHeader->minBounds.z;
- D_801BEBB8.unk38 = D_801BEBB8.unk30 + (D_801BEBB8.unk34 * 0.5f);
- D_801BEBB8.unk3A = D_801BEBB8.unk32 + (D_801BEBB8.unk36 * 0.5f);
+ D_801BEBB8.sceneMinX = play->colCtx.colHeader->minBounds.x;
+ D_801BEBB8.sceneMinZ = play->colCtx.colHeader->minBounds.z;
+ D_801BEBB8.sceneWidth = play->colCtx.colHeader->maxBounds.x - play->colCtx.colHeader->minBounds.x;
+ D_801BEBB8.sceneHeight = play->colCtx.colHeader->maxBounds.z - play->colCtx.colHeader->minBounds.z;
+ D_801BEBB8.sceneMidX = D_801BEBB8.sceneMinX + (D_801BEBB8.sceneWidth * 0.5f);
+ D_801BEBB8.sceneMidZ = D_801BEBB8.sceneMinZ + (D_801BEBB8.sceneHeight * 0.5f);
}
}
- D_801BEBB8.unk0 = &D_801BEC14;
+ D_801BEBB8.minimapList = &D_801BEC14;
func_80104F34(play);
func_8010534C(play);
}
@@ -717,7 +715,7 @@ void func_8010565C(PlayState* play, s32 num, void* segmentAddress) {
D_801BEC20 = num;
}
D_801BEBB8.unk54 = D_801F5270;
- D_801BEBB8.unk50 = D_801BEC20;
+ D_801BEBB8.numChests = D_801BEC20;
}
void func_80105818(PlayState* play, s32 num, TransitionActorEntry* transitionActorList) {
@@ -735,19 +733,19 @@ void func_80105818(PlayState* play, s32 num, TransitionActorEntry* transitionAct
void MapDisp_Destroy(PlayState* play) {
s32 i;
- D_801BEBB8.unk0 = NULL;
+ D_801BEBB8.minimapList = NULL;
D_801BEBB8.curRoom = -1;
D_801BEBB8.unkC = 0xD2;
D_801BEBB8.unkE = 0x8C;
- D_801BEBB8.unk10 = NULL;
+ D_801BEBB8.lMapCurTex = NULL;
D_801BEBB8.prevRoom = -1;
- D_801BEBB8.unk18 = NULL;
+ D_801BEBB8.lMapPrevTex = NULL;
D_801BEBB8.unk1C = 0;
D_801BEBB8.unk1E = 0;
D_801BEBB8.unk20 = 0;
- D_801BEBB8.unk24 = 0;
- D_801BEBB8.unk28 = NULL;
- D_801BEBB8.unk2C = NULL;
+ D_801BEBB8.swapAnimTimer = 0;
+ D_801BEBB8.texBuff0 = NULL;
+ D_801BEBB8.texBuff1 = NULL;
for (i = 0; i < D_801BEC1C; i++) {
func_80102EA4(play, &D_801BEBB8.unk3C[i]);
@@ -759,9 +757,9 @@ void MapDisp_Destroy(PlayState* play) {
D_801BEBB8.unk44 = 0;
D_801BEBB8.unk4C = 0;
D_801BEBB8.unk48 = NULL;
- D_801BEBB8.unk50 = 0;
+ D_801BEBB8.numChests = 0;
D_801BEBB8.unk54 = NULL;
- MapDisp_DestroyIMap(play);
+ MapDisp_DestroyMapI(play);
D_801BEBB8.unk5A = 0;
}
@@ -770,39 +768,39 @@ void func_80105B34(PlayState* play) {
s16 temp_a0_2;
s16 temp_v1;
s16 temp_v1_2;
- s32 temp_v0;
- if ((D_801BEBB8.unk0 != NULL) && (D_801BEC1C != 0)) {
+ if ((D_801BEBB8.minimapList != NULL) && (D_801BEC1C != 0)) {
D_801BEBFA = 8 - play->pauseCtx.unk_256;
if (D_801BEBB8.prevRoom != -1) {
- temp_v0 = D_801BEBB8.unk24;
- if (temp_v0 > 0) {
+ if (D_801BEBB8.swapAnimTimer > 0) {
temp_v1 = D_801BEBB8.unk8;
temp_a0 = D_801BEBB8.unkC;
if (temp_v1 != temp_a0) {
- D_801BEBB8.unkC = (s16)(s32)(((f32)(temp_v1 - temp_a0) / (f32)temp_v0) + (f32)temp_a0);
+ D_801BEBB8.unkC =
+ (s16)(s32)(((f32)(temp_v1 - temp_a0) / (f32)D_801BEBB8.swapAnimTimer) + (f32)temp_a0);
}
temp_v1_2 = D_801BEBB8.unkA;
temp_a0_2 = D_801BEBB8.unkE;
if (temp_v1_2 != temp_a0_2) {
- D_801BEBB8.unkE = (s16)(s32)(((f32)(temp_v1_2 - temp_a0_2) / (f32)temp_v0) + (f32)temp_a0_2);
+ D_801BEBB8.unkE =
+ (s16)(s32)(((f32)(temp_v1_2 - temp_a0_2) / (f32)D_801BEBB8.swapAnimTimer) + (f32)temp_a0_2);
}
- D_801BEBB8.unk24 = temp_v0 - 1;
- return;
+ D_801BEBB8.swapAnimTimer--;
+ } else {
+ D_801BEBB8.prevRoom = -1;
+ D_801BEBB8.swapAnimTimer = 0;
+ D_801BEBB8.unkC = D_801BEBB8.unk8;
+ D_801BEBB8.unkE = D_801BEBB8.unkA;
}
- D_801BEBB8.prevRoom = -1;
- D_801BEBB8.unk24 = 0;
- D_801BEBB8.unkC = D_801BEBB8.unk8;
- D_801BEBB8.unkE = D_801BEBB8.unkA;
- return;
+ } else {
+ D_801BEBB8.swapAnimTimer = 0;
}
- D_801BEBB8.unk24 = 0;
}
}
-void func_80105C40(s16 room) {
- MinimapEntry* temp_s0;
- MinimapEntry* sp58;
+void MapDisp_SwapRooms(s16 nextRoom) {
+ MinimapEntry* nextMinimapEntry;
+ MinimapEntry* prevMinimapEntry;
s32 sp54;
s32 sp50;
s32 sp4C;
@@ -810,40 +808,41 @@ void func_80105C40(s16 room) {
s32 sp44;
s32 sp40;
- if ((D_801BEBB8.unk0 != NULL) && (D_801BEC1C != 0) && (room != -1)) {
- temp_s0 = &D_801BEBB8.unk0->entry[room];
- if ((temp_s0->mapId < 5) || ((temp_s0->mapId >= 0x100) && (temp_s0->mapId < 0x162)) ||
- temp_s0->mapId == 0xFFFF) {
+ if ((D_801BEBB8.minimapList != NULL) && (D_801BEC1C != 0) && (nextRoom != -1)) {
+ nextMinimapEntry = &D_801BEBB8.minimapList->entry[nextRoom];
+ if ((nextMinimapEntry->mapId < 5) ||
+ ((nextMinimapEntry->mapId >= 0x100) && (nextMinimapEntry->mapId < 0x162)) ||
+ nextMinimapEntry->mapId == 0xFFFF) {
D_801BEBB8.prevRoom = D_801BEBB8.curRoom;
- D_801BEBB8.curRoom = room;
- D_801BEBB8.unk24 = 0x14;
+ D_801BEBB8.curRoom = nextRoom;
+ D_801BEBB8.swapAnimTimer = 20;
- D_801BEBB8.unk18 = D_801BEBB8.unk10;
+ D_801BEBB8.lMapPrevTex = D_801BEBB8.lMapCurTex;
sp54 = D_801BEBB8.unk8;
sp50 = D_801BEBB8.unkA;
- temp_s0 = &D_801BEBB8.unk0->entry[D_801BEBB8.curRoom];
+ nextMinimapEntry = &D_801BEBB8.minimapList->entry[D_801BEBB8.curRoom];
- if (temp_s0->mapId == 0xFFFF) {
+ if (nextMinimapEntry->mapId == 0xFFFF) {
D_801BEBB8.unk1E = 0;
D_801BEBB8.unk8 = 0xD2;
D_801BEBB8.unkA = 0x8C;
D_801BEBB8.unkC = 0xD2;
D_801BEBB8.unkE = 0x8C;
- D_801BEBB8.unk10 = NULL;
+ D_801BEBB8.lMapCurTex = NULL;
D_801BEBB8.unk1C = D_801BEBB8.unk1E;
return;
}
- MapDisp_GetMapPos(temp_s0, &sp44, &sp40);
- MapDisp_GetMapTexDim(temp_s0, &sp4C, &sp48);
+ MapDisp_GetMapPos(nextMinimapEntry, &sp44, &sp40);
+ MapDisp_GetMapTexDim(nextMinimapEntry, &sp4C, &sp48);
D_801BEBB8.unk8 = 0x127 - sp4C;
D_801BEBB8.unkA = 0xDC - sp48;
if (D_801BEBB8.prevRoom != -1) {
- sp58 = &D_801BEBB8.unk0->entry[D_801BEBB8.prevRoom];
- if (sp58->mapId == 0xFFFF) {
+ prevMinimapEntry = &D_801BEBB8.minimapList->entry[D_801BEBB8.prevRoom];
+ if (prevMinimapEntry->mapId == 0xFFFF) {
D_801BEBB8.unk1E = 0;
- D_801BEBB8.unk10 = NULL;
+ D_801BEBB8.lMapCurTex = NULL;
D_801BEBB8.unk1C = D_801BEBB8.unk1E;
D_801BEBB8.unkC = D_801BEBB8.unk8;
D_801BEBB8.unkE = D_801BEBB8.unkA;
@@ -851,21 +850,23 @@ void func_80105C40(s16 room) {
} else {
s32 sp3C;
s32 sp38;
- s32 var_v0;
+ s32 scale;
s32 pad;
- MapDisp_GetMapPos(sp58, &sp3C, &sp38);
- var_v0 = D_801BEBB8.unk0->scale;
- if (D_801BEBB8.unk0->scale == 0) {
- var_v0 = 20;
- } else if (D_801BEBB8.unk0->scale == -1) {
- s32 sp2C;
- MapDisp_GetMapScale(temp_s0, &sp2C);
- var_v0 = sp2C;
+ MapDisp_GetMapPos(prevMinimapEntry, &sp3C, &sp38);
+ scale = D_801BEBB8.minimapList->scale;
+ if (D_801BEBB8.minimapList->scale == 0) {
+ scale = 20;
+ } else if (D_801BEBB8.minimapList->scale == -1) {
+ s32 scaleTemp;
+ MapDisp_GetMapScale(nextMinimapEntry, &scaleTemp);
+ scale = scaleTemp;
}
D_801BEBB8.unk1C = (s16)(s32)(
- ((f32)sp44 + (((f32)sp58->unk2 - (f32)temp_s0->unk2) * (1.0f / var_v0))) - (f32)sp3C);
+ ((f32)sp44 + (((f32)prevMinimapEntry->unk2 - (f32)nextMinimapEntry->unk2) * (1.0f / scale))) -
+ (f32)sp3C);
D_801BEBB8.unk1E = (s16)(s32)(
- ((f32)sp40 + (((f32)sp58->unk6 - (f32)temp_s0->unk6) * (1.0f / var_v0))) - (f32)sp38);
+ ((f32)sp40 + (((f32)prevMinimapEntry->unk6 - (f32)nextMinimapEntry->unk6) * (1.0f / scale))) -
+ (f32)sp38);
D_801BEBB8.unkC = sp54 - D_801BEBB8.unk1C;
D_801BEBB8.unkE = sp50 - D_801BEBB8.unk1E;
}
@@ -874,21 +875,21 @@ void func_80105C40(s16 room) {
D_801BEBB8.unkC = D_801BEBB8.unk8;
D_801BEBB8.unkE = D_801BEBB8.unkA;
}
- D_801BEBB8.unk10 = NULL;
+ D_801BEBB8.lMapCurTex = NULL;
- switch (func_80109714(temp_s0->mapId)) {
- case 0:
- D_801BEBB8.unk10 = func_8010958C(temp_s0->mapId);
+ switch (MapData_MID_GetType(nextMinimapEntry->mapId)) {
+ case MAPDATA_MID_GAMEPLAY_DANGEON_KEEP:
+ D_801BEBB8.lMapCurTex = MapData_GetMapTexGameplayDangeonKeep(nextMinimapEntry->mapId);
return;
- case 1:
- if (D_801BEBB8.unk18 == D_801BEBB8.unk28) {
- D_801BEBB8.unk10 = D_801BEBB8.unk2C;
+ case MAPDATA_MID_MAP_GRAND_STATIC:
+ if (D_801BEBB8.lMapPrevTex == D_801BEBB8.texBuff0) {
+ D_801BEBB8.lMapCurTex = D_801BEBB8.texBuff1;
} else {
- D_801BEBB8.unk10 = D_801BEBB8.unk28;
+ D_801BEBB8.lMapCurTex = D_801BEBB8.texBuff0;
}
- if (func_801096D4(temp_s0->mapId) != 0) {
- CmpDma_LoadFile(SEGMENT_ROM_START(map_grand_static), temp_s0->mapId - 0x100,
- (s32)D_801BEBB8.unk10, func_801096D4(temp_s0->mapId));
+ if (MapData_GetSizeOfMapGrandTex(nextMinimapEntry->mapId) != 0) {
+ CmpDma_LoadFile(SEGMENT_ROM_START(map_grand_static), nextMinimapEntry->mapId - 0x100,
+ D_801BEBB8.lMapCurTex, MapData_GetSizeOfMapGrandTex(nextMinimapEntry->mapId));
}
break;
}
@@ -908,15 +909,15 @@ void func_80105FE0(PlayState* play, s32 x, s32 z, s32 rot) {
s32 sp54;
s32 var_v0;
- sp6C = &D_801BEBB8.unk0->entry[D_801BEBB8.curRoom];
+ sp6C = &D_801BEBB8.minimapList->entry[D_801BEBB8.curRoom];
if (sp6C->mapId != 0xFFFF) {
f32 sp4C;
MapDisp_GetMapPos(sp6C, &sp60, &sp5C);
MapDisp_GetMapTexDim(sp6C, &sp58, &sp54);
- var_v0 = D_801BEBB8.unk0->scale;
- if (D_801BEBB8.unk0->scale == 0) {
+ var_v0 = D_801BEBB8.minimapList->scale;
+ if (D_801BEBB8.minimapList->scale == 0) {
var_v0 = 20;
- } else if (D_801BEBB8.unk0->scale == -1) {
+ } else if (D_801BEBB8.minimapList->scale == -1) {
s32 sp48;
MapDisp_GetMapScale(sp6C, &sp48);
var_v0 = sp48;
@@ -987,20 +988,20 @@ s32 func_80106530(PlayState* play) {
return false;
}
-s32 func_8010657C(s32 arg0, s32 arg1) {
+s32 func_8010657C(s32 curRoom, s32 prevRoom) {
MinimapEntry* entry;
s16* temp1; // Can be removed, but adds readability
- if ((arg0 == -1) || (arg1 == -1)) {
+ if ((curRoom == -1) || (prevRoom == -1)) {
return 0;
}
- entry = &D_801BEBB8.unk0->entry[arg0];
+ entry = &D_801BEBB8.minimapList->entry[curRoom];
temp1 = D_801BEBB8.unk3C;
- if ((temp1[arg0] <= temp1[arg1]) && (temp1[arg1] <= (temp1[arg0] + ((entry->unk8 >> 2) & 7)))) {
+ if ((temp1[curRoom] <= temp1[prevRoom]) && (temp1[prevRoom] <= (temp1[curRoom] + ((entry->unk8 >> 2) & 7)))) {
return 1;
}
- entry = &D_801BEBB8.unk0->entry[arg1];
- if ((temp1[arg1] <= temp1[arg0]) && (temp1[arg0] <= (temp1[arg1] + ((entry->unk8 >> 2) & 7)))) {
+ entry = &D_801BEBB8.minimapList->entry[prevRoom];
+ if ((temp1[prevRoom] <= temp1[curRoom]) && (temp1[curRoom] <= (temp1[prevRoom] + ((entry->unk8 >> 2) & 7)))) {
return 1;
}
return 0;
@@ -1009,16 +1010,17 @@ s32 func_8010657C(s32 arg0, s32 arg1) {
void func_80106644(PlayState* play, s32 x, s32 z, s32 rot) {
PauseContext* pauseCtx = &play->pauseCtx;
- if ((D_801BEBB8.unk0 != 0) && ((s32)pauseCtx->state < 4) && (XREG(95) == 0) &&
+ if ((D_801BEBB8.minimapList != 0) && ((s32)pauseCtx->state < 4) && (XREG(95) == 0) &&
(play->interfaceCtx.minimapAlpha != 0)) {
if ((func_801064CC(play) == 0) && (D_801BEC1C != 0)) {
if (func_80106450(play) != 0) {
- func_801031D0(play, D_801BEBB8.unk10, D_801BEBB8.unkC, D_801BEBB8.unkE, D_801BEBB8.curRoom,
- 1.0f - (D_801BEBB8.unk24 * 0.05f));
+ func_801031D0(play, D_801BEBB8.lMapCurTex, D_801BEBB8.unkC, D_801BEBB8.unkE, D_801BEBB8.curRoom,
+ 1.0f - (D_801BEBB8.swapAnimTimer * 0.05f));
if ((D_801BEBB8.curRoom != D_801BEBB8.prevRoom) &&
(func_8010657C(D_801BEBB8.curRoom, D_801BEBB8.prevRoom) != 0)) {
- func_801031D0(play, D_801BEBB8.unk18, D_801BEBB8.unkC + D_801BEBB8.unk1C,
- D_801BEBB8.unkE + D_801BEBB8.unk1E, D_801BEBB8.prevRoom, D_801BEBB8.unk24 * 0.05f);
+ func_801031D0(play, D_801BEBB8.lMapPrevTex, D_801BEBB8.unkC + D_801BEBB8.unk1C,
+ D_801BEBB8.unkE + D_801BEBB8.unk1E, D_801BEBB8.prevRoom,
+ D_801BEBB8.swapAnimTimer * 0.05f);
}
func_80104AE8(play);
}
@@ -1047,85 +1049,84 @@ void MapDisp_ResetIMap(void) {
D_801BEBB8.unk20 &= ~1;
}
-void MapDisp_InitIMap(PlayState* play) {
+void MapDisp_InitMapI(PlayState* play) {
MapDisp_ResetIMap();
}
-void MapDisp_DestroyIMap(PlayState* play) {
+void MapDisp_DestroyMapI(PlayState* play) {
MapDisp_ResetIMap();
}
// alloc pause screen dungeon map
void* func_801068FC(PlayState* play, void* heap) {
void* heapNext;
- s32 temp_s2;
- s32 temp_v0;
- s32 var_s1;
+ s32 mapId;
+ s32 mapCompactId;
+ s32 dungeonMapRoomIter;
s32 var_s2;
- s32 var_s4;
+ s32 roomIter;
MinimapEntry* entry;
s32 var_s3;
heapNext = heap;
- if ((D_801BEBB8.unk0 == NULL) || (D_801BEC1C == 0)) {
+ if ((D_801BEBB8.minimapList == NULL) || (D_801BEC1C == 0)) {
return heapNext;
}
D_801F56B0.rooms = 0;
// loop for number of rooms
- for (var_s4 = 0; var_s4 < D_801BEC1C; var_s4++) {
- var_s2 = 0;
- entry = &D_801BEBB8.unk0->entry[var_s4];
+ for (roomIter = 0; roomIter < D_801BEC1C; roomIter++) {
+ var_s2 = false;
+ entry = &D_801BEBB8.minimapList->entry[roomIter];
if (entry->mapId == 0xFFFF) {
continue;
- } else {
- temp_v0 = func_80109BA0(entry->mapId);
- if (temp_v0 == -1) {
- continue;
- } else {
- for (var_s1 = 0; var_s1 < D_801F56B0.rooms; var_s1++) {
- if (temp_v0 == D_801F56B0.unk4[var_s1]) {
- var_s2 = 1;
- break;
- }
- }
- if (var_s2 == 0) {
- D_801F56B0.unk4[D_801F56B0.rooms] = temp_v0;
- D_801F56B0.rooms += 1;
- }
+ }
+ mapCompactId = MapData_GetMapCompactId(entry->mapId);
+ if (mapCompactId == -1) {
+ continue;
+ }
+ for (dungeonMapRoomIter = 0; dungeonMapRoomIter < D_801F56B0.rooms; dungeonMapRoomIter++) {
+ if (mapCompactId == D_801F56B0.unk4[dungeonMapRoomIter]) {
+ var_s2 = true;
+ break;
}
}
+ if (var_s2 == false) {
+ D_801F56B0.unk4[D_801F56B0.rooms] = mapCompactId;
+ D_801F56B0.rooms += 1;
+ }
}
D_801F56B0.unk84[0] = heap;
- for (var_s1 = 0; var_s1 < D_801F56B0.rooms; var_s1++) {
- temp_s2 = D_801F56B0.unk4[var_s1];
- MapDisp_GetIMapTexture(D_801F56B0.unk84[var_s1], temp_s2);
- if (var_s1 + 1 < D_801F56B0.rooms) {
- D_801F56B0.unk84[var_s1 + 1] = ALIGN16((intptr_t)D_801F56B0.unk84[var_s1] + MapData_GetMapSize(temp_s2));
+ for (dungeonMapRoomIter = 0; dungeonMapRoomIter < D_801F56B0.rooms; dungeonMapRoomIter++) {
+ mapId = D_801F56B0.unk4[dungeonMapRoomIter];
+ MapDisp_GetMapITexture(D_801F56B0.unk84[dungeonMapRoomIter], mapId);
+ if (dungeonMapRoomIter + 1 < D_801F56B0.rooms) {
+ D_801F56B0.unk84[dungeonMapRoomIter + 1] =
+ ALIGN16((intptr_t)D_801F56B0.unk84[dungeonMapRoomIter] + MapData_CPID_GetSizeOfMapTex(mapId));
} else {
- heapNext = (intptr_t)D_801F56B0.unk84[var_s1] + MapData_GetMapSize(temp_s2);
+ heapNext = (intptr_t)D_801F56B0.unk84[dungeonMapRoomIter] + MapData_CPID_GetSizeOfMapTex(mapId);
}
}
- for (var_s4 = 0; var_s4 < D_801BEC1C; var_s4++) {
- entry = &D_801BEBB8.unk0->entry[var_s4];
+ for (roomIter = 0; roomIter < D_801BEC1C; roomIter++) {
+ entry = &D_801BEBB8.minimapList->entry[roomIter];
if (entry->mapId == 0xFFFF) {
- D_801F56B0.unk104[var_s4] = NULL;
+ D_801F56B0.unk104[roomIter] = NULL;
} else {
var_s3 = false;
- temp_v0 = func_80109BA0(entry->mapId);
- for (var_s1 = 0; var_s1 < D_801F56B0.rooms; var_s1++) {
- if (temp_v0 == D_801F56B0.unk4[var_s1]) {
+ mapCompactId = MapData_GetMapCompactId(entry->mapId);
+ for (dungeonMapRoomIter = 0; dungeonMapRoomIter < D_801F56B0.rooms; dungeonMapRoomIter++) {
+ if (mapCompactId == D_801F56B0.unk4[dungeonMapRoomIter]) {
var_s3 = true;
break;
}
}
if (!var_s3) {
- D_801F56B0.unk104[var_s4] = NULL;
+ D_801F56B0.unk104[roomIter] = NULL;
} else {
- void* dummy = D_801F56B0.unk84[var_s1]; //! FAKE:
+ void* dummy = D_801F56B0.unk84[dungeonMapRoomIter]; //! FAKE:
- D_801F56B0.unk104[var_s4] = D_801F56B0.unk84[var_s1];
+ D_801F56B0.unk104[roomIter] = D_801F56B0.unk84[dungeonMapRoomIter];
}
}
}
@@ -1205,10 +1206,10 @@ void func_80106D5C(PlayState* play, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
gDPSetTextureLUT(POLY_OPA_DISP++, G_TT_RGBA16);
for (var_s2 = 0; var_s2 < D_801BEC1C; var_s2++) {
- s32 sp118;
- s32 sp114;
- s32 sp110;
- s32 sp10C;
+ s32 sp118_texWidth;
+ s32 sp114_texHeight;
+ s32 sp110_offsetX;
+ s32 sp10C_offsetY;
MinimapEntry* sp108;
s32 pad104;
s32 sp100;
@@ -1221,66 +1222,70 @@ void func_80106D5C(PlayState* play, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
s32 padE4;
s32 padE0;
- sp108 = &D_801BEBB8.unk0->entry[var_s2];
+ sp108 = &D_801BEBB8.minimapList->entry[var_s2];
if ((sp108->mapId != 0xFFFF) && (sp108->mapId < 0x162)) {
if ((D_801BEBB8.unk42 >= D_801BEBB8.unk3C[var_s2]) &&
((D_801BEBB8.unk3C[var_s2] + ((sp108->unk8 >> 2) & 7)) >= D_801BEBB8.unk42)) {
temp_s1 = D_801F56B0.unk104[var_s2];
if (temp_s1 != NULL) {
- spE8 = func_80109BA0(sp108->mapId);
+ spE8 = MapData_GetMapCompactId(sp108->mapId);
if (spE8 == -1) {
continue;
} else {
// sp3C = play + 0x18000;
- func_80109D40(spE8, &sp118, &sp114);
- func_80109DD8(spE8, &sp110, &sp10C);
+ MapData_CPID_GetTexDim(spE8, &sp118_texWidth, &sp114_texHeight);
+ MapData_CPID_GetTexOffset(spE8, &sp110_offsetX, &sp10C_offsetY);
if (sp108->unk8 & 1) {
- sp110 = (sp118 / 2 - sp110) + sp118 / 2;
- sp100 = (sp118 - 1) << 5;
+ sp110_offsetX = (sp118_texWidth / 2 - sp110_offsetX) + sp118_texWidth / 2;
+ sp100 = (sp118_texWidth - 1) << 5;
spF8 = 0xFC00;
} else {
sp100 = 0;
spF8 = 0x400;
}
if (sp108->unk8 & 2) {
- sp10C = (sp114 / 2 - sp10C) + sp114 / 2;
- spFC = (sp114 - 1) << 5;
+ sp10C_offsetY = (sp114_texHeight / 2 - sp10C_offsetY) + sp114_texHeight / 2;
+ spFC = (sp114_texHeight - 1) << 5;
spF4 = 0xFC00;
} else {
spFC = 0;
spF4 = 0x400;
}
- spF0 = ((sp108->unk2 - (f32)D_801BEBB8.unk38) * arg5 - sp110) + ((arg3 / 2) + arg1);
- spEC = ((sp108->unk6 - (f32)D_801BEBB8.unk3A) * arg5 - sp10C) + ((arg4 / 2) + arg2);
+ spF0 = ((sp108->unk2 - (f32)D_801BEBB8.sceneMidX) * arg5 - sp110_offsetX) + ((arg3 / 2) + arg1);
+ spEC = ((sp108->unk6 - (f32)D_801BEBB8.sceneMidZ) * arg5 - sp10C_offsetY) + ((arg4 / 2) + arg2);
if (var_s2 == play->roomCtx.curRoom.num) {
if (Map_IsInBossArea(play) != 0) {
- gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118, sp114, 1,
- G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
- G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+ gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118_texWidth,
+ sp114_texHeight, 1, G_TX_NOMIRROR | G_TX_WRAP,
+ G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
+ G_TX_NOLOD);
} else {
- gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118, sp114, 2,
- G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
- G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+ gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118_texWidth,
+ sp114_texHeight, 2, G_TX_NOMIRROR | G_TX_WRAP,
+ G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
+ G_TX_NOLOD);
}
} else if (gSaveContext.save.saveInfo
.permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))]
.rooms &
(1 << var_s2)) {
- gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118, sp114, 1,
- G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
- G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+ gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118_texWidth,
+ sp114_texHeight, 1, G_TX_NOMIRROR | G_TX_WRAP,
+ G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
+ G_TX_NOLOD);
} else if (CHECK_DUNGEON_ITEM(
2,
arg6)) { //*(gBitFlags + 8) & gSaveContext.save.inventory.dungeonItems[arg6]) {
- gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118, sp114, 0,
- G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
- G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
+ gDPLoadTextureBlock_4b(POLY_OPA_DISP++, temp_s1, G_IM_FMT_CI, sp118_texWidth,
+ sp114_texHeight, 0, G_TX_NOMIRROR | G_TX_WRAP,
+ G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD,
+ G_TX_NOLOD);
} else {
continue;
}
- gSPTextureRectangle(POLY_OPA_DISP++, (spF0 << 2), (spEC << 2), (spF0 + sp118) << 2,
- (spEC + sp114) << 2, 0, sp100, spFC, spF8, spF4);
+ gSPTextureRectangle(POLY_OPA_DISP++, (spF0 << 2), (spEC << 2), (spF0 + sp118_texWidth) << 2,
+ (spEC + sp114_texHeight) << 2, 0, sp100, spFC, spF8, spF4);
gDPPipeSync(POLY_OPA_DISP++);
}
}
@@ -1410,10 +1415,10 @@ void func_80107B78(PlayState* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
var_s3 = 0;
var_s0 = D_801BEBB8.unk54;
- // if (D_801BEBB8.unk50 > 0) {
- for (var_s3 = 0; var_s3 < D_801BEBB8.unk50; var_s3++) {
+ // if (D_801BEBB8.numChests > 0) {
+ for (var_s3 = 0; var_s3 < D_801BEBB8.numChests; var_s3++) {
sp3C = var_s0[var_s3].unk0;
- sp38 = &D_801BEBB8.unk0->entry[sp3C];
+ sp38 = &D_801BEBB8.minimapList->entry[sp3C];
switch (arg0->sceneId) {
case SCENE_MITURIN_BS:
var_v1_2 = gSaveContext.cycleSceneFlags[SCENE_MITURIN].chest & (1 << var_s0[var_s3].unk2);
@@ -1437,9 +1442,9 @@ void func_80107B78(PlayState* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
} else if (func_80106BEC((s32)D_801BEBB8.unk42, (f32)var_s0[var_s3].unk6) == 0) {
continue;
} else {
- temp_ft0 = (s32)(((((f32)var_s0[var_s3].unk4 - (f32)D_801BEBB8.unk38) * arg5) - (f32)4) +
+ temp_ft0 = (s32)(((((f32)var_s0[var_s3].unk4 - (f32)D_801BEBB8.sceneMidX) * arg5) - (f32)4) +
(f32)((arg3 / 2) + arg1));
- temp_ft0_2 = (s32)(((((f32)var_s0[var_s3].unk8 - (f32)D_801BEBB8.unk3A) * arg5) - (f32)4) +
+ temp_ft0_2 = (s32)(((((f32)var_s0[var_s3].unk8 - (f32)D_801BEBB8.sceneMidZ) * arg5) - (f32)4) +
(f32)((arg4 / 2) + arg2));
// temp_v1_13 = temp_s1->polyOpa.p;
// temp_s1->polyOpa.p = temp_v1_13 + 8;
@@ -1482,17 +1487,19 @@ void func_80108124(PlayState* play, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
roomA = D_801F53B0[i].sides[0].room;
roomB = D_801F53B0[i].sides[1].room;
if (CHECK_DUNGEON_ITEM(2, gSaveContext.mapIndex) || (roomA < 0) ||
- (gSaveContext.save.saveInfo.permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))]
+ (gSaveContext.save.saveInfo
+ .permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))]
.rooms &
(1 << roomA)) ||
(roomB < 0) ||
- (gSaveContext.save.saveInfo.permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))]
+ (gSaveContext.save.saveInfo
+ .permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))]
.rooms &
(1 << roomB))) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, pauseCtx->alpha);
- tempX = ((f32)D_801F53B0[i].pos.x - D_801BEBB8.unk38) * arg5 + ((arg3 / 2) + arg1);
- tempY = ((f32)D_801F53B0[i].pos.z - D_801BEBB8.unk3A) * arg5 + ((arg4 / 2) + arg2);
+ tempX = ((f32)D_801F53B0[i].pos.x - D_801BEBB8.sceneMidX) * arg5 + ((arg3 / 2) + arg1);
+ tempY = ((f32)D_801F53B0[i].pos.z - D_801BEBB8.sceneMidZ) * arg5 + ((arg4 / 2) + arg2);
gSPTextureRectangle(POLY_OPA_DISP++, ((tempX - 1) << 2), ((tempY - 1) << 2), ((tempX + 1) << 2),
((tempY + 1) << 2), G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400);
}
@@ -1528,9 +1535,10 @@ void func_80108558(PlayState* arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, f32
if ((func_80105328((s32)D_801F53B0[var_s2].params) != 0) &&
(func_80106BEC((s32)D_801BEBB8.unk42, (f32)D_801F53B0[var_s2].pos.y) != 0)) {
if (ABS_ALT(D_801F53B0[var_s2].id) != ACTOR_EN_HOLL) {
- temp_ft0 = ((((f32)D_801F53B0[var_s2].pos.x - D_801BEBB8.unk38) * arg5) - 4) + ((arg3 / 2) + arg1);
+ temp_ft0 =
+ ((((f32)D_801F53B0[var_s2].pos.x - D_801BEBB8.sceneMidX) * arg5) - 4) + ((arg3 / 2) + arg1);
temp_ft0_2 =
- ((((f32)D_801F53B0[var_s2].pos.z - D_801BEBB8.unk3A) * arg5) - 4) + ((arg4 / 2) + arg2);
+ ((((f32)D_801F53B0[var_s2].pos.z - D_801BEBB8.sceneMidZ) * arg5) - 4) + ((arg4 / 2) + arg2);
gSPTextureRectangle(POLY_OPA_DISP++, temp_ft0 << 2, temp_ft0_2 << 2, (temp_ft0 + 8) << 2,
(temp_ft0_2 + 8) << 2, G_TX_RENDERTILE, 0, 0, 0x0400, 0x0400);
}
@@ -1583,7 +1591,7 @@ void func_80108AF8(PlayState* play) {
s32 var_s1;
s32 spB4 = 0;
- if ((D_801BEBB8.unk0 != NULL) && (D_801BEC1C != 0) && (func_80108A64(play) == 0)) {
+ if ((D_801BEBB8.minimapList != NULL) && (D_801BEC1C != 0) && (func_80108A64(play) == 0)) {
if (Map_IsInBossArea(play) != 0) {
switch (play->sceneId) {
case SCENE_MITURIN_BS:
@@ -1608,7 +1616,8 @@ void func_80108AF8(PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 200, pauseCtx->alpha);
for (var_s1 = 0; var_s1 < D_801BEBB8.unk40; var_s1++) {
- if ((gSaveContext.save.saveInfo.permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))].unk_14 &
+ if ((gSaveContext.save.saveInfo.permanentSceneFlags[Play_GetOriginalSceneId(func_80106D08(play->sceneId))]
+ .unk_14 &
gBitFlags[4 - var_s1]) ||
CHECK_DUNGEON_ITEM2(2, spB4)) {
gDPLoadTextureBlock(POLY_OPA_DISP++, func_80108A10(D_801BEBB8.unk44 + var_s1), G_IM_FMT_IA, G_IM_SIZ_8b,
@@ -1645,7 +1654,7 @@ void func_80108AF8(PlayState* play) {
}
s32 func_801090B0(s32 arg0) {
- if ((D_801BEBB8.unk0 == NULL) || (D_801BEC1C == 0)) {
+ if ((D_801BEBB8.minimapList == NULL) || (D_801BEC1C == 0)) {
return false;
}
if ((arg0 < 0) || (arg0 >= 6)) {
@@ -1660,7 +1669,7 @@ s32 func_801090B0(s32 arg0) {
s32 func_80109124(s16 arg0) {
s32 i;
- if ((D_801BEBB8.unk0 == NULL) || (D_801BEC1C == 0)) {
+ if ((D_801BEBB8.minimapList == NULL) || (D_801BEC1C == 0)) {
return -1;
}
if (D_801BEBB8.unk40 < 2) {
@@ -1709,11 +1718,11 @@ void func_801091F0(PlayState* play) {
} else {
sp44 = gSaveContext.mapIndex;
}
- temp_a0 = D_801BEBB8.unk0->entry->mapId;
+ temp_a0 = D_801BEBB8.minimapList->entry->mapId;
if ((temp_a0 != 0xFFFF) && (temp_a0 < 0x162)) {
- temp_v0_2 = func_80109BA0(temp_a0);
+ temp_v0_2 = MapData_GetMapCompactId(temp_a0);
if (temp_v0_2 != -1) {
- var_t2 = func_80109F78(temp_v0_2);
+ var_t2 = MapData_CPID_GetMapScale(temp_v0_2);
if (var_t2 == 0) {
var_t2 = 0x50;
}
diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c
index 534f9b2c3..0ca5a9683 100644
--- a/src/code/z_map_exp.c
+++ b/src/code/z_map_exp.c
@@ -152,7 +152,7 @@ void Map_InitRoomData(PlayState* play, s16 room) {
s32 mapIndex = gSaveContext.mapIndex;
InterfaceContext* interfaceCtx = &play->interfaceCtx;
- func_80105C40(room);
+ MapDisp_SwapRooms(room);
if (room >= 0) {
if (Map_IsInDungeonOrBossArea(play)) {
@@ -178,7 +178,7 @@ void Map_Init(PlayState* play) {
InterfaceContext* interfaceCtx = &play->interfaceCtx;
s32 dungeonIndex;
- func_80105C40(play->roomCtx.curRoom.num);
+ MapDisp_SwapRooms(play->roomCtx.curRoom.num);
interfaceCtx->unk_278 = -1;
interfaceCtx->dungeonOrBossAreaMapIndex = -1;
interfaceCtx->mapSegment = THA_AllocTailAlign16(&play->state.heap, 0x1000);
diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
index 3a64f9763..69f64156b 100644
--- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
+++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c
@@ -697,7 +697,8 @@ void DoorShutter_Draw(Actor* thisx, PlayState* play) {
}
if (sp44->unk_04 != 0) {
- TransitionActorEntry* transitionEntry = &play->transitionActors.list[DOOR_GET_TRANSITION_ID(&this->slidingDoor.dyna.actor)];
+ TransitionActorEntry* transitionEntry =
+ &play->transitionActors.list[DOOR_GET_TRANSITION_ID(&this->slidingDoor.dyna.actor)];
if ((play->roomCtx.prevRoom.num >= 0) ||
(transitionEntry->sides[0].room == transitionEntry->sides[1].room)) {
diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.h b/src/overlays/actors/ovl_En_Door/z_en_door.h
index 03dc31ab6..417dc69c4 100644
--- a/src/overlays/actors/ovl_En_Door/z_en_door.h
+++ b/src/overlays/actors/ovl_En_Door/z_en_door.h
@@ -9,6 +9,7 @@ struct EnDoor;
typedef void (*EnDoorActionFunc)(struct EnDoor*, PlayState*);
+#define ENDOOR_PARAMS_GET_TYPE(params) ((params >> 7) & 7)
#define ENDOOR_GET_TYPE(thisx) (((thisx)->params >> 7) & 7)
#define ENDOOR_GET_PARAM_7F(thisx) (((thisx)->params) & 0x7F)
diff --git a/tools/buildtools/makeyar.c b/tools/buildtools/makeyar.c
index 6a241f6f5..e064b2050 100644
--- a/tools/buildtools/makeyar.c
+++ b/tools/buildtools/makeyar.c
@@ -188,20 +188,26 @@ void createArchive(Bytearray *archive, const DataSection *dataSect) {
offset = firstEntryOffset;
for (i = 0; i < dataSect->symbols.len; i++) {
const struct Elf32_Symbol *sym = &dataSect->symbols.symbols[i];
- size_t uncompressedSize = sym->size;
- uint8_t *output = malloc(uncompressedSize * sizeof(uint8_t)); // assume compressed shouldn't be bigger than uncompressed
+ size_t realUncompressedSize = sym->size;
+ size_t alignedUncompressedSize = ALIGN16(realUncompressedSize);
+ uint8_t *inputBuf = malloc(alignedUncompressedSize* sizeof(uint8_t));
+ uint8_t *output = malloc(alignedUncompressedSize * sizeof(uint8_t)); // assume compressed shouldn't be bigger than uncompressed
size_t compressedSize;
+ memcpy(inputBuf, &dataSect->data.bytes[sym->value], realUncompressedSize);
+ if (realUncompressedSize < alignedUncompressedSize) {
+ memset(&inputBuf[realUncompressedSize], 0, alignedUncompressedSize - realUncompressedSize);
+ }
+
output[0] = 'Y';
output[1] = 'a';
output[2] = 'z';
output[3] = '0';
- util_write_uint32_be(&output[4], uncompressedSize);
+ util_write_uint32_be(&output[4], alignedUncompressedSize);
memset(&output[8], 0, 8);
compressedSize = 0x10;
- assert(sym->value + uncompressedSize <= dataSect->data.size);
- compressedSize += yaz0_encode(&dataSect->data.bytes[sym->value], &output[0x10], uncompressedSize);
+ compressedSize += yaz0_encode(inputBuf, &output[0x10], alignedUncompressedSize);
// Pad to 0x10
while (compressedSize % 0x10 != 0) {
diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt
index 3eaeca601..0f6f573c1 100644
--- a/tools/disasm/functions.txt
+++ b/tools/disasm/functions.txt
@@ -1901,7 +1901,7 @@
0x80102DBC:("ZeldaArena_Init",),
0x80102DEC:("ZeldaArena_Cleanup",),
0x80102E10:("ZeldaArena_IsInitialized",),
- 0x80102E40:("MapDisp_GetIMapTexture",),
+ 0x80102E40:("MapDisp_GetMapITexture",),
0x80102E90:("func_80102E90",),
0x80102EA4:("func_80102EA4",),
0x80102EB4:("func_80102EB4",),
@@ -1930,7 +1930,7 @@
0x80105818:("func_80105818",),
0x80105A40:("MapDisp_Destroy",),
0x80105B34:("func_80105B34",),
- 0x80105C40:("func_80105C40",),
+ 0x80105C40:("MapDisp_SwapRooms",),
0x80105FE0:("func_80105FE0",),
0x80106408:("func_80106408",),
0x80106450:("func_80106450",),
@@ -1939,8 +1939,8 @@
0x8010657C:("func_8010657C",),
0x80106644:("func_80106644",),
0x8010683C:("MapDisp_ResetIMap",),
- 0x801068B4:("MapDisp_InitIMap",),
- 0x801068D8:("MapDisp_DestroyIMap",),
+ 0x801068B4:("MapDisp_InitMapI",),
+ 0x801068D8:("MapDisp_DestroyMapI",),
0x801068FC:("func_801068FC",),
0x80106BEC:("func_80106BEC",),
0x80106D08:("func_80106D08",),
@@ -1955,45 +1955,45 @@
0x80109124:("func_80109124",),
0x801091F0:("func_801091F0",),
0x80109428:("func_80109428",),
- 0x801094A0:("func_801094A0",),
+ 0x801094A0:("MapData_GetMapColor",),
0x801094C8:("func_801094C8",),
- 0x801094F8:("func_801094F8",),
- 0x80109528:("func_80109528",),
- 0x8010954C:("func_8010954C",),
+ 0x801094F8:("MapData_GetMapTexOffsetGameplayDangeonKeep",),
+ 0x80109528:("MapData_GetMapDrawTypeGameplayDangeonKeep",),
+ 0x8010954C:("MapData_GetMapColorIndexGameplayDangeonKeep",),
0x8010956C:("func_8010956C",),
- 0x8010958C:("func_8010958C",),
- 0x801095AC:("MapData_GetMapTexDimGrandMap",),
- 0x801095DC:("func_801095DC",),
- 0x8010960C:("func_8010960C",),
- 0x80109630:("func_80109630",),
- 0x80109650:("func_80109650",),
- 0x80109670:("func_80109670",),
- 0x801096D4:("func_801096D4",),
- 0x80109714:("func_80109714",),
+ 0x8010958C:("MapData_GetMapTexGameplayDangeonKeep",),
+ 0x801095AC:("MapData_GetMapTexGameplayDangeonKeepDim",),
+ 0x801095DC:("MapData_GetMapTexGameplayDangeonKeepOffset",),
+ 0x8010960C:("MapData_GetMapGrandDrawType",),
+ 0x80109630:("MapData_GetMapGrandColorIndex",),
+ 0x80109650:("MapData_GetMapGrandScale",),
+ 0x80109670:("MapData_MapGrandTexSizeTest",),
+ 0x801096D4:("MapData_GetSizeOfMapGrandTex",),
+ 0x80109714:("MapData_MID_GetType",),
0x80109754:("MapData_GetMapTexDim",),
- 0x801097C8:("func_801097C8",),
+ 0x801097C8:("MapData_GetMapTexOffset",),
0x8010983C:("MapData_GetMapScale",),
- 0x801098A0:("func_801098A0",),
- 0x80109908:("func_80109908",),
+ 0x801098A0:("MapData_GetDrawType",),
+ 0x80109908:("MapData_GetMapColorIndex",),
0x80109964:("func_80109964",),
- 0x8010997C:("func_8010997C",),
- 0x801099AC:("func_801099AC",),
- 0x801099DC:("func_801099DC",),
- 0x80109A00:("func_80109A00",),
- 0x80109A20:("func_80109A20",),
- 0x80109A40:("func_80109A40",),
- 0x80109A98:("func_80109A98",),
- 0x80109AD8:("func_80109AD8",),
+ 0x8010997C:("MapData_GetMapITexDim",),
+ 0x801099AC:("MapData_GetMapITexOffset",),
+ 0x801099DC:("MapData_GetMapIDrawType",),
+ 0x80109A00:("MapData_GetMapIColorIndex",),
+ 0x80109A20:("MapData_GetMapIScale",),
+ 0x80109A40:("MapData_MapITexSizeTest",),
+ 0x80109A98:("MapDisp_GetSizeOfMapITex",),
+ 0x80109AD8:("MapData_GetMapIId",),
0x80109B38:("func_80109B38",),
- 0x80109BA0:("func_80109BA0",),
- 0x80109BF4:("func_80109BF4",),
+ 0x80109BA0:("MapData_GetMapCompactId",),
+ 0x80109BF4:("MapData_CPID_GetType",),
0x80109C38:("func_80109C38",),
- 0x80109CBC:("MapData_GetMapSize",),
- 0x80109D40:("func_80109D40",),
- 0x80109DD8:("func_80109DD8",),
- 0x80109E70:("func_80109E70",),
- 0x80109EF8:("func_80109EF8",),
- 0x80109F78:("func_80109F78",),
+ 0x80109CBC:("MapData_CPID_GetSizeOfMapTex",),
+ 0x80109D40:("MapData_CPID_GetTexDim",),
+ 0x80109DD8:("MapData_CPID_GetTexOffset",),
+ 0x80109E70:("MapData_CPID_GetDrawType",),
+ 0x80109EF8:("MapData_CPID_GetMapColorIndex",),
+ 0x80109F78:("MapData_CPID_GetMapScale",),
0x8010A000:("Map_GetDungeonOrBossAreaIndex",),
0x8010A074:("Map_IsInDungeonOrBossAreaArea",),
0x8010A0A4:("func_8010A0A4",),
diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt
index 06d554b09..99610b6c7 100644
--- a/tools/disasm/variables.txt
+++ b/tools/disasm/variables.txt
@@ -1014,13 +1014,13 @@
0x801BECE4:("D_801BECE4","UNK_TYPE1","",0x1C),
0x801BED00:("D_801BED00","UNK_TYPE1","",0x24),
0x801BED24:("D_801BED24","UNK_TYPE2","",0x18),
- 0x801BED40:("D_801BED40","UNK_TYPE1","",0x1),
- 0x801BED4C:("D_801BED4C","UNK_TYPE1","",0x3C),
- 0x801BED88:("D_801BED88","UNK_TYPE1","",0x1),
+ 0x801BED40:("mapColorTable","UNK_TYPE1","",0x1),
+ 0x801BED4C:("gameplay_dangeon_keep_Info","UNK_TYPE1","",0x3C),
+ 0x801BED88:("map_grand_static_Info","UNK_TYPE1","",0x1),
0x801BF15C:("D_801BF15C","UNK_TYPE1","",0x1),
- 0x801BF170:("D_801BF170","UNK_TYPE1","",0x244),
- 0x801BF3B4:("D_801BF3B4","s32","",0x14),
- 0x801BF3C8:("D_801BF3C8","s32","",0x188),
+ 0x801BF170:("map_i_static_Info","UNK_TYPE1","",0x244),
+ 0x801BF3B4:("map_i_for_gameplay_dangeon_keep","s32","",0x14),
+ 0x801BF3C8:("map_i_for_map_grand","s32","",0x188),
0x801BF550:("D_801BF550","UNK_TYPE2","",0x2),
0x801BF554:("D_801BF554","UNK_TYPE2","",0x2),
0x801BF558:("D_801BF558","UNK_TYPE2","",0x2),
diff --git a/tools/overlayhelpers/mapdata.py b/tools/overlayhelpers/mapdata.py
index 26c91dfa2..2799bc5f3 100755
--- a/tools/overlayhelpers/mapdata.py
+++ b/tools/overlayhelpers/mapdata.py
@@ -3,15 +3,15 @@
# Extracts z_map_data.c data
import argparse, os, struct, math
-D_801BF170_ROM = 0x1196B0
+map_i_static_Info_ROM = 0x1196B0
CODE_START_VRAM = 0x800A5AC0
MAP_DATA_DATA_START = 0x801BED40
MAP_DATA_DATA_END = 0x801BF550
typeInfo = {
"Color_RGBA8" : [ 0x04, ">BBBB", "{{ {0}, {1}, {2}, {3} }}" ],
- "T_801BED4C" : [ 0x0C, ">IBBBBBBh", "{{ D_{0:08X}, {1}, {2}, {3}, {4}, 0x{5:02X}, 0x{6:02X}, {7} }}"],
- "T_801BF170" : [ 0x0A, ">BBhhBBh", "{{ {0}, {1}, {2}, {3}, 0x{4:02X}, 0x{5:02X}, {6} }}"],
+ "MapSpriteInfo2" : [ 0x0C, ">IBBBBBBh", "{{ D_{0:08X}, {1}, {2}, {3}, {4}, MAPDATA_DRAW_{5}, {6}, {7} }}"],
+ "MapSpriteInfo" : [ 0x0A, ">BBhhBBh", "{{ {0}, {1}, {2}, {3}, MAPDATA_DRAW_{4}, {5}, {6} }}"],
"s32" : [ 0x04, ">I", "0x{0:02X}"]
}
@@ -27,10 +27,10 @@ def GetDataOff(vram):
def dumpList(data, vram, keyword, typeKey, varName, length):
if keyword is None:
keyword = ""
- else:
+ else:
keyword = f"{keyword} "
cstr = f"{keyword}{typeKey} {varName}[{length}] = {{\n"
-
+
ty = typeInfo[typeKey]
off = GetDataOff(vram)
for i in range(length):
@@ -41,6 +41,54 @@ def dumpList(data, vram, keyword, typeKey, varName, length):
return cstr
+def dumpMapGrandStatic(data, vram, typeKey, length):
+ xmlStr = "\n"
+ ty = typeInfo[typeKey]
+ off = GetDataOff(vram)
+ mapId = 0x100
+ textureOff = 0
+
+ for i in range(length):
+ val = struct.unpack_from(ty[1], data, off)
+ off += ty[0]
+ textureWidth = val[0]
+ textureHeight = val[1]
+
+ xmlStr += f' \n'
+ # inc cursors
+
+ textureOff += textureWidth * textureHeight // 2
+ textureOff = ((textureOff + 0xF) // 0x10) * 0x10
+ mapId += 1
+
+
+ xmlStr += "};\n"
+ return xmlStr
+
+def dumpMapIStatic(data, vram, typeKey, length):
+ xmlStr = "\n"
+ ty = typeInfo[typeKey]
+ off = GetDataOff(vram)
+ mapId = 0x0
+ textureOff = 0
+
+ for i in range(length):
+ val = struct.unpack_from(ty[1], data, off)
+ off += ty[0]
+ textureWidth = val[0]
+ textureHeight = val[1]
+
+ xmlStr += f' \n'
+ # inc cursors
+
+ textureOff += textureWidth * textureHeight // 2
+ textureOff = ((textureOff + 0xF) // 0x10) * 0x10
+ mapId += 1
+
+
+ xmlStr += "};\n"
+ return xmlStr
+
def dump():
data = []
@@ -49,13 +97,16 @@ def dump():
codefile.seek(GetCodeOff(MAP_DATA_DATA_START))
data = codefile.read(MAP_DATA_DATA_END - MAP_DATA_DATA_START)
- cstr += dumpList(data, 0x801BED40, "static", "Color_RGBA8", "D_801BED40", 3)
- cstr += dumpList(data, 0x801BED4C, "static", "T_801BED4C", "D_801BED4C", 5)
- cstr += dumpList(data, 0x801BED88, "static", "T_801BF170", "D_801BED88", 0x62)
+ cstr += dumpList(data, 0x801BED40, "static", "Color_RGBA8", "mapColorTable", 3)
+ cstr += dumpList(data, 0x801BED4C, "static", "MapSpriteInfo2", "gameplay_dangeon_keep_Info", 5)
+ cstr += dumpList(data, 0x801BED88, "static", "MapSpriteInfo", "map_grand_static_Info", 98)
cstr += dumpList(data, 0x801BF15C, "static", "s32", "D_801BF15C", 5)
- cstr += dumpList(data, 0x801BF170, "static", "T_801BF170", "D_801BF170", 0x3A)
- cstr += dumpList(data, 0x801BF3B4, "static", "s32", "D_801BF3B4", 5)
- cstr += dumpList(data, 0x801BF3C8, "static", "s32", "D_801BF3C8", 0x62)
+ cstr += dumpList(data, 0x801BF170, "static", "MapSpriteInfo", "map_i_static_Info", 58)
+ cstr += dumpList(data, 0x801BF3B4, "static", "s32", "map_i_for_gameplay_dangeon_keep", 5)
+ cstr += dumpList(data, 0x801BF3C8, "static", "s32", "map_i_for_map_grand", 98)
+
+ cstr += dumpMapGrandStatic(data, 0x801BED88, "MapSpriteInfo", 98)
+ cstr += dumpMapIStatic(data, 0x801BF170, "MapSpriteInfo", 58)
print(cstr)
diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv
index 42d1e5f0b..2d023a046 100644
--- a/tools/sizes/code_functions.csv
+++ b/tools/sizes/code_functions.csv
@@ -1444,7 +1444,7 @@ asm/non_matchings/code/z_map_disp/func_8010565C.s,func_8010565C,0x8010565C,0x6F
asm/non_matchings/code/z_map_disp/func_80105818.s,func_80105818,0x80105818,0x8A
asm/non_matchings/code/z_map_disp/func_80105A40.s,func_80105A40,0x80105A40,0x3D
asm/non_matchings/code/z_map_disp/func_80105B34.s,func_80105B34,0x80105B34,0x43
-asm/non_matchings/code/z_map_disp/func_80105C40.s,func_80105C40,0x80105C40,0xE8
+asm/non_matchings/code/z_map_disp/MapDisp_SwapRooms.s,MapDisp_SwapRooms,0x80105C40,0xE8
asm/non_matchings/code/z_map_disp/func_80105FE0.s,func_80105FE0,0x80105FE0,0x10A
asm/non_matchings/code/z_map_disp/func_80106408.s,func_80106408,0x80106408,0x12
asm/non_matchings/code/z_map_disp/func_80106450.s,func_80106450,0x80106450,0x1F
@@ -1469,45 +1469,45 @@ asm/non_matchings/code/z_map_disp/func_801090B0.s,func_801090B0,0x801090B0,0x1D
asm/non_matchings/code/z_map_disp/func_80109124.s,func_80109124,0x80109124,0x33
asm/non_matchings/code/z_map_disp/func_801091F0.s,func_801091F0,0x801091F0,0x8E
asm/non_matchings/code/z_map_disp/func_80109428.s,func_80109428,0x80109428,0x1E
-asm/non_matchings/code/z_map_data/func_801094A0.s,func_801094A0,0x801094A0,0xA
+asm/non_matchings/code/z_map_data/MapData_GetMapColor.s,MapData_GetMapColor,0x801094A0,0xA
asm/non_matchings/code/z_map_data/func_801094C8.s,func_801094C8,0x801094C8,0xC
-asm/non_matchings/code/z_map_data/func_801094F8.s,func_801094F8,0x801094F8,0xC
-asm/non_matchings/code/z_map_data/func_80109528.s,func_80109528,0x80109528,0x9
-asm/non_matchings/code/z_map_data/func_8010954C.s,func_8010954C,0x8010954C,0x8
+asm/non_matchings/code/z_map_data/MapData_GetMapTexOffsetGameplayDangeonKeep.s,MapData_GetMapTexOffsetGameplayDangeonKeep,0x801094F8,0xC
+asm/non_matchings/code/z_map_data/MapData_GetMapDrawTypeGameplayDangeonKeep.s,MapData_GetMapDrawTypeGameplayDangeonKeep,0x80109528,0x9
+asm/non_matchings/code/z_map_data/MapData_GetMapColorIndexGameplayDangeonKeep.s,MapData_GetMapColorIndexGameplayDangeonKeep,0x8010954C,0x8
asm/non_matchings/code/z_map_data/func_8010956C.s,func_8010956C,0x8010956C,0x8
-asm/non_matchings/code/z_map_data/func_8010958C.s,func_8010958C,0x8010958C,0x8
+asm/non_matchings/code/z_map_data/MapData_GetMapTexGameplayDangeonKeep.s,MapData_GetMapTexGameplayDangeonKeep,0x8010958C,0x8
asm/non_matchings/code/z_map_data/func_801095AC.s,func_801095AC,0x801095AC,0xC
-asm/non_matchings/code/z_map_data/func_801095DC.s,func_801095DC,0x801095DC,0xC
-asm/non_matchings/code/z_map_data/func_8010960C.s,func_8010960C,0x8010960C,0x9
-asm/non_matchings/code/z_map_data/func_80109630.s,func_80109630,0x80109630,0x8
-asm/non_matchings/code/z_map_data/func_80109650.s,func_80109650,0x80109650,0x8
-asm/non_matchings/code/z_map_data/func_80109670.s,func_80109670,0x80109670,0x19
-asm/non_matchings/code/z_map_data/func_801096D4.s,func_801096D4,0x801096D4,0x10
-asm/non_matchings/code/z_map_data/func_80109714.s,func_80109714,0x80109714,0x10
+asm/non_matchings/code/z_map_data/MapData_GetMapTexGameplayDangeonKeepOffset.s,MapData_GetMapTexGameplayDangeonKeepOffset,0x801095DC,0xC
+asm/non_matchings/code/z_map_data/MapData_GetMapGrandDrawType.s,MapData_GetMapGrandDrawType,0x8010960C,0x9
+asm/non_matchings/code/z_map_data/MapData_GetMapGrandColorIndex.s,MapData_GetMapGrandColorIndex,0x80109630,0x8
+asm/non_matchings/code/z_map_data/MapData_GetMapGrandScale.s,MapData_GetMapGrandScale,0x80109650,0x8
+asm/non_matchings/code/z_map_data/MapData_MapGrandTexSizeTest.s,MapData_MapGrandTexSizeTest,0x80109670,0x19
+asm/non_matchings/code/z_map_data/MapData_GetSizeOfMapGrandTex.s,MapData_GetSizeOfMapGrandTex,0x801096D4,0x10
+asm/non_matchings/code/z_map_data/MapData_MID_GetType.s,MapData_MID_GetType,0x80109714,0x10
asm/non_matchings/code/z_map_data/func_80109754.s,func_80109754,0x80109754,0x1D
-asm/non_matchings/code/z_map_data/func_801097C8.s,func_801097C8,0x801097C8,0x1D
+asm/non_matchings/code/z_map_data/MapData_GetMapTexOffset.s,MapData_GetMapTexOffset,0x801097C8,0x1D
asm/non_matchings/code/z_map_data/func_8010983C.s,func_8010983C,0x8010983C,0x19
-asm/non_matchings/code/z_map_data/func_801098A0.s,func_801098A0,0x801098A0,0x1A
-asm/non_matchings/code/z_map_data/func_80109908.s,func_80109908,0x80109908,0x17
+asm/non_matchings/code/z_map_data/MapData_GetDrawType.s,MapData_GetDrawType,0x801098A0,0x1A
+asm/non_matchings/code/z_map_data/MapData_GetMapColorIndex.s,MapData_GetMapColorIndex,0x80109908,0x17
asm/non_matchings/code/z_map_data/func_80109964.s,func_80109964,0x80109964,0x6
-asm/non_matchings/code/z_map_data/func_8010997C.s,func_8010997C,0x8010997C,0xC
-asm/non_matchings/code/z_map_data/func_801099AC.s,func_801099AC,0x801099AC,0xC
-asm/non_matchings/code/z_map_data/func_801099DC.s,func_801099DC,0x801099DC,0x9
-asm/non_matchings/code/z_map_data/func_80109A00.s,func_80109A00,0x80109A00,0x8
-asm/non_matchings/code/z_map_data/func_80109A20.s,func_80109A20,0x80109A20,0x8
-asm/non_matchings/code/z_map_data/func_80109A40.s,func_80109A40,0x80109A40,0x16
-asm/non_matchings/code/z_map_data/func_80109A98.s,func_80109A98,0x80109A98,0x10
-asm/non_matchings/code/z_map_data/func_80109AD8.s,func_80109AD8,0x80109AD8,0x18
+asm/non_matchings/code/z_map_data/MapData_GetMapITexDim.s,MapData_GetMapITexDim,0x8010997C,0xC
+asm/non_matchings/code/z_map_data/MapData_GetMapITexOffset.s,MapData_GetMapITexOffset,0x801099AC,0xC
+asm/non_matchings/code/z_map_data/MapData_GetMapIDrawType.s,MapData_GetMapIDrawType,0x801099DC,0x9
+asm/non_matchings/code/z_map_data/MapData_GetMapIColorIndex.s,MapData_GetMapIColorIndex,0x80109A00,0x8
+asm/non_matchings/code/z_map_data/MapData_GetMapIScale.s,MapData_GetMapIScale,0x80109A20,0x8
+asm/non_matchings/code/z_map_data/MapData_MapITexSizeTest.s,MapData_MapITexSizeTest,0x80109A40,0x16
+asm/non_matchings/code/z_map_data/MapDisp_GetSizeOfMapITex.s,MapDisp_GetSizeOfMapITex,0x80109A98,0x10
+asm/non_matchings/code/z_map_data/MapData_GetMapIId.s,MapData_GetMapIId,0x80109AD8,0x18
asm/non_matchings/code/z_map_data/func_80109B38.s,func_80109B38,0x80109B38,0x1A
-asm/non_matchings/code/z_map_data/func_80109BA0.s,func_80109BA0,0x80109BA0,0x15
-asm/non_matchings/code/z_map_data/func_80109BF4.s,func_80109BF4,0x80109BF4,0x11
+asm/non_matchings/code/z_map_data/MapData_GetMapCompactId.s,MapData_GetMapCompactId,0x80109BA0,0x15
+asm/non_matchings/code/z_map_data/MapData_CPID_GetType.s,MapData_CPID_GetType,0x80109BF4,0x11
asm/non_matchings/code/z_map_data/func_80109C38.s,func_80109C38,0x80109C38,0x21
asm/non_matchings/code/z_map_data/func_80109CBC.s,func_80109CBC,0x80109CBC,0x21
-asm/non_matchings/code/z_map_data/func_80109D40.s,func_80109D40,0x80109D40,0x26
-asm/non_matchings/code/z_map_data/func_80109DD8.s,func_80109DD8,0x80109DD8,0x26
-asm/non_matchings/code/z_map_data/func_80109E70.s,func_80109E70,0x80109E70,0x22
-asm/non_matchings/code/z_map_data/func_80109EF8.s,func_80109EF8,0x80109EF8,0x20
-asm/non_matchings/code/z_map_data/func_80109F78.s,func_80109F78,0x80109F78,0x22
+asm/non_matchings/code/z_map_data/MapData_CPID_GetTexDim.s,MapData_CPID_GetTexDim,0x80109D40,0x26
+asm/non_matchings/code/z_map_data/MapData_CPID_GetTexOffset.s,MapData_CPID_GetTexOffset,0x80109DD8,0x26
+asm/non_matchings/code/z_map_data/MapData_CPID_GetDrawType.s,MapData_CPID_GetDrawType,0x80109E70,0x22
+asm/non_matchings/code/z_map_data/MapData_CPID_GetMapColorIndex.s,MapData_CPID_GetMapColorIndex,0x80109EF8,0x20
+asm/non_matchings/code/z_map_data/MapData_CPID_GetMapScale.s,MapData_CPID_GetMapScale,0x80109F78,0x22
asm/non_matchings/code/z_map_exp/Map_GetDungeonOrBossAreaIndex.s,Map_GetDungeonOrBossAreaIndex,0x8010A000,0x1D
asm/non_matchings/code/z_map_exp/Map_IsInDungeonOrBossArea.s,Map_IsInDungeonOrBossArea,0x8010A074,0xC
asm/non_matchings/code/z_map_exp/func_8010A0A4.s,func_8010A0A4,0x8010A0A4,0x13