summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2022-03-17 19:13:56 -0700
committertheo3 <arisstephenson2@gmail.com>2022-03-17 19:16:43 -0700
commitef470547e04f2cbc50b98d6578932f1188d25dbd (patch)
tree4a5e5bffb8ea301bd15b8bda4627c48ccf052cce /include
parent33579844948ca5c2ed9e1e353fba8b9571f7104d (diff)
cleanup
Diffstat (limited to 'include')
-rw-r--r--include/coord.h7
-rw-r--r--include/entity.h7
-rw-r--r--include/functions.h14
-rw-r--r--include/player.h6
-rw-r--r--include/room.h5
5 files changed, 23 insertions, 16 deletions
diff --git a/include/coord.h b/include/coord.h
index 31453184..b8af7117 100644
--- a/include/coord.h
+++ b/include/coord.h
@@ -7,13 +7,16 @@
s16 FixedMul(s16 r0, s16 r1);
s16 FixedDiv(s16 r0, s16 r1);
+void* AllocMutableHitbox(Entity*);
+void UnloadHitbox(Entity*);
+
void CopyPosition(Entity*, Entity*);
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 SortEntityAbove(Entity*, Entity*);
-void SortEntityBelow(Entity*, Entity*);
+void SortEntityAbove(Entity* below_ent, Entity* above_ent);
+void SortEntityBelow(Entity* above_ent, Entity* below_ent);
u32 sub_0806F5A4(u32 idx);
bool32 sub_0806F3E4(Entity*);
diff --git a/include/entity.h b/include/entity.h
index 4b25be09..4f2cc3ca 100644
--- a/include/entity.h
+++ b/include/entity.h
@@ -106,7 +106,7 @@ typedef struct {
} Hitbox3D;
typedef struct {
- u8 b0 : 3; // 1-4
+ u8 b0 : 3; // 1-4 /**< set to is 4 in entity init (default/lowest?)
u8 b1 : 3; // 8
u8 b2 : 1; // 0x40
u8 b3 : 1; // 0x80
@@ -504,6 +504,8 @@ extern u8 gManagerCount;
#define COLLISION_OFF(entity) ((entity)->flags &= ~ENT_COLLIDE)
#define COLLISION_ON(entity) ((entity)->flags |= ENT_COLLIDE)
+#define ANIM_DONE (1 << 7) /* invalid frame index */
+
/** @name Tile Macros */ /// @{
#define TILE(x, y) (((((x)-gRoomControls.origin_x) >> 4) & 0x3F) | ((((y)-gRoomControls.origin_y) >> 4) & 0x3F) << 6)
#define TILE_POS(x, y) (x + (y << 6))
@@ -512,7 +514,8 @@ extern u8 gManagerCount;
/// @}
/** @name Animation State Macros */ ///@{
-#define AnimationStateTurnAround(expr) ((expr) ^ 0x4)
+#define AnimationStateFlip90(expr) ((expr) ^ 0x2)
+#define AnimationStateFlip180(expr) ((expr) ^ 0x4)
#define AnimationStateIdle(expr) ((expr)&0x6)
#define AnimationStateWalk(expr) ((expr)&0xe)
///@}
diff --git a/include/functions.h b/include/functions.h
index b4e79f4d..daa1e0f7 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -24,7 +24,7 @@ extern void CreateItemOnGround(Entity*);
extern Entity* CreateLargeWaterTrace(Entity*);
extern void CreateMagicSparkles(u32, u32, u32);
extern void CreateMinishEntrance(u32 tile);
-extern Entity* CreatePlayerBomb(ItemBehavior*, u32);
+extern Entity* CreatePlayerItemWithParent(ItemBehavior*, u32);
extern u32 CreateRandomItemDrop(Entity*, u32);
extern void CreateSparkle(Entity*);
extern void DoPlayerAction(Entity*);
@@ -85,7 +85,7 @@ extern void sub_08000148(u32, u32, u32);
extern u32 sub_080B1A0C(Entity*, s32, s32);
extern u32 sub_080B1A48(u32, u32, u32);
extern u32 sub_080B1A8C(Entity*, u32, u32);
-extern u32 sub_080B1AA8(Entity*);
+extern u32 GetTileUnderEntity(Entity*);
extern u32 sub_080B1AE0(u16, u8);
extern u32 sub_080B1AF0(Entity*, s32, s32);
extern u32 sub_080B1B18(s32, s32, u32);
@@ -152,8 +152,8 @@ extern void sub_08059278(void);
extern void sub_0805B4D0(u32);
extern void sub_0805BC4C(void);
extern void sub_0805EC60(Entity*);
-extern void sub_0805EC9C(Entity*, u32, u32, u32);
-extern void sub_0805ED14(u32*);
+extern void SetAffineInfo(Entity*, u32, u32, u32);
+extern void InitPlayerMacro(u32*);
extern u32* sub_0805F25C(u32);
extern u32 sub_0805F7A0(u32);
extern void sub_0805F8E4(u32 r0, WStruct* r1);
@@ -182,7 +182,7 @@ extern void sub_08077D38(ItemBehavior*, u32);
extern void sub_08077DF4(ItemBehavior*, u32);
extern void sub_08077E3C(ItemBehavior*, u32);
extern void sub_08077E54(ItemBehavior*);
-extern void sub_08077E78(ItemBehavior*, u32);
+extern void DeletePlayerItem(ItemBehavior*, u32);
extern bool32 sub_08077EC8(ItemBehavior*);
extern bool32 sub_08077EFC(ItemBehavior*);
extern bool32 sub_08077F10(ItemBehavior*);
@@ -198,8 +198,8 @@ extern void sub_08078850(Entity*, u32, u32, void*);
extern s32 sub_0807887C(Entity*, u32, u32);
extern void sub_080788E0(Entity*);
extern s32 sub_08078904();
-extern void sub_08078930(Entity*);
-extern void sub_08078954(Entity*);
+extern void RegisterCarryEntity(Entity*);
+extern void FreeCarryEntity(Entity*);
extern void sub_08078AC0(u32, u32, u32);
extern void sub_08078B48(void);
extern void sub_08078E84(Entity*, Entity*);
diff --git a/include/player.h b/include/player.h
index ba4d4de6..0776c0a5 100644
--- a/include/player.h
+++ b/include/player.h
@@ -109,7 +109,7 @@ enum PlayerFlags {
PL_FROZEN = 0x800,
PL_IN_MINECART = 0x1000,
PL_DRUGGED = 0x4000,
- PL_FLAGS8000 = 0x8000,
+ PL_PIT_IS_EXIT = 0x8000,
PL_FLAGS10000 = 0x10000,
PL_FLAGS20000 = 0x20000,
PL_ROLLING = 0x40000,
@@ -204,7 +204,7 @@ typedef struct {
/*0x02*/ u8 jump_status;
/*0x03*/ u8 field_0x3[2];
/*0x05*/ u8 heldObject;
- /*0x06*/ u8 pushedObject;
+ /*0x06*/ u8 pushedObject; // hi bit is special, rest is used as a timer
/*0x07*/ u8 field_0x7;
/*0x08*/ u16 animation;
/*0x0a*/ u8 field_0xa;
@@ -224,7 +224,7 @@ typedef struct {
/*0x1a*/ u8 mobility;
/*0x1b*/ u8 sword_state;
/*0x1c*/ u8 field_0x1c;
- /*0x1d*/ u8 field_0x1d;
+ /*0x1d*/ u8 gustJarSpeed;
/*0x1e*/ u8 dash_state;
/*0x1f*/ u8 field_0x1f[3];
/*0x22*/ u16 field_0x22[2];
diff --git a/include/room.h b/include/room.h
index 43ac8f40..5f71a07d 100644
--- a/include/room.h
+++ b/include/room.h
@@ -128,7 +128,7 @@ typedef struct {
/* 0x12 */ u16 dungeon_map_y;
/* 0x14 */ u16 overworld_map_x;
/* 0x16 */ u16 overworld_map_y;
- /* 0x18 */ u8 field_0x24[0x8];
+ /* 0x18 */ u8 field_0x24[8];
} PlayerRoomStatus;
static_assert(sizeof(PlayerRoomStatus) == 0x20);
@@ -140,7 +140,8 @@ typedef struct {
/* 0x09 */ u8 type; // transition when changing areas
/* 0x0a */ u16 stairs_idx; // seems to be a tile type
/* 0x0c */ PlayerRoomStatus player_status;
- /* 0x2c */ u8 field_0x2c[0x9];
+ /* 0x2c */ u8 entity_update_type; // differentiates entity priority on kinstone menu?
+ /* 0x2d */ u8 field_0x2c[0x8];
/* 0x35 */ u8 hint_height;
/* 0x36 */ u16 hint_idx;
/* 0x38 */ u8 field_0x38;