merge changes from master

This commit is contained in:
Henny022p
2021-10-22 23:30:04 +02:00
883 changed files with 73179 additions and 49474 deletions
+5 -2
View File
@@ -9,7 +9,9 @@ typedef struct {
u8 unk;
u8 regret;
u16 localFlagOffset;
u8 filler[10];
u8 filler[4];
u16 unk_0a;
u8 filler3[4];
u16 field_0x10;
u16 curPortalX;
u16 curPortalY;
@@ -20,7 +22,8 @@ typedef struct {
bool8 playShrinkSeq;
u8 unk1A;
u8 filler2[13];
u8 filler4[0x835];
u8 field_0x28;
u8 filler4[0x834];
u32 musicIndex;
u32 pMusicIndex;
u8 filler5[0x20];
+2
View File
@@ -1,6 +1,8 @@
#ifndef CREATEOBJECT_H
#define CREATEOBJECT_H
#include "entity.h"
// maybe a dedicated (create)Effect.h/c
void CreateDust(Entity* parent);
void CreateDustSmall(Entity* parent);
+1 -1
View File
@@ -8,7 +8,7 @@ typedef struct {
u8 textIndex;
u8 filler[11];
u16 pauseTime;
u8 filler[2];
u8 filler2[2];
s32 targetX;
s32 targetY;
} CutsceneBehavior;
+5 -5
View File
@@ -1,11 +1,11 @@
#ifndef ENEMY_H
#define EMEMY_H
#define ENEMY_H
#include "global.h"
#include "entity.h"
typedef enum {
/*0x00*/ OCTOROCK,
/*0x00*/ OCTOROK,
/*0x01*/ CHUCHU,
/*0x02*/ LEEVER,
/*0x03*/ PEAHAT,
@@ -62,10 +62,10 @@ typedef enum {
/*0x36*/ MAZAAL_HEAD,
/*0x37*/ MAZAAL_MACRO,
/*0x38*/ MAZAAL_HAND,
/*0x39*/ OCTOROCK_BOSS,
/*0x39*/ OCTOROK_BOSS,
/*0x3a*/ FLYING_POT,
/*0x3b*/ GOBDO,
/*0x3c*/ OCTOROCK_GOLDEN,
/*0x3c*/ OCTOROK_GOLDEN,
/*0x3d*/ TEKTITE_GOLDEN,
/*0x3e*/ ROPE_GOLDEN,
/*0x3f*/ CLOUD_PIRANHA,
@@ -90,7 +90,7 @@ typedef enum {
/*0x52*/ VAATI_ARM,
/*0x53*/ DUST,
/*0x54*/ VAATI_BALL,
/*0x55*/ OCTOROCK2,
/*0x55*/ OCTOROK2,
/*0x56*/ SLIME,
/*0x57*/ MINI_SLIME,
/*0x58*/ FIREBALL_GUY,
+3 -1
View File
@@ -81,7 +81,7 @@ typedef struct Entity {
/* */ u8 b0 : 4;
/* */ u8 b4 : 4;
/* */ } PACKED b;
/* */} PACKED palette;
/* */ } PACKED palette;
/*0x1b*/ struct {
/* */ u32 b0 : 1;
/* */ u32 b1 : 5; //0x10
@@ -265,4 +265,6 @@ Entity* FindNextDuplicateID(Entity* ent, int listIndex);
*/
Entity* FindEntity(u32 kind, u32 id, u32 listIndex, u32 type, u32 type2);
void DeleteEntityAny(Entity* ent);
#endif
+2 -2
View File
@@ -28,7 +28,7 @@ void SetRoomFlag(u32);
extern u32 gGlobalFlags;
extern u32 gRoomFlags;
enum {
typedef enum {
FLAG_NONE,
/*0x01*/ LV0_CLEAR, /* */
/*0x02*/ LV1_CLEAR, /* */
@@ -130,6 +130,6 @@ enum {
/*0x62*/ MAZE_CLEAR, /* Cleared Castle maze */
/*0x63*/ TINY_ENTRANCE, /* Ezlo described entrances */
/*0x64*/ CASTLE_BGM, /* Castle intro BGM */
};
} Flag;
#endif
+34 -8
View File
@@ -14,7 +14,7 @@
extern void ShowNPCDialogue(Entity*, Dialog*);
extern void DoFade(u32, u32);
extern u32 CheckKinstoneFused(u32);
extern void ForceEquipItem(u32, u8);
extern void ForceEquipItem(u32, u32);
extern void LoadRoomEntityList(EntityData* listPtr);
extern u32 GetAnimationState(Entity*);
extern void SetChildOffset(Entity*, s32, s32, s32);
@@ -54,7 +54,7 @@ extern void sub_080787A8(Entity*, u32);
extern void sub_0806F118(Entity*);
extern void sub_080791D0();
extern void sub_0805EC9C();
extern void sub_0805EC60();
extern void sub_0805EC60(Entity*);
extern u32 sub_080045D4(s16, s16, u32, u32);
extern void sub_0806F69C(Entity*);
extern void sub_0805E3A0(void*, u32);
@@ -80,11 +80,11 @@ extern u32 sub_08049FA0(Entity*);
extern u32 sub_08049FDC(Entity*, u32);
extern u32 sub_080041A0(Entity*, Entity*, u32, u32);
extern u32 sub_08049EE4(Entity*);
extern Entity* sub_0804A98C(Entity*, u8, u8);
extern Entity* CreateProjectileWithParent(Entity*, u8, u8);
extern u32 GetBottleContaining(u32);
extern void sub_08077E54(Entity*);
extern void sub_08077E54(ItemBehavior*);
extern void sub_080042BA(Entity*, u32);
extern void sub_08077F24(ItemBehavior*, u32);
extern bool32 sub_08077F24(ItemBehavior*, u32);
extern void sub_08079184();
extern void sub_08077F50(ItemBehavior* beh, u32 arg1);
extern void sub_0807AA80(Entity*);
@@ -206,7 +206,7 @@ extern void sub_0802F45C(Entity*);
extern u32 sub_0800419C(Entity*, Entity*, u32, u32);
extern void sub_08004542(Entity*);
extern void sub_08077B20();
extern u32 sub_080040A8(Entity*);
extern bool32 sub_080040A8(Entity*);
extern u32 sub_08017850(Entity*);
extern void sub_080809D4(void);
extern void sub_08080CB4(Entity*);
@@ -227,7 +227,7 @@ extern u32 sub_0805F7A0(u32);
extern u32* sub_0805F25C(u32);
extern u32 sub_080045DA(s32, s32);
u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern Entity* sub_080A7EE0(u32);
extern Entity* CreateProjectile(u32);
extern void sub_080A1D70(Entity*, u32);
extern void sub_0806F62C(Entity*, u32, u32);
extern void sub_080A1ED0(u32, u32, u32);
@@ -257,7 +257,7 @@ extern void sub_08056360();
extern u32 sub_080542AC(u32);
extern u32 sub_08079FC4(u32);
extern void sub_0800455E(Entity*);
extern void sub_08008790(Entity*, u32);
extern u32* sub_08008790(Entity*, u32);
extern void sub_0804ACF8();
extern void sub_08073904(Entity*);
extern u32 sub_08056134(void);
@@ -267,4 +267,30 @@ extern void sub_0805EEB4(u8*, u32);
extern void sub_08056BDC(u32);
extern void sub_08056F88(u32, u32);
extern void sub_0805F8E4(u32 r0, WStruct* r1);
extern void DoExitTransition(ScreenTransitionData*);
extern Entity* sub_08077C94(ItemBehavior*, u32);
extern Entity* sub_08077C0C(ItemBehavior*, u32);
extern void sub_08077D38(ItemBehavior*, u32);
extern void sub_08077E78(ItemBehavior*, u32);
extern void UpdateItemAnim(ItemBehavior*);
extern void sub_0806F948(Entity*);
extern void sub_08077DF4(ItemBehavior*, u32);
extern void sub_08077BB8(ItemBehavior*);
extern bool32 sub_08077EFC(ItemBehavior*);
extern void sub_08078E84(Entity*, Entity*);
extern void sub_080042D0(Entity*, u32, u16);
extern u32 sub_080002A8(u32, u32, u32);
extern void CreateDustAt(u32, u32, u32);
extern void sub_080806BC(u32, u32, u32, u32);
extern void sub_080186C0(u32);
extern void sub_0801855C(void);
extern u32 sub_0807CAEC(u32);
extern void sub_0807CAC8(u32);
extern void sub_0805E4E0(Entity*, u32);
#endif
+2
View File
@@ -1,6 +1,8 @@
#ifndef GAME_H
#define GAME_H
#include "gba/types.h"
u32 CheckIsDungeon(void);
#endif // GAME_H
+2
View File
@@ -1,6 +1,8 @@
#ifndef GUARD_GBA_EEPROM
#define GUARD_GBA_EEPROM
#include "types.h"
// error codes
#define EEPROM_OUT_OF_RANGE 0x80ff
#define EEPROM_COMPARE_FAILED 0x8000
+2
View File
@@ -1,6 +1,8 @@
#ifndef GUARD_GBA_FLASH_INTERNAL_H
#define GUARD_GBA_FLASH_INTERNAL_H
#include "types.h"
#define FLASH_BASE ((u8*)0xE000000)
#define FLASH_WRITE(addr, data) ((*(vu8*)(FLASH_BASE + (addr))) = (data))
+2
View File
@@ -1,6 +1,8 @@
#ifndef GUARD_GBA_MULTI_BOOT_H
#define GUARD_GBA_MULTI_BOOT_H
#include "types.h"
#define MULTIBOOT_NCHILD 3 // Maximum number of slaves
#define MULTIBOOT_HEADER_SIZE 0xc0 // Header size
#define MULTIBOOT_SEND_SIZE_MIN 0x100 // Minimum transmission size
+2
View File
@@ -1,6 +1,8 @@
#ifndef GUARD_GBA_SYSCALL_H
#define GUARD_GBA_SYSCALL_H
#include "types.h"
#define RESET_EWRAM 0x01
#define RESET_IWRAM 0x02
#define RESET_PALETTE 0x04
+1 -1
View File
@@ -1,6 +1,7 @@
#ifndef GREATFAIRY_H
#define GREATFAIRY_H
#include "entity.h"
#include "screen.h"
void GreatFairy_InitializeAnimation(Entity*);
@@ -22,7 +23,6 @@ extern void (*const gUnk_081207A4[])(Entity*);
extern u32 gUnk_0810C2E4;
extern const s16 GreatFairy_RippleOffsets[10];
extern u32 gUnk_02034350;
extern u8 gUnk_0812079C[8];
extern s8 gUnk_081207AC[];
+2
View File
@@ -1,6 +1,8 @@
#ifndef MAIN_H
#define MAIN_H
#include "global.h"
typedef struct { // 0x03001000
u8 field_0x0;
u8 field_0x1;
+80 -55
View File
@@ -103,6 +103,31 @@ typedef struct {
u16 unk_3e;
} ManagerE;
typedef struct {
Manager manager;
u8 unk_20[0x18];
s16 unk_38;
s16 unk_3a;
u16 unk_3c;
u16 unk_3e;
} ManagerF;
typedef struct {
Manager manager;
u8 unk_20;
u8 unk_21;
u8 unk_22;
u8 unk_23;
u8 filler_0x24[0x1C];
} Manager10;
typedef struct Manager11 {
Manager manager;
u8 unk_20[0x1C];
u16 unk_3c;
u16 unk_3e;
} Manager11;
typedef struct {
u16 unk_00;
u8 source_roomID;
@@ -133,63 +158,63 @@ typedef struct {
u16 unk_06;
} UnkManager26HelperStruct;
extern void Manager1();
extern void Manager2();
extern void sub_080576C0();
extern void sub_08057854();
extern void sub_08057AD0();
extern void sub_08057CB4();
extern void Manager1_Main();
extern void Manager2_Main();
extern void Manager3_Main();
extern void Manager4_Main();
extern void Manager5_Main();
extern void Manager6_Main();
extern void Manager7_Main();
extern void sub_08057ED0();
extern void sub_080581D8();
extern void sub_08058380();
extern void sub_080585F0();
extern void sub_0805884C();
extern void sub_08058DD0(Entity*);
extern void sub_08058E60();
extern void sub_08058ECC(Entity*);
extern void sub_08059570(Entity*);
extern void sub_080599B8(Entity*);
extern void sub_080599EC(Entity*);
extern void sub_08059DAC(Entity*);
extern void sub_08059E58(Entity*);
extern void sub_0805A280();
extern void sub_0805AB4C(Entity*);
extern void sub_0805AD48(Entity*);
extern void sub_0805ADD8();
extern void sub_0805AF60(Entity*);
extern void sub_0805B030();
extern void sub_0805B3B4(Entity*);
extern void sub_0805B53C(Entity*);
extern void sub_0805B5C8(Entity*);
extern void Manager1E_Handler();
extern void sub_0805B6F4(Entity*);
extern void sub_0805B7A0();
extern void sub_0805B820(Entity*);
extern void sub_0805B8EC(Entity*);
extern void sub_0805BC74(Entity*);
extern void sub_0805BF18(Entity*);
extern void sub_0805C61C(Entity*);
extern void sub_0805C6B8();
extern void Manager27();
extern void Manager28_Entry();
extern void sub_0805CB90(Entity*);
extern void sub_0805CFC0(Entity*);
extern void sub_0805D014(Entity*);
extern void sub_0805D174(Entity*);
extern void sub_0805D1FC(Entity*);
extern void sub_0805D250();
extern void sub_0805D3C8();
extern void Manager8_Main();
extern void Manager9_Main();
extern void ManagerA_Main();
extern void ManagerB_Main();
extern void ManagerC_Main();
extern void ManagerD_Main();
extern void ManagerE_Main();
extern void sub_08058ECC(ManagerF*);
extern void Manager10_Main(Manager10*);
extern void Manager11_Main(Manager11*);
extern void Manager12_Main();
extern void Manager13_Main();
extern void Manager14_Main();
extern void Manager15_Main();
extern void Manager16_Main();
extern void Manager17_Main();
extern void Manager18_Main();
extern void Manager19_Main();
extern void Manager1A_Main();
extern void Manager1B_Main();
extern void Manager1C_Main(Manager*);
extern void Manager1D_Main();
extern void Manager1E_Main();
extern void Manager1F_Main();
extern void Manager20_Main();
extern void Manager21_Main();
extern void Manager22_Main();
extern void Manager23_Main();
extern void Manager24_Main();
extern void Manager25_Main();
extern void Manager26_Main();
extern void Manager27_Main();
extern void Manager28_Main();
extern void Manager29_Main();
extern void Manager2A_Main(Manager*);
extern void Manager2B_Main();
extern void Manager2C_Main();
extern void Manager2D_Main(Entity*);
extern void Manager2E_Main();
extern void Manager2F_Main();
extern void Manager30_Main();
extern void sub_0805D630(Entity*);
extern void sub_0805D7A4(Entity*);
extern void sub_0805DAE8(Entity*);
extern void sub_0805DB94(Entity*);
extern void sub_0805DC84(Entity*);
extern void sub_0805DDB4(Entity*);
extern void sub_0805DE38(Entity*);
extern void sub_0805E0A8(Entity*);
extern void sub_0805E0FC();
extern void Manager31_Main();
extern void Manager32_Main();
extern void Manager33_Main();
extern void Manager34_Main();
extern void Manager35_Main();
extern void Manager36_Main(Manager*);
extern void Manager37_Main();
extern void Manager38_Main(Entity*);
extern void Manager39_Main();
extern void (*const gManagerFunctions[58])();
+2 -2
View File
@@ -54,7 +54,7 @@ typedef enum {
PUSHABLE_ROCK,
HITTABLE_LEVER,
OBJECT_30,
OBJECT_31,
FROZEN_FLOWER,
PULLABLE_MUSHROOM,
BOLLARD,
WARP_POINT,
@@ -250,7 +250,7 @@ extern void Smoke(Entity*);
extern void PushableRock(Entity*);
extern void HittableLever(Entity*);
extern void Object30(Entity*);
extern void Object31(Entity*);
extern void FrozenFlower(Entity*);
extern void PullableMushroom(Entity*);
extern void Bollard(Entity*);
extern void WarpPoint(Entity*);
+2
View File
@@ -148,6 +148,8 @@ typedef struct {
/*0x4*/ u8 stateID;
/*0x5*/ u8 field_0x5[10];
/*0xf*/ u8 field_0xf;
/*0x10*/ u8 field_0x10[8];
/*0x18*/ u32 field_0x18;
} ItemBehavior;
extern void (*const gPlayerItemFunctions[])(Entity*);
+2
View File
@@ -1,6 +1,8 @@
#ifndef RANDOM_H
#define RANDOM_H
#include "gba/types.h"
extern u32 Random(void);
extern u32 gRand;
+10 -5
View File
@@ -23,7 +23,8 @@ typedef struct {
/*0x0C*/ s16 roomScrollY;
/*0x0E*/ u8 unk5;
/*0x0F*/ u8 unk6;
/*0x10*/ u8 filler[4];
/*0x10*/ u8 unk_10;
/*0x11*/ u8 filler[3];
/*0x14*/ u8 screenShakeMagnitude;
/*0x15*/ u8 unk7;
/*0x16*/ u16 screenShakeTime;
@@ -37,7 +38,10 @@ typedef struct {
} RoomControls;
typedef struct {
u8 filler[4];
u8 field_0x0;
u8 filler_0x1;
u8 field_0x2;
u8 field_0x3;
u8 field_0x4;
u8 filler1[1];
u8 itemForSaleIndex;
@@ -45,9 +49,10 @@ typedef struct {
u8 field_0x8;
u8 field_0x9;
u8 unk2;
u8 filler2[5];
u8 unk_10;
u8 filler6[3];
u8 filler2;
u16 field_0xc;
u8 filler3[2];
u8 unk_10[4];
u32 roomFlags;
u32 unk3;
u8 filler4[48];
+5 -4
View File
@@ -37,11 +37,12 @@ typedef struct {
/*0x080*/ u8 playerName[FILENAME_LENGTH];
/*0x086*/ u8 filler86[0x22];
/*0x0A8*/ Stats stats;
/*0x0D0*/ u8 fillerD0[0x3c0];
/*0x0D0*/ u8 fillerD0[0x71];
/*0x141*/ u8 unk141[0x34f];
/*0x490*/ u32 unk490;
/*0x494*/ u8 filler494[4];
/*0x498*/ u32 filler498;
/*0x49c*/ u8 filler49C[0x18];
/*0x494*/ u32 unk494;
/*0x498*/ u32 unk498;
/*0x49C*/ u8 filler49C[0x18];
} SaveFile;
extern SaveFile gSave;
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef SCRIPT_H
#define SCRIPT_H
#include "global.h"
#include "entity.h"
typedef struct ScriptExecutionContext {
u16* scriptInstructionPointer;
+8 -1
View File
@@ -30,13 +30,16 @@ typedef struct {
s32 signature;
u8 field_0x4;
u8 listenForKeyPresses;
u8 field_0x6;
u8 field_0x7;
} struct_02000010;
extern struct_02000010 gUnk_02000010;
typedef struct {
s32 frameCount; // regular frame count? does anything reset it?
u8 field_0x4[0x4];
u8 field_0x4[0x2];
u16 field_0x6;
bool8 transitioningOut;
u8 transitionType; // transition when changing areas
u16 field_0xa; // seems to be a tile type
@@ -160,6 +163,7 @@ extern u16 gBG3Buffer[0x800];
struct {
u8 filler[0x70];
} extern gUnk_03000B80;
// TODO extern ItemBehavior gUnk_03000B80[4];
static_assert(sizeof(gUnk_03000B80) == 0x70);
typedef struct {
@@ -169,6 +173,9 @@ typedef struct {
u8 unk3;
u8 freezeTime;
u8 unk9;
u8 unk_0xa;
u8 unk_0xb;
u16 unk_0xc;
} EntityHandler;
extern EntityHandler gUnk_03003DC0;
+2 -1
View File
@@ -32,7 +32,8 @@ typedef struct {
u16 _22;
u16 _24;
u16 _26;
u8 _28[0x4];
u16 _28;
u8 _2a[0x2];
void* _2c;
u8 _30[0x20];
WStruct _50;
+7
View File
@@ -1,3 +1,8 @@
#ifndef UTILS_H
#define UTILS_H
#include "global.h"
typedef struct {
u16 heldKeys;
u16 newKeys;
@@ -62,3 +67,5 @@ void zFree(void* ptr);
* @param updateHUD bool32 Request refresh of HUD layer (bg 0)
*/
void DispReset(bool32 updateHUD);
#endif