Files
2025-03-28 20:44:06 -04:00

35 lines
1.3 KiB
C++

#ifndef D_A_OBJ
#define D_A_OBJ
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
class dBgS_GndChk;
class cBgS_PolyInfo;
namespace daObj {
template <typename T>
int PrmAbstract(const fopAc_ac_c* actor, T width, T shift) {
u32 param = fopAcM_GetParam((fopAc_ac_c*)actor);
return ((1 << width) - 1) & (param >> shift);
}
void make_land_effect(fopAc_ac_c*, dBgS_GndChk*, f32);
cXyz& get_wind_spd(fopAc_ac_c*, f32);
cXyz& get_path_spd(cBgS_PolyInfo&, f32);
void posMoveF_stream(fopAc_ac_c*, const cXyz*, const cXyz*, f32, f32);
void posMoveF_grade(fopAc_ac_c*, const cXyz*, const cXyz*, f32, f32, const cXyz*, f32, f32, 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*);
void HitSeStart(const cXyz*, int, const dCcD_GObjInf*, u32);
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*);
void HitEff_hibana(const fopAc_ac_c*, const dCcD_Cyl*);
};
#endif /* D_A_OBJ */