diff options
| author | theo3 <arisstephenson2@gmail.com> | 2022-03-17 19:13:56 -0700 |
|---|---|---|
| committer | theo3 <arisstephenson2@gmail.com> | 2022-03-17 19:16:43 -0700 |
| commit | ef470547e04f2cbc50b98d6578932f1188d25dbd (patch) | |
| tree | 4a5e5bffb8ea301bd15b8bda4627c48ccf052cce /include | |
| parent | 33579844948ca5c2ed9e1e353fba8b9571f7104d (diff) | |
cleanup
Diffstat (limited to 'include')
| -rw-r--r-- | include/coord.h | 7 | ||||
| -rw-r--r-- | include/entity.h | 7 | ||||
| -rw-r--r-- | include/functions.h | 14 | ||||
| -rw-r--r-- | include/player.h | 6 | ||||
| -rw-r--r-- | include/room.h | 5 |
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; |
