diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/6F2150.h | 22 | ||||
| -rw-r--r-- | include/m_actor.h | 6 | ||||
| -rw-r--r-- | include/m_collision_bg.h | 20 | ||||
| -rw-r--r-- | include/m_field_info.h | 7 | ||||
| -rw-r--r-- | include/m_roll_lib.h | 28 | ||||
| -rw-r--r-- | include/z64math.h | 2 |
6 files changed, 57 insertions, 28 deletions
diff --git a/include/6F2150.h b/include/6F2150.h deleted file mode 100644 index 4b2c0a1..0000000 --- a/include/6F2150.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef C_6F2150_H -#define C_6F2150_H - -#include "ultra64.h" - -void mRlib_spdXZ_to_spdF_Angle(xyz_t*, f32*, s16*); -void mRlib_spdF_Angle_to_spdXZ(xyz_t*, f32*, s16*); -void mRlib_position_move_for_sloop(struct Actor*, s_xyz*); -void mRlib_Get_norm_Clif(struct Actor*, xyz_t*); -void mRlib_Roll_Matrix_to_s_xyz(struct Actor*, void*, s16); -s16 mRlib_Get_HitWallAngleY(struct Actor*); -void mRlib_Station_step_modify_to_wall(struct Actor*); -s32 mRlib_Set_Position_Check(struct Actor*); -s32 mRlib_HeightGapCheck_And_ReversePos(void); -// void func_800CEC30_jp(); -s32 mRlib_Get_ground_norm_inHole(struct Actor*, xyz_t*, f32*, s16*, s16*, f32); -// void func_800CEE24_jp(); -// void func_800CEED4_jp(); -// void func_800CF05C_jp(); -// void func_800CF16C_jp(); - -#endif diff --git a/include/m_actor.h b/include/m_actor.h index 955be5d..819d7dc 100644 --- a/include/m_actor.h +++ b/include/m_actor.h @@ -111,9 +111,9 @@ typedef struct Actor { /* 0x074 */ f32 speed; /* 0x078 */ f32 gravity; /* 0x07C */ f32 terminalVelocity; - /* 0x080 */ UNK_TYPE1 unk_080[0x18]; - /* 0x098 */ mCoBG_CheckResult colResult; - /* 0x09C */ UNK_TYPE1 unk_09C[0x19]; + /* 0x080 */ UNK_TYPE1 unk_080[0x4]; + /* 0x084 */ mCoBG_Check colCheck; + /* 0x0B4 */ UNK_TYPE1 unk_0B4[0x1]; /* 0x0B5 */ u8 isDrawn; /* 0x0B6 */ s16 yawTowardsPlayer; /* 0x0B8 */ f32 xyzDistToPlayerSq; diff --git a/include/m_collision_bg.h b/include/m_collision_bg.h index 3294cd1..f02ba47 100644 --- a/include/m_collision_bg.h +++ b/include/m_collision_bg.h @@ -35,6 +35,12 @@ typedef union mCoBG_unkStructUnion { u32 raw; } mCoBG_unkStructUnion; +// collision bg wall info +typedef struct mCoBG_WallInfo { + /* 0x0 */ s16 angleY; + /* 0x2 */ s16 type; +} mCoBG_WallInfo; // size = 0x4 + // collision bg result data typedef struct mCoBG_CheckResult { u32 onGround:1; // [31] on_ground @@ -53,6 +59,14 @@ typedef struct mCoBG_CheckResult { u32 unk13:4; // [3:0] unk_flag6 } mCoBG_CheckResult; +typedef struct mCoBG_Check{ + /* 0x00 */ u8 unk0[0x11]; + /* 0x11 */ mCoBG_CheckResult colResult; + /* 0x14 */ u8 unk14[0xC]; + /* 0x20 */ mCoBG_WallInfo wallInfo[2]; + /* 0x2C */ s16 unk20; +}mCoBG_Check; // size = 0x30 + // void func_80067430_jp(); // void func_800674B0_jp(); // void func_800674D8_jp(); @@ -249,11 +263,11 @@ s32 func_8007244C_jp(u32); s32 mCoBG_SearchWaterLimitDistN(UNK_TYPE* arg0, xyz_t arg1, s16 arg4, f32 arg5, s32 arg6); // void func_80072E70_jp(); f32 mCoBG_GetBalloonGroundY(xyz_t*); -// void func_800730C8_jp(); +s32 mCoBG_CheckAttribute_BallRolling(s16*, xyz_t*); // void func_800731A8_jp(); -// void func_800732DC_jp(); +f32 mCoBG_CheckBallRollingArea(s16, xyz_t*); // void func_800734BC_jp(); -// void func_8007352C_jp(); +s32 mCoBG_ExistHeightGap_KeepAndNow_Detail(xyz_t); // void func_80073680_jp(); // void func_80073718_jp(); // void func_80073784_jp(); diff --git a/include/m_field_info.h b/include/m_field_info.h index 352fdf2..6d6457c 100644 --- a/include/m_field_info.h +++ b/include/m_field_info.h @@ -11,6 +11,13 @@ struct Game_Play; struct FieldMakeBlockInfo; struct FieldMakeMoveActor; +#define FI_UT_WORLDSIZE_Z 40 +#define FI_UT_WORLDSIZE_Z_F (f32)FI_UT_WORLDSIZE_Z +#define FI_UT_WORLDSIZE_X 40 +#define FI_UT_WORLDSIZE_X_F (f32)FI_UT_WORLDSIZE_Z +#define FI_UT_BASE_SIZE 40 +#define FI_UT_BASE_SIZE_F ((f32)FI_UT_BASE_SIZE) + typedef enum FieldType { /* 0 */ FI_FIELDTYPE_FG, /* 1 */ FI_FIELDTYPE_1, diff --git a/include/m_roll_lib.h b/include/m_roll_lib.h new file mode 100644 index 0000000..9cfa25d --- /dev/null +++ b/include/m_roll_lib.h @@ -0,0 +1,28 @@ +#ifndef M_ROLL_LIB_H +#define M_ROLL_LIB_H + +#include "ultra64.h" + +struct xyz_t; +struct Actor; +struct s_xyz; +struct Game_Play; + +void mRlib_spdXZ_to_spdF_Angle(struct xyz_t* speed, f32* speedf, s16* angle); +void mRlib_spdF_Angle_to_spdXZ(struct xyz_t* speed, f32* speedf, s16* angle); +s32 mRlib_position_move_for_sloop(struct Actor* actor, struct s_xyz* slopeAngle); +s32 mRlib_Get_norm_Clif(struct Actor* actor, struct xyz_t* norm); +void mRlib_Roll_Matrix_to_s_xyz(struct Actor* actor, struct s_xyz* rot, s16 angle); +s16 mRlib_Get_HitWallAngleY(struct Actor* actor); +void mRlib_Station_step_modify_to_wall(struct Actor* actor); +s32 mRlib_Set_Position_Check(struct Actor* actor); +s32 mRlib_HeightGapCheck_And_ReversePos(struct Actor* actor); +s32 mRlib_Hole_check(struct Actor* actor); +s32 mRlib_Get_ground_norm_inHole(struct Actor* actor, struct xyz_t* norm, f32* dist, s16* angleY, s16* angleRate, f32 rate); +s32 mRlib_PSnowmanTouchCheck(const struct xyz_t* wpos); +s32 mRlib_PSnowmanBreakCheck(struct Actor* actor, struct Game_Play* play, f32* speed); +s32 mRlib_PSnowmanBreakNeckSwing(f32 f0, f32 scale, s16* angleY); +s32 mRlib_PSnowman_NormalTalk(struct Actor* actor, struct Game_Play* play, f32* speed, void* proc); + + +#endif diff --git a/include/z64math.h b/include/z64math.h index b533ba2..f7aac28 100644 --- a/include/z64math.h +++ b/include/z64math.h @@ -84,6 +84,8 @@ typedef union { #define DEG_TO_BINANG_ALT(degrees) TRUNCF_BINANG(((degrees) / 180.0f) * 0x8000) #define DEG_TO_BINANG_ALT2(degrees) TRUNCF_BINANG(((degrees) * 0x10000) / 360.0f) #define DEG_TO_BINANG_ALT3(degrees) ((degrees) * (0x8000 / 180.0f)) +#define DEG_TO_BINANG_ALT4(degrees) (TRUNCF_BINANG((degrees) * (0x10000 / 360.0f))) + #define RAD_TO_DEG(radians) ((radians) * (180.0f / (f32)M_PI)) #define RAD_TO_BINANG(radians) TRUNCF_BINANG((radians) * (0x8000 / (f32)M_PI)) |
