diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/6F2150.h | 20 | ||||
| -rw-r--r-- | include/m_actor.h | 6 | ||||
| -rw-r--r-- | include/m_clip.h | 10 | ||||
| -rw-r--r-- | include/m_collision_bg.h | 26 | ||||
| -rw-r--r-- | include/m_common_data.h | 4 | ||||
| -rw-r--r-- | include/m_field_info.h | 10 | ||||
| -rw-r--r-- | include/m_quest.h | 5 | ||||
| -rw-r--r-- | include/macros.h | 1 | ||||
| -rw-r--r-- | include/segment_symbols.h | 4 | ||||
| -rw-r--r-- | include/sys_math3d.h | 2 | ||||
| -rw-r--r-- | include/tables/dmatables/dmadata_table_jp.h | 6 |
11 files changed, 64 insertions, 30 deletions
diff --git a/include/6F2150.h b/include/6F2150.h index 3faf751..4b2c0a1 100644 --- a/include/6F2150.h +++ b/include/6F2150.h @@ -3,17 +3,17 @@ #include "ultra64.h" -// void func_800CE4B0_jp(); -// void func_800CE4F4_jp(); -// void func_800CE554_jp(); -// void func_800CE694_jp(); -// void func_800CE7E4_jp(); -// void func_800CE874_jp(); -// void func_800CE8F0_jp(); -// void func_800CE9C4_jp(); -// void func_800CEB1C_jp(); +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(); -// void func_800CEC98_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(); diff --git a/include/m_actor.h b/include/m_actor.h index 5a1c59e..bb52865 100644 --- a/include/m_actor.h +++ b/include/m_actor.h @@ -3,6 +3,7 @@ #include "ultra64.h" #include "m_collision_obj.h" +#include "m_collision_bg.h" #include "z64math.h" #include "unk.h" @@ -110,8 +111,9 @@ typedef struct Actor { /* 0x074 */ f32 speed; /* 0x078 */ f32 gravity; /* 0x07C */ f32 terminalVelocity; - /* 0x080 */ UNK_TYPE1 unk_080[0x34]; - /* 0x0B4 */ UNK_TYPE1 unk_0B4[0x1]; + /* 0x080 */ UNK_TYPE1 unk_080[0x18]; + /* 0x098 */ mCoBG_CheckResult colResult; + /* 0x09C */ UNK_TYPE1 unk_09C[0x19]; /* 0x0B5 */ u8 isDrawn; /* 0x0B6 */ s16 yawTowardsPlayer; /* 0x0B8 */ f32 xyzDistToPlayerSq; diff --git a/include/m_clip.h b/include/m_clip.h index 3f58ad1..844ee70 100644 --- a/include/m_clip.h +++ b/include/m_clip.h @@ -16,6 +16,7 @@ struct ShadowData; struct FurnitureActor; struct WeatherClip; struct ObjectExchangeBank; +struct xyz_t; typedef UNK_RET (*Clip_unk_040_unk_04)(struct ActorOverlay*, const u8*, size_t, s32); typedef UNK_RET (*Clip_unk_040_unk_08)(void); @@ -133,9 +134,11 @@ typedef struct Clip_unk_08C { /* 0x86C */ UNK_TYPE unk_86C; } Clip_unk_08C; // size >= 0x870 +typedef void (*Clip_unk_090_unk_00)(s8, struct xyz_t, s32, s32, struct Game_Play*, s32, s32, s32); typedef void (*Clip_unk_090_unk_30)(Color_RGBA8, s16,s16,s32); typedef struct Clip_unk_090 { - /* 0x00 */ UNK_TYPE1 unk_00[0x30]; + /* 0x00 */ Clip_unk_090_unk_00 unk_00; + /* 0x04 */ UNK_TYPE1 unk_04[0x2C]; /* 0x30 */ Clip_unk_090_unk_30 unk_30; } Clip_unk_090; // size >= 0x34 @@ -153,9 +156,12 @@ typedef struct Clip_unk_0A4 { } Clip_unk_0A4; typedef UNK_RET (*Clip_unk_0A8_unk_4)(void*); +typedef void (*Clip_unk_0A8_unk_C)(struct xyz_t*, f32, UNK_TYPE); typedef struct Clip_unk_0A8 { /* 0x00 */ UNK_TYPE1 unk_00[0x04]; - /* 0x04 */ Clip_unk_0A8_unk_4 unk_4; + /* 0x04 */ Clip_unk_0A8_unk_4 unk_04; + /* 0x08 */ UNK_TYPE1 unk_08[0x04]; + /* 0x0C */ Clip_unk_0A8_unk_C unk_0C; } Clip_unk_0A8; // size >= 0x8 typedef void (*Clip_unk_0B4_unk_4)(void); diff --git a/include/m_collision_bg.h b/include/m_collision_bg.h index b231c38..c3463b6 100644 --- a/include/m_collision_bg.h +++ b/include/m_collision_bg.h @@ -35,6 +35,24 @@ typedef union mCoBG_unkStructUnion { u32 raw; } mCoBG_unkStructUnion; +// collision bg result data +typedef struct mCoBG_CheckResult { + u32 onGround:1; // [31] on_ground + u32 unk1:5; // [30:25] hit_attribute_wall + u32 hitWall:5; // [25:20] hit_wall + u32 unk3:3; // [20:17] hit_wall_count + u32 unk4:1; // [17:16] unk_flag0 + u32 unk5:6; // [16:10] unit_attribute + u32 unk6:1; // [10] is_on_move_bg_obj + u32 inWater:1; // [9] is_in_water + u32 unk8:1; // [8] unk_flag1 + u32 unk9:1; // [7] unk_flag2 + u32 unk10:1; // [6] unk_flag3 + u32 unk11:1; // [5] unk_flag4 + u32 unk12:1; // [4] unk_flag5 + u32 unk13:4; // [3:0] unk_flag6 +} mCoBG_CheckResult; + // void func_80067430_jp(); // void func_800674B0_jp(); // void func_800674D8_jp(); @@ -202,7 +220,7 @@ f32 mCoBG_GetBgY_AngleS_FromWpos(s_xyz* angleToGround, xyz_t wpos, f32 offsetY); // void func_80071A08_jp(); // void func_80071AB8_jp(); f32 mCoBG_GetBgY_OnlyCenter_FromWpos2(xyz_t arg0, f32 arg1); -// void func_80071C1C_jp(); +void mCoBG_GetBgNorm_FromWpos(xyz_t*, xyz_t); // void func_80071DB4_jp(); // void func_800721C8_jp(); // void func_800721E4_jp(); @@ -269,19 +287,19 @@ void mCoBG_SetPluss5PointOffset_file(xyz_t pos, mCoBG_unkStruct2 arg1, char* fil // void func_80075A10_jp(); // void func_80075AB4_jp(); // void func_80075B28_jp(); -// void func_80075EA0_jp(); +f32 mCoBG_GetWaterHeight_File(xyz_t, char*, s32); // void func_8007620C_jp(); // void func_80076248_jp(); // void func_80076270_jp(); // void func_80076280_jp(); -// void func_80076290_jp(); +void mCoBG_GetWaterFlow(xyz_t*, u32); s32 func_80076358_jp(u32 attribute); // void func_8007638C_jp(); // void func_800763F0_jp(); // void func_800763FC_jp(); // void func_8007648C_jp(); // void func_800764CC_jp(); -// void func_800765AC_jp(); +void mCoBG_BgCheckControll(xyz_t*, struct Actor*, f32, f32, s32, s32, s32); // void func_80076778_jp(); // void func_800768C8_jp(); // void func_80076A04_jp(); diff --git a/include/m_common_data.h b/include/m_common_data.h index affa1b0..b872666 100644 --- a/include/m_common_data.h +++ b/include/m_common_data.h @@ -171,7 +171,9 @@ typedef struct CommonData { /* 0x10A3C */ UNK_TYPE1 unk_10A3C[0x2C]; /* 0x10A68 */ u8 unk_10A68; /* 0x10A69 */ UNK_TYPE1 unk_10A69[0x3]; - /* 0x10A6C */ UNK_TYPE1 unk_10A6C[0x14]; + /* 0x10A6C */ xyz_t unk_10A6C; + /* 0x10A78 */ u8 unk_10A78; + /* 0x10A79 */ UNK_TYPE1 unk_10A79[0x7]; /* 0x10A80 */ UNK_TYPE1 unk_10A80[0x2]; /* 0x10A82 */ s16 unk_10A82; /* 0x10A84 */ UNK_TYPE1 unk_10A84[0x2C]; diff --git a/include/m_field_info.h b/include/m_field_info.h index 8f74895..e2b4e5e 100644 --- a/include/m_field_info.h +++ b/include/m_field_info.h @@ -46,8 +46,8 @@ u16 mFI_GetFieldId(void); // void func_80087D30_jp(); // void func_80087DC8_jp(); // void func_80087E14_jp(); -// void func_80087E58_jp(); -// void func_80087E94_jp(); +s32 mFI_GetBlockXMax(void); +s32 mFI_GetBlockZMax(void); // void func_80087ED0_jp(); // void func_80088018_jp(); // void func_80088160_jp(); @@ -71,7 +71,7 @@ s32 mFI_Wpos2BkandUtNuminBlock(s32*,s32*, s32* ,s32* ,xyz_t); // void func_80088B3C_jp(); void mFI_UtNum2PosXZInBk(f32*, f32*, s32,s32); // void func_80088BFC_jp(); -// void func_80088C74_jp(); +void mFI_BkandUtNum2CenterWpos(xyz_t*, s32, s32, s32, s32); // void func_80088CBC_jp(); // void func_80088CD0_jp(); // void func_80088CE4_jp(); @@ -93,7 +93,7 @@ u8 mFI_BkNum2BlockType(s32,s32); // void func_8008930C_jp(); // void func_80089348_jp(); // void func_800893C8_jp(); -// void func_80089404_jp(); +s32 mFI_CheckBlockKind_OR(s32, s32, s32); void mFI_BlockKind2BkNum(s32*,s32*,s32); // void func_800894D0_jp(); mCoBG_unkStructUnion* mFI_GetBkNum2ColTop(s32 arg0, s32 arg1); @@ -165,7 +165,7 @@ s32 func_8008BE00_jp(struct FieldMakeMoveActor*, s32); // void func_8008BFC4_jp(); // void func_8008C058_jp(); s32 mFI_CheckPlayerWade(s32); -// void func_8008C120_jp(); +s32 mFI_GetPlayerWade(void); // void func_8008C130_jp(); u16* mFI_GetDepositP(s32,s32); // void func_8008C344_jp(); diff --git a/include/m_quest.h b/include/m_quest.h index 84732b2..352eba6 100644 --- a/include/m_quest.h +++ b/include/m_quest.h @@ -5,6 +5,7 @@ #include "lb_rtc.h" #include "m_private_internals.h" #include "m_npc_base.h" +#include "m_actor.h" typedef struct QuestBase { /* 0x00 */ u32 questType:2; /* type, 0 = delivery, 1 = errand, 2 = contest, 3 = none */ @@ -114,8 +115,8 @@ QuestErrand* mQst_GetFirstJobData(void); // void func_800BC394_jp(); s32 mQst_GetRandom(s32); // void func_800BC454_jp(); -// void func_800BC528_jp(); -// void func_800BC5D4_jp(); +s32 mQst_CheckSoccerTarget(Actor*); +void mQst_NextSoccer(Actor*); // void func_800BC6B0_jp(); // void func_800BC724_jp(); // void func_800BC830_jp(); diff --git a/include/macros.h b/include/macros.h index b855eb3..05c5990 100644 --- a/include/macros.h +++ b/include/macros.h @@ -22,6 +22,7 @@ #define SEGMENTED_TO_K0(addr) (void*)((gSegments[SEGMENT_NUMBER(addr)] + K0BASE) + SEGMENT_OFFSET(addr)) #define ABS(x) (((x) >= 0) ? (x): -(x)) +#define ABS_F(x) ((x) >= 0.0f) ? (x) : -(x) #define CLAMP(x, min, max) ((x) < (min) ? (min) : (x) > (max) ? (max) : (x)) #define CLAMP_MAX(x, max) ((x) > (max) ? (max) : (x)) diff --git a/include/segment_symbols.h b/include/segment_symbols.h index 26d7801..68d00d4 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -112,6 +112,10 @@ DECLARE_SEGMENT(segment_00E02000); DECLARE_SEGMENT(segment_00E03000); DECLARE_SEGMENT(segment_00E04000); DECLARE_SEGMENT(segment_00E0D000); + +DECLARE_SEGMENT(act_ball_b); +DECLARE_SEGMENT(act_ball_d); +DECLARE_SEGMENT(act_ball_s); DECLARE_SEGMENT(segment_01408000); DECLARE_SEGMENT(segment_01409000); diff --git a/include/sys_math3d.h b/include/sys_math3d.h index 58e1405..b80c42d 100644 --- a/include/sys_math3d.h +++ b/include/sys_math3d.h @@ -27,7 +27,7 @@ typedef struct Pipe { /* 0x6 */ s_xyz pos; } Pipe; // size = 0xC -// void Math3d_normalizeXyz_t(); +f32 Math3d_normalizeXyz_t(xyz_t*); // void func_800DA028_jp(); // void func_800DA148_jp(); // void Math3D_lineVsPosSuisenCross(); diff --git a/include/tables/dmatables/dmadata_table_jp.h b/include/tables/dmatables/dmadata_table_jp.h index cbe1dcd..dc07943 100644 --- a/include/tables/dmatables/dmadata_table_jp.h +++ b/include/tables/dmatables/dmadata_table_jp.h @@ -2231,9 +2231,9 @@ DEFINE_DMA_ENTRY(object_010EE000, "object_010EE000") DEFINE_DMA_ENTRY(object_010F0000, "object_010F0000") DEFINE_DMA_ENTRY(object_010F2000, "object_010F2000") DEFINE_DMA_ENTRY(segment_010F4000, "segment_010F4000") -DEFINE_DMA_ENTRY(segment_01100000, "segment_01100000") -DEFINE_DMA_ENTRY(segment_01101000, "segment_01101000") -DEFINE_DMA_ENTRY(segment_01102000, "segment_01102000") +DEFINE_DMA_ENTRY(act_ball_b, "act_ball_b") +DEFINE_DMA_ENTRY(act_ball_d, "act_ball_d") +DEFINE_DMA_ENTRY(act_ball_s, "act_ball_s") DEFINE_DMA_ENTRY(object_01103000, "object_01103000") DEFINE_DMA_ENTRY(object_01106000, "object_01106000") DEFINE_DMA_ENTRY(tol_umb_01, "tol_umb_01") |
