mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-01 15:59:45 -04:00
d_a_crod almost fully OK (#270)
This commit is contained in:
+14
-9
@@ -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 */
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -200,7 +200,7 @@ int daAlink_c::procHawkSubjectInit() {
|
||||
}
|
||||
|
||||
mCommonCounter = 0;
|
||||
field_0x59e = 0;
|
||||
mBodyAngleY = 0;
|
||||
deleteEquipItem(0, 1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user