mirror of
https://github.com/zeldaret/tp
synced 2026-06-22 00:46:46 -04:00
d_a_obj_cboard / finish f_op_actor / rels cleanup (#268)
* d_a_obj_cboard / finish f_op_actor / clean up some rel files * rename some actor vars / remove asm * progress
This commit is contained in:
+56
-57
@@ -3029,7 +3029,6 @@ extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11];
|
||||
extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11];
|
||||
extern "C" extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__19JPAParticleCallBack[5];
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* __vt__8cM3dGPla[3];
|
||||
extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__12dDlst_base_c[3];
|
||||
@@ -14684,7 +14683,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2
|
||||
i_onEndResetFlg0(ERFLG0_UNK_800000);
|
||||
i_onEndResetFlg2(ERFLG2_UNK_100);
|
||||
if (mDemo.getDemoMode() != 0x59) {
|
||||
mSpeed.y = FLOAT_LABEL(lit_6108);
|
||||
speed.y = FLOAT_LABEL(lit_6108);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14709,7 +14708,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, s16 i_angle, int param_2
|
||||
rideAc->current.pos = current.pos;
|
||||
rideAc->shape_angle.y = shape_angle.y;
|
||||
rideAc->current.angle.y = shape_angle.y;
|
||||
rideAc->mSpeed.y = FLOAT_LABEL(lit_6108);
|
||||
rideAc->speed.y = FLOAT_LABEL(lit_6108);
|
||||
}
|
||||
|
||||
field_0x814.ClrCcMove();
|
||||
@@ -14726,7 +14725,7 @@ void daAlink_c::setPlayerPosAndAngle(cXyz const* p_pos, csXyz const* p_angle) {
|
||||
field_0x3798 = current.pos;
|
||||
i_onEndResetFlg0(ERFLG0_UNK_800000);
|
||||
i_onEndResetFlg2(ERFLG2_UNK_100);
|
||||
mSpeed.y = FLOAT_LABEL(lit_6108);
|
||||
speed.y = FLOAT_LABEL(lit_6108);
|
||||
}
|
||||
|
||||
if (p_angle != NULL) {
|
||||
@@ -14752,7 +14751,7 @@ void daAlink_c::setPlayerPosAndAngle(Mtx param_0) {
|
||||
mDoMtx_MtxToRot(param_0, &shape_angle);
|
||||
current.angle.y = shape_angle.y;
|
||||
field_0x2fe6 = shape_angle.y;
|
||||
mSpeed.y = FLOAT_LABEL(lit_6108);
|
||||
speed.y = FLOAT_LABEL(lit_6108);
|
||||
field_0x814.ClrCcMove();
|
||||
}
|
||||
}
|
||||
@@ -16185,7 +16184,7 @@ int daAlink_c::checkNextAction(int param_0) {
|
||||
} else if (mProcID == PROC_MOVE_TURN && current.angle.y != shape_angle.y) {
|
||||
ret = procMoveTurnInit(0);
|
||||
} else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) {
|
||||
if (mSpeedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 &&
|
||||
if (speedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && field_0x2fa8 != 8 &&
|
||||
!checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) {
|
||||
ret = procSlipInit();
|
||||
} else {
|
||||
@@ -16471,37 +16470,37 @@ void daAlink_c::posMove() {
|
||||
|
||||
setFootSpeed();
|
||||
if (i_checkEndResetFlg0(ERFLG0_UNK_10000000)) {
|
||||
mSpeedF = 0.0f;
|
||||
speedF = 0.0f;
|
||||
mNormalSpeed = 0.0f;
|
||||
}
|
||||
|
||||
mSpeedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier));
|
||||
speedF = mNormalSpeed * (1.0f - fabsf(mSpeedModifier));
|
||||
|
||||
f32 mod = field_0x33a0 * (1.0f - field_0x2060->getOldFrameRate()) * mSpeedModifier;
|
||||
if (mSpeedF < 0.0f) {
|
||||
mSpeedF -= mod;
|
||||
if (speedF < 0.0f) {
|
||||
speedF -= mod;
|
||||
} else {
|
||||
mSpeedF += mod;
|
||||
speedF += mod;
|
||||
}
|
||||
|
||||
if (getZoraSwim() && !checkZoraWearAbility()) {
|
||||
mSpeedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate;
|
||||
speedF *= daAlinkHIO_swim_c0::m.mSurfaceSwimSpeedRate;
|
||||
}
|
||||
|
||||
f32 var_f31 = mSpeedF;
|
||||
mSpeedF *= cM_scos(var_r26);
|
||||
f32 var_f31 = speedF;
|
||||
speedF *= cM_scos(var_r26);
|
||||
|
||||
if (var_r26 < 0 && !checkBoardRide() && !i_checkModeFlg(MODE_SWIMMING)) {
|
||||
mSpeedF *= 0.85f;
|
||||
speedF *= 0.85f;
|
||||
}
|
||||
|
||||
if (mProcID == PROC_AUTO_JUMP && checkGrabGlide() &&
|
||||
(field_0xC04[0].ChkTgHit() || field_0xC04[1].ChkTgHit() || field_0xC04[2].ChkTgHit())) {
|
||||
mSpeedF *= 0.5f;
|
||||
speedF *= 0.5f;
|
||||
}
|
||||
|
||||
mSpeed.x = mSpeedF * cM_ssin(current.angle.y);
|
||||
mSpeed.z = mSpeedF * cM_scos(current.angle.y);
|
||||
speed.x = speedF * cM_ssin(current.angle.y);
|
||||
speed.z = speedF * cM_scos(current.angle.y);
|
||||
|
||||
if (checkNoCollisionCorret() || (i_checkModeFlg(0x40) && i_checkModeFlg(0x4000))) {
|
||||
field_0x342c = 0.0f;
|
||||
@@ -16522,8 +16521,8 @@ void daAlink_c::posMove() {
|
||||
plane.mNormal.y = 0.0f;
|
||||
plane.mNormal.normalizeZP();
|
||||
|
||||
mSpeed.x += temp_f0 * plane.mNormal.x;
|
||||
mSpeed.z += temp_f0 * plane.mNormal.z;
|
||||
speed.x += temp_f0 * plane.mNormal.x;
|
||||
speed.z += temp_f0 * plane.mNormal.z;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16535,68 +16534,68 @@ void daAlink_c::posMove() {
|
||||
if (i_checkNoResetFlg0(FLG0_UNK_100) && mProcID != PROC_SWIM_DIVE) {
|
||||
current.pos.y = mWaterY;
|
||||
} else if (mDemo.getDemoType() == 4 || mProcID == PROC_ELEC_DAMAGE || i_dComIfGp_checkPlayerStatus0(0, 0x10)) {
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
} else if (i_checkWolf()) {
|
||||
if (checkHeavyStateOn(1, 1)) {
|
||||
mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C;
|
||||
speed.y += daAlinkHIO_wlSwim_c0::m.field_0x9C;
|
||||
|
||||
if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) {
|
||||
mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4;
|
||||
if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0xA4) {
|
||||
speed.y = daAlinkHIO_wlSwim_c0::m.field_0xA4;
|
||||
}
|
||||
} else {
|
||||
mSpeed.y += daAlinkHIO_wlSwim_c0::m.field_0x60;
|
||||
speed.y += daAlinkHIO_wlSwim_c0::m.field_0x60;
|
||||
|
||||
if (mSpeed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) {
|
||||
mSpeed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C;
|
||||
if (speed.y > daAlinkHIO_wlSwim_c0::m.field_0x5C) {
|
||||
speed.y = daAlinkHIO_wlSwim_c0::m.field_0x5C;
|
||||
}
|
||||
}
|
||||
} else if (!i_checkEquipHeavyBoots() && getZoraSwim()) {
|
||||
mSpeed.y = -var_f31 * cM_ssin(var_r26);
|
||||
speed.y = -var_f31 * cM_ssin(var_r26);
|
||||
} else if ((checkBootsOrArmorHeavy() && mProcID != PROC_DEAD) || mProcID == PROC_SWIM_DIVE) {
|
||||
mSpeed.y += mGravity;
|
||||
speed.y += mGravity;
|
||||
|
||||
if (mSpeed.y < mMaxFallSpeed) {
|
||||
mSpeed.y = mMaxFallSpeed;
|
||||
if (speed.y < mMaxFallSpeed) {
|
||||
speed.y = mMaxFallSpeed;
|
||||
}
|
||||
} else if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
|
||||
mSpeed.y += mGravity;
|
||||
} else if (mSpeed.y < mMaxFallSpeed) {
|
||||
mSpeed.y += 1.0f;
|
||||
} else if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
|
||||
speed.y += mGravity;
|
||||
} else if (speed.y < mMaxFallSpeed) {
|
||||
speed.y += 1.0f;
|
||||
} else {
|
||||
if (checkZoraWearAbility() && mWaterY > current.pos.y + daAlinkHIO_swim_c0::m.mNormalFloatDepth) {
|
||||
mSpeed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth;
|
||||
speed.y += daAlinkHIO_swim_c0::m.mZoraFloatDepth;
|
||||
|
||||
if (mSpeed.y < 0.0f) {
|
||||
mSpeed.y = 0.0f;
|
||||
if (speed.y < 0.0f) {
|
||||
speed.y = 0.0f;
|
||||
}
|
||||
} else {
|
||||
mSpeed.y += daAlinkHIO_swim_c0::m.mBuoyancy;
|
||||
speed.y += daAlinkHIO_swim_c0::m.mBuoyancy;
|
||||
}
|
||||
|
||||
if (mSpeed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
|
||||
mSpeed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed;
|
||||
if (speed.y > daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed) {
|
||||
speed.y = daAlinkHIO_swim_c0::m.mMaxFloatUpSpeed;
|
||||
}
|
||||
}
|
||||
} else if (!i_checkModeFlg(0x400)) {
|
||||
if (checkHeavyStateOn(1, 1) && mProcID != PROC_SPINNER_READY && !i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
mSpeed.y += mGravity * 2.25f;
|
||||
speed.y += mGravity * 2.25f;
|
||||
|
||||
if (mSpeed.y < mMaxFallSpeed * 1.5f) {
|
||||
mSpeed.y = mMaxFallSpeed * 1.5f;
|
||||
if (speed.y < mMaxFallSpeed * 1.5f) {
|
||||
speed.y = mMaxFallSpeed * 1.5f;
|
||||
}
|
||||
} else {
|
||||
mSpeed.y += mGravity;
|
||||
speed.y += mGravity;
|
||||
|
||||
if (mSpeed.y < mMaxFallSpeed) {
|
||||
mSpeed.y = mMaxFallSpeed;
|
||||
if (speed.y < mMaxFallSpeed) {
|
||||
speed.y = mMaxFallSpeed;
|
||||
}
|
||||
}
|
||||
} else if (checkBoardRide()) {
|
||||
mLinkAcch.OffLineCheck();
|
||||
mSpeed.y += mGravity;
|
||||
speed.y += mGravity;
|
||||
|
||||
if (mSpeed.y < mMaxFallSpeed) {
|
||||
mSpeed.y = mMaxFallSpeed;
|
||||
if (speed.y < mMaxFallSpeed) {
|
||||
speed.y = mMaxFallSpeed;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16609,13 +16608,13 @@ void daAlink_c::posMove() {
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
|
||||
cXyz spFC;
|
||||
spFC.z = mSpeedF;
|
||||
mDoMtx_stack_c::multVecSR(&spFC, &mSpeed);
|
||||
current.pos += mSpeed;
|
||||
spFC.z = speedF;
|
||||
mDoMtx_stack_c::multVecSR(&spFC, &speed);
|
||||
current.pos += speed;
|
||||
current.pos.x += field_0x342c;
|
||||
current.pos.z += field_0x3430;
|
||||
} else {
|
||||
current.pos += mSpeed;
|
||||
current.pos += speed;
|
||||
current.pos.x += field_0x342c;
|
||||
current.pos.z += field_0x3430;
|
||||
|
||||
@@ -16626,12 +16625,12 @@ void daAlink_c::posMove() {
|
||||
}
|
||||
|
||||
if (checkBoardRide() && !i_checkModeFlg(2)) {
|
||||
current.pos.y -= mSpeedF * cM_ssin(var_r26);
|
||||
current.pos.y -= speedF * cM_ssin(var_r26);
|
||||
}
|
||||
|
||||
if (i_getSumouMode() && mProcID != PROC_SUMOU_WIN_LOSE) {
|
||||
current.pos.y = var_f31 - 1.0f;
|
||||
mSpeed.y = mGravity;
|
||||
speed.y = mGravity;
|
||||
}
|
||||
|
||||
field_0x342c = 0.0f;
|
||||
@@ -17820,7 +17819,7 @@ asm void daAlink_c::changeWarpMaterial(daAlink_c::daAlink_WARP_MAT_MODE param_0)
|
||||
#ifdef NONMATCHING
|
||||
void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
|
||||
if (mProcID == PROC_TOOL_DEMO) {
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
resetDemoBck();
|
||||
if (i_checkModeFlg(MODE_RIDING)) {
|
||||
initForceRideHorse();
|
||||
|
||||
@@ -16,8 +16,8 @@ f32 daAlink_c::getBoomSpeed() {
|
||||
|
||||
if (i_checkModeFlg(0x400)) {
|
||||
fopAc_ac_c* ride_actor = mRideAcKeep.getActor();
|
||||
if (ride_actor != NULL && ride_actor->mSpeedF > FLOAT_LABEL(lit_6108)) {
|
||||
speed += ride_actor->mSpeedF;
|
||||
if (ride_actor != NULL && ride_actor->speedF > FLOAT_LABEL(lit_6108)) {
|
||||
speed += ride_actor->speedF;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,8 +211,8 @@ void daAlink_c::throwBoomerang() {
|
||||
mFastShotTime = -1;
|
||||
daPy_boomerangMove_c::offEventKeepFlg();
|
||||
} else {
|
||||
item->mSpeedF = daAlinkHIO_pickUp_c0::m.field_0x28;
|
||||
item->mSpeed.y = daAlinkHIO_pickUp_c0::m.field_0x2C;
|
||||
item->speedF = daAlinkHIO_pickUp_c0::m.field_0x28;
|
||||
item->speed.y = daAlinkHIO_pickUp_c0::m.field_0x2C;
|
||||
item->current.angle.y = shape_angle.y;
|
||||
|
||||
fopAcM_cancelCarryNow(item);
|
||||
|
||||
@@ -139,7 +139,7 @@ BOOL daAlink_c::checkCanoeJumpRide() {
|
||||
canoe = (daCanoe_c*)field_0x850[1].GetCoHitAc();
|
||||
}
|
||||
|
||||
if (mSpeed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
|
||||
if (speed.y < FLOAT_LABEL(lit_6108) && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE &&
|
||||
canoe->checkJumpRideFlg() && !checkDeadHP() &&
|
||||
(mProcID != PROC_FALL || field_0x3010 != 0)) {
|
||||
return procCanoeJumpRideInit(canoe);
|
||||
@@ -257,7 +257,7 @@ int daAlink_c::procCanoeRideInit() {
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setRideCanoeBasePos(canoe);
|
||||
|
||||
if ((s16)(fopAcM_searchActorAngleY(canoe, this) - canoe->shape_angle.y) > 0) {
|
||||
@@ -329,7 +329,7 @@ int daAlink_c::procCanoeJumpRideInit(fopAc_ac_c* param_0) {
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setRideCanoeBasePos(canoe);
|
||||
mDoMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos);
|
||||
current.angle.y = shape_angle.y;
|
||||
|
||||
+13
-13
@@ -686,9 +686,9 @@ void daAlink_c::checkCutAtnActorChange() {
|
||||
void daAlink_c::setCutJumpSpeed(int i_airAt) {
|
||||
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
|
||||
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
} else if (checkHeavyStateOn(1, 1)) {
|
||||
mSpeed.y *= 1.35f;
|
||||
speed.y *= 1.35f;
|
||||
}
|
||||
|
||||
if (mTargetedActor != NULL && !i_airAt) {
|
||||
@@ -703,7 +703,7 @@ void daAlink_c::setCutJumpSpeed(int i_airAt) {
|
||||
targetPos.y = mTargetedActor->mEyePos.y;
|
||||
}
|
||||
|
||||
f32 dvar12 = mSpeed.y + mGravity;
|
||||
f32 dvar12 = speed.y + mGravity;
|
||||
f32 dvar10 = 1.0f / mGravity;
|
||||
f32 fvar1 = targetPos.y - (current.pos.y - (dvar10 * (dvar12 * dvar12) * 0.5f));
|
||||
|
||||
@@ -1027,14 +1027,14 @@ int daAlink_c::procCutFinishJumpUpInit() {
|
||||
}
|
||||
|
||||
setCutType(CUT_TYPE_TWIRL);
|
||||
mSpeed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV;
|
||||
speed.y = daAlinkHIO_cutFnJU_c0::m.mSpeedV;
|
||||
mNormalSpeed = daAlinkHIO_cutFnJU_c0::m.mSpeedH;
|
||||
|
||||
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
|
||||
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
} else if (checkHeavyStateOn(1, 1)) {
|
||||
mSpeed.y *= lit_7624;
|
||||
speed.y *= lit_7624;
|
||||
}
|
||||
|
||||
if (side_roll) {
|
||||
@@ -1255,10 +1255,10 @@ int daAlink_c::procCutJumpInit(int i_airCut) {
|
||||
|
||||
if (i_airCut) {
|
||||
mNormalSpeed = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedH;
|
||||
mSpeed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV;
|
||||
speed.y = daAlinkHIO_cutJump_c0::m.mAirJumpSpeedV;
|
||||
} else {
|
||||
mNormalSpeed = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedH;
|
||||
mSpeed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV;
|
||||
speed.y = daAlinkHIO_cutJump_c0::m.mBaseJumpSpeedV;
|
||||
}
|
||||
|
||||
setCutJumpSpeed(i_airCut);
|
||||
@@ -1639,7 +1639,7 @@ int daAlink_c::procCutDown() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (mLinkAcch.ChkGroundHit() && mSpeed.y <= FLOAT_LABEL(lit_6108)) {
|
||||
if (mLinkAcch.ChkGroundHit() && speed.y <= FLOAT_LABEL(lit_6108)) {
|
||||
procCutDownLandInit((fopEn_enemy_c*)field_0x280c.getActor());
|
||||
} else if (mUnderFrameCtrl[0].checkAnmEnd() && mCommonCounter == 0) {
|
||||
mCommonCounter = 1;
|
||||
@@ -1685,11 +1685,11 @@ int daAlink_c::procCutHead() {
|
||||
if (field_0x300e == 0) {
|
||||
cLib_chaseF(&mNormalSpeed, FLOAT_LABEL(lit_6108), field_0x3478);
|
||||
|
||||
if (mSpeed.y <= FLOAT_LABEL(lit_6108)) {
|
||||
if (speed.y <= FLOAT_LABEL(lit_6108)) {
|
||||
setSingleAnimeParam(ANM_CUT_HEAD, &daAlinkHIO_cutHead_c0::m.mCutAnm);
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
field_0x300e = 1;
|
||||
setCutWaterDropEffect();
|
||||
@@ -1700,7 +1700,7 @@ int daAlink_c::procCutHead() {
|
||||
mNormalSpeed *= lit_8501;
|
||||
|
||||
if (frameCtrl->checkPass(lit_8502)) {
|
||||
mSpeed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV;
|
||||
speed.y = daAlinkHIO_cutHead_c0::m.mAddSpeedV;
|
||||
mNormalSpeed = daAlinkHIO_cutHead_c0::m.mAddSpeedH;
|
||||
initGravity();
|
||||
}
|
||||
@@ -1837,7 +1837,7 @@ int daAlink_c::procCutLargeJump() {
|
||||
if (!i_checkModeFlg(2) && frameCtrl->getFrame() >= lit_7808) {
|
||||
setJumpMode();
|
||||
mNormalSpeed = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedH;
|
||||
mSpeed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV;
|
||||
speed.y = daAlinkHIO_cutLargeJump_c0::m.mCutSpeedV;
|
||||
setCutJumpSpeed(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) {
|
||||
daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation);
|
||||
|
||||
if (param_1 == 0) {
|
||||
mSpeed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
|
||||
speed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY);
|
||||
}
|
||||
|
||||
field_0x3010 = 0;
|
||||
|
||||
+21
-21
@@ -425,7 +425,7 @@ int daAlink_c::procSideStepInit(int jump_type) {
|
||||
current.angle.y = shape_angle.y + 0x8000;
|
||||
setSingleAnimeParam(ANM_BACK_JUMP, &daAlinkHIO_sideStep_c0::m.mBackJumpAnm);
|
||||
mNormalSpeed = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedH;
|
||||
mSpeed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV;
|
||||
speed.y = daAlinkHIO_sideStep_c0::m.mBackJumpSpeedV;
|
||||
field_0x300a = 0;
|
||||
} else {
|
||||
daAlink_ANM anm_id;
|
||||
@@ -439,13 +439,13 @@ int daAlink_c::procSideStepInit(int jump_type) {
|
||||
|
||||
setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideJumpAnm);
|
||||
mNormalSpeed = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedH;
|
||||
mSpeed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV;
|
||||
speed.y = daAlinkHIO_sideStep_c0::m.mSideJumpSpeedV;
|
||||
field_0x300a = 1;
|
||||
}
|
||||
|
||||
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
|
||||
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
}
|
||||
|
||||
voiceStart(Z2SE_AL_V_JUMP_S);
|
||||
@@ -686,7 +686,7 @@ int daAlink_c::procFrontRollInit() {
|
||||
daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x00,
|
||||
daAlinkHIO_frontRoll_c0::m.mRollAnm.field_0x0c);
|
||||
mNormalSpeed =
|
||||
mSpeedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate;
|
||||
speedF * daAlinkHIO_frontRoll_c0::m.mInitSpeed + daAlinkHIO_frontRoll_c0::m.mSpeedRate;
|
||||
if (mNormalSpeed > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08) {
|
||||
mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.field_0x08;
|
||||
}
|
||||
@@ -751,11 +751,11 @@ int daAlink_c::procFrontRollCrashInit() {
|
||||
daAlinkHIO_frontRoll_c0::m.mCrashAnm.mInterpolation);
|
||||
|
||||
mNormalSpeed = daAlinkHIO_frontRoll_c0::m.mCrashSpeedH;
|
||||
mSpeed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV;
|
||||
speed.y = daAlinkHIO_frontRoll_c0::m.mCrashSpeedV;
|
||||
|
||||
if (i_checkNoResetFlg0(FLG0_UNDERWATER)) {
|
||||
mNormalSpeed *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityX;
|
||||
mSpeed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
speed.y *= daAlinkHIO_magneBoots_c0::m.mWaterVelocityY;
|
||||
}
|
||||
|
||||
current.angle.y -= -0x8000;
|
||||
@@ -931,12 +931,12 @@ int daAlink_c::procBackJumpInit(int param_0) {
|
||||
if (param_0) {
|
||||
setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_cutDown_c0::m.mRecoverAnm);
|
||||
mNormalSpeed = daAlinkHIO_cutDown_c0::m.mRecoverSpeedV;
|
||||
mSpeed.y = daAlinkHIO_cutDown_c0::m.mSpeedV;
|
||||
speed.y = daAlinkHIO_cutDown_c0::m.mSpeedV;
|
||||
voiceStart(Z2SE_AL_V_TODOME_RETURN);
|
||||
} else {
|
||||
setSingleAnimeParam(ANM_BACKFLIP, &daAlinkHIO_backJump_c0::m.mBackflipAnm);
|
||||
mNormalSpeed = daAlinkHIO_backJump_c0::m.mBackflipSpeedH;
|
||||
mSpeed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV;
|
||||
speed.y = daAlinkHIO_backJump_c0::m.mBackflipSpeedV;
|
||||
voiceStart(Z2SE_AL_V_BACKTEN);
|
||||
}
|
||||
|
||||
@@ -1047,7 +1047,7 @@ int daAlink_c::procBackJumpLand() {
|
||||
int daAlink_c::procSlipInit() {
|
||||
commonProcInit(PROC_SLIP);
|
||||
setSingleAnimeParam(ANM_SLIP, &daAlinkHIO_move_c0::m.mSlideAnm);
|
||||
mNormalSpeed = mSpeedF * daAlinkHIO_move_c0::m.mSlideSpeed;
|
||||
mNormalSpeed = speedF * daAlinkHIO_move_c0::m.mSlideSpeed;
|
||||
|
||||
field_0x2f9d = 0x40;
|
||||
setFootEffectProcType(1);
|
||||
@@ -1097,7 +1097,7 @@ int daAlink_c::procDiveJumpInit() {
|
||||
deleteEquipItem(TRUE, TRUE);
|
||||
setHeavyBoots(0);
|
||||
|
||||
mSpeed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV;
|
||||
speed.y = daAlinkHIO_autoJump_c0::m.mDiveSpeedV;
|
||||
mNormalSpeed = daAlinkHIO_autoJump_c0::m.mDiveSpeedH;
|
||||
mGravity = daAlinkHIO_autoJump_c0::m.mDiveGravity;
|
||||
|
||||
@@ -1142,7 +1142,7 @@ int daAlink_c::procRollJumpInit() {
|
||||
|
||||
field_0x3478 = field_0x3410;
|
||||
mNormalSpeed = field_0x3410;
|
||||
mSpeed.y = field_0x3414;
|
||||
speed.y = field_0x3414;
|
||||
|
||||
field_0x2fe6 = field_0x30ee;
|
||||
shape_angle.y = field_0x30ee;
|
||||
@@ -1165,7 +1165,7 @@ int daAlink_c::procRollJump() {
|
||||
return checkLandAction(0);
|
||||
}
|
||||
|
||||
if (mSpeed.y < FLOAT_LABEL(lit_6108)) {
|
||||
if (speed.y < FLOAT_LABEL(lit_6108)) {
|
||||
procFallInit(3, daAlinkHIO_autoJump_c0::m.mSpinJumpFallInterpolation);
|
||||
} else {
|
||||
s16 old_angle = shape_angle.x;
|
||||
@@ -1469,7 +1469,7 @@ int daAlink_c::procCoMetamorphoseInit() {
|
||||
if ((i_checkWolf() && mDemo.getDemoMode() == 0x39) ||
|
||||
(!i_checkWolf() && mDemo.getDemoMode() == 0x3A)) {
|
||||
field_0x300a = 1;
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mNormalSpeed = 0.0f;
|
||||
|
||||
if (i_checkWolf()) {
|
||||
@@ -1549,7 +1549,7 @@ int daAlink_c::procCoMetamorphoseInit() {
|
||||
mCommonCounter = 0;
|
||||
}
|
||||
}
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
mNormalSpeed = 0.0f;
|
||||
field_0x3012 = 0;
|
||||
}
|
||||
@@ -1639,7 +1639,7 @@ int daAlink_c::procCoMetamorphoseOnlyInit() {
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
|
||||
return 1;
|
||||
@@ -2161,7 +2161,7 @@ int daAlink_c::execute() {
|
||||
}
|
||||
|
||||
cXyz pos = current.pos;
|
||||
field_0x3528 = mSpeed;
|
||||
field_0x3528 = speed;
|
||||
|
||||
mLinkAcch.ClrGroundHit();
|
||||
mLinkAcch.CrrPos(dComIfG_Bgsp());
|
||||
@@ -2203,7 +2203,7 @@ int daAlink_c::execute() {
|
||||
|
||||
Vec tmp;
|
||||
mDoMtx_stack_c::multVec(&tmp, ¤t.pos);
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
|
||||
if (field_0x3198 != 0) {
|
||||
if (mLinkAcch.GetGroundH() != -1000000000.0f) {
|
||||
@@ -2218,13 +2218,13 @@ int daAlink_c::execute() {
|
||||
} else if (checkModeFlg(MODE_UNK_4000)) {
|
||||
if (mProcID == PROC_DOOR_OPEN || mProcID == PROC_HANG_LEVER_DOWN) {
|
||||
current.pos.y = old_pos.y;
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
}
|
||||
current.pos.x = pos.x;
|
||||
current.pos.z = pos.z;
|
||||
} else if (checkFlyAtnWait() || mProcID == PROC_WARP) {
|
||||
current.pos.y = old_pos.y;
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
}
|
||||
|
||||
field_0x3178 = field_0x3174;
|
||||
@@ -2629,7 +2629,7 @@ int daAlink_c::execute() {
|
||||
} else if (dComIfGp_getDoStatus() == 0x91) {
|
||||
if (checkWolf() ||
|
||||
(field_0x27f4 != NULL &&
|
||||
(field_0x27f4->mSpeedF > 0.1f || (checkGoatCatchActor(field_0x27f4) &&
|
||||
(field_0x27f4->speedF > 0.1f || (checkGoatCatchActor(field_0x27f4) &&
|
||||
fopAcM_GetName(field_0x27f4) != PROC_COW)))) {
|
||||
setDoStatusEmphasys(0x15);
|
||||
} else {
|
||||
@@ -3192,7 +3192,7 @@ int daAlink_c::procCoPeepSubjectivityInit() {
|
||||
|
||||
i_onPlayerNoDraw();
|
||||
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
|
||||
mSpeed.y = FLOAT_LABEL(lit_6108);
|
||||
speed.y = FLOAT_LABEL(lit_6108);
|
||||
dComIfGp_setPlayerStatus0(0, 0x2000);
|
||||
field_0x3478 = lit_6183;
|
||||
mCommonCounter = shape_angle.y;
|
||||
|
||||
@@ -137,7 +137,7 @@ int daAlink_c::procSpinnerReadyInit() {
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
setHeavyBoots(0);
|
||||
|
||||
mSpeed.y = lit_7451;
|
||||
speed.y = lit_7451;
|
||||
voiceStart(Z2SE_AL_V_JUMP_S);
|
||||
seStartOnlyReverb(Z2SE_AL_SPINNER_START);
|
||||
|
||||
@@ -194,7 +194,7 @@ int daAlink_c::procSpinnerWaitInit() {
|
||||
mRideStatus = 5;
|
||||
setBgCheckParam();
|
||||
setSingleAnimeBaseSpeed(ANM_RIDE_CROUCH, daAlinkHIO_board_c0::m.mSitAnmSpeed, 4.0f);
|
||||
mSpeed.y = 0.0f;
|
||||
speed.y = 0.0f;
|
||||
setSpecialGravity(0.0f, mMaxFallSpeed, 0);
|
||||
mNormalSpeed = 0.0f;
|
||||
mCommonCounter = 0;
|
||||
@@ -276,7 +276,7 @@ int daAlink_c::procSpinnerWait() {
|
||||
setSpinnerStatus(ACTION_STR_JUMP2, ACTION_FLG_DEFAULT);
|
||||
}
|
||||
|
||||
mNormalSpeed = spinner->mSpeedF;
|
||||
mNormalSpeed = spinner->speedF;
|
||||
current.angle.y = spinner->current.angle.y;
|
||||
|
||||
if (spinner->checkSpinnerTagIntoIncRot()) {
|
||||
|
||||
@@ -1129,9 +1129,9 @@ int daAlink_c::procWolfSlipInit() {
|
||||
setSingleAnimeWolfParam(WANM_SLIP, &daAlinkHIO_wlMove_c0::m.field_0x0);
|
||||
|
||||
if (checkWolfDashMode()) {
|
||||
mNormalSpeed = mSpeedF * daAlinkHIO_wlMove_c0::m.field_0xA4;
|
||||
mNormalSpeed = speedF * daAlinkHIO_wlMove_c0::m.field_0xA4;
|
||||
} else {
|
||||
mNormalSpeed = mSpeedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C;
|
||||
mNormalSpeed = speedF * daAlinkHIO_wlMoveNoP_c0::m.field_0x3C;
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y;
|
||||
@@ -1634,7 +1634,7 @@ int daAlink_c::procWolfRopeSubjectivityInit() {
|
||||
setSpecialGravity(FLOAT_LABEL(lit_6108), mMaxFallSpeed, 0);
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
mNormalSpeed = tmp_0;
|
||||
|
||||
setWolfRopeOffsetY(setWolfRopePosY());
|
||||
@@ -1806,7 +1806,7 @@ int daAlink_c::procWolfHangReadyInit() {
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -2261,7 +2261,7 @@ int daAlink_c::procWolfSwimMoveInit() {
|
||||
|
||||
if (i_checkNoResetFlg0(FLG0_UNK_100)) {
|
||||
current.pos.y = mWaterY;
|
||||
mSpeed.y = FLOAT_LABEL(lit_6108);
|
||||
speed.y = FLOAT_LABEL(lit_6108);
|
||||
}
|
||||
|
||||
dComIfGp_setPlayerStatus0(0, 0x100000);
|
||||
@@ -2654,7 +2654,7 @@ int daAlink_c::procWolfJumpAttackKickInit() {
|
||||
setSingleAnimeWolfParam(WANM_JUMP_KICK, &daAlinkHIO_wlAtCjump_c0::m.field_0x14);
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
mNormalSpeed = tmp_0;
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
|
||||
@@ -2955,7 +2955,7 @@ int daAlink_c::procWolfEnemyHangBiteInit() {
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
|
||||
if (!setWolfEnemyHangBitePos((fopEn_enemy_c*)field_0x281c.getActor())) {
|
||||
@@ -3123,7 +3123,7 @@ int daAlink_c::procWolfCargoCarryInit() {
|
||||
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
mNormalSpeed = tmp_0;
|
||||
mSpeed.y = tmp_0;
|
||||
speed.y = tmp_0;
|
||||
setSpecialGravity(tmp_0, mMaxFallSpeed, 0);
|
||||
|
||||
daAlink_WANM wanm;
|
||||
|
||||
+5
-5
@@ -2550,8 +2550,8 @@ int daNpcT_c::initTalk(int param_0, fopAc_ac_c** param_1) {
|
||||
}
|
||||
|
||||
f32 tmp = FLOAT_LABEL(lit_4116);
|
||||
mSpeedF = tmp;
|
||||
mSpeed.set(tmp,tmp,tmp);
|
||||
speedF = tmp;
|
||||
speed.set(tmp,tmp,tmp);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -3685,7 +3685,7 @@ void daBaseNpc_c::setEnvTevColor() {
|
||||
/* 8014F0FC-8014F140 149A3C 0044+00 1/1 0/0 2/2 .text setRoomNo__11daBaseNpc_cFv */
|
||||
void daBaseNpc_c::setRoomNo() {
|
||||
s32 room_id = dComIfG_Bgsp().GetRoomId(mBgSPolyInfo);
|
||||
current.mRoomNo = room_id;
|
||||
current.roomNo = room_id;
|
||||
mRoomId = room_id;
|
||||
}
|
||||
|
||||
@@ -5090,8 +5090,8 @@ asm void daNpcF_c::chkActorInAttnArea(fopAc_ac_c* param_0, fopAc_ac_c* param_1,
|
||||
int daNpcF_c::initTalk(int param_0, fopAc_ac_c** param_1) {
|
||||
mFlow.init(this,param_0,0,param_1);
|
||||
f32 tmp = FLOAT_LABEL(lit_4116);
|
||||
mSpeedF = tmp;
|
||||
mSpeed.set(tmp,tmp,tmp);
|
||||
speedF = tmp;
|
||||
speed.set(tmp,tmp,tmp);
|
||||
field_0x9e9 = 0;
|
||||
field_0x9ec = 0;
|
||||
return 1;
|
||||
|
||||
@@ -191,7 +191,6 @@ extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 const m_data__12daItemBase_c[56];
|
||||
extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */];
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* __vt__8cM3dGPla[3];
|
||||
extern "C" extern void* __vt__8cM3dGCyl[3];
|
||||
extern "C" extern void* __vt__8cM3dGAab[3];
|
||||
@@ -545,7 +544,7 @@ SECTION_SDATA2 static f64 lit_4072 = 4503599627370496.0 /* cast u32 to float */;
|
||||
#ifdef NONMATCHING
|
||||
void daItem_c::CreateInit() {
|
||||
mAcchCir.SetWall(30.0f, 30.0f);
|
||||
mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, &mSpeed, NULL, NULL);
|
||||
mAcch.Set(¤t.pos, &next.pos, this, 1, &mAcchCir, &speed, NULL, NULL);
|
||||
mAcch.ClrWaterNone();
|
||||
mAcch.ClrRoofNone();
|
||||
mAcch.SetWtrChkMode(2);
|
||||
@@ -615,8 +614,8 @@ void daItem_c::CreateInit() {
|
||||
|
||||
field_0x978.init(¤t.pos, 1);
|
||||
|
||||
f32 old_speedF = mSpeedF;
|
||||
cXyz old_speed = mSpeed;
|
||||
f32 old_speedF = speedF;
|
||||
cXyz old_speed = speed;
|
||||
|
||||
mAcch.CrrPos(dComIfG_Bgsp());
|
||||
|
||||
@@ -628,8 +627,8 @@ void daItem_c::CreateInit() {
|
||||
field_0x9c0 = 1;
|
||||
}
|
||||
|
||||
mSpeedF = old_speedF;
|
||||
mSpeed = old_speed;
|
||||
speedF = old_speedF;
|
||||
speed = old_speed;
|
||||
|
||||
mAcch.ClrGroundLanding();
|
||||
mAcch.i_ClrGroundHit();
|
||||
@@ -817,7 +816,7 @@ SECTION_SDATA2 static f32 lit_4321 = 18.0f;
|
||||
// eyepos.y issue / need sinit for mFuncPtr
|
||||
#ifdef NONMATCHING
|
||||
int daItem_c::_daItem_execute() {
|
||||
field_0x950 = mSpeed;
|
||||
field_0x950 = speed;
|
||||
CountTimer();
|
||||
|
||||
mEyePos = current.pos;
|
||||
@@ -1190,7 +1189,7 @@ void daItem_c::mode_water_init() {
|
||||
|
||||
/* 8015CCD0-8015CDCC 157610 00FC+00 1/0 0/0 0/0 .text mode_wait__8daItem_cFv */
|
||||
void daItem_c::mode_wait() {
|
||||
if (field_0x924 < 5 && mSpeed.y > FLOAT_LABEL(lit_3857)) {
|
||||
if (field_0x924 < 5 && speed.y > FLOAT_LABEL(lit_3857)) {
|
||||
mAcch.SetGrndNone();
|
||||
}
|
||||
|
||||
@@ -1460,7 +1459,7 @@ int daItem_c::itemActionForRupee() {
|
||||
|
||||
if (mAcch.ChkGroundHit()) {
|
||||
RotateYBase();
|
||||
mSpeedF *= 0.95f;
|
||||
speedF *= 0.95f;
|
||||
}
|
||||
|
||||
if (field_0x94b >= 2) {
|
||||
@@ -1572,7 +1571,7 @@ int daItem_c::initAction() {
|
||||
initAngle();
|
||||
|
||||
if (isHeart(m_itemNo)) {
|
||||
mSpeedF = (cM_rndF(5.0f) + 20.0f) - 15.0f;
|
||||
speedF = (cM_rndF(5.0f) + 20.0f) - 15.0f;
|
||||
shape_angle.z = cM_rndFX(getData().field_0x2a);
|
||||
}
|
||||
|
||||
|
||||
@@ -773,7 +773,7 @@ f32 daPy_py_c::getSpinnerRideSpeed() const {
|
||||
f32 rideSpeed;
|
||||
|
||||
if (checkSpinnerRide()) {
|
||||
rideSpeed = mSpeedF;
|
||||
rideSpeed = speedF;
|
||||
} else {
|
||||
rideSpeed = lit_4215[0];
|
||||
}
|
||||
|
||||
@@ -67,43 +67,43 @@ static int CheckCreateHeap(fopAc_ac_c* p_actor) {
|
||||
}
|
||||
|
||||
/* 80078688-80078690 072FC8 0008+00 1/0 0/0 2/0 .text CreateHeap__16dBgS_MoveBgActorFv */
|
||||
s32 dBgS_MoveBgActor::CreateHeap() {
|
||||
int dBgS_MoveBgActor::CreateHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80078690-80078698 072FD0 0008+00 1/0 0/0 60/0 .text Create__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::Create() {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::Create() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80078698-800786A0 072FD8 0008+00 1/0 0/0 3/0 .text Execute__16dBgS_MoveBgActorFPPA3_A4_f */
|
||||
bool dBgS_MoveBgActor::Execute(f32 (**param_0)[3][4]) {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::Execute(f32 (**param_0)[3][4]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800786A0-800786A8 072FE0 0008+00 1/0 0/0 2/0 .text Draw__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::Draw() {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::Draw() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800786A8-800786B0 072FE8 0008+00 1/0 0/0 6/0 .text Delete__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::Delete() {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::Delete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800786B0-800786B8 072FF0 0008+00 1/0 0/0 171/0 .text IsDelete__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::IsDelete() {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::IsDelete() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800786B8-800786C0 072FF8 0008+00 1/0 0/0 171/0 .text ToFore__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::ToFore() {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::ToFore() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 800786C0-800786C8 073000 0008+00 1/0 0/0 171/0 .text ToBack__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::ToBack() {
|
||||
return true;
|
||||
int dBgS_MoveBgActor::ToBack() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -189,8 +189,8 @@ asm int dBgS_MoveBgActor::MoveBGCreate(char const* param_0, int param_1, MoveBGA
|
||||
#endif
|
||||
|
||||
/* 800788DC-80078950 07321C 0074+00 0/0 0/0 169/169 .text MoveBGDelete__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::MoveBGDelete() {
|
||||
bool ret = Delete();
|
||||
int dBgS_MoveBgActor::MoveBGDelete() {
|
||||
int ret = Delete();
|
||||
|
||||
if (field_0x568 != NULL && field_0x568->ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(field_0x568);
|
||||
@@ -199,10 +199,10 @@ bool dBgS_MoveBgActor::MoveBGDelete() {
|
||||
}
|
||||
|
||||
/* 80078950-80078A14 073290 00C4+00 0/0 0/0 183/183 .text MoveBGExecute__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::MoveBGExecute() {
|
||||
int dBgS_MoveBgActor::MoveBGExecute() {
|
||||
Mtx* tmp = NULL;
|
||||
|
||||
bool ret = Execute(&tmp);
|
||||
int ret = Execute(&tmp);
|
||||
if (tmp == NULL) {
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
|
||||
@@ -446,11 +446,11 @@ fopAc_ac_c* cc_at_check(fopAc_ac_c* p_enemy, dCcU_AtInfo* p_info) {
|
||||
p_info->mpActor = at_power_check(p_info);
|
||||
|
||||
if (p_info->mpActor != NULL) {
|
||||
cXyz tmp = p_info->mpActor->mSpeed;
|
||||
cXyz tmp = p_info->mpActor->speed;
|
||||
tmp.y = 0.0f;
|
||||
if (tmp.abs() > 100.0f) {
|
||||
f32 x = p_info->mpActor->mSpeed.x;
|
||||
f32 z = p_info->mpActor->mSpeed.z;
|
||||
f32 x = p_info->mpActor->speed.x;
|
||||
f32 z = p_info->mpActor->speed.z;
|
||||
p_info->mHitDirection = cM_atan2s(-x, -z) + (s16)cM_rndFX(4000.0f);
|
||||
} else {
|
||||
if (fopAcM_GetName(p_info->mpActor) == PROC_BOOMERANG) {
|
||||
|
||||
@@ -1417,7 +1417,7 @@ void dComIfGp_setNextStage(char const* i_stage, s16 i_point, s8 i_roomNo, s8 i_l
|
||||
|
||||
if (dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() &&
|
||||
daPy_getLinkPlayerActorClass() != NULL) {
|
||||
s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.mRoomNo;
|
||||
s8 curPoint = (s8)daPy_getLinkPlayerActorClass()->current.roomNo;
|
||||
cXyz pos = dMapInfo_n::getMapPlayerPos();
|
||||
s16 angle = daPy_getLinkPlayerActorClass()->shape_angle.y;
|
||||
u8 level = dComIfGp_getNowLevel();
|
||||
|
||||
+70
-258
@@ -1,157 +1,19 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_actor
|
||||
//
|
||||
/**
|
||||
* f_op_actor.cpp
|
||||
* Actor base process class
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_actor.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/com/d_com_static.h"
|
||||
#include "d/com/d_com_inf_actor.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "d/d_demo.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" void __ct__11J3DLightObjFv();
|
||||
extern "C" void __dt__11dEvt_info_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" static void fopAc_Draw__FPv();
|
||||
extern "C" static void fopAc_Execute__FPv();
|
||||
extern "C" static void fopAc_IsDelete__FPv();
|
||||
extern "C" static void fopAc_Delete__FPv();
|
||||
extern "C" static void fopAc_Create__FPv();
|
||||
extern "C" void getFileListInfo__15dStage_roomDt_cCFv();
|
||||
extern "C" void initBallModel__13fopEn_enemy_cFv();
|
||||
extern "C" void checkBallModelDraw__13fopEn_enemy_cFv();
|
||||
extern "C" void setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c();
|
||||
extern "C" void drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c();
|
||||
extern "C" extern char const* const f_op_f_op_actor__stringBase0;
|
||||
extern "C" u8 stopStatus__10fopAc_ac_c[4];
|
||||
extern "C" extern u8 data_80450CC0[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcTg_ToActorQ__FP16create_tag_class();
|
||||
extern "C" void fopAcTg_ActorQTo__FP16create_tag_class();
|
||||
extern "C" void fopAcTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_DeleteHeap__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_cullingCheck__FPC10fopAc_ac_c();
|
||||
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
|
||||
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
|
||||
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fpcBs_Is_JustOfType__Fii();
|
||||
extern "C" void fpcBs_MakeOfType__FPi();
|
||||
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
|
||||
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
|
||||
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
extern "C" void getStatusRoomDt__20dStage_roomControl_cFi();
|
||||
extern "C" void check__7daSus_cFP10fopAc_ac_c();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void setActor__13dDemo_actor_cFP10fopAc_ac_c();
|
||||
extern "C" void getActor__14dDemo_object_cFUc();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void moveApproval__14dEvt_control_cFPv();
|
||||
extern "C" void __ct__11dEvt_info_cFv();
|
||||
extern "C" void beforeProc__11dEvt_info_cFv();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void dKy_tevstr_init__FP12dKy_tevstr_cScUc();
|
||||
extern "C" void dKy_depth_dist_set__FPv();
|
||||
extern "C" void cLib_chaseF__FPfff();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void __as__12J3DLightInfoFRC12J3DLightInfo();
|
||||
extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
|
||||
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
|
||||
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
|
||||
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 m_object__7dDemo_c[4];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
|
||||
/* 80018B64-80018BD0 0134A4 006C+00 0/0 7/7 562/562 .text __ct__10fopAc_ac_cFv */
|
||||
fopAc_ac_c::fopAc_ac_c() {}
|
||||
|
||||
/* 80018BD0-80018C0C 013510 003C+00 0/0 12/12 0/0 .text __dt__5csXyzFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm csXyz::~csXyz() {
|
||||
extern "C" asm void __dt__5csXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/__dt__5csXyzFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80018C0C-80018C44 01354C 0038+00 1/1 6/6 0/0 .text __ct__11J3DLightObjFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm J3DLightObj::J3DLightObj() {
|
||||
extern "C" asm void __ct__11J3DLightObjFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/__ct__11J3DLightObjFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
|
||||
SECTION_DATA extern void* g_fopAc_Method[8] = {
|
||||
(void*)fopAc_Create__FPv,
|
||||
(void*)fopAc_Delete__FPv,
|
||||
(void*)fopAc_Execute__FPv,
|
||||
(void*)fopAc_IsDelete__FPv,
|
||||
(void*)fopAc_Draw__FPv,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 803A35D0-803A35E0 0006F0 000C+04 2/2 1/1 0/0 .data __vt__11dEvt_info_c */
|
||||
SECTION_DATA extern void* __vt__11dEvt_info_c[3 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__11dEvt_info_cFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 80018C44-80018C8C 013584 0048+00 1/0 0/0 0/0 .text __dt__11dEvt_info_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm dEvt_info_c::~dEvt_info_c() {
|
||||
extern "C" asm void __dt__11dEvt_info_cFv() {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/__dt__11dEvt_info_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
|
||||
/* 80018C8C-80018CE0 0135CC 0054+00 0/0 5/5 270/270 .text __dt__10fopAc_ac_cFv */
|
||||
fopAc_ac_c::~fopAc_ac_c() {}
|
||||
|
||||
@@ -174,7 +36,11 @@ static int fopAc_Draw(void* actor) {
|
||||
|
||||
int ret = 1;
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
if ((dComIfGp_event_moveApproval(ac) == 2 || (!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) && !fopAcM_checkStatus(ac, 0x21000000)) {
|
||||
if ((dComIfGp_event_moveApproval(ac) == 2 ||
|
||||
(!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) &&
|
||||
!fopAcM_checkStatus(ac, 0x21000000))
|
||||
{
|
||||
fopAcM_OffCondition(ac, 4);
|
||||
ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac);
|
||||
} else {
|
||||
@@ -199,7 +65,10 @@ static int fopAc_Execute(void* actor) {
|
||||
s32 move = dComIfGp_event_moveApproval(actor);
|
||||
fopAcM_OffStatus(ac, 0x40000000);
|
||||
|
||||
if (!fopAcM_checkStatus(ac, 0x20000000) && (move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) && (!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4))))) {
|
||||
if (!fopAcM_checkStatus(ac, 0x20000000) &&
|
||||
(move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4)))))
|
||||
{
|
||||
fopAcM_OffCondition(ac, 2);
|
||||
ac->next = ac->current;
|
||||
ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac);
|
||||
@@ -244,7 +113,7 @@ static int fopAc_Delete(void* actor) {
|
||||
fopAcTg_ActorQTo(&ac->mAcTg);
|
||||
fopDwTg_DrawQTo(&ac->mDwTg);
|
||||
fopAcM_DeleteHeap(ac);
|
||||
|
||||
|
||||
dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId);
|
||||
if (demoAc != NULL) {
|
||||
demoAc->setActor(NULL);
|
||||
@@ -254,34 +123,23 @@ static int fopAc_Delete(void* actor) {
|
||||
return deleted;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BD0-80451BD4 0001D0 0004+00 2/2 0/0 0/0 .sdata2 @4431 */
|
||||
SECTION_SDATA2 static f32 lit_4431 = 1.0f / 10.0f;
|
||||
|
||||
/* 80451BD4-80451BD8 0001D4 0004+00 1/1 0/0 0/0 .sdata2 @4432 */
|
||||
SECTION_SDATA2 static f32 lit_4432 = -100.0f;
|
||||
|
||||
/* 80451BD8-80451BE0 0001D8 0008+00 1/1 0/0 0/0 .sdata2 @4434 */
|
||||
SECTION_SDATA2 static f64 lit_4434 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */
|
||||
// swapped registers
|
||||
#ifdef NONMATCHING
|
||||
static int fopAc_Create(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
|
||||
if (fpcM_IsFirstCreating(actor)) {
|
||||
actor_process_profile_definition* profile = (actor_process_profile_definition*) fpcM_GetProfile(actor);
|
||||
actor_process_profile_definition* profile =
|
||||
(actor_process_profile_definition*)fpcM_GetProfile(actor);
|
||||
ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
|
||||
ac->mSubMtd = (profile_method_class*)profile->mBase.mMethods;
|
||||
ac->mSubMtd = (profile_method_class*)profile->mSubMtd;
|
||||
|
||||
fopAcTg_Init(&ac->mAcTg, ac);
|
||||
fopAcTg_ToActorQ(&ac->mAcTg);
|
||||
fopDwTg_Init(&ac->mDwTg, ac);
|
||||
|
||||
ac->mStatus = profile->field_0x28;
|
||||
ac->mGroup = profile->field_0x2c;
|
||||
ac->mCullType = profile->field_0x2d;
|
||||
ac->mStatus = profile->mStatus;
|
||||
ac->mGroup = profile->mActorType;
|
||||
ac->mCullType = profile->mCullType;
|
||||
|
||||
fopAcM_prm_class* append = fopAcM_GetAppend(ac);
|
||||
if (append != NULL) {
|
||||
@@ -291,9 +149,10 @@ static int fopAc_Create(void* actor) {
|
||||
ac->shape_angle = append->mAngle;
|
||||
ac->mParentPcId = append->mParentPId;
|
||||
ac->mSubtype = append->mSubtype;
|
||||
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f, append->mScale[2] * 0.1f);
|
||||
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
|
||||
append->mScale[2] * 0.1f);
|
||||
ac->mSetID = append->mEnemyNo;
|
||||
ac->orig.mRoomNo = append->mRoomNo;
|
||||
ac->orig.roomNo = append->mRoomNo;
|
||||
}
|
||||
|
||||
ac->next = ac->orig;
|
||||
@@ -311,7 +170,7 @@ static int fopAc_Create(void* actor) {
|
||||
ac->mAttentionInfo.field_0x8[0] = 51;
|
||||
ac->mAttentionInfo.mPosition = ac->orig.pos;
|
||||
ac->mAttentionInfo.field_0xa = 30;
|
||||
dKy_tevstr_init(&ac->mTevStr, ac->orig.mRoomNo, -1);
|
||||
dKy_tevstr_init(&ac->mTevStr, ac->orig.roomNo, -1);
|
||||
|
||||
int roomNo = dComIfGp_roomControl_getStayNo();
|
||||
if (roomNo >= 0) {
|
||||
@@ -319,45 +178,40 @@ static int fopAc_Create(void* actor) {
|
||||
}
|
||||
|
||||
dStage_FileList_dt_c* filelist = NULL;
|
||||
if (ac->orig.mRoomNo >= 0) {
|
||||
filelist = dComIfGp_roomControl_getStatusRoomDt(ac->orig.mRoomNo)->mRoomDt.getFileListInfo();
|
||||
if (ac->orig.roomNo >= 0) {
|
||||
filelist =
|
||||
dComIfGp_roomControl_getStatusRoomDt(ac->orig.roomNo)->mRoomDt.getFileListInfo();
|
||||
}
|
||||
|
||||
if (filelist != NULL) {
|
||||
if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) {
|
||||
return 5;
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
|
||||
profile->mActorType == 2)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
} else {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.mRoomNo) && profile->field_0x2c == 2) {
|
||||
return 5;
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
|
||||
profile->mActorType == 2)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac);
|
||||
if (ret == 4) {
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(ac);
|
||||
fopDwTg_ToDrawQ(&ac->mDwTg, priority);
|
||||
} else if (ret == 5) {
|
||||
} else if (ret == cPhs_ERROR_e) {
|
||||
fopAcM_OnCondition(ac, 0x10);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int fopAc_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/fopAc_Create__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800193FC-80019404 013D3C 0008+00 0/0 1/0 0/0 .text getFileListInfo__15dStage_roomDt_cCFv */
|
||||
dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
|
||||
@@ -366,124 +220,75 @@ dStage_FileList_dt_c* dStage_roomDt_c::getFileListInfo() const {
|
||||
|
||||
/* 80019404-800194FC 013D44 00F8+00 0/0 0/0 2/2 .text initBallModel__13fopEn_enemy_cFv */
|
||||
bool fopEn_enemy_c::initBallModel() {
|
||||
void* objRes = dComIfG_getObjectRes("Alink",daAlink_c::getBallModelIdx());
|
||||
void* objRes = dComIfG_getObjectRes("Alink", daAlink_c::getBallModelIdx());
|
||||
mBallModel = mDoExt_J3DModel__create((J3DModelData*)objRes, 0x80000, 0x11000284);
|
||||
|
||||
if (!mBallModel) {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
mBallModel->setBaseScale(cXyz::Zero);
|
||||
|
||||
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBtkIdx());
|
||||
mBtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBtkIdx());
|
||||
mBtk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
|
||||
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink",daAlink_c::getBallBrkIdx());
|
||||
mBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Alink", daAlink_c::getBallBrkIdx());
|
||||
mBrk->searchUpdateMaterialID(mBallModel->getModelData());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
/* 800194FC-80019520 013E3C 0024+00 2/2 0/0 2/2 .text checkBallModelDraw__13fopEn_enemy_cFv */
|
||||
int fopEn_enemy_c::checkBallModelDraw() {
|
||||
int ret = 0;
|
||||
|
||||
if ((mFlags & 1) && !(mFlags & 0x32)) {
|
||||
ret = 1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
bool fopEn_enemy_c::checkBallModelDraw() {
|
||||
return (mFlags & 1) && !(mFlags & 0x32);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BE0-80451BE8 0001E0 0004+04 2/2 0/0 0/0 .sdata2 @4505 */
|
||||
SECTION_SDATA2 static f32 lit_4505[1 + 1 /* padding */] = {
|
||||
1.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 80451BE8-80451BF0 0001E8 0008+00 1/1 0/0 0/0 .sdata2 @4507 */
|
||||
SECTION_SDATA2 static f64 lit_4507 = 4503601774854144.0 /* cast s32 to float */;
|
||||
|
||||
/* 80019520-800196A0 013E60 0180+00 0/0 0/0 2/2 .text
|
||||
* setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
#ifdef NONMATCHING
|
||||
// matches with literals
|
||||
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
||||
void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* i_tevstr) {
|
||||
if (mBallModel) {
|
||||
field_0x590 += FLOAT_LABEL(lit_4505);
|
||||
|
||||
field_0x590 += 1.0f;
|
||||
|
||||
if (field_0x590 >= mBtk->getFrameMax()) {
|
||||
field_0x590 -= mBtk->getFrameMax();
|
||||
}
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
if (checkBallModelDraw()) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
cLib_chaseF(&base_scale->x,FLOAT_LABEL(lit_4505),FLOAT_LABEL(lit_4431));
|
||||
cLib_chaseF(&base_scale->x, 1.0f, 0.1f);
|
||||
f32 result = base_scale->x;
|
||||
base_scale->z = result;
|
||||
base_scale->y = result;
|
||||
|
||||
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86c8, &mDownPos, param_0);
|
||||
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86c9, &mDownPos, param_0);
|
||||
mEffectID1 = dComIfGp_particle_set(mEffectID1, 0x86C8, &mDownPos, i_tevstr);
|
||||
mEffectID2 = dComIfGp_particle_set(mEffectID2, 0x86C9, &mDownPos, i_tevstr);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void fopEn_enemy_c::setBallModelEffect(dKy_tevstr_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_actor/setBallModelEffect__13fopEn_enemy_cFP12dKy_tevstr_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80451BF0-80451BF4 0001F0 0004+00 1/1 0/0 0/0 .sdata2 @4555 */
|
||||
SECTION_SDATA2 static u8 lit_4555[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80451BF4-80451BF8 0001F4 0004+00 1/1 0/0 0/0 .sdata2 @4556 */
|
||||
SECTION_SDATA2 static f32 lit_4556 = 1.0f / 20.0f;
|
||||
|
||||
/* 80451BF8-80451C00 0001F8 0004+04 1/1 0/0 0/0 .sdata2 @4557 */
|
||||
SECTION_SDATA2 static f32 lit_4557[1 + 1 /* padding */] = {
|
||||
1.0f / 100.0f,
|
||||
/* padding */
|
||||
0.0f,
|
||||
};
|
||||
|
||||
/* 800196A0-800197BC 013FE0 011C+00 0/0 0/0 2/2 .text
|
||||
* drawBallModel__13fopEn_enemy_cFP12dKy_tevstr_c */
|
||||
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
f32 tmp;
|
||||
void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* i_tevstr) {
|
||||
f32 scale_target;
|
||||
|
||||
if (mBallModel) {
|
||||
Vec* base_scale = mBallModel->getBaseScale();
|
||||
|
||||
if ((u8)checkBallModelDraw()) {
|
||||
tmp = FLOAT_LABEL(lit_4505);
|
||||
if (checkBallModelDraw()) {
|
||||
scale_target = 1.0f;
|
||||
} else {
|
||||
tmp = FLOAT_LABEL(lit_4555);
|
||||
scale_target = 0.0f;
|
||||
}
|
||||
|
||||
cLib_chaseF(&base_scale->x,tmp,FLOAT_LABEL(lit_4556));
|
||||
cLib_chaseF(&base_scale->x, scale_target, 0.05f);
|
||||
|
||||
base_scale->y = base_scale->x;
|
||||
base_scale->z = base_scale->x;
|
||||
|
||||
mBallModel->setBaseScale(*base_scale);
|
||||
|
||||
if (base_scale->x > FLOAT_LABEL(lit_4557)) {
|
||||
mDoMtx_trans(mBallModel->getBaseTRMtx(),mDownPos.x,mDownPos.y,mDownPos.z);
|
||||
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, param_0);
|
||||
if (base_scale->x > 0.01f) {
|
||||
mDoMtx_trans(mBallModel->getBaseTRMtx(), mDownPos.x, mDownPos.y, mDownPos.z);
|
||||
i_dKy_getEnvlight()->setLightTevColorType_MAJI(mBallModel, i_tevstr);
|
||||
|
||||
mBtk->setFrame(field_0x590);
|
||||
mBallModel->getModelData()->entryTexMtxAnimator(mBtk);
|
||||
@@ -493,10 +298,17 @@ void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* param_0) {
|
||||
|
||||
mDoExt_modelUpdateDL(mBallModel);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
|
||||
extern actor_method_class g_fopAc_Method = {
|
||||
(process_method_func)fopAc_Create, (process_method_func)fopAc_Delete,
|
||||
(process_method_func)fopAc_Execute, (process_method_func)fopAc_IsDelete,
|
||||
(process_method_func)fopAc_Draw,
|
||||
};
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
|
||||
|
||||
+12
-12
@@ -743,7 +743,7 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) {
|
||||
f32 speedF = fopAcM_GetSpeedF(p_actor);
|
||||
f32 gravity = fopAcM_GetGravity(p_actor);
|
||||
f32 xSpeed = speedF * cM_ssin(p_actor->getAngle().GetY());
|
||||
f32 ySpeed = p_actor->mSpeed.y + gravity;
|
||||
f32 ySpeed = p_actor->speed.y + gravity;
|
||||
f32 zSpeed = speedF * cM_scos(p_actor->getAngle().GetY());
|
||||
|
||||
clampMin(ySpeed, fopAcM_GetMaxFallSpeed(p_actor));
|
||||
@@ -752,9 +752,9 @@ void fopAcM_calcSpeed(fopAc_ac_c* p_actor) {
|
||||
|
||||
/* 8001A660-8001A6CC 014FA0 006C+00 1/1 1/1 17/17 .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */
|
||||
void fopAcM_posMove(fopAc_ac_c* p_actor, const cXyz* p_movePos) {
|
||||
p_actor->current.pos.x += p_actor->mSpeed.x;
|
||||
p_actor->current.pos.y += p_actor->mSpeed.y;
|
||||
p_actor->current.pos.z += p_actor->mSpeed.z;
|
||||
p_actor->current.pos.x += p_actor->speed.x;
|
||||
p_actor->current.pos.y += p_actor->speed.y;
|
||||
p_actor->current.pos.z += p_actor->speed.z;
|
||||
|
||||
if (p_movePos != NULL) {
|
||||
p_actor->current.pos.x += p_movePos->x;
|
||||
@@ -1501,8 +1501,8 @@ s32 fopAcM_createItemForBoss(const cXyz* p_pos, int param_2, int roomNo, const c
|
||||
fopAc_ac_c* actor = (fopAc_ac_c*)fopAcM_fastCreate(PROC_Obj_LifeContainer, 0xFFFF0000 | param_8 << 0x8 | (param_2 & 0xFF), p_pos, roomNo, p_angle,
|
||||
p_scale, -1, NULL, NULL);
|
||||
if (actor != NULL) {
|
||||
actor->mSpeedF = speedF;
|
||||
actor->mSpeed.y = speedY;
|
||||
actor->speedF = speedF;
|
||||
actor->speed.y = speedY;
|
||||
}
|
||||
return fopAcM_GetID(actor);
|
||||
}
|
||||
@@ -1668,11 +1668,11 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const
|
||||
|
||||
if (actor != NULL) {
|
||||
if (p_speedF != NULL) {
|
||||
actor->mSpeedF = *p_speedF * (1.0f + cM_rndFX(0.3f));
|
||||
actor->speedF = *p_speedF * (1.0f + cM_rndFX(0.3f));
|
||||
}
|
||||
|
||||
if (p_speedY != NULL) {
|
||||
actor->mSpeed.y = *p_speedY * (1.0f + cM_rndFX(0.2f));
|
||||
actor->speed.y = *p_speedY * (1.0f + cM_rndFX(0.2f));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1688,11 +1688,11 @@ void* fopAcM_fastCreateItem(const cXyz* p_pos, int i_itemNo, int i_roomNo, const
|
||||
|
||||
if (actor != NULL) {
|
||||
if (p_speedF != NULL) {
|
||||
actor->mSpeedF = *p_speedF;
|
||||
actor->speedF = *p_speedF;
|
||||
}
|
||||
|
||||
if (p_speedY != NULL) {
|
||||
actor->mSpeed.y = *p_speedY;
|
||||
actor->speed.y = *p_speedY;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1780,7 +1780,7 @@ asm fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 param_0) {
|
||||
* fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc */
|
||||
s32 fopAcM_createDisappear(const fopAc_ac_c* p_actor, const cXyz* p_pos, u8 param_3, u8 param_4,
|
||||
u8 param_5) {
|
||||
s8 roomNo = p_actor->current.mRoomNo;
|
||||
s8 roomNo = p_actor->current.roomNo;
|
||||
return fopAcM_GetID(fopAcM_fastCreate(PROC_DISAPPEAR, (param_5 << 0x10) | (param_3 << 0x8) | param_4,
|
||||
p_pos, roomNo, &p_actor->current.angle, NULL, 0xFF, NULL,
|
||||
NULL));
|
||||
@@ -2041,7 +2041,7 @@ s32 fopAcM_carryOffRevise(fopAc_ac_c* param_0) {
|
||||
param_0->current.pos.x = player->current.pos.x;
|
||||
param_0->current.pos.z = player->current.pos.z;
|
||||
param_0->next.pos = param_0->current.pos;
|
||||
param_0->mSpeedF = FLOAT_LABEL(lit_4645);
|
||||
param_0->speedF = FLOAT_LABEL(lit_4645);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user