Started work on pushable boxes (#32)

* Started work on pushable boxes

* Minor fixes

* Fix inlines

* Comment GetHomeRoomNo
This commit is contained in:
LagoLunatic
2023-09-14 18:42:57 -04:00
committed by GitHub
parent b0eb3c4f2b
commit c754cf4e2a
11 changed files with 936 additions and 687 deletions
+15 -1
View File
@@ -2,6 +2,7 @@
#define D_A_OBJ
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
namespace daObj {
template <typename T>
@@ -9,8 +10,21 @@ namespace daObj {
u32 param = fopAcM_GetParam(actor);
return ((1 << width) - 1) & (param >> shift);
}
void make_land_effect(fopAc_ac_c*, dBgS_GndChk*, float);
void get_wind_spd(fopAc_ac_c*, float);
void get_path_spd(cBgS_PolyInfo&, float);
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*);
void HitSeStart(const cXyz*, int, const dCcD_GObjInf*, unsigned long);
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*);
};
+6 -3
View File
@@ -5,8 +5,11 @@
#include "f_op/f_op_actor_mng.h"
class dBgW;
typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*,
csXyz*);
typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
void dBgS_MoveBGProc_Typical(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
void dBgS_MoveBGProc_RotY(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
void dBgS_MoveBGProc_TypicalRotY(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
void dBgS_MoveBGProc_Trans(dBgW*, void*, cBgS_PolyInfo&, bool, cXyz*, csXyz*, csXyz*);
class dBgS_MoveBgActor : public fopAc_ac_c {
public:
@@ -15,7 +18,7 @@ public:
dBgS_MoveBgActor();
int MoveBGCreateHeap();
int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32);
int MoveBGCreate(char const* resName, int resIndex, MoveBGActor_SetFunc callback, u32 resSize);
int MoveBGDelete();
int MoveBGExecute();
+2 -2
View File
@@ -759,8 +759,8 @@ inline void* dComIfG_getObjectRes(const char* arcName, const char* resName) {
return g_dComIfG_gameInfo.mResControl.getObjectRes(arcName, resName);
}
inline void* dComIfG_getObjectRes(const char* arcName, int param_1) {
return g_dComIfG_gameInfo.mResControl.getObjectRes(arcName, param_1);
inline void* dComIfG_getObjectRes(const char* arcName, int index) {
return g_dComIfG_gameInfo.mResControl.getObjectRes(arcName, index);
}
inline void* dComIfG_getObjectIDRes(const char* arcName, int id) {
+30
View File
@@ -0,0 +1,30 @@
#ifndef D_PATH_H
#define D_PATH_H
#include "d/d_bg_s.h"
#include "dolphin/types.h"
struct dPath__Point {
/* 0x00 */ u8 mArg0;
/* 0x01 */ u8 mArg1;
/* 0x02 */ u8 mArg2;
/* 0x03 */ u8 mArg3;
/* 0x04 */ cXyz mPos;
};
struct dPath {
/* 0x00 */ u16 mNum;
/* 0x02 */ u16 mNextPathId;
/* 0x04 */ u8 mArg0;
/* 0x05 */ u8 mLoops;
/* 0x06 */ u8 field4_0x6;
/* 0x07 */ u8 field5_0x7;
/* 0x08 */ dPath__Point* mpPnt;
};
dPath__Point* dPath_GetPnt(dPath*, int);
dPath* dPath_GetRoomPath(int, int);
void dPath_GetNextRoomPath(dPath*, int);
void dPath_GetPolyRoomPathVec(cBgS_PolyInfo&, cXyz*, int*);
#endif /* D_PATH_H */
+2 -2
View File
@@ -68,8 +68,8 @@ public:
return getRes(arcName, resName, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
void* getObjectRes(const char* arcName, s32 param_1) {
return getRes(arcName, param_1, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
void* getObjectRes(const char* arcName, s32 index) {
return getRes(arcName, index, &mObjectInfo[0], ARRAY_SIZE(mObjectInfo));
}
void* getObjectIDRes(const char* arcName, u16 id) {