2023-09-10 19:14:15 +00:00
|
|
|
#ifndef D_A_OBJ
|
|
|
|
#define D_A_OBJ
|
|
|
|
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
2023-09-14 22:42:57 +00:00
|
|
|
#include "d/d_cc_d.h"
|
2023-09-10 19:14:15 +00:00
|
|
|
|
2023-09-16 20:50:52 +00:00
|
|
|
class dBgS_GndChk;
|
|
|
|
class cBgS_PolyInfo;
|
|
|
|
|
2023-09-11 06:47:13 +00:00
|
|
|
namespace daObj {
|
2023-09-10 19:14:15 +00:00
|
|
|
template <typename T>
|
2023-09-11 06:47:13 +00:00
|
|
|
int PrmAbstract(const fopAc_ac_c* actor, T width, T shift) {
|
2023-09-16 20:50:52 +00:00
|
|
|
u32 param = fopAcM_GetParam((fopAc_ac_c*)actor);
|
2023-09-12 05:28:10 +00:00
|
|
|
return ((1 << width) - 1) & (param >> shift);
|
2023-09-10 19:14:15 +00:00
|
|
|
}
|
2023-09-14 22:42:57 +00:00
|
|
|
|
|
|
|
void make_land_effect(fopAc_ac_c*, dBgS_GndChk*, float);
|
2024-08-03 18:34:32 +00:00
|
|
|
cXyz& get_wind_spd(fopAc_ac_c*, float);
|
2024-05-19 00:55:58 +00:00
|
|
|
cXyz& get_path_spd(cBgS_PolyInfo&, float);
|
2023-09-14 22:42:57 +00:00
|
|
|
void posMoveF_stream(fopAc_ac_c*, const cXyz*, const cXyz*, float, float);
|
|
|
|
void posMoveF_grade(fopAc_ac_c*, const cXyz*, const cXyz*, float, float, const cXyz*, float, float, const cXyz*);
|
|
|
|
void quat_rotBaseY(Quaternion*, const cXyz&);
|
|
|
|
void quat_rotBaseY2(Quaternion*, const cXyz&);
|
|
|
|
void quat_rotBaseZ(Quaternion*, const cXyz&);
|
|
|
|
void quat_rotVec(Quaternion*, const cXyz&, const cXyz&);
|
|
|
|
void SetCurrentRoomNo(fopAc_ac_c*, dBgS_GndChk*);
|
2023-09-14 04:16:00 +00:00
|
|
|
void HitSeStart(const cXyz*, int, const dCcD_GObjInf*, unsigned long);
|
2023-09-14 22:42:57 +00:00
|
|
|
void HitEff_sub_kikuzu(const cXyz*, const cXyz*, const dKy_tevstr_c*);
|
|
|
|
void HitEff_kikuzu(const fopAc_ac_c*, const dCcD_Cyl*);
|
|
|
|
void HitEff_hibana(const cXyz*, const cXyz*);
|
2023-09-14 04:16:00 +00:00
|
|
|
void HitEff_hibana(const fopAc_ac_c*, const dCcD_Cyl*);
|
2023-09-10 19:14:15 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* D_A_OBJ */
|