summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornotyourav <65437533+notyourav@users.noreply.github.com>2022-09-05 11:38:44 -0700
committerGitHub <noreply@github.com>2022-09-05 11:38:44 -0700
commitc0904a0b7d0b907e114d98c267222a72fc0edb00 (patch)
treea54124e7cf369b2ca5f925d7aa4ee4e13f931dff /include
parent3ecaa31df011cc6e77fe1dd4e02fe90f14fae65e (diff)
parenta83c83ee8cc500f3128902a1c1c47c9ba2ae4981 (diff)
Merge pull request #571 from octorock/data
Diffstat (limited to 'include')
-rw-r--r--include/area.h9
-rw-r--r--include/backgroundAnimations.h35
-rw-r--r--include/beanstalkSubtask.h21
-rw-r--r--include/collision.h2
-rw-r--r--include/common.h9
-rw-r--r--include/enemy.h2
-rw-r--r--include/flags.h25
-rw-r--r--include/functions.h3
-rw-r--r--include/kinstone.h12
-rw-r--r--include/manager.h2
-rw-r--r--include/manager/miscManager.h2
-rw-r--r--include/screenTransitions.h37
-rw-r--r--include/subtask.h2
13 files changed, 128 insertions, 33 deletions
diff --git a/include/area.h b/include/area.h
index bffd9b43..ce25c8df 100644
--- a/include/area.h
+++ b/include/area.h
@@ -21,12 +21,11 @@ typedef struct {
static_assert(sizeof(RoomResInfo) == 0x20);
typedef struct {
- u8 inventoryGfxIdx;
- u8 unk29;
- u8 unk2a;
+ u8 textBaseIndex;
+ u8 textIndexOffset;
+ u8 currentHint;
u8 unk2b;
- u16 unk2C[7];
- u16 unk3E;
+ u16 ezloHintTexts[8];
} struct_area_28;
typedef struct {
diff --git a/include/backgroundAnimations.h b/include/backgroundAnimations.h
new file mode 100644
index 00000000..104044ed
--- /dev/null
+++ b/include/backgroundAnimations.h
@@ -0,0 +1,35 @@
+#ifndef BACKGROUNDANIMATIONS_H
+#define BACKGROUNDANIMATIONS_H
+
+#include "global.h"
+
+enum {
+ BG_ANIM_DEFAULT = 0,
+ BG_ANIM_PALETTE = 16,
+ BG_ANIM_MULTIPLE = 128,
+} BgAnimFlags;
+
+typedef struct {
+ u16 vramOffset;
+ u8 gfxSize;
+ u8 flags; /**< @see BgAnimFlags */
+ u32 gfxOffset;
+} BgAnimationGfx;
+
+typedef struct {
+ const BgAnimationGfx* gfx;
+ u32 unk_4;
+} BgAnimationFrame;
+
+typedef struct {
+ const BgAnimationFrame* currentFrame;
+ u16 unk_4;
+ u16 timer;
+} BgAnimation;
+#define MAX_BG_ANIMATIONS 8
+extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS];
+
+extern const u16* const gUnk_080B755C[];
+extern const u16 gUnk_080B77C0[];
+
+#endif // BACKGROUNDANIMATIONS_H
diff --git a/include/beanstalkSubtask.h b/include/beanstalkSubtask.h
index e8d6c3b2..15348f87 100644
--- a/include/beanstalkSubtask.h
+++ b/include/beanstalkSubtask.h
@@ -14,23 +14,8 @@ typedef struct {
extern struct_0200B240 gUnk_0200B240[MAX_0200B240];
typedef struct {
- u16 vramOffset;
- u8 gfxSize;
- u8 unk_3;
- u32 gfxOffset;
-} BgAnimationGfx;
-
-typedef struct {
- BgAnimationGfx* gfx;
- u32 unk_4;
-} BgAnimationFrame;
-
-typedef struct {
- BgAnimationFrame* currentFrame;
- u16 unk_4;
- u16 timer;
-} BgAnimation;
-#define MAX_BG_ANIMATIONS 8
-extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS];
+ u16 collision;
+ u16 tileIndex;
+} struct_080B44D0;
#endif // BEANSTALKSUBTASK_H
diff --git a/include/collision.h b/include/collision.h
index eb5ec380..af8ba984 100644
--- a/include/collision.h
+++ b/include/collision.h
@@ -39,4 +39,6 @@ void CalculateEntityTileCollisions(Entity*, u32, u32);
bool32 ProcessMovementInternal(Entity*, s32, s32, u32);
u32 sub_080176E4(Entity*);
+extern const u8 gUnk_080B37A0[]; // unkData3 for tileType?
+
#endif // COLLISION_H
diff --git a/include/common.h b/include/common.h
index 9108cf9a..ce4a0968 100644
--- a/include/common.h
+++ b/include/common.h
@@ -142,4 +142,13 @@ u32 sub_0801E00C(void);
bool32 sub_0801E810(u32);
u32 sub_0801DB94(void);
+typedef struct {
+ u8 unk_0;
+ u8 unk_1;
+ u8 unk_2;
+ // u8 pad;
+} struct_080C9C6C;
+
+extern const struct_080C9C6C gUnk_080C9C6C[];
+
#endif // COMMON_H
diff --git a/include/enemy.h b/include/enemy.h
index 7183030a..8142c344 100644
--- a/include/enemy.h
+++ b/include/enemy.h
@@ -184,7 +184,7 @@ void Helmasaur(Entity*);
void FallingBoulder(Entity*);
void Bobomb(Entity*);
void WallMaster2(Entity*);
-void Gleerok(Entity*);
+void Gleerok();
void VaatiEyesMacro(Entity*);
void Tektite(Entity*);
void WizzrobeWind();
diff --git a/include/flags.h b/include/flags.h
index 681e1b8c..4bd53cb0 100644
--- a/include/flags.h
+++ b/include/flags.h
@@ -6,8 +6,8 @@
bool32 CheckFlags(u32);
bool32 CheckGlobalFlag(u32);
bool32 CheckGlobalFlags(u32, u32);
-extern bool32 CheckLocalFlag(u32);
-extern bool32 CheckLocalFlagByBank(u32, u32);
+extern bool32 CheckLocalFlag(u32 flag);
+extern bool32 CheckLocalFlagByBank(u32 bank, u32 flag);
bool32 CheckLocalFlags(u32, u32);
bool32 CheckLocalFlagsByBank(u32, u32, u32);
bool32 CheckRoomFlag(u32);
@@ -32,6 +32,27 @@ extern u32 ClearBit(void*, u32);
extern const u16 gLocalFlagBanks[];
+/**
+ * For indexing into gLocalFlagBanks.
+ * Annoyingly they are offset by 1. Needs to be taken into account whereever gLocalFlagBanks is used.
+ */
+enum LocalBanks {
+ LOCAL_BANK_G,
+ LOCAL_BANK_0,
+ LOCAL_BANK_1,
+ LOCAL_BANK_2,
+ LOCAL_BANK_3,
+ LOCAL_BANK_4,
+ LOCAL_BANK_5,
+ LOCAL_BANK_6,
+ LOCAL_BANK_7,
+ LOCAL_BANK_8,
+ LOCAL_BANK_9,
+ LOCAL_BANK_10,
+ LOCAL_BANK_11,
+ LOCAL_BANK_12,
+};
+
enum LocalFlagOffsets {
FLAG_BANK_G = 0,
FLAG_BANK_0 = 0,
diff --git a/include/functions.h b/include/functions.h
index aeaf26f1..b526cb06 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -49,7 +49,6 @@ extern void UpdateDisplayControls(void);
// Unidentified
extern void sub_08000148(u32, u32, u32);
extern u32 sub_080B1A0C(Entity*, s32, s32);
-extern u32 sub_080B1A48(u32, u32, u32);
extern u32 sub_080B1AE0(u16, u8);
extern u32 sub_080B1AF0(Entity*, s32, s32);
extern u32 sub_080B1B18(s32, s32, u32);
@@ -100,7 +99,7 @@ extern void sub_0805F8E4(u32 r0, WStruct* r1);
extern void sub_08060158(Entity*);
extern void sub_0806D0B0(Entity*);
extern bool32 sub_080806BC(u32, u32, u32, u32);
-extern void sub_0808091C(const ScreenTransitionData*, u32);
+extern void sub_0808091C(const ScreenTransitionData* screenTransition, u32 transitionType);
extern void sub_080809D4(void);
extern void sub_08080CB4(Entity*);
extern u32 sub_0808288C(Entity*, u32, u32, u32);
diff --git a/include/kinstone.h b/include/kinstone.h
index d9980699..663b5347 100644
--- a/include/kinstone.h
+++ b/include/kinstone.h
@@ -28,9 +28,10 @@ typedef struct {
u8 unk3;
u8 evt_type;
u8 unk5;
- u8 _5[2];
+ u8 unk6;
+ u8 unk7;
} struct_080C9CBC;
-extern struct_080C9CBC gUnk_080C9CBC[];
+extern const struct_080C9CBC gUnk_080C9CBC[];
typedef enum {
KINSTONE_0,
@@ -131,4 +132,11 @@ typedef enum {
KINSTONE_5F,
} KinstoneFlag;
+typedef struct {
+ u8 unk0; /**< Bank or 0xfd or 0xfe or 0xff */
+ u8 unk1; /**< Flag, for bank=0xfd: Kinstone, for bank=0xfe: Item */
+ u8 unk2; /**< Gfx id in the inventory? */
+ u8 unk3; /**< Offset on the gfx id? */
+} struct_gUnk_080B3D20;
+
#endif // KINSTONE_H
diff --git a/include/manager.h b/include/manager.h
index ac43dd63..f95029b0 100644
--- a/include/manager.h
+++ b/include/manager.h
@@ -159,6 +159,6 @@ extern void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExi
extern u32 sub_0805ACC0(Entity*);
extern void sub_0801855C(void);
-extern void sub_080186C0(u32);
+extern void SetNextAreaHint(u32 textId);
#endif // MANAGER_H
diff --git a/include/manager/miscManager.h b/include/manager/miscManager.h
index 6c763ca1..bde8388b 100644
--- a/include/manager/miscManager.h
+++ b/include/manager/miscManager.h
@@ -9,7 +9,7 @@ typedef struct {
s16 unk_38;
s16 unk_3a;
u16 unk_3c;
- u16 unk_3e;
+ u16 flags;
} MiscManager;
#endif // MISCMANAGER_H
diff --git a/include/screenTransitions.h b/include/screenTransitions.h
new file mode 100644
index 00000000..fa1d98b5
--- /dev/null
+++ b/include/screenTransitions.h
@@ -0,0 +1,37 @@
+#ifndef SCREENTRANSITIONS_H
+#define SCREENTRANSITIONS_H
+
+#include "room.h"
+
+extern const ScreenTransitionData* const gWallMasterScreenTransitions[];
+extern const ScreenTransitionData gUnk_0813AB58;
+extern const ScreenTransitionData gUnk_0813AB6C;
+extern const ScreenTransitionData gUnk_0813AB80;
+extern const ScreenTransitionData gUnk_0813AB94;
+extern const ScreenTransitionData gUnk_0813ABA8;
+extern const ScreenTransitionData gUnk_0813ABBC;
+extern const ScreenTransitionData gUnk_0813ABD0;
+extern const ScreenTransitionData gUnk_0813ABE4;
+extern const ScreenTransitionData gUnk_0813ABF8;
+extern const ScreenTransitionData gUnk_0813AC0C;
+extern const ScreenTransitionData gUnk_0813AC20;
+extern const ScreenTransitionData gUnk_0813AC34;
+extern const ScreenTransitionData gUnk_0813AC48;
+extern const ScreenTransitionData gUnk_0813AC5C;
+extern const ScreenTransitionData gUnk_0813AC70;
+extern const ScreenTransitionData gUnk_0813AC84;
+extern const ScreenTransitionData gUnk_0813AC98;
+extern const ScreenTransitionData gUnk_0813ACAC;
+extern const ScreenTransitionData gUnk_0813ACC0;
+extern const ScreenTransitionData gUnk_0813ACD4;
+extern const ScreenTransitionData gUnk_0813ACE8;
+extern const ScreenTransitionData gUnk_0813ACFC;
+extern const ScreenTransitionData gUnk_0813AD10; // w
+extern const ScreenTransitionData gUnk_0813AD24; // m
+extern const ScreenTransitionData gUnk_0813AD38; // l
+extern const ScreenTransitionData gUnk_0813AD4C;
+extern const ScreenTransitionData gUnk_0813AD60;
+extern const ScreenTransitionData gUnk_0813AD74;
+extern const ScreenTransitionData gUnk_0813AD88[];
+extern const ScreenTransitionData gUnk_0813ADEC[];
+#endif // SCREENTRANSITIONS_H
diff --git a/include/subtask.h b/include/subtask.h
index 46412946..3a2fc5b8 100644
--- a/include/subtask.h
+++ b/include/subtask.h
@@ -47,7 +47,7 @@ extern void sub_080A4E84(u8);
extern const struct {
u8 unk0;
u8 unk1;
- u8 filler[2];
+ // u8 pad[2];
void (*func)(void);
} gUnk_08128A38[];