1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-10-20 05:30:26 +00:00

"decompile" ovl_map_mark_data, make minor tweaks to z_map_mark.c (#704)

* "decompile" ovl_map_mark_data, make minor tweaks to z_map_mark.c

* implement some suggestions

* eliminate wrapping braces
This commit is contained in:
mzxrules 2021-03-29 13:24:08 -04:00 committed by GitHub
commit 86f16cf662
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 2944 additions and 62 deletions

View file

@ -3541,7 +3541,6 @@ extern u8 gGfxSPTaskStack[0x400]; // 0x400 bytes
extern GfxPool gGfxPools[2]; // 0x24820 bytes
extern u8 gAudioHeap[0x38000]; // 0x38000 bytes
extern u8 gSystemHeap[];
extern MapMarksData* gMapMarkDataTable[];
//extern ? D_A4040004;
//extern ? D_A4040008;
//extern ? D_A404000C;

View file

@ -19,6 +19,7 @@
#include "z64animation.h"
#include "z64dma.h"
#include "z64math.h"
#include "z64map_mark.h"
#include "z64transition.h"
#include "bgm.h"
#include "sfx.h"
@ -1167,19 +1168,6 @@ typedef struct {
/* 0x6C */ s16* skullFloorIconY; // dungeon big skull icon Y pos
} MapData; // size = 0x70
typedef struct {
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
} MapMarkPoint; // size = 0x3
typedef struct {
/* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
/* 0x01 */ u8 count; // number of icons to display
/* 0x02 */ MapMarkPoint points[12];
} MapMarkData; // size = 0x26
typedef MapMarkData MapMarksData[3]; // size = 0x72
typedef struct DebugDispObject {
/* 0x00 */ Vec3f pos;
/* 0x0C */ Vec3s rot;

25
include/z64map_mark.h Normal file
View file

@ -0,0 +1,25 @@
#ifndef _Z64MAP_MARK_H_
#define _Z64MAP_MARK_H_
#include "ultra64.h"
#define MAP_MARK_ICON_NONE -1
#define MAP_MARK_ICON_CHEST 0
#define MAP_MARK_ICON_BOSS 1
typedef struct {
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
} MapMarkPoint; // size = 0x3
typedef struct {
/* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
/* 0x01 */ u8 count; // number of icons to display
/* 0x02 */ MapMarkPoint points[12];
} MapMarkIconData; // size = 0x26
typedef MapMarkIconData MapMarkData[3]; // size = 0x72
extern MapMarkData* gMapMarkDataTable[];
#endif