Fix d_a_kamome not actually being equivalent (jump tables)

This commit is contained in:
LagoLunatic
2026-08-25 15:01:19 -04:00
parent 445abf5629
commit e215723751
2 changed files with 10 additions and 18 deletions
+1 -1
View File
@@ -1559,7 +1559,7 @@ config.libs = [
ActorRel(Matching, "d_a_himo3"),
ActorRel(Matching, "d_a_hmlif"),
ActorRel(Matching, "d_a_hys"),
ActorRel(Equivalent, "d_a_kamome"), # fpr regalloc
ActorRel(Equivalent, "d_a_kamome"), # regalloc
ActorRel(Matching, "d_a_kamome2"), # Demo-only TU
ActorRel(NonMatching, "d_a_kantera"),
ActorRel(Matching, "d_a_kn"),
+9 -17
View File
@@ -465,18 +465,15 @@ static void kamome_path_move(kamome_class* i_this) {
}
break;
case 3:
case 10:
break;
case 19:
case 20:
if (i_this->mpMorf->isStop()) {
i_this->mAnimState = 0;
anm_init(i_this, dRes_INDEX_KAMOME_BCK_KA_WAIT2_e, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, dRes_INDEX_KAMOME_BAS_KA_WAIT2_e);
}
break;
case 20:
break;
}
switch (i_this->mMoveState) {
@@ -688,7 +685,7 @@ static void kamome_path_move(kamome_class* i_this) {
i_this->mVelocityFwdTarget = 25.0f;
i_this->mVelocityFwdTargetMaxVel = 2.0f;
a_this->speedF = 0.0f;
i_this->mAnimState = 0x14;
i_this->mAnimState = 20;
i_this->mRiseTimer = REG0_S(4) + 10;
}
}
@@ -749,18 +746,15 @@ static void kamome_auto_move(kamome_class* i_this) {
}
break;
case 3:
case 10:
break;
case 19:
case 20:
if (i_this->mpMorf->isStop()) {
i_this->mAnimState = 0;
i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f;
anm_init(i_this, dRes_INDEX_KAMOME_BCK_KA_WAIT2_e, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, dRes_INDEX_KAMOME_BAS_KA_WAIT2_e);
}
case 20:
break;
}
switch (i_this->mMoveState) {
@@ -957,7 +951,7 @@ static void kamome_auto_move(kamome_class* i_this) {
i_this->mVelocityFwdTargetMaxVel = 1.0f;
} else {
i_this->mMoveState = 0;
i_this->mAnimState = 0x14;
i_this->mAnimState = 20;
i_this->mTimers[3] = cM_rndF(100.0f) + 100.0f;
i_this->mRiseTimer = REG0_S(4) + 10;
if (i_this->mPathIdx != 0xff) {
@@ -1057,18 +1051,16 @@ static void kamome_imouto_move(kamome_class* i_this) {
}
break;
case 3:
case 10:
break;
case 19:
case 20:
if (i_this->mpMorf->isStop()) {
i_this->mAnimState = 0;
i_this->mTimers[0] = cM_rndF(60.0f) + 20.0f;
anm_init(i_this, dRes_INDEX_KAMOME_BCK_KA_WAIT2_e, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f, dRes_INDEX_KAMOME_BAS_KA_WAIT2_e);
}
break;
case 20:
break;
}
switch (i_this->mMoveState) {
@@ -1241,7 +1233,7 @@ static void kamome_imouto_move(kamome_class* i_this) {
i_this->mVelocityFwdTargetMaxVel = 1.0f;
} else {
i_this->mMoveState = 0;
i_this->mAnimState = 0x14;
i_this->mAnimState = 20;
i_this->mTimers[3] = cM_rndF(100.0f) + 100.0f;
i_this->mRiseTimer = REG0_S(4) + 10;
if (i_this->mPathIdx != 0xff) {