diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/functions.h | 9 | ||||
| -rw-r--r-- | include/global.h | 12 | ||||
| -rw-r--r-- | include/greatFairy.h | 48 | ||||
| -rw-r--r-- | include/item.h | 61 |
4 files changed, 94 insertions, 36 deletions
diff --git a/include/functions.h b/include/functions.h index 40d6acfe..78330fae 100644 --- a/include/functions.h +++ b/include/functions.h @@ -26,6 +26,9 @@ extern void LoadRoomEntityList(); void ModHealth(s32); void CopyPosition(Entity*, Entity*); extern u32* StartCutscene(Entity*, u8*); +extern void GetNextFrame(Entity*); +extern u32 LoadExtraSpriteData(Entity*, u32*); +extern void ResolveEntityOnTop(Entity*, Entity*); // Unidentified extern void sub_0806ED78(Entity*); @@ -34,13 +37,10 @@ extern u32 sub_0805ACC0(Entity*); extern u32 sub_0801E99C(Entity*); extern void sub_0806924C(Entity*); extern void sub_080AEF88(Entity*); -extern Entity* sub_080873AC(Entity*, u32, u32); extern void sub_08078778(Entity*); extern void sub_080787A8(Entity*, u32); extern void sub_0806F118(Entity*); extern void sub_080791D0(); -extern void sub_08087380(); -extern void sub_08004274(); extern void sub_0805EC9C(); extern void sub_0805EC60(); extern void sub_080873D0(); @@ -59,20 +59,17 @@ extern void sub_0807DD50(Entity*); extern void sub_0807DD94(Entity*, u32); extern Entity* sub_0805EB00(u32, u32, u32); extern Entity* sub_0805EB2C(u32, u32, u32, u32, u32); -extern u32 LoadExtraSpriteData(Entity*, u32*); extern s32 sub_0806ED9C(Entity*, u32, u32); extern void sub_0806FF60(Entity*, u32, u32); extern void sub_0806FF88(Entity*, u32, u32); extern void sub_0807000C(Entity*); extern void sub_0805E47C(Entity*); extern void sub_0805E584(Entity*); -extern void ResolveEntityOnTop(Entity*, Entity*); extern void sub_0806ED78(Entity*); extern void sub_08068BEC(Entity*, u32); extern void sub_08078778(Entity*); extern s32 sub_0806ED9C(Entity*, u32, u32); extern s32 sub_0806F078(Entity*, s32); -extern void sub_08004274(Entity*); extern void sub_0801D2B4(Entity*, u32); extern void sub_0806FD3C(Entity*); extern u32 sub_0801E99C(Entity*); diff --git a/include/global.h b/include/global.h index 13f67e6e..d312b7b2 100644 --- a/include/global.h +++ b/include/global.h @@ -47,4 +47,16 @@ #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) >= (b) ? (a) : (b)) +struct Coords16 +{ + s16 x; + s16 y; +} PACKED; + +struct UCoords16 +{ + u16 x; + u16 y; +}; + #endif // GUARD_GLOBAL_H diff --git a/include/greatFairy.h b/include/greatFairy.h index 073f6a37..6c2654e3 100644 --- a/include/greatFairy.h +++ b/include/greatFairy.h @@ -3,14 +3,14 @@ extern u32 __modsi3(u32, u32); extern void InitializeAnimation(Entity*, u32); -extern void sub_08087380(); +extern void GreatFairy_InitializeAnimation(Entity*); extern u32 CheckRoomFlag(); -extern Entity* sub_080873AC(Entity*, u32, u32); +extern Entity* GreatFairy_CreateForm(Entity*, u32, u32); extern void PositionRelative(); extern void CopyPosition(); extern void DoFade(); extern void PlaySFX(); -extern void sub_08004274(); +extern void GetNextFrame(); extern void sub_0805EC9C(); extern void sub_0805EC60(); extern void sub_080873D0(); @@ -19,24 +19,38 @@ 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*); + +enum { + BEHAVIORS, + WINGS, + WAKE, + MINI, + MINIAFFINE, + DROPLET, + RIPPLE, + BIGRIPPLE, + FORM8, + FORM9, +}; + +extern void (*const GreatFairy_Main[])(Entity*); +extern void (*const GreatFairy_Behaviors[])(Entity*); +extern void (*const GreatFairy_WingsBehaviors[])(Entity*); +extern void (*const GreatFairy_WakeBehaviors[])(Entity*); +extern void (*const GreatFairy_MiniBehaviors[])(Entity*); +extern void (*const GreatFairy_MiniAffineBehaviors[])(Entity*); +extern void (*const GreatFairy_DropletBehaviors[])(Entity*); +extern void (*const GreatFairy_RippleBehaviors[])(Entity*); +extern void (*const GreatFairy_BigRippleBehaviors[])(Entity*); +extern void (*const GreatFairy_EnergyBehaviors[])(Entity*); +extern void (*const GreatFairy_Form1Behaviors[])(Entity*); +extern void (*const GreatFairy_Form2Behaviors[])(Entity*); +extern void (*const gUnk_081207A4[])(Entity*); extern u32 gUnk_0810C2E4; extern RoomControls gRoomControls; extern Entity gLinkEntity; -extern s16 gGreatFairyRippleOffsets[10]; +extern const s16 GreatFairy_RippleOffsets[10]; extern u32 gUnk_02034350; extern RoomVars gRoomVars; extern Screen gScreen; diff --git a/include/item.h b/include/item.h index 74e207c3..18ba2620 100644 --- a/include/item.h +++ b/include/item.h @@ -1,8 +1,54 @@ -#include "global.h" - #ifndef ITEM_H #define ITEM_H +#include "global.h" +#include "entity.h" + +typedef struct { + u8 unk; + u8 behaviorID; + u8 unk2; + u8 unk3; + u8 stateID; + u8 filler[4]; + u8 unk4; + u8 filler2[4]; + u8 unk5; +} ItemBehavior; + +void extern CellOverwriteSet(ItemBehavior*, u32); +void extern Sword(ItemBehavior*, u32); +void extern Sword(ItemBehavior*, u32); +void extern Sword(ItemBehavior*, u32); +void extern Sword(ItemBehavior*, u32); +void extern Sword(ItemBehavior*, u32); +void extern Sword(ItemBehavior*, u32); +void extern Bomb(ItemBehavior*, u32); +void extern Bomb(ItemBehavior*, u32); +void extern Bow(ItemBehavior*, u32); +void extern Bow(ItemBehavior*, u32); +void extern sub_08075D14(ItemBehavior*, u32); +void extern sub_08075D14(ItemBehavior*, u32); +void extern Shield(ItemBehavior*, u32); +void extern Shield(ItemBehavior*, u32); +void extern Lantern(ItemBehavior*, u32); +void extern Lantern(ItemBehavior*, u32); +void extern GustJar(ItemBehavior*, u32); +void extern PacciCane(ItemBehavior*, u32); +void extern MoleMitts(ItemBehavior*, u32); +void extern RocsCape(ItemBehavior*, u32); +void extern sub_08076800(ItemBehavior*, u32); +void extern CellOverwriteSet(ItemBehavior*, u32); +void Ocarina(ItemBehavior*, u32); +void extern CellOverwriteSet(ItemBehavior*, u32); +void extern CellOverwriteSet(ItemBehavior*, u32); +void extern CellOverwriteSet(ItemBehavior*, u32); +void extern TryPickupObject(ItemBehavior*, u32); +void extern JarEmpty(ItemBehavior*, u32); +void extern JarEmpty(ItemBehavior*, u32); +void extern JarEmpty(ItemBehavior*, u32); +void extern JarEmpty(ItemBehavior*, u32); + /* On hold until naming conflicts are resolved */ /* enum @@ -127,15 +173,4 @@ LongSpin = 0x75 } ItemType; */ -typedef struct { - u8 unk; - u8 behaviorID; - u8 unk2; - u8 unk3; - u8 stateID; - u8 filler[4]; - u8 unk4; - u8 filler2[4]; - u8 unk5; -} ItemBehavior; #endif
\ No newline at end of file |
