z_map_disp OK, implement more suggestions

This commit is contained in:
mzxrules
2023-10-16 05:07:21 -04:00
parent f605759ae5
commit 0e374ca1a0
10 changed files with 481 additions and 733 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
<DList Name="gDoorChainDL" Offset="0x230" /> <!-- Original name is "doorkusari_model" ("chain") -->
<Texture Name="gDoorLockTex" OutName="door_lock" Format="rgba16" Width="32" Height="32" Offset="0x2C0" />
<Texture Name="gBossDoorLockTex" OutName="boss_door_lock" Format="rgba16" Width="32" Height="32" Offset="0xAC0" />
<Texture Name="gDoorChainTex" OutName="door_chain" Format="rgba16" Width="16" Height="128" Offset="0x12C0" />
<Texture Name="gDoorChainTex" OutName="door_chain" Format="rgba16" Width="16" Height="128" Offset="0x12C0" />
<Texture Name="gameplay_dangeon_keep_Tex_0022C8" OutName="tex_0022C8" Format="i4" Width="96" Height="85" Offset="0x22C8" />
<Texture Name="gameplay_dangeon_keep_Tex_0032C8" OutName="tex_0032C8" Format="i4" Width="96" Height="85" Offset="0x32C8" />
<Texture Name="gameplay_dangeon_keep_Tex_0042C8" OutName="tex_0042C8" Format="i4" Width="96" Height="85" Offset="0x42C8" />
-105
View File
@@ -588,111 +588,6 @@ s32 ZeldaArena_Check(void);
void ZeldaArena_Init(void* start, size_t size);
void ZeldaArena_Cleanup(void);
u8 ZeldaArena_IsInitialized(void);
// void func_80102E40(void);
// void func_80102E90(void);
// void func_80102EA4(void);
void func_80102EB4(u32 param_1);
void func_80102ED0(u32 param_1);
s32 func_80102EF0(PlayState* play);
// void func_80102F9C(void);
// void func_80103090(void);
// void func_801030B4(void);
// void func_801030F4(void);
// void func_801031D0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80103A10(void);
// void func_80103A58(void);
// void func_8010439C(void);
// void func_801045AC(void);
// void func_80104AE8(void);
// void func_80104C80(void);
void MapDisp_Init(PlayState* play);
// void func_80104F34(void);
s32 func_80105294(void);
s16 func_80105318(void);
// void func_80105328(void);
// void func_8010534C(void);
void func_8010549C(PlayState* play, void* segmentAddress);
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 MapDisp_SwapRooms(s16 nextRoom);
// void func_80105FE0(void);
// void func_80106408(void);
// void func_80106450(void);
// void func_801064CC(void);
s32 func_80106530(PlayState* play);
// void func_8010657C(void);
void func_80106644(PlayState* play, s32 x, s32 z, s32 rot);
// void func_8010683C(void);
void* func_801068FC(PlayState* play, void* heap);
// void func_80106BEC(void);
// void func_80106D08(void);
// void func_80106D5C(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_80107B78(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80108124(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6);
// void func_80108558(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6, UNK_TYPE4 param_7);
// void func_80108A10(void);
// void func_80108A64(void);
void func_80108AF8(PlayState* play);
s32 func_801090B0(s32 arg0);
s32 func_80109124(s16 arg0);
void func_801091F0(PlayState* play);
void func_80109428(PlayState* play);
void MapData_GetMapColor(s32 colorIndex, Color_RGBA8* color);
// void func_801094C8(void);
// void MapData_GetMapTexOffsetGameplayDangeonKeep(void);
// void MapData_GetMapDrawTypeGameplayDangeonKeep(void);
// void MapData_GetMapColorIndexGameplayDangeonKeep(void);
// void func_8010956C(void);
// void MapData_GetMapTexGameplayDangeonKeep(void);
// void func_801095AC(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 MapData_GetMapTexOffset(void);
// void func_8010983C(void);
// void MapData_GetDrawType(void);
// void MapData_GetMapColorIndex(void);
// UNK_TYPE4 func_80109964(s32 param_1);
// 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 MapData_GetMapCompactId(void);
// void MapData_CPID_GetType(void);
// void func_80109C38(void);
// void MapData_GetIMapSize(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);
// void Map_GetDungeonAreaIndex(PlayState* play);
// void Map_IsInDungeonArea(PlayState* play);
// void Map_GetBossAreaIndex(PlayState* play);
s32 Map_IsInBossArea(PlayState* play);
// void func_8010A238(void);
// void func_8010A2AC(void);
void Minimap_SavePlayerRoomInitInfo(PlayState* play);
void Map_InitRoomData(PlayState* play, s16 room);
void Map_Destroy(PlayState* play);
void Map_Init(PlayState* play);
void Minimap_Draw(PlayState* play);
void Map_Update(PlayState* play);
// void func_8010A760(void);
// void func_8010A7CC(void);
// void func_8010A814(void);
+1 -55
View File
@@ -100,62 +100,8 @@ extern BgSpecialSceneMaxObjects sCustomDynapolyMem[];
extern u8 kanfontOrdering[92];
// extern actor_init_var_func sInitChainHandlers[11];
// extern UNK_TYPE4 D_801BEAD4;
// extern UNK_TYPE4 D_801BEAD8;
// extern UNK_TYPE1 D_801BEAE0;
// extern UNK_TYPE4 D_801BEAF4;
// extern UNK_TYPE4 D_801BEAF8;
// extern UNK_TYPE4 D_801BEB04;
// extern UNK_TYPE4 D_801BEB08;
// extern UNK_TYPE4 D_801BEB14;
// extern UNK_TYPE4 D_801BEB18;
// extern UNK_TYPE4 D_801BEB24;
// extern UNK_TYPE4 D_801BEB28;
// extern UNK_TYPE1 D_801BEB38;
// extern UNK_TYPE4 D_801BEBB8;
// extern UNK_TYPE4 D_801BEBD8;
// extern UNK_TYPE2 D_801BEBF8;
// extern UNK_TYPE2 D_801BEBFA;
// extern UNK_TYPE2 D_801BEBFC;
// extern UNK_TYPE2 D_801BEC10;
extern MinimapList D_801BEC14;
// extern UNK_TYPE4 D_801BEC1C;
// extern UNK_TYPE4 D_801BEC20;
// extern UNK_TYPE1 D_801BEC24;
// extern UNK_TYPE1 D_801BEC2C;
// extern UNK_TYPE2 D_801BEC5C;
// extern UNK_TYPE2 D_801BEC5E;
// extern UNK_TYPE4 D_801BEC70;
// extern UNK_TYPE1 D_801BEC84;
// extern UNK_TYPE1 D_801BECA4;
// extern UNK_TYPE1 D_801BECC4;
// extern UNK_TYPE1 D_801BECE4;
// extern UNK_TYPE1 D_801BED00;
// extern UNK_TYPE2 D_801BED24;
// extern UNK_TYPE1 D_801BED3C;
// 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 map_grand_static_Info;
// extern UNK_TYPE1 D_801BEFC8;
// extern UNK_TYPE1 D_801BF15C;
// 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 map_i_for_gameplay_dangeon_keep;
// extern UNK_TYPE2 D_801BF550;
// extern UNK_TYPE2 D_801BF554;
// extern UNK_TYPE2 D_801BF558;
// extern UNK_TYPE4 D_801BF55C;
// extern UNK_TYPE4 D_801BF580;
// extern UNK_TYPE4 D_801BF594;
// extern UNK_TYPE4 D_801BF5A4;
// extern UNK_TYPE2 D_801BF5B0;
extern UNK_PTR D_801BF5C0;
// extern UNK_TYPE1 D_801BF68C;
extern FlexSkeletonHeader* gPlayerSkeletons[PLAYER_FORM_MAX];
extern PlayerModelIndices gPlayerModelTypes[];
+1 -1
View File
@@ -47,6 +47,7 @@
#include "z64interface.h"
#include "z64item.h"
#include "z64light.h"
#include "z64map.h"
#include "z64math.h"
#include "z64message.h"
#include "z64object.h"
@@ -55,7 +56,6 @@
#include "z64prerender.h"
#include "z64save.h"
#include "z64scene.h"
#include "z64map.h"
#include "z64schedule.h"
#include "z64skin.h"
#include "z64skybox.h"
+36
View File
@@ -3,6 +3,8 @@
#include "ultra64.h"
#include "z64scene.h"
struct PlayState;
/*
Handles L-minimap and pause screen dungeon minimap system.
@@ -121,7 +123,29 @@ typedef struct {
/* 0x184 */ s32 unk184;
} struct_801F56B0; // size = 0x188
/* z_map_disp */
void func_80102EB4(u32 param_1);
void func_80102ED0(u32 param_1);
s32 func_80102EF0(struct PlayState* play);
void MapDisp_Init(struct PlayState* play);
s32 func_80105294(void);
s16 func_80105318(void);
void func_8010549C(struct PlayState* play, void* segmentAddress);
void func_8010565C(struct PlayState* play, s32 num, void* segmentAddress);
void func_80105818(struct PlayState* play, s32 num, TransitionActorEntry* transitionActorList);
void MapDisp_Destroy(struct PlayState* play);
void func_80105B34(struct PlayState* play);
void MapDisp_SwapRooms(s16 nextRoom);
s32 func_80106530(struct PlayState* play);
void func_80106644(struct PlayState* play, s32 x, s32 z, s32 rot);
void* func_801068FC(struct PlayState* play, void* heap);
void func_80108AF8(struct PlayState* play);
s32 func_801090B0(s32 arg0);
s32 func_80109124(s16 arg0);
void func_801091F0(struct PlayState* play);
/* z_map_data */
void MapData_GetMapColor(s32 colorIndex, Color_RGBA8* color);
TexturePtr MapData_GetMapTexGameplayDangeonKeep(s32);
s32 MapData_GetMapCompactId(s32);
s32 MapData_MID_GetType(s32);
@@ -138,4 +162,16 @@ 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);
/* z_map_exp */
s32 Map_GetDungeonOrBossAreaIndex(struct PlayState* play);
s32 Map_IsInDungeonOrBossArea(struct PlayState* play);
s32 func_8010A0A4(struct PlayState* play);
s32 Map_IsInBossArea(struct PlayState* play);
void Minimap_SavePlayerRoomInitInfo(struct PlayState* play);
void Map_InitRoomData(struct PlayState* play, s16 room);
void Map_Destroy(struct PlayState* play);
void Map_Init(struct PlayState* play);
void Minimap_Draw(struct PlayState* play);
void Map_Update(struct PlayState* play);
#endif
+1 -1
View File
@@ -492,7 +492,7 @@ typedef enum {
#define RESET_HEART_PIECE_COUNT (gSaveContext.save.saveInfo.inventory.questItems ^= (4 << QUEST_HEART_PIECE_COUNT))
#define CHECK_DUNGEON_ITEM(item, dungeonIndex) (gSaveContext.save.saveInfo.inventory.dungeonItems[(void)0, dungeonIndex] & gBitFlags[item])
#define CHECK_DUNGEON_ITEM2(item, dungeonIndex) (gSaveContext.save.saveInfo.inventory.dungeonItems[dungeonIndex] & gBitFlags[item])
#define CHECK_DUNGEON_ITEM_ALT(item, dungeonIndex) (gSaveContext.save.saveInfo.inventory.dungeonItems[dungeonIndex] & gBitFlags[item])
#define SET_DUNGEON_ITEM(item, dungeonIndex) (gSaveContext.save.saveInfo.inventory.dungeonItems[(void)0, dungeonIndex] |= (u8)gBitFlags[item])
#define DUNGEON_KEY_COUNT(dungeonIndex) (gSaveContext.save.saveInfo.inventory.dungeonKeys[(void)0, dungeonIndex])
+425 -555
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -1010,13 +1010,13 @@
0x801BECE4:("D_801BECE4","UNK_TYPE1","",0x1C),
0x801BED00:("D_801BED00","UNK_TYPE1","",0x24),
0x801BED24:("D_801BED24","UNK_TYPE2","",0x18),
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:("map_i_static_Info","UNK_TYPE1","",0x244),
0x801BF3B4:("map_i_for_gameplay_dangeon_keep","s32","",0x14),
0x801BF3C8:("map_i_for_map_grand","s32","",0x188),
0x801BED40:("sMapColorTable","Color_RGBA8","",0xC),
0x801BED4C:("sGameplayDangeonKeepInfo","MapSpriteInfo2","",0x3C),
0x801BED88:("sMapGrandStaticInfo","MapSpriteInfo","",0x3D4),
0x801BF15C:("D_801BF15C","s32","",0x14),
0x801BF170:("sMapIStaticInfo","MapSpriteInfo","",0x244),
0x801BF3B4:("sMapIForGameplayDangeonKeep","s32","",0x14),
0x801BF3C8:("sMapIForMapGrand","s32","",0x188),
0x801BF550:("D_801BF550","UNK_TYPE2","",0x2),
0x801BF554:("D_801BF554","UNK_TYPE2","",0x2),
0x801BF558:("D_801BF558","UNK_TYPE2","",0x2),
+3 -2
View File
@@ -12,8 +12,8 @@ simpleReplace = {
# if the occurence is the whole word
# for example, if there is a space before and an open parenthesis after,
# like for a function call: ` func_8002E4B4(`
#
# Custom behaviour can be enabled by using a tuple as the value (see
#
# Custom behaviour can be enabled by using a tuple as the value (see
# explanation in replace_single below)
wordReplace = {
# Functions
@@ -1205,6 +1205,7 @@ wordReplace = {
"play->actorCtx.targetCtx.unk4C": "play->actorCtx.targetCtx.lockOnIndex",
"play->actorCtx.targetCtx.unk50": "play->actorCtx.targetCtx.lockOnTriangleSets",
"play->actorCtx.targetCtx.unk8C": "play->actorCtx.targetCtx.nextTarget",
"play->doorCtx.transitionActorList": "play->transitionActors.list"
"play->nextEntranceIndex": "play->nextEntrance",
"play->sceneNum": "play->sceneId",
"play->pauseCtx.unk_1F0": "play->pauseCtx.bombersNotebookOpen",
+6 -6
View File
@@ -97,13 +97,13 @@ 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", "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, 0x801BED40, "static", "Color_RGBA8", "sMapColorTable", 3)
cstr += dumpList(data, 0x801BED4C, "static", "MapSpriteInfo2", "sGameplayDangeonKeepInfo", 5)
cstr += dumpList(data, 0x801BED88, "static", "MapSpriteInfo", "sMapGrandStaticInfo", 98)
cstr += dumpList(data, 0x801BF15C, "static", "s32", "D_801BF15C", 5)
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 += dumpList(data, 0x801BF170, "static", "MapSpriteInfo", "sMapIStaticInfo", 58)
cstr += dumpList(data, 0x801BF3B4, "static", "s32", "sMapIForGameplayDangeonKeep", 5)
cstr += dumpList(data, 0x801BF3C8, "static", "s32", "sMapIForMapGrand", 98)
cstr += dumpMapGrandStatic(data, 0x801BED88, "MapSpriteInfo", 98)
cstr += dumpMapIStatic(data, 0x801BF170, "MapSpriteInfo", 58)