Decompile some of beanstalkSubtask

This commit is contained in:
octorock
2022-03-31 22:36:32 +02:00
parent ced56e2fa3
commit 03e15c611c
38 changed files with 3585 additions and 3673 deletions
+36
View File
@@ -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
+2 -2
View File
@@ -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);
+1 -1
View File
@@ -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);
+1 -2
View File
@@ -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];
+2 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
+20
View File
@@ -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