mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-08-10 10:43:44 -04:00
A lot of work on Australian version, actors still need to be sorted
This commit is contained in:
@@ -89,4 +89,4 @@ inline int __fpclassifyd(double __value)
|
||||
#define DBL_MAX_EXP 1024
|
||||
#define DBL_MAX_10_EXP 308
|
||||
|
||||
#endif /* _MSL_COMMON_FLOAT_H */
|
||||
#endif /* _MSL_COMMON_FLOAT_H */
|
||||
|
||||
@@ -21,6 +21,17 @@ extern double sin(double deg);
|
||||
extern double cos(double deg);
|
||||
extern double tan(double deg);
|
||||
|
||||
float sinf(float);
|
||||
float cosf(float);
|
||||
|
||||
inline float sinf(float x) {
|
||||
return (float)sin((double)x);
|
||||
}
|
||||
|
||||
inline float cosf(float x) {
|
||||
return (float)cos((double)x);
|
||||
}
|
||||
|
||||
extern double ceil(double);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+2
-2
@@ -115,8 +115,8 @@ extern int sAdo_SubGameOK();
|
||||
extern void sAdo_Tenki(u8 mode);
|
||||
|
||||
extern void sAdos_KishaStatusTrg(u8 state);
|
||||
extern void sAdos_KishaStatusLevel(f32 speed, u32 ongenNum1, u16 angle1, f32 distance1, u32 ongenNum2, u16 angle2,
|
||||
f32 distance2);
|
||||
extern void sAdos_KishaStatusLevel(f32 speed, u32 ongenNum1, f32 distance1, u16 angle1, u32 ongenNum2,
|
||||
f32 distance2, u16 angle2);
|
||||
|
||||
extern int sAdos_GetRadioCounter(Radio_c* radio);
|
||||
extern void sAdos_GetKappaCounter(void* p);
|
||||
|
||||
@@ -67,6 +67,12 @@ struct OSThread
|
||||
|
||||
u8 *stackBase; // the thread's designated stack (high address)
|
||||
u32 *stackEnd; // last word of stack (low address)
|
||||
|
||||
// TODO: we should be using a newer SDK version
|
||||
#if VERSION >= VER_GAFU01_00
|
||||
s32 error;
|
||||
void* specific[2];
|
||||
#endif
|
||||
};
|
||||
|
||||
// Thread states
|
||||
|
||||
+16
-16
@@ -12,32 +12,32 @@ extern "C" {
|
||||
|
||||
#define IRQ_RESET_NORMAL 0
|
||||
#define IRQ_RESET_PRENMI 1
|
||||
#define IRQ_RESET_DELAY 2
|
||||
#define IRQ_RESET_DELAY 2
|
||||
|
||||
#define IRQMGR_MESSAGES_MAX 8
|
||||
|
||||
typedef struct {
|
||||
s16 type;
|
||||
s8 data[30];
|
||||
s16 type;
|
||||
s8 data[30];
|
||||
} irqmgr_mesg_t;
|
||||
|
||||
typedef struct irqmgr_client_s {
|
||||
struct irqmgr_client_s* next;
|
||||
OSMessageQueue* msgQueue;
|
||||
struct irqmgr_client_s* next;
|
||||
OSMessageQueue* msgQueue;
|
||||
} irqmgr_client_t;
|
||||
|
||||
typedef struct {
|
||||
irqmgr_mesg_t msgRetrace;
|
||||
irqmgr_mesg_t msgPreNMI;
|
||||
irqmgr_mesg_t msgDelayPreNMI;
|
||||
OSMessageQueue _msgQueue;
|
||||
OSMessage _msgBuf[IRQMGR_MESSAGES_MAX];
|
||||
OSThread thread;
|
||||
irqmgr_client_t* clients;
|
||||
u8 prenmi;
|
||||
OSTime prenmi_time;
|
||||
OSTimer timer;
|
||||
OSTime retraceTime;
|
||||
irqmgr_mesg_t msgRetrace;
|
||||
irqmgr_mesg_t msgPreNMI;
|
||||
irqmgr_mesg_t msgDelayPreNMI;
|
||||
OSMessageQueue _msgQueue;
|
||||
OSMessage _msgBuf[IRQMGR_MESSAGES_MAX];
|
||||
OSThread thread;
|
||||
irqmgr_client_t* clients;
|
||||
u8 prenmi;
|
||||
OSTime prenmi_time;
|
||||
OSTimer timer;
|
||||
OSTime retraceTime;
|
||||
} irqmgr_t;
|
||||
|
||||
extern void irqmgr_AddClient(irqmgr_client_t* client, OSMessageQueue* msgqueue);
|
||||
|
||||
+2
-2
@@ -22,8 +22,8 @@ extern "C" {
|
||||
|
||||
#define lbRk_KYUU_DAY_START 1
|
||||
|
||||
extern int lbRk_ToSeiyouReki(lbRTC_ymd_c* seiyo_ymd, const lbRTC_ymd_c* kyuu_ymd);
|
||||
extern int lbRk_ToKyuuReki(lbRTC_ymd_c* kyuu_ymd, const lbRTC_ymd_c* seiyo_ymd);
|
||||
extern int lbRk_ToSeiyouReki(lbRTC_ymd_c* seiyo_ymd, lbRTC_ymd_c* kyuu_ymd);
|
||||
extern int lbRk_ToKyuuReki(lbRTC_ymd_c* kyuu_ymd, lbRTC_ymd_c* seiyo_ymd);
|
||||
extern int lbRk_VernalEquinoxDay(int year);
|
||||
extern int lbRk_AutumnalEquinoxDay(int year);
|
||||
extern void lbRk_HarvestMoonDay(lbRTC_ymd_c* harvest_moon_day, int year);
|
||||
|
||||
+7
-7
@@ -339,7 +339,7 @@ extern xyz_t* Camera2_getMicPos_p(GAME_PLAY* play);
|
||||
extern int Camera2NormalState_get(GAME_PLAY* play);
|
||||
extern int Camera2_request_main_wade(GAME_PLAY* play, xyz_t* pos, int priority, f32 goal_time);
|
||||
extern int Camera2_request_main_talk(GAME_PLAY* play, ACTOR* speaker, ACTOR* listener, int priority);
|
||||
extern int Camera2_request_main_talk_pos(GAME_PLAY* play, ACTOR* speaker, xyz_t* listener_pos, int priority);
|
||||
extern int Camera2_request_main_talk_pos(GAME_PLAY* play, ACTOR* speaker, const xyz_t* const listener_pos, int priority);
|
||||
extern int Camera2_request_main_normal(GAME_PLAY* play, int flags, int priority);
|
||||
extern int Camera2_request_main_demo(GAME_PLAY* play, const xyz_t* start_center, const f32 start_dist,
|
||||
const s_xyz* start_dir, const xyz_t* goal_center, const f32 goal_dist,
|
||||
@@ -351,16 +351,16 @@ extern int Camera2_request_main_demo_fromNowPos(GAME_PLAY* play, const xyz_t* go
|
||||
extern int Camera2_request_main_demo_fromNowPos2(GAME_PLAY* play, const xyz_t* goal_center, const f32 goal_delta,
|
||||
const f32 accel_delta, const f32 braking_delta, const int priority);
|
||||
extern int Camera2_request_main_item(GAME_PLAY* play, int type, int priority);
|
||||
extern int Camera2_request_main_lock(GAME_PLAY* play, xyz_t* center_pos, xyz_t* eye_pos, f32 fov_y, int morph_counter,
|
||||
extern int Camera2_request_main_lock(GAME_PLAY* play, const xyz_t* center_pos, const xyz_t* eye_pos, f32 fov_y, int morph_counter,
|
||||
f32 near, f32 far, int priority);
|
||||
extern int Camera2_request_main_door(GAME_PLAY* play, ACTOR* door_actor, u32 flags, int priority);
|
||||
extern int Camera2_request_main_simple2(GAME_PLAY* play, xyz_t* center, s_xyz* dir, f32 dist, int morph_counter,
|
||||
extern int Camera2_request_main_simple2(GAME_PLAY* play, const xyz_t* center, const s_xyz* dir, f32 dist, int morph_counter,
|
||||
int mode, int priority);
|
||||
extern int Camera2_request_main_simple_kirin(GAME_PLAY* play, const xyz_t* center, int priority);
|
||||
extern int Camera2_request_main_simple_fishing(GAME_PLAY* play, const xyz_t* player_pos, const xyz_t* bobber_pos,
|
||||
int priority);
|
||||
extern int Camera2_request_main_simple_fishing_return(GAME_PLAY* play, xyz_t* player_pos, int priority);
|
||||
extern int Camera2_request_main_simple(GAME_PLAY* play, xyz_t* pos, s_xyz* dir, f32 dist, int morph_counter,
|
||||
extern int Camera2_request_main_simple_fishing_return(GAME_PLAY* play, const xyz_t* player_pos, int priority);
|
||||
extern int Camera2_request_main_simple(GAME_PLAY* play, const xyz_t* pos, const s_xyz* dir, f32 dist, int morph_counter,
|
||||
int priority);
|
||||
extern void Camera2_main_Simple_AngleDistStd(GAME_PLAY* play, s_xyz* angle, f32* dist);
|
||||
extern int Camera2_request_main_listen_front_low_talk(GAME_PLAY* play, ACTOR* speaker, ACTOR* listener, int priority);
|
||||
@@ -369,8 +369,8 @@ extern int Camera2_request_main_cust_talk(GAME_PLAY* play, ACTOR* speaker, ACTOR
|
||||
int priority, s16 angle_x, s16 angle_y, f32 distance);
|
||||
extern int Camera2_request_BuySikimono_WallPaper(GAME_PLAY* play, xyz_t* center, xyz_t* eye);
|
||||
extern int Camera2_Inter_set_reverse_mode(GAME_PLAY* play);
|
||||
extern int Camera2_request_main_inter(GAME_PLAY* play, xyz_t* start_center, xyz_t* start_eye, xyz_t* goal_center,
|
||||
xyz_t* goal_eye, f32 s0, f32 s1, u32 flags, int morph_counter, int priority);
|
||||
extern int Camera2_request_main_inter(GAME_PLAY* play, const xyz_t* start_center, const xyz_t* start_eye, const xyz_t* goal_center,
|
||||
const xyz_t* goal_eye, f32 s0, f32 s1, u32 flags, int morph_counter, int priority);
|
||||
extern int Camera2_request_main_staff_roll(GAME_PLAY* play, ACTOR* speaker, ACTOR* listener, int priority);
|
||||
extern void Init_Camera2(GAME_PLAY* play);
|
||||
extern void Camera2_process(GAME_PLAY* play);
|
||||
|
||||
+48
-40
@@ -74,45 +74,45 @@ enum background_attribute {
|
||||
mCoBG_ATTRIBUTE_WOOD,
|
||||
mCoBG_ATTRIBUTE_SEA,
|
||||
|
||||
mCoBG_ATTRIBUTE_25,
|
||||
mCoBG_ATTRIBUTE_26,
|
||||
mCoBG_ATTRIBUTE_27,
|
||||
mCoBG_ATTRIBUTE_28,
|
||||
mCoBG_ATTRIBUTE_29,
|
||||
mCoBG_ATTRIBUTE_30,
|
||||
mCoBG_ATTRIBUTE_31,
|
||||
mCoBG_ATTRIBUTE_32,
|
||||
mCoBG_ATTRIBUTE_33,
|
||||
mCoBG_ATTRIBUTE_34,
|
||||
mCoBG_ATTRIBUTE_35,
|
||||
mCoBG_ATTRIBUTE_36,
|
||||
mCoBG_ATTRIBUTE_37,
|
||||
mCoBG_ATTRIBUTE_38,
|
||||
mCoBG_ATTRIBUTE_39,
|
||||
mCoBG_ATTRIBUTE_40,
|
||||
mCoBG_ATTRIBUTE_41,
|
||||
mCoBG_ATTRIBUTE_42,
|
||||
mCoBG_ATTRIBUTE_43,
|
||||
mCoBG_ATTRIBUTE_44,
|
||||
mCoBG_ATTRIBUTE_45,
|
||||
mCoBG_ATTRIBUTE_46,
|
||||
mCoBG_ATTRIBUTE_47,
|
||||
mCoBG_ATTRIBUTE_48,
|
||||
mCoBG_ATTRIBUTE_49,
|
||||
mCoBG_ATTRIBUTE_50,
|
||||
mCoBG_ATTRIBUTE_51,
|
||||
mCoBG_ATTRIBUTE_52,
|
||||
mCoBG_ATTRIBUTE_53,
|
||||
mCoBG_ATTRIBUTE_54,
|
||||
mCoBG_ATTRIBUTE_55,
|
||||
mCoBG_ATTRIBUTE_56,
|
||||
mCoBG_ATTRIBUTE_57,
|
||||
mCoBG_ATTRIBUTE_58,
|
||||
mCoBG_ATTRIBUTE_59,
|
||||
mCoBG_ATTRIBUTE_60,
|
||||
mCoBG_ATTRIBUTE_61,
|
||||
mCoBG_ATTRIBUTE_62,
|
||||
mCoBG_ATTRIBUTE_63,
|
||||
mCoBG_ATTRIBUTE_25, // wave_se2
|
||||
mCoBG_ATTRIBUTE_26, // wave_sw2
|
||||
mCoBG_ATTRIBUTE_27, // wood bridge nw
|
||||
mCoBG_ATTRIBUTE_28, // wood bridge sw
|
||||
mCoBG_ATTRIBUTE_29, // wood bridge se
|
||||
mCoBG_ATTRIBUTE_30, // wood bridge ne
|
||||
mCoBG_ATTRIBUTE_31, // wood bridge center
|
||||
mCoBG_ATTRIBUTE_32, // stone bridge n
|
||||
mCoBG_ATTRIBUTE_33, // stone bridge e
|
||||
mCoBG_ATTRIBUTE_34, // stone bridge w
|
||||
mCoBG_ATTRIBUTE_35, // stone bridge s
|
||||
mCoBG_ATTRIBUTE_36, // wave_s
|
||||
mCoBG_ATTRIBUTE_37, // wave_se
|
||||
mCoBG_ATTRIBUTE_38, // wave_sw
|
||||
mCoBG_ATTRIBUTE_39, // river bank nw
|
||||
mCoBG_ATTRIBUTE_40, // river bank sw
|
||||
mCoBG_ATTRIBUTE_41, // river bank se
|
||||
mCoBG_ATTRIBUTE_42, // river bank ne
|
||||
mCoBG_ATTRIBUTE_43, // grass 3 north (river)
|
||||
mCoBG_ATTRIBUTE_44, // grass 3 east (river)
|
||||
mCoBG_ATTRIBUTE_45, // grass 3 west (river)
|
||||
mCoBG_ATTRIBUTE_46, // grass 3 south (river)
|
||||
mCoBG_ATTRIBUTE_47, // grass 4 north (cliff)
|
||||
mCoBG_ATTRIBUTE_48, // grass 4 east (cliff)
|
||||
mCoBG_ATTRIBUTE_49, // grass 4 west (cliff)
|
||||
mCoBG_ATTRIBUTE_50, // grass 4 south (cliff)
|
||||
mCoBG_ATTRIBUTE_51, // grass 4 tunnel left upper
|
||||
mCoBG_ATTRIBUTE_52, // grass 4 tunnel left lower
|
||||
mCoBG_ATTRIBUTE_53, // grass 4 tunnel right lower
|
||||
mCoBG_ATTRIBUTE_54, // grass 4 tunnel right upper
|
||||
mCoBG_ATTRIBUTE_55, // grass 3 north west (cliff)
|
||||
mCoBG_ATTRIBUTE_56, // grass 3 south west (cliff)
|
||||
mCoBG_ATTRIBUTE_57, // grass 3 south east (cliff)
|
||||
mCoBG_ATTRIBUTE_58, // grass 3 north east (cliff)
|
||||
mCoBG_ATTRIBUTE_59, // grass 3 north west (river bank)
|
||||
mCoBG_ATTRIBUTE_60, // grass 3 south west (river bank)
|
||||
mCoBG_ATTRIBUTE_61, // grass 3 south east (river bank)
|
||||
mCoBG_ATTRIBUTE_62, // grass 3 north east (river bank)
|
||||
mCoBG_ATTRIBUTE_63, // slate (slope)
|
||||
// ...
|
||||
|
||||
mCoBG_ATTRIBUTE_NONE = 100
|
||||
@@ -457,7 +457,11 @@ extern int mCoBG_CheckSandUt_ForFish(xyz_t* pos);
|
||||
extern int mCoBG_CheckSandHole_ClData(mCoBG_Collision_u* col);
|
||||
extern int mCoBG_BnumUnum2SandHole(int bx, int bz, int b_ux, int b_uz);
|
||||
extern int mCoBG_CheckHole(xyz_t pos);
|
||||
extern int mCoBG_CheckSkySwing(xyz_t pos);
|
||||
#if VERSION >= VER_GAFU01_00
|
||||
extern int mCoBG_CheckAirSwing(xyz_t pos);
|
||||
#else
|
||||
extern int mCoBG_CheckAirSwing(xyz_t pos);
|
||||
#endif
|
||||
extern int mCoBG_CheckGrassX_ClData(mCoBG_Collision_u* col);
|
||||
extern int mCoBG_CheckGrassX(const xyz_t* pos);
|
||||
extern int mCoBG_CheckWave_ClData(mCoBG_Collision_u* col);
|
||||
@@ -496,7 +500,11 @@ extern void mCoBG_Ut2SetDefaultOffset(int ux, int uz);
|
||||
|
||||
extern int mCoBG_LineCheck_RemoveFg(xyz_t* rev, xyz_t start_pos, xyz_t end_pos, mCoBG_COLUMN_CHECK_ITEM_TYPE_PROC check_proc, int line_check_type);
|
||||
|
||||
#if VERSION >= VER_GAFU01_00
|
||||
extern f32 mCoBG_Wpos2BgHeight_AngleSXXX(s_xyz* ground_angle, xyz_t pos, f32 ground_dist);
|
||||
#else
|
||||
extern f32 mCoBG_GetBgY_AngleS_FromWpos2(s_xyz* ground_angle, xyz_t pos, f32 ground_dist);
|
||||
#endif
|
||||
extern f32 mCoBG_GetWaterHeight_File(xyz_t pos, char* file, int line);
|
||||
#define mCoBG_GetWaterHeight(wpos) mCoBG_GetWaterHeight_File(wpos, __FILE__, __LINE__)
|
||||
extern int mCoBG_CheckWaterAttribute(u32 attr);
|
||||
|
||||
@@ -28,7 +28,7 @@ enum {
|
||||
extern void mEv_fishRecord_set(PersonalID_c* pid, int size);
|
||||
extern int mFR_fish_rndsize(int fish_size);
|
||||
extern int mFR_make_NpcRecord(lbRTC_hour_t hour);
|
||||
extern void mEv_fishRecord_holder(PersonalID_c* winning_pid, u32* winning_size, lbRTC_ymd_c* contest_date);
|
||||
extern void mEv_fishRecord_holder(PersonalID_c* winning_pid, u32* winning_size, const lbRTC_ymd_c* contest_date);
|
||||
extern int mEv_fishday(lbRTC_ymd_c* dates, lbRTC_time_c* time);
|
||||
extern void mFR_fishmail();
|
||||
|
||||
|
||||
@@ -24,6 +24,12 @@ extern "C" {
|
||||
#define mEnv_WIND_TERM_NUM 4u
|
||||
#define mEnv_WIND_CHANGE_RATE (f32)(10 * mTM_SECONDS_IN_MINUTE * 60) // 60fps, 10 minutes
|
||||
|
||||
#if VERSION == VER_GAFU01_00
|
||||
#define mEnv_CHANGE_WEATHER_ENV_RATE (1.0f/250.0f);
|
||||
#else
|
||||
#define mEnv_CHANGE_WEATHER_ENV_RATE (1.0f/600.0f);
|
||||
#endif
|
||||
|
||||
enum weather {
|
||||
mEnv_WEATHER_CLEAR,
|
||||
mEnv_WEATHER_RAIN,
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ extern "C" {
|
||||
|
||||
extern void mLd_StartFlagOn();
|
||||
extern int mLd_CheckStartFlag();
|
||||
extern int mLd_NullCheckLandName(const u8* land_name);
|
||||
extern int mLd_NullCheckLandName(u8* land_name);
|
||||
extern int mLd_CheckId(u16 land_id);
|
||||
extern int mLd_CheckCmpLandName(u8* name_a, u8* name_b);
|
||||
extern int mLd_CheckCmpLand(u8* name_a, u16 id_a, u8* name_b, u16 id_b);
|
||||
|
||||
@@ -2142,6 +2142,10 @@ struct player_actor_s {
|
||||
/* 0x0F24 */ u32 item_net_catch_label_request_force;
|
||||
/* 0x0F28 */ s8 item_net_catch_type_request_force;
|
||||
/* 0x0F2C */ int item_net_catch_insect_idx;
|
||||
#if VERSION >= VER_GAFU01_00
|
||||
/* 0x0F30 */ xyz_t item_net_catch_correct_pos;
|
||||
/* 0x0F3C */ int item_net_catch_correct_pos_set;
|
||||
#endif
|
||||
/* 0x0F30 */ ACTOR* fishing_rod_actor_p;
|
||||
/* 0x0F34 */ xyz_t item_rod_top_pos;
|
||||
/* 0x0F40 */ xyz_t item_rod_virtual_top_pos;
|
||||
|
||||
+1
-1
@@ -292,7 +292,7 @@ struct tag_ovl_s {
|
||||
};
|
||||
|
||||
extern int mTG_mark_main(Submenu*, mSM_MenuInfo_c*, int, int*);
|
||||
extern int mTG_mark_mainX(Submenu*, mSM_MenuInfo_c*, int, int, int, int*);
|
||||
extern int mTG_mark_mainX(Submenu*, const mSM_MenuInfo_c*, int, int, int, int*);
|
||||
|
||||
extern void mTG_tag_ovl_construct(Submenu* submenu);
|
||||
extern void mTG_tag_ovl_destruct(Submenu* submenu);
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ extern void mTM_set_season();
|
||||
extern int mTM_check_renew_time(u8 renew_flag);
|
||||
extern void mTM_off_renew_time(u8 renew_flag);
|
||||
extern void mTM_set_renew_is();
|
||||
extern void mTM_set_renew_time(lbRTC_ymd_c* renew_time, const lbRTC_time_c* time);
|
||||
extern void mTM_set_renew_time(lbRTC_ymd_c* renew_time, lbRTC_time_c* time);
|
||||
extern void mTM_ymd_2_time(lbRTC_time_c* time, lbRTC_ymd_c* ymd);
|
||||
extern void mTM_renewal_renew_time();
|
||||
extern void mTM_clear_renew_is();
|
||||
|
||||
@@ -8,8 +8,21 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if VERSION >= VER_GAFU01_00
|
||||
#define mTRC_SLOW_SPEED 2.6f // speed stopping/starting
|
||||
#define mTRC_FAST_SPEED 7.2f // speed when farther away from station
|
||||
#define mTRC_SLOW_RATE (0.21000001f) // rate at which slowing down occurs
|
||||
#define mTRC_STOP_RATE 0.0084f // rate at which stopping occurs
|
||||
#define mTRC_START_RATE 0.0047f // rate at which starting occurs
|
||||
#define mTRC_SPEEDUP_RATE 0.0047f // rate at which speeding up occurs
|
||||
#else
|
||||
#define mTRC_SLOW_SPEED 2.0f // speed stopping/starting
|
||||
#define mTRC_FAST_SPEED 6.0f // speed when farther away from station
|
||||
#define mTRC_SLOW_RATE 0.01f // rate at which slowing down occurs
|
||||
#define mTRC_STOP_RATE 0.005f // rate at which stopping occurs
|
||||
#define mTRC_START_RATE 0.00345f // rate at which starting occurs
|
||||
#define mTRC_SPEEDUP_RATE 0.00345f // rate at which speeding up occurs
|
||||
#endif
|
||||
|
||||
enum {
|
||||
mTRC_ACTION_NONE,
|
||||
|
||||
@@ -24,7 +24,12 @@ extern "C" {
|
||||
#define USHT_MIN ((f32)USHT_MIN_S)
|
||||
#define USHT_MAX ((f32)USHT_MAX_S)
|
||||
|
||||
#if VERSION >= VER_GAFU01_00
|
||||
extern u32 __float_max[];
|
||||
#define FLT_MAX *(float*)__float_max;
|
||||
#else
|
||||
#define FLT_MAX (3.4028235e+38f)
|
||||
#endif
|
||||
|
||||
/* Macro to generate a random float in the range of [0, n) */
|
||||
#define RANDOM_F(n) (fqrand() * (f32)(n))
|
||||
|
||||
@@ -73,13 +73,13 @@ extern f32 Math3DLength2D(f32 x0, f32 x1, f32 y0, f32 y1);
|
||||
extern f32 Math3DVecLengthSquare(xyz_t* v);
|
||||
extern f32 Math3DVecLength(xyz_t* v);
|
||||
extern f32 Math3DLengthSquare(xyz_t* a, xyz_t* b);
|
||||
extern f32 Math3DLength(xyz_t* a, xyz_t* b);
|
||||
extern void Math3DVectorProduct2Vec(const xyz_t* a, xyz_t* b, xyz_t* ret);
|
||||
extern f32 Math3DLength(const xyz_t* a, const xyz_t* b);
|
||||
extern void Math3DVectorProduct2Vec(const xyz_t* a, const xyz_t* b, xyz_t* ret);
|
||||
extern void Math3DVectorProductXYZ(xyz_t* va, xyz_t* vb, xyz_t* vc, xyz_t* ret);
|
||||
extern void Math3DPlane(xyz_t* va, xyz_t* vb, xyz_t* vc, f32* nox, f32* noy, f32* noz, f32* odist);
|
||||
extern f32 Math3DPlaneFunc(f32 nox, f32 noy, f32 noz, f32 odist, xyz_t* pl);
|
||||
extern f32 Math3DLengthPlaneAndPos(f32 nox, f32 noy, f32 noz, f32 odist, xyz_t* pl);
|
||||
extern f32 Math3DSignedLengthPlaneAndPos(f32 nox, f32 noy, f32 noz, f32 odist, xyz_t* pl);
|
||||
extern f32 Math3DPlaneFunc(f32 nox, f32 noy, f32 noz, f32 odist, const xyz_t* pl);
|
||||
extern f32 Math3DLengthPlaneAndPos(f32 nox, f32 noy, f32 noz, f32 odist, const xyz_t* pl);
|
||||
extern f32 Math3DSignedLengthPlaneAndPos(f32 nox, f32 noy, f32 noz, f32 odist, const xyz_t* pl);
|
||||
extern int Math3DTriangleCrossYCheck_general(xyz_t* v0, xyz_t* v1, xyz_t* v2, f32 z, f32 x, f32 dt, f32 dist, f32 noy);
|
||||
extern int Math3DTriangleCrossYLine_scope(xyz_t* v0, xyz_t* v1, xyz_t* v2, f32 nox, f32 noy, f32 noz, f32 dst, f32 z,
|
||||
f32 x, f32* yint, f32 y0, f32 y1);
|
||||
|
||||
Reference in New Issue
Block a user