mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
daAlink bottle / sumou done (#1996)
* link_bottle done * link_sumou done * remove asm
This commit is contained in:
@@ -5814,8 +5814,8 @@ SECTION_RODATA static Vec const hookRoot = {
|
||||
COMPILER_STRIP_GATE(0x80391A08, &hookRoot);
|
||||
|
||||
/* 80391A14-80391A20 01E074 000C+00 1/1 0/0 0/0 .rodata bottleTop$32160 */
|
||||
SECTION_RODATA static u8 const bottleTop[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0xC8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
SECTION_RODATA static Vec const bottleTop = {
|
||||
0.0f, 25.0f, 0.0f,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80391A14, &bottleTop);
|
||||
|
||||
@@ -16253,7 +16253,7 @@ int daAlink_c::cancelUpperItemReadyAnime(int param_0) {
|
||||
seStartSystem(0x6F);
|
||||
|
||||
if (mEquipItem == IRONBALL) {
|
||||
field_0x3018 = 8;
|
||||
mItemVar0.field_0x3018 = 8;
|
||||
procIronBallReturnInit();
|
||||
} else {
|
||||
resetUpperAnime(UPPER_2, 3.0f);
|
||||
|
||||
@@ -110,7 +110,7 @@ BOOL daAlink_c::checkBoomerangCarry(fopAc_ac_c* i_grabActor) {
|
||||
if (i_checkNoResetFlg0(FLG0_UNK_20) && !checkEventRun() && !i_checkWolf() &&
|
||||
i_checkModeFlg(0x10000000) &&
|
||||
(checkHorseNoUpperAnime() || checkHorseTurnAnime() || checkBoomerangThrowAnime())) {
|
||||
deleteEquipItem(0, 0);
|
||||
deleteEquipItem(FALSE, FALSE);
|
||||
seStartOnlyReverb(JA_SE_LK_BOOM_CATCH);
|
||||
i_offNoResetFlg0(FLG0_UNK_20);
|
||||
|
||||
@@ -156,7 +156,7 @@ void daAlink_c::setBoomerangReadyQuake() {
|
||||
dComIfGp_getVibration().StartQuake(1, 1, cXyz(tmp_0, lit_6040, tmp_0));
|
||||
|
||||
i_onNoResetFlg3(FLG3_UNK_4);
|
||||
field_0x3018 = daAlinkHIO_boom_c0::m.mChargeTime;
|
||||
mItemVar0.field_0x3018 = daAlinkHIO_boom_c0::m.mChargeTime;
|
||||
}
|
||||
|
||||
/* 800E055C-800E05E8 0DAE9C 008C+00 2/2 0/0 0/0 .text setBoomerangReadyAnime__9daAlink_cFv */
|
||||
@@ -283,10 +283,10 @@ int daAlink_c::returnBoomerang(int param_0) {
|
||||
/* 800E0A9C-800E0B58 0DB3DC 00BC+00 2/2 0/0 0/0 .text checkUpperItemActionBoomerang__9daAlink_cFv
|
||||
*/
|
||||
int daAlink_c::checkUpperItemActionBoomerang() {
|
||||
if (field_0x3018 != 0) {
|
||||
field_0x3018--;
|
||||
if (mItemVar0.field_0x3018 != 0) {
|
||||
mItemVar0.field_0x3018--;
|
||||
|
||||
if (field_0x3018 == 0) {
|
||||
if (mItemVar0.field_0x3018 == 0) {
|
||||
cancelItemUseQuake(0);
|
||||
}
|
||||
}
|
||||
@@ -367,7 +367,7 @@ int daAlink_c::checkBoomerangCatchAction() {
|
||||
i_offNoResetFlg0(FLG0_UNK_20);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 800E0E64-800E0F10 0DB7A4 00AC+00 3/3 0/0 0/0 .text setBoomerangSight__9daAlink_cFv */
|
||||
@@ -506,4 +506,4 @@ int daAlink_c::procBoomerangCatch() {
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -125,7 +125,7 @@ void daAlink_c::makeArrow() {
|
||||
mItemAcKeep.setData(arrow_actor);
|
||||
}
|
||||
|
||||
field_0x3018 = 0;
|
||||
mItemVar0.field_0x3018 = 0;
|
||||
}
|
||||
|
||||
/* 800DEAE4-800DEB8C 0D9424 00A8+00 3/3 0/0 0/0 .text deleteArrow__9daAlink_cFv */
|
||||
|
||||
@@ -85,7 +85,7 @@ BOOL daAlink_c::checkFishingRodAndLureItem() const {
|
||||
void daAlink_c::initFishingRodHand() {
|
||||
field_0x2f94 = 0x65;
|
||||
field_0x2f95 = 0x65;
|
||||
field_0x3018 = 1;
|
||||
mItemVar0.field_0x3018 = 1;
|
||||
|
||||
if (mEquipItem == JEWEL_WORM_ROD || mEquipItem == WORM_ROD) {
|
||||
mItemMode = 0x74;
|
||||
|
||||
@@ -196,8 +196,8 @@ int daAlink_c::returnCopyRod() {
|
||||
|
||||
/* 800E1ADC-800E1BB4 0DC41C 00D8+00 2/2 0/0 0/0 .text checkUpperItemActionCopyRod__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkUpperItemActionCopyRod() {
|
||||
if (field_0x3018 != 0) {
|
||||
field_0x3018--;
|
||||
if (mItemVar0.field_0x3018 != 0) {
|
||||
mItemVar0.field_0x3018--;
|
||||
}
|
||||
|
||||
if (checkReadyItem() && !itemButton() && checkCopyRodReadyAnime()) {
|
||||
|
||||
@@ -2961,7 +2961,7 @@ int daAlink_c::procCoDead() {
|
||||
}
|
||||
|
||||
if (!i_checkNoResetFlg2(FLG2_UNK_40000)) {
|
||||
mProcVar3.field_0x300e.x++;
|
||||
mProcVar3.field_0x300e++;
|
||||
if (mProcVar3.field_0x300e.x == 2) {
|
||||
dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), 0);
|
||||
} else if (mProcVar3.field_0x300e.x > 10) {
|
||||
|
||||
@@ -435,7 +435,7 @@ void daAlink_c::initHookshotReady() {
|
||||
|
||||
dComIfGp_getVibration().StartShock(1, 1, cXyz(tmp_0, lit_6040, tmp_0));
|
||||
|
||||
field_0x3018 = 3;
|
||||
mItemVar0.field_0x3018 = 3;
|
||||
field_0x3494 = lit_6041;
|
||||
}
|
||||
|
||||
@@ -462,7 +462,7 @@ int daAlink_c::checkUpperItemActionHookshot() {
|
||||
}
|
||||
|
||||
if (mItemMode == HS_MODE_READY_e) {
|
||||
if (!itemButton() && field_0x3018 == 0 && checkReadyItem()) {
|
||||
if (!itemButton() && mItemVar0.field_0x3018 == 0 && checkReadyItem()) {
|
||||
mItemMode = 2;
|
||||
field_0x3026 = 0;
|
||||
field_0x3494 = lit_6041;
|
||||
@@ -543,8 +543,8 @@ int daAlink_c::checkUpperItemActionHookshot() {
|
||||
return procHookshotFlyInit();
|
||||
}
|
||||
|
||||
if (field_0x3018 > 0) {
|
||||
field_0x3018--;
|
||||
if (mItemVar0.field_0x3018 > 0) {
|
||||
mItemVar0.field_0x3018--;
|
||||
}
|
||||
|
||||
return cancelUpperItemReadyAnime(0);
|
||||
@@ -803,7 +803,7 @@ void daAlink_c::setHookshotPos() {
|
||||
if (checkHookshotWait() || mItemMode == 2) {
|
||||
csXyz* var_r28;
|
||||
if (mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HOOKSHOT_ROOF_SHOOT) {
|
||||
var_r28 = &mProcVar3.field_0x300e;
|
||||
var_r28 = &mProcVar3.field_0x300e.x;
|
||||
} else {
|
||||
var_r28 = &mBodyAngle;
|
||||
}
|
||||
|
||||
@@ -25,38 +25,38 @@ s16 daAlink_c::getIronBallBgHit() const {
|
||||
/* 80112474-801124B4 10CDB4 0040+00 0/0 2/2 1/1 .text checkIronBallThrowMode__9daAlink_cCFv */
|
||||
bool daAlink_c::checkIronBallThrowMode() const {
|
||||
return mEquipItem == IRONBALL &&
|
||||
(field_0x3018 == 4 || field_0x3018 == 5 || field_0x3018 == 6 || field_0x3018 == 3);
|
||||
(mItemVar0.field_0x3018 == 4 || mItemVar0.field_0x3018 == 5 || mItemVar0.field_0x3018 == 6 || mItemVar0.field_0x3018 == 3);
|
||||
}
|
||||
|
||||
/* 801124B4-801124FC 10CDF4 0048+00 0/0 1/1 1/1 .text checkIronBallThrowReturnMode__9daAlink_cCFv
|
||||
*/
|
||||
bool daAlink_c::checkIronBallThrowReturnMode() const {
|
||||
return mEquipItem == IRONBALL && (field_0x3018 == 4 || field_0x3018 == 5 || field_0x3018 == 6 ||
|
||||
field_0x3018 == 7 || field_0x3018 == 3);
|
||||
return mEquipItem == IRONBALL && (mItemVar0.field_0x3018 == 4 || mItemVar0.field_0x3018 == 5 || mItemVar0.field_0x3018 == 6 ||
|
||||
mItemVar0.field_0x3018 == 7 || mItemVar0.field_0x3018 == 3);
|
||||
}
|
||||
|
||||
/* 801124FC-80112524 10CE3C 0028+00 1/0 0/0 0/0 .text checkIronBallReturn__9daAlink_cCFv
|
||||
*/
|
||||
bool daAlink_c::checkIronBallReturn() const {
|
||||
return mEquipItem == IRONBALL && field_0x3018 == 7;
|
||||
return mEquipItem == IRONBALL && mItemVar0.field_0x3018 == 7;
|
||||
}
|
||||
|
||||
/* 80112524-80112568 10CE64 0044+00 1/0 0/0 0/0 .text checkIronBallGroundStop__9daAlink_cCFv */
|
||||
bool daAlink_c::checkIronBallGroundStop() const {
|
||||
return mEquipItem == IRONBALL && field_0x3018 != 0 && field_0x3018 != 8 && field_0x301e == 0 &&
|
||||
return mEquipItem == IRONBALL && mItemVar0.field_0x3018 != 0 && mItemVar0.field_0x3018 != 8 && field_0x301e == 0 &&
|
||||
field_0x301e < 10;
|
||||
}
|
||||
|
||||
/* 80112568-80112628 10CEA8 00C0+00 5/5 0/0 0/0 .text setIronBallWaitUpperAnime__9daAlink_cFi */
|
||||
void daAlink_c::setIronBallWaitUpperAnime(int param_0) {
|
||||
if (!checkIronBallWaitAnime() && !checkIronBallPreSwingAnime() &&
|
||||
(field_0x3018 == 0 || field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) {
|
||||
(mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) && (param_0 || checkNoUpperAnime())) {
|
||||
setUpperAnimeBaseSpeed(0x19C, daAlinkHIO_ironBall_c0::m.mWaitAnmSpeed,
|
||||
daAlinkHIO_basic_c0::m.mAnmBlendFactor);
|
||||
setFacePriBck(0xE8);
|
||||
field_0x2f96 = 254;
|
||||
field_0x2f97 = 5;
|
||||
field_0x3018 = 0;
|
||||
mItemVar0.field_0x3018 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,8 +68,8 @@ void daAlink_c::checkIronBallDelete() {
|
||||
return;
|
||||
}
|
||||
|
||||
if (field_0x3018 == 1 || field_0x3018 == 2 || field_0x3018 == 3 ||
|
||||
((field_0x3018 == 0 || field_0x3018 == 8) && !checkIronBallWaitAnime() &&
|
||||
if (mItemVar0.field_0x3018 == 1 || mItemVar0.field_0x3018 == 2 || mItemVar0.field_0x3018 == 3 ||
|
||||
((mItemVar0.field_0x3018 == 0 || mItemVar0.field_0x3018 == 8) && !checkIronBallWaitAnime() &&
|
||||
!checkEquipAnime() &&
|
||||
(!i_checkModeFlg(4) || i_checkModeFlg(0x70C52) || !mLinkAcch.ChkGroundHit()))) {
|
||||
deleteEquipItem(1, 0);
|
||||
@@ -80,8 +80,8 @@ void daAlink_c::checkIronBallDelete() {
|
||||
void daAlink_c::setIronBallReturn(int param_0) {
|
||||
if (param_0 && field_0x301e != 0) {
|
||||
field_0x301e--;
|
||||
} else if (field_0x3018 != 7) {
|
||||
field_0x3018 = 7;
|
||||
} else if (mItemVar0.field_0x3018 != 7) {
|
||||
mItemVar0.field_0x3018 = 7;
|
||||
field_0x301e = 0;
|
||||
seStartOnlyReverb(Z2SE_AL_IB_PULLBACK);
|
||||
}
|
||||
@@ -214,13 +214,13 @@ BOOL daAlink_c::checkUpperItemActionIronBall() {
|
||||
|
||||
u16 upperId = getMainBckData(ANM_IRONBALL_TURN)->m_upperID;
|
||||
setUpperAnimeBaseSpeed(upperId, daAlinkHIO_ironBall_c0::m.mTurnAnmSpeed, daAlinkHIO_ironBall_c0::m.mTurnInterpolation);
|
||||
field_0x3018 = 2;
|
||||
mItemVar0.field_0x3018 = 2;
|
||||
seStartOnlyReverb(Z2SE_AL_IB_SWING);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (frameCtrl->getFrame() > lit_8781) {
|
||||
field_0x3018 = 1;
|
||||
mItemVar0.field_0x3018 = 1;
|
||||
}
|
||||
} else {
|
||||
daPy_frameCtrl_c* frameCtrl = &mUpperFrameCtrl[2];
|
||||
@@ -283,7 +283,7 @@ int daAlink_c::procIronBallSubject() {
|
||||
|
||||
setShapeAngleToAtnActor(0);
|
||||
|
||||
if (!checkNextAction(0) && itemButton() && field_0x3018 == 2) {
|
||||
if (!checkNextAction(0) && itemButton() && mItemVar0.field_0x3018 == 2) {
|
||||
setBodyAngleToCamera();
|
||||
}
|
||||
|
||||
@@ -357,7 +357,7 @@ int daAlink_c::procIronBallThrowInit() {
|
||||
mNormalSpeed = FLOAT_LABEL(lit_6108);
|
||||
current.angle.y = shape_angle.y;
|
||||
mProcVar2.field_0x300c = 0;
|
||||
field_0x3018 = 3;
|
||||
mItemVar0.field_0x3018 = 3;
|
||||
field_0x3024 = 0;
|
||||
field_0x3026 = 0;
|
||||
|
||||
@@ -381,7 +381,7 @@ asm int daAlink_c::procIronBallThrow() {
|
||||
int daAlink_c::procIronBallReturnInit() {
|
||||
commonProcInit(PROC_IRON_BALL_RETURN);
|
||||
|
||||
if (field_0x3018 == 8) {
|
||||
if (mItemVar0.field_0x3018 == 8) {
|
||||
mProcVar2.field_0x300c = 1;
|
||||
setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm);
|
||||
field_0x2f99 = 12;
|
||||
@@ -405,7 +405,7 @@ int daAlink_c::procIronBallReturn() {
|
||||
|
||||
field_0x2f99 = 4;
|
||||
|
||||
if (field_0x3018 == 8 && mProcVar2.field_0x300c == 0) {
|
||||
if (mItemVar0.field_0x3018 == 8 && mProcVar2.field_0x300c == 0) {
|
||||
mProcVar2.field_0x300c = 1;
|
||||
setSingleAnimeParam(ANM_IRONBALL_CATCH, &daAlinkHIO_ironBall_c0::m.mCatchAnm);
|
||||
field_0x2f99 = 12;
|
||||
@@ -414,17 +414,17 @@ int daAlink_c::procIronBallReturn() {
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_6108);
|
||||
dComIfGp_getVibration().StartShock(3, 1, cXyz(tmp_0, lit_6040, tmp_0));
|
||||
} else if (frameCtrl->checkAnmEnd()) {
|
||||
if (field_0x3018 == 8) {
|
||||
field_0x3018 = 0;
|
||||
if (mItemVar0.field_0x3018 == 8) {
|
||||
mItemVar0.field_0x3018 = 0;
|
||||
setIronBallWaitUpperAnime(1);
|
||||
checkNextAction(0);
|
||||
}
|
||||
} else if (field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCheckFrame) {
|
||||
field_0x3018 = 0;
|
||||
} else if (mItemVar0.field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCheckFrame) {
|
||||
mItemVar0.field_0x3018 = 0;
|
||||
setIronBallWaitUpperAnime(1);
|
||||
|
||||
if (!checkNextAction(1)) {
|
||||
field_0x3018 = 8;
|
||||
mItemVar0.field_0x3018 = 8;
|
||||
resetUpperAnime(UPPER_2, FLOAT_LABEL(lit_6108));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3711,7 +3711,7 @@ int daAlink_c::draw() {
|
||||
|
||||
if (mClothesChangeWaitTimer != 0) {
|
||||
if (mProcID == PROC_METAMORPHOSE) {
|
||||
if (mProcVar3.field_0x300e > 0) {
|
||||
if (mProcVar3.field_0x300e.x > 0) {
|
||||
mTevStr.mFogColor.r = 255;
|
||||
} else {
|
||||
mTevStr.mFogColor.r = -255;
|
||||
|
||||
+806
-7
File diff suppressed because it is too large
Load Diff
@@ -809,7 +809,7 @@ int daAlink_c::procSwimHookshotMoveInit() {
|
||||
field_0x3198 = -1;
|
||||
field_0x2f98 = 5;
|
||||
|
||||
if (field_0x3018 == 0) {
|
||||
if (mItemVar0.field_0x3018 == 0) {
|
||||
setSwimMoveAnime();
|
||||
}
|
||||
|
||||
@@ -842,7 +842,7 @@ int daAlink_c::procSwimHookshotMove() {
|
||||
setDoStatus(0x12);
|
||||
}
|
||||
|
||||
if (field_0x3018 == 0) {
|
||||
if (mItemVar0.field_0x3018 == 0) {
|
||||
setSpeedAndAngleSwim();
|
||||
setSwimMoveAnime();
|
||||
}
|
||||
|
||||
@@ -5496,7 +5496,7 @@ void daAlink_c::setWolfLockDomeModel() {
|
||||
mDoExt_setCurrentHeap(prev_heap);
|
||||
|
||||
mEquipItem = 0x109;
|
||||
field_0x3018 = 0;
|
||||
mItemVar0.field_0x3018 = 0;
|
||||
mSearchBallScale = daAlinkHIO_wlAtLock_c0::m.field_0x28.mSpeed;
|
||||
|
||||
dComIfGp_setPlayerStatus1(0, 0x800000);
|
||||
@@ -5894,7 +5894,7 @@ int daAlink_c::procWolfRollAttackMove() {
|
||||
cLib_chaseF(&mSearchBallScale, daAlinkHIO_wlAtLock_c0::m.field_0x28.mStartFrame,
|
||||
daAlinkHIO_wlAtLock_c0::m.field_0x28.mInterpolation))
|
||||
{
|
||||
field_0x3018 = 1;
|
||||
mItemVar0.field_0x3018 = 1;
|
||||
}
|
||||
|
||||
if (mWolfLockNum < 10) {
|
||||
|
||||
Reference in New Issue
Block a user