d_a_crod almost fully OK (#270)

This commit is contained in:
TakaRikka
2023-02-05 07:09:29 -08:00
committed by GitHub
parent 748fc00cd6
commit e3dd222948
61 changed files with 1386 additions and 4080 deletions
+14 -9
View File
@@ -12428,7 +12428,7 @@ void daAlink_c::playerInit() {
mSheathModel = mpSwASheathModel;
field_0x814.Init(120, 0xFF, this);
field_0x306c = shape_angle.y + field_0x59e;
field_0x306c = shape_angle.y + mBodyAngleY;
for (u16 i = 0; i < 3; i++) {
mAtCps[i].Set(*(dCcD_SrcCps*)l_atCpsSrc);
@@ -13798,7 +13798,7 @@ void daAlink_c::setCollision() {
if (checkIronBallWaitAnime() || field_0x351c.absXZ() > lit_8782) {
field_0x306c = field_0x351c.atan2sX_Z();
} else {
field_0x306c = shape_angle.y + field_0x59e;
field_0x306c = shape_angle.y + mBodyAngleY;
}
g_dComIfG_gameInfo.play.mCcs.Set(&field_0x850[0]);
@@ -16290,8 +16290,8 @@ void daAlink_c::setBodyAngleXReadyAnime(int param_0) {
angle_x >>= 1; // divide by 2 adds extra addze?
}
cLib_addCalcAngleS(&mLookAngleY, angle_x, 4, 0x0C00, 0x0180);
field_0x310a = mLookAngleY;
cLib_addCalcAngleS(&mBodyAngleX, angle_x, 4, 0x0C00, 0x0180);
field_0x310a = mBodyAngleX;
}
/* 800BB324-800BB408 0B5C64 00E4+00 2/2 0/0 0/0 .text setMagicArmorBrk__9daAlink_cFi */
@@ -17973,8 +17973,8 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
if (i_checkWolf()) {
shape_angle.z = 0;
mLookAngleY = 0;
field_0x59e = 0;
mBodyAngleX = 0;
mBodyAngleY = 0;
} else if (!i_checkReinRide() && !checkBoardRide()) {
shape_angle.x = 0;
shape_angle.z = 0;
@@ -17994,7 +17994,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
if (field_0x3190 != 0) {
field_0x3190 = 0;
field_0x59e = 0;
mBodyAngleY = 0;
}
mFishingArm1Angle = csXyz::Zero;
@@ -18733,9 +18733,14 @@ extern "C" asm void __dt__9cCcD_SttsFv() {
#pragma pop
/* 801410EC-8014111C 13BA2C 0030+00 1/1 0/0 0/0 .text __ct__16daPy_actorKeep_cFv */
daPy_actorKeep_c::daPy_actorKeep_c() {
clearData();
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void __ct__16daPy_actorKeep_cFv() {
nofralloc
#include "asm/d/a/d_a_alink/__ct__16daPy_actorKeep_cFv.s"
}
#pragma pop
/* 8014111C-8014112C 13BA5C 0010+00 1/1 0/0 0/0 .text
* onNoResetFlg2__9daPy_py_cFQ29daPy_py_c9daPy_FLG2 */
+2 -2
View File
@@ -196,8 +196,8 @@ void daAlink_c::throwBoomerang() {
BOOL boomerang_item = fopAcM_GetName(item) == PROC_BOOMERANG;
if (boomerang_item) {
item->setThrow();
item->current.angle.y = shape_angle.y + field_0x59e;
item->current.angle.x = -mLookAngleY;
item->current.angle.y = shape_angle.y + mBodyAngleY;
item->current.angle.x = -mBodyAngleX;
if (mTargetedActor != NULL) {
item->setAimActor(mTargetedActor);
+3 -3
View File
@@ -80,14 +80,14 @@ cXyz* daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) {
var_28 = shape_angle.y;
}
var_28 += field_0x59e;
var_28 += mBodyAngleY;
mDoMtx_stack_c::transS(field_0x3834);
concatMagneBootMtx();
mDoMtx_stack_c::ZXYrotM(mLookAngleY, var_28, 0);
mDoMtx_stack_c::ZXYrotM(mBodyAngleX, var_28, 0);
mDoMtx_stack_c::multVec(&localPos, &field_0x37e0);
*param_0 = mLookAngleY;
*param_0 = mBodyAngleX;
*param_1 = var_28;
return &field_0x37e0;
}
+2 -2
View File
@@ -132,8 +132,8 @@ asm void daAlink_c::setIronBallChainPos() {
/* 80113CA0-80113D58 10E5E0 00B8+00 1/1 0/0 0/0 .text checkIronBallReturnChange__9daAlink_cFv */
BOOL daAlink_c::checkIronBallReturnChange() {
if (mProcID != PROC_IRON_BALL_THROW ||
(!(mLookAngleY > 0x400) && mIronBallBgChkPos.y < (current.pos.y - lit_8472)) ||
(mLookAngleY > 0x400 && mItemMode == 0x64) ||
(!(mBodyAngleX > 0x400) && mIronBallBgChkPos.y < (current.pos.y - lit_8472)) ||
(mBodyAngleX > 0x400 && mItemMode == 0x64) ||
(field_0xFB8.ChkAtHit() && field_0xFB8.GetAtHitGObj() != NULL &&
static_cast<dCcD_GObjInf*>(field_0xFB8.GetAtHitGObj())->ChkTgIronBallRebound())) {
setIronBallReturn(0);
+3 -3
View File
@@ -2357,12 +2357,12 @@ int daAlink_c::execute() {
if (checkUpperGuardAnime()) {
setBodyAngleXReadyAnime(0);
} else if (!checkUpperReadyThrowAnime()) {
cLib_addCalcAngleS(&mLookAngleY, 0, 4, 0x0C00, 0x0180);
cLib_addCalcAngleS(&mBodyAngleX, 0, 4, 0x0C00, 0x0180);
}
}
if (!checkModeFlg(MODE_UNK_40000000)) {
cLib_addCalcAngleS(&field_0x59e, 0, 4, 0x0C00, 0x0180);
cLib_addCalcAngleS(&mBodyAngleY, 0, 4, 0x0C00, 0x0180);
}
}
}
@@ -2384,7 +2384,7 @@ int daAlink_c::execute() {
footBgCheck();
handBgCheck();
field_0x30c8 = field_0x59e >> 1;
field_0x30c8 = mBodyAngleY >> 1;
modelCalc(mpLinkModel);
if (field_0x2fcb != 0) {
+1 -1
View File
@@ -200,7 +200,7 @@ int daAlink_c::procHawkSubjectInit() {
}
mCommonCounter = 0;
field_0x59e = 0;
mBodyAngleY = 0;
deleteEquipItem(0, 1);
return 1;
}
+2 -2
View File
@@ -1251,8 +1251,8 @@ JStage::TObject* dDemo_object_c::appendActor(fopAc_ac_c* p_actor) {
demoActor->setActor(p_actor);
p_actor->mDemoActorId = mActorNum;
if (p_actor->field_0x524 != NULL) {
demoActor->setModel((J3DModel*)p_actor->field_0x524);
if (p_actor->model != NULL) {
demoActor->setModel((J3DModel*)p_actor->model);
}
return demoActor;