summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-03-31 22:36:32 +0200
committeroctorock <79596758+octorock@users.noreply.github.com>2022-03-31 22:38:53 +0200
commit03e15c611ceb2c35a0766afde467fddf02327dc8 (patch)
treeed075d25376eb80aa764231ecd23a1253b0c502f /include
parentced56e2fa30db327ffe98f27455702133f40fcf8 (diff)
Decompile some of beanstalkSubtask
Diffstat (limited to 'include')
-rw-r--r--include/beanstalkSubtask.h36
-rw-r--r--include/functions.h4
-rw-r--r--include/main.h2
-rw-r--r--include/player.h3
-rw-r--r--include/room.h3
-rw-r--r--include/save.h2
-rw-r--r--include/structures.h20
7 files changed, 63 insertions, 7 deletions
diff --git a/include/beanstalkSubtask.h b/include/beanstalkSubtask.h
new file mode 100644
index 00000000..8735475a
--- /dev/null
+++ b/include/beanstalkSubtask.h
@@ -0,0 +1,36 @@
+#ifndef BEANSTALK_SUBTASK_H
+#define BEANSTALK_SUBTASK_H
+
+#include "global.h"
+
+/*
+tiles 0x4000 and above create an entry here
+ */
+#define MAX_0200B240 0x100
+typedef struct {
+ u16 position; // (layer << 0xc) | position
+ u16 data;
+} struct_0200B240;
+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];
+
+#endif // BEANSTALK_SUBTASK_H \ No newline at end of file
diff --git a/include/functions.h b/include/functions.h
index 53f1821a..2f0428a8 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -42,7 +42,7 @@ extern void SetDirtTile(u32);
* @param basePosition the position the offsets in tileData are based on
* @param layer the tile layer
*/
-extern void SetMultipleTiles(u16* tileData, u32 basePosition, u32 layer);
+extern void SetMultipleTiles(TileData* tileData, u32 basePosition, u32 layer);
extern void TryLoadPrologueHyruleTown(void);
extern void UnloadGFXSlots(Entity*);
extern void UnloadOBJPalette(Entity*);
@@ -74,7 +74,7 @@ extern u32 sub_080044EC(Entity*, u32);
extern void sub_0800451C(Entity*);
extern void sub_08004542(Entity*);
extern void sub_080085B0(Entity*);
-extern void sub_08008796(Entity*, u32, u32, u32);
+extern u16* sub_08008796(Entity*, u32, u32, u32);
extern void sub_08016AD2(Entity*);
extern u32 sub_0801766C(Entity*);
extern void sub_0801AFE4(void);
diff --git a/include/main.h b/include/main.h
index c6be0f37..0a2c97bf 100644
--- a/include/main.h
+++ b/include/main.h
@@ -81,7 +81,7 @@ typedef struct {
/*0x0A*/ u16 fadeInTime;
/*0x0C*/ u8 fillerC[0x10];
/*0x1c*/ RoomControls unk_1c;
- /*0x2e*/ u8 unk_2e[0x364];
+ /*0x2e+4*/ u8 unk_2e[0x360];
} UI;
static_assert(sizeof(UI) == 0x3b4);
diff --git a/include/player.h b/include/player.h
index 5a914e87..e6206968 100644
--- a/include/player.h
+++ b/include/player.h
@@ -241,8 +241,7 @@ typedef struct {
/*0x3a*/ u8 field_0x3a;
/*0x3b*/ u8 field_0x3b;
/*0x3c*/ u8 field_0x3c[2];
- /*0x3e*/ u8 swordGoldParticle : 1;
- /* */ u8 swordBlueParticle : 1;
+ /*0x3e*/ u8 swordDamage : 2;
/* */ u8 filler14 : 6;
/*0x3f*/ u8 field_0x3f;
/*0x40*/ u8 path_memory[64];
diff --git a/include/room.h b/include/room.h
index 5cd1c1d6..f4663028 100644
--- a/include/room.h
+++ b/include/room.h
@@ -52,6 +52,7 @@ typedef struct {
/*0x28*/ union SplitWord bg3OffsetX;
/*0x2C*/ union SplitWord bg3OffsetY;
/*0x30*/ Entity* camera_target;
+ /*0x34*/ u32 unk_34;
} RoomControls;
extern RoomControls gRoomControls;
@@ -69,7 +70,7 @@ typedef struct {
/* 0x0a */ u8 unk2;
/* 0x0b */ u8 filler2;
/* 0x0c */ s16 lightLevel;
- /* 0x0e */ u8 filler3[2];
+ /* 0x0e */ u16 unk_0e;
/* 0x10 */ u8 unk_10[4];
/* 0x14 */ u32 flags;
/* 0x18 */ u32 unk3;
diff --git a/include/save.h b/include/save.h
index d85cad01..487c499a 100644
--- a/include/save.h
+++ b/include/save.h
@@ -41,7 +41,7 @@ typedef struct {
/*0x006*/ u8 saw_staffroll;
/*0x007*/ u8 unk7;
/*0x008*/ u8 global_progress; /**< @see UpdateGlobalProgress */
- /*0x009*/ u8 field_0x9[0x34];
+ /*0x009*/ u8 field_0x9[0x37];
/*0x040*/ u32 windcrests; /**< Windcrest flags. */
/*0x044*/ u8 filler44[0xC];
/*0x050*/ u32 unk50;
diff --git a/include/structures.h b/include/structures.h
index 7fc1210f..0b0dc185 100644
--- a/include/structures.h
+++ b/include/structures.h
@@ -318,4 +318,24 @@ typedef struct {
u8 stylized;
} Font;
+typedef struct {
+ u8 unk_0;
+ u8 unk_1;
+ u8 unk_2[2];
+ u16 unk_4;
+ u8 filler[12];
+ Entity* unk_14;
+ u8 unk_18;
+ u8 unk_19;
+ u8 unk_1a;
+ u8 unk_1b;
+} struct_02018EB0;
+
+extern struct_02018EB0 gUnk_02018EB0;
+
+typedef struct {
+ s16 tile;
+ s16 position;
+} TileData;
+
#endif