mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
Minor d_a_alink fixes (#2534)
This commit is contained in:
@@ -21908,11 +21908,17 @@ m_obj__12dEyeHL_mng_c = .sbss:0x80450FA8; // type:object size:0x4 scope:global a
|
||||
struct_80450FB0 = .sbss:0x80450FB0; // type:object size:0x1 scope:global align:8 data:byte
|
||||
lbl_80450FB1 = .sbss:0x80450FB1; // type:object size:0x1 data:byte
|
||||
lbl_80450FB2 = .sbss:0x80450FB2; // type:object size:0x1 data:byte
|
||||
struct_80450FB8 = .sbss:0x80450FB8; // type:object size:0x4 scope:global align:4 data:byte
|
||||
init$11203 = .sbss:0x80450FB8; // type:object size:0x1 scope:global align:1 data:byte
|
||||
init$11207 = .sbss:0x80450FB9; // type:object size:0x1 scope:global align:1 data:byte
|
||||
init$11211 = .sbss:0x80450FBA; // type:object size:0x1 scope:global align:1 data:byte
|
||||
init$11215 = .sbss:0x80450FBB; // type:object size:0x1 scope:global align:1 data:byte
|
||||
init$33110 = .sbss:0x80450FBC; // type:object size:0x1 scope:local align:1 data:byte
|
||||
init$33113 = .sbss:0x80450FBD; // type:object size:0x1 scope:local align:1 data:byte
|
||||
it$36766 = .sbss:0x80450FC0; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
struct_80450FC4 = .sbss:0x80450FC4; // type:object size:0x4 scope:local align:4 data:byte
|
||||
init$37466 = .sbss:0x80450FC4; // type:object size:0x1 scope:local align:4 data:byte
|
||||
lbl_80450FC5 = .sbss:0x80450FC5; // type:object size:0x1 data:byte
|
||||
lbl_80450FC6 = .sbss:0x80450FC6; // type:object size:0x1 data:byte
|
||||
lbl_80450FC7 = .sbss:0x80450FC7; // type:object size:0x1 data:byte
|
||||
m_eye_move_flg = .sbss:0x80450FC8; // type:object size:0x1 scope:local align:1 data:byte
|
||||
m_morf_frame__16daAlink_matAnm_c = .sbss:0x80450FC9; // type:object size:0x1 scope:global align:1 data:byte
|
||||
bgWaitFlg = .sbss:0x80450FCC; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
|
||||
@@ -151,6 +151,10 @@ public:
|
||||
genNodeSub(label, obj, param_2, param_3);
|
||||
}
|
||||
|
||||
void endUpdateNode() {
|
||||
// empty function
|
||||
}
|
||||
|
||||
void startUpdateNode(JORReflexible* obj) {
|
||||
putNode(obj);
|
||||
}
|
||||
@@ -240,6 +244,7 @@ public:
|
||||
|
||||
void updateControl(u32 mode, u32 id, u32 param_2);
|
||||
void updateControl(u32 mode, u32 id, const char* param_2);
|
||||
void updateLabel(u32 mode, u32 id, const char* param_2) { updateControl(mode, id, param_2); }
|
||||
void updateSliderSub(u32 mode, u32 id, s32 value, s32 rangeMin, s32 rangeMax,
|
||||
u32 param_5);
|
||||
void updateCheckBoxSub(u32 mode, u32 id, u16 value, u16 mask, u32 param_4);
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMaterial.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "Z2AudioLib/Z2WolfHowlMgr.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/actor/d_a_tag_mmsg.h"
|
||||
@@ -228,6 +226,8 @@ public:
|
||||
/* 80140B88 */ daAlinkHIO_c();
|
||||
/* 80140C10 */ virtual ~daAlinkHIO_c();
|
||||
|
||||
void jumpStateUpdate(const cXyz*, const cXyz*, f32);
|
||||
|
||||
/* 0x04 */ u8 field_0x4[0xC - 0x4];
|
||||
/* 0x0C */ daAlinkHIO_cut_c mCut;
|
||||
/* 0x0D */ u8 field_0xD[0x4B - 0xD];
|
||||
|
||||
@@ -24,7 +24,7 @@ void mDoMtx_ZrotM(Mtx mtx, s16 z);
|
||||
bool mDoMtx_inverseTranspose(f32 const (*param_0)[4], f32 (*param_1)[4]);
|
||||
void mDoMtx_QuatConcat(Quaternion const* param_0, Quaternion const* param_1, Quaternion* param_2);
|
||||
|
||||
inline void mDoMtx_multVecSR(Mtx m, const Vec* src, Vec* dst) {
|
||||
inline void mDoMtx_multVecSR(const Mtx m, const Vec* src, Vec* dst) {
|
||||
MTXMultVecSR(m, src, dst);
|
||||
}
|
||||
|
||||
|
||||
+197
-155
File diff suppressed because it is too large
Load Diff
@@ -812,9 +812,3 @@ int daAlink_c::procBottleGet() {
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80110648-80110654 10AF88 000C+00 0/0 1/0 0/0 .text Insect_Release__9dInsect_cFv */
|
||||
// asm void dInsect_c::Insect_Release() {
|
||||
extern "C" void Insect_Release__9dInsect_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
@@ -669,9 +669,8 @@ int daAlink_c::procCrawlMove() {
|
||||
}
|
||||
|
||||
/* 800F99FC-800F9ABC 0F433C 00C0+00 1/1 0/0 0/0 .text procCrawlAutoMoveInit__9daAlink_cFiP4cXyz */
|
||||
// NONMATCHING - extrwi vs rlwinm
|
||||
int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) {
|
||||
BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000);
|
||||
BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000) != 0 ? TRUE : FALSE;
|
||||
commonProcInit(PROC_CRAWL_AUTO_MOVE);
|
||||
field_0x37c8 = *param_1;
|
||||
field_0x33cc = 1.0f;
|
||||
|
||||
@@ -1338,10 +1338,9 @@ void daAlink_c::setHighModelBck(mDoExt_bckAnm* i_bck, u16 i_anmID) {
|
||||
|
||||
/* 801190A4-80119134 1139E4 0090+00 1/1 0/0 0/0 .text setHighModelFaceBtk__9daAlink_cFUs
|
||||
*/
|
||||
// NONMATCHING - extra mr
|
||||
void daAlink_c::setHighModelFaceBtk(u16 i_anmID) {
|
||||
J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectIDRes(
|
||||
dStage_roomControl_c::getDemoArcName(), i_anmID);
|
||||
J3DAnmTextureSRTKey* btk = static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectIDRes(
|
||||
dStage_roomControl_c::getDemoArcName(), i_anmID));
|
||||
|
||||
if (btk && field_0x068c != btk) {
|
||||
btk->searchUpdateMaterialID(mpDemoFCTongueModel->getModelData());
|
||||
@@ -1356,8 +1355,8 @@ void daAlink_c::setHighModelFaceBtk(u16 i_anmID) {
|
||||
* setDemoBrk__9daAlink_cFPP15J3DAnmTevRegKeyP8J3DModelUs */
|
||||
// NONMATCHING - extra mr
|
||||
void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 i_anmID) {
|
||||
J3DAnmTevRegKey* brk =
|
||||
(J3DAnmTevRegKey*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), i_anmID);
|
||||
J3DAnmTevRegKey* brk = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectIDRes(
|
||||
dStage_roomControl_c::getDemoArcName(), i_anmID));
|
||||
|
||||
if (brk != NULL && *param_0 != brk) {
|
||||
brk->searchUpdateMaterialID(param_1->getModelData());
|
||||
|
||||
@@ -958,7 +958,6 @@ static const u16 effNameWater[] = {
|
||||
};
|
||||
|
||||
/* 80122F78-801233A4 11D8B8 042C+00 1/1 0/0 0/0 .text setCutTurnEffect__9daAlink_cFv */
|
||||
// NONMATCHING - should match when data order is fixed
|
||||
void daAlink_c::setCutTurnEffect() {
|
||||
static Vec const waterEffScale = {1.5f, 1.5f, 1.5f};
|
||||
|
||||
@@ -1956,14 +1955,15 @@ static void setBezierPos(cXyz const* start, cXyz const* control_1, cXyz const* c
|
||||
|
||||
/* 8012589C-80125B0C 1201DC 0270+00 1/1 0/0 0/0 .text
|
||||
* copyBlur__14daAlink_blur_cFPC4cXyzPC4cXyzPC4cXyz */
|
||||
// NONMATCHING
|
||||
void daAlink_blur_c::copyBlur(cXyz const* param_0, cXyz const* param_1, cXyz const* param_2) {
|
||||
for (int i = 59 - 10; i >= 0; i--) {
|
||||
field_0x38[i + 10] = field_0x38[i];
|
||||
field_0x308[i + 10] = field_0x308[i];
|
||||
s32 temp = 10;
|
||||
|
||||
for (int i = 59 - temp; i >= 0; i--) {
|
||||
field_0x38[i + temp] = field_0x38[i];
|
||||
field_0x308[i + temp] = field_0x308[i];
|
||||
}
|
||||
|
||||
f32 temp_f30 = 1.0f / 10;
|
||||
f32 temp_f30 = 1.0f / temp;
|
||||
f32 var_f31 = 0.0f;
|
||||
|
||||
cXyz sp4C;
|
||||
@@ -1971,14 +1971,14 @@ void daAlink_blur_c::copyBlur(cXyz const* param_0, cXyz const* param_1, cXyz con
|
||||
cXyz sp64;
|
||||
cXyz sp70;
|
||||
|
||||
sp58 = field_0x308[10] + (field_0x2c * 30.0f);
|
||||
sp58 = field_0x308[temp] + (field_0x2c * 30.0f);
|
||||
sp4C = *param_1 + (*param_2 * -30.0f);
|
||||
sp70 = field_0x38[10] + (field_0x2c * 60.0f);
|
||||
sp70 = field_0x38[temp] + (field_0x2c * 60.0f);
|
||||
sp64 = *param_0 + (*param_2 * -60.0f);
|
||||
|
||||
for (int i = 0; i < 10; i++) {
|
||||
setBezierPos(param_1, &field_0x308[10], &sp4C, &sp58, var_f31, &field_0x308[i]);
|
||||
setBezierPos(param_0, &field_0x38[10], &sp64, &sp70, var_f31, &field_0x38[i]);
|
||||
for (int i = 0; i < temp; i++) {
|
||||
setBezierPos(param_1, &field_0x308[temp], &sp4C, &sp58, var_f31, &field_0x308[i]);
|
||||
setBezierPos(param_0, &field_0x38[temp], &sp64, &sp70, var_f31, &field_0x38[i]);
|
||||
|
||||
field_0x38[i] += (field_0x38[i] - field_0x308[i]) * field_0x24;
|
||||
var_f31 += temp_f30;
|
||||
|
||||
@@ -685,9 +685,12 @@ BOOL daAlink_c::checkHorseServiceWaitAnime() {
|
||||
}
|
||||
|
||||
/* 800EDEEC-800EE64C 0E882C 0760+00 1/1 0/0 0/0 .text setSyncHorse__9daAlink_cFi */
|
||||
// NONMATCHING - missing stack space at 0x10
|
||||
int daAlink_c::setSyncHorse(int param_0) {
|
||||
daHorse_c* horse_p = dComIfGp_getHorseActor();
|
||||
BOOL mode_1 = checkModeFlg(1);
|
||||
daPy_frameCtrl_c* sp24 = &mUnderFrameCtrl[0];
|
||||
daPy_frameCtrl_c* sp20 = &mUnderFrameCtrl[2];
|
||||
BOOL mode_1 = checkModeFlg(1) ? TRUE : FALSE;
|
||||
|
||||
setSyncHorsePos();
|
||||
if (checkHorseSpecialProc()) {
|
||||
@@ -702,12 +705,14 @@ int daAlink_c::setSyncHorse(int param_0) {
|
||||
field_0x3004 = 0;
|
||||
} else if (checkInputOnR() && horse_p->checkWait() && mProcID != PROC_HORSE_SUBJECTIVITY &&
|
||||
mProcID != PROC_HORSE_CUT_TURN && sp8[0] != ANM_HORSE_TURN_LEFT &&
|
||||
sp8[0] != ANM_HORSE_TURN_RIGHT && field_0x3004 == 0 &&
|
||||
getDirectionFromShapeAngle() == DIR_FORWARD)
|
||||
{
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkAnm);
|
||||
offNoResetFlg1(FLG1_UNK_1000);
|
||||
sp8[0] != ANM_HORSE_TURN_RIGHT && field_0x3004 == 0) {
|
||||
s32 dir = getDirectionFromShapeAngle();
|
||||
if (dir == DIR_FORWARD)
|
||||
{
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
setSingleAnimeParam(ANM_WSTARTH, &daAlinkHIO_horse_c0::m.mWalkAnm);
|
||||
offNoResetFlg1(FLG1_UNK_1000);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -750,15 +755,17 @@ int daAlink_c::setSyncHorse(int param_0) {
|
||||
|
||||
if (doTrigger()) {
|
||||
field_0x3004 = daAlinkHIO_horse_c0::m.mNoWalkTime;
|
||||
daAlink_ANM anm;
|
||||
const daAlinkHIO_anm_c* anmparam_p = &daAlinkHIO_horse_c0::m.mWhipAnm;
|
||||
anm = ANM_HORSE_LASH;
|
||||
|
||||
if (mProcID != PROC_HORSE_CUT && mProcID != PROC_HORSE_CUT_TURN &&
|
||||
mProcID != PROC_HORSE_CUT_CHARGE_READY)
|
||||
{
|
||||
setSingleAnimeParam(ANM_HORSE_LASH, anmparam_p);
|
||||
setSingleAnimeParam(anm, anmparam_p);
|
||||
}
|
||||
|
||||
setUnderAnimeParam(getMainBckData(ANM_HORSE_LASH)->m_underID, UNDER_2,
|
||||
setUnderAnimeParam(getMainBckData(anm)->m_underID, UNDER_2,
|
||||
&daAlinkHIO_horse_c0::m.mWhipAnm);
|
||||
onNoResetFlg1(FLG1_UNK_1000);
|
||||
horse_p->offPlayerBackRideLash();
|
||||
@@ -774,15 +781,15 @@ int daAlink_c::setSyncHorse(int param_0) {
|
||||
}
|
||||
|
||||
if ((checkHorseWalkStartAnm() &&
|
||||
mUnderFrameCtrl[0].getFrame() > daAlinkHIO_horse_c0::m.mHorseWalkStartFrame) ||
|
||||
(checkHorseWaitLashAnime() && mUnderFrameCtrl[2].getFrame() > 13.0f))
|
||||
sp24->getFrame() > daAlinkHIO_horse_c0::m.mHorseWalkStartFrame) ||
|
||||
(checkHorseWaitLashAnime() && sp20->getFrame() > 13.0f))
|
||||
{
|
||||
horse_p->onMoveAccept();
|
||||
}
|
||||
|
||||
if (checkNoResetFlg1(FLG1_UNK_1000) &&
|
||||
((checkHorseUnderDashStartAnime() && mUnderFrameCtrl[2].getFrame() > 13.0f) ||
|
||||
(checkHorseUnderLashAnime() && mUnderFrameCtrl[2].getFrame() > 13.0f)))
|
||||
((checkHorseUnderDashStartAnime() && sp20->getFrame() > 13.0f) ||
|
||||
(checkHorseUnderLashAnime() && sp20->getFrame() > 13.0f)))
|
||||
{
|
||||
offNoResetFlg1(FLG1_UNK_1000);
|
||||
horse_p->onPlayerLash();
|
||||
@@ -1649,7 +1656,7 @@ int daAlink_c::procHorseGetOff() {
|
||||
if (field_0x2fc0 == 0) {
|
||||
field_0x2fab &= ~0x2;
|
||||
} else {
|
||||
field_0x2fab &= ~0x1;
|
||||
field_0x2fab &= (u8)~0x1;
|
||||
}
|
||||
}
|
||||
} else if (!(temp_r29->getFrame() >= 24.0f)) {
|
||||
@@ -1659,7 +1666,7 @@ int daAlink_c::procHorseGetOff() {
|
||||
if (field_0x2fc0 == 0) {
|
||||
field_0x2fab &= ~0x2;
|
||||
} else {
|
||||
field_0x2fab &= ~0x1;
|
||||
field_0x2fab &= (u8)~0x1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,7 +214,6 @@ int daAlink_c::setIronBallGroundVec(cXyz const* param_0, cXyz* param_1) {
|
||||
|
||||
/* 80112E7C-80113CA0 10D7BC 0E24+00 1/1 0/0 0/0 .text setIronBallChainPos__9daAlink_cFv
|
||||
*/
|
||||
// NONMATCHING - alot of regalloc
|
||||
void daAlink_c::setIronBallChainPos() {
|
||||
cXyz sp2A4;
|
||||
cXyz sp298;
|
||||
@@ -225,9 +224,13 @@ void daAlink_c::setIronBallChainPos() {
|
||||
*(&mIronBallChainPos[mItemMode] + 1) = mHeldItemRootPos;
|
||||
*(&mIronBallChainAngle[mItemMode] + 1) = field_0x316c;
|
||||
|
||||
cXyz* var_r29;
|
||||
cXyz* var_r27;
|
||||
cXyz* var_r29;
|
||||
cXyz* var_r26;
|
||||
int i;
|
||||
csXyz* sp3C;
|
||||
int sp38;
|
||||
int sp34;
|
||||
|
||||
if (mItemVar0.field_0x3018 == 2) {
|
||||
var_r29 = mIronBallChainPos + 1;
|
||||
@@ -237,7 +240,7 @@ void daAlink_c::setIronBallChainPos() {
|
||||
sp2A4 = mHookshotTopPos - *mIronBallChainPos;
|
||||
sp2A4.normalizeZP();
|
||||
|
||||
for (int i = 0; i < mItemMode; i++, var_r29++, var_r26++) {
|
||||
for (i = 0; i < mItemMode; i++, var_r29++, var_r26++) {
|
||||
sp28C = *var_r29;
|
||||
*var_r29 = *var_r27 + (sp2A4 * 10.0f);
|
||||
|
||||
@@ -249,10 +252,10 @@ void daAlink_c::setIronBallChainPos() {
|
||||
var_r26 = &field_0x3848[mItemMode];
|
||||
var_r27 = var_r29 + 1;
|
||||
|
||||
int sp38 = mItemMode * daAlinkHIO_ironBall_c0::m.mReturnChainRate;
|
||||
int sp34 = sp38;
|
||||
sp38 = mItemMode * daAlinkHIO_ironBall_c0::m.mReturnChainRate;
|
||||
sp34 = sp38;
|
||||
|
||||
for (int i = mItemMode; i >= 0; i--, var_r29--, var_r26--) {
|
||||
for (i = mItemMode; i >= 0; i--, var_r29--, var_r26--) {
|
||||
sp2A4 = (*var_r29 - *var_r27) + *var_r26;
|
||||
|
||||
if (i == 0) {
|
||||
@@ -285,7 +288,7 @@ void daAlink_c::setIronBallChainPos() {
|
||||
var_r27 = var_r29 - 1;
|
||||
var_r26 = field_0x3848 + 1;
|
||||
|
||||
for (int i = 0; i < mItemMode; i++, var_r29++, var_r26++) {
|
||||
for (i = 0; i < mItemMode; i++, var_r29++, var_r26++) {
|
||||
sp28C = *var_r29;
|
||||
sp2A4 = (*var_r29 - *var_r27) + *var_r26;
|
||||
sp2A4.y += daAlinkHIO_ironBall_c0::m.mChainGravity;
|
||||
@@ -308,7 +311,6 @@ void daAlink_c::setIronBallChainPos() {
|
||||
} else if (mItemVar0.field_0x3018 == 1 || mItemVar0.field_0x3018 == 3 || mItemVar0.field_0x3018 == 4) {
|
||||
daPy_frameCtrl_c* sp30 = &mUnderFrameCtrl[0];
|
||||
|
||||
int sp38;
|
||||
if (mItemVar0.field_0x3018 == 1) {
|
||||
f32 temp_f25 = sp30->getEnd() - 13.0f;
|
||||
f32 temp_f29 = (sp30->getFrame() - 13.0f) / temp_f25;
|
||||
@@ -337,7 +339,7 @@ void daAlink_c::setIronBallChainPos() {
|
||||
var_r26 = &field_0x3848[mItemMode];
|
||||
var_r27 = var_r29 + 1;
|
||||
|
||||
for (int i = mItemMode; i >= 0; i--, var_r29--, var_r26--) {
|
||||
for (i = mItemMode; i >= 0; i--, var_r29--, var_r26--) {
|
||||
sp28C = *var_r29;
|
||||
sp2A4 = (*var_r29 - *var_r27) + *var_r26;
|
||||
|
||||
@@ -381,12 +383,12 @@ void daAlink_c::setIronBallChainPos() {
|
||||
} else {
|
||||
var_f30 = daAlinkHIO_ironBall_c0::m.mChainGravity;
|
||||
}
|
||||
|
||||
|
||||
var_r29 = mIronBallChainPos + 1;
|
||||
var_r27 = var_r29 - 1;
|
||||
var_r26 = field_0x3848 + 1;
|
||||
|
||||
for (int i = 0; i < mItemMode; i++, var_r29++, var_r26++) {
|
||||
for (i = 0; i < mItemMode; i++, var_r29++, var_r26++) {
|
||||
sp2A4 = (*var_r29 - *var_r27) + *var_r26;
|
||||
sp2A4.y += var_f30;
|
||||
sp2A4.normalizeZP();
|
||||
@@ -405,7 +407,7 @@ void daAlink_c::setIronBallChainPos() {
|
||||
f32 temp_f28 = temp_f31 * cM_scos(shape_angle.y);
|
||||
temp_f31 *= cM_ssin(shape_angle.y);
|
||||
|
||||
for (int i = mItemMode; i > 0; i--, var_r29--, var_r26--) {
|
||||
for (i = mItemMode; i > 0; i--, var_r29--, var_r26--) {
|
||||
sp28C = *var_r29;
|
||||
|
||||
if (i == mItemMode) {
|
||||
@@ -432,16 +434,17 @@ void daAlink_c::setIronBallChainPos() {
|
||||
}
|
||||
}
|
||||
|
||||
csXyz* sp3C = mIronBallChainAngle + 1;
|
||||
sp3C = mIronBallChainAngle + 1;
|
||||
var_r29 = mIronBallChainPos + 1;
|
||||
var_r27 = var_r29 - 1;
|
||||
s16 sp10;
|
||||
s16 spE = mIronBallChainAngle->z + 0x3000;
|
||||
|
||||
for (int i = 0; i < mItemMode; i++, sp3C++, var_r29++, spE += 0x3000) {
|
||||
for (i = 0; i < mItemMode; i++, sp3C++, var_r29++, spE += 0x3000) {
|
||||
sp2A4 = (*var_r27 - *var_r29);
|
||||
|
||||
s16 sp10;
|
||||
if (sp2A4.absXZ() < 1.0f) {
|
||||
f32 var_f27 = sp2A4.absXZ();
|
||||
if (var_f27 < 1.0f) {
|
||||
sp10 = sp3C[-1].y;
|
||||
} else {
|
||||
sp10 = sp2A4.atan2sX_Z();
|
||||
@@ -451,12 +454,12 @@ void daAlink_c::setIronBallChainPos() {
|
||||
var_r27 = var_r29;
|
||||
}
|
||||
|
||||
cXyz* temp_r29 = &mIronBallChainPos[mItemMode] + 1;
|
||||
csXyz* sp3C_2 = &mIronBallChainAngle[mItemMode] + 1;
|
||||
var_r29 = &mIronBallChainPos[mItemMode] + 1;
|
||||
sp3C = &mIronBallChainAngle[mItemMode] + 1;
|
||||
|
||||
for (int i = mItemMode + 2; i < 102; i++) {
|
||||
mIronBallChainPos[i] = *temp_r29;
|
||||
mIronBallChainAngle[i] = *sp3C_2;
|
||||
for (i = mItemMode + 2; i < 102; i++) {
|
||||
mIronBallChainPos[i] = *var_r29;
|
||||
mIronBallChainAngle[i] = *sp3C;
|
||||
field_0x3848[i] = cXyz::Zero;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ s16 daAlink_c::checkBodyAngleX(s16 param_0) {
|
||||
return param_0;
|
||||
}
|
||||
|
||||
Vec sp2C = {0.0f, 0.0f, 0.0f};
|
||||
Vec sp2C = lit_5908;
|
||||
sp2C.y = 0.5f * field_0x598;
|
||||
|
||||
cXyz sp20;
|
||||
|
||||
@@ -112,20 +112,20 @@ void daAlink_c::changeCommon() {
|
||||
void daAlink_c::changeWolf() {
|
||||
JKRHeap* current_heap = mAnmHeap3.setAnimeHeap();
|
||||
|
||||
mpLinkModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 14), 0x80000, 0x20200);
|
||||
mpLinkModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 14), 0x20200);
|
||||
|
||||
J3DModelData* chainModelData = (J3DModelData*)dComIfG_getObjectRes(l_wArcName, 15);
|
||||
for (u16 i = 0; i < 4; i++) {
|
||||
mpWlChainModels[i] = initModel(chainModelData, 0x80000, 0);
|
||||
mpWlChainModels[i] = initModel(chainModelData, 0);
|
||||
}
|
||||
|
||||
mpWlMidnaModel = initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 10), 0, 0x1020200);
|
||||
mpWlMidnaModel = initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 10), 0x1020200);
|
||||
mpWlMidnaMaskModel =
|
||||
initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 7), 0x80000, 0x1000000);
|
||||
initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 7), 0x1000000);
|
||||
mpWlMidnaHandModel =
|
||||
initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 6), 0x80000, 0x1000000);
|
||||
initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 6), 0x1000000);
|
||||
mpWlMidnaHairModel =
|
||||
initModel((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 11), 0, 0x1000000);
|
||||
initModelEnv((J3DModelData*)dComIfG_getObjectRes(l_wArcName, 11), 0x1000000);
|
||||
|
||||
mpDMidnaBrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_wArcName, 18);
|
||||
mpDMidnaBrk->searchUpdateMaterialID(mpWlMidnaModel->getModelData());
|
||||
@@ -217,12 +217,11 @@ void daAlink_c::changeWolf() {
|
||||
attention_info.field_0xa = 50;
|
||||
|
||||
dCcD_Cyl* cyl_p = field_0x850;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
for (int i = 0; i < 3; i++, cyl_p++) {
|
||||
cyl_p->OffTgShieldFrontRange();
|
||||
cyl_p->OffTgSmallShield();
|
||||
cyl_p->OffTgSpShield();
|
||||
cyl_p->OffTgShield();
|
||||
cyl_p++;
|
||||
}
|
||||
|
||||
field_0xFB8.StartCAt(current.pos);
|
||||
@@ -238,7 +237,7 @@ void daAlink_c::changeWolf() {
|
||||
mMagicArmorBodyBrk = NULL;
|
||||
mMagicArmorHeadBrk = NULL;
|
||||
|
||||
field_0x2fc7 = dStage_stagInfo_GetWolfDashType(dComIfGp_getStage()->getStagInfo());
|
||||
field_0x2fc7 = (u8)dStage_stagInfo_GetWolfDashType(dComIfGp_getStage()->getStagInfo());
|
||||
}
|
||||
|
||||
/* 80126F3C-80127C54 12187C 0D18+00 2/2 0/0 0/0 .text changeLink__9daAlink_cFi */
|
||||
@@ -7188,12 +7187,11 @@ void daAlink_c::setWolfEnemyThrowUpperAnime(daAlink_c::daAlink_WANM i_anmID, f32
|
||||
* setWolfEnemyHangBitePos__9daAlink_cFP13fopEn_enemy_c */
|
||||
BOOL daAlink_c::setWolfEnemyHangBitePos(fopEn_enemy_c* i_enemy) {
|
||||
if (i_enemy != NULL) {
|
||||
current.pos = i_enemy->getDownPos();
|
||||
cXyz old_pos = current.pos;
|
||||
cXyz old_pos = current.pos = i_enemy->getDownPos();
|
||||
|
||||
current.pos.x -= 60.0f * cM_ssin(shape_angle.y);
|
||||
current.pos.x -= 135.0f;
|
||||
current.pos.x -= 60.0f * cM_scos(shape_angle.y);
|
||||
current.pos.y -= 135.0f;
|
||||
current.pos.z -= 60.0f * cM_scos(shape_angle.y);
|
||||
|
||||
if (commonLineCheck(&field_0x3540, ¤t.pos)) {
|
||||
current.pos = old_pos;
|
||||
|
||||
Reference in New Issue
Block a user