diff options
| author | theo3 <arisstephenson2@gmail.com> | 2021-12-27 17:14:52 -0800 |
|---|---|---|
| committer | theo3 <arisstephenson2@gmail.com> | 2021-12-27 17:14:52 -0800 |
| commit | 24750a6bb59eebab95a9ef0a020ba612cac908e1 (patch) | |
| tree | b242f49ec7f5eb4b0e8478cdf7e64565586d7ec9 /include | |
| parent | 079260dbd64b6d090e05b409ded30a95bf33a9e9 (diff) | |
finish player.c
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm.h | 6 | ||||
| -rw-r--r-- | include/functions.h | 2 | ||||
| -rw-r--r-- | include/player.h | 24 | ||||
| -rw-r--r-- | include/room.h | 2 |
4 files changed, 24 insertions, 10 deletions
diff --git a/include/asm.h b/include/asm.h index 99ad082a..360c0fb1 100644 --- a/include/asm.h +++ b/include/asm.h @@ -6,8 +6,9 @@ struct Entity_; extern u32 Random(void); -extern void sub_08000152(u32); +extern void sub_08000152(u32, u32, u32); extern void SetTile(u32 index, u32 position, u32 layer); +extern u32 sub_080002D0(struct Entity_*); extern void sub_08001242(struct Entity_*); extern void sub_08001290(struct Entity_*, u32); extern void sub_08001324(struct Entity_*); @@ -15,11 +16,12 @@ extern u32 sub_08002632(struct Entity_*); extern u32 GravityUpdate(struct Entity_*, u32); extern u32 sub_080043E8(struct Entity_*); extern void sub_08004484(struct Entity_*, struct Entity_*); -extern u32 sub_080045D4(s16, s16, u32, u32); +extern u32 sub_080045D4(u32, u32, u32, u32); extern u32 sub_080045DA(s32, s32); extern void sub_08004596(struct Entity_*, u32); extern u32 sub_080045B4(struct Entity_*, u32, u32); extern u32 EntityInRectRadius(struct Entity_*, struct Entity_*, u32, u32); extern void UpdateAnimationVariableFrames(struct Entity_*, u32); +extern u32 sub_080086B4(u32, u32, u8*); #endif // ASM_H diff --git a/include/functions.h b/include/functions.h index 23e0a7cc..536b36ed 100644 --- a/include/functions.h +++ b/include/functions.h @@ -145,7 +145,7 @@ extern bool32 LoadSwapGFX(Entity*, u16, u32); extern u32 sub_08016A30(Entity*); extern void sub_08077728(); extern void sub_0807AEE4(); -extern u32 sub_08078EFC(); +extern u32 RunQueuedAction(); extern void sub_0807921C(); extern void UpdateFloorType(); extern void sub_08079938(); diff --git a/include/player.h b/include/player.h index 943d7f5e..f664b6f3 100644 --- a/include/player.h +++ b/include/player.h @@ -34,7 +34,7 @@ enum PlayerActions { PLAYER_INHOLE, PLAYER_08072C9C, PLAYER_08074C44, - PLAYER_08072F34, + PLAYER_CLIMB, PLAYER_USEENTRANCE, PLAYER_PARACHUTE, }; @@ -99,12 +99,23 @@ enum PlayerFlags { PL_DROWNING = (1 << 2), PL_NO_CAP = (1 << 3), PL_USE_PORTAL = (1 << 5), + PL_HIDDEN = (1 << 6), PL_MINISH = (1 << 7), + PL_FALLING = (1 << 9), PL_BURNING = (1 << 10), + PL_FROZEN = (1 << 11), + PL_DRUGGED = (1 << 14), PL_ROLLING = (1 << 18), + PL_TRAPPED = (1 << 19), PL_IN_HOLE = (1 << 20), + PL_RELEASED = (1 << 21), + PL_CLONING = (1 << 22), PL_USE_LANTERN = (1 << 23), + PL_PARACHUTE = (1 << 24), + PL_MINECART = (1 << 26), + PL_SWORD_THRUST = (1 << 27), PL_USE_OCARINA = (1 << 28), + PL_CLIMBING = (1 << 29), }; enum SurfaceType { @@ -125,7 +136,7 @@ enum SurfaceType { SURFACE_E, SURFACE_F, SURFACE_10, - SURFACE_11, + SURFACE_SWAMP, SURFACE_DOOR, SURFACE_DOOR_13, SURFACE_14, @@ -137,9 +148,9 @@ enum SurfaceType { SURFACE_BUTTON, SURFACE_1B, SURFACE_1C, - SURFACE_1D, + SURFACE_1D, // nulled SURFACE_LADDER, - SURFACE_1F, + SURFACE_1F, // nulled SURFACE_20, SURFACE_21, SURFACE_22, @@ -165,7 +176,7 @@ typedef struct { /*0x08*/ u16 animation; /*0x0a*/ u8 field_0xa; /*0x0b*/ u8 keepFacing; - /*0x0c*/ u8 playerAction; + /*0x0c*/ u8 queued_action; /*0x0d*/ u8 field_0xd; /*0x0e*/ u8 field_0xe; /*0x0f*/ u8 hurtBlinkSpeed; @@ -188,7 +199,8 @@ typedef struct { /*0x2c*/ Entity* item; /*0x30*/ u32 flags; /*0x34*/ u8 field_0x34[2]; - /*0x36*/ s16 field_0x36; + /*0x36*/ u8 field_0x36; + /*0x37*/ u8 field_0x37; /*0x38*/ u8 field_0x38; /*0x39*/ u8 field_0x39; /*0x3a*/ u8 field_0x3a; diff --git a/include/room.h b/include/room.h index 8a837b91..64729622 100644 --- a/include/room.h +++ b/include/room.h @@ -173,7 +173,7 @@ typedef enum { } TileEntityType; extern void SetTileType(u32, u32, u32); -extern void sub_08080964(u32 time, u32 magnitude); // shake screen +extern void InitScreenShake(u32 time, u32 magnitude); extern void* GetCurrentRoomProperty(u32); extern void LoadRoomTileEntities(); |
