summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2021-12-27 17:14:52 -0800
committertheo3 <arisstephenson2@gmail.com>2021-12-27 17:14:52 -0800
commit24750a6bb59eebab95a9ef0a020ba612cac908e1 (patch)
treeb242f49ec7f5eb4b0e8478cdf7e64565586d7ec9 /include
parent079260dbd64b6d090e05b409ded30a95bf33a9e9 (diff)
finish player.c
Diffstat (limited to 'include')
-rw-r--r--include/asm.h6
-rw-r--r--include/functions.h2
-rw-r--r--include/player.h24
-rw-r--r--include/room.h2
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();