summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/functions.h1
-rw-r--r--include/regs.h22
-rw-r--r--include/variables.h2
-rw-r--r--include/z64.h43
4 files changed, 20 insertions, 48 deletions
diff --git a/include/functions.h b/include/functions.h
index 278188680..8f8aa7eda 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -1226,7 +1226,6 @@ s32 Actor_TrackPoint(Actor* actor, Vec3f* target, Vec3s* headRot, Vec3s* torsoRo
s32 Actor_TrackPlayerSetFocusHeight(PlayState* play, Actor* actor, Vec3s* headRot, Vec3s* torsoRot, f32 focusHeight);
s32 Actor_TrackPlayer(PlayState* play, Actor* actor, Vec3s* headRot, Vec3s* torsoRot, Vec3f focusPos);
void SaveContext_Init(void);
-void GameInfo_Init(void);
void Cutscene_Init(PlayState* play, CutsceneContext* csCtx);
void Cutscene_Start(PlayState* play, CutsceneContext* csCtx);
diff --git a/include/regs.h b/include/regs.h
index 9057078c3..5dee53e97 100644
--- a/include/regs.h
+++ b/include/regs.h
@@ -4,13 +4,28 @@
#ifndef REGS_H
#define REGS_H
+#include "ultra64.h"
+
#define REG_GROUPS 29 // number of REG groups, i.e. REG, SREG, OREG, etc.
#define REG_PAGES 6
#define REG_PER_PAGE 16
#define REG_PER_GROUP REG_PAGES * REG_PER_PAGE
-/* We probably want a better name for gGameInfo based on OoT discussions */
-#define BASE_REG(n, r) gGameInfo->data[n * REG_PER_GROUP + r]
+typedef struct RegEditor {
+ /* 0x00 */ u8 regPage; // 0: no page selected (reg editor is not active); 1: first page; `REG_PAGES`: last page
+ /* 0x01 */ u8 regGroup; // Indexed from 0 to `REG_GROUPS`-1. Each group has its own character to identify it.
+ /* 0x02 */ u8 regCur; // Selected reg, indexed from 0 as the page start
+ /* 0x03 */ u8 dPadInputPrev;
+ /* 0x04 */ u32 inputRepeatTimer;
+ /* 0x08 */ UNK_TYPE1 pad_08[0xC];
+ /* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // Accessed through *REG macros
+} RegEditor; // size = 0x15D4
+
+void Regs_Init(void);
+
+extern RegEditor* gRegEditor;
+
+#define BASE_REG(n, r) (gRegEditor->data[n * REG_PER_GROUP + r])
#define REG(r) BASE_REG(0, r)
#define SREG(r) BASE_REG(1, r)
@@ -42,7 +57,8 @@
#define kREG(r) BASE_REG(27, r)
#define bREG(r) BASE_REG(28, r)
-/* TODO: Actually confirm these, in case of miss-match it's at least a simple list to `sed` */
+/* TODO: There are still a few OoT defines here that need confirmation */
+
#define R_TIME_SPEED REG(15)
#define R_RUN_SPEED_LIMIT REG(45)
diff --git a/include/variables.h b/include/variables.h
index 59779203d..5e935b560 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -2353,7 +2353,7 @@ extern SaveContext gSaveContext;
// extern UNK_TYPE1 D_801F3F42;
// extern UNK_TYPE1 D_801F3F4A;
// extern UNK_TYPE1 D_801F3F5A;
-extern GameInfo* gGameInfo;
+
// extern UNK_TYPE1 D_801F3F80;
// extern UNK_TYPE1 D_801F3F83;
// extern UNK_TYPE1 D_801F48C8;
diff --git a/include/z64.h b/include/z64.h
index 732fbce3c..dd12de211 100644
--- a/include/z64.h
+++ b/include/z64.h
@@ -116,44 +116,6 @@ typedef struct {
} PolygonType2; // size = 0xC
typedef struct {
- /* 0x0 */ s16 x;
- /* 0x2 */ s16 y;
- /* 0x4 */ s16 z;
- /* 0x6 */ s16 reserved;
- /* 0x8 */ s16 s;
- /* 0xA */ s16 t;
- /* 0xC */ s8 r;
- /* 0xD */ s8 g;
- /* 0xE */ s8 b;
- /* 0xF */ s8 a;
-} F3DVertexColor; // size = 0x10
-
-typedef struct {
- /* 0x0 */ s16 x;
- /* 0x2 */ s16 y;
- /* 0x4 */ s16 z;
- /* 0x6 */ s16 reserved;
- /* 0x8 */ s16 s;
- /* 0xA */ s16 t;
- /* 0xC */ s8 normalX;
- /* 0xD */ s8 normalY;
- /* 0xE */ s8 normalZ;
- /* 0xF */ s8 a;
-} F3DVertexNormal; // size = 0x10
-
-// Game Info aka. Static Context
-// Data normally accessed through REG macros (see regs.h)
-typedef struct {
- /* 0x00 */ u8 unk_00; // regPage;? // 1 is first page
- /* 0x01 */ u8 unk_01; // regGroup;? // "register" group (R, RS, RO, RP etc.)
- /* 0x02 */ u8 unk_02; // regCur;? // selected register within page
- /* 0x03 */ u8 unk_03; // dpadLast;?
- /* 0x04 */ u32 unk_04; // repeat;?
- /* 0x08 */ UNK_TYPE1 pad_08[0xC];
- /* 0x14 */ s16 data[REG_GROUPS * REG_PER_GROUP]; // 0xAE0 entries
-} GameInfo; // size = 0x15D4
-
-typedef struct {
/* 0x0 */ u32 size;
/* 0x4 */ void* bufp;
/* 0x8 */ void* head;
@@ -285,11 +247,6 @@ typedef struct {
/* 0x14 */ OSMesgQueue unk14;
} s80185D40; // size = 0x2C
-typedef union {
- F3DVertexColor color;
- F3DVertexNormal normal;
-} F3DVertex; // size = 0x10
-
// End of RDRAM without the Expansion Pak installed
#define NORMAL_RDRAM_END 0x80400000
// End of RDRAM with the Expansion Pak installed