diff --git a/configure.py b/configure.py index 730fc22ff2..c4f3969728 100755 --- a/configure.py +++ b/configure.py @@ -759,7 +759,7 @@ config.libs = [ Object(MatchingFor(ALL_GCN), "d/d_error_msg.cpp"), Object(Equivalent, "d/d_debug_viewer.cpp"), # debug weak func order Object(NonMatching, "d/d_debug_camera.cpp"), - Object(NonMatching, "d/actor/d_a_alink.cpp"), + Object(Equivalent, "d/actor/d_a_alink.cpp"), # weak func order, vtable order Object(MatchingFor(ALL_GCN), "d/actor/d_a_itembase.cpp"), Object(MatchingFor(ALL_GCN), "d/actor/d_a_no_chg_room.cpp"), Object(NonMatching, "d/actor/d_a_npc.cpp"), diff --git a/include/d/actor/d_a_e_wb.h b/include/d/actor/d_a_e_wb.h index 65c4e698d6..2344a5a0eb 100644 --- a/include/d/actor/d_a_e_wb.h +++ b/include/d/actor/d_a_e_wb.h @@ -82,7 +82,7 @@ public: MtxP getRideMtx() { return mpModelMorf->getModel()->getAnmMtx(15); } f32 nowAnimeFrame() const { return mpModelMorf->getFrame(); } s16 getWaitRollAngle() const { return mWaitRollAngle; } - bool checkGetOff() const { return mEnemy.speedF < 3.0f; } + BOOL checkGetOff() const { return mEnemy.speedF < 3.0f; } f32 rideSpeedRate() const { return mEnemy.speedF / mSpeedRate; } f32 getAnimeFrameRate() { return mpModelMorf->getFrame() / mpModelMorf->getEndFrame(); } BOOL checkAnmLoopFrame() { return mpModelMorf->checkFrame(0.0f); } diff --git a/src/d/actor/d_a_alink_canoe.inc b/src/d/actor/d_a_alink_canoe.inc index ec15963d0b..b21f7d1185 100644 --- a/src/d/actor/d_a_alink_canoe.inc +++ b/src/d/actor/d_a_alink_canoe.inc @@ -678,12 +678,11 @@ int daAlink_c::procCanoeWait() { return 1; } -// NONMATCHING - regalloc, equivalent int daAlink_c::procCanoeRowInit(int param_0) { - fopAc_ac_c* temp_r26 = mRideAcKeep.getActor(); + int var_r29; + fopAc_ac_c* temp_r26 = (fopAc_ac_c*)mRideAcKeep.getActor(); field_0x3198 = -2; - int var_r29; if (param_0 < 0) { if (checkInputOnR()) { s16 sp8 = (s16)(field_0x2fe2 - shape_angle.y); diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc index bdd3c0e5f8..35a6b655fe 100644 --- a/src/d/actor/d_a_alink_horse.inc +++ b/src/d/actor/d_a_alink_horse.inc @@ -1174,10 +1174,9 @@ int daAlink_c::checkNextActionHorse() { return procHorseWaitInit(); } -// NONMATCHING - regalloc, equivalent BOOL daAlink_c::checkHorseGetOff() { return (checkHorseRide() && dComIfGp_getHorseActor() != NULL && - dComIfGp_getHorseActor()->checkGetOff()) || + ((daHorse_c*)dComIfGp_getHorseActor())->checkGetOff()) || (checkBoarRide() && ((e_wb_class*)mRideAcKeep.getActor()) != NULL && ((e_wb_class*)mRideAcKeep.getActor())->checkGetOff()); }