great fairy ~70%

This commit is contained in:
theo
2020-06-09 00:20:29 -07:00
parent d04b9ff79b
commit 5ed687df73
62 changed files with 1471 additions and 1801 deletions
+23 -10
View File
@@ -24,7 +24,7 @@ union SplitWord {
} HALF;
};
typedef struct
typedef struct Entity
{
u32 *field_0x0;
u32 * field_0x4;
@@ -53,15 +53,28 @@ typedef struct
u8 ss7:1;
} __attribute__((packed)) b;
} __attribute__((packed)) spriteSettings;
u8 spriteOrder;
struct {
u8 b0:2;
u8 b1:2;
u8 b2:4;
} __attribute__((packed)) spriteOrder;
u8 palette;
u8 spriteOrientation[3];
struct {
u8 b0:4;
u8 b1:1;
u8 b2:3;
} __attribute__((packed)) spriteOrientation;
u8 filler[2];
u8 animationList;
u8 field_1f;
u16 field_0x20;
u32 field_0x20;
s16 nonPlanarMovement;
u8 spriteAnimation[3];
u8 ticks;
struct {
u8 b0:3;
u8 b1:5;
} __attribute__((packed)) ticks;
u16 collisions;
union SplitWord x;
union SplitWord y;
@@ -86,8 +99,8 @@ typedef struct
u8 field_0x4d;
u8 field_0x4e;
u8 field_0x4f;
void * parent;
u32 * attachedEntity;
struct Entity * parent;
struct Entity * attachedEntity;
u8 field_0x58;
u8 field_0x59;
union {
@@ -104,9 +117,10 @@ typedef struct
u16 spriteVramOffset;
u8 spriteRenderPositionOffset;
u8 field_0x63;
u8 * field_0x64;
u32 * otherEntity;
u8 filler2[8];
u16 field_0x68;
u16 field_0x6a;
u8 filler4[8];
u32 * heldObjectPtr;
u8 filler3[2];
u16 itemCooldown;
@@ -117,5 +131,4 @@ typedef struct
} Entity;
#endif
+46
View File
@@ -0,0 +1,46 @@
#ifndef GREATFAIRY_H
#define GREATFAIRY_H
extern u32 __modsi3(u32, u32);
extern void UpdateSprite(Entity *, u32);
extern void sub_08087380();
extern u32 sub_0807CC3C();
extern Entity *sub_080873AC(Entity*, u32, u32);
extern void PositionRelative();
extern void CopyPosition();
extern void DoFade();
extern void PlaySFX();
extern void sub_08004274();
extern void sub_0805EC9C();
extern void sub_0805EC60();
extern void sub_080873D0();
extern void sub_0805E7BC();
extern void sub_080045D4();
extern void sub_0806F69C();
extern u32 Random();
extern void (*gGreatFairy[11])(Entity *);
extern void (*gGreatFairyBehaviors[6])(Entity *);
extern void (*gGreatFairyWings[3])(Entity *);
extern void (*gGreatFairyWake[2])(Entity *);
extern void (*gGreatFairyMini[3])(Entity *);
extern void (*gGreatFairyMiniAnim[3])(Entity *);
extern void (*gGreatFairyDrip[2])(Entity *);
extern void (*gGreatFairyRipple[2])(Entity *);
extern void (*gGreatFairyBigRipple[2])(Entity *);
extern void (*gGreatFairyEnergy[2])(Entity *);
extern void (*gGreatFairyInteract1[4])(Entity *);
extern void (*gGreatFairyInteract2[5])(Entity *);
extern void (*gUnk_081207A4[2])(Entity *);
extern u32 gUnk_0810C2E4;
extern RoomControls gRoomControls;
extern Entity gLinkEntity;
extern s16 gGreatFairyRippleOffsets[10];
extern u32 gUnk_02034350;
extern RoomVars gRoomVars;
extern Screen gScreen;
extern u32 gUnk_02033280;
extern u8 gUnk_0812079C[8];
#endif
+11
View File
@@ -33,4 +33,15 @@ typedef struct {
Entity * cameraTarget;
} RoomControls;
typedef struct {
u8 filler[6];
u8 itemForSaleIndex;
u16 unk;
u8 unk2;
u16 filler2[3];
u8 filler3[4];
u8 filler4[52];
u8 filler5[28];
u32 greatFairyState;
} RoomVars;
#endif
+8 -1
View File
@@ -23,7 +23,6 @@ typedef struct {
u16 bg2yOffset;
u16 unk;
u32 unk2;
u16 unk3;
u16 bg3Control;
u16 bg3xOffset;
u16 bg3yOffset;
@@ -60,4 +59,12 @@ typedef struct {
u16 layerBrightness;
} BgControls;
typedef struct {
LcdControls lcd;
BgSettings bg1;
BgSettings bg2;
BgAffSettings affine;
BgControls controls;
} Screen;
#endif