Bunch of inline fixes

This commit is contained in:
LagoLunatic
2025-04-16 13:22:09 -04:00
parent da0ed4b78c
commit 2f4c6f89b3
12 changed files with 144 additions and 97 deletions
+4
View File
@@ -67,7 +67,11 @@ public:
void zDrawParticle();
void zDrawChild();
void loadYBBMtx(MtxP);
bool isZDraw() { return field_0xc2 & 1; }
bool isChildDraw() { return field_0xc2 & 2; }
MtxP getCamMtxPtr() { return cb.mDrawMtxPtr; }
void setKeyScl(f32 value) { mScaleOut = value; }
static JPADrawVisitorContainer vc;
static JPADrawClipBoard cb;
+4 -4
View File
@@ -280,8 +280,6 @@ public:
stopCreateParticle();
}
bool isZDraw() { return mDraw.isZDraw(); }
void setEmitterCallBackPtr(JPACallBackBase<JPABaseEmitter*>* callback) {
mpEmitterCallBack = callback;
}
@@ -293,8 +291,12 @@ public:
JSUList<JPABaseParticle>* getParticleList() { return &mActiveParticles; }
JSUList<JPABaseParticle>* getChildParticleList() { return &mChildParticles; }
JSULink<JPABaseEmitter>* getLinkBufferPtr() { return &mLink; }
void initDrawMgr(JPATextureResource* texRes) { mDraw.initialize(this, texRes); }
void draw(MtxP cameraMtxP) { mDraw.draw(cameraMtxP); }
bool isZDraw() { return mDraw.isZDraw(); }
bool isChildDraw() { return mDraw.isChildDraw(); }
MtxP getCamMtxPtr() { return mDraw.getCamMtxPtr(); }
f32 getRandomF() { return mRandomSeed.get_ufloat_1(); }
f32 getRandomRF() { f32 x = mRandomSeed.get_ufloat_1(); return x + x - 1.0f; }
@@ -311,12 +313,10 @@ public:
void getAxisYVec(JGeometry::TVec3<f32>&) const {}
void getBaseEnvColor(GXColor&) {}
void getBasePrmColor(GXColor&) {}
void getCamMtxPtr() {}
void getCurrentCreateNumber() const {}
void getFrame() {}
void getGlobalParticleScale(JGeometry::TVec3<f32>&) const {}
void getgReRDirection(JGeometry::TVec3<f32>&) {}
void isChildDraw() {}
void isContinuousParticle() {}
void loadTexture(u8, GXTexMapID) {}
void setEmitterRotation(const JGeometry::TVec3<s16>&) {}
+11 -9
View File
@@ -4,10 +4,11 @@
#include "SSystem/SComponent/c_angle.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/d_drawlist.h"
#include "d/d_stage.h"
#include "f_pc/f_pc_base.h"
#include "d/d_cam_param.h"
#include "d/d_bg_s_gnd_chk.h"
#include "d/d_com_inf_game.h"
#include "d/d_spline_path.h"
#include "global.h"
@@ -128,8 +129,8 @@ public:
}; // Size: 0xB8
/* 0x000 */ camera_class* mpCamera;
/* 0x004 */ u8 m004;
/* 0x005 */ u8 m005;
/* 0x004 */ u8 mActive;
/* 0x005 */ u8 mPause;
/* 0x006 */ cSAngle m006;
/* 0x008 */ cSGlobe mDirection;
/* 0x010 */ cXyz mCenter;
@@ -457,6 +458,7 @@ public:
cSAngle Bank() {}
cXyz Up() {}
cXyz Center() { return mCenter + mCenterShake; }
cXyz Eye() { return mEye + mEyeShake; }
void StartEventCamera(int, int, ...);
void EndEventCamera(int);
@@ -498,16 +500,16 @@ public:
void bSplineEvCamera();
void twoActor0EvCamera();
void Pause() { if (g_dComIfG_gameInfo.play.mDemo->getObject()->getActiveCamera()) ResetView(); }
void Active() { if (m004 && !m005) Run(); else NotRun(); }
bool chkFlag(u32 flag) { return (mEventFlags & flag) ? true : false; }
void setFlag(u32 flag) { mEventFlags |= flag; }
void clrFlag(u32 flag) { mEventFlags &= ~flag; }
void CStickUse() { clrFlag(0x800000); }
void CStickUseless() { setFlag(0x800000); }
cXyz Eye() { return mEye + mEyeShake; }
void StickUse() { clrFlag(0x1000000); }
void StickUseless() { setFlag(0x1000000); }
void setFlag(u32 flag) { mEventFlags |= flag; }
bool chkFlag(u32 flag) { return (mEventFlags & flag) ? true : false; }
void clrFlag(u32 flag) { mEventFlags &= ~flag; }
bool Active() { return mActive; }
bool Pause() { return mPause; }
static engine_fn engine_tbl[];
static const int type_num;
+82 -48
View File
@@ -365,7 +365,7 @@ public:
mItemTimer = timer;
mStartItemTimer = false;
}
int getMessageRupee() { return mMessageRupee; }
void setMessageRupee(s16 count) { mMessageRupee = count; }
@@ -498,21 +498,22 @@ public:
mItemNo = i_itemNo;
}
u8 getAStatus() { return mCurrButtonBAction; }
void setAStatus(u8 status) { mCurrButtonBAction = status; }
u8 getDoStatus() { return mCurrButtonAAction; }
void setDoStatus(u8 status) { mCurrButtonAAction = status; }
u8 getRStatus() { return field_0x492d; }
void setRStatus(u8 status) { field_0x492d = status; }
u8 getRStatusForce() { return field_0x4930; }
void setRStatusForce(u8 status) { field_0x4930 = status; }
u8 getAStatusForce() { return field_0x4931; }
void setAStatusForce(u8 value) { field_0x4931 = value; }
u8 getDoStatusForce() { return field_0x4932; }
void setDoStatusForce(u8 value) { field_0x4932 = value; }
u8 getRStatus() { return mRStatus; }
void setRStatus(u8 status) { mRStatus = status; }
u8 getAStatus() { return mAStatus; }
void setAStatus(u8 status) { mAStatus = status; }
u8 getDoStatus() { return mDoStatus; }
void setDoStatus(u8 status) { mDoStatus = status; }
u8 getRStatusForce() { return mRStatusForce; }
void setRStatusForce(u8 status) { mRStatusForce = status; }
u8 getAStatusForce() { return mAStatusForce; }
void setAStatusForce(u8 value) { mAStatusForce = value; }
u8 getDoStatusForce() { return mDoStatusForce; }
void setDoStatusForce(u8 value) { mDoStatusForce = value; }
u8 getPictureStatus() { return mPictureStatus; }
void setPictureStatusOn() { mPictureStatus = 2; }
u8 getScopeMesgStatus() { return mScopeMesgStatus; }
void setScopeMesgStatus(u8 status) { mScopeMesgStatus = status; }
@@ -648,6 +649,8 @@ public:
u8 getDirection() { return mDirection; }
void setDirection(u8 direction) { mDirection = direction; }
void onMenuCollect() { mMenuCollect = true; }
/* 0x0000 */ dBgS mBgS;
/* 0x1404 */ dCcS mCcS;
/* 0x3DF8 */ dADM mADM;
@@ -747,12 +750,12 @@ public:
/* 0x492A */ u8 mMesgStatus;
/* 0x492B */ u8 mScopeMesgStatus;
/* 0x492C */ u8 field_0x492c;
/* 0x492D */ u8 field_0x492d;
/* 0x492E */ u8 mCurrButtonBAction;
/* 0x492F */ u8 mCurrButtonAAction;
/* 0x4930 */ u8 field_0x4930;
/* 0x4931 */ u8 field_0x4931;
/* 0x4932 */ u8 field_0x4932;
/* 0x492D */ u8 mRStatus;
/* 0x492E */ u8 mAStatus;
/* 0x492F */ u8 mDoStatus;
/* 0x4930 */ u8 mRStatusForce;
/* 0x4931 */ u8 mAStatusForce;
/* 0x4932 */ u8 mDoStatusForce;
/* 0x4933 */ u8 mSelectItem[4];
/* 0x4937 */ u8 mSelectEquip[4];
/* 0x493B */ u8 mMesgAnime;
@@ -781,7 +784,7 @@ public:
/* 0x4957 */ u8 mPlacenameIndex;
/* 0x4958 */ u8 mPlacenameState;
/* 0x4959 */ u8 mGameoverStatus;
/* 0x495A */ u8 field_0x495a;
/* 0x495A */ u8 mMenuCollect;
/* 0x495B */ u8 mPictureFlag;
/* 0x495C */ u8 mPictureResult;
/* 0x495D */ u8 mPictureResultDetail;
@@ -1939,11 +1942,13 @@ void dComIfGs_revPlayerRecollectionData();
* === PLAY ===
*/
inline void dComIfGp_onMenuCollect() {
g_dComIfG_gameInfo.play.field_0x495a = 1;
}
inline void dComIfGp_init() {
g_dComIfG_gameInfo.play.init();
}
inline void dComIfGp_init() { g_dComIfG_gameInfo.play.init(); }
inline void dComIfGp_itemDataInit() {
g_dComIfG_gameInfo.play.itemInit();
}
void dComIfGp_setNextStage(const char* i_stageName, s16 i_point, s8 i_roomNo, s8 i_layer = -1,
f32 i_lastSpeed = 0.0f, u32 i_lastMode = 0, BOOL i_setPoint = TRUE,
@@ -2520,11 +2525,8 @@ inline void dComIfGp_clearPlayerStatus1(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.clearPlayerStatus(param_0, 1, flag);
}
inline void dComIfGp_setDoStatusForce(u8 value) {
g_dComIfG_gameInfo.play.setDoStatusForce(value);
}
inline void dComIfGp_setAStatusForce(u8 value) {
g_dComIfG_gameInfo.play.setAStatusForce(value);
inline void dComIfGp_onMenuCollect() {
g_dComIfG_gameInfo.play.onMenuCollect();
}
/**
@@ -2590,38 +2592,66 @@ inline void dComIfGp_endMiniGame(u16 i_gameType) {
g_dComIfG_gameInfo.play.endMiniGame(i_gameType);
}
inline u8 dComIfGp_getAStatus() {
return g_dComIfG_gameInfo.play.getAStatus();
}
inline void dComIfGp_setAStatus(u8 status) {
g_dComIfG_gameInfo.play.setAStatus(status);
}
inline u8 dComIfGp_getDoStatus() {
return g_dComIfG_gameInfo.play.getDoStatus();
}
inline void dComIfGp_setDoStatus(u8 status) {
g_dComIfG_gameInfo.play.setDoStatus(status);
}
// R Button
inline u8 dComIfGp_getRStatus() {
return g_dComIfG_gameInfo.play.getRStatus();
}
// R Button
inline void dComIfGp_setRStatus(u8 status) {
g_dComIfG_gameInfo.play.setRStatus(status);
}
// B Button
inline u8 dComIfGp_getAStatus() {
return g_dComIfG_gameInfo.play.getAStatus();
}
// B Button
inline void dComIfGp_setAStatus(u8 status) {
g_dComIfG_gameInfo.play.setAStatus(status);
}
// A Button
inline u8 dComIfGp_getDoStatus() {
return g_dComIfG_gameInfo.play.getDoStatus();
}
// A Button
inline void dComIfGp_setDoStatus(u8 status) {
g_dComIfG_gameInfo.play.setDoStatus(status);
}
// R Button
inline u8 dComIfGp_getRStatusForce() {
return g_dComIfG_gameInfo.play.getRStatusForce();
}
// R Button
inline void dComIfGp_setRStatusForce(u8 status) {
g_dComIfG_gameInfo.play.setRStatusForce(status);
}
// B Button
inline void dComIfGp_getAStatusForce(u8 status) {
g_dComIfG_gameInfo.play.setAStatus(status);
}
// B Button
inline void dComIfGp_setAStatusForce(u8 value) {
g_dComIfG_gameInfo.play.setAStatusForce(value);
}
// A Button
inline u8 dComIfGp_getDoStatusForce() {
return g_dComIfG_gameInfo.play.getDoStatusForce();
}
// A Button
inline void dComIfGp_setDoStatusForce(u8 value) {
g_dComIfG_gameInfo.play.setDoStatusForce(value);
}
inline u8 dComIfGp_getPictureStatus() {
return g_dComIfG_gameInfo.play.getPictureStatus();
}
@@ -3205,6 +3235,10 @@ inline dDemo_actor_c* dComIfGp_demo_getActor(u8 id) {
return g_dComIfG_gameInfo.play.getDemo()->getObject()->getActor(id);
}
inline dDemo_camera_c* dComIfGp_demo_getCamera() {
return g_dComIfG_gameInfo.play.getDemo()->getObject()->getActiveCamera();
}
stage_camera_class* dComIfGp_getRoomCamera(int i_roomNo);
stage_arrow_class* dComIfGp_getRoomArrow(int i_roomNo);
@@ -3622,11 +3656,11 @@ inline void dComIfGp_particle_setSimple(u16 particleID, cXyz* pos, u8 alpha = 0x
pParticle->setSimple(particleID, pos, alpha, prmColor, envColor, param_6);
}
inline JPABaseEmitter* dComIfGp_particle_setSimpleLand(int param_0, const cXyz* param_1, const csXyz* param_2,
inline JPABaseEmitter* dComIfGp_particle_setSimpleLand(int code, const cXyz* param_1, const csXyz* param_2,
f32 param_3, f32 param_4, f32 param_5,
dKy_tevstr_c* param_6, int* param_7, int param_8) {
dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle();
return pParticle->setSimpleLand(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8);
return pParticle->setSimpleLand(code, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8);
}
// TODO
+2 -2
View File
@@ -291,8 +291,8 @@ public:
dDemo_fog_c* createFog();
void remove();
dDemo_camera_c* getCamera() { return mpCamera; }
void createEditorCamera() {}
void getCamera() {}
void getEditorCamera() {}
void removeEditorCamera() {}
@@ -300,7 +300,7 @@ private:
/* 0x00 */ u8 mNumActor;
/* 0x01 */ u8 mNumLight;
/* 0x04 */ dDemo_actor_c* mpActors[32];
/* 0x84 */ dDemo_camera_c* mpActiveCamera;
/* 0x84 */ dDemo_camera_c* mpCamera;
/* 0x88 */ dDemo_ambient_c* mpAmbient;
/* 0x8C */ dDemo_light_c* mpLight[8];
/* 0xAC */ dDemo_fog_c* mpFog;
+1 -1
View File
@@ -34,7 +34,7 @@ struct dStage_nodeHeader {
// made up name
struct dStage_fileHeader {
/* 0x0 */ int m_chunkCount;
/* 0x4 */ dStage_nodeHeader m_nodes[1]; // Variable length
/* 0x4 */ dStage_nodeHeader m_nodes[];
};
// Virt
+1 -1
View File
@@ -389,7 +389,7 @@ void JPABaseEmitter::calcKey() {
case 7: mInitialVelAxis = value; break;
case 8: mInitialVelDir = value; break;
case 9: mSpread = value; break;
case 10: mDraw.mScaleOut = value; break;
case 10: mDraw.setKeyScl(value); break;
}
}
}
+17 -10
View File
@@ -8,6 +8,7 @@
#include "d/d_bg_s_lin_chk.h"
#include "d/d_bg_s_sph_chk.h"
#include "SSystem/SComponent/c_bg_s.h"
#include "d/d_com_inf_game.h"
#include "dolphin/types.h"
#include "SSystem/SComponent/c_math.h"
#include "d/actor/d_a_obj_pirateship.h"
@@ -202,8 +203,8 @@ void dCamera_c::initialize(camera_class* camera, fopAc_ac_c* playerActor, u32 ca
int mapToolType;
mpCamera = camera;
m004 = 1;
m005 = 0;
mActive = 1;
mPause = 0;
mpPlayerActor = playerActor;
mCameraInfoIdx = cameraInfoIdx;
@@ -409,17 +410,17 @@ void dCamera_c::initialize(camera_class* camera, fopAc_ac_c* playerActor, u32 ca
/* 80162128-80162134 .text Start__9dCamera_cFv */
void dCamera_c::Start() {
m004 = 1;
mActive = 1;
}
/* 80162134-80162140 .text Stop__9dCamera_cFv */
void dCamera_c::Stop() {
m004 = 0;
mActive = 0;
}
/* 80162140-8016214C .text Stay__9dCamera_cFv */
void dCamera_c::Stay() {
m005 = 1;
mPause = 1;
}
/* 8016214C-801621A0 .text ChangeModeOK__9dCamera_cFl */
@@ -833,7 +834,7 @@ bool dCamera_c::Run() {
clrFlag(0x200000);
}
}
else if (g_dComIfG_gameInfo.play.mDemo->getObject()->getActiveCamera() && mCamParam.Algorythmn() != 11) {
else if (dComIfGp_demo_getCamera() && mCamParam.Algorythmn() != 11) {
camera = (dCamera_c *)demoCamera(0);
}
else {
@@ -1002,7 +1003,7 @@ bool dCamera_c::NotRun() {
shakeCamera();
m005 = 0;
mPause = 0;
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 8)) {
if (chkFlag(0x400000)) {
@@ -2753,7 +2754,7 @@ void store(camera_process_class* i_this) {
cSAngle bank = fopCamM_GetBank(a_this);
f32 fovy = fopCamM_GetFovy(a_this);
dDemo_camera_c* mDemoCamera = g_dComIfG_gameInfo.play.mDemo->getObject()->getActiveCamera();
dDemo_camera_c* mDemoCamera = dComIfGp_demo_getCamera();
if (mDemoCamera) {
if (mDemoCamera->checkEnable(0x40)) {
@@ -2819,13 +2820,19 @@ int camera_execute(camera_process_class* i_this) {
preparation(i_this);
a_this->mCamera.Pause();
if (dComIfGp_demo_getCamera()) {
a_this->mCamera.ResetView();
}
if (!dComIfGp_evmng_cameraPlay()) {
mDoGph_gInf_c::onAutoForcus();
}
a_this->mCamera.Active();
if (a_this->mCamera.Active() && !a_this->mCamera.Pause()) {
a_this->mCamera.Run();
} else {
a_this->mCamera.NotRun();
}
a_this->mCamera.CalcTrimSize();
+7 -7
View File
@@ -104,12 +104,12 @@ void dComIfG_play_c::itemInit() {
mMesgStatus = 0;
mScopeMesgStatus = 0;
field_0x492c = 0;
field_0x492d = 0;
mCurrButtonBAction = 0;
mCurrButtonAAction = 0;
field_0x4930 = 0;
field_0x4931 = 0;
field_0x4932 = 0;
mRStatus = 0;
mAStatus = 0;
mDoStatus = 0;
mRStatusForce = 0;
mAStatusForce = 0;
mDoStatusForce = 0;
for (int i = 0; i < ARRAY_SIZE(mSelectItem); i++) {
mSelectItem[i] = 0;
@@ -152,7 +152,7 @@ void dComIfG_play_c::itemInit() {
mPlacenameIndex = 0;
mPlacenameState = 0;
mGameoverStatus = 0;
field_0x495a = 0;
mMenuCollect = false;
mPictureFlag = 0;
mPictureResult = 0;
mPictureResultDetail = 0;
+10 -10
View File
@@ -453,7 +453,7 @@ void dDemo_fog_c::JSGSetColor(GXColor color) {
dDemo_object_c::dDemo_object_c() {
mNumActor = 0;
mNumLight = 0;
mpActiveCamera = NULL;
mpCamera = NULL;
mpAmbient = NULL;
mpFog = NULL;
}
@@ -491,17 +491,17 @@ dDemo_actor_c* dDemo_object_c::getActor(u8 no) {
/* 8006A31C-8006A398 .text createCamera__14dDemo_object_cFv */
dDemo_camera_c* dDemo_object_c::createCamera() {
if (mpActiveCamera != NULL)
return mpActiveCamera;
if (mpCamera != NULL)
return mpCamera;
mpActiveCamera = new dDemo_camera_c();
return mpActiveCamera;
mpCamera = new dDemo_camera_c();
return mpCamera;
}
/* 8006A398-8006A3AC .text getActiveCamera__14dDemo_object_cFv */
dDemo_camera_c* dDemo_object_c::getActiveCamera() {
if (mpActiveCamera != NULL)
return mpActiveCamera;
if (getCamera() != NULL)
return getCamera();
return NULL;
}
@@ -541,9 +541,9 @@ void dDemo_object_c::remove() {
while (mNumActor)
delete mpActors[--mNumActor];
if (mpActiveCamera != NULL) {
delete mpActiveCamera;
mpActiveCamera = NULL;
if (mpCamera != NULL) {
delete mpCamera;
mpCamera = NULL;
}
if (mpAmbient != NULL) {
+3 -3
View File
@@ -1880,9 +1880,9 @@ static cPhs_State dMeter_Create(msg_class* i_this) {
fopMsgM_Create(PROC_MESG, NULL, NULL);
g_dComIfG_gameInfo.play.field_0x4932 = 0;
g_dComIfG_gameInfo.play.field_0x4930 = 0;
g_dComIfG_gameInfo.play.field_0x4931 = 0;
dComIfGp_setDoStatusForce(0);
dComIfGp_setRStatusForce(0);
dComIfGp_setAStatusForce(0);
mDoHIO_createChild("通常画面表示", &g_meterHIO); // "Normal Screen Display"
mDoHIO_createChild("メニュー画面", &g_menuHIO); // "Menu Screen"
+2 -2
View File
@@ -332,7 +332,7 @@ void initiateLighting(GXColorS10& dif, GXColor& amb, GXColor& k1) {
/* 8007B804-8007BB44 .text smokeEcallBack__FP14JPABaseEmitterP12dKy_tevstr_cSc8_GXColor */
void smokeEcallBack(JPABaseEmitter* emtr, dKy_tevstr_c* tevStr, s8, GXColor color) {
GXFlush();
GXLoadNrmMtxImm(JPADraw::cb.mDrawMtxPtr, GX_PNMTX0);
GXLoadNrmMtxImm(emtr->getCamMtxPtr(), GX_PNMTX0);
GXInvalidateVtxCache();
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_NRM, GX_NRM_XYZ, GX_F32, 0);
@@ -343,7 +343,7 @@ void smokeEcallBack(JPABaseEmitter* emtr, dKy_tevstr_c* tevStr, s8, GXColor colo
GXSetVtxDesc(GX_VA_NRM, GX_DIRECT);
GXSetVtxDesc(GX_VA_CLR0, GX_DIRECT);
GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT);
if (!(emtr->mDraw.field_0xc2 & 1)) {
if (!emtr->isZDraw()) {
GXSetNumChans(1);
if (tevStr == NULL) {
GXColorS10 dif;