diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-08-22 00:56:51 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-08-22 00:56:51 -0400 |
| commit | 65c446628b65fa50322098da2957278099c63cd8 (patch) | |
| tree | 44f800928ada326dadfdc1653f5d6e1c9a4683f2 /src/d/actor/d_a_obj_barrier.cpp | |
| parent | cb4fe5cf2766357f9bee2dc44ceed78bed6f7c42 (diff) | |
obj_barrier OK on JPN
Diffstat (limited to 'src/d/actor/d_a_obj_barrier.cpp')
| -rw-r--r-- | src/d/actor/d_a_obj_barrier.cpp | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/d/actor/d_a_obj_barrier.cpp b/src/d/actor/d_a_obj_barrier.cpp index 262faf41..20a0780d 100644 --- a/src/d/actor/d_a_obj_barrier.cpp +++ b/src/d/actor/d_a_obj_barrier.cpp @@ -106,7 +106,7 @@ bool daObjBarrier_anm_c::init() { J3DAnmTevRegKey* pbrk = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(l_arcname, YCAGE_BRK_YCAGE00)); if (modelData == NULL || pbtk == NULL || pbrk == NULL) { - JUT_ASSERT(407, FALSE); + JUT_ASSERT(VERSION_SELECT(406, 406, 407, 407), FALSE); rt = false; } else { mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x1000200); @@ -225,6 +225,7 @@ void daObjBarrier_c::brkAnmPlay() { mAnm.setBrkFrame(brk_frame); } +#if VERSION > VERSION_JPN /* 00000884-000009F0 .text break_start_wait_proc__14daObjBarrier_cFv */ void daObjBarrier_c::break_start_wait_proc() { // 0x3980: Saw Hyrule 3 Electric Barrier Demo @@ -271,11 +272,26 @@ void daObjBarrier_c::break_end_wait_proc() { fopAcM_delete(this); } } +#endif /* 00000AB8-00000B34 .text break_check__14daObjBarrier_cFv */ bool daObjBarrier_c::break_check() { bool chk = false; +#if VERSION <= VERSION_JPN + + if (mMoya == 0) { + if (dComIfGs_isEventBit(0x3980) == true) { + daPy_py_c* player_p = (daPy_py_c*)daPy_getPlayerActorClass(); + + if ((player_p->current.pos - current.pos).absXZ() >= 8800.0f) { + dComIfGs_onEventBit(dSv_evtBit_c::BARRIER_BREAK); + dComIfGp_setNextStage("Hyrule", 0xE9, 0, 9); + chk = true; + } + } + } +#else if (mMoya == 0) { switch (mBarrierProc) { case PROC_BREAK_START_WAIT: @@ -291,6 +307,7 @@ bool daObjBarrier_c::break_check() { break; } } +#endif return chk; } @@ -301,8 +318,8 @@ void daObjBarrier_ef_c::setDummyTexture(int i_idx) { J3DTexture* texture = modelData->getTexture(); JUTNameTab* textureName = modelData->getTextureName(); - JUT_ASSERT(808, texture != NULL); - JUT_ASSERT(809, textureName != NULL); + JUT_ASSERT(VERSION_SELECT(710, 710, 808, 808), texture != NULL); + JUT_ASSERT(VERSION_SELECT(711, 711, 809, 809), textureName != NULL); for (u16 i = 0; i < texture->getNum(); i++) { if (strcmp(textureName->getName(i), "__dummy") == 0) { @@ -377,13 +394,13 @@ void daObjBarrier_ef_c::birth(fopAc_ac_c* i_hitActor, f32 i_radius, cXyz i_cente J3DModelData* modelData = mpModel[effect_idx]->getModelData(); J3DAnmTextureSRTKey* btk_anm_p = static_cast<J3DAnmTextureSRTKey*>(dComIfG_getObjectRes(l_arcname, YCAGE_BTK_YHRBR00)); - JUT_ASSERT(937, btk_anm_p != NULL); + JUT_ASSERT(VERSION_SELECT(839, 839, 937, 937), btk_anm_p != NULL); J3DAnmTransform* bck_anm_p = static_cast<J3DAnmTransform*>(dComIfG_getObjectRes(l_arcname, YCAGE_BCK_YHRBR00)); - JUT_ASSERT(942, bck_anm_p != NULL); + JUT_ASSERT(VERSION_SELECT(844, 844, 942, 942), bck_anm_p != NULL); J3DAnmTevRegKey* brk_anm_p = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(l_arcname, YCAGE_BRK_YHRBR00)); - JUT_ASSERT(947, brk_anm_p != NULL); + JUT_ASSERT(VERSION_SELECT(849, 849, 947, 947), brk_anm_p != NULL); mBtk[effect_idx].init(modelData, btk_anm_p, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true, 0); @@ -409,7 +426,7 @@ bool daObjBarrier_ef_c::init() { J3DAnmTevRegKey* pbrk = static_cast<J3DAnmTevRegKey*>(dComIfG_getObjectRes(l_arcname, YCAGE_BRK_YHRBR00)); if (modelData == NULL || pbtk == NULL || pbck == NULL || pbrk == NULL) { - JUT_ASSERT(1016, FALSE); + JUT_ASSERT(VERSION_SELECT(918, 918, 1016, 1016), FALSE); rt = false; } else { for (int i = 0; i < 4; i++) { @@ -572,9 +589,11 @@ bool daObjBarrier_c::_execute() { /* 00001B64-00001C1C .text _draw__14daObjBarrier_cFv */ bool daObjBarrier_c::_draw() { +#if VERSION > VERSION_JPN if (mBarrierProc) { return true; } +#endif if (mMoya == 0) { mAnm.getBtkAnmP()->entry(mAnm.getMdlP()->getModelData()); |
