mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_a_cstatue Matching (#2419)
* d_a_cstatue * fix includes in d_com_inf_game * remove todos * create daCstatue_TYPE enum * name fields and add enums * fix procCopyRodSwingInit * apply suggestions
This commit is contained in:
+150
-87
File diff suppressed because it is too large
Load Diff
+101
-56
@@ -5,10 +5,54 @@
|
||||
#include "d/d_particle_copoly.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
enum daCstatue_FLG0 {
|
||||
daCstatue_FLG0_1 = 0x1,
|
||||
daCstatue_FLG0_2 = 0x2,
|
||||
daCstatue_FLG0_4 = 0x4,
|
||||
daCstatue_FLG0_8 = 0x8,
|
||||
daCstatue_FLG0_10 = 0x10,
|
||||
daCstatue_FLG0_20 = 0x20,
|
||||
daCstatue_FLG0_Demo = 0x40,
|
||||
daCstatue_FLG0_80 = 0x80,
|
||||
daCstatue_FLG0_100 = 0x100,
|
||||
daCstatue_FLG0_200 = 0x200,
|
||||
daCstatue_FLG0_400 = 0x400,
|
||||
daCstatue_FLG0_800 = 0x800,
|
||||
daCstatue_FLG0_1000 = 0x1000,
|
||||
};
|
||||
|
||||
enum daCstatue_MoveMode {
|
||||
daCstatue_MoveMode_0,
|
||||
daCstatue_MoveMode_1,
|
||||
daCstatue_MoveMode_2,
|
||||
daCstatue_MoveMode_3,
|
||||
};
|
||||
|
||||
enum daCstatue_DemoMode {
|
||||
daCstatue_DemoMode_0,
|
||||
daCstatue_DemoMode_1,
|
||||
daCstatue_DemoMode_2,
|
||||
daCstatue_DemoMode_3,
|
||||
};
|
||||
|
||||
enum daCstatueWarpMode {
|
||||
daCstatueWarpMode_Active = 0x1,
|
||||
daCstatueWarpMode_Ground = 0x2,
|
||||
};
|
||||
|
||||
enum daCstatueType {
|
||||
daCstatueType_Normal,
|
||||
daCstatueType_Small,
|
||||
daCstatueType_Normal2,
|
||||
daCstatueType_BossRight,
|
||||
daCstatueType_BossLeft,
|
||||
daCstatueType_N,
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-unsorted
|
||||
* @class daCstatue_c
|
||||
* @brief Dominion Rod Statue (small?)
|
||||
* @brief Dominion Rod Statue
|
||||
*
|
||||
* @details
|
||||
*
|
||||
@@ -16,84 +60,85 @@
|
||||
class daCstatue_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 806636AC */ void atHitCallback(fopAc_ac_c*);
|
||||
/* 806636EC */ void createHeap();
|
||||
/* 80663D28 */ void create();
|
||||
/* 806636EC */ int createHeap();
|
||||
/* 80663D28 */ int create();
|
||||
/* 80664840 */ ~daCstatue_c();
|
||||
/* 80664AA0 */ void setRoomInfo();
|
||||
/* 80664B38 */ void setMatrix();
|
||||
/* 80664C9C */ void posMove();
|
||||
/* 8066555C */ void setCollision();
|
||||
/* 80665E14 */ void checkHammerReverse();
|
||||
/* 80665E14 */ BOOL checkHammerReverse();
|
||||
/* 80665F80 */ void setDemo();
|
||||
/* 80666390 */ void setAnime();
|
||||
/* 80666B80 */ void initBrk(u16);
|
||||
/* 80666B80 */ int initBrk(u16);
|
||||
/* 80666BF8 */ void initStopBrkBtk();
|
||||
/* 80666C38 */ void initStartBrkBtk();
|
||||
/* 80666DE8 */ void execute();
|
||||
/* 80667438 */ void draw();
|
||||
/* 80666DE8 */ int execute();
|
||||
/* 80667438 */ int draw();
|
||||
|
||||
bool checkNormalType() const { return mType == 0; }
|
||||
bool checkNotSmallType() const { return mType == 1; }
|
||||
bool checkBossType() const { return mType == 4 || mType == 3; }
|
||||
bool checkBossAtGroundHit() const { return mBossAtGndHit == 1; }
|
||||
bool checkNormalType() const { return mType == daCstatueType_Normal; }
|
||||
bool checkNotSmallType() const { return mType != daCstatueType_Small; }
|
||||
bool checkBossType() const {
|
||||
return mType == daCstatueType_BossLeft || mType == daCstatueType_BossRight;
|
||||
}
|
||||
cXyz& getBallPos() { return mBallPos; }
|
||||
void onWarpGround(const cXyz& pos) {
|
||||
field_0xb14 = pos;
|
||||
field_0xae1 = 3;
|
||||
void onWarpGround(const cXyz& pos) {
|
||||
mWarpTarget = pos;
|
||||
mWarpMode = daCstatueWarpMode_Active | daCstatueWarpMode_Ground;
|
||||
}
|
||||
void warpStart(const cXyz& pos) {
|
||||
field_0xb14 = pos;
|
||||
field_0xae1 = 1;
|
||||
}
|
||||
void onStateFlg0(int flg) {
|
||||
mStateFlg0 |= flg;
|
||||
mWarpTarget = pos;
|
||||
mWarpMode = daCstatueWarpMode_Active;
|
||||
}
|
||||
void onStateFlg0(daCstatue_FLG0 flg) { mStateFlg0 |= flg; }
|
||||
void offStateFlg0(daCstatue_FLG0 flg) { mStateFlg0 &= ~flg; }
|
||||
bool checkStateFlg0(daCstatue_FLG0 flg) const { return mStateFlg0 & flg; }
|
||||
void warpDelete() {
|
||||
onStateFlg0(1);
|
||||
field_0xae1 = 1;
|
||||
onStateFlg0(daCstatue_FLG0_1);
|
||||
mWarpMode = daCstatueWarpMode_Active;
|
||||
}
|
||||
|
||||
static u8 const m_bckIdxTable[70 + 2 /* padding */];
|
||||
static u16 const m_bckIdxTable[daCstatueType_N][7];
|
||||
|
||||
private:
|
||||
/* 0x568 */ char* mResName;
|
||||
/* 0x568 */ const char* mResName;
|
||||
/* 0x56C */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x574 */ J3DModel* field_0x574;
|
||||
/* 0x578 */ mDoExt_McaMorfSO* field_0x578;
|
||||
/* 0x57C */ mDoExt_btkAnm field_0x57c;
|
||||
/* 0x594 */ mDoExt_brkAnm field_0x594;
|
||||
/* 0x5AC */ dBgS_AcchCir field_0x5ac[4];
|
||||
/* 0x6AC */ dBgS_StatueAcch field_0x6ac;
|
||||
/* 0x884 */ dCcD_Stts field_0x884;
|
||||
/* 0x8C0 */ dCcD_Cyl field_0x8c0;
|
||||
/* 0x9FC */ dCcD_Cyl* field_0x9fc;
|
||||
/* 0xA00 */ dCcD_Cps* field_0xa00;
|
||||
/* 0xA04 */ dCcD_Cps* field_0xa04;
|
||||
/* 0xA08 */ dCcD_Sph* field_0xa08;
|
||||
/* 0xA0C */ mDoExt_invisibleModel field_0xa0c;
|
||||
/* 0xA14 */ Z2Creature field_0xa14;
|
||||
/* 0xAA4 */ dPaPo_c field_0xaa4;
|
||||
/* 0xADC */ u8 mReverb;
|
||||
/* 0x574 */ J3DModel* mModel;
|
||||
/* 0x578 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x57C */ mDoExt_btkAnm mAnim1;
|
||||
/* 0x594 */ mDoExt_brkAnm mAnim2;
|
||||
/* 0x5AC */ dBgS_AcchCir mAcchCir[4];
|
||||
/* 0x6AC */ dBgS_StatueAcch mStatueAcch;
|
||||
/* 0x884 */ dCcD_Stts mStts;
|
||||
/* 0x8C0 */ dCcD_Cyl mCyl1;
|
||||
/* 0x9FC */ dCcD_Cyl* mCyl2;
|
||||
/* 0xA00 */ dCcD_Cps* mCps1;
|
||||
/* 0xA04 */ dCcD_Cps* mCps2;
|
||||
/* 0xA08 */ dCcD_Sph* mSph;
|
||||
/* 0xA0C */ mDoExt_invisibleModel mInvisible;
|
||||
/* 0xA14 */ Z2Creature mSound;
|
||||
/* 0xAA4 */ dPaPo_c mPaPo;
|
||||
/* 0xADC */ s8 mReverb;
|
||||
/* 0xADD */ u8 mType;
|
||||
/* 0xADE */ u8 field_0xade;
|
||||
/* 0xADF */ u8 field_0xadf;
|
||||
/* 0xAE0 */ u8 field_0xae0;
|
||||
/* 0xAE1 */ u8 field_0xae1;
|
||||
/* 0xAE2 */ u8 field_0xae2;
|
||||
/* 0xAE3 */ u8 field_0xae3;
|
||||
/* 0xAE4 */ u8 field_0xae4;
|
||||
/* 0xADE */ u8 mParam0;
|
||||
/* 0xADF */ u8 mCurrentAnim;
|
||||
/* 0xAE0 */ u8 mMoveMode;
|
||||
/* 0xAE1 */ u8 mWarpMode;
|
||||
/* 0xAE2 */ u8 mParam1;
|
||||
/* 0xAE3 */ u8 mDemoMode;
|
||||
/* 0xAE4 */ u8 mParam2;
|
||||
/* 0xAE5 */ u8 mBossAtGndHit;
|
||||
/* 0xAE6 */ u8 field_0xae6[0xAE8 - 0xAE6];
|
||||
/* 0xAE8 */ s16 field_0xae8;
|
||||
/* 0xAEA */ s16 field_0xaea;
|
||||
/* 0xAE6 */ u16 unused;
|
||||
/* 0xAE8 */ s16 mDemoTimer;
|
||||
/* 0xAEA */ s16 mTimer1;
|
||||
/* 0xAEC */ u32 mStateFlg0;
|
||||
/* 0xAF0 */ u32 field_0xaf0;
|
||||
/* 0xAF4 */ f32 field_0xaf4;
|
||||
/* 0xAF8 */ f32 field_0xaf8;
|
||||
/* 0xAFC */ f32 field_0xafc;
|
||||
/* 0xB00 */ f32 field_0xb00;
|
||||
/* 0xB04 */ f32 field_0xb04;
|
||||
/* 0xB08 */ cXyz field_0xb08;
|
||||
/* 0xB14 */ cXyz field_0xb14;
|
||||
/* 0xAF0 */ u32 mShadowKey;
|
||||
/* 0xAF4 */ cXyz mSomePos;
|
||||
/* 0xB00 */ f32 mControlDistanceOffset;
|
||||
/* 0xB04 */ f32 mTargetFrame;
|
||||
/* 0xB08 */ cXyz mLinkPos;
|
||||
/* 0xB14 */ cXyz mWarpTarget;
|
||||
/* 0xB20 */ cXyz mBallPos;
|
||||
};
|
||||
|
||||
|
||||
@@ -257,7 +257,7 @@ public:
|
||||
SetStatue();
|
||||
}
|
||||
|
||||
/* 806646F8 */ virtual ~dBgS_StatueAcch();
|
||||
/* 806646F8 */ virtual ~dBgS_StatueAcch() {}
|
||||
};
|
||||
|
||||
class dBgS_BombAcch : public dBgS_Acch {
|
||||
|
||||
+36
-27
@@ -1,17 +1,17 @@
|
||||
#ifndef D_COM_D_COM_INF_GAME_H
|
||||
#define D_COM_D_COM_INF_GAME_H
|
||||
|
||||
#include "d/d_cc_s.h"
|
||||
#include "d/d_attention.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/d_vibration.h"
|
||||
#include "d/d_cc_s.h"
|
||||
#include "d/d_event.h"
|
||||
#include "d/d_event_manager.h"
|
||||
#include "d/d_particle.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/d_save.h"
|
||||
#include "d/d_vibration.h"
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "global.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
|
||||
class JKRAramArchive;
|
||||
class dSmplMdl_draw_c;
|
||||
@@ -681,7 +681,9 @@ public:
|
||||
}
|
||||
|
||||
f32 getCameraZoomForcus(int i_no) { return mCameraInfo[i_no].mCameraZoomForcus; }
|
||||
void setCameraZoomForcus(int i_no, f32 i_focus) { mCameraInfo[i_no].mCameraZoomForcus = i_focus; }
|
||||
void setCameraZoomForcus(int i_no, f32 i_focus) {
|
||||
mCameraInfo[i_no].mCameraZoomForcus = i_focus;
|
||||
}
|
||||
|
||||
f32 getCameraZoomScale(int i_no) { return mCameraInfo[i_no].mCameraZoomScale; }
|
||||
void setCameraZoomScale(int i_no, f32 i_scale) { mCameraInfo[i_no].mCameraZoomScale = i_scale; }
|
||||
@@ -916,7 +918,8 @@ inline BOOL dComIfG_isDebugMode() {
|
||||
/**
|
||||
* Attempts to add a new Object Resource Archive (*.arc) into the Resource Control.
|
||||
* @param i_arcName Name of archive to be added
|
||||
* @param i_mountDirection The direction to mount the archive. mDoDvd_MOUNT_DIRECTION_HEAD or mDoDvd_MOUNT_DIRECTION_TAIL
|
||||
* @param i_mountDirection The direction to mount the archive. mDoDvd_MOUNT_DIRECTION_HEAD or
|
||||
* mDoDvd_MOUNT_DIRECTION_TAIL
|
||||
* @param i_heap Pointer to heap to load resources into
|
||||
* @return TRUE if successful, FALSE otherwise
|
||||
*/
|
||||
@@ -1397,6 +1400,10 @@ inline void dComIfGs_onTbox(int i_no) {
|
||||
g_dComIfG_gameInfo.info.getMemory().getBit().onTbox(i_no);
|
||||
}
|
||||
|
||||
inline void dComIfGs_offTbox(int i_no) {
|
||||
g_dComIfG_gameInfo.info.getMemory().getBit().offTbox(i_no);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isSaveItem(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isItem(i_no);
|
||||
}
|
||||
@@ -1641,7 +1648,8 @@ inline s8 dComIfGs_getHorseRestartRoomNo() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getRoomNo();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i_angle, s8 i_roomNo) {
|
||||
inline void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i_angle,
|
||||
s8 i_roomNo) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().set(i_stageName, i_pos, i_angle, i_roomNo);
|
||||
}
|
||||
|
||||
@@ -2176,8 +2184,8 @@ inline void dComIfGp_att_LookRequest(fopAc_ac_c* param_0, f32 i_horizontalDist,
|
||||
|
||||
inline void dComIfGp_att_CatchRequest(fopAc_ac_c* param_0, u8 param_1, f32 i_horizontalDist,
|
||||
f32 i_upDist, f32 i_downDist, s16 i_angle, int param_5) {
|
||||
dComIfGp_getAttention().CatchRequest(param_0, param_1, i_horizontalDist, i_upDist,
|
||||
i_downDist, i_angle, param_5);
|
||||
dComIfGp_getAttention().CatchRequest(param_0, param_1, i_horizontalDist, i_upDist, i_downDist,
|
||||
i_angle, param_5);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* dComIfGp_att_getLookTarget() {
|
||||
@@ -2873,11 +2881,13 @@ inline u32 dComIfGp_getCameraAttentionStatus(int i_no) {
|
||||
return g_dComIfG_gameInfo.play.getCameraAttentionStatus(i_no);
|
||||
}
|
||||
|
||||
inline void dComIfGp_saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy, s16 i_bank) {
|
||||
inline void dComIfGp_saveCameraPosition(int i, cXyz* i_pos, cXyz* i_target, f32 i_fovy,
|
||||
s16 i_bank) {
|
||||
g_dComIfG_gameInfo.play.saveCameraPosition(i, i_pos, i_target, i_fovy, i_bank);
|
||||
}
|
||||
|
||||
inline void dComIfGp_loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy, s16* o_bank) {
|
||||
inline void dComIfGp_loadCameraPosition(int i, cXyz* o_pos, cXyz* o_target, f32* o_fovy,
|
||||
s16* o_bank) {
|
||||
g_dComIfG_gameInfo.play.loadCameraPosition(i, o_pos, o_target, o_fovy, o_bank);
|
||||
}
|
||||
|
||||
@@ -3049,8 +3059,9 @@ inline void dComIfGp_setMesgBgmOff() {
|
||||
g_dComIfG_gameInfo.play.setMesgBgm(0);
|
||||
}
|
||||
|
||||
inline bool dComIfGp_checkMesgBgm() {
|
||||
return g_dComIfG_gameInfo.play.checkMesgBgm(); }
|
||||
inline bool dComIfGp_checkMesgBgm() {
|
||||
return g_dComIfG_gameInfo.play.checkMesgBgm();
|
||||
}
|
||||
|
||||
inline void dComIfGp_setMessageCountNumber(u32 number) {
|
||||
g_dComIfG_gameInfo.play.setMessageCountNumber(number);
|
||||
@@ -3246,11 +3257,10 @@ inline void dComIfGp_drawSimpleModel() {
|
||||
g_dComIfG_gameInfo.play.drawSimpleModel();
|
||||
}
|
||||
|
||||
inline void dComIfGp_entrySimpleModel(J3DModel *model,int roomNo) {
|
||||
inline void dComIfGp_entrySimpleModel(J3DModel* model, int roomNo) {
|
||||
g_dComIfG_gameInfo.play.entrySimpleModel(model, roomNo);
|
||||
}
|
||||
|
||||
|
||||
inline dStage_Multi_c* dComIfGp_getMulti() {
|
||||
return g_dComIfG_gameInfo.play.getStage().getMulti();
|
||||
}
|
||||
@@ -3288,7 +3298,7 @@ inline void dComIfGp_deleteSimpleModel() {
|
||||
}
|
||||
|
||||
inline void dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz* param_2,
|
||||
const csXyz* param_3, const cXyz* param_4, u32 i_atType) {
|
||||
const csXyz* param_3, const cXyz* param_4, u32 i_atType) {
|
||||
g_dComIfG_gameInfo.play.getParticle()->setHitMark(i_hitmark, param_1, param_2, param_3, param_4,
|
||||
i_atType);
|
||||
}
|
||||
@@ -3321,7 +3331,7 @@ inline void dComIfGp_setMesgCameraInfoActor(fopAc_ac_c* param_1, fopAc_ac_c* par
|
||||
}
|
||||
|
||||
inline void dComIfGp_setMesgCameraAttrInfo(int param_1) {
|
||||
g_dComIfG_gameInfo.play.setMesgCamInfoBasicID(param_1);
|
||||
g_dComIfG_gameInfo.play.setMesgCamInfoBasicID(param_1);
|
||||
}
|
||||
|
||||
inline dComIfG_MesgCamInfo_c* dComIfGp_getMesgCameraInfo() {
|
||||
@@ -3482,7 +3492,6 @@ inline void dComIfGp_event_offHindFlag(u16 i_flag) {
|
||||
g_dComIfG_gameInfo.play.getEvent().offHindFlag(i_flag);
|
||||
}
|
||||
|
||||
|
||||
inline void dComIfGp_evmng_cutEnd(int param_0) {
|
||||
dComIfGp_getPEvtManager()->cutEnd(param_0);
|
||||
}
|
||||
@@ -3977,13 +3986,13 @@ inline u32 dComIfGp_particle_setPolyColor(u32 param_0, u16 param_1, cBgS_PolyInf
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setPolyColor(u16 param_1, cBgS_PolyInfo& param_2,
|
||||
const cXyz* param_3, const dKy_tevstr_c* param_4,
|
||||
const csXyz* param_5, const cXyz* param_6, int param_7,
|
||||
dPa_levelEcallBack* param_8, s8 param_9,
|
||||
const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setPoly(param_1, param_2, param_3,
|
||||
param_4, param_5, param_6, param_7,
|
||||
param_8, param_9, param_10);
|
||||
const cXyz* param_3,
|
||||
const dKy_tevstr_c* param_4,
|
||||
const csXyz* param_5, const cXyz* param_6,
|
||||
int param_7, dPa_levelEcallBack* param_8,
|
||||
s8 param_9, const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setPoly(
|
||||
param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_10);
|
||||
}
|
||||
|
||||
int dComIfGd_setSimpleShadow(cXyz* pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 angle,
|
||||
@@ -4294,11 +4303,11 @@ inline void dComIfGd_imageDrawShadow(Mtx param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.imageDrawShadow(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c *param_0) {
|
||||
inline void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c* param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.set3DlineMat(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c *param_0) {
|
||||
inline void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c* param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.set3DlineMatDark(param_0);
|
||||
}
|
||||
|
||||
|
||||
@@ -82,6 +82,10 @@ public:
|
||||
setPosition(i_tboxNo, 12, i_pos, param_2);
|
||||
}
|
||||
|
||||
static void setIconPositionOfCstatue(int i_tboxNo, const Vec* i_pos) {
|
||||
setPosition(i_tboxNo, 15, i_pos, -1);
|
||||
}
|
||||
|
||||
static void setCarryIron(int i_tboxNo, const Vec* i_pos) {
|
||||
setPosition(i_tboxNo, 11, i_pos, -1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user