mirror of
https://github.com/zeldaret/tmc
synced 2026-06-22 08:55:50 -04:00
greatFairy.c polishing
This commit is contained in:
+3
-6
@@ -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*);
|
||||
|
||||
@@ -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
|
||||
|
||||
+31
-17
@@ -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;
|
||||
|
||||
+48
-13
@@ -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
|
||||
Reference in New Issue
Block a user