diff --git a/include/d/d_camera.h b/include/d/d_camera.h index f7a7132538..4f94779188 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -430,8 +430,7 @@ public: /* 0x1C */ f32 mFovy; /* 0x20 */ f32 mBank; /* 0x24 */ fopAc_ac_c* mRelActor; - /* 0x28 */ char mRelUseMask; - /* 0x29 */ char field_0x29; + /* 0x28 */ char mRelUseMask[4]; /* 0x2C */ int mTimer; /* 0x30 */ bool field_0x30; /* 0x34 */ cXyz mBasePos; @@ -512,7 +511,7 @@ public: /* 0x3C */ fopAc_ac_c* field_0x3c; /* 0x40 */ fopAc_ac_c* field_0x40; /* 0x44 */ fpc_ProcID field_0x44; - /* 0x48 */ char field_0x48; + /* 0x48 */ char field_0x48[4]; /* 0x4C */ int field_0x4c; }; @@ -527,11 +526,7 @@ public: /* 0x3C */ f32 field_0x3c; /* 0x40 */ fopAc_ac_c* mRelActor; /* 0x44 */ fpc_ProcID mRelActorID; - /* 0x48 */ char mRelUseMask; - /* 0x49 */ char field_0x49; - /* 0x4A */ char field_0x4a; - /* 0x4B */ char field_0x4b; - /* 0x4C */ u8 field_0x4c[4]; + /* 0x48 */ char mRelUseMask[8]; /* 0x50 */ int mTimer; /* 0x54 */ int mTransType; /* 0x58 */ f32 mCushion; @@ -682,8 +677,7 @@ public: /* 0x24 */ f32* field_0x24; /* 0x28 */ f32 field_0x28; /* 0x2C */ fopAc_ac_c* mRelActor; - /* 0x30 */ char mRelUseMask; - /* 0x31 */ char field_0x31; + /* 0x30 */ char mRelUseMask[4]; /* 0x34 */ int mTimer; /* 0x38 */ int field_0x38; /* 0x3C */ int mChoice; @@ -766,8 +760,7 @@ public: /* 0xAC */ f32 field_0xac; /* 0xB0 */ fopAc_ac_c* mRelActor; /* 0xB4 */ fpc_ProcID mRelActorID; - /* 0xB8 */ char mRelUseMask; - /* 0xB9 */ char field_0xb9; + /* 0xB8 */ char mRelUseMask[4]; /* 0xBC */ f32 mCushion; /* 0xC0 */ u32 field_0xc0[6]; }; diff --git a/src/d/d_ev_camera.cpp b/src/d/d_ev_camera.cpp index 593d723b35..ea9f6b08b5 100644 --- a/src/d/d_ev_camera.cpp +++ b/src/d/d_ev_camera.cpp @@ -607,7 +607,7 @@ bool dCamera_c::fixedFrameEvCamera() { } fframe_p->field_0x4 = relationalPos(fframe_p->mpRelActor, &sp44); - } else if (fframe_p->mRelUseMask[1] == 116) { + } else if (fframe_p->mRelUseMask[1] == 't') { fframe_p->field_0x4 = attentionPos(fframe_p->mpRelActor) + sp44; } else { fframe_p->field_0x4 = sp44; @@ -860,7 +860,7 @@ bool dCamera_c::fixedPositionEvCamera() { getEvFloatData(&fpos_p->field_0x38, "Radius", 100000.0f); getEvFloatData(&fpos_p->field_0x34, "StartRadius", fpos_p->field_0x38); fpos_p->field_0x1 = getEvFloatData(&fpos_p->field_0x2c, "Bank", 0.0f); - getEvStringData(&fpos_p->field_0x48, "RelUseMask", "o"); + getEvStringData(fpos_p->field_0x48, "RelUseMask", "o"); fpos_p->field_0x0 = getEvIntData(&fpos_p->field_0x4c, "Timer", -1); if ((fpos_p->field_0x40 = getEvActor("Target", "@PLAYER")) == NULL) { @@ -871,7 +871,7 @@ bool dCamera_c::fixedPositionEvCamera() { fpos_p->field_0x44 = fopAcM_GetID(fpos_p->field_0x40); fpos_p->field_0x3c = getEvActor("RelActor"); - if (fpos_p->field_0x3c && isRelChar(fpos_p->field_0x48)) { + if (fpos_p->field_0x3c && isRelChar(fpos_p->field_0x48[0])) { fpos_p->field_0x4 = relationalPos(fpos_p->field_0x3c, &sp24); } else { fpos_p->field_0x4 = sp24; @@ -1015,7 +1015,7 @@ bool dCamera_c::transEvCamera(int param_1) { getEvIntData(&trans->mTransType, "TransType", 0); trans->mRelActor = getEvActor("RelActor"); - getEvStringData(&trans->mRelUseMask, "RelUseMask", "--oo"); + getEvStringData(trans->mRelUseMask, "RelUseMask", "--oo"); getEvFloatData(&trans->mCushion, "Cushion", 1.0f); if (trans->mRelActor) { @@ -1028,36 +1028,36 @@ bool dCamera_c::transEvCamera(int param_1) { mAdditionVec = MidnaAdditionVec; } - if (trans->mRelUseMask == 119) { + if (trans->mRelUseMask[0] == 'w') { trans->mStartCenter += mAdditionVec; } - if (trans->mRelUseMask == 87) { + if (trans->mRelUseMask[0] == 'W') { trans->mStartCenter -= mAdditionVec; } - if (trans->field_0x49 == 119) { + if (trans->mRelUseMask[1] == 'w') { trans->mStartEye += mAdditionVec; } - if (trans->field_0x49 == 87) { + if (trans->mRelUseMask[1] == 'W') { trans->mStartEye -= mAdditionVec; } - if (trans->field_0x4a == 119) { + if (trans->mRelUseMask[2] == 'w') { trans->mCenter += mAdditionVec; } - if (trans->field_0x4a == 87) { + if (trans->mRelUseMask[2] == 'W') { trans->mCenter -= mAdditionVec; } - if (trans->field_0x4b == 119) { + if (trans->mRelUseMask[3] == 'w') { trans->mEye += mAdditionVec; } - if (trans->field_0x4b == 87) { + if (trans->mRelUseMask[3] == 'W') { trans->mEye -= mAdditionVec; } } - if (trans->field_0x49 == 114) { + if (trans->mRelUseMask[1] == 'r') { my_vec_0 = relationalPos(trans->mRelActor, &trans->mStartCenter); if ((mTicks & 1) != 0) { trans->mStartEye.x = -trans->mStartEye.x; @@ -1069,14 +1069,14 @@ bool dCamera_c::transEvCamera(int param_1) { } } - if (trans->mRelUseMask == 110 || trans->field_0x49 == 110) { + if (trans->mRelUseMask[0] == 'n' || trans->mRelUseMask[1] == 'n') { cSGlobe cStack_7b8(mEye - positionOf(trans->mRelActor)); cSAngle acStack_898 = cStack_7b8.U() - directionOf(trans->mRelActor); if (acStack_898 < cSAngle::_0) { - if (trans->mRelUseMask == 110) { + if (trans->mRelUseMask[0] == 'n') { trans->mStartCenter.x = -trans->mStartCenter.x; } - if (trans->field_0x49 == 110) { + if (trans->mRelUseMask[1] == 'n') { trans->mStartEye.x = -trans->mStartEye.x; } } @@ -1088,15 +1088,15 @@ bool dCamera_c::transEvCamera(int param_1) { } } - if (trans->field_0x4a == 110 || trans->field_0x4b == 110) { + if (trans->mRelUseMask[2] == 'n' || trans->mRelUseMask[3] == 'n') { cSGlobe cStack_7c0(mEye - positionOf(trans->mRelActor)); cSAngle acStack_89c = cStack_7c0.U() - directionOf(trans->mRelActor); if (acStack_89c < cSAngle::_0) { - if (trans->field_0x4a == 110) { + if (trans->mRelUseMask[2] == 'n') { trans->mCenter.x = -trans->mCenter.x; } - if (trans->field_0x4b == 110) { + if (trans->mRelUseMask[3] == 'n') { trans->mEye.x = -trans->mEye.x; } } @@ -1108,15 +1108,15 @@ bool dCamera_c::transEvCamera(int param_1) { } } - if (trans->mRelUseMask == 78 || trans->field_0x49 == 78) { + if (trans->mRelUseMask[0] == 'N' || trans->mRelUseMask[1] == 'N') { cSGlobe cStack_7c8(mEye - positionOf(trans->mRelActor)); cSAngle acStack_8a0 = cStack_7c8.U() - directionOf(trans->mRelActor); if (acStack_8a0 > cSAngle::_0) { - if (trans->mRelUseMask == 78) { + if (trans->mRelUseMask[0] == 'N') { trans->mStartCenter.x = -trans->mStartCenter.x; } - if (trans->field_0x49 == 78) { + if (trans->mRelUseMask[1] == 'N') { trans->mStartEye.x = -trans->mStartEye.x; } } @@ -1128,15 +1128,15 @@ bool dCamera_c::transEvCamera(int param_1) { } } - if (trans->field_0x4a == 78 || trans->field_0x4b == 78) { + if (trans->mRelUseMask[2] == 'N' || trans->mRelUseMask[3] == 'N') { cSGlobe cStack_7d0(mEye - positionOf(trans->mRelActor)); cSAngle acStack_8a4 = cStack_7d0.U() - directionOf(trans->mRelActor); if (acStack_8a4 > cSAngle::_0) { - if (trans->field_0x4a == 78) { + if (trans->mRelUseMask[2] == 'N') { trans->mCenter.x = -trans->mCenter.x; } - if (trans->field_0x4b == 78) { + if (trans->mRelUseMask[3] == 'N') { trans->mEye.x = -trans->mEye.x; } } @@ -1148,21 +1148,21 @@ bool dCamera_c::transEvCamera(int param_1) { } } - if (trans->mRelUseMask == 102) { + if (trans->mRelUseMask[0] == 'f') { cSGlobe cStack_7d8(trans->mStartCenter); cStack_7d8.U(directionOf(trans->mRelActor) + cStack_7d8.U()); trans->mStartCenter = attentionPos(trans->mRelActor) + cStack_7d8.Xyz(); - trans->mRelUseMask = 120; + trans->mRelUseMask[0] = 'x'; } - if (trans->field_0x49 == 102) { + if (trans->mRelUseMask[1] == 'f') { cSGlobe cStack_7e0(trans->mStartEye); cStack_7e0.U(directionOf(trans->mRelActor) + cStack_7e0.U()); trans->mStartEye = attentionPos(trans->mRelActor) + cStack_7e0.Xyz(); - trans->field_0x49 = 120; + trans->mRelUseMask[1] = 'x'; } - if (trans->field_0x4a == 112) { + if (trans->mRelUseMask[2] == 'p') { cXyz sp114(trans->mCenter); cXyz sp120 = relationalPos(trans->mRelActor, &sp114); f32 fVar1 = cXyz(sp120 - positionOf(mpPlayerActor)).abs(); @@ -1172,14 +1172,14 @@ bool dCamera_c::transEvCamera(int param_1) { if (fVar1 < fVar2) { trans->mCenter.x = -trans->mCenter.x; } - } else if (trans->field_0x4a == 102) { + } else if (trans->mRelUseMask[2] == 'f') { cSGlobe cStack_7e8(trans->mCenter); cStack_7e8.U(directionOf(trans->mRelActor) + cStack_7e8.U()); trans->mCenter = attentionPos(trans->mRelActor) + cStack_7e8.Xyz(); - trans->field_0x4a = 120; + trans->mRelUseMask[2] = 'x'; } - if (trans->field_0x4b == 112) { + if (trans->mRelUseMask[3] == 'p') { cXyz sp12c = trans->mEye; cXyz sp138(relationalPos(trans->mRelActor, &sp12c)); f32 fVar3 = cXyz(sp138 - positionOf(mpPlayerActor)).abs(); @@ -1189,7 +1189,7 @@ bool dCamera_c::transEvCamera(int param_1) { if (fVar3 < fVar4) { trans->mEye.x = -trans->mEye.x; } - } else if (trans->field_0x4b == 114) { + } else if (trans->mRelUseMask[3] == 'r') { my_vec_0 = relationalPos(trans->mRelActor, &trans->mCenter); if ((mTicks & 1) != 0) { trans->mEye.x = -trans->mEye.x; @@ -1199,19 +1199,19 @@ bool dCamera_c::transEvCamera(int param_1) { if (lineBGCheck(&my_vec_0, &my_vec_1, 0x4007)) { trans->mEye.x = -trans->mEye.x; } - } else if (trans->field_0x4b == 102) { + } else if (trans->mRelUseMask[3] == 'f') { cSGlobe cStack_7f0(trans->mEye); cStack_7f0.U(directionOf(trans->mRelActor) + cStack_7f0.U()); trans->mEye = attentionPos(trans->mRelActor) + cStack_7f0.Xyz(); - trans->field_0x4b = 120; + trans->mRelUseMask[3] = 'x'; } } else { - if (trans->field_0x4a == 97) { + if (trans->mRelUseMask[2] == 'a') { cXyz cStack_320 = dCamMath::xyzRotateY(trans->mCenter, cSAngle(mViewCache.mDirection.U().Inv())); trans->mCenter = mViewCache.mCenter + cStack_320; } - if (trans->field_0x4b == 97) { + if (trans->mRelUseMask[3] == 'a') { cXyz cStack_32c = dCamMath::xyzRotateY(trans->mEye, cSAngle(mViewCache.mDirection.U().Inv())); trans->mEye = mViewCache.mEye + cStack_32c; } @@ -1240,47 +1240,47 @@ bool dCamera_c::transEvCamera(int param_1) { } if (trans->mRelActor) { - if (trans->mRelUseMask == 116) { + if (trans->mRelUseMask[0] == 't') { pos.mXyz_1 = attentionPos(trans->mRelActor) + trans->mStartCenter; - } else if (trans->mRelUseMask == 99) { + } else if (trans->mRelUseMask[0] == 'c') { cSGlobe cStack_7f8(trans->mStartCenter); cStack_7f8.U(trans->field_0x60.U() + cStack_7f8.U()); pos.mXyz_1 = attentionPos(trans->mRelActor) + cStack_7f8.Xyz(); - } else if (trans->mRelUseMask == 119 || trans->mRelUseMask == 87) { + } else if (trans->mRelUseMask[0] == 'w' || trans->mRelUseMask[0] == 'W') { pos.mXyz_1 = relationalPos(trans->mRelActor, &trans->mStartCenter); } else { - if (isRelChar(trans->mRelUseMask)) { + if (isRelChar(trans->mRelUseMask[0])) { pos.mXyz_1 = relationalPos(trans->mRelActor, &trans->mStartCenter); } else { pos.mXyz_1 = trans->mStartCenter; } } - if (trans->field_0x49 == 116) { + if (trans->mRelUseMask[1] == 't') { pos.mXyz_0 = attentionPos(trans->mRelActor) + trans->mStartEye; - } else if (trans->field_0x49 == 99) { + } else if (trans->mRelUseMask[1] == 'c') { cSGlobe cStack_800(trans->mStartEye); cStack_800.U(trans->field_0x60.U() + cStack_800.U()); pos.mXyz_0 = attentionPos(trans->mRelActor) + cStack_800.Xyz(); - } else if (trans->field_0x49 == 119 || trans->field_0x49 == 87) { + } else if (trans->mRelUseMask[1] == 'w' || trans->mRelUseMask[1] == 'W') { pos.mXyz_0 = relationalPos(trans->mRelActor, &trans->mStartEye); } else { - if (isRelChar(trans->field_0x49)) { + if (isRelChar(trans->mRelUseMask[1])) { pos.mXyz_0 = relationalPos(trans->mRelActor, &trans->mStartEye); } else { pos.mXyz_0 = trans->mStartEye; } } - if (trans->field_0x4a == 116) { + if (trans->mRelUseMask[2] == 't') { pos2.mXyz_1 = attentionPos(trans->mRelActor) + trans->mCenter; - } else if (trans->field_0x4a == 99) { + } else if (trans->mRelUseMask[2] == 'c') { cSGlobe cStack_808(trans->mCenter); cStack_808.U(trans->field_0x60.U() + cStack_808.U()); pos2.mXyz_1 = attentionPos(trans->mRelActor) + cStack_808.Xyz(); - } else if (trans->field_0x4a == 119 || trans->field_0x4a == 87) { + } else if (trans->mRelUseMask[2] == 'w' || trans->mRelUseMask[2] == 'W') { pos2.mXyz_1 = relationalPos(trans->mRelActor, &trans->mCenter); - } else if (isRelChar(trans->field_0x4a)) { + } else if (isRelChar(trans->mRelUseMask[2])) { pos2.mXyz_1 = relationalPos(trans->mRelActor, &trans->mCenter); } else if (trans->mTransType == 2) { pos2.mXyz_1 = dCamMath::xyzRotateY(trans->mCenter, directionOf(trans->mRelActor)); @@ -1288,16 +1288,16 @@ bool dCamera_c::transEvCamera(int param_1) { pos2.mXyz_1 = trans->mCenter; } - if (trans->field_0x4b == 116) { + if (trans->mRelUseMask[3] == 't') { pos2.mXyz_0 = attentionPos(trans->mRelActor) + trans->mEye; - } else if (trans->field_0x4b == 99) { + } else if (trans->mRelUseMask[3] == 'c') { cSGlobe cStack_810(trans->mEye); cStack_810.U(trans->field_0x60.U() + cStack_810.U()); pos2.mXyz_0 = attentionPos(trans->mRelActor) + cStack_810.Xyz(); } else { - if (trans->field_0x4b == 119 || trans->field_0x4b == 87) { + if (trans->mRelUseMask[3] == 'w' || trans->mRelUseMask[3] == 'W') { pos2.mXyz_0 = relationalPos(trans->mRelActor, &trans->mEye); - } else if (isRelChar(trans->field_0x4b)) { + } else if (isRelChar(trans->mRelUseMask[3])) { pos2.mXyz_0 = relationalPos(trans->mRelActor, &trans->mEye); } else if (trans->mTransType == 2) { pos2.mXyz_0 = dCamMath::xyzRotateY(trans->mEye, directionOf(trans->mRelActor)); @@ -3413,11 +3413,11 @@ bool dCamera_c::fixedFramesEvCamera() { fframes_p->field_0x0 = getEvIntData(&fframes_p->mTimer, "Timer", const_1_val); - getEvStringData(&fframes_p->mRelUseMask, "RelUseMask", "oo"); + getEvStringData(fframes_p->mRelUseMask, "RelUseMask", "oo"); #if DEBUG - if (strlen(&fframes_p->mRelUseMask) != 2) { + if (strlen(fframes_p->mRelUseMask) != 2) { OSReport("camera: event: bad length -> xx\n"); - strcpy(&fframes_p->mRelUseMask, "xx"); + strcpy(fframes_p->mRelUseMask, "xx"); JUTAssertion::showAssert(JUTAssertion::getSDevice(), "d_ev_camera.cpp", 0x129c, "Halt"); OSPanic("d_ev_camera.cpp", 0x129c, "Halt"); } @@ -3435,13 +3435,13 @@ bool dCamera_c::fixedFramesEvCamera() { sp30 = fframes_p->field_0x1c[1][iVar1]; sp3c = fframes_p->field_0x1c[0][iVar1]; - if (fframes_p->mRelActor && fframes_p->mRelUseMask == 111) { + if (fframes_p->mRelActor && fframes_p->mRelUseMask[0] == 111) { fframes_p->field_0x4 = relationalPos(fframes_p->mRelActor, &sp30); } else { fframes_p->field_0x4 = sp30; } - if (fframes_p->mRelActor && fframes_p->field_0x31 == 111) { + if (fframes_p->mRelActor && fframes_p->mRelUseMask[1] == 111) { fframes_p->field_0x10 = relationalPos(fframes_p->mRelActor, &sp3c); } else { fframes_p->field_0x10 = sp3c; @@ -3989,12 +3989,12 @@ bool dCamera_c::bspTransEvCamera() { bspTrans->mRelActorID = -1; bspTrans->mRelActor = getEvActor("RelActor"); if (bspTrans->mRelActor) { - getEvStringData(&bspTrans->mRelUseMask, "RelUseMask", "oo"); + getEvStringData(bspTrans->mRelUseMask, "RelUseMask", "oo"); #if DEBUG - if (strlen(&bspTrans->mRelUseMask) != 2) { + if (strlen(bspTrans->mRelUseMask) != 2) { OSReport_Error("camera: event: bad length -> xx\n"); - strcpy(&bspTrans->mRelUseMask, "xx"); + strcpy(bspTrans->mRelUseMask, "xx"); JUTAssertion::showAssert(JUTAssertion::getSDevice(), "d_ev_camera.cpp", 0x1515, "0"); OSPanic("d_ev_camera.cpp", 0x1515, "Halt"); } @@ -4030,13 +4030,13 @@ bool dCamera_c::bspTransEvCamera() { } pos; if (bspTrans->mRelActor != NULL) { - if (isRelChar(bspTrans->mRelUseMask)) { + if (isRelChar(bspTrans->mRelUseMask[0])) { pos.sp48 = relationalPos(bspTrans->mRelActor, &bspTrans->field_0x94); } else { pos.sp48 = bspTrans->field_0x94; } - if (isRelChar(bspTrans->field_0xb9)) { + if (isRelChar(bspTrans->mRelUseMask[1])) { pos.sp3c = relationalPos(bspTrans->mRelActor, &bspTrans->field_0xa0); } else { pos.sp3c = bspTrans->field_0xa0;