summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHenny022p <info@henny022.de>2022-01-31 17:30:51 +0100
committerHenny022p <info@henny022.de>2022-01-31 17:30:51 +0100
commit2a53ee4bf2ee7eea617280118c2188bffec77ae5 (patch)
tree85ed631ab330f9ca3734bb77253a374e3ef0de21 /include
parent9b60d9c5e24ed592524c25a9dc013417d6e7ee0c (diff)
parent2b8d880ffc0a4548d25dc613d53a908d36362d84 (diff)
merge master
Diffstat (limited to 'include')
-rw-r--r--include/color.h3
-rw-r--r--include/coord.h4
-rw-r--r--include/enemy.h6
-rw-r--r--include/entity.h8
-rw-r--r--include/flags.h1
-rw-r--r--include/functions.h54
-rw-r--r--include/global.h5
-rw-r--r--include/item.h4
-rw-r--r--include/object.h12
-rw-r--r--include/player.h1
-rw-r--r--include/sound.h4
-rw-r--r--include/sprite.h2
12 files changed, 74 insertions, 30 deletions
diff --git a/include/color.h b/include/color.h
index 9ff53264..dee7171b 100644
--- a/include/color.h
+++ b/include/color.h
@@ -12,10 +12,11 @@ extern Palette gPaletteList[];
void ResetPaletteTable(u32 a1);
void sub_0801D000(u32 a1);
-void LoadObjPalette(struct Entity_*, u32);
+u32 LoadObjPalette(struct Entity_*, u32);
void UnloadOBJPalette(struct Entity_* entity);
void sub_0801D244(u32);
void sub_0801D28C(struct Entity_* entity, u32 palette);
void ChangeObjPalette(struct Entity_* entity, u32 palette);
+s32 FindPalette(u32 a1);
#endif // COLOR_H
diff --git a/include/coord.h b/include/coord.h
index 85a56ce2..5ead1236 100644
--- a/include/coord.h
+++ b/include/coord.h
@@ -12,8 +12,8 @@ void PositionEntityOnTop(Entity*, Entity*);
void PositionRelative(Entity*, Entity*, s32, s32);
void CopyPositionAndSpriteOffset(Entity* param_1, Entity* param_2);
void sub_0806FA90(Entity*, Entity*, s32, s32);
-void ResolveEntityOnTop(Entity*, Entity*);
-void ResolveEntityBelow(Entity*, Entity*);
+void SortEntityAbove(Entity*, Entity*);
+void SortEntityBelow(Entity*, Entity*);
u32 sub_0806F5A4(u32 idx);
u32 sub_0806F3E4(Entity*);
diff --git a/include/enemy.h b/include/enemy.h
index 49d40b28..2e04b2af 100644
--- a/include/enemy.h
+++ b/include/enemy.h
@@ -64,7 +64,7 @@ typedef enum {
/*0x21*/ FALLING_BOULDER,
/*0x22*/ BOBOMB,
/*0x23*/ WALL_MASTER_2,
- /*0x24*/ GLEEROCK,
+ /*0x24*/ GLEEROK,
/*0x25*/ VAATI_EYES_MACRO,
/*0x26*/ TEKTITE,
/*0x27*/ WIZZROBE_WIND,
@@ -101,7 +101,7 @@ typedef enum {
/*0x46*/ BOW_MOBLIN,
/*0x47*/ LAKITU,
/*0x48*/ LAKITU_CLOUD,
- /*0x49*/ ENEMY_49,
+ /*0x49*/ TORCH_TRAP,
/*0x4a*/ VAATI_REBORN_ENEMY,
/*0x4b*/ VAATI_PROJECTILE,
/*0x4c*/ BALL_CHAIN_SOLIDER,
@@ -206,7 +206,7 @@ void Takkuri(Entity*);
void BowMoblin(Entity*);
void Lakitu(Entity*);
void LakituCloud(Entity*);
-void Enemy49(Entity*);
+void TorchTrap(Entity*);
void VaatiRebornEnemy(Entity*);
void VaatiProjectile(Entity*);
void BallChainSoldier(Entity*);
diff --git a/include/entity.h b/include/entity.h
index c3477e9e..5ff5dcdc 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -160,14 +160,14 @@ typedef struct Entity_ {
/*0x1d*/ u8 field_0x1d;
/*0x1e*/ u8 frameIndex;
/*0x1f*/ u8 lastFrameIndex;
- /*0x20*/ s32 zVelocity; /**< Z axis speed. */
+ /*0x20*/ s32 zVelocity; /**< Z axis speed, measured in px/frame */
/*0x24*/ s16 speed; /**< Magnitude of speed. */
/*0x26*/ u8 spriteAnimation[3];
/*0x29*/ SpritePriority spritePriority;
/*0x2a*/ u16 collisions;
- /*0x2c*/ union SplitWord x; /**< X position, fixed point. */
- /*0x30*/ union SplitWord y; /**< Y position, fixed point. */
- /*0x34*/ union SplitWord z; /**< Z position, fixed point. */
+ /*0x2c*/ union SplitWord x; /**< X position, fixed point Q16.16. */
+ /*0x30*/ union SplitWord y; /**< Y position, fixed point Q16.16. */
+ /*0x34*/ union SplitWord z; /**< Z position, fixed point Q16.16. */
/*0x38*/ u8 collisionLayer; /**< Collision layer. */
/*0x39*/ s8 interactType;
/*0x3a*/ u8 field_0x3a;
diff --git a/include/flags.h b/include/flags.h
index 10224374..b08a5908 100644
--- a/include/flags.h
+++ b/include/flags.h
@@ -31,7 +31,6 @@ extern u32 WriteBit(void*, u32);
extern u32 ClearBit(void*, u32);
extern u32 gGlobalFlags;
-extern u32 gRoomFlags;
extern const u16 gLocalFlagBanks[];
diff --git a/include/functions.h b/include/functions.h
index 7709868b..c298432d 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -19,7 +19,7 @@ extern void TryLoadPrologueHyruleTown(void);
extern void FlushSprites(void);
// Unidentified
-extern void sub_0805EC9C();
+extern void sub_0805EC9C(Entity*, u32, u32, u32);
extern void sub_0805EC60(Entity*);
extern void sub_0806D0B0(Entity*);
extern void sub_0806D02C(Entity*);
@@ -75,7 +75,7 @@ extern u32 sub_0806F520();
extern void sub_0806F4E8(Entity*);
extern void sub_080784C8();
extern u32 sub_0808288C(Entity*, u32, u32, u32);
-extern void sub_0806FDA0(Entity*);
+extern bool32 sub_0806FDA0(Entity*);
extern bool32 LoadSwapGFX(Entity*, u16, u32);
extern void sub_0807921C();
extern void sub_0807ACCC(Entity*);
@@ -86,7 +86,7 @@ extern u32 sub_080002B8(Entity*);
extern u32 sub_08049F84(Entity*, u32);
extern u32 sub_0800419C(Entity*, Entity*, u32, u32);
extern void sub_08004542(Entity*);
-extern u32 sub_08017850(Entity*);
+extern u32 IsCollidingPlayer(Entity*);
extern void sub_080809D4(void);
extern void sub_08080CB4(Entity*);
extern void sub_0807B7D8(u32, u32, u32);
@@ -95,8 +95,8 @@ extern u32 sub_080040D8(Entity*, u8*, s32, s32);
extern u32 sub_0805F8F8(u32);
extern u32 sub_0805F7A0(u32);
extern u32* sub_0805F25C(u32);
-u32 sub_0806FCB8(Entity*, u32, u32, u32);
-extern void sub_0806F62C(Entity*, u32, u32);
+u32 EntityWithinDistance(Entity*, s32, s32, s32);
+extern void LinearMoveAngle(Entity*, u32, u32);
extern void sub_080A1ED0(u32, u32, u32);
extern u32 sub_0806F5B0(u32);
extern void sub_08078790(Entity*, u32);
@@ -121,6 +121,48 @@ 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 sub_080806BC(u32, u32, u32, u32);
+extern bool32 sub_080806BC(u32, u32, u32, u32);
+extern bool32 sub_0806FC80(Entity*, Entity*, s32);
+extern u32 sub_080002B4(Entity*, u32, u32);
+extern u32 sub_080AF134(Entity*);
+extern void LinearMoveDirection(Entity*, u32, u32);
+extern void sub_080A2AF4(Entity*, u32, u32);
+extern u32 sub_080002CC(Entity*, s32, s32);
+extern bool32 sub_0807BD14(Entity*, u32);
+extern void sub_0807A5B8(u32);
+extern Entity* sub_080A2AD4(Entity*);
+extern u32 sub_080040A2(Entity*);
+extern Entity* sub_08049DF4(u32);
+extern s32 sub_080012DC(Entity*);
+extern s32 sub_08056338(void);
+extern s32 sub_080AF090(Entity*);
+extern u32 PlayerInRange(Entity*, u32, u32);
+extern u32 sub_080002C8(u16, u8);
+extern u32 sub_080002D4(s32, s32, u32);
+extern u32 sub_080002E0(u32, u32);
+extern u32 sub_08031E04(Entity*);
+extern u32 sub_080322A4(Entity*);
+extern u32 sub_08049F1C(Entity*, Entity*, u32);
+extern u32 sub_08049F1C(Entity*, Entity*, u32);
+extern void SoundReqClipped(Entity*, u32);
+extern void SoundReqClipped(Entity*, u32);
+extern void sub_08001328(Entity*);
+extern void sub_08031E48(Entity*, Entity*);
+extern void sub_08032290(Entity*);
+extern void sub_08032338(Entity*);
+extern void sub_0803C0AC(Entity*);
+extern void sub_0804AA1C(Entity*);
+extern u32 sub_0806F824(Entity*, Entity*, s32, s32);
+extern void sub_08078930(Entity*);
+extern void sub_08078954(Entity*);
+extern void sub_08079BD8(Entity*);
+extern void sub_080AEFB4(Entity*);
+extern void UnloadOBJPalette(Entity*);
+void sub_080322E8(Entity*);
+extern u32 GetTileIndex(u32, u32);
+extern void sub_0806FBB4(Entity*);
+extern u32 sub_080002D4(s32, s32, u32);
+extern void sub_08078930(Entity*);
+extern void sub_080044AE(Entity*, u32, u32);
#endif
diff --git a/include/global.h b/include/global.h
index d9d22943..8521b77c 100644
--- a/include/global.h
+++ b/include/global.h
@@ -59,8 +59,8 @@
// Converts a number to Q8.8 fixed-point format
#define Q_8_8(n) ((s16)((n)*256))
-// Converts a number to Q4.12 fixed-point format
-#define Q_4_12(n) ((s16)((n)*4096))
+// Converts a number to Q16.16 fixed-point format
+#define Q_16_16(n) ((s32)((n) * (1 << 16)))
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
@@ -99,6 +99,7 @@ typedef union {
union SplitWord {
s32 WORD;
+ u32 WORD_U;
struct {
s16 LO, HI;
} HALF;
diff --git a/include/item.h b/include/item.h
index c5409c29..e7460936 100644
--- a/include/item.h
+++ b/include/item.h
@@ -24,7 +24,7 @@ extern void ItemOcarina(ItemBehavior*, u32);
extern void ItemTryPickupObject(ItemBehavior*, u32);
extern void ItemJarEmpty(ItemBehavior*, u32);
-enum {
+typedef enum {
ITEM_NONE,
ITEM_SMITH_SWORD,
ITEM_GREEN_SWORD,
@@ -143,6 +143,6 @@ enum {
ITEM_SKILL_FAST_SPIN,
ITEM_SKILL_FAST_SPLIT,
ITEM_SKILL_LONG_SPIN,
-};
+} Item;
#endif
diff --git a/include/object.h b/include/object.h
index f45e8393..4b3fb61c 100644
--- a/include/object.h
+++ b/include/object.h
@@ -246,7 +246,7 @@ void Object10(Entity*);
void Object11(Entity*);
void Object12(Entity*);
void Railtrack(Entity*);
-void LilypadLarge(Entity*);
+void LilypadLarge();
void Object15(Entity*);
void FloatingPlatform(Entity*);
void Object17(Entity*);
@@ -262,7 +262,7 @@ void Object20(Entity*);
void Object21(Entity*);
void FigurineDevice(Entity*);
void EyeSwitch(Entity*);
-void PressurePlate(Entity*);
+void PressurePlate();
void BigBarrel(Entity*);
void BarrelInside(Entity*);
void PushableStatue(Entity*);
@@ -273,7 +273,7 @@ void Object2B(Entity*);
void Beanstalk(Entity*);
void Smoke(Entity*);
void PushableRock(Entity*);
-void HittableLever(Entity*);
+void HittableLever();
void Object30(Entity*);
void FrozenFlower(Entity*);
void PullableMushroom(Entity*);
@@ -310,7 +310,7 @@ void GiantRock(Entity*);
void GiantRock2(Entity*);
void Object52(Entity*);
void Object53(Entity*);
-void PullableLever(Entity*);
+void PullableLever();
void Minecart(Entity*);
void ThoughtBubble(Entity*);
void HiddenLadderDown(Entity*);
@@ -349,7 +349,7 @@ void Bell(Entity*);
void MacroDecoration(Entity*);
void Object79(Entity*);
void Steam(Entity*);
-void PushableLever(Entity*);
+void PushableLever();
void MacroShoes(Entity*);
void ObjectOnSpinyBeetle(Entity*);
void Object7E(Entity*);
@@ -357,7 +357,7 @@ void PicoBloom(Entity*);
void Board(Entity*);
void Object81(Entity*);
void BigVortex(Entity*);
-void BigPushableLever(Entity*);
+void BigPushableLever();
void SmallIceBlock(Entity*);
void BigIceBlock(Entity*);
void Object86(Entity*);
diff --git a/include/player.h b/include/player.h
index 09483161..b0658c39 100644
--- a/include/player.h
+++ b/include/player.h
@@ -278,6 +278,7 @@ extern void (*const gPlayerItemFunctions[])(Entity*);
extern u8 gBombBagSizes[];
extern u8 gQuiverSizes[];
extern u16 gWalletSizes[];
+extern Entity* gPlayerClones[];
extern PlayerState gPlayerState;
extern Entity gPlayerEntity;
diff --git a/include/sound.h b/include/sound.h
index 898581d3..21cab9c3 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -300,7 +300,7 @@ typedef enum {
SFX_109,
SFX_10A,
SFX_10B,
- SFX_10C,
+ SFX_BUTTON_PRESS,
SFX_10D,
SFX_10E,
SFX_10F,
@@ -395,7 +395,7 @@ typedef enum {
SFX_168,
SFX_169,
SFX_16A,
- SFX_16B,
+ SFX_PRESSURE_PLATE,
SFX_16C,
SFX_16D,
SFX_16E,
diff --git a/include/sprite.h b/include/sprite.h
index bb2445b1..7539891f 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -22,7 +22,7 @@ typedef struct {
u8 endOfAnimation : 1;
} PACKED b;
} PACKED frameSettings;
-} Frame;
+} PACKED Frame;
typedef struct {
u8 numGfxTiles;