diff --git a/configure.py b/configure.py index f796cf4c57..3f2018dcf8 100755 --- a/configure.py +++ b/configure.py @@ -155,8 +155,8 @@ if not config.non_matching: # Tool versions config.binutils_tag = "2.42-1" config.compilers_tag = "20240706" -config.dtk_tag = "v1.2.0" -config.objdiff_tag = "v2.3.4" +config.dtk_tag = "v1.3.0" +config.objdiff_tag = "v2.7.1" config.sjiswrap_tag = "v1.2.0" config.wibo_tag = "0.6.11" @@ -183,6 +183,10 @@ if args.map: # Use for any additional files that should cause a re-configure when modified config.reconfig_deps = [] +# Optional numeric ID for decomp.me preset +# Can be overridden in libraries or objects +config.scratch_preset_id = 69 # Twilight Princess (DOL) + # Base flags, common to most GC/Wii games. # Generally leave untouched, with overrides added below. cflags_base = [ @@ -352,7 +356,7 @@ def Rel(lib_name: str, objects: List[Object]) -> Dict[str, Any]: # Helper function for actor RELs def ActorRel(status: bool, rel_name: str, extra_cflags: List[str]=[]) -> Dict[str, Any]: - return Rel(rel_name, [Object(status, f"d/actor/{rel_name}.cpp", extra_cflags=extra_cflags)]) + return Rel(rel_name, [Object(status, f"d/actor/{rel_name}.cpp", extra_cflags=extra_cflags, scratch_preset_id=70)]) # Helper function for JSystem libraries @@ -1572,7 +1576,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_L7op_demo_dr"), ActorRel(MatchingFor("GZ2E01"), "d_a_b_bh"), ActorRel(NonMatching, "d_a_b_bq"), - ActorRel(NonMatching, "d_a_b_dr"), + ActorRel(Equivalent, "d_a_b_dr"), # weak func order ActorRel(Equivalent, "d_a_b_dre"), # weak func order ActorRel(NonMatching, "d_a_b_ds"), ActorRel(NonMatching, "d_a_b_gg"), @@ -2245,6 +2249,21 @@ if config_path.exists(): for asset in module.get("extract", []): emit_build_rule(asset) +# Optional callback to adjust link order. This can be used to add, remove, or reorder objects. +# This is called once per module, with the module ID and the current link order. +# +# For example, this adds "dummy.c" to the end of the DOL link order if configured with --non-matching. +# "dummy.c" *must* be configured as a Matching (or Equivalent) object in order to be linked. +def link_order_callback(module_id: int, objects: List[str]) -> List[str]: + # Don't modify the link order for matching builds + if not config.non_matching: + return objects + if module_id == 0: # DOL + return objects + ["dummy.c"] + return objects + +# Uncomment to enable the link order callback. +# config.link_order_callback = link_order_callback # Optional extra categories for progress tracking config.progress_categories = [ diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index 493da73dd3..01849857bf 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -896,11 +896,11 @@ public: class J3DFrameCtrl { public: enum Attribute_e { - LOOP_ONCE_e, - LOOP_ONCE_RESET_e, - LOOP_REPEAT_e, - LOOP_MIRROR_ONCE_e, - LOOP_MIRROR_REPEAT_e, + EMode_NONE, + EMode_RESET, + EMode_LOOP, + EMode_REVERSE, + EMode_LOOP_REVERSE, }; J3DFrameCtrl() { this->init(0); } diff --git a/include/d/actor/d_a_b_dr.h b/include/d/actor/d_a_b_dr.h index 9725b1a7fd..e1eee25589 100644 --- a/include/d/actor/d_a_b_dr.h +++ b/include/d/actor/d_a_b_dr.h @@ -6,6 +6,7 @@ #include "d/d_cc_d.h" #include "d/d_msg_flow.h" #include "d/d_bg_s_acch.h" +#include "m_Do/m_Do_hostIO.h" /** * @ingroup actors-enemies @@ -17,9 +18,9 @@ */ class daB_DR_c : public fopEn_enemy_c { public: - /* 805BAF80 */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 805BB120 */ void JointCallBack(J3DJoint*, int); - /* 805BB16C */ void draw(); + /* 805BAF80 */ int ctrlJoint(J3DJoint*, J3DModel*); + /* 805BB120 */ static int JointCallBack(J3DJoint*, int); + /* 805BB16C */ int draw(); /* 805BB408 */ void setBck(int, u8, f32, f32); /* 805BB4B4 */ void setActionMode(int, int); /* 805BB4CC */ void mGlider_WindPosSet(); @@ -37,25 +38,25 @@ public: /* 805BCBF4 */ void mCountClr(); /* 805BCC18 */ void mAllClr(); /* 805BCC4C */ void mHeadAngleSet(); - /* 805BCD7C */ void flapMove(bool); - /* 805BCEA4 */ void revolutionMove(); - /* 805BD05C */ void mPlayerHighCheck(); - /* 805BD15C */ void mBgFallGroundCheck(); + /* 805BCD7C */ bool flapMove(bool); + /* 805BCEA4 */ bool revolutionMove(); + /* 805BD05C */ bool mPlayerHighCheck(); + /* 805BD15C */ bool mBgFallGroundCheck(); /* 805BD3E4 */ void normalHoverMove(); /* 805BD5FC */ void executeWait(); /* 805BD98C */ void executeFlyWait(); /* 805BDBC4 */ void executeTailHit(); /* 805BE9B4 */ void executeWeekHit(); /* 805BF4C8 */ void mBreathSet(); - /* 805BF768 */ void mBreathHighSet(bool); - /* 805BFA6C */ void mFeintBreath(); + /* 805BF768 */ bool mBreathHighSet(bool); + /* 805BFA6C */ bool mFeintBreath(); /* 805BFD88 */ void executeBreathAttack(); /* 805C062C */ void executeWindAttack(); - /* 805C0CAC */ void mGliderMoveSub(f32); + /* 805C0CAC */ bool mGliderMoveSub(f32); /* 805C0EF8 */ void executeGliderAttack(); /* 805C1E0C */ void executePillarSearch(); /* 805C24BC */ void executePillarWait(); - /* 805C2BE8 */ void startDemoCheck(); + /* 805C2BE8 */ bool startDemoCheck(); /* 805C2CD0 */ void executeDamageDemo(); /* 805C3558 */ void executeMiddleDemo(); /* 805C36A4 */ void executeDead(); @@ -69,38 +70,38 @@ public: /* 805C46E0 */ void cc_set(); /* 805C4E14 */ void down_cc_set(); /* 805C4FB4 */ void demo_skip(int); - /* 805C50BC */ void DemoSkipCallBack(void*, int); - /* 805C50F0 */ void execute(); - /* 805C55B0 */ void _delete(); - /* 805C56A4 */ void CreateHeap(); - /* 805C5974 */ void create(); + /* 805C50BC */ static int DemoSkipCallBack(void*, int); + /* 805C50F0 */ int execute(); + /* 805C55B0 */ int _delete(); + /* 805C56A4 */ int CreateHeap(); + /* 805C5974 */ int create(); /* 805C62B0 */ daB_DR_c(); MtxP getMtx() { return mpModelMorf->getModel()->getAnmMtx(15); } void onTarget() { mTarget = true; } - bool isBack() { return mPrm0; } + bool isBack() { return arg0; } private: /* 0x05AC */ request_of_phase_process_class mPhase; /* 0x05B4 */ mDoExt_McaMorfSO* mpModelMorf; /* 0x05B8 */ J3DModel* mpPartModel; /* 0x05BC */ mDoExt_brkAnm* mpCoreBrk; - /* 0x05C0 */ Z2CreatureEnemy field_0x5c0; - /* 0x0664 */ Z2CreatureEnemy field_0x664; - /* 0x0708 */ int mAction; - /* 0x070C */ int mMode; - /* 0x0710 */ int mAnmID; + /* 0x05C0 */ Z2CreatureEnemy mSound; + /* 0x0664 */ Z2CreatureEnemy mSound2; + /* 0x0708 */ int mActionMode; + /* 0x070C */ int mMoveMode; + /* 0x0710 */ int mAnm; /* 0x0714 */ u8 field_0x714[0x0718 - 0x0714]; /* 0x0718 */ int field_0x718; - /* 0x071C */ u8 field_0x71C[0x0720 - 0x071C]; - /* 0x0720 */ f32 field_0x720; + /* 0x071C */ u32 mShadowKey; + /* 0x0720 */ f32 mTargetHeight; /* 0x0724 */ f32 field_0x724; /* 0x0728 */ f32 field_0x728; /* 0x072C */ f32 field_0x72c; - /* 0x0730 */ u8 field_0x730[0x0734 - 0x0730]; + /* 0x0730 */ f32 field_0x730; /* 0x0734 */ f32 field_0x734; - /* 0x0738 */ u8 field_0x738[0x073C - 0x0738]; + /* 0x0738 */ f32 field_0x738; /* 0x073C */ f32 field_0x73c; /* 0x0740 */ f32 field_0x740; /* 0x0744 */ f32 field_0x744; @@ -111,44 +112,41 @@ private: /* 0x0752 */ s16 field_0x752; /* 0x0754 */ s16 field_0x754; /* 0x0756 */ s16 field_0x756; - /* 0x0758 */ s16 field_0x758; - /* 0x075A */ s16 field_0x75a; - /* 0x075C */ u8 field_0x75C[0x0760 - 0x075C]; + /* 0x0758 */ csXyz mHeadAngle; /* 0x0760 */ cXyz field_0x760; - /* 0x076C */ cXyz field_0x76c; + /* 0x076C */ cXyz mBoot_c_trance; /* 0x0778 */ cXyz field_0x778; /* 0x0784 */ cXyz field_0x784; /* 0x0790 */ cXyz field_0x790; - /* 0x079C */ cXyz field_0x79c; + /* 0x079C */ cXyz mGlider_WindPos; /* 0x07A8 */ cXyz field_0x7a8; /* 0x07B4 */ cXyz field_0x7b4; /* 0x07C0 */ int mTimer[4]; /* 0x07D0 */ u8 field_0x7d0; /* 0x07D1 */ u8 field_0x7d1; - /* 0x07D2 */ u8 field_0x7d2; + /* 0x07D2 */ u8 mBreakPartsNo; /* 0x07D3 */ u8 field_0x7d3; /* 0x07D4 */ u8 field_0x7d4; - /* 0x07D5 */ u8 field_0x7D5[0x07D6 - 0x07D5]; + /* 0x07D5 */ u8 field_0x7d5; /* 0x07D6 */ u8 field_0x7d6; /* 0x07D7 */ u8 field_0x7d7; - /* 0x07D8 */ u8 field_0x7D8[0x07D9 - 0x07D8]; + /* 0x07D8 */ u8 field_0x7d8; /* 0x07D9 */ u8 mTarget; - /* 0x07DA */ u8 field_0x7DA[0x07DB - 0x07DA]; + /* 0x07DA */ u8 field_0x7da; /* 0x07DB */ u8 field_0x7db; - /* 0x07DC */ u8 field_0x7DC[0x07E0 - 0x07DC]; + /* 0x07DC */ u8 field_0x7dc; /* 0x07E0 */ int field_0x7e0; - /* 0x07E4 */ u8 field_0x7e4[4]; + /* 0x07E4 */ u8 mCount[4]; /* 0x07E8 */ u8 field_0x7e8; - /* 0x07E9 */ u8 field_0x7E9[0x07EA - 0x07E9]; - /* 0x07EA */ u8 mPrm0; - /* 0x07EB */ u8 field_0x7eb; - /* 0x07EC */ u8 mPrm1; - /* 0x07ED */ u8 mPrm2; - /* 0x07EE */ u8 mPrm3; - /* 0x07EF */ u8 field_0x7EF[0x07F0 - 0x07EF]; + /* 0x07E9 */ u8 field_0x7e9; + /* 0x07EA */ u8 arg0; + /* 0x07EB */ u8 mPartNo; + /* 0x07EC */ u8 bitSw; + /* 0x07ED */ u8 bitSw2; + /* 0x07EE */ u8 bitSw3; /* 0x07F0 */ dBgS_AcchCir mAcchCir; /* 0x0830 */ dBgS_ObjAcch mAcch; - /* 0x0A08 */ dCcD_Stts field_0xa08; + /* 0x0A08 */ dCcD_Stts mColliderStts; /* 0x0A44 */ dCcD_Cyl mWeekCc; /* 0x0B80 */ dCcD_Sph mFootAtCc[2]; /* 0x0DF0 */ dCcD_Sph field_0xdf0; @@ -162,14 +160,16 @@ private: /* 0x2174 */ dCcD_Cyl mDownCc[5]; /* 0x27A0 */ u8 field_0x27A0[0x27A8 - 0x27A0]; /* 0x27A8 */ Z2CreatureEnemy* field_0x27a8; - /* 0x27AC */ u8 field_0x27AC[0x27C4 - 0x27AC]; - /* 0x27C4 */ cXyz field_0x27c4; - /* 0x27D0 */ cXyz field_0x27d0; + /* 0x27AC */ u8 field_0x27AC[0x27BE - 0x27AC]; + /* 0x27BE */ u8 field_0x27be; + /* 0x27BF */ u8 field_0x27bf[0x27C4 - 0x27BF]; + /* 0x27C4 */ cXyz mDemoCamEye; + /* 0x27D0 */ cXyz mDemoCamCenter; /* 0x27DC */ u32 field_0x27dc[4]; /* 0x27EC */ u32 field_0x27ec[4]; /* 0x27FC */ u32 field_0x27fc[4]; /* 0x280C */ u32 field_0x280c; - /* 0x2810 */ u8 field_0x2810[0x2814 - 0x2810]; + /* 0x2810 */ u8 mInitHIO; /* 0x2814 */ dMsgFlow_c mMsgFlow; }; @@ -179,7 +179,45 @@ STATIC_ASSERT(sizeof(daB_DR_c) == 0x2860); class daB_DR_HIO_c { public: /* 805BAE6C */ daB_DR_HIO_c(); - /* 805C6B94 */ ~daB_DR_HIO_c(); + /* 805C6B94 */ virtual ~daB_DR_HIO_c() {} + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 model_size; + /* 0x0C */ f32 fall_accel; + /* 0x10 */ f32 fall_accel_max; + /* 0x14 */ f32 wind_large_attack_lockon_range; + /* 0x18 */ f32 unk_0x18; + /* 0x1C */ f32 wind_small_attack_power; + /* 0x20 */ f32 wind_attack_power; + /* 0x24 */ f32 glide_wind_power; + /* 0x28 */ f32 breath_attack_threshold; + /* 0x2C */ f32 unk_0x2c; + /* 0x30 */ f32 breath_move_speed_max; + /* 0x34 */ f32 breath_move_speed_min; + /* 0x38 */ s16 tail_hit_chance_time; + /* 0x3A */ s16 center_wind_time; + /* 0x3C */ s16 breath_continue_time; + /* 0x3E */ s16 breath_continue_no_armor_time; + /* 0x40 */ s16 breath_feint1_time; + /* 0x42 */ s16 breath_feint2_time; + /* 0x44 */ s16 breath_feint3_time; + /* 0x46 */ s16 no_attack_time; + /* 0x48 */ s16 unk_0x48; + /* 0x4A */ s16 no_attack_no_armor_time; + /* 0x4C */ s16 unk_0x4c; + /* 0x4E */ s16 back_hit_chance_time; + /* 0x50 */ s16 after_breath_chance_time; + /* 0x52 */ s16 neck_search_speed; + /* 0x54 */ s16 neck_search2_speed; + /* 0x56 */ s16 neck_search_speed_max; + /* 0x58 */ s16 body_search_speed; + /* 0x5A */ s16 body_search2_speed; + /* 0x5C */ s16 body_search_speed_max; + /* 0x5E */ s16 body_search_feint_speed_max; + /* 0x60 */ s16 feint_angle; + /* 0x62 */ s16 unk_0x62; + /* 0x64 */ u8 display_range; + /* 0x65 */ u8 breath_feint2_OFF; }; #endif /* D_A_B_DR_H */ diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 486a78cb55..505466bdd0 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -932,6 +932,7 @@ public: u32 getCutAtFlg() const { return checkNoResetFlg0(FLG0_UNK_40); } u32 checkBoarSingleBattleFirst() const { return checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); } u32 checkBoarSingleBattleSecond() const { return checkNoResetFlg2(FLG2_UNK_1000000); } + u32 getFootOnGround() const { return checkResetFlg1(daPy_RFLG1(RFLG1_UNK_10 | RFLG1_UNK_20)); } void offWolfEnemyHangBite() { offNoResetFlg2(FLG2_WOLF_ENEMY_HANG_BITE); } bool onWolfEnemyHangBite(fopAc_ac_c* param_0) { return onWolfEnemyBiteAll(param_0, FLG2_WOLF_ENEMY_HANG_BITE); } @@ -1073,6 +1074,8 @@ public: static int getLastSceneDamage() { return (dComIfGs_getLastSceneMode() >> 4) & 0x7F; } static u8 getLastSceneSwordAtUpTime() { return (dComIfGs_getLastSceneMode() >> 11) & 0xFF; } + static BOOL checkNormalSwordEquip() { return dComIfGs_getSelectEquipSword() == fpcNm_ITEM_SWORD; } + inline static u32 i_getLastSceneMode(); inline static u32 getLastSceneMode(); inline static bool checkWoodSwordEquip() { diff --git a/include/d/d_menu_window.h b/include/d/d_menu_window.h index c7b5b0595c..fa2da1448e 100644 --- a/include/d/d_menu_window.h +++ b/include/d/d_menu_window.h @@ -28,86 +28,12 @@ BOOL dMw_A_TRIGGER(); BOOL dMw_B_TRIGGER(); BOOL dMw_Z_TRIGGER(); BOOL dMw_START_TRIGGER(); +BOOL dMw_LEFT_TRIGGER(); +BOOL dMw_RIGHT_TRIGGER(); +void dMw_onPauseWindow(); +void dMw_offPauseWindow(); -class dDlst_MENU_CAPTURE_c : public dDlst_base_c { -public: - virtual void draw() { - if (getDrawFlag() == 1) { - setDrawFlag(); - dComIfGp_onPauseFlag(); - GXSetTexCopySrc(0, 0, 608, 448); - GXSetTexCopyDst(304, 224, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_ENABLE); - GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE); - GXPixModeSync(); - } else { - GXTexObj tex; - GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), 304, 224, - (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE); - GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); - GXLoadTexObj(&tex, GX_TEXMAP0); - GXSetNumChans(0); - GXSetNumTexGens(1); - GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125); - GXSetNumTevStages(1); - GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); - GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); - GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - const GXColor color = {0, 0, 0, mAlpha}; - GXSetTevColor(GX_TEVREG0, color); - GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); - GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); - GXSetZCompLoc(GX_TRUE); - GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); - GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_OR); - GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0); - GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); - GXSetFogRangeAdj(GX_FALSE, 0, NULL); - GXSetCullMode(GX_CULL_NONE); - GXSetDither(GX_TRUE); - GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0); - GXSetCurrentMtx(0); - GXClearVtxDesc(); - GXSetVtxDesc(GX_VA_POS, GX_DIRECT); - GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); - GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0); - - GXBegin(GX_QUADS, GX_VTXFMT0, 4); - GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0); - GXTexCoord2s8(0, 0); - - GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0); - GXTexCoord2s8(1, 0); - - GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0); - GXTexCoord2s8(1, 1); - - GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0); - GXTexCoord2s8(0, 1); - GXEnd(); - } - } - - virtual ~dDlst_MENU_CAPTURE_c() {} - - dDlst_MENU_CAPTURE_c() { - mFlag = 0; - mAlpha = 255; - mTopFlag = 0; - } - - void setCaptureFlag() { mFlag = 1; } - bool checkDraw() { return mFlag; } - u8 getAlpha() { return mAlpha; } - u8 getTopFlag() { return mTopFlag; } - u8 getDrawFlag() { return mFlag; } - void setDrawFlag() { mFlag = 3; } - -private: - /* 0x4 */ u8 mFlag; - /* 0x5 */ u8 mAlpha; - /* 0x6 */ u8 mTopFlag; -}; +class dDlst_MENU_CAPTURE_c; class dMw_c : public msg_class { public: @@ -303,7 +229,4 @@ private: /* 0x154 */ bool mPauseWindow; }; -BOOL dMw_LEFT_TRIGGER(); -BOOL dMw_RIGHT_TRIGGER(); - #endif /* D_MENU_D_MENU_WINDOW_H */ diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp index 9b86a43054..1ecdbebc2f 100644 --- a/src/d/actor/d_a_alink.cpp +++ b/src/d/actor/d_a_alink.cpp @@ -5480,7 +5480,7 @@ int daAlink_c::createHeap() { JKRReadIdxResource(mFaceBckHeap.getBuffer(), 0xC00, 0xE8, dComIfGp_getAnmArchive()); J3DAnmTransform* bck = (J3DAnmTransform*)J3DAnmLoaderDataBase::load(mFaceBckHeap.getBuffer()); - if (!field_0x2164.init(bck, FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!field_0x2164.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } @@ -15273,7 +15273,7 @@ void daAlink_c::setBasAnime(daAlink_c::daAlink_UNDER param_0) { void daAlink_c::initBasAnime() { if (field_0x2d7c != NULL) { f32 var_f31; - if (field_0x2d7c->getAttribute() == J3DFrameCtrl::LOOP_REPEAT_e) { + if (field_0x2d7c->getAttribute() == J3DFrameCtrl::EMode_LOOP) { var_f31 = field_0x2d7c->getFrame() - field_0x2d7c->getRate(); if (var_f31 <= field_0x2d7c->getStart()) { diff --git a/src/d/actor/d_a_alink_bottle.inc b/src/d/actor/d_a_alink_bottle.inc index 9d435ed89f..7adde1fd74 100644 --- a/src/d/actor/d_a_alink_bottle.inc +++ b/src/d/actor/d_a_alink_bottle.inc @@ -67,14 +67,14 @@ void daAlink_c::setBottleModel(u16 i_itemNo) { if (i_itemNo == fpcNm_ITEM_FAIRY) { J3DAnmTransform* bck = (J3DAnmTransform*)loadAram(0x1E8, 0xC00); mpHookTipModel = initModel(loadAramBmd(0x31D, 0x1400), 0); - if (!mHookTipBck.init(bck, FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!mHookTipBck.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { JUT_ASSERT(142, 0); } mHookTipBck.entry(mpHookTipModel->getModelData(), 0.0f); } else if (i_itemNo == fpcNm_ITEM_WORM) { J3DAnmTransform* bck = (J3DAnmTransform*)loadAram(0x1E9, 0xC00); mpHookTipModel = initModel(loadAramBmd(0x31E, 0x2400), 0); - if (!mHookTipBck.init(bck, FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!mHookTipBck.init(bck, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { JUT_ASSERT(151, 0); } mHookTipBck.entry(mpHookTipModel->getModelData(), 0.0f); diff --git a/src/d/actor/d_a_alink_demo.inc b/src/d/actor/d_a_alink_demo.inc index d0e7eefc38..5e7eda9681 100644 --- a/src/d/actor/d_a_alink_demo.inc +++ b/src/d/actor/d_a_alink_demo.inc @@ -1680,7 +1680,7 @@ int daAlink_c::procCoToolDemo() { if (field_0x0698 != blk_p) { field_0x0698 = blk_p; field_0x069c->init(mpDemoFCTmpBls, field_0x0698, FALSE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); field_0x069c->getBlkAnm()->setFrame(0.0f); } diff --git a/src/d/actor/d_a_b_bq.cpp b/src/d/actor/d_a_b_bq.cpp index 76147e2234..fcc1b55dae 100644 --- a/src/d/actor/d_a_b_bq.cpp +++ b/src/d/actor/d_a_b_bq.cpp @@ -456,7 +456,7 @@ static void damage_check(b_bq_class* i_this) { } def_se_set(&i_this->mSound, i_this->mAtInfo.mpCollider, 0x2D, NULL); - anm_init(i_this, ANM_NO_DAMAGE, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_NO_DAMAGE, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mSound.startCreatureVoice(Z2SE_EN_BQ_V_NODAMAGE, -1); i_this->field_0x6de = 10; } @@ -501,7 +501,7 @@ static s8 b_bq_stay(b_bq_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_APPEAR, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 0.0f); + anm_init(i_this, ANM_APPEAR, 1.0f, J3DFrameCtrl::EMode_NONE, 0.0f); i_this->mMode = 1; break; case 2: @@ -523,7 +523,7 @@ static s8 b_bq_stay(b_bq_class* i_this) { } if (i_this->mTimers[0] == 0) { - anm_init(i_this, ANM_APPEAR, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_APPEAR, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 4; i_this->mDisableDraw = false; @@ -549,7 +549,7 @@ static s8 b_bq_stay(b_bq_class* i_this) { if (i_this->mpMorf->isStop()) { i_this->mAction = ACTION_WAIT; - anm_init(i_this, ANM_WAIT_01, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_01, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; } break; @@ -562,7 +562,7 @@ static s8 b_bq_stay(b_bq_class* i_this) { static void b_bq_wait(b_bq_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_WAIT_01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; // fallthrough case 1: @@ -582,7 +582,7 @@ static void b_bq_wait(b_bq_class* i_this) { } if (i_this->mAnmID == ANM_NO_DAMAGE && i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_WAIT_01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (i_this->field_0x11fc != 0 && i_this->mTimers[2] == 1) { @@ -598,7 +598,7 @@ static void b_bq_damage(b_bq_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_BOMB_DAMAGE, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_BOMB_DAMAGE, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->mTimers[0] = 1000; a_this->health = 50; @@ -629,7 +629,7 @@ static void b_bq_damage(b_bq_class* i_this) { } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_DAMAGE_WAIT, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_WAIT, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; i_this->mTimers[0] = l_HIO.mChanceTime; } @@ -641,12 +641,12 @@ static void b_bq_damage(b_bq_class* i_this) { } break; case 10: - anm_init(i_this, ANM_CORE_DAMAGE, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_CORE_DAMAGE, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 11; break; case 11: if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_DAMAGE_WAIT, JREG_F(15), J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_WAIT, JREG_F(15), J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; } break; @@ -661,7 +661,7 @@ static void b_bq_damage(b_bq_class* i_this) { return; } - anm_init(i_this, ANM_RETURN_01, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RETURN_01, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 21; i_this->mSound.startCreatureVoice(Z2SE_EN_BQ_V_DAMAGEBACK, -1); break; @@ -671,7 +671,7 @@ static void b_bq_damage(b_bq_class* i_this) { } break; case 30: - anm_init(i_this, ANM_RETURN_02, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RETURN_02, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 31; i_this->mSound.startCreatureVoice(Z2SE_EN_BQ_V_BACK, -1); break; @@ -725,7 +725,7 @@ static void b_bq_damage(b_bq_class* i_this) { i_this->setDownPos(&sp5C); if (i_this->checkCutDownHitFlg()) { - anm_init(i_this, ANM_TODOME, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_TODOME, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mPlayTodomeBtk = true; i_this->mMode = 40; @@ -764,7 +764,7 @@ static s8 b_bq_attack(b_bq_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_ATTACK_A, 10.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ATTACK_A, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; if (cM_rndF(1.0f) < 0.5f) { @@ -788,7 +788,7 @@ static s8 b_bq_attack(b_bq_class* i_this) { } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_ATTACK_B, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_ATTACK_B, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; i_this->mTimers[0] = l_HIO.mWaterSprayTime; } @@ -797,7 +797,7 @@ static s8 b_bq_attack(b_bq_class* i_this) { set_dokuhaki = true; if (i_this->mTimers[0] == 0) { - anm_init(i_this, ANM_ATTACK_B, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ATTACK_B, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 3; } break; @@ -901,7 +901,7 @@ static void b_bq_end(b_bq_class* i_this) { case 0: i_this->mSound.startCreatureVoice(Z2SE_EN_BQ_V_DEAD, -1); - anm_init(i_this, ANM_DEAD, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mpDeadBrk->setPlaySpeed(1.0f); i_this->mMode = 1; @@ -2440,7 +2440,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { b_bq_class* a_this = (b_bq_class*)i_this; a_this->mpMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("B_bq", 0x1D), NULL, - NULL, NULL, J3DFrameCtrl::LOOP_REPEAT_e, 0.6f, 0, -1, + NULL, NULL, J3DFrameCtrl::EMode_LOOP, 0.6f, 0, -1, &a_this->mSound, 0, 0x11000284); if (a_this->mpMorf == NULL || a_this->mpMorf->getModel() == NULL) { return false; @@ -2460,7 +2460,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { if (!a_this->mpDeadBrk->init(a_this->mpMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_bq", 0x20), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return false; } @@ -2474,7 +2474,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { if (!a_this->mpTodomeBtk->init(a_this->mpMorf->getModel()->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_bq", 0x23), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return false; } diff --git a/src/d/actor/d_a_b_dr.cpp b/src/d/actor/d_a_b_dr.cpp index e32592f89a..47d43ed088 100644 --- a/src/d/actor/d_a_b_dr.cpp +++ b/src/d/actor/d_a_b_dr.cpp @@ -4,718 +4,4315 @@ */ #include "d/actor/d_a_b_dr.h" -#include "dol2asm.h" +#include "d/d_com_inf_game.h" +#include "d/actor/d_a_player.h" +#include "d/d_menu_window.h" +#include "d/d_s_play.h" +#include "d/d_debug_viewer.h" +#include "d/actor/d_a_npc.h" #include "d/d_camera.h" +#include "c/c_damagereaction.h" +#include "Z2AudioLib/Z2Instances.h" -// -// Forward References: -// +#define ANM_DR_BOOT_A 0x10 +#define ANM_DR_BOOT_A_DEMO 0x11 +#define ANM_DR_BOOT_B 0x12 +#define ANM_DR_BOOT_C 0x13 +#define ANM_DR_BRAKE_TO_HOVER 0x14 +#define ANM_DR_BRIDG_DESTROYA 0x15 +#define ANM_DR_BRIDG_DESTROYB 0x16 +#define ANM_DR_BURU 0x17 +#define ANM_DR_CATCH 0x18 +#define ANM_DR_CRAZY 0x19 +#define ANM_DR_DAMAGE_L 0x1A +#define ANM_DR_DAMAGE_LAST 0x1B +#define ANM_DR_DAMAGE_R 0x1C +#define ANM_DR_DEATH 0x1D +#define ANM_DR_DEMO_DESTROY 0x1E +#define ANM_DR_DOWN_WAIT 0x1F +#define ANM_DR_FALL 0x20 +#define ANM_DR_FALL_DEATH 0x21 +#define ANM_DR_FALL_DOWN 0x22 +#define ANM_DR_FALL_REVIVE 0x23 +#define ANM_DR_FALL_SCREAM 0x24 +#define ANM_DR_FEINT_A 0x25 +#define ANM_DR_FEINT_B 0x26 +#define ANM_DR_FEINT_C 0x27 +#define ANM_DR_FIREA 0x28 +#define ANM_DR_FIREB 0x29 +#define ANM_DR_FIREC 0x2A +#define ANM_DR_FIRED 0x2B +#define ANM_DR_FIREE 0x2C +#define ANM_DR_FLAP 0x2D +#define ANM_DR_FLAP_TO_FLY 0x2E +#define ANM_DR_FLY 0x2F +#define ANM_DR_FLY_TO_GLIDE 0x30 +#define ANM_DR_GLIDE 0x31 +#define ANM_DR_GLIDE_BRAKE 0x32 +#define ANM_DR_GLIDE_TO_FLY 0x33 +#define ANM_DR_HOVER_TO_FLY 0x34 +#define ANM_DR_HOVERING 0x35 +#define ANM_DR_HOVERING_B 0x36 +#define ANM_DR_IMPACT 0x37 +#define ANM_DR_MID_WAKEUP 0x38 +#define ANM_DR_OP_SCREAM 0x39 +#define ANM_DR_POLE_STAYA 0x3A +#define ANM_DR_POLE_STAYB 0x3B +#define ANM_DR_POLE_STAYC 0x3C +#define ANM_DR_POLE_STAYD 0x3D +#define ANM_DR_RIDE 0x3E +#define ANM_DR_SHAKEA 0x3F +#define ANM_DR_SHAKEB 0x40 +#define ANM_DR_TAKE_OFF 0x41 +#define ANM_DR_TURN 0x42 +#define ANM_DR_WIND_ATTACKA 0x43 +#define ANM_DR_WIND_ATTACKATOB 0x44 +#define ANM_DR_WIND_ATTACKB 0x45 +#define ANM_DR_WIND_ATTACKBTOFLY 0x46 -extern "C" void __ct__12daB_DR_HIO_cFv(); -extern "C" void ctrlJoint__8daB_DR_cFP8J3DJointP8J3DModel(); -extern "C" void __dt__4cXyzFv(); -extern "C" void JointCallBack__8daB_DR_cFP8J3DJointi(); -extern "C" void draw__8daB_DR_cFv(); -extern "C" static void daB_DR_Draw__FP8daB_DR_c(); -extern "C" void setBck__8daB_DR_cFiUcff(); -extern "C" void setActionMode__8daB_DR_cFii(); -extern "C" void mGlider_WindPosSet__8daB_DR_cFv(); -extern "C" void mBoot_c_tranceSet__8daB_DR_cFb(); -extern "C" void mStatusONOFF__8daB_DR_cFi(); -extern "C" void setSe__8daB_DR_cFv(); -extern "C" void setDeathLightEffect__8daB_DR_cFv(); -extern "C" void chkPartCreate__8daB_DR_cFb(); -extern "C" void mHabatakiAnmSet__8daB_DR_cFi(); -extern "C" void mGlider_AniSet__8daB_DR_cFb(); -extern "C" void mGliderAtAniSet__8daB_DR_cFv(); -extern "C" void tail_hit_check__8daB_DR_cFv(); -extern "C" void week_hit_check__8daB_DR_cFv(); -extern "C" void mTimerClr__8daB_DR_cFv(); -extern "C" void mCountClr__8daB_DR_cFv(); -extern "C" void mAllClr__8daB_DR_cFv(); -extern "C" void mHeadAngleSet__8daB_DR_cFv(); -extern "C" void flapMove__8daB_DR_cFb(); -extern "C" void revolutionMove__8daB_DR_cFv(); -extern "C" void mPlayerHighCheck__8daB_DR_cFv(); -extern "C" void mBgFallGroundCheck__8daB_DR_cFv(); -extern "C" void normalHoverMove__8daB_DR_cFv(); -extern "C" void executeWait__8daB_DR_cFv(); -extern "C" void executeFlyWait__8daB_DR_cFv(); -extern "C" void executeTailHit__8daB_DR_cFv(); -extern "C" void executeWeekHit__8daB_DR_cFv(); -extern "C" void mBreathSet__8daB_DR_cFv(); -extern "C" void mBreathHighSet__8daB_DR_cFb(); -extern "C" void mFeintBreath__8daB_DR_cFv(); -extern "C" void executeBreathAttack__8daB_DR_cFv(); -extern "C" void executeWindAttack__8daB_DR_cFv(); -extern "C" void mGliderMoveSub__8daB_DR_cFf(); -extern "C" void executeGliderAttack__8daB_DR_cFv(); -extern "C" void executePillarSearch__8daB_DR_cFv(); -extern "C" void executePillarWait__8daB_DR_cFv(); -extern "C" void startDemoCheck__8daB_DR_cFv(); -extern "C" void executeDamageDemo__8daB_DR_cFv(); -extern "C" void executeMiddleDemo__8daB_DR_cFv(); -extern "C" void executeDead__8daB_DR_cFv(); -extern "C" void executeBullet__8daB_DR_cFv(); -extern "C" void executeParts__8daB_DR_cFv(); -extern "C" void action__8daB_DR_cFv(); -extern "C" void action_fire__8daB_DR_cFv(); -extern "C" void action_parts__8daB_DR_cFv(); -extern "C" void mtx_set__8daB_DR_cFv(); -extern "C" void parts_mtx_set__8daB_DR_cFv(); -extern "C" void cc_set__8daB_DR_cFv(); -extern "C" void down_cc_set__8daB_DR_cFv(); -extern "C" void demo_skip__8daB_DR_cFi(); -extern "C" void DemoSkipCallBack__8daB_DR_cFPvi(); -extern "C" void execute__8daB_DR_cFv(); -extern "C" static void daB_DR_Execute__FP8daB_DR_c(); -extern "C" static bool daB_DR_IsDelete__FP8daB_DR_c(); -extern "C" void _delete__8daB_DR_cFv(); -extern "C" static void daB_DR_Delete__FP8daB_DR_c(); -extern "C" void CreateHeap__8daB_DR_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" void create__8daB_DR_cFv(); -extern "C" void __ct__8daB_DR_cFv(); -extern "C" void __ct__8dCcD_CylFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8dCcD_SphFv(); -extern "C" void __ct__8dCcD_SphFv(); -extern "C" void __dt__8dCcD_CylFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" static void daB_DR_Create__FP8daB_DR_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void __dt__12daB_DR_HIO_cFv(); -extern "C" void func_805C6BDC(void* _this, int*); -extern "C" void func_805C6BF8(void* _this, u8*); -extern "C" void __sinit_d_a_b_dr_cpp(); -extern "C" static void func_805C6C50(); -extern "C" static void func_805C6C58(); -extern "C" extern char const* const d_a_b_dr__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); -extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void setAnm__16mDoExt_McaMorfSOFP15J3DAnmTransformiffff(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); -extern "C" void fopAcM_posMove__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_posMoveF__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs(); -extern "C" void fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi(); -extern "C" void fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfGs_onStageBossEnemy__Fi(); -extern "C" void dComIfGs_onZoneSwitch__Fii(); -extern "C" void dComIfGs_isZoneSwitch__Fii(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void onSwitch__12dSv_danBit_cFi(); -extern "C" void offSwitch__12dSv_danBit_cFi(); -extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -setPoly__13dPa_control_cFUlUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void dKyw_custom_windpower__Ff(); -extern "C" void dKyw_evt_wind_set__Fss(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void StartQuake__12dVibration_cFii4cXyz(); -extern "C" void StopQuake__12dVibration_cFi(); -extern "C" void GetLockonList__12dAttention_cFl(); -extern "C" void LockonTruth__12dAttention_cFv(); -extern "C" void getActor__10dAttList_cFv(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void SetGroundUpY__9dBgS_AcchFf(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz(); -extern "C" void checkMasterSwordEquip__9daPy_py_cFv(); -extern "C" void Start__9dCamera_cFv(); -extern "C" void Stop__9dCamera_cFv(); -extern "C" void SetTrimSize__9dCamera_cFl(); -extern "C" void SetTrimTypeForce__9dCamera_cFl(); -extern "C" void Set__9dCamera_cF4cXyz4cXyz(); -extern "C" void dCam_getBody__Fv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dMw_onPauseWindow__Fv(); -extern "C" void dMw_offPauseWindow__Fv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalc0__FPfff(); -extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void func_80280808(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void bgmStop__8Z2SeqMgrFUll(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl(); -extern "C" void bgmStreamPlay__8Z2SeqMgrFv(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -extern "C" void __ct__15Z2CreatureEnemyFv(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc(); -extern "C" void init__15Z2CreatureEnemyFP3VecP3VecP3VecUcUcUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void __construct_array(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" extern u8 struct_80450C98[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 805C6C74-805C6C78 000000 0004+00 33/33 0/0 0/0 .rodata @3800 */ -SECTION_RODATA static f32 const lit_3800 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x805C6C74, &lit_3800); - -/* 805C6C78-805C6C7C 000004 0004+00 0/6 0/0 0/0 .rodata @3801 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3801 = 2.0f; -COMPILER_STRIP_GATE(0x805C6C78, &lit_3801); -#pragma pop - -/* 805C6C7C-805C6C80 000008 0004+00 0/7 0/0 0/0 .rodata @3802 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3802 = 50.0f; -COMPILER_STRIP_GATE(0x805C6C7C, &lit_3802); -#pragma pop - -/* 805C6C80-805C6C84 00000C 0004+00 0/4 0/0 0/0 .rodata @3803 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3803 = 2000.0f; -COMPILER_STRIP_GATE(0x805C6C80, &lit_3803); -#pragma pop - -/* 805C6C84-805C6C88 000010 0004+00 0/1 0/0 0/0 .rodata @3804 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3804 = 15.0f; -COMPILER_STRIP_GATE(0x805C6C84, &lit_3804); -#pragma pop - -/* 805C6C88-805C6C8C 000014 0004+00 0/2 0/0 0/0 .rodata @3805 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3805 = 25.0f; -COMPILER_STRIP_GATE(0x805C6C88, &lit_3805); -#pragma pop - -/* 805C6C8C-805C6C90 000018 0004+00 0/6 0/0 0/0 .rodata @3806 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3806 = 1000.0f; -COMPILER_STRIP_GATE(0x805C6C8C, &lit_3806); -#pragma pop - -/* 805C6C90-805C6C94 00001C 0004+00 0/13 0/0 0/0 .rodata @3807 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3807 = 20.0f; -COMPILER_STRIP_GATE(0x805C6C90, &lit_3807); -#pragma pop - -/* 805C6C94-805C6C98 000020 0004+00 0/10 0/0 0/0 .rodata @3808 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3808 = 5.0f; -COMPILER_STRIP_GATE(0x805C6C94, &lit_3808); -#pragma pop - -/* 805C6C98-805C6C9C 000024 0004+00 0/12 0/0 0/0 .rodata @3809 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3809 = 10.0f; -COMPILER_STRIP_GATE(0x805C6C98, &lit_3809); -#pragma pop - -/* 805C6C9C-805C6CA0 000028 0004+00 0/1 0/0 0/0 .rodata @3810 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3810 = 1800.0f; -COMPILER_STRIP_GATE(0x805C6C9C, &lit_3810); -#pragma pop - -/* 805C7248-805C7254 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +enum daB_DR_Action { + ACTION_WAIT, + ACTION_FLY_WAIT, + ACTION_TAIL_HIT, + ACTION_WEEK_HIT, + ACTION_WIND_ATTACK, + ACTION_BREATH_ATTACK, + ACTION_BREATH_ATTACK2, + ACTION_GLIDER_ATTACK, + ACTION_PILLAR_SEARCH, + ACTION_PILLAR_WAIT, + ACTION_DAMAGE_DEMO = 11, + ACTION_MIDDLE_DEMO, + ACTION_DEAD, }; -/* 805C7254-805C7268 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ -#pragma push -#pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { - 0x02000201, - /* padding */ - 0x40080000, - 0x00000000, - 0x3FE00000, - 0x00000000, -}; -#pragma pop +UNK_REL_DATA +namespace { /* 805C7268-805C72AC 000020 0044+00 0/1 0/0 0/0 .data cc_dr_week_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C7268[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl cc_dr_week_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4002, 0x43}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x302}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 0.0f // mHeight + } // mCyl }; -#pragma pop /* 805C72AC-805C72EC 000064 0040+00 0/1 0/0 0/0 .data cc_dr_tail_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C72AC[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_dr_tail_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000, 0x43}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x302}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -#pragma pop /* 805C72EC-805C732C 0000A4 0040+00 0/1 0/0 0/0 .data * cc_dr_breath_at_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C72EC[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x0D, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_dr_breath_at_src = { + { + {0x0, {{0x100000, 0x4, 0xD}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_13, 0x0, 0xD, dCcD_MTRL_FIRE, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -#pragma pop /* 805C732C-805C736C 0000E4 0040+00 0/1 0/0 0/0 .data cc_dr_wind_at_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C732C[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_dr_wind_at_src = { + { + {0x0, {{0x200, 0x0, 0x1D}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, dCcD_MTRL_WIND, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -#pragma pop /* 805C736C-805C73AC 000124 0040+00 0/1 0/0 0/0 .data cc_dr_foot_at_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C736C[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_dr_foot_at_src = { + { + {0x0, {{0x400, 0x4, 0xD}, {0x0, 0x0}, 0x0}}, // mObj + {dCcD_SE_NONE, 0x0, 0xD, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -#pragma pop /* 805C73AC-805C73F0 000164 0044+00 0/1 0/0 0/0 .data cc_pillar_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C73AC[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x15, - 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +static dCcD_SrcCyl cc_pillar_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x4000, 0x43}, 0x15}}, // mObj + {dCcD_SE_NONE, 0x0, 0xD, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1407}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 40.0f, // mRadius + 0.0f // mHeight + } // mCyl }; -#pragma pop /* 805C73F0-805C7434 0001A8 0044+00 0/1 0/0 0/0 .data cc_down_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C73F0[68] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x15, - 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, - 0x14, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, +static dCcD_SrcCyl cc_down_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xD8FBFDFF, 0x43}, 0x15}}, // mObj + {dCcD_SE_13, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x1407}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 300.0f // mHeight + } // mCyl }; -#pragma pop /* 805C7434-805C7474 0001EC 0040+00 0/1 0/0 0/0 .data cc_downSph_src__22@unnamed@d_a_b_dr_cpp@ */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_805C7434[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00, 0x15, 0x0D, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x14, 0x07, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x20, 0x00, 0x00, +static dCcD_SrcSph cc_downSph_src = { + { + {0x0, {{0x0, 0x0, 0x0}, {0xD8FBFDFF, 0x43}, 0x15}}, // mObj + {dCcD_SE_13, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x2, 0x0, 0x0, 0x1407}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; -#pragma pop +} -/* 805C7474-805C7478 00022C 0004+00 1/1 0/0 0/0 .data mBreakDt$3901 */ -SECTION_DATA static u8 mBreakDt[4] = { - 0x00, - 0x03, - 0x04, - 0x02, -}; +/* 805BAE6C-805BAF80 0000EC 0114+00 1/1 0/0 0/0 .text __ct__12daB_DR_HIO_cFv */ +daB_DR_HIO_c::daB_DR_HIO_c() { + field_0x4 = -1; + model_size = 0.8f; + fall_accel = 2.0f; + fall_accel_max = 50.0f; + wind_large_attack_lockon_range = 2000.0f; + wind_small_attack_power = 15.0f; + wind_attack_power = 25.0f; + glide_wind_power = 50.0f; + breath_attack_threshold = 1000.0f; + breath_move_speed_max = 20.0f; + breath_move_speed_min = 5.0f; + unk_0x2c = 10.0f; + unk_0x18 = 1800.0f; + tail_hit_chance_time = 180; + breath_continue_time = 50; + breath_continue_no_armor_time = 300; + unk_0x4c = 100; + breath_feint1_time = 240; + breath_feint2_time = 200; + breath_feint3_time = 300; + no_attack_time = 300; + no_attack_no_armor_time = 300; + center_wind_time = 450; + unk_0x48 = 450; + back_hit_chance_time = 150; + after_breath_chance_time = 390; + neck_search_speed = 450; + neck_search2_speed = 400; + neck_search_speed_max = 500; + body_search_speed = 15; + body_search2_speed = 1; + body_search_speed_max = 100; + body_search_feint_speed_max = 500; + feint_angle = 180; + unk_0x62 = 300; -/* 805C7478-805C7554 -00001 00DC+00 1/1 0/0 0/0 .data @4342 */ -SECTION_DATA static void* lit_4342[55] = { - (void*)(((char*)setSe__8daB_DR_cFv) + 0x4E8), (void*)(((char*)setSe__8daB_DR_cFv) + 0x548), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x678), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x528), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x29C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x6F0), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x3C0), (void*)(((char*)setSe__8daB_DR_cFv) + 0x404), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x3C0), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x448), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x4C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x6C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x8C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x1F4), (void*)(((char*)setSe__8daB_DR_cFv) + 0x1BC), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x710), (void*)(((char*)setSe__8daB_DR_cFv) + 0x730), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x528), (void*)(((char*)setSe__8daB_DR_cFv) + 0x4A8), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x768), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x768), (void*)(((char*)setSe__8daB_DR_cFv) + 0x478), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x478), (void*)(((char*)setSe__8daB_DR_cFv) + 0x528), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x788), - (void*)(((char*)setSe__8daB_DR_cFv) + 0xCC), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x528), (void*)(((char*)setSe__8daB_DR_cFv) + 0x88C), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x7A8), (void*)(((char*)setSe__8daB_DR_cFv) + 0x144), - (void*)(((char*)setSe__8daB_DR_cFv) + 0xAC), (void*)(((char*)setSe__8daB_DR_cFv) + 0x7C8), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x800), (void*)(((char*)setSe__8daB_DR_cFv) + 0x838), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x788), (void*)(((char*)setSe__8daB_DR_cFv) + 0x528), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x528), (void*)(((char*)setSe__8daB_DR_cFv) + 0x478), - (void*)(((char*)setSe__8daB_DR_cFv) + 0x870), -}; + display_range = false; + breath_feint2_OFF = true; +} -/* 805C7554-805C755C 00030C 0008+00 1/1 0/0 0/0 .data w_eff_id$4346 */ -SECTION_DATA static u8 w_eff_id[8] = { - 0x85, 0x4C, 0x85, 0x4D, 0x85, 0x4E, 0x85, 0x4F, -}; +UNK_REL_BSS -/* 805C755C-805C75E4 -00001 0088+00 1/1 0/0 0/0 .data @4528 */ -SECTION_DATA static void* lit_4528[34] = { - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x244), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x168), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x1F8), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0xFC), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x4C), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0xE4), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x98), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x298), - (void*)(((char*)mHabatakiAnmSet__8daB_DR_cFi) + 0x2B0), -}; +/* 805C78FD 0003+00 l_initHIO None */ +static u8 l_initHIO; -/* 805C75E4-805C7648 -00001 0064+00 1/1 0/0 0/0 .data @4618 */ -SECTION_DATA static void* lit_4618[25] = { - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x2B8), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x174), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x1DC), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x248), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x2B8), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0xEC), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x320), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0x84), - (void*)(((char*)mGlider_AniSet__8daB_DR_cFb) + 0xEC), -}; +/* 805C790C-805C7974 000054 0068+00 18/18 0/0 0/0 .bss l_HIO */ +static daB_DR_HIO_c l_HIO; -/* 805C7648-805C76A0 -00001 0058+00 1/1 0/0 0/0 .data @4662 */ -SECTION_DATA static void* lit_4662[22] = { - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x9C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x3C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x84), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x3C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x14C), - (void*)(((char*)mGliderAtAniSet__8daB_DR_cFv) + 0x100), -}; +/* 805BAF80-805BB0E4 000200 0164+00 1/1 0/0 0/0 .text ctrlJoint__8daB_DR_cFP8J3DJointP8J3DModel */ +int daB_DR_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) { + cXyz unused_sp20; + cXyz unused_sp14; + csXyz unused_spC; -/* 805C76A0-805C76A8 000458 0008+00 1/1 0/0 0/0 .data effId$5784 */ -SECTION_DATA static u8 effId[8] = { - 0x89, 0x9B, 0x89, 0x9C, 0x89, 0x9D, 0x89, 0x9E, -}; + int jnt_no = i_joint->getJntNo(); + mDoMtx_stack_c::copy(i_model->getAnmMtx(jnt_no)); -/* 805C76A8-805C7704 -00001 005C+00 1/1 0/0 0/0 .data @6776 */ -SECTION_DATA static void* lit_6776[23] = { - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0x5C), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0x124), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0x18C), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0x18C), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0x8B4), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0x7EC), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xD90), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xADC), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xB94), - (void*)(((char*)executeGliderAttack__8daB_DR_cFv) + 0xBF4), -}; + switch (jnt_no) { + case 19: + mDoMtx_stack_c::YrotM(mHeadAngle.y); + mDoMtx_stack_c::ZrotM(mHeadAngle.x); + break; + case 18: + mDoMtx_stack_c::YrotM(mHeadAngle.y >> 1); + mDoMtx_stack_c::ZrotM(mHeadAngle.x >> 1); + break; + case 17: + mDoMtx_stack_c::YrotM(mHeadAngle.y >> 1); + mDoMtx_stack_c::ZrotM(mHeadAngle.x >> 1); + break; + } -/* 805C7704-805C773C -00001 0038+00 1/1 0/0 0/0 .data @7387 */ -SECTION_DATA static void* lit_7387[14] = { - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x64), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0xB0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x1D4), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x5F0), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x354), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x3C4), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x4D8), - (void*)(((char*)executeDamageDemo__8daB_DR_cFv) + 0x59C), -}; + if (jnt_no == TREG_S(0)) { + mDoMtx_stack_c::XrotM(TREG_S(1)); + mDoMtx_stack_c::YrotM(TREG_S(2)); + mDoMtx_stack_c::ZrotM(TREG_S(3)); + } -/* 805C773C-805C776C -00001 0030+00 1/1 0/0 0/0 .data @7559 */ -SECTION_DATA static void* lit_7559[12] = { - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x50), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0xD8), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x128), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x194), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2C0), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2C0), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2C0), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2C0), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2C0), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2C0), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x1B8), - (void*)(((char*)executeParts__8daB_DR_cFv) + 0x2A8), -}; + i_model->setAnmMtx(jnt_no, mDoMtx_stack_c::get()); + cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + return 1; +} -/* 805C776C-805C77A4 -00001 0038+00 1/1 0/0 0/0 .data @7648 */ -SECTION_DATA static void* lit_7648[14] = { - (void*)(((char*)action__8daB_DR_cFv) + 0x5C), (void*)(((char*)action__8daB_DR_cFv) + 0x68), - (void*)(((char*)action__8daB_DR_cFv) + 0x74), (void*)(((char*)action__8daB_DR_cFv) + 0x88), - (void*)(((char*)action__8daB_DR_cFv) + 0x9C), (void*)(((char*)action__8daB_DR_cFv) + 0xB0), - (void*)(((char*)action__8daB_DR_cFv) + 0xB0), (void*)(((char*)action__8daB_DR_cFv) + 0xBC), - (void*)(((char*)action__8daB_DR_cFv) + 0xD0), (void*)(((char*)action__8daB_DR_cFv) + 0xE4), - (void*)(((char*)action__8daB_DR_cFv) + 0x130), (void*)(((char*)action__8daB_DR_cFv) + 0xF8), - (void*)(((char*)action__8daB_DR_cFv) + 0x10C), (void*)(((char*)action__8daB_DR_cFv) + 0x120), -}; +/* 805BB120-805BB16C 0003A0 004C+00 1/1 0/0 0/0 .text JointCallBack__8daB_DR_cFP8J3DJointi */ +int daB_DR_c::JointCallBack(J3DJoint* i_joint, int param_1) { + if (param_1 == 0) { + J3DModel* model_p = j3dSys.getModel(); + daB_DR_c* dr_p = (daB_DR_c*)model_p->getUserArea(); -/* 805C77A4-805C77AC 00055C 0008+00 1/1 0/0 0/0 .data effLId$7688 */ -SECTION_DATA static u8 effLId[8] = { - 0x89, 0xE4, 0x89, 0xE5, 0x89, 0xE6, 0x89, 0xE7, -}; + if (dr_p != NULL) { + dr_p->ctrlJoint(i_joint, model_p); + } + } -/* 805C77AC-805C77B4 000564 0008+00 1/1 0/0 0/0 .data effRId$7689 */ -SECTION_DATA static u8 effRId[8] = { - 0x89, 0xE8, 0x89, 0xE9, 0x89, 0xEA, 0x89, 0xEB, -}; + return 1; +} -/* 805C77B4-805C77CC 00056C 0018+00 1/1 0/0 0/0 .data mPartDt$8292 */ -SECTION_DATA static u8 mPartDt[24] = { - 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x4B, - 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x00, 0x00, 0x4E, -}; +/* 805BB16C-805BB3E8 0003EC 027C+00 1/1 0/0 0/0 .text draw__8daB_DR_cFv */ +int daB_DR_c::draw() { + if (BREG_S(6) == 0 && (arg0 == 0xA || arg0 == 0xFF || arg0 == 0xFE)) { + return 1; + } -/* 805C77CC-805C77E4 000584 0018+00 0/1 0/0 0/0 .data mParts_EstimateSizeDt$8381 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 mParts_EstimateSizeDt[24] = { - 0x00, 0x00, 0x19, 0x80, 0x00, 0x00, 0x19, 0x90, 0x00, 0x00, 0x0D, 0x50, - 0x00, 0x00, 0x0D, 0x40, 0x00, 0x00, 0x0D, 0x40, 0x00, 0x00, 0x0D, 0x40, -}; -#pragma pop + if (arg0 == 0x14 || arg0 == 0x15) { + g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpPartModel, &tevStr); + + if (mPartNo < 2) { + J3DShape* shape_p; + + shape_p = mpPartModel->getModelData()->getMaterialNodePointer((u8)(mPartNo ^ 1))->getShape(); + if (shape_p != NULL) { + shape_p->hide(); + } + + shape_p = mpPartModel->getModelData()->getMaterialNodePointer(mPartNo)->getShape(); + if (shape_p != NULL) { + shape_p->show(); + } + } + + mDoExt_modelUpdateDL(mpPartModel); + return 1; + } + +#ifdef DEBUG + if (WREG_S(0) != 0 || l_HIO.display_range) { + cXyz sp24; + cXyz sp18; + + GXColor color; + color.r = 0x82; + color.g = 0xFA; + color.b = 0xFA; + color.a = 0xFA; + + sp24.set(home.pos); + sp24.y += 40.0f; + sp24.x = -l_HIO.unk_0x18; + + sp18.set(home.pos); + sp18.y += 40.0f; + sp18.x = l_HIO.unk_0x18; + + dDbVw_drawLineXlu(sp24, sp18, color, TRUE, 12); + + if (field_0x7d1 == 2 || + mActionMode == ACTION_BREATH_ATTACK || + mActionMode == ACTION_BREATH_ATTACK2 || + mActionMode == ACTION_FLY_WAIT || + mActionMode == ACTION_PILLAR_SEARCH || + mActionMode == ACTION_PILLAR_WAIT || + mActionMode == ACTION_GLIDER_ATTACK) + { + color.r = 0xFF; + color.g = 0x82; + color.b = 0x82; + color.a = 0xFA; + + sp24.set(home.pos); + if (mActionMode == ACTION_FLY_WAIT || mActionMode == ACTION_PILLAR_WAIT || mActionMode == ACTION_GLIDER_ATTACK) { + sp24.set(current.pos); + } + + if (mActionMode == ACTION_BREATH_ATTACK || mActionMode == ACTION_BREATH_ATTACK2) { + sp24.set(field_0x790); + field_0x7a8.set(field_0x784); + } + dDbVw_drawLineXlu(sp24, field_0x7a8, color, TRUE, 12); + + color.r = 0x9B; + color.g = 0x82; + color.b = 0x82; + color.a = 0xFA; + dDbVw_drawLineXlu(field_0x7b4, field_0x7a8, color, TRUE, 12); + } else if (mActionMode == ACTION_WIND_ATTACK) { + color.r = 0xFF; + color.g = 0x82; + color.b = 0xFF; + color.a = 0xFA; + + sp24.set(current.pos); + sp24.y = 10.0f + mAcch.GetGroundH(); + + dDbVw_drawCircleXlu(sp24, l_HIO.wind_large_attack_lockon_range, color, TRUE, 12); + } + + color.r = 0xAA; + color.g = 0xAA; + color.b = 0xFA; + color.a = 0xFA; + + sp24.set(home.pos); + sp24.y = l_HIO.breath_attack_threshold; + + dDbVw_drawLineXlu(home.pos, sp24, color, TRUE, 12); + } + + dComIfG_Bgsp().DrawWall(&mAcch); +#endif + + J3DModel* model_p = mpModelMorf->getModel(); + + g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(model_p, &tevStr); + + if (field_0x7d1 != 0) { + for (int i = 1; i < mBreakPartsNo + 1; i++) { + static u8 mBreakDt[4] = {0, 3, 4, 2}; + + J3DShape* shape_p = mpModelMorf->getModel()->getModelData()->getMaterialNodePointer(mBreakDt[i])->getShape(); + if (shape_p != NULL) { + shape_p->hide(); + } + } + } else { + for (int i = 1; i < 4; i++) { + J3DShape* shape_p = mpModelMorf->getModel()->getModelData()->getMaterialNodePointer((u8)i)->getShape(); + if (shape_p != NULL) { + shape_p->show(); + } + } + } + + mpCoreBrk->entry(model_p->getModelData()); + mpModelMorf->entryDL(); + + cXyz pos; + pos.set(current.pos.x, 10.0f + current.pos.y, current.pos.z); + mShadowKey = dComIfGd_setShadow(mShadowKey, 0, model_p, &pos, 6000.0f + BREG_F(19), 0.0f, current.pos.y, mAcch.GetGroundH(), mAcch.m_gnd, &tevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); + return 1; +} + +/* 805BB3E8-805BB408 000668 0020+00 1/0 0/0 0/0 .text daB_DR_Draw__FP8daB_DR_c */ +static int daB_DR_Draw(daB_DR_c* i_this) { + return i_this->draw(); +} + +/* 805BB408-805BB4B4 000688 00AC+00 11/11 0/0 0/0 .text setBck__8daB_DR_cFiUcff */ +void daB_DR_c::setBck(int i_anm, u8 i_mode, f32 i_morf, f32 i_speed) { + mpModelMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_DR", i_anm), i_mode, i_morf, i_speed, 0.0f, -1.0f); + mAnm = i_anm; +} + +/* 805BB4B4-805BB4CC 000734 0018+00 13/13 0/0 0/0 .text setActionMode__8daB_DR_cFii */ +void daB_DR_c::setActionMode(int i_action, int i_mode) { + if (mActionMode != i_action) { + mActionMode = i_action; + mMoveMode = i_mode; + } +} + +/* 805BB4CC-805BB540 00074C 0074+00 1/1 0/0 0/0 .text mGlider_WindPosSet__8daB_DR_cFv */ +void daB_DR_c::mGlider_WindPosSet() { + cXyz mae; + cMtx_YrotS(*calc_mtx, shape_angle.y); + + mae.x = 0.0f; + mae.y = 0.0f; + mae.z = JREG_F(2) + -1000.0f; + MtxPosition(&mae, &mGlider_WindPos); + mGlider_WindPos += current.pos; +} + +/* 805BB540-805BB64C 0007C0 010C+00 2/2 0/0 0/0 .text mBoot_c_tranceSet__8daB_DR_cFb */ +void daB_DR_c::mBoot_c_tranceSet(bool param_0) { + cXyz mae; + cXyz ato; + if (!param_0) { + if (mAnm == ANM_DR_BOOT_C && (int)mpModelMorf->getFrame() <= 45) { + cMtx_YrotS(*calc_mtx, shape_angle.y); + mae.x = -500.0f; + mae.y = 0.0f; + mae.z = 500.0f; + MtxPosition(&mae, &ato); + + mBoot_c_trance.x += ato.x / 45.0f; + mBoot_c_trance.y += ato.y / 45.0f; + mBoot_c_trance.z += ato.z / 45.0f; + } + } else { + ato.zero(); + cLib_addCalcPos(&mBoot_c_trance, ato, 0.8f, 20.0f, 5.0f); + } +} + +/* 805BB64C-805BB6E8 0008CC 009C+00 9/9 0/0 0/0 .text mStatusONOFF__8daB_DR_cFi */ +void daB_DR_c::mStatusONOFF(int i_status) { + switch (i_status) { + case 0: + attention_info.distances[fopAc_attn_BATTLE_e] = 0; + attention_info.flags &= ~4; + fopAcM_OffStatus(this, 0); + fopAcM_OffStatus(this, 0x200000); + return; + case 1: + attention_info.distances[fopAc_attn_BATTLE_e] = 85; + attention_info.flags |= 4; + fopAcM_OnStatus(this, 0); + fopAcM_OnStatus(this, 0x200000); + return; + case 2: + attention_info.distances[fopAc_attn_BATTLE_e] = 60; + fopAcM_OnStatus(this, 0); + fopAcM_OffStatus(this, 0x200000); + attention_info.flags |= 4; + return; + } +} + +/* 805BB6E8-805BBFC0 000968 08D8+00 2/1 0/0 0/0 .text setSe__8daB_DR_cFv */ +void daB_DR_c::setSe() { + bool play_wing_se = false; + + switch (mAnm) { + case ANM_DR_FEINT_A: + if (mpModelMorf->checkFrame(14)) { + play_wing_se = true; + } + break; + case ANM_DR_FEINT_B: + if (mpModelMorf->checkFrame(3)) { + play_wing_se = true; + } + break; + case ANM_DR_FEINT_C: + if (mpModelMorf->checkFrame(18)) { + play_wing_se = true; + } + break; + case ANM_DR_RIDE: + if (mpModelMorf->checkFrame(1)) { + play_wing_se = true; + } + break; + case ANM_DR_HOVERING_B: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_HOVERING, -1); + } + if (mpModelMorf->checkFrame(5) || mpModelMorf->checkFrame(30)) { + play_wing_se = true; + } + break; + case ANM_DR_POLE_STAYD: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_POLE_STAY, -1); + } + if (mpModelMorf->checkFrame(9) || mpModelMorf->checkFrame(76)) { + play_wing_se = true; + } + break; + case ANM_DR_FIREB: + if (mpModelMorf->checkFrame(18) || mpModelMorf->checkFrame(42)) { + play_wing_se = true; + } + break; + case ANM_DR_FIREA: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_FIRE_A, -1); + } + if (mpModelMorf->checkFrame(12) || mpModelMorf->checkFrame(55) || mpModelMorf->checkFrame(103) || mpModelMorf->checkFrame(143)) { + play_wing_se = true; + } + break; + case ANM_DR_BURU: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureSound(Z2SE_EN_DR_BREAK_ARMOR, 0, -1); + } + if (mpModelMorf->checkFrame(7) || mpModelMorf->checkFrame(40) || mpModelMorf->checkFrame(75) || mpModelMorf->checkFrame(143) || mpModelMorf->checkFrame(177) || mpModelMorf->checkFrame(210) || mpModelMorf->checkFrame(243) || mpModelMorf->checkFrame(270) || mpModelMorf->checkFrame(309)) { + play_wing_se = true; + } + break; + case ANM_DR_DAMAGE_L: + case ANM_DR_DAMAGE_R: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_DAMAGE, -1); + } + break; + case ANM_DR_DAMAGE_LAST: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_DAMAGE_LAST, -1); + } + break; + case ANM_DR_FALL: + mSound.startCreatureSoundLevel(Z2SE_EN_DR_FALL, 0, -1); + break; + case ANM_DR_GLIDE: + case ANM_DR_GLIDE_BRAKE: + case ANM_DR_WIND_ATTACKB: + mSound.startCreatureSoundLevel(Z2SE_EN_DR_GLIDE, 0, -1); + break; + case ANM_DR_FLAP: + if (mpModelMorf->checkFrame(5)) { + if (field_0x7da == 0) { + play_wing_se = true; + field_0x7da = 1; + } + } else { + field_0x7da = 0; + } + break; + case ANM_DR_BOOT_A: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_BOOT_A, -1); + } + case ANM_DR_BRAKE_TO_HOVER: + case ANM_DR_FIREE: + case ANM_DR_GLIDE_TO_FLY: + case ANM_DR_POLE_STAYA: + case ANM_DR_WIND_ATTACKA: + case ANM_DR_WIND_ATTACKATOB: + if (mpModelMorf->checkFrame(5)) { + play_wing_se = true; + } + break; + case ANM_DR_BOOT_A_DEMO: + if (mpModelMorf->checkFrame(53)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_BOOT_A, -1); + } + if (mpModelMorf->checkFrame(76) || mpModelMorf->checkFrame(95) || mpModelMorf->checkFrame(115)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_BOOT_B, -1); + } + if (mpModelMorf->checkFrame(14) || mpModelMorf->checkFrame(55) || mpModelMorf->checkFrame(72) || mpModelMorf->checkFrame(88) || mpModelMorf->checkFrame(107)) { + play_wing_se = true; + } + break; + case ANM_DR_BOOT_B: + if (mpModelMorf->checkFrame(0)) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_BOOT_B, -1); + } + if (mpModelMorf->checkFrame(1) || mpModelMorf->checkFrame(17)) { + play_wing_se = true; + } + break; + case ANM_DR_CATCH: + if (mpModelMorf->checkFrame(10)) { + play_wing_se = true; + } + break; + case ANM_DR_FIREC: + if (mpModelMorf->checkFrame(14)) { + play_wing_se = true; + } + break; + case ANM_DR_FIRED: + if (mpModelMorf->checkFrame(6) || mpModelMorf->checkFrame(36)) { + play_wing_se = true; + } + break; + case ANM_DR_FLY: + case ANM_DR_FLY_TO_GLIDE: + if (mpModelMorf->checkFrame(8)) { + play_wing_se = true; + } + break; + case ANM_DR_HOVERING: + case ANM_DR_TURN: + if (mpModelMorf->checkFrame(7)) { + play_wing_se = true; + } + break; + case ANM_DR_POLE_STAYC: + if (mpModelMorf->checkFrame(9)) { + play_wing_se = true; + } + break; + case ANM_DR_SHAKEA: + if (mpModelMorf->checkFrame(5) || mpModelMorf->checkFrame(21)) { + play_wing_se = true; + } + break; + case ANM_DR_SHAKEB: + if (mpModelMorf->checkFrame(5) || mpModelMorf->checkFrame(26)) { + play_wing_se = true; + } + break; + case ANM_DR_TAKE_OFF: + if (mpModelMorf->checkFrame(31) || mpModelMorf->checkFrame(53)) { + play_wing_se = true; + } + break; + case ANM_DR_WIND_ATTACKBTOFLY: + if (mpModelMorf->checkFrame(10)) { + play_wing_se = true; + } + break; + } + + if (play_wing_se) { + mSound.startCreatureSound(Z2SE_EN_DR_WING, 0, -1); + } +} + +/* 805BBFC0-805BC0B8 001240 00F8+00 1/1 0/0 0/0 .text setDeathLightEffect__8daB_DR_cFv */ +void daB_DR_c::setDeathLightEffect() { + for (int i = 0; i < 4; i++) { + static u16 w_eff_id[] = {0x854C, 0x854D, 0x854E, 0x854F}; + dComIfGp_particle_set(w_eff_id[i], ¤t.pos, &tevStr, NULL, NULL); + } + + fopAcM_seStart(this, JA_SE_CM_MONS_EXPLODE, 0); +} + +/* 805BC0B8-805BC248 001338 0190+00 3/3 0/0 0/0 .text chkPartCreate__8daB_DR_cFb */ +void daB_DR_c::chkPartCreate(bool param_0) { + static const struct { + int jnt_no; + int prm; + f32 size; + } BREAK_PARTS_DT[] = { + {17, 0, 1.0f}, + {17, 1, 1.0f}, + {18, 0, 1.0f}, + {18, 1, 1.0f}, + {19, 0, 1.0f}, + {19, 1, 1.0f}, + {2, 0, 1.0f}, + {2, 1, 1.0f}, + {43, 0, 1.0f}, + {43, 1, 1.0f}, + {44, 0, 0.5f}, + {44, 1, 0.5f}, + {45, 0, 0.5f}, + {45, 1, 0.5f}, + {46, 0, 0.5f}, + {46, 1, 0.5f}, + {6, 4, 1.0f}, + {18, 0, 1.0f}, + {18, 1, 1.0f}, + {19, 0, 1.0f}, + {19, 1, 1.0f}, + {16, 0, 1.0f}, + {16, 1, 1.0f}, + {26, 0, 1.0f}, + {26, 1, 1.0f}, + {43, 0, 1.0f}, + {43, 1, 1.0f}, + {46, 0, 0.5f}, + {46, 1, 0.5f}, + {12, 5, 1.0f}, + {19, 2, 1.0f}, + {18, 0, 1.0f}, + {18, 1, 1.0f}, + {17, 0, 1.0f}, + {17, 1, 1.0f}, + {16, 0, 1.0f}, + {16, 1, 1.0f}, + {16, 0, 1.0f}, + {16, 1, 1.0f}, + {26, 0, 1.0f}, + {26, 1, 1.0f}, + {26, 0, 1.0f}, + {26, 1, 1.0f}, + {26, 0, 1.0f}, + {26, 1, 1.0f}, + {43, 0, 1.0f}, + {43, 1, 1.0f}, + {44, 0, 0.5f}, + {44, 1, 0.5f}, + {45, 0, 0.5f}, + {45, 1, 0.5f}, + {46, 0, 0.5f}, + {46, 1, 0.5f}, + {47, 3, 1.0f}, + }; + + cXyz pos; + cXyz size; + csXyz rot; + + int part_no = 0; + int var_r27 = 0; + int part_max = 0; + + if (param_0 || field_0x7d1 != 2) { + int break_no = mBreakPartsNo; + if (param_0) { + break_no = 3; + } + + switch (break_no) { + case 1: + part_no = field_0x7e0; + part_max = 17; + break; + case 2: + part_no = field_0x7e0 + 17; + part_max = 30; + break; + case 3: + part_no = field_0x7e0 + 30; + part_max = 54; + break; + } + + if (part_no >= part_max) { + return; + } + + for (; part_no < part_max && var_r27 < 4; var_r27++) { + mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(BREAK_PARTS_DT[part_no].jnt_no)); + mDoMtx_stack_c::multVecZero(&pos); + mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &rot); + + int prm = 0x14; + if (break_no == 3) { + prm = 0x15; + } + + prm |= (BREAK_PARTS_DT[part_no].prm << 8); + size.x = size.y = size.z = BREAK_PARTS_DT[part_no].size; + fopAcM_create(PROC_B_DR, prm, &pos, fopAcM_GetRoomNo(this), &rot, &size, -1); + + field_0x7e0++; + part_no++; + } + } +} + +/* 805BC248-805BC57C 0014C8 0334+00 7/6 0/0 0/0 .text mHabatakiAnmSet__8daB_DR_cFi */ +void daB_DR_c::mHabatakiAnmSet(int param_0) { + switch (mAnm) { + case ANM_DR_FLY_TO_GLIDE: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_GLIDE, 2, 3.0f, 1.0f); + } + break; + case ANM_DR_GLIDE_TO_FLY: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_BRAKE_TO_HOVER, 0, 3.0f, 1.0f); + } + break; + case ANM_DR_GLIDE: + setBck(ANM_DR_BRAKE_TO_HOVER, 0, 3.0f, 1.0f); + break; + case ANM_DR_FLY: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + setBck(ANM_DR_BRAKE_TO_HOVER, 0, l_HIO.unk_0x2c, 1.0f); + } + break; + case ANM_DR_FLAP: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + if (param_0 != 5 && param_0 != 6) { + setBck(ANM_DR_FLAP_TO_FLY, 0, 3.0f, 1.0f); + } else { + setBck(ANM_DR_HOVERING, 2, 3.0f, 1.0f); + } + } + break; + case ANM_DR_FLAP_TO_FLY: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_FLY, 2, 10.0f, 1.0f); + } + break; + case ANM_DR_BRAKE_TO_HOVER: + if (mpModelMorf->isStop()) { + if (param_0 != 4) { + goto lbl_805bc4e0; // fakematch? + } + + setBck(ANM_DR_FLAP, 2, 3.0f, 1.0f); + } + break; + default: + lbl_805bc4e0: + setBck(ANM_DR_HOVERING, 2, 3.0f, 1.0f); + case ANM_DR_HOVERING: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f) && param_0 == 4) { + setBck(ANM_DR_FLAP, 2, 3.0f, 1.0f); + } + break; + } +} + +/* 805BC57C-805BC8B4 0017FC 0338+00 3/2 0/0 0/0 .text mGlider_AniSet__8daB_DR_cFb */ +void daB_DR_c::mGlider_AniSet(bool param_0) { + if (param_0 && mTimer[0] != 0 && mAnm == ANM_DR_FLY) { + mTimer[0] = 0; + } + + if (cLib_calcTimer(&mTimer[0]) == 0) { + switch (mAnm) { + case ANM_DR_WIND_ATTACKB: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + setBck(ANM_DR_WIND_ATTACKBTOFLY, 2, 3.0f, 1.0f); + } + break; + case ANM_DR_HOVERING: + case ANM_DR_WIND_ATTACKBTOFLY: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + if (mAnm == ANM_DR_WIND_ATTACKBTOFLY) { + setBck(ANM_DR_FLY, 2, 5.0f, 1.0f); + } else { + setBck(ANM_DR_FLY, 2, 20.0f, 1.0f); + } + } + break; + case ANM_DR_FLY: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + setBck(ANM_DR_FLY_TO_GLIDE, 0, 3.0f, 1.0f); + } + break; + case ANM_DR_FLY_TO_GLIDE: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_GLIDE, 2, 3.0f, 1.0f); + mTimer[0] = cM_rndF(50.0f) + 50.0f; + } + break; + case ANM_DR_GLIDE: + if (!param_0) { + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + setBck(ANM_DR_GLIDE_TO_FLY, 0, 3.0f, 1.0f); + } + } + break; + case ANM_DR_FLAP_TO_FLY: + case ANM_DR_GLIDE_TO_FLY: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_FLY, 2, 3.0f, 1.0f); + mTimer[0] = cM_rndF(34.0f) + 34.0f; + } + break; + } + } +} + +/* 805BC8B4-805BCA10 001B34 015C+00 2/1 0/0 0/0 .text mGliderAtAniSet__8daB_DR_cFv */ +void daB_DR_c::mGliderAtAniSet() { + switch (mAnm) { + case ANM_DR_FLY_TO_GLIDE: + case ANM_DR_GLIDE_TO_FLY: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_WIND_ATTACKATOB, 0, 3.0f, 1.0f); + } + break; + case ANM_DR_GLIDE: + setBck(ANM_DR_WIND_ATTACKATOB, 0, 3.0f, 1.0f); + break; + case ANM_DR_FLY: + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f)) { + setBck(ANM_DR_WIND_ATTACKATOB, 0, 3.0f, 1.0f); + } + break; + case ANM_DR_WIND_ATTACKATOB: + if (mpModelMorf->isStop()) { + field_0x7d8 = 0; + setBck(ANM_DR_WIND_ATTACKB, 2, 3.0f, 1.0f); + } + break; + } +} + +/* 805BCA10-805BCAD4 001C90 00C4+00 1/1 0/0 0/0 .text tail_hit_check__8daB_DR_cFv */ +void daB_DR_c::tail_hit_check() { + if (health > 0) { + daPy_getPlayerActorClass()->onBossRoomWait(); + + if (fopAcM_checkStatus(this, 0x200000) && cLib_calcTimer(&field_0x7d0) == 0 && mActionMode != ACTION_TAIL_HIT && field_0x7d1 != 2) { + if (mTailCc.ChkTgHit()) { + speedF = 0.0f; + dComIfGs_onZoneSwitch(21, fopAcM_GetRoomNo(this)); + setActionMode(ACTION_TAIL_HIT, 0); + } + + mColliderStts.Move(); + } + } +} + +/* 805BCAD4-805BCBD0 001D54 00FC+00 1/1 0/0 0/0 .text week_hit_check__8daB_DR_cFv */ +void daB_DR_c::week_hit_check() { + if (mWeekCc.ChkTgSet()) { + daPy_getPlayerActorClass()->onBossRoomWait(); + + if (health > 0 && fopAcM_checkStatus(this, 0x200000) && cLib_calcTimer(&field_0x7d0) == 0 && mActionMode != ACTION_WEEK_HIT && field_0x7d1 == 2) { + if (mWeekCc.ChkTgHit() && mWeekCc.GetTgHitObj()->ChkAtType(AT_TYPE_HOOKSHOT)) { + speedF = 0.0f; + Z2GetAudioMgr()->changeBgmStatus(2); + field_0x560 = health; + field_0x7e8 = 0; + setActionMode(ACTION_WEEK_HIT, 0); + } + + mColliderStts.Move(); + } + } +} + +/* 805BCBD0-805BCBF4 001E50 0024+00 1/1 0/0 0/0 .text mTimerClr__8daB_DR_cFv */ +void daB_DR_c::mTimerClr() { + for (int i = 0; i < 4; i++) { + mTimer[i] = 0; + } +} + +/* 805BCBF4-805BCC18 001E74 0024+00 1/1 0/0 0/0 .text mCountClr__8daB_DR_cFv */ +void daB_DR_c::mCountClr() { + for (int i = 0; i < 4; i++) { + mCount[i] = 0; + } +} + +/* 805BCC18-805BCC4C 001E98 0034+00 12/12 0/0 0/0 .text mAllClr__8daB_DR_cFv */ +void daB_DR_c::mAllClr() { + mTimerClr(); + mCountClr(); +} + +/* 805BCC4C-805BCD7C 001ECC 0130+00 1/1 0/0 0/0 .text mHeadAngleSet__8daB_DR_cFv */ +void daB_DR_c::mHeadAngleSet() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz unused; + + if (field_0x7d6 == 0) { + s16 target_angle_y = -(cLib_targetAngleY(&field_0x760, &player->current.pos) - shape_angle.y); + s16 target_angle_x = -cLib_targetAngleX(&field_0x760, &player->current.pos); + + if (mActionMode != ACTION_PILLAR_WAIT) { + if (target_angle_y > 0x1000) { + target_angle_y = 0x1000; + } + if (target_angle_y < -0x1000) { + target_angle_y = -0x1000; + } + } else { + if (target_angle_y > 0x2000) { + target_angle_y = 0x2000; + } + if (target_angle_y < -0x2000) { + target_angle_y = -0x2000; + } + } + + if (target_angle_x > 0x1000) { + target_angle_x = 0x1000; + } + if (target_angle_x < -0x1000) { + target_angle_x = -0x1000; + } + + cLib_addCalcAngleS2(&mHeadAngle.y, target_angle_y, 8, 0x500); + cLib_addCalcAngleS2(&mHeadAngle.x, target_angle_x, 8, 0x500); + } else { + cLib_addCalcAngleS2(&mHeadAngle.y, 0, 8, 0x500); + cLib_addCalcAngleS2(&mHeadAngle.x, 0, 8, 0x500); + } +} + +/* 805BCD7C-805BCEA4 001FFC 0128+00 2/2 0/0 0/0 .text flapMove__8daB_DR_cFb */ +bool daB_DR_c::flapMove(bool param_0) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + f32 target_y = 2000.0f + NREG_F(1); + + if (field_0x7d1 == 1) { + target_y = 4000.0f + NREG_F(2); + if (target_y < player->current.pos.y) { + target_y = 1000.0f + player->current.pos.y; + } + } + + if (-1000000000.0f == mAcch.GetGroundH()) { + target_y += home.pos.y; + } else { + target_y += mAcch.GetGroundH(); + } + + if (fabsf(current.pos.y - target_y) > 300.0f && field_0x724 < 20.0f) { + field_0x724 = 20.0f; + } + + cLib_addCalc2(¤t.pos.y, target_y, 0.8f, field_0x724); + + if (!param_0) { + cLib_addCalc2(&field_0x724, 4.0f, 0.8f, 2.0f); + } + + if (fabsf(current.pos.y - target_y) < 100.0f) { + return true; + } + + return false; +} + +/* 805BCEA4-805BD05C 002124 01B8+00 3/3 0/0 0/0 .text revolutionMove__8daB_DR_cFv */ +bool daB_DR_c::revolutionMove() { + cXyz mae; + cXyz unused; + + if (NREG_S(0) != 0) { + OS_REPORT("\n\n"); + OS_REPORT("どこ? %d\n", mActionMode); + OS_REPORT("地面+高さ %f\n", mTargetHeight); + OS_REPORT("現在高さ %f\n", fabsf(mTargetHeight - current.pos.y)); + } + + arg0 = 1; + + if (fabsf(current.pos.y - mTargetHeight) > 100.0f) { + cLib_addCalc2(¤t.pos.y, mTargetHeight, 0.8f, 50.0f); + mae = current.pos - home.pos; + mae.y = 0.0f; + field_0x750 = 200; + field_0x74c = (mae.atan2sX_Z() & 0xF000) + 0x1000; + return false; + } + + cLib_addCalc0(&speed.y, 0.7f, 5.0f); + cMtx_YrotS(*calc_mtx, field_0x74c); + mae.x = 0.0f; + mae.y = 0.0f; + mae.z = 1500.0f; + MtxPosition(&mae, &field_0x7a8); + field_0x7a8 += home.pos; + field_0x7a8.y = mTargetHeight; + + mae = field_0x7a8 - current.pos; + mae.y = 0.0f; + + cLib_addCalcAngleS2(¤t.angle.y, (s16)mae.atan2sX_Z(), field_0x750, 0x400); + cLib_addCalcAngleS2(&field_0x750, 8, 10, 40); + shape_angle.y = current.angle.y; + + if (abs((s16)((s16)mae.atan2sX_Z() - shape_angle.y)) > 0x1000) { + return false; + } + + return true; +} + +/* 805BD05C-805BD15C 0022DC 0100+00 11/11 0/0 0/0 .text mPlayerHighCheck__8daB_DR_cFv */ +bool daB_DR_c::mPlayerHighCheck() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + dBgS_GndChk gndchk; + cXyz chk_pos; + + chk_pos.set(current.pos); + chk_pos.y += 300.0f; + gndchk.SetPos(&chk_pos); + field_0x734 = dComIfG_Bgsp().GroundCross(&gndchk); + + if (-1000000000.0f == field_0x734 || field_0x734 < 0.0f) { + field_0x734 = home.pos.y; + } + + if (field_0x734 + l_HIO.breath_attack_threshold <= player->current.pos.y) { + return true; + } + + return false; +} + +/* 805BD15C-805BD3E4 0023DC 0288+00 3/3 0/0 0/0 .text mBgFallGroundCheck__8daB_DR_cFv */ +bool daB_DR_c::mBgFallGroundCheck() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + dBgS_GndChk gndchk; + cXyz chkpos; + cXyz sp34; + + chkpos.set(current.pos); + chkpos.y += 300.0f; + gndchk.SetPos(&chkpos); + chkpos.y = dComIfG_Bgsp().GroundCross(&gndchk); + if (-1000000000.0f == chkpos.y) { + chkpos.y = home.pos.y; + } + if (chkpos.y < home.pos.y) { + chkpos.y = home.pos.y; + } + + if (!mAcch.ChkGroundHit() && !(80.0f + chkpos.y > current.pos.y)) { + return false; + } + + speed.y = 0.0f; + + if (current.pos.y < 80.0f + home.pos.y) { + current.pos.y = 80.0f + home.pos.y; + } + if (current.pos.y < 80.0f + chkpos.y) { + current.pos.y = 80.0f + chkpos.y; + } + + gravity = 0.0f; + + mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(15)); + mDoMtx_stack_c::multVecZero(&sp34); + sp34.y = field_0x734; + + cXyz size(l_HIO.model_size, l_HIO.model_size, l_HIO.model_size); + field_0x280c = dComIfGp_particle_setPolyColor(field_0x280c, 0x899F, mAcch.m_gnd, &sp34, &tevStr, &shape_angle, &size, 0, NULL, -1, NULL); + + if (mAnm == ANM_DR_BOOT_B || mAnm == ANM_DR_FALL_DOWN) { + mSound.startCreatureSound(Z2SE_EN_DR_LAND, 0, -1); + } + + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER7, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + mStatusONOFF(0); + + if (bitSw != 0xFF) { + fopAcM_offSwitch(this, bitSw); + } + + return true; +} + +/* 805BD3E4-805BD5FC 002664 0218+00 3/3 0/0 0/0 .text normalHoverMove__8daB_DR_cFv */ +void daB_DR_c::normalHoverMove() { + cXyz target_pos; + cXyz target_vec; + + target_pos.set(400.0f * cM_ssin(mCount[3] * field_0x752), 0.0f, 400.0f * cM_scos(mCount[3] * field_0x752)); + target_pos += home.pos; + target_pos.y = current.pos.y; + + cLib_addCalcPos(¤t.pos, target_pos, 0.4f, 5.0f, field_0x744); + cLib_addCalc2(&field_0x744, 1.0f, 0.3f, 0.1f); + + target_vec = target_pos - current.pos; + target_vec.y = 0.0f; + + if (target_vec.abs() < 100.0f) { + field_0x744 = 0.0f; + field_0x752 = 4096.0f + cM_rndFX(2048.0f); + mCount[3]++; + } +} + +/* 805BD5FC-805BD98C 00287C 0390+00 1/1 0/0 0/0 .text executeWait__8daB_DR_cFv */ +void daB_DR_c::executeWait() { + cXyz sp20; + cXyz sp14; + +#ifdef DEBUG + dDbVw_Report(30, 100, "wait tyuu No Attack Timer:%d ", mTimer[2]); +#endif + + bool temp_r27 = flapMove(0); + mHabatakiAnmSet(0); + + switch (mMoveMode) { + case 0: + mAllClr(); + mTimer[2] = l_HIO.no_attack_time; + field_0x750 = JREG_S(8) + 200; + mMoveMode++; + /* fallthrough */ + case 1: + sp20.set(home.pos); + sp20.y = current.pos.y; + cLib_addCalcPos(¤t.pos, sp20, 0.8f, 20.0f, 5.0f); + sp14 = sp20 - current.pos; + + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), 10, 0x800); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, field_0x750, 0x400); + cLib_addCalcAngleS2(&field_0x750, 8, 8, 20); + + if (daPy_getPlayerActorClass()->getDamageWaitTimer() == 0 && temp_r27 && sp14.abs() < 100.0f) { + if (mBreakPartsNo == 0) { + mStatusONOFF(1); + } + speed.y = 0.0f; + gravity = 0.0f; + mMoveMode++; + } + break; + case 2: + normalHoverMove(); + break; + } + + if (mBreakPartsNo == 1) { + if (dComIfGp_getPlayer(0)->current.pos.y < l_HIO.breath_attack_threshold) { + mStatusONOFF(0); + } else { + mStatusONOFF(1); + } + } + + cLib_addCalc0(&speedF, 0.8f, 10.0f); + cLib_addCalc0(&speed.y, 0.8f, 10.0f); + + if (mMoveMode == 2 && (cLib_calcTimer(&mTimer[2]) == 0 || dComIfGp_checkPlayerStatus0(0, 0x100))) { + if (mPlayerHighCheck()) { + setActionMode(ACTION_BREATH_ATTACK, 0); + } else if (field_0x7d1 != 0) { + setActionMode(ACTION_GLIDER_ATTACK, 0); + } else { + setActionMode(ACTION_WIND_ATTACK, 0); + } + } +} + +/* 805BD98C-805BDBC4 002C0C 0238+00 1/1 0/0 0/0 .text executeFlyWait__8daB_DR_cFv */ +void daB_DR_c::executeFlyWait() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz sp8; + +#ifdef DEBUG + if (mMoveMode > 1) { + if (mTimer[2] != 0) { + dDbVw_Report(30, 100, "wait tyuu No Attack Timer:%d ", mTimer[2]); + } + } else { + dDbVw_Report(30, 100, "JYOU SYOU TYU "); + } +#endif + + cLib_addCalc0(&speedF, 0.8f, 10.0f); + mHabatakiAnmSet(0); + + switch (mMoveMode) { + case 0: + mWeekCc.OffTgSetBit(); + mStatusONOFF(0); + mAllClr(); + + field_0x724 = 0.0f; + if (revolutionMove()) { + field_0x750 = JREG_S(8) + 200; + mTimer[2] = l_HIO.no_attack_no_armor_time; + mMoveMode = 2; + } else { + mMoveMode = 1; + } + break; + case 1: + if (!revolutionMove()) { + break; + } + + field_0x750 = JREG_S(8) + 200; + mTimer[2] = l_HIO.no_attack_no_armor_time; + mpModelMorf->setPlaySpeed(1.0f); + mMoveMode = 2; + // fallthrough + case 2: + field_0x7d6 = 0; + normalHoverMove(); + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), field_0x750, 0x200); + + sp8.set(home.pos); + sp8.y = current.pos.y; + cLib_addCalcPos(¤t.pos, sp8, 0.8f, 20.0f, 5.0f); + + if (mTargetHeight < player->current.pos.y || mPlayerHighCheck()) { + setActionMode(ACTION_BREATH_ATTACK, 0); + return; + } + if (cLib_calcTimer(&mTimer[2]) == 0) { + setActionMode(ACTION_GLIDER_ATTACK, 0); + return; + } + } + + if (mMoveMode < 10) { + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, field_0x750, 0x400); + } else { + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, field_0x750, 0x200); + } + + cLib_addCalcAngleS2(&field_0x750, 8, 10, 20); +} + +/* 805BDBC4-805BE9B4 002E44 0DF0+00 1/1 0/0 0/0 .text executeTailHit__8daB_DR_cFv */ +void daB_DR_c::executeTailHit() { + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + cXyz mae; + cXyz ato; + +#ifdef DEBUG + if (mTimer[0] != 0) { + if (mMoveMode < 13) { + dDbVw_Report(30, 100, "Tail Hit chance Timer:%d ", mTimer[0]); + } else { + dDbVw_Report(30, 100, "wait tyuu:%d ", mTimer[0]); + } + } +#endif + + bool sp10 = mPlayerHighCheck(); + if (daPy_getPlayerActorClass()->getDamageWaitTimer() != 0) { + dMw_onPauseWindow(); + if (field_0x7d1 != 2) { + field_0x724 = 50.0f; + setActionMode(ACTION_WAIT, 0); + } else { + setActionMode(ACTION_FLY_WAIT, 0); + } + return; + } + + if ((mMoveMode == 0 || mMoveMode == 1) && current.pos.y < (1000.0f + l_HIO.breath_attack_threshold)) { + cLib_addCalc2(¤t.pos.y, 1000.0f + l_HIO.breath_attack_threshold, 0.7f, 20.0f); + } + + switch (mMoveMode) { + case 0: + if (mAnm != ANM_DR_HOVERING) { + setBck(ANM_DR_HOVERING, 2, 10.0f, 1.0f); + } + + mAllClr(); + dMw_offPauseWindow(); + speedF = 0.0f; + + if (dComIfGp_checkPlayerStatus1(0, 0x10000)) { + field_0x728 = 0.0f; + mTimer[0] = l_HIO.tail_hit_chance_time; + mMoveMode++; + } + break; + case 1: + if (cLib_calcTimer(&mTimer[0]) != 0) { + if (dComIfGp_checkPlayerStatus1(0, 0x10000)) { + if (player->checkBootsOrArmorHeavy()) { + field_0x7d6 = 1; + if (mBreakPartsNo == 0) { + mTimer[0] = 0; + setActionMode(ACTION_DAMAGE_DEMO, 0); + return; + } + + if (bitSw != 0xFF) { + fopAcM_onSwitch(this, bitSw); + } + + if (mAnm != ANM_DR_BOOT_A) { + setBck(ANM_DR_BOOT_A, 0, 10.0f, 1.0f); + } + + mTimer[0] = 0; + mMoveMode = 10; + } + } else { + mTimer[0] = 0; + } + } else { + if (bitSw != 0xFF) { + fopAcM_offSwitch(this, bitSw); + } + + setBck(ANM_DR_SHAKEA, 0, 20.0f, 1.0f); + mMoveMode++; + } + break; + case 2: + if ((int)mpModelMorf->getFrame() < 28) { + if (player->checkBootsOrArmorHeavy() && dComIfGp_checkPlayerStatus1(0, 0x10000)) { + field_0x7d6 = 1; + if (mBreakPartsNo == 0) { + setActionMode(ACTION_DAMAGE_DEMO, 0); + return; + } + + if (bitSw != 0xFF) { + fopAcM_onSwitch(this, bitSw); + } + + field_0x7d7 = 0; + if (mAnm != ANM_DR_BOOT_A) { + setBck(ANM_DR_BOOT_A, 0, 10.0f, 1.0f); + } + + mMoveMode = 10; + } + } else { + if (mpModelMorf->checkFrame(28)) { + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 0x4F, cXyz(0.0f, 1.0f, 0.0f)); + } + + if (dComIfGp_checkPlayerStatus1(0, 0x10000)) { + fopAcM_cancelHookCarryNow(this); + } + + if (mpModelMorf->isStop()) { + dMw_onPauseWindow(); + + if (field_0x7d1 != 2) { + if (field_0x7d1 != 0) { + setActionMode(ACTION_GLIDER_ATTACK, 0); + } else { + setActionMode(ACTION_WIND_ATTACK, 0); + } + } else { + field_0x750 = JREG_S(8) + 200; + setActionMode(ACTION_FLY_WAIT, 0); + } + } + } + break; + case 10: + mStatusONOFF(0); + dComIfGs_onZoneSwitch(22, fopAcM_GetRoomNo(this)); + + if (mBreakPartsNo == 0) { + dCam_getBody()->SetTrimTypeForce(2); + } + + if (!mpModelMorf->isStop()) { + break; + } + + setBck(ANM_DR_BOOT_B, 2, 3.0f, 1.0f); + mBgFallGroundCheck(); + mMoveMode++; + case 11: + if (mBreakPartsNo == 0) { + dCam_getBody()->SetTrimTypeForce(2); + } + + field_0x728 += l_HIO.fall_accel; + if (field_0x728 >= l_HIO.fall_accel_max) { + field_0x728 = l_HIO.fall_accel_max; + } + + cLib_addCalc2(¤t.pos.y, field_0x734, 0.8f, field_0x728); + cLib_addCalc2(¤t.pos.x, home.pos.x, 0.8f, 8.0f); + cLib_addCalc2(¤t.pos.z, home.pos.z, 0.8f, 8.0f); + + mAcch.SetWallNone(); + mAcch.SetGroundUpY(75.0f); + mAcch.CrrPos(dComIfG_Bgsp()); + + if (player->getFootOnGround() || player->current.pos.y < 10.0f + field_0x734) { + mSound.startCreatureSound(Z2SE_EN_DR_LAND, 0, -1); + + if (mBreakPartsNo != 0) { + Z2GetAudioMgr()->bgmStop(0x1E, 0); + } + + shape_angle.x = 0; + mBoot_c_trance.zero(); + + if (bitSw != 0xFF) { + fopAcM_offSwitch(this, bitSw); + } + + mStatusONOFF(0); + + if (mBreakPartsNo == 0) { + mTimer[0] = 0; + setActionMode(ACTION_DAMAGE_DEMO, 10); + return; + } + + mBreakPartsNo++; + mTailCc.OffTgSetBit(); + mMoveMode++; + } + break; + case 12: + if (startDemoCheck()) { + shape_angle.y = current.angle.y = home.angle.y; + current.pos.x = home.pos.x; + current.pos.z = home.pos.z; + + setBck(ANM_DR_IMPACT, 0, 3.0f, 1.0f); + mMoveMode++; + } + break; + case 13: + if (mAnm == ANM_DR_BOOT_C) { + if ((int)mpModelMorf->getFrame() >= 34) { + cLib_addCalc2(&mDemoCamCenter.y, player->current.pos.y, 0.7f, 150.0f); + } + + if (mpModelMorf->isStop()) { + setBck(ANM_DR_DOWN_WAIT, 2, 3.0f, 1.0f); + mTimer[0] = 35; + } + } + + if (mAnm == ANM_DR_IMPACT && mpModelMorf->isStop()) { + setBck(ANM_DR_BOOT_C, 0, 3.0f, 1.0f); + gravity = -1.0f; + } + + if (!mBgFallGroundCheck()) { + break; + } + + dMw_onPauseWindow(); + mMoveMode++; + case 14: + if (mAnm == ANM_DR_BOOT_C) { + if ((int)mpModelMorf->getFrame() >= 34) { + cLib_addCalc2(&mDemoCamCenter.y, player->current.pos.y, 0.7f, 150.0f); + } + if (!mpModelMorf->isStop()) { + break; + } + } + + if (mAnm != ANM_DR_DOWN_WAIT) { + setBck(ANM_DR_DOWN_WAIT, 2, 3.0f, 1.0f); + mTimer[0] = 35; + } + + if (cLib_calcTimer(&mTimer[0]) != 0) { + break; + } + + mMoveMode++; + case 15: + ato = current.pos + mBoot_c_trance; + parentActorID = fopAcM_createChild(PROC_B_DRE, fopAcM_GetID(this), 1, &ato, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL); + + Z2GetAudioMgr()->subBgmStart(Z2BGM_DRAGON_D02); + dComIfGs_onZoneSwitch(23, fopAcM_GetRoomNo(this)); + field_0x7e0 = 0; + mTimer[0] = BREG_S(3) + 100; + mMoveMode = 1000; + break; + case 20: + if (mAnm == ANM_DR_DOWN_WAIT && cLib_calcTimer(&mTimer[0]) == 0) { + dMw_onPauseWindow(); + mTargetHeight = 6000.0f + home.pos.y; + setBck(ANM_DR_TAKE_OFF, 0, 10.0f, 1.0f); + field_0x724 = 50.0f; + mMoveMode++; + } + break; + case 21: + if (mAnm == ANM_DR_TAKE_OFF) { + if (mpModelMorf->getFrame() >= 27.0f) { + field_0x7d7 = 0; + mBoot_c_tranceSet(1); + + if (field_0x7d1 != 2) { + flapMove(1); + } else { + revolutionMove(); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 8, 0x400); + } + } + } + /* fallthrough */ + case 100: + if (mAnm != ANM_DR_HOVERING) { + if (!mpModelMorf->isStop()) { + break; + } + + dMw_onPauseWindow(); + setBck(ANM_DR_HOVERING, 2, 10.0f, 1.0f); + + if (mPlayerHighCheck() != 0) { + setActionMode(ACTION_BREATH_ATTACK, 0); + } else { + setActionMode(ACTION_GLIDER_ATTACK, 0); + } + } + + if (WREG_S(1) != 0) { + setActionMode(ACTION_WIND_ATTACK, 0); + } + break; + case 1000: + mMoveMode = 10000; + /* fallthrough */ + case 10000: + if (cLib_calcTimer(&mTimer[0]) == 0) { + arg0 = 0xFE; + } + break; + } + + if (mMoveMode >= 12 && mMoveMode <= 14) { + if (mAnm != ANM_DR_BOOT_C && mAnm != ANM_DR_DOWN_WAIT) { + ato.set(home.pos); + ato.y += 1200.0f + JREG_F(10); + mDemoCamCenter.set(ato); + } else { + ato.set(-1500.0f, 0.0f, -1500.0f); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&ato, -0x8000, 0); + } + + cMtx_YrotS(*calc_mtx, shape_angle.y - (JREG_S(8) + 0x1000)); + mae.x = 0.0f; + mae.y = 200.0f + JREG_F(11); + mae.z = 1000.0f + JREG_F(12); + MtxPosition(&mae, &ato); + mDemoCamEye = (ato + current.pos) + mBoot_c_trance; + + daPy_getPlayerActorClass()->onBossRoomWait(); + camera->mCamera.Set(mDemoCamCenter, mDemoCamEye); + } + + if (mMoveMode != 1000 && mAnm == ANM_DR_BOOT_C) { + if (mpModelMorf->checkFrame(45.0f)) { + field_0x7e0 = 0; + mSound.startCreatureSound(Z2SE_EN_DR_CRASH, 0, -1); + } + + mBoot_c_tranceSet(0); + + if ((int)mpModelMorf->getFrame() >= 45) { + chkPartCreate(0); + } + } + + if (mMoveMode >= 10 && mMoveMode <= 11) { + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), 40, 0x200); + shape_angle.y = current.angle.y; + } + + if (mMoveMode <= 11) { + cXyz offset; + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::inverse(); + mDoMtx_stack_c::multVec(&eyePos, &offset); + daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &offset); + } +} + +/* 805BE9B4-805BF4C8 003C34 0B14+00 1/1 0/0 0/0 .text executeWeekHit__8daB_DR_cFv */ +void daB_DR_c::executeWeekHit() { + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + cXyz sp50; + +#ifdef DEBUG + if (mTimer[2] != 0) { + dDbVw_Report(30, 100, "week HIT chance Timer:%d ", mTimer[2]); + } + if (mTimer[0] != 0) { + dDbVw_Report(30, 100, "wait tyuu:%d ", mTimer[0]); + } +#endif + + switch (mMoveMode) { + case 0: + setBck(ANM_DR_CATCH, 0, 7.0f, 1.0f); + + if (bitSw2 != 0xFF) { + fopAcM_onSwitch(this, bitSw2); + } + + mAllClr(); + + mCount[0] = cM_rndF(2.0f); + mCount[1] = 0; + mTimer[2] = l_HIO.back_hit_chance_time; + field_0x7d0 = 0; + field_0x7d6 = 1; + mMoveMode++; + /* fallthrough */ + case 1: + if (cLib_calcTimer(&mTimer[2]) == 0) { + setBck(ANM_DR_SHAKEB, 0, 10.0f, 1.0f); + Z2GetAudioMgr()->changeBgmStatus(1); + mMoveMode = 100; + field_0x744 = 0.0f; + break; + } else { + if (mCount[1] == 0 && player->checkDragonHangRide()) { + setBck(ANM_DR_RIDE, 0, 3.0f, 1.0f); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER2, 0x4F, cXyz(0.0f, 1.0f, 0.0f)); + mCount[1] = 1; + } + + if ((mAnm == ANM_DR_RIDE || mAnm == ANM_DR_DAMAGE_L || mAnm == ANM_DR_DAMAGE_R || mAnm == ANM_DR_CATCH) && mpModelMorf->isStop()) { + setBck(ANM_DR_HOVERING_B, 2, 3.0f, 1.0f); + } + + if (!checkCutDownHitFlg() || cLib_calcTimer(&field_0x7d0) != 0) { + break; + } + + offCutDownHitFlg(); + field_0x7d0 = 4; + + mSound.startCreatureExtraSound(Z2SE_EN_DR_CORE_HIT, 0, -1); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + + if (player->checkNormalSwordEquip()) { + health--; + if (player->getSwordAtUpTime()) { + health--; + } + } else if (player->checkMasterSwordEquip()) { + health -= 2; + if (player->getSwordAtUpTime()) { + health -= 2; + } + } + + field_0x7e8++; + mTimer[2] = l_HIO.back_hit_chance_time; + + mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(15)); + mDoMtx_stack_c::multVecZero(&sp50); + dComIfGp_particle_set(0x8999, &sp50, NULL, NULL); + dComIfGp_particle_set(0x899A, &sp50, NULL, NULL); + + if (health <= 0 || player->getCutType() == 0x20) { + health = 0; + mSound.startCollisionSE(Z2SE_HIT_SWORD, 0x20); + + gravity = -1.0f; + setBck(ANM_DR_DAMAGE_LAST, 0, 3.0f, 1.0f); + mTimer[2] = 0; + + if (bitSw2 != 0xFF) { + fopAcM_offSwitch(this, bitSw2); + } + if (bitSw3 != 0xFF) { + fopAcM_onSwitch(this, bitSw3); + } + + Z2GetAudioMgr()->bgmStop(0x1E, 0); + Z2GetAudioMgr()->bgmStreamPrepare(0x2000049); + Z2GetAudioMgr()->bgmStreamPlay(); + + cXyz sp44(current.pos); + sp44.z = 0.0f; + sp44.x = 0.0f; + + parentActorID = fopAcM_createChild(PROC_B_DRE, fopAcM_GetID(this), 0, &sp44, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL); + mTimer[0] = BREG_S(3) + 20; + mMoveMode = 1000; + return; + } + + if (field_0x7e8 >= 4) { + mSound.startCollisionSE(Z2SE_HIT_SWORD, 0x20); + + if (bitSw2 != 0xFF) { + fopAcM_offSwitch(this, bitSw2); + } + if (bitSw3 != 0xFF) { + fopAcM_onSwitch(this, bitSw3); + } + + if (health <= 8) { + onDownFlg(); + } + + gravity = -1.0f; + setBck(ANM_DR_DAMAGE_LAST, 0, 3.0f, 1.0f); + mTimer[2] = 0; + Z2GetAudioMgr()->changeBgmStatus(1); + dComIfGs_onZoneSwitch(0x19, fopAcM_GetRoomNo(this)); + mMoveMode++; + } else { + if (mCount[0] == 0) { + setBck(ANM_DR_DAMAGE_L, 0, 3.0f, 1.0f); + } else { + setBck(ANM_DR_DAMAGE_R, 0, 3.0f, 1.0f); + } + + mCount[0]++; + mCount[0] &= 1; + + mSound.startCollisionSE(Z2SE_HIT_SWORD, 0x1F); + } + break; + } + case 2: + if (mAnm == ANM_DR_DAMAGE_LAST && mpModelMorf->isStop()) { + setBck(ANM_DR_FALL, 2, 3.0f, 1.0f); + } + + if (current.pos.y < 870.0f && mAnm != ANM_DR_FALL_DOWN) { + player->cancelDragonHangBackJump(); + gravity = -13.0f; + setBck(ANM_DR_FALL_DOWN, 0, 10.0f, 1.0f); + } + + if (mBgFallGroundCheck()) { + if (bitSw3 != 0xFF) { + fopAcM_offSwitch(this, bitSw3); + } + if (mAnm != ANM_DR_FALL_DOWN) { + setBck(ANM_DR_FALL_DOWN, 0, 10.0f, 1.0f); + } + mMoveMode++; + } + break; + case 3: + if (mAnm == ANM_DR_FALL_DOWN && mpModelMorf->isStop()) { + setBck(ANM_DR_DOWN_WAIT, 2, 10.0f, 1.0f); + field_0x7d7 = 1; + mTimer[0] = 35; + } + + if (mAnm == ANM_DR_DOWN_WAIT && cLib_calcTimer(&mTimer[0]) == 0) { + setBck(ANM_DR_TAKE_OFF, 0, 10.0f, 1.0f); + field_0x724 = 50.0f; + mMoveMode++; + } + break; + case 4: + if (mAnm == ANM_DR_TAKE_OFF) { + if (mpModelMorf->getFrame() >= 27.0f) { + revolutionMove(); + field_0x7d7 = 0; + } + } + + if (mAnm != ANM_DR_HOVERING) { + if (!mpModelMorf->isStop()) { + break; + } + setBck(ANM_DR_HOVERING, 2, 10.0f, 1.0f); + } + + if (mPlayerHighCheck()) { + setActionMode(ACTION_BREATH_ATTACK, 0); + } else { + setActionMode(ACTION_FLY_WAIT, 0); + } + break; + case 100: + if (mpModelMorf->checkFrame(30.0f)) { + player->cancelOctaIealHang(); + dComIfGp_getVibration().StartShock(VIBMODE_S_POWER5, 0x4F, cXyz(0.0f, 1.0f, 0.0f)); + + if (bitSw2 != 0xFF) { + fopAcM_offSwitch(this, bitSw2); + } + if (bitSw3 != 0xFF) { + fopAcM_offSwitch(this, bitSw3); + } + } + + if (mpModelMorf->isStop()) { + setBck(ANM_DR_HOVERING, 2, 10.0f, 1.0f); + setActionMode(ACTION_FLY_WAIT, 0); + } + break; + case 1000: + if (cLib_calcTimer(&mTimer[0]) == 0) { + dComIfGs_onEventBit(dSv_event_flag_c::F_0268); + dComIfGs_onStageBossEnemy(0x16); + fopAcM_onSwitch(this, 0x38); + fopAcM_delete(this); + } + break; + } + + cXyz offset; + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::inverse(); + mDoMtx_stack_c::multVec(&eyePos, &offset); + daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &offset); +} + +/* 805C7974-805C7978 0000BC 0004+00 2/2 0/0 0/0 .bss None */ +static u8 data_805C7974; + +/* 805BF4C8-805BF768 004748 02A0+00 2/2 0/0 0/0 .text mBreathSet__8daB_DR_cFv */ +void daB_DR_c::mBreathSet() { + cXyz mae; + cXyz ato; + + cLib_addCalc2(&field_0x72c, 50.0f, 0.7f, 4.0f); + data_805C7974 = field_0x72c; + + csXyz sp1C(shape_angle); + for (int i = 0; i < 4; i++) { + static u16 effId[] = {0x899B, 0x899C, 0x899D, 0x899E}; + field_0x27dc[i] = dComIfGp_particle_set(field_0x27dc[i], effId[i], &field_0x760, &sp1C, NULL); + + JPABaseEmitter* emitter_p = dComIfGp_particle_getEmitter(field_0x27dc[i]); + if (emitter_p != NULL) { + emitter_p->setGlobalSRTMatrix(mpModelMorf->getModel()->getAnmMtx(0x13)); + + cMtx_YrotS(*calc_mtx, fopAcM_searchPlayerAngleY(this)); + mae.x = 0.0f; + mae.y = 0.0f; + mae.z = 2200.0f; + MtxPosition(&mae, &ato); + ato += field_0x790; + field_0x784.set(ato); + + mSound.startCreatureVoiceLevel(Z2SE_EN_DR_V_FIRE, -1); + mSound2.startCreatureSoundLevel(Z2SE_EN_DR_V_FIRE, 0, -1); + } + } + + if (cLib_calcTimer(&mTimer[1]) == 0) { + if (mActionMode == ACTION_BREATH_ATTACK2) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + ato = field_0x778 - field_0x760; + sp1C.y = ato.atan2sX_Z(); + } + + sp1C.x = NREG_S(8) - 1000; + mTimer[1] = 3; + fopAcM_createChild(PROC_B_DR, fopAcM_GetID(this), 10, &field_0x760, fopAcM_GetRoomNo(this), &sp1C, NULL, -1, NULL); + } +} + +/* 805BF768-805BFA6C 0049E8 0304+00 1/1 0/0 0/0 .text mBreathHighSet__8daB_DR_cFb */ +bool daB_DR_c::mBreathHighSet(bool param_0) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz mae; + cXyz ato; + + if (param_0 == 0) { + mHabatakiAnmSet(mActionMode); + if (mAnm != ANM_DR_HOVERING) { + return false; + } + } + + cMtx_YrotS(*calc_mtx, fopAcM_searchPlayerAngleY(this)); + mae.x = 0.0f; + mae.y = 1200.0f; + mae.z = 1200.0f; + MtxPosition(&mae, &ato); + + if (mActionMode != ACTION_BREATH_ATTACK2) { + field_0x7a8.x = ato.x + home.pos.x; + field_0x7a8.y = player->current.pos.y + BREG_F(7); + field_0x7a8.z = ato.z + home.pos.z; + } else { + field_0x7a8.x = home.pos.x; + if (player->current.pos.y >= 0.0f) { + field_0x7a8.y = (player->current.pos.y - 200.0f) + BREG_F(7); + } else { + field_0x7a8.y = 0.0f; + } + field_0x7a8.z = home.pos.z; + } + + if (param_0 == 0) { + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), field_0x750, 0x800); + cLib_addCalcAngleS2(&field_0x750, 4, 4, 40); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 8, 0x300); + } + + cLib_addCalcPos(¤t.pos, field_0x7a8, 0.8f, l_HIO.breath_move_speed_max, l_HIO.breath_move_speed_min); + + ato = field_0x7a8 - current.pos; + if (ato.abs() < 100.0f && fabsf(field_0x7a8.y - current.pos.y) < 40.0f && (param_0 || abs((s16)(shape_angle.y - fopAcM_searchPlayerAngleY(this))) < 0x200)) { + return true; + } + + return false; +} + +/* 805BFA6C-805BFD88 004CEC 031C+00 1/1 0/0 0/0 .text mFeintBreath__8daB_DR_cFv */ +bool daB_DR_c::mFeintBreath() { + s16 temp_r30 = field_0x754; + + switch (field_0x718) { + case 0: + mTimer[2] = l_HIO.breath_feint1_time; + field_0x718++; + /* fallthrough */ + case 1: + if (cLib_calcTimer(&mTimer[2]) == 0) { + setBck(ANM_DR_FEINT_A, 0, 3.0f, 1.0f); + mTimer[2] = l_HIO.breath_feint2_time; + field_0x718++; + } else { + mBreathSet(); + + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), l_HIO.body_search2_speed, l_HIO.body_search_speed_max); + field_0x756 = current.angle.y - shape_angle.y; + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 4, 0x400); + field_0x754 = current.angle.y; + } + break; + case 2: + if (mAnm == ANM_DR_FEINT_A && mpModelMorf->isStop()) { + setBck(ANM_DR_FEINT_B, 2, 3.0f, 1.0f); + } + + if (cLib_calcTimer(&mTimer[2]) == 0) { + field_0x718++; + } else { + if (field_0x756 > 0) { + temp_r30 += (s16)(l_HIO.feint_angle * 0xB6); + } else { + temp_r30 -= (s16)(l_HIO.feint_angle * 0xB6); + } + + if (abs((s16)(current.angle.y - temp_r30)) > 0x100) { + cLib_addCalcAngleS2(¤t.angle.y, temp_r30, 1, l_HIO.body_search_feint_speed_max); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 2, 0x800); + } else { + mTimer[2] = 0; + } + } + break; + case 3: + if (mAnm == ANM_DR_FEINT_B && (int)mpModelMorf->getFrame() >= 23) { + setBck(ANM_DR_FEINT_C, 0, 3.0f, 1.0f); + field_0x718++; + } + break; + case 4: + if (mpModelMorf->isStop()) { + setBck(ANM_DR_FIREB, 2, 3.0f, 1.0f); + mTimer[2] = l_HIO.breath_feint3_time; + field_0x718++; + } + break; + case 5: + break; + } + + if (field_0x718 < 5) { + return false; + } + + return true; +} + +/* 805BFD88-805C062C 005008 08A4+00 1/1 0/0 0/0 .text executeBreathAttack__8daB_DR_cFv */ +void daB_DR_c::executeBreathAttack() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz sp1C; + cXyz sp10; + + s16 var_r28 = 0; + s16 spC = 10; + s16 spA = 0; + bool sp8 = false; + +#ifdef DEBUG + if (mTimer[3] != 0) { + if (mMoveMode < 100) { + dDbVw_Report(30, 100, "Breath tyuu No Attack Timer:%d ", mTimer[3]); + } else { + dDbVw_Report(30, 100, "Breath after chance timer:%d ", mTimer[3]); + } + } + + if (mTimer[2] != 0) { + dDbVw_Report(30, 130, "Breath Timer:%d ", mTimer[2]); + } +#endif + + if ((daPy_getPlayerActorClass()->getDamageWaitTimer() != 0 || !mPlayerHighCheck()) && (mMoveMode == 4 || mMoveMode == 20)) { + mStatusONOFF(0); + mAllClr(); + mMoveMode = 10; + setBck(ANM_DR_FIREC, 0, 3.0f, 1.0f); + return; + } + + cLib_addCalc0(&speedF, 0.5f, 2.0f); + cLib_addCalc0(&speed.y, 0.5f, 2.0f); + + switch (mMoveMode) { + case 0: + mAllClr(); + gravity = 0.0f; + field_0x750 = 200; + if (dComIfGp_checkPlayerStatus1(0, 0x2000000)) { + mTimer[3] = l_HIO.unk_0x4c; + } + mMoveMode++; + /* fallthrough */ + case 1: + mBreathHighSet(0); + if (cLib_calcTimer(&mTimer[3]) != 0) { + if (mAnm == ANM_DR_HOVERING && field_0x7d1 != 2) { + mStatusONOFF(1); + } + break; + } + + mMoveMode++; + case 2: + sp8 = mBreathHighSet(0); + if (mAnm == ANM_DR_HOVERING) { + if (field_0x7d1 != 2) { + mStatusONOFF(1); + } + if ((int)mpModelMorf->getFrame() >= 33 && sp8) { + setBck(ANM_DR_FIREA, 0, 3.0f, 1.0f); + mMoveMode++; + } + } + break; + case 3: + mBreathHighSet(1); + if (!mpModelMorf->isStop()) { + break; + } + + if (field_0x7d1 != 2 || mTargetHeight > player->current.pos.y || dComIfGp_checkPlayerStatus1(0, 0x2000000)) { + mTimer[2] = l_HIO.breath_continue_time; + } else { + mTimer[2] = l_HIO.breath_continue_no_armor_time; + if (health <= 8) { + mTimer[2] = l_HIO.breath_feint1_time; + } + mActionMode = ACTION_BREATH_ATTACK2; + } + + if (BREG_S(0) != 0) { + mTimer[2] = 10; + } + + field_0x72c = 0.0f; + setBck(ANM_DR_FIREB, 2, 3.0f, 1.0f); + mMoveMode++; + mCount[3] = 0; + field_0x718 = 0; + + if (l_HIO.breath_feint2_OFF) { + mMoveMode = 20; + } + case 20: + case 4: + mBreathHighSet(1); + + if (mActionMode == ACTION_BREATH_ATTACK2) { + var_r28 = -(cLib_targetAngleY(&field_0x760, &player->current.pos) - shape_angle.y); + if (var_r28 > 0x2000) { + var_r28 = 0x2000; + } + if (var_r28 < -0x2000) { + var_r28 = -0x2000; + } + + if (health <= 0x10) { + spC = l_HIO.neck_search2_speed; + spA = l_HIO.body_search2_speed; + } else { + spC = l_HIO.neck_search_speed; + spA = l_HIO.body_search_speed; + } + + if (mMoveMode == 20 && mActionMode == ACTION_BREATH_ATTACK2 && health <= 8 && !mFeintBreath()) { + break; + } + + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), spA, l_HIO.body_search_speed_max); + field_0x756 = current.angle.y - shape_angle.y; + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 4, 0x400); + + if (mTargetHeight - 300.0f > player->current.pos.y) { + mTimer[2] = 0; + } + } + + if (mAnm == ANM_DR_FIREB) { + mBreathSet(); + } + case 9: + if (cLib_calcTimer(&mTimer[2]) == 0 && (int)mpModelMorf->getFrame() >= 48) { + setBck(ANM_DR_FIREC, 0, 3.0f, 1.0f); + mMoveMode = 10; + } + break; + case 10: + mBreathHighSet(1); + + if (!mpModelMorf->isStop()) { + cLib_addCalcAngleS2(&mHeadAngle.y, 0, 100, 0x200); + } else if (mActionMode == ACTION_BREATH_ATTACK2 && field_0x7d1 == 2 && mTargetHeight < player->current.pos.y) { + setBck(ANM_DR_FIRED, 2, 10.0f, 1.0f); + mTimer[3] = l_HIO.after_breath_chance_time; + mWeekCc.OnTgSetBit(); + mStatusONOFF(1); + mMoveMode = 100; + } else { + setBck(ANM_DR_FIREE, 0, 3.0f, 1.0f); + mMoveMode++; + } + break; + case 11: + if (!mpModelMorf->isStop()) { + break; + } + + setBck(ANM_DR_HOVERING, 2, 3.0f, 1.0f); + mMoveMode++; + case 12: + field_0x724 = 20.0f; + field_0x7d6 = 1; + + if (!mPlayerHighCheck()) { + if (field_0x7d1 != 2) { + field_0x724 = 100.0f; + if (field_0x7d1 != 0) { + setActionMode(ACTION_WAIT, 0); + } else { + setActionMode(ACTION_WIND_ATTACK, 0); + } + } else { + field_0x750 = JREG_S(8) + 200; + setActionMode(ACTION_FLY_WAIT, 0); + } + return; + } + + if (field_0x7d1 != 2) { + mStatusONOFF(1); + } + + if (field_0x7d1 != 2) { + mTimer[3] = l_HIO.no_attack_time; + } else { + mTimer[3] = l_HIO.no_attack_no_armor_time; + } + mMoveMode = 1; + break; + case 100: + mBreathHighSet(1); + + if (BREG_S(7) != 0) { + mTimer[3] = 1000; + } + + attention_info.flags |= 4; + + if (cLib_calcTimer(&mTimer[3]) != 0 && mTargetHeight - 300.0f < player->current.pos.y) { + if (abs((s16)(fopAcM_searchPlayerAngleY(this) - shape_angle.y)) < ZREG_S(0) + 0x5000) { + mWeekCc.OffTgSetBit(); + attention_info.flags &= ~0x4; + } else { + mWeekCc.OnTgSetBit(); + if (mTarget != 0 || (dComIfGp_getAttention().GetLockonList(0) != NULL && dComIfGp_getAttention().LockonTruth() && dComIfGp_getAttention().GetLockonList(0)->getActor() == this)) { + mTarget = 0; + } else { + attention_info.flags &= ~0x4; + mTarget = 0; + } + } + } else { + mWeekCc.OffTgSetBit(); + mStatusONOFF(0); + setBck(ANM_DR_FIREE, 0, 3.0f, 1.0f); + mMoveMode = 11; + } + break; + } + + cLib_addCalcAngleS2(&mHeadAngle.x, 0, 100, 0x200); + cLib_addCalcAngleS2(&mHeadAngle.y, var_r28, spC, l_HIO.neck_search_speed_max); + + if (mMoveMode < 9 && !mPlayerHighCheck()) { + if (mAnm == ANM_DR_FIREB) { + mTimer[2] = 0; + mMoveMode = 9; + } else { + mMoveMode = 12; + } + } +} + +/* 805C062C-805C0CAC 0058AC 0680+00 1/1 0/0 0/0 .text executeWindAttack__8daB_DR_cFv */ +void daB_DR_c::executeWindAttack() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz sp30; + cXyz sp24; + + bool sp8 = 0; + +#ifdef DEBUG + dDbVw_Report(30, 100, "normal Timer:%d center Timer:%d ", mTimer[1], mTimer[2]); +#endif + + if (mAnm != ANM_DR_FLAP) { + mHabatakiAnmSet(mActionMode); + } + + cLib_addCalc0(&speedF, 0.5f, 5.0f + WREG_F(7)); + cLib_addCalc0(&speed.y, 0.5f, 5.0f); + + switch (mMoveMode) { + case 0: + field_0x7d6 = 0; + mAllClr(); + + field_0x7b4.set(player->current.pos); + if (field_0x7b4.z < 0.0f) { + field_0x7b4.z = 3000.0f; + } else { + field_0x7b4.z = -3000.0f; + } + + gravity = 0.0f; + field_0x750 = 400; + mMoveMode++; + /* fallthrough */ + case 1: + field_0x7a8.set(home.pos); + cLib_addCalcPos(¤t.pos, field_0x7a8, 0.8f, 40.0f, 20.0f); + sp30 = field_0x7a8 - current.pos; + sp30.y = 0.0f; + + if (!(sp30.abs() > 1000.0f)) { + mMoveMode++; + case 2: + normalHoverMove(); + } + break; + } + + if (mMoveMode == 2 && mPlayerHighCheck() && !daPy_getPlayerActorClass()->getDamageWaitTimer()) { + setActionMode(ACTION_BREATH_ATTACK, 0); + return; + } + + if (dComIfGp_checkPlayerStatus0(0, 0x100)) { + mCount[1] = 0; + mTimer[1] = 0; + mCount[2] = 0; + mTimer[2] = 0; + setActionMode(ACTION_GLIDER_ATTACK, 0); + return; + } + + sp24 = home.pos - player->current.pos; + sp24.y = 0.0f; + + if (mAnm == ANM_DR_FLAP) { + if (sp24.abs() > 100.0f + l_HIO.wind_large_attack_lockon_range) { + mpModelMorf->setPlaySpeed(1.0f); + + mCount[2] = 0; + mTimer[2] = 0; + if (mCount[1] == 0 && mTimer[1] == 0) { + mTimer[1] = l_HIO.unk_0x48; + mCount[1] = 1; + if (WREG_S(1) != 0) { + mTimer[1] = 200; + } + } + } else { + field_0x7d3 = 2; + mpModelMorf->setPlaySpeed(1.25f); + + if (mCount[2] == 0) { + mCount[2] = 1; + mTimer[2] = l_HIO.center_wind_time; + if (WREG_S(1) != 0) { + mTimer[2] = 200; + } + } + } + + if (NREG_S(0) != 0) { + OS_REPORT("mCount[1] %d\n", mCount[1]); + OS_REPORT("mCount[2] %d\n", mCount[2]); + OS_REPORT("mTimer[1] %d\n", mTimer[1]); + OS_REPORT("mTimer[2] %d\n\n", mTimer[2]); + } + + if (WREG_S(1) == 0 && ((mCount[2] != 0 && cLib_calcTimer(&mTimer[2]) == 0) || (mCount[1] != 0 && cLib_calcTimer(&mTimer[1]) == 0))) { + mCount[1] = 0; + mTimer[1] = 0; + mCount[2] = 0; + mTimer[2] = 0; + setActionMode(ACTION_GLIDER_ATTACK, 0); + return; + } + + if (sp24.abs() < l_HIO.wind_large_attack_lockon_range) { + mStatusONOFF(1); + } else { + mStatusONOFF(0); + } + } + + cLib_addCalcAngleS2(¤t.angle.y, fopAcM_searchPlayerAngleY(this), field_0x750, 0x400); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, field_0x750, 0x400); + cLib_addCalcAngleS2(&field_0x750, 8, 8, 20); + + if (WREG_S(1) != 0) { + mTargetHeight = 1500.0f + mAcch.GetGroundH(); + } + + cLib_addCalc2(¤t.pos.y, 400.0f + mTargetHeight, 0.8f, 20.0f); +} + +/* 805C0CAC-805C0EF8 005F2C 024C+00 1/1 0/0 0/0 .text mGliderMoveSub__8daB_DR_cFf */ +bool daB_DR_c::mGliderMoveSub(f32 param_0) { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz sp18; + + field_0x7a8.set(field_0x73c * cM_ssin(mCount[0] * (NREG_S(5) + 0x1000)), 0.0f, field_0x73c * cM_scos(mCount[0] * (NREG_S(5) + 0x1000))); + field_0x7a8 += field_0x7b4; + + field_0x7a8.y = player->current.pos.y; + if (player->current.pos.y < 0.0f) { + field_0x7a8.y = 0.0f; + } + if (mPlayerHighCheck()) { + field_0x7a8.y = home.pos.y; + } + field_0x7a8.y += field_0x740; + + cLib_addCalc2(&field_0x740, param_0, 0.8f, 25.0f + WREG_F(0)); + + sp18 = field_0x7a8 - current.pos; + if (sp18.abs() > 1300.0f + NREG_F(6)) { + return false; + } + + if (field_0x7e9 == 0) { + mCount[0]++; + } else { + mCount[0]--; + } + + return true; +} + +/* 805C0EF8-805C1E0C 006178 0F14+00 2/1 0/0 0/0 .text executeGliderAttack__8daB_DR_cFv */ +void daB_DR_c::executeGliderAttack() { + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz mae; + cXyz ato; + + f32 var_f31 = 0.0f; + + switch (mMoveMode) { + case 0: + mStatusONOFF(0); + field_0x750 = 8; + field_0x740 = 4000.0f; + mAllClr(); + + if (cM_rnd() < 0.5f) { + field_0x7e9 = 0; + mCount[0] = 1; + } else { + field_0x7e9 = 1; + mCount[0] = 79; + } + + if (BREG_S(4) != 0) { + field_0x7e9 = BREG_S(4) - 1; + if (field_0x7e9 == 0) { + mCount[0] = 1; + } else { + mCount[0] = 79; + } + } + + field_0x7d6 = 1; + field_0x7a8.set((14000.0f + NREG_F(3)) * cM_ssin(mCount[0] * (NREG_S(5) + 0x1000)), 0.0f, (14000.0f + NREG_F(3)) * cM_scos(mCount[0] * (NREG_S(5) + 0x1000))); + field_0x7dc = 0; + field_0x7a8 += home.pos; + field_0x7a8.y += field_0x740; + mMoveMode++; + case 1: + ato = field_0x7a8 - current.pos; + ato.y = 0.0f; + if (abs((s16)(current.angle.y - (s16)ato.atan2sX_Z())) > 0x200) { + break; + } + + mTimer[0] = 0; + mMoveMode++; + case 2: + case 3: + if (mMoveMode == 2 && mAnm != ANM_DR_HOVERING) { + mHabatakiAnmSet(0); + if (mAnm == ANM_DR_FLY || (mAnm == ANM_DR_FLAP_TO_FLY && (int)mpModelMorf->getFrame() >= 15)) { + mMoveMode++; + break; + } + } else { + mGlider_AniSet(0); + } + + ato = field_0x7a8 - current.pos; + if (ato.abs() < 3000.0f + NREG_F(5)) { + if (field_0x7e9 == 0) { + mCount[0]++; + } else { + mCount[0]--; + } + + if (mCount[3] == 0) { + field_0x750 = JREG_S(8) + 400; + mCount[3] = 1; + } + + field_0x7a8.set((14000.0f + NREG_F(3)) * cM_ssin(mCount[0] * (NREG_S(5) + 0x1000)), 0.0f, (14000.0f + NREG_F(3)) * cM_scos(mCount[0] * (NREG_S(5) + 0x1000))); + field_0x7a8 += home.pos; + field_0x7a8.y += field_0x740; + } + + if (NREG_S(0) != 0) { + OS_REPORT("mCount[0] %d\n", mCount[0]); + OS_REPORT("ato.abs() %f\n", ato.abs()); + OS_REPORT(" current.pos.z %f\n", current.pos.z); + OS_REPORT("\n"); + } + + if (mCount[3] != 0) { + if (current.pos.z <= 9000.0f + BREG_F(4) && (field_0x7d1 == 0 || mPlayerHighCheck() || !dComIfGp_checkPlayerStatus0(0, 0x100))) { + mTimer[0] = 0; + + ato = home.pos - player->current.pos; + ato.y = 0.0f; + if ((field_0x7d1 == 0 || !mPlayerHighCheck()) && player->current.pos.x >= -l_HIO.unk_0x18 && player->current.pos.x <= l_HIO.unk_0x18) { + ato = home.pos - current.pos; + ato.y = 0.0f; + field_0x73c = ato.abs() / (1.0f + WREG_F(2)); + + field_0x7b4.set(home.pos); + if (field_0x7e9 == 0) { + mCount[0]++; + } else { + mCount[0]--; + } + + mMoveMode = 10; + field_0x748 = 350.0f; + } else { + ato = home.pos - current.pos; + ato.y = 0.0f; + field_0x73c = ato.abs() / (1.0f + WREG_F(2)); + + field_0x7b4.set(home.pos); + field_0x748 = mTargetHeight; + mMoveMode = 0xB; + } + + if (field_0x7e9 == 0) { + mCount[0]++; + } else { + mCount[0]--; + } + + field_0x7d6 = 0; + field_0x7a8.set(field_0x73c * cM_ssin(mCount[0] * (NREG_S(5) + 0x1000)), 0.0f, field_0x73c * cM_scos(mCount[0] * (NREG_S(5) + 0x1000))); + field_0x7a8 += home.pos; + + if (player->current.pos.y >= 0.0f) { + field_0x7a8.y = player->current.pos.y + field_0x740; + } else { + field_0x7a8.y = field_0x740; + } + } + } + break; + case 11: + var_f31 = 200.0f + mTargetHeight; + ato = home.pos - current.pos; + ato.y = 0.0f; + + if (field_0x73c < 6000.0f + BREG_F(12)) { + field_0x7dc = 1; + mGlider_AniSet(1); + } + + if (field_0x73c < 8000.0f + BREG_F(13) && field_0x7d1 != 0 && !mPlayerHighCheck()) { + setActionMode(ACTION_PILLAR_SEARCH, 0); + return; + } + + if (field_0x7dc != 0) { + mGlider_AniSet(1); + } else { + mGlider_AniSet(0); + } + case 10: + if (mMoveMode == 10) { + var_f31 = 5000.0f + WREG_F(1); + if (field_0x73c > 14000.0f || mAnm == ANM_DR_FLY_TO_GLIDE || mAnm == ANM_DR_GLIDE_TO_FLY) { + mGlider_AniSet(1); + } else if (current.pos.x >= -(4000.0f + WREG_F(10)) && current.pos.x <= (4000.0f + WREG_F(10))) { + mGliderAtAniSet(); + field_0x7dc = 1; + } + + if (-1000000000.0f != mAcch.GetGroundH()) { + if (mAnm == ANM_DR_WIND_ATTACKB) { + mCount[1]++; + if (mCount[1] > WREG_S(9)) { + var_f31 = 350.0f; + mCount[1] = WREG_S(9) + 1; + } + } + field_0x7dc = 1; + } + + if (field_0x7dc != 0) { + mGliderAtAniSet(); + } + } + + cLib_addCalc2(&field_0x748, var_f31, 0.1f, 0.025f); + + if (mGliderMoveSub(field_0x748) != 0) { + if (field_0x73c < 3000.0f + BREG_F(14)) { + if (mMoveMode == 11) { + if (mPlayerHighCheck() != 0) { + setActionMode(ACTION_BREATH_ATTACK, 0); + } else if (field_0x7d1 == 2) { + setActionMode(ACTION_FLY_WAIT, 0); + } else if (field_0x7d1 == 0) { + setActionMode(ACTION_WIND_ATTACK, 0); + } + return; + } + + if (field_0x7e9 == 0) { + mCount[0] = 1; + } else { + mCount[0] = 0x4F; + } + + field_0x73c = 14000.0f + NREG_F(3); + field_0x740 = 350.0f; + + field_0x7a8.set(field_0x73c * cM_ssin(mCount[0] * (NREG_S(5) + 0x1000)), 0.0f, field_0x73c * cM_scos(mCount[0] * (NREG_S(5) + 0x1000))); + field_0x7a8 += home.pos; + field_0x7a8.y += field_0x740; + + mTimer[0] = 0; + mCount[2] = 0; + mMoveMode = 20; + } else { + field_0x73c -= 4000.0f + BREG_F(15); + } + } + break; + case 20: + mGlider_WindPosSet(); + var_f31 = 350.0f; + + if (mCount[2] == 0 && current.pos.z > 3000.0f + BREG_F(16)) { + mCount[2] = 1; + } + + if (mCount[2] != 0) { + var_f31 = 5000.0f + WREG_F(1); + mGlider_AniSet(0); + } + + cLib_addCalc2(&field_0x748, var_f31, 0.1f, 0.025f); + + if (mGliderMoveSub(field_0x748) != 0) { + mStatusONOFF(0); + attention_info.distances[fopAc_attn_BATTLE_e] = 0; + attention_info.flags &= ~0x4; + fopAcM_OffStatus(this, 0); + + mCount[2] = 0; + mTimer[1] = 20; + mMoveMode++; + } + break; + case 21: + mGliderMoveSub(4000.0f); + mGlider_AniSet(0); + + if (cLib_calcTimer(&mTimer[1]) != 0) { + mGlider_WindPosSet(); + if (mTimer[1] == 1) { + mGlider_WindPos.zero(); + } + break; + } + + field_0x73c = 14000.0f; + mMoveMode++; + case 22: + mGliderMoveSub(4000.0f); + + if (current.pos.z < -4000.0f) { + ato = home.pos - current.pos; + ato.y = 0.0f; + + field_0x73c = ato.abs() / (1.0f + WREG_F(2)); + if (field_0x7e9 == 0) { + mCount[0]++; + } else { + mCount[0]--; + } + + field_0x7b4.set(home.pos); + field_0x748 = mTargetHeight; + mMoveMode = 0xB; + } else { + mGlider_AniSet(0); + } + } + + ato = field_0x7a8 - current.pos; + cLib_addCalcAngleS2(¤t.angle.y, (s16)ato.atan2sX_Z(), field_0x750, JREG_S(2) + 0x500); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, field_0x750, JREG_S(3) + 0x500); + cLib_addCalcAngleS2(&field_0x750, JREG_S(4) + 8, JREG_S(5) + 20, JREG_S(6) + 40); + cLib_addCalcAngleS2(¤t.angle.x, ato.atan2sY_XZ(), 20, NREG_S(3) + 0x400); + cLib_addCalcAngleS2(&shape_angle.x, current.angle.x, NREG_S(2) + 20, NREG_S(3) + 0x400); + + if (mMoveMode >= 2) { + f32 var_f30 = 90.0f + NREG_F(9); + if (mAnm == ANM_DR_FLY) { + var_f30 = 120.0f + NREG_F(9); + } + cLib_addCalc2(&speedF, var_f30, 0.5f, 2.0f); + } + + if (mMoveMode < 10 || mMoveMode > 22) { + cMtx_YrotS(*calc_mtx, current.angle.y); + cMtx_XrotM(*calc_mtx, current.angle.x); + mae.x = 0.0f; + mae.y = 0.0f; + mae.z = speedF; + MtxPosition(&mae, &ato); + cLib_addCalc2(&speed.y, ato.y, 0.8f, 10.0f); + } else { + cLib_addCalc0(&speed.y, 0.8f, 10.0f); + cLib_addCalc2(¤t.pos.y, field_0x7a8.y, 0.8f, 25.0f); + } +} + +/* 805C1E0C-805C24BC 00708C 06B0+00 1/1 0/0 0/0 .text executePillarSearch__8daB_DR_cFv */ +void daB_DR_c::executePillarSearch() { + static cXyz mPillarTop_dt[] = { + cXyz(3100.0f, 5500.0f, 1500.0f), + cXyz(3100.0f, 5500.0f, -1500.0f), + cXyz(-3100.0f, 5500.0f, 1500.0f), + cXyz(-3100.0f, 5500.0f, -1500.0f), + }; + + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz sp30; + + switch (mMoveMode) { + case 0: + mTimer[0] = 0; + field_0x750 = JREG_S(8) + 800; + + if (field_0x7e9 == 0) { + mCount[1] = 2; + } else { + mCount[1] = 0; + } + + mCount[1] += (int)cM_rndF(2.0f); + mCount[1] &= 3; + field_0x73c = 14000.0f; + mMoveMode++; + break; + case 1: + mGlider_AniSet(1); + + field_0x7a8.set(mPillarTop_dt[mCount[1]]); + field_0x7b4.set(mPillarTop_dt[mCount[1]]); + field_0x7b4.y = 6000.0f; + + sp30 = field_0x7a8 - current.pos; + sp30.y = 0.0f; + if (sp30.abs() > 2000.0f + NREG_F(12)) { + break; + } + + mMoveMode++; + case 2: + cLib_addCalc2(¤t.pos.y, field_0x7b4.y, 0.8f + NREG_F(10), 5.0f + NREG_F(11)); + cLib_addCalc2(&speedF, 20.0f + NREG_F(14), 0.8f + NREG_F(15), 4.0f + NREG_F(16)); + + if (!(fabsf(current.pos.y - field_0x7b4.y) > 20.0f) && !(speedF > 22.0f + NREG_F(14))) { + mHabatakiAnmSet(0); + + field_0x7a8.set(home.pos); + cLib_addCalc2(¤t.pos.x, field_0x7b4.x, 0.8f + NREG_F(10), speedF); + cLib_addCalc2(¤t.pos.z, field_0x7b4.z, 0.8f + NREG_F(10), speedF); + sp30 = field_0x7b4 - current.pos; + + if (mAnm == ANM_DR_HOVERING) { + if ((int)mpModelMorf->getFrame() >= (int)(mpModelMorf->getEndFrame() - 1.0f) && sp30.abs() < 20.0f) { + speedF = 0.0f; + field_0x7a8.set(mPillarTop_dt[mCount[1]]); + field_0x7a8.y = 6000.0f; + setActionMode(ACTION_PILLAR_WAIT, 0); + } + } + } + break; + } + + if (mActionMode != ACTION_PILLAR_WAIT) { + sp30 = field_0x7a8 - current.pos; + cLib_addCalcAngleS2(¤t.angle.y, (s16)sp30.atan2sX_Z(), field_0x750, JREG_S(2) + 0x400); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, field_0x750, JREG_S(3) + 0x400); + cLib_addCalcAngleS2(&field_0x750, JREG_S(4) + 10, JREG_S(5) + 10, JREG_S(6) + 20); + cLib_addCalcAngleS2(¤t.angle.x, sp30.atan2sY_XZ(), 20, NREG_S(3) + 0x400); + cLib_addCalcAngleS2(&shape_angle.x, current.angle.x, NREG_S(2) + 20, NREG_S(3) + 0x400); + + if (mPlayerHighCheck() && -1000000000.0f != mAcch.GetGroundH()) { + setActionMode(ACTION_BREATH_ATTACK, 0); + } + } +} + +/* 805C24BC-805C2BE8 00773C 072C+00 1/1 0/0 0/0 .text executePillarWait__8daB_DR_cFv */ +void daB_DR_c::executePillarWait() { +#ifdef DEBUG + dDbVw_Report(30, 100, "Pole wait tyuu Timer:%d ", mTimer[0]); + if (mTimer[1] != 0) { + dDbVw_Report(30, 100, "sukosi zensin :%d ", mTimer[1]); + } +#endif + + daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0); + cXyz at_vec((40.0f + JREG_F(3)) * cM_ssin(shape_angle.y), 0.0f, (40.0f + JREG_F(3)) * cM_scos(shape_angle.y)); + cXyz sp14; + + switch (mMoveMode) { + case 0: + mStatusONOFF(2); + dComIfGs_onSaveDunSwitch(22); + field_0x7d6 = 0; + mAllClr(); + + mTimer[2] = 50; + mTimer[0] = l_HIO.unk_0x62; + + mPillarCc.OnCoSetBit(); + speed.y = 0.0f; + gravity = 0.0f; + setBck(ANM_DR_POLE_STAYA, 0, 3.0f, 1.0f); + mMoveMode++; + break; + case 1: + if (!(fabsf(current.pos.y - field_0x7a8.y) > 2.0f) && mpModelMorf->isStop()) { + current.pos.y = field_0x7a8.y; + setBck(ANM_DR_POLE_STAYB, 2, 20.0f, 1.0f); + mMoveMode++; + } + break; + case 2: + if (mAnm == ANM_DR_POLE_STAYD && mpModelMorf->isStop()) { + setBck(ANM_DR_POLE_STAYB, 2, 20.0f, 1.0f); + } + + if (cLib_calcTimer(&mTimer[2]) == 0 && mCount[0] == 0) { + setBck(ANM_DR_POLE_STAYD, 0, 10.0f, 1.0f); + mCount[0] = 1; + } + + if (player->getHookshotTopPos()) { + sp14.set(current.pos); + sp14.y -= 500.0f; + if (player->getHookshotTopPos()->abs(sp14) < 500.0f) { + mStatusONOFF(0); + mPillarCc.ClrTgHit(); + mPillarCc.OffCoSetBit(); + + field_0x7a8.y = mTargetHeight; + setBck(ANM_DR_POLE_STAYC, 0, 3.0f, 1.0f); + mMoveMode++; + break; + } + } + + if (mPlayerHighCheck()) { + mTimer[0] = l_HIO.unk_0x62; + } + + if ((fopAcM_searchPlayerDistanceXZ(this) < 350.0f && player->current.pos.y > 4500.0f) || mTargetHeight < player->current.pos.y || cLib_calcTimer(&mTimer[0]) == 0 || (player->current.pos.y >= 5000.0f && fopAcM_searchPlayerDistanceXZ(this) > 3100.0f) || mPillarCc.ChkTgHit()) { + mStatusONOFF(0); + mPillarCc.ClrTgHit(); + mPillarCc.OffCoSetBit(); + + field_0x7a8.set(current.pos); + field_0x7a8.y = 100.0f + mTargetHeight; + setBck(ANM_DR_POLE_STAYC, 0, 3.0f, 1.0f); + mMoveMode++; + } + break; + case 3: + if ((int)mpModelMorf->getFrame() >= 14) { + field_0x7a8.y = 6150.0f; + cLib_addCalcPos(¤t.pos, field_0x7a8, 0.8f, 40.0f, 10.0f); + } + + if (!mpModelMorf->isStop()) { + break; + } + + field_0x7a8.set(home.pos); + field_0x7a8.y = mTargetHeight; + dComIfGs_offSaveDunSwitch(22); + setBck(ANM_DR_HOVERING, 2, 3.0f, 1.0f); + mMoveMode++; + case 4: + cLib_addCalcPos(¤t.pos, field_0x7a8, 0.8f, 20.0f, 5.0f); + + if (!(mAcch.GetGroundH() > 1000.0f)) { + if (home.pos.y + l_HIO.breath_attack_threshold <= player->current.pos.y) { + setActionMode(ACTION_BREATH_ATTACK, 0); + } else if (field_0x7d1 != 2) { + setActionMode(ACTION_WAIT, 0); + } else { + setActionMode(ACTION_FLY_WAIT, 0); + } + } + break; + } + + sp14.set(current.pos); + sp14.y += -200.0f; + + mPillarCc.SetC(sp14); + mPillarCc.SetH(1000.0f); + mPillarCc.SetR(400.0f); + mPillarCc.SetAtVec(at_vec); + dComIfG_Ccsp()->Set(&mPillarCc); + + cLib_addCalc0(&speedF, 0.8f, 5.0f); + sp14 = home.pos - current.pos; + cLib_addCalcAngleS2(¤t.angle.y, (s16)sp14.atan2sX_Z(), 10, 0x400); + cLib_addCalcAngleS2(&shape_angle.y, current.angle.y, 10, 0x400); +} + +/* 805C2BE8-805C2CD0 007E68 00E8+00 4/4 0/0 0/0 .text startDemoCheck__8daB_DR_cFv */ +bool daB_DR_c::startDemoCheck() { + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + camera_class* camera0 = dComIfGp_getCamera(0); + + if (!eventInfo.i_checkCommandDemoAccrpt()) { + fopAcM_orderPotentialEvent(this, 2, 0xFFFF, 0); + eventInfo.i_onCondition(2); + mDemoCamEye = camera0->lookat.eye; + mDemoCamCenter = camera0->lookat.center; + return false; + } else { + camera->mCamera.Stop(); + camera->mCamera.SetTrimSize(3); + daPy_getPlayerActorClass()->changeOriginalDemo(); + return true; + } +} + +/* 805C2CD0-805C3558 007F50 0888+00 2/1 0/0 0/0 .text executeDamageDemo__8daB_DR_cFv */ +void daB_DR_c::executeDamageDemo() { + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz unused; + cXyz unused2; + cXyz mae; + cXyz ato; + + switch (mMoveMode) { + case 0: + if (startDemoCheck()) { + mAllClr(); + current.pos.x = home.pos.x; + current.pos.z = home.pos.z; + setBck(ANM_DR_BOOT_A_DEMO, 0, 0.0f, 1.0f); + mMoveMode++; + } + break; + case 1: + cMtx_YrotS(*calc_mtx, (shape_angle.y + 0x8000)); + mae.x = -500.0f + ZREG_F(0); + mae.y = -1400.0f + ZREG_F(1); + mae.z = 1100.0f + ZREG_F(2); + MtxPosition(&mae, &ato); + ato += current.pos; + if (ato.y < 200.0f) { + ato.y = 200.0f; + } + mDemoCamEye.set(ato); + + cMtx_YrotS(*calc_mtx, (shape_angle.y + 0x8000)); + mae.x = ZREG_F(3); + mae.y = -850.0f + ZREG_F(4); + mae.z = ZREG_F(5); + MtxPosition(&mae, &ato); + ato += current.pos; + if (ato.y < 200.0f) { + ato.y = 200.0f; + } + mDemoCamCenter.set(ato); + + if ((int)mpModelMorf->getFrame() < 50) { + break; + } + mMoveMode++; + case 2: + cMtx_YrotS(*calc_mtx, (shape_angle.y + 0x8000)); + mae.x = 400.0f + ZREG_F(0); + mae.y = 700.0f + ZREG_F(1); + mae.z = -1200.0f + ZREG_F(2); + MtxPosition(&mae, &ato); + ato += current.pos; + mDemoCamEye.set(ato); + + cMtx_YrotS(*calc_mtx, (shape_angle.y + 0x8000)); + mae.x = ZREG_F(3); + mae.y = 400.0f + ZREG_F(4); + mae.z = ZREG_F(5); + MtxPosition(&mae, &ato); + ato += current.pos; + mDemoCamCenter.set(ato); + + if (mpModelMorf->isStop() && BREG_S(2) == 0) { + camera->mCamera.Start(); + camera->mCamera.SetTrimSize(0); + dComIfGp_event_reset(); + + if (bitSw != 0xFF) { + fopAcM_onSwitch(this, bitSw); + } + + setActionMode(ACTION_TAIL_HIT, 10); + + if (mAnm != ANM_DR_BOOT_A) { + setBck(ANM_DR_BOOT_A, 0, 10.0f, 1.0f); + } + } + break; + case 10: + if (startDemoCheck()) { + shape_angle.y = current.angle.y = home.angle.y; + current.pos.x = home.pos.x; + current.pos.z = home.pos.z; + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&player->current.pos, home.angle.y, 0); + setBck(ANM_DR_IMPACT, 0, 3.0f, 1.0f); + mMoveMode++; + } + break; + case 11: + if (mAnm == ANM_DR_BOOT_C) { + if ((int)mpModelMorf->getFrame() >= 34) { + cLib_addCalc2(&mDemoCamCenter.y, player->current.pos.y, 0.7f, 150.0f); + } + + if (mpModelMorf->isStop()) { + setBck(ANM_DR_DOWN_WAIT, 2, 3.0f, 1.0f); + mTimer[0] = 35; + } + } + + if (mAnm == ANM_DR_IMPACT && mpModelMorf->isStop()) { + setBck(ANM_DR_BOOT_C, 0, 3.0f, 1.0f); + gravity = -1.0f; + } + + if (!mBgFallGroundCheck()) { + break; + } + + dComIfGs_onZoneSwitch(1, fopAcM_GetRoomNo(this)); + mMoveMode++; + case 12: + if (mAnm == ANM_DR_BOOT_C) { + if ((int)mpModelMorf->getFrame() >= 34) { + cLib_addCalc2(&mDemoCamCenter.y, player->current.pos.y, 0.7f, 150.0f); + } + + mTimer[0] = 50; + + if (!mpModelMorf->isStop()) { + break; + } + } + + if (mAnm != ANM_DR_DOWN_WAIT) { + setBck(ANM_DR_DOWN_WAIT, 2, 10.0f, 1.0f); + mTimer[0] = 35; + } + + if (cLib_calcTimer(&mTimer[0]) != 0) { + break; + } + + mTimer[0] = 70; + mMoveMode++; + case 13: + if (cLib_calcTimer(&mTimer[0]) == 0) { + camera->mCamera.Start(); + camera->mCamera.SetTrimSize(0); + dComIfGp_event_reset(); + + field_0x7d7 = 1; + mTimer[0] = 35; + setActionMode(ACTION_TAIL_HIT, 20); + } + } + + if (mMoveMode >= 10 && mMoveMode <= 12) { + if (mAnm != ANM_DR_BOOT_C && mAnm != ANM_DR_DOWN_WAIT) { + ato.set(home.pos); + ato.y += 1200.0f + JREG_F(10); + mDemoCamCenter.set(ato); + } else { + ato.set(1500.0f, 0.0f, 1500.0f); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(&ato, -0x8000, 0); + } + + cMtx_YrotS(*calc_mtx, shape_angle.y - (JREG_S(8) + 0x1000)); + mae.x = 0.0f; + mae.y = 200.0f + JREG_F(11); + mae.z = 1000.0f + JREG_F(12); + MtxPosition(&mae, &ato); + mDemoCamEye = (ato + current.pos) + mBoot_c_trance; + daPy_getPlayerActorClass()->onBossRoomWait(); + } + + if (mMoveMode != 0 && mMoveMode != 10) { + camera->mCamera.Set(mDemoCamCenter, mDemoCamEye); + } + + if (mAnm == ANM_DR_BOOT_C) { + if (mpModelMorf->checkFrame(45.0f)) { + if (field_0x7d1 == 0) { + mSound.startCreatureSound(Z2SE_EN_DR_CRASH, 0, -1); + field_0x7d1 = 1; + mBreakPartsNo++; + } + field_0x7e0 = 0; + } + + mBoot_c_tranceSet(0); + + if ((int)mpModelMorf->getFrame() >= 45) { + chkPartCreate(0); + } + } + + cXyz offset; + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::inverse(); + mDoMtx_stack_c::multVec(&eyePos, &offset); + daPy_getPlayerActorClass()->setHookshotCarryOffset(fopAcM_GetID(this), &offset); +} + +/* 805C3558-805C36A4 0087D8 014C+00 1/1 0/0 0/0 .text executeMiddleDemo__8daB_DR_cFv */ +void daB_DR_c::executeMiddleDemo() { + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz unused; + cXyz unused2; + cXyz mae; + cXyz ato; + + switch (mMoveMode) { + case 0: + if (startDemoCheck()) { + mAllClr(); + mMoveMode++; + } + break; + case 1: + cMtx_YrotS(*calc_mtx, fopAcM_searchPlayerAngleY(this) + 0x8000); + mae.x = ZREG_F(0); + mae.y = ZREG_F(1); + mae.z = ZREG_F(2); + MtxPosition(&mae, &ato); + ato += player->current.pos; + mDemoCamCenter.set(ato); + break; + } + + if (mMoveMode >= 1) { + camera->mCamera.Set(mDemoCamCenter, mDemoCamEye); + } +} + +/* 805C36A4-805C382C 008924 0188+00 1/1 0/0 0/0 .text executeDead__8daB_DR_cFv */ +void daB_DR_c::executeDead() { + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + fopAc_ac_c* player = dComIfGp_getPlayer(0); + cXyz unused; + cXyz unused2; + cXyz mae; + cXyz ato; + + switch (mMoveMode) { + case 0: + if (!startDemoCheck()) { + break; + } + mAllClr(); + case 1: + cMtx_YrotS(*calc_mtx, shape_angle.y); + mae.x = ZREG_F(0); + mae.y = ZREG_F(1); + mae.z = ZREG_F(2); + MtxPosition(&mae, &ato); + ato += current.pos; + mDemoCamCenter.set(ato); + + cMtx_YrotS(*calc_mtx, shape_angle.y); + mae.x = ZREG_F(3); + mae.y = ZREG_F(4); + mae.z = 100.0f + ZREG_F(5); + MtxPosition(&mae, &ato); + ato += current.pos; + mDemoCamEye.set(ato); + break; + } + + if (mMoveMode >= 1) { + camera->mCamera.Set(mDemoCamCenter, mDemoCamEye); + } +} + +/* 805C382C-805C39D8 008AAC 01AC+00 1/1 0/0 0/0 .text executeBullet__8daB_DR_cFv */ +void daB_DR_c::executeBullet() { + cXyz mae; + + switch (mMoveMode) { + case 0: + field_0x730 = 100.0f; + speedF = 100.0f; + mAllClr(); + + mTimer[0] = data_805C7974; + mMoveMode++; + return; + case 1: + if (cLib_calcTimer(&mTimer[0]) == 0) { + fopAcM_delete(this); + return; + } + + if (parentActorID != 0) { + daB_DR_c* dr_p = (daB_DR_c*)fopAcM_SearchByID(fopAcM_GetLinkId(this)); + if (dr_p != NULL) { + current.angle.y -= (s16)((s16)(dr_p->mHeadAngle.y - home.angle.y) * (0.002f + JREG_F(13))); + } + } + + cMtx_YrotS(*calc_mtx, current.angle.y); + cMtx_XrotM(*calc_mtx, current.angle.x); + mae.x = 0.0f; + mae.y = 0.0f; + mae.z = speedF; + MtxPosition(&mae, &speed); + + field_0x730 += 10.0f; + if (field_0x730 > 100.0f) { + field_0x730 = 100.0f; + } + + mBreathAtCc.SetC(current.pos); + mBreathAtCc.SetR(field_0x730); + dComIfG_Ccsp()->Set(&mBreathAtCc); + } +} + +/* 805C39D8-805C3CB0 008C58 02D8+00 2/1 0/0 0/0 .text executeParts__8daB_DR_cFv */ +void daB_DR_c::executeParts() { + camera_class* camera = dComIfGp_getCamera(0); + cXyz mae; + cXyz ato; + + switch (mMoveMode) { + case 0: + speedF = 20.0f + ZREG_F(13) + cM_rndF(10.0f + ZREG_F(14)); + current.angle.y += (s16)cM_rndFX(65536.0f); + speed.y = 30.0f + ZREG_F(10); + speed.y += cM_rndFX(10.0f + ZREG_F(11)); + + field_0x752 = cM_rndF(2048.0f + ZREG_F(9)); + mTimer[0] = 100; + gravity = -3.0f + ZREG_F(12); + mMoveMode++; + break; + case 1: + shape_angle.x += field_0x752; + if (!mAcch.ChkGroundHit()) { + if (cLib_calcTimer(&mTimer[0]) == 0) { + fopAcM_delete(this); + } + break; + } + + field_0x752 *= 2; + mMoveMode++; + case 2: + shape_angle.x += field_0x752; + cLib_addCalc0(&speedF, 0.7f, 1.0f + ZREG_F(15)); + cLib_addCalcAngleS2(&field_0x752, 0, 8, speedF); + if (speedF > 0.2f) { + break; + } + speedF = 0.0f; + mTimer[0] = 10; + mMoveMode++; + case 3: + if (cLib_calcTimer(&mTimer[0]) == 0) { + setDeathLightEffect(); + fopAcM_delete(this); + } + break; + case 10: + speedF = 40.0f + ZREG_F(13) + cM_rndF(10.0f + ZREG_F(14)); + mTimer[0] = 50; + current.angle.x += (s16)cM_rndFX(16384.0f); + + mae = camera->lookat.center - current.pos; + current.angle.y = mae.atan2sX_Z(); + current.angle.y += (s16)cM_rndFX(16384.0f); + + cMtx_YrotS(*calc_mtx, current.angle.y); + cMtx_XrotM(*calc_mtx, current.angle.x); + mae.x = 0.0f; + mae.y = 0.0f; + mae.z = speedF; + MtxPosition(&mae, &ato); + speed.y = ato.y; + + mMoveMode++; + break; + case 11: + if (cLib_calcTimer(&mTimer[0]) == 0) { + fopAcM_delete(this); + } + break; + } +} + +/* 805C3CB0-805C40E0 008F30 0430+00 2/1 0/0 0/0 .text action__8daB_DR_cFv */ +void daB_DR_c::action() { + tail_hit_check(); + week_hit_check(); + field_0x7d4 = 0; + field_0x7d3 = 0; + + switch (mActionMode) { + case ACTION_WAIT: + executeWait(); + break; + case ACTION_FLY_WAIT: + executeFlyWait(); + break; + case ACTION_TAIL_HIT: + field_0x7d4 = 1; + executeTailHit(); + break; + case ACTION_WEEK_HIT: + field_0x7d4 = 1; + executeWeekHit(); + break; + case ACTION_WIND_ATTACK: + field_0x7d3 = 2; + executeWindAttack(); + break; + case ACTION_BREATH_ATTACK: + case ACTION_BREATH_ATTACK2: + executeBreathAttack(); + break; + case ACTION_GLIDER_ATTACK: + field_0x7d4 = 1; + executeGliderAttack(); + break; + case ACTION_PILLAR_SEARCH: + field_0x7d4 = 1; + executePillarSearch(); + break; + case ACTION_PILLAR_WAIT: + field_0x7d4 = 1; + executePillarWait(); + break; + case ACTION_DAMAGE_DEMO: + field_0x7d4 = 1; + executeDamageDemo(); + break; + case ACTION_MIDDLE_DEMO: + field_0x7d4 = 1; + executeMiddleDemo(); + break; + case ACTION_DEAD: + field_0x7d4 = 1; + executeDead(); + break; + } + + if (NREG_S(1) != 0) { + OS_REPORT("mActionMode %d\n", mActionMode); + OS_REPORT("mMoveMode %d\n", mMoveMode); + } + + if (mAnm == ANM_DR_TAKE_OFF) { + if ((int)mpModelMorf->getFrame() >= 30) { + field_0x7d3 = 2; + } + } + + if (mAnm == ANM_DR_BOOT_A_DEMO) { + if (mpModelMorf->checkFrame(8.0f)) { + dComIfGp_getVibration().StartShock(5, 0x4F, cXyz(0.0f, 1.0f, 0.0f)); + } + if (mpModelMorf->checkFrame(50.0f)) { + field_0x7db = 1; + dComIfGp_getVibration().StartQuake(7, 0x1F, cXyz(0.0f, 1.0f, 0.0f)); + } + } else if (field_0x7db == 1) { + field_0x7db = 0; + dComIfGp_getVibration().StopQuake(0x1F); + } + + setSe(); + + if (daPy_getPlayerActorClass()->checkWolfLock(this)) { + daPy_getPlayerActorClass()->cancelWolfLock(this); + } + + if (mActionMode != ACTION_GLIDER_ATTACK || mMoveMode == 1000) { + if (current.angle.x != 0 || shape_angle.x != 0) { + cLib_addCalcAngleS2(¤t.angle.x, 0, 8, 0x400); + cLib_addCalcAngleS2(&shape_angle.x, current.angle.x, 8, 0x400); + } + field_0x74e = 0; + } else { + s16 temp_r28 = -3.0f * (current.angle.y - shape_angle.y); + if (abs(temp_r28) < 0x2000) { + field_0x74e = temp_r28; + } + if (mAnm == ANM_DR_WIND_ATTACKATOB || mAnm == ANM_DR_WIND_ATTACKB || -1000000000.0f != mAcch.GetGroundH() || mCount[3] == 0) { + field_0x74e = 0; + } + } + + cLib_addCalcAngleS2(&shape_angle.z, field_0x74e, NREG_S(6) + 40, NREG_S(7) + 0x400); + + if (BREG_S(1) != 0) { + mWeekCc.OnTgSetBit(); + speedF = 0.0f; + speed.zero(); + } + + fopAcM_posMoveF(this, mColliderStts.GetCCMoveP()); + + if (mActionMode != ACTION_BREATH_ATTACK && mActionMode != ACTION_BREATH_ATTACK2) { + mHeadAngleSet(); + } + + mAcch.SetWallNone(); + mAcch.SetGroundUpY(75.0f); + mAcch.CrrPos(dComIfG_Bgsp()); + + mpModelMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + mSound2.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + mpCoreBrk->play(); +} + +/* 805C40E0-805C4130 009360 0050+00 1/1 0/0 0/0 .text action_fire__8daB_DR_cFv */ +void daB_DR_c::action_fire() { + executeBullet(); + shape_angle = current.angle; + fopAcM_posMove(this, mColliderStts.GetCCMoveP()); +} + +/* 805C4130-805C41A4 0093B0 0074+00 1/1 0/0 0/0 .text action_parts__8daB_DR_cFv */ +void daB_DR_c::action_parts() { + executeParts(); + fopAcM_posMoveF(this, mColliderStts.GetCCMoveP()); + mAcch.CrrPos(dComIfG_Bgsp()); + mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); +} + +/* 805C41A4-805C4684 009424 04E0+00 2/2 0/0 0/0 .text mtx_set__8daB_DR_cFv */ +void daB_DR_c::mtx_set() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::transM(mBoot_c_trance.x, mBoot_c_trance.y, mBoot_c_trance.z); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(l_HIO.model_size, l_HIO.model_size, l_HIO.model_size); + mpModelMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); + mpModelMorf->modelCalc(); + + if (mAnm == ANM_DR_POLE_STAYA) { + cXyz sp1C; + dBgS_GndChk sp28; + + mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(0x22)); + mDoMtx_stack_c::multVecZero(&sp1C); + sp28.SetPos(&sp1C); + + f32 var_f31 = dComIfG_Bgsp().GroundCross(&sp28); + if (-1000000000.0f == var_f31 || var_f31 < 5250.0f + JREG_F(4)) { + var_f31 = 5250.0f + JREG_F(4); + } + field_0x7a8.y = var_f31; + + if ((int)mpModelMorf->getFrame() < 35.0f + JREG_F(5)) { + cLib_addCalcPos(¤t.pos, field_0x7a8, 0.8f, 10.0f + JREG_F(6), 5.0f + JREG_F(7)); + } else { + cLib_addCalcPos(¤t.pos, field_0x7a8, 0.8f, 20.0f + JREG_F(8), 5.0f + JREG_F(9)); + } + + if (current.pos.y < field_0x7a8.y) { + current.pos.y = field_0x7a8.y; + } + } + + if (mAnm == ANM_DR_WIND_ATTACKB && -1000000000.0f != mAcch.GetGroundH()) { + cXyz sp10 = current.pos - home.pos; + if (sp10.abs() > 3000.0f || current.pos.y > 370.0f) { + if (field_0x7d8 == 0) { + mSound.startCreatureVoice(Z2SE_EN_DR_V_TUME, -1); + field_0x7d8 = 1; + } + } else { + for (int i = 0; i < 4; i++) { + static u16 effLId[] = {0x89E4, 0x89E5, 0x89E6, 0x89E7}; + field_0x27ec[i] = dComIfGp_particle_set(field_0x27ec[i], effLId[i], ¤t.pos, NULL, NULL); + JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(field_0x27ec[i]); + if (emitter != NULL) { + emitter->setGlobalSRTMatrix(mpModelMorf->getModel()->getAnmMtx(0x22)); + } + + mSound.startCreatureSoundLevel(Z2SE_EN_DR_TUME, 0, -1); + + static u16 effRId[] = {0x89E8, 0x89E9, 0x89EA, 0x89EB}; + field_0x27fc[i] = dComIfGp_particle_set(field_0x27fc[i], effRId[i], ¤t.pos, NULL, NULL); + emitter = dComIfGp_particle_getEmitter(field_0x27fc[i]); + if (emitter != NULL) { + emitter->setGlobalSRTMatrix(mpModelMorf->getModel()->getAnmMtx(0x2A)); + } + } + } + } +} + +/* 805C4684-805C46E0 009904 005C+00 1/1 0/0 0/0 .text parts_mtx_set__8daB_DR_cFv */ +void daB_DR_c::parts_mtx_set() { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(scale.x, scale.y, scale.z); + mpPartModel->setBaseTRMtx(mDoMtx_stack_c::get()); +} + +/* 805C46E0-805C4E14 009960 0734+00 1/1 0/0 0/0 .text cc_set__8daB_DR_cFv */ +void daB_DR_c::cc_set() { + cXyz mae; + cXyz ato; + cXyz at_vec; + J3DModel* model_p = mpModelMorf->getModel(); + + if (mActionMode == ACTION_PILLAR_WAIT || mActionMode == ACTION_GLIDER_ATTACK) { + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x13)); + mDoMtx_stack_c::multVecZero(&eyePos); + } else if (field_0x7d1 != 2) { + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x31)); + mDoMtx_stack_c::multVecZero(&eyePos); + } else if (mWeekCc.ChkTgSet()) { + mDoMtx_stack_c::copy(model_p->getAnmMtx(15)); + mDoMtx_stack_c::multVecZero(&eyePos); + } + + attention_info.position = eyePos; + attention_info.position.y += 100.0f; + + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x31)); + mae.set(0.0f, 0.0f, 50.0f); + mDoMtx_stack_c::multVec(&mae, &ato); + mTailCc.SetC(ato); + mTailCc.SetR(250.0f); + dComIfG_Ccsp()->Set(&mTailCc); + + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x13)); + mDoMtx_stack_c::multVecZero(&field_0x760); + mDoMtx_stack_c::multVecZero(&field_0x790); + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x14)); + mae.set(100.0f + ZREG_F(17), -200.0f + ZREG_F(18), ZREG_F(19)); + mDoMtx_stack_c::multVec(&mae, &field_0x778); + + at_vec.set(l_HIO.wind_small_attack_power * cM_ssin(shape_angle.y), 0.0f, l_HIO.wind_small_attack_power * cM_scos(shape_angle.y)); + + f32 wind_at_radius = 1000.0f; + bool var_r27 = false; + + if (field_0x7d4 == 0) { + mDoMtx_stack_c::copy(model_p->getAnmMtx(0)); + mDoMtx_stack_c::multVecZero(&ato); + mWindAtCc.SetC(ato); + mWindAtCc.SetR(wind_at_radius); + mWindAtCc.SetAtVec(at_vec); + dComIfG_Ccsp()->Set(&mWindAtCc); + } + + if (mActionMode == ACTION_GLIDER_ATTACK) { + ato.set(mGlider_WindPos); + + if (!mGlider_WindPos.x && !mGlider_WindPos.y && !mGlider_WindPos.z) { + wind_at_radius = 0.0f; + } else { + at_vec.set(l_HIO.glide_wind_power * cM_ssin(shape_angle.y), 0.0f, l_HIO.glide_wind_power * cM_scos(shape_angle.y)); + wind_at_radius = 2000.0f; + field_0x784.set(mGlider_WindPos); + mSound2.startCreatureSoundLevel(Z2SE_EN_DR_WIND_ATTACK, 0, -1); + } + + if (mAnm == ANM_DR_WIND_ATTACKB && -1000000000.0f != mAcch.GetGroundH() && mCount[1] > WREG_S(9)) { + var_r27 = 1; + } + + mWindAtCc2.SetC(ato); + mWindAtCc2.SetR(wind_at_radius); + mWindAtCc2.SetAtVec(at_vec); + dComIfG_Ccsp()->Set(&mWindAtCc2); + } + + if (field_0x7d3 != 0) { + mPlayerHighCheck(); + ato.set(current.pos); + ato.y = 600.0f + field_0x734; + mWindAtCc3.SetC(ato); + mWindAtCc3.SetR(4500.0f); + + if (field_0x7d3 == 2) { + at_vec.set(l_HIO.wind_attack_power * cM_ssin(shape_angle.y), 0.0f, l_HIO.wind_attack_power * cM_scos(shape_angle.y)); + var_r27 = 1; + } + + mSound.startCreatureSoundLevel(Z2SE_EN_DR_FLAP, 0, -1); + mWindAtCc3.SetAtVec(at_vec); + dComIfG_Ccsp()->Set(&mWindAtCc3); + } + + if (var_r27 == 0) { + cLib_addCalc(&field_0x738, 0.6f, 0.05f, 0.003f, 0.00001f); + } else { + cLib_addCalc(&field_0x738, 0.9f, 0.5f, 0.2f, 0.001f); + dKyw_evt_wind_set(0, shape_angle.y); + } + + dKyw_custom_windpower(field_0x738); + + if (mAnm == ANM_DR_WIND_ATTACKB) { + at_vec.set((40.0f + JREG_F(3)) * cM_ssin(shape_angle.y), 0.0f, (40.0f + JREG_F(3)) * cM_scos(shape_angle.y)); + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x1D)); + mae.set(200.0f, 0.0f, 0.0f); + mDoMtx_stack_c::multVec(&mae, &ato); + mFootAtCc[0].SetC(ato); + mFootAtCc[0].SetR(150.0f); + mFootAtCc[0].SetAtVec(at_vec); + dComIfG_Ccsp()->Set(&mFootAtCc[0]); + + mDoMtx_stack_c::copy(model_p->getAnmMtx(0x25)); + mae.set(200.0f, 0.0f, 0.0f); + mDoMtx_stack_c::multVec(&mae, &ato); + mFootAtCc[1].SetC(ato); + mFootAtCc[1].SetR(150.0f); + mFootAtCc[1].SetAtVec(at_vec); + dComIfG_Ccsp()->Set(&mFootAtCc[1]); + } + + mDoMtx_stack_c::copy(model_p->getAnmMtx(0xF)); + mae.set(-200.0f + WREG_F(2), WREG_F(3), WREG_F(4)); + mDoMtx_stack_c::multVec(&mae, &ato); + mWeekCc.SetC(ato); + mWeekCc.SetH(300.0f + WREG_F(5)); + mWeekCc.SetR(150.0f + WREG_F(6)); + dComIfG_Ccsp()->Set(&mWeekCc); +} + +/* 805C4E14-805C4FB4 00A094 01A0+00 1/1 0/0 0/0 .text down_cc_set__8daB_DR_cFv */ +void daB_DR_c::down_cc_set() { + cXyz mae; + cXyz ato; + + for (int i = 0; i < 5; i++) { + static const struct { + int jnt_no; + Vec pos; + f32 height; + f32 radius; + } DOWN_CYL_DT[] = { + { 0, 0.0f, -100.0f, 140.0f, 200.0f, 300.0f }, + { 6, -50.0f, 100.0f, 250.0f, 200.0f, 300.0f }, + { 7, -50.0f, 100.0f, 170.0f, 200.0f, 370.0f }, + { 12, 0.0f, 0.0f, -150.0f, 200.0f, 300.0f }, + { 13, 0.0f, 0.0f, -200.0f, 200.0f, 350.0f }, + }; + + mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(DOWN_CYL_DT[i].jnt_no)); + mae.x = DOWN_CYL_DT[i].pos.x; + mae.y = DOWN_CYL_DT[i].pos.y; + mae.z = DOWN_CYL_DT[i].pos.z; + mDoMtx_stack_c::multVec(&mae, &ato); + + mDownCc[i].SetC(ato); + mDownCc[i].SetH(DOWN_CYL_DT[i].height); + mDownCc[i].SetR(DOWN_CYL_DT[i].radius); + dComIfG_Ccsp()->Set(&mDownCc[i]); + } + + for (int i = 0; i < 9; i++) { + static const struct { + int jnt_no; + Vec pos; + f32 radius; + } DOWN_SPH_DT[] = { + { 19, 50.0f, 0.0f, 0.0f, 140.0f }, + { 43, 0.0f, 0.0f, 0.0f, 150.0f }, + { 44, 0.0f, 0.0f, 0.0f, 130.0f }, + { 45, 0.0f, 0.0f, 0.0f, 130.0f }, + { 46, 0.0f, 0.0f, 0.0f, 130.0f }, + { 47, 0.0f, 0.0f, 0.0f, 130.0f }, + { 48, 0.0f, 0.0f, 0.0f, 130.0f }, + { 29, 150.0f, 0.0f, -50.0f, 130.0f }, + { 37, 180.0f, 0.0f, -50.0f, 130.0f }, + }; + + mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(DOWN_SPH_DT[i].jnt_no)); + mae.x = DOWN_SPH_DT[i].pos.x; + mae.y = DOWN_SPH_DT[i].pos.y; + mae.z = DOWN_SPH_DT[i].pos.z; + mDoMtx_stack_c::multVec(&mae, &ato); + + mDownSphCc[i].SetC(ato); + mDownSphCc[i].SetR(DOWN_SPH_DT[i].radius); + dComIfG_Ccsp()->Set(&mDownSphCc[i]); + } +} + +/* 805C4FB4-805C50BC 00A234 0108+00 1/1 0/0 0/0 .text demo_skip__8daB_DR_cFi */ +void daB_DR_c::demo_skip(int) { + fopAc_ac_c* parent; + if (cDmr_SkipInfo == 0 && fopAcM_SearchByID(parentActorID, &parent) && parent != NULL) { + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + dStage_changeScene(1, 0.0f, 0, fopAcM_GetRoomNo(this), 0, -1); + Z2GetAudioMgr()->subBgmStop(); + dKy_getEnvlight()->field_0x12cc = 1; + + cDmr_SkipInfo = 1; + dComIfGs_onZoneSwitch(0, fopAcM_GetRoomNo(this)); + dComIfGs_onZoneSwitch(20, fopAcM_GetRoomNo(this)); + + camera->mCamera.Start(); + camera->mCamera.SetTrimSize(0); + fopAcM_delete(parent); + } +} + +/* 805C50BC-805C50F0 00A33C 0034+00 1/1 0/0 0/0 .text DemoSkipCallBack__8daB_DR_cFPvi */ +int daB_DR_c::DemoSkipCallBack(void* i_proc, int param_1) { + if (i_proc != NULL) { + ((daB_DR_c*)i_proc)->demo_skip(param_1); + return 1; + } + + return 0; +} + +/* 805C50F0-805C5588 00A370 0498+00 1/1 0/0 0/0 .text execute__8daB_DR_cFv */ +int daB_DR_c::execute() { + if (field_0x7d5 != 0) { + cXyz restart_pos; + csXyz restart_angle; + + if (field_0x7d5 > 10) { + field_0x7d5 -= 10; + return 1; + } + + if (field_0x7d5 == 2) { + daNpcF_getPlayerInfoFromPlayerList(2, fopAcM_GetRoomNo(this), restart_pos, restart_angle); + dComIfGs_setRestartRoom(restart_pos, restart_angle.y, fopAcM_GetRoomNo(this)); + OS_REPORT("2階からスタート \n"); + OS_REPORT("2階からスタート \n"); + OS_REPORT("2階からスタート \n"); + } else { + daNpcF_getPlayerInfoFromPlayerList(0, fopAcM_GetRoomNo(this), restart_pos, restart_angle); + dComIfGs_setRestartRoom(restart_pos, restart_angle.y, fopAcM_GetRoomNo(this)); + } + + field_0x7d5 = 0; + } + + if (arg0 == 0xFF) { + if (parentActorID != 0 && health > 1 && cLib_calcTimer(&mTimer[0]) == 0) { + fopAc_ac_c* parent; + if (fopAcM_SearchByID(parentActorID, &parent) != 0 && parent != NULL && parent->subtype != 1) { + if (dComIfGs_isZoneSwitch(20, fopAcM_GetRoomNo(this))) { + dComIfGp_getEvent().setSkipProc(this, DemoSkipCallBack, 0); + } + } else if (!dComIfGs_isZoneSwitch(0, fopAcM_GetRoomNo(this)) && cLib_calcTimer(&mTimer[0]) == 0) { + dComIfGs_onZoneSwitch(0, fopAcM_GetRoomNo(this)); + dComIfGs_onZoneSwitch(20, fopAcM_GetRoomNo(this)); + Z2GetAudioMgr()->bgmStart(Z2BGM_DRAGON_BTL01, 0, 0); + arg0 = 0; + } + } + + if (arg0 == 0xFF) { + return 1; + } + } + + if (arg0 == 0xFE && cLib_calcTimer(&mTimer[0]) == 0) { + if (parentActorID != 0) { + fopAc_ac_c* parent = NULL; + if (!fopAcM_SearchByID(parentActorID, &parent)) { + if (!dComIfGp_event_runCheck()) { + arg0 = 1; + field_0x7d1 = 2; + parentActorID = 0; + mBreakPartsNo = 3; + mTargetHeight = 6000.0f + home.pos.y; + setBck(ANM_DR_TAKE_OFF, 0, 10.0f, 1.0f); + mBoot_c_trance.zero(); + field_0x724 = 50.0f; + mMoveMode = 100; + dComIfGs_onZoneSwitch(2, fopAcM_GetRoomNo(this)); + } + } else { + current.pos.set(parent->current.pos); + current.angle = parent->current.angle; + shape_angle = parent->shape_angle; + + if (parent->subtype == 1 && field_0x7e0 < 54) { + if (mAnm != ANM_DR_BURU) { + setBck(ANM_DR_BURU, 0, 0.0f, 1.0f); + mpModelMorf->setStartFrame(111.0f); + mSound.startCreatureSound(Z2SE_EN_DR_CRASH, 0, -1); + } + + mpModelMorf->play(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(l_HIO.model_size, l_HIO.model_size, l_HIO.model_size); + mpModelMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); + mpModelMorf->modelCalc(); + + chkPartCreate(1); + } + } + } + return 1; + } + + switch (arg0) { + case 10: + action_fire(); + break; + case 20: + case 21: + action_parts(); + parts_mtx_set(); + break; + default: + action(); + mtx_set(); + cc_set(); + + if (field_0x7d7 != 0) { + down_cc_set(); + } + } + + return 1; +} + +/* 805C5588-805C55A8 00A808 0020+00 2/1 0/0 0/0 .text daB_DR_Execute__FP8daB_DR_c */ +static int daB_DR_Execute(daB_DR_c* i_this) { + return i_this->execute(); +} + +/* 805C55A8-805C55B0 00A828 0008+00 1/0 0/0 0/0 .text daB_DR_IsDelete__FP8daB_DR_c */ +static int daB_DR_IsDelete(daB_DR_c* i_this) { + return 1; +} + +/* 805C55B0-805C5684 00A830 00D4+00 1/1 0/0 0/0 .text _delete__8daB_DR_cFv */ +int daB_DR_c::_delete() { + dComIfG_resDelete(&mPhase, "B_DR"); + + if (arg0 == 10) { + return 1; + } + + if (arg0 == 0x14 || arg0 == 0x15) { + if (heap != NULL) { + mSound.deleteObject(); + return 1; + } + } + + if (mInitHIO) { + l_initHIO = 0; + } + + if (heap != NULL) { + mSound.deleteObject(); + mSound2.deleteObject(); + } + + return 1; +} + +/* 805C5684-805C56A4 00A904 0020+00 1/0 0/0 0/0 .text daB_DR_Delete__FP8daB_DR_c */ +static int daB_DR_Delete(daB_DR_c* i_this) { + return i_this->_delete(); +} + +/* 805C56A4-805C590C 00A924 0268+00 1/1 0/0 0/0 .text CreateHeap__8daB_DR_cFv */ +int daB_DR_c::CreateHeap() { + if (arg0 == 0x14 || arg0 == 0x15) { + static int mPartDt[] = {74, 74, 75, 76, 77, 78}; + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_DR", mPartDt[mPartNo]); + JUT_ASSERT(6312, modelData != 0); + + mpPartModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203); + if (mpPartModel == NULL) { + return 0; + } + + return 1; + } + + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_DR", 0x49); + JUT_ASSERT(6324, modelData != 0); + + mpModelMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_DR", 0x2F), 2, 1.0f, 0, -1, &mSound, 0, 0x11000084); + if (mpModelMorf == NULL || mpModelMorf->getModel() == NULL) { + return 0; + } + + mpCoreBrk = new mDoExt_brkAnm(); + if (mpCoreBrk == NULL) { + return 0; + } + + J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_DR", 0x51); + if (!mpCoreBrk->init(mpModelMorf->getModel()->getModelData(), pbrk, 1, 2, 1.0f, 0, -1)) { + return 0; + } + + this->model = mpModelMorf->getModel(); + this->model->setUserArea((u32)this); + + for (u16 i = 0; i < this->model->getModelData()->getJointNum(); i++) { + if (i != 0) { + this->model->getModelData()->getJointNodePointer(i)->setCallBack(JointCallBack); + } + } + + return 1; +} + +/* 805C5954-805C5974 00ABD4 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ +static int useHeapInit(fopAc_ac_c* i_this) { + return ((daB_DR_c*)i_this)->CreateHeap(); +} + +/* 805C5974-805C62B0 00ABF4 093C+00 1/1 0/0 0/0 .text create__8daB_DR_cFv */ +int daB_DR_c::create() { + fopAcM_SetupActor(this, daB_DR_c); + + int phase_state = dComIfG_resLoad(&mPhase, "B_DR"); + if (phase_state == cPhs_COMPLEATE_e) { + u32 heap_size = 0x68E0; + + arg0 = fopAcM_GetParam(this); + bitSw = (fopAcM_GetParam(this) & 0xFF00) >> 8; + bitSw2 = (fopAcM_GetParam(this) & 0xFF0000) >> 0x10; + bitSw3 = (fopAcM_GetParam(this) & 0xFF000000) >> 0x18; + + if (arg0 == 0xFF) { + arg0 = 0; + } + + switch (arg0) { + case 20: + case 21: + mPartNo = bitSw; + if (mPartNo > 5) { + mPartNo = 0; + } + bitSw = 0xFF; + OS_REPORT("パーツ %d\n", mPartNo); + case 10: + attention_info.distances[fopAc_attn_BATTLE_e] = 0; + attention_info.flags &= ~0x4; + + fopAcM_SetGroup(this, 0); + fopAcM_OffStatus(this, 0); + + gravity = 0.0f; + shape_angle = current.angle; + + if (arg0 == 0xA) { + mColliderStts.Init(0xFF, 0, this); + mBreathAtCc.Set(cc_dr_breath_at_src); + mBreathAtCc.SetStts(&mColliderStts); + setActionMode(0xE, 0); + } else { + static u32 mParts_EstimateSizeDt[] = {0x1980, 0x1990, 0xD50, 0xD40, 0xD40, 0xD40}; + if (arg0 != 0xA && !fopAcM_entrySolidHeap(this, useHeapInit, mParts_EstimateSizeDt[mPartNo])) { + return cPhs_ERROR_e; + } + + mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), NULL, NULL); + mAcchCir.SetWall(20.0f, 40.0f); + mAcch.CrrPos(dComIfG_Bgsp()); + gravity = -3.0f; + + mSound.init(¤t.pos, &eyePos, 3, 1); + mColliderStts.Init(0x19, NULL, this); + + fopAcM_OnStatus(this, 0x4000); + + if (arg0 == 0x14) { + setActionMode(0xF, 0); + } else { + setActionMode(0xF, 10); + } + } + break; + default: + if (dComIfGs_isStageBossEnemy()) { + cXyz warp_pos(-325.0f, 0.0f, 215.0f); + OS_REPORT("B_DR やられ後なので再セットしません\n"); + fopAcM_createWarpHole(&warp_pos, &shape_angle, fopAcM_GetRoomNo(this), 2, 0, 0xFF); + + if (!dComIfGs_isStageLife()) { + cXyz size(1.0f, 1.0f, 1.0f); + cXyz pos; + csXyz angle; + + angle.x = angle.y = angle.z = 0; + pos.set(224.0f, 0.0f, 762.0f); + + fopAcM_createItemForBoss(&pos, fpcNm_ITEM_UTAWA_HEART, fopAcM_GetRoomNo(this), &angle, &size, 0.0f, 0.0f, -1); + } + + dScnKy_env_light_c* kankyo = dKy_getEnvlight(); + kankyo->field_0x12cc = 0; + return cPhs_ERROR_e; + } + + if (!fopAcM_entrySolidHeap(this, useHeapInit, heap_size)) { + return cPhs_ERROR_e; + } + + OS_REPORT("B_DR PARAM %x\n", fopAcM_GetParam(this)); + OS_REPORT("B_DR arg0 %x\n", arg0); + OS_REPORT("cDmr_SkipInfo %d\n", cDmr_SkipInfo); + OS_REPORT("B_DR bitSw %d\n", bitSw); + OS_REPORT("B_DR bitSw2 %d\n", bitSw2); + OS_REPORT("B_DR bitSw3 %d\n\n", bitSw3); + + if (bitSw != 0xFF) { + fopAcM_offSwitch(this, bitSw); + } + if (bitSw2 != 0xFF) { + fopAcM_offSwitch(this, bitSw2); + } + if (bitSw3 != 0xFF) { + fopAcM_offSwitch(this, bitSw3); + } + + dComIfGs_offSaveDunSwitch(22); + onWolfNoLock(); + + health = 24; + field_0x560 = 24; + + if (!l_initHIO) { + l_initHIO = true; + mInitHIO = true; + l_HIO.field_0x4 = mDoHIO_CREATE_CHILD("翼竜", &l_HIO); + } + + shape_angle.z = 0; + shape_angle.x = 0; + shape_angle.y = current.angle.y; + + attention_info.distances[fopAc_attn_BATTLE_e] = 85; + attention_info.flags = 4; + + fopAcM_SetMtx(this, mpModelMorf->getModel()->getBaseTRMtx()); + fopAcM_SetMin(this, -20000.0f, -20000.0f, -20000.0f); + fopAcM_SetMax(this, 20000.0f, 20000.0f, 20000.0f); + + mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), NULL, NULL); + mAcchCir.SetWall(0.0f, 300.0f); + mAcch.CrrPos(dComIfG_Bgsp()); + + mColliderStts.Init(0xFF, 0, this); + mPillarCc.Set(cc_pillar_src); + mPillarCc.SetStts(&mColliderStts); + + mWeekCc.Set(cc_dr_week_src); + mWeekCc.SetStts(&mColliderStts); + mWeekCc.OffTgSetBit(); + + mWindAtCc.Set(cc_dr_wind_at_src); + mWindAtCc.SetStts(&mColliderStts); + + mWindAtCc2.Set(cc_dr_wind_at_src); + mWindAtCc2.SetStts(&mColliderStts); + + mWindAtCc3.Set(cc_dr_wind_at_src); + mWindAtCc3.SetStts(&mColliderStts); + + mTailCc.Set(cc_dr_tail_src); + mTailCc.SetStts(&mColliderStts); + + for (int i = 0; i < 5; i++) { + mDownCc[i].Set(cc_down_src); + mDownCc[i].SetStts(&mColliderStts); + } + + for (int i = 0; i < 9; i++) { + mDownSphCc[i].Set(cc_downSph_src); + mDownSphCc[i].SetStts(&mColliderStts); + } + + for (int i = 0; i < 2; i++) { + mFootAtCc[i].Set(cc_dr_foot_at_src); + mFootAtCc[i].SetStts(&mColliderStts); + } + + field_0x784.set(current.pos); + field_0x790.set(current.pos); + mSound.init(¤t.pos, &field_0x790, &eyePos, 3, 1, 1); + mSound2.init(&field_0x784, &eyePos, 3, 1); + + field_0x7a8.set(current.pos); + + field_0x27a8 = &mSound; + field_0x27be = 11; + field_0x752 = 4096.0f + cM_rndFX(2048.0f); + field_0x724 = 100.0f; + + current.pos.y += 1500.0f; + setBck(ANM_DR_FLY, 2, 3.0f, 1.0f); + setActionMode(ACTION_GLIDER_ATTACK, 0); + + mTargetHeight = 1500.0f + mAcch.GetGroundH(); + if (-1000000000.0f == mAcch.GetGroundH()) { + mTargetHeight = 1500.0f + current.pos.y; + } + if (dComIfGs_isZoneSwitch(1, fopAcM_GetRoomNo(this))) { + mTargetHeight = 6000.0f + home.pos.y; + } + + if (WREG_S(1) != 0) { + setActionMode(ACTION_WIND_ATTACK, 0); + } + + if (dComIfGs_isZoneSwitch(2, fopAcM_GetRoomNo(this))) { + field_0x724 = 100.0f; + fopAcM_onSwitch(this, 16); + arg0 = 1; + field_0x7d1 = 2; + mBreakPartsNo = 3; + field_0x750 = JREG_S(8) + 200; + setActionMode(ACTION_FLY_WAIT, 0); + + dScnKy_env_light_c* kankyo = dKy_getEnvlight(); + kankyo->field_0x12cc = 2; + } + + if (arg0 == 0) { + mtx_set(); + if (cDmr_SkipInfo == 0 && !dComIfGs_isZoneSwitch(0, fopAcM_GetRoomNo(this))) { + arg0 = 0xFF; + field_0x7d5 = 0xB; + mTimer[0] = 2; + + if (BREG_S(5) == 0) { + parentActorID = fopAcM_createChild(PROC_L7ODR, fopAcM_GetID(this), 0, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL); + mStatusONOFF(0); + } else if (BREG_S(0) != 0) { + parentActorID = fopAcM_createChild(PROC_B_DRE, fopAcM_GetID(this), 0, ¤t.pos, fopAcM_GetRoomNo(this), &shape_angle, NULL, -1, NULL); + } + + dScnKy_env_light_c* kankyo = dKy_getEnvlight(); + kankyo->field_0x12cc = 0; + } + + if (cDmr_SkipInfo != 0 || dComIfGs_isZoneSwitch(0, fopAcM_GetRoomNo(this)) ) { + Z2GetAudioMgr()->bgmStart(Z2BGM_DRAGON_BTL01, 0, 0); + field_0x7d5 = 0xC; + cDmr_SkipInfo = 0; + + dComIfGs_onZoneSwitch(0, fopAcM_GetRoomNo(this)); + dComIfGs_onZoneSwitch(20, fopAcM_GetRoomNo(this)); + if (dComIfGs_isZoneSwitch(1, fopAcM_GetRoomNo(this))) { + field_0x7d1 = 1; + mBreakPartsNo++; + } + } + } + } + + daB_DR_Execute(this); + } + + return phase_state; +} + +/* 805C62B0-805C6678 00B530 03C8+00 1/1 0/0 0/0 .text __ct__8daB_DR_cFv */ +daB_DR_c::daB_DR_c() {} + +/* 805C6B2C-805C6B4C 00BDAC 0020+00 1/0 0/0 0/0 .text daB_DR_Create__FP8daB_DR_c */ +static int daB_DR_Create(daB_DR_c* i_this) { + return i_this->create(); +} /* 805C77E4-805C7804 -00001 0020+00 1/0 0/0 0/0 .data l_daB_DR_Method */ static actor_method_class l_daB_DR_Method = { - (process_method_func)daB_DR_Create__FP8daB_DR_c, - (process_method_func)daB_DR_Delete__FP8daB_DR_c, - (process_method_func)daB_DR_Execute__FP8daB_DR_c, - (process_method_func)daB_DR_IsDelete__FP8daB_DR_c, - (process_method_func)daB_DR_Draw__FP8daB_DR_c, + (process_method_func)daB_DR_Create, + (process_method_func)daB_DR_Delete, + (process_method_func)daB_DR_Execute, + (process_method_func)daB_DR_IsDelete, + (process_method_func)daB_DR_Draw, }; /* 805C7804-805C7834 -00001 0030+00 0/0 0/0 1/0 .data g_profile_B_DR */ @@ -736,2356 +4333,4 @@ extern actor_process_profile_definition g_profile_B_DR = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -/* 805C7834-805C7840 0005EC 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 805C7840-805C784C 0005F8 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 805C784C-805C7858 000604 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 805C7858-805C7864 000610 000C+00 4/4 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; - -/* 805C7864-805C7870 00061C 000C+00 4/4 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 805C7870-805C787C 000628 000C+00 6/6 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 805C787C-805C78A0 000634 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_805C6C58, - (void*)NULL, - (void*)NULL, - (void*)func_805C6C50, -}; - -/* 805C78A0-805C78AC 000658 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; - -/* 805C78AC-805C78B8 000664 000C+00 2/2 0/0 0/0 .data __vt__12daB_DR_HIO_c */ -SECTION_DATA extern void* __vt__12daB_DR_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daB_DR_HIO_cFv, -}; - -/* 805BAE6C-805BAF80 0000EC 0114+00 1/1 0/0 0/0 .text __ct__12daB_DR_HIO_cFv */ -daB_DR_HIO_c::daB_DR_HIO_c() { - // NONMATCHING -} - -/* 805BAF80-805BB0E4 000200 0164+00 1/1 0/0 0/0 .text ctrlJoint__8daB_DR_cFP8J3DJointP8J3DModel */ -void daB_DR_c::ctrlJoint(J3DJoint* param_0, J3DModel* param_1) { - // NONMATCHING -} - -/* 805BB0E4-805BB120 000364 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 805BB120-805BB16C 0003A0 004C+00 1/1 0/0 0/0 .text JointCallBack__8daB_DR_cFP8J3DJointi */ -void daB_DR_c::JointCallBack(J3DJoint* param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6CA0-805C6CA4 00002C 0004+00 0/5 0/0 0/0 .rodata @4010 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4010 = 6000.0f; -COMPILER_STRIP_GATE(0x805C6CA0, &lit_4010); -#pragma pop - -/* 805C6CA4-805C6CA8 000030 0004+00 7/34 0/0 0/0 .rodata @4011 */ -SECTION_RODATA static u8 const lit_4011[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805C6CA4, &lit_4011); - -/* 805C6CA8-805C6CAC 000034 0004+00 2/21 0/0 0/0 .rodata @4012 */ -SECTION_RODATA static f32 const lit_4012 = 1.0f; -COMPILER_STRIP_GATE(0x805C6CA8, &lit_4012); - -/* 805BB16C-805BB3E8 0003EC 027C+00 1/1 0/0 0/0 .text draw__8daB_DR_cFv */ -void daB_DR_c::draw() { - // NONMATCHING -} - -/* 805BB3E8-805BB408 000668 0020+00 1/0 0/0 0/0 .text daB_DR_Draw__FP8daB_DR_c */ -static void daB_DR_Draw(daB_DR_c* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6CAC-805C6CB0 000038 0004+00 2/4 0/0 0/0 .rodata @4022 */ -SECTION_RODATA static f32 const lit_4022 = -1.0f; -COMPILER_STRIP_GATE(0x805C6CAC, &lit_4022); - -/* 805C7240-805C7240 0005CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_805C7240 = "B_DR"; -#pragma pop - -/* 805BB408-805BB4B4 000688 00AC+00 11/11 0/0 0/0 .text setBck__8daB_DR_cFiUcff */ -void daB_DR_c::setBck(int param_0, u8 param_1, f32 param_2, f32 param_3) { - // NONMATCHING -} - -/* 805BB4B4-805BB4CC 000734 0018+00 13/13 0/0 0/0 .text setActionMode__8daB_DR_cFii */ -void daB_DR_c::setActionMode(int param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6CB0-805C6CB4 00003C 0004+00 1/1 0/0 0/0 .rodata @4040 */ -SECTION_RODATA static f32 const lit_4040 = -1000.0f; -COMPILER_STRIP_GATE(0x805C6CB0, &lit_4040); - -/* 805BB4CC-805BB540 00074C 0074+00 1/1 0/0 0/0 .text mGlider_WindPosSet__8daB_DR_cFv */ -void daB_DR_c::mGlider_WindPosSet() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6CB4-805C6CB8 000040 0004+00 0/1 0/0 0/0 .rodata @4066 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4066 = -500.0f; -COMPILER_STRIP_GATE(0x805C6CB4, &lit_4066); -#pragma pop - -/* 805C6CB8-805C6CBC 000044 0004+00 0/2 0/0 0/0 .rodata @4067 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4067 = 500.0f; -COMPILER_STRIP_GATE(0x805C6CB8, &lit_4067); -#pragma pop - -/* 805C6CBC-805C6CC0 000048 0004+00 0/2 0/0 0/0 .rodata @4068 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4068 = 45.0f; -COMPILER_STRIP_GATE(0x805C6CBC, &lit_4068); -#pragma pop - -/* 805BB540-805BB64C 0007C0 010C+00 2/2 0/0 0/0 .text mBoot_c_tranceSet__8daB_DR_cFb */ -void daB_DR_c::mBoot_c_tranceSet(bool param_0) { - // NONMATCHING -} - -/* 805BB64C-805BB6E8 0008CC 009C+00 9/9 0/0 0/0 .text mStatusONOFF__8daB_DR_cFi */ -void daB_DR_c::mStatusONOFF(int param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6CC0-805C6CC4 00004C 0004+00 0/1 0/0 0/0 .rodata @4310 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4310 = 14.0f; -COMPILER_STRIP_GATE(0x805C6CC0, &lit_4310); -#pragma pop - -/* 805BB6E8-805BBFC0 000968 08D8+00 2/1 0/0 0/0 .text setSe__8daB_DR_cFv */ -void daB_DR_c::setSe() { - // NONMATCHING -} - -/* 805BBFC0-805BC0B8 001240 00F8+00 1/1 0/0 0/0 .text setDeathLightEffect__8daB_DR_cFv */ -void daB_DR_c::setDeathLightEffect() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6CC4-805C6CC8 000050 0004+00 0/9 0/0 0/0 .rodata @4311 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4311 = 3.0f; -COMPILER_STRIP_GATE(0x805C6CC4, &lit_4311); -#pragma pop - -/* 805C6CC8-805C6CCC 000054 0004+00 0/0 0/0 0/0 .rodata @4312 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4312 = 18.0f; -COMPILER_STRIP_GATE(0x805C6CC8, &lit_4312); -#pragma pop - -/* 805C6CCC-805C6CD0 000058 0004+00 0/2 0/0 0/0 .rodata @4313 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4313 = 30.0f; -COMPILER_STRIP_GATE(0x805C6CCC, &lit_4313); -#pragma pop - -/* 805C6CD0-805C6CD4 00005C 0004+00 0/0 0/0 0/0 .rodata @4314 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4314 = 9.0f; -COMPILER_STRIP_GATE(0x805C6CD0, &lit_4314); -#pragma pop - -/* 805C6CD4-805C6CD8 000060 0004+00 0/0 0/0 0/0 .rodata @4315 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4315 = 76.0f; -COMPILER_STRIP_GATE(0x805C6CD4, &lit_4315); -#pragma pop - -/* 805C6CD8-805C6CDC 000064 0004+00 0/0 0/0 0/0 .rodata @4316 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4316 = 42.0f; -COMPILER_STRIP_GATE(0x805C6CD8, &lit_4316); -#pragma pop - -/* 805C6CDC-805C6CE0 000068 0004+00 0/0 0/0 0/0 .rodata @4317 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4317 = 12.0f; -COMPILER_STRIP_GATE(0x805C6CDC, &lit_4317); -#pragma pop - -/* 805C6CE0-805C6CE4 00006C 0004+00 0/0 0/0 0/0 .rodata @4318 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4318 = 55.0f; -COMPILER_STRIP_GATE(0x805C6CE0, &lit_4318); -#pragma pop - -/* 805C6CE4-805C6CE8 000070 0004+00 0/0 0/0 0/0 .rodata @4319 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4319 = 103.0f; -COMPILER_STRIP_GATE(0x805C6CE4, &lit_4319); -#pragma pop - -/* 805C6CE8-805C6CEC 000074 0004+00 0/0 0/0 0/0 .rodata @4320 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4320 = 143.0f; -COMPILER_STRIP_GATE(0x805C6CE8, &lit_4320); -#pragma pop - -/* 805C6CEC-805C6CF0 000078 0004+00 0/1 0/0 0/0 .rodata @4321 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4321 = 7.0f; -COMPILER_STRIP_GATE(0x805C6CEC, &lit_4321); -#pragma pop - -/* 805C6CF0-805C6CF4 00007C 0004+00 0/5 0/0 0/0 .rodata @4322 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4322 = 40.0f; -COMPILER_STRIP_GATE(0x805C6CF0, &lit_4322); -#pragma pop - -/* 805C6CF4-805C6CF8 000080 0004+00 0/1 0/0 0/0 .rodata @4323 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4323 = 75.0f; -COMPILER_STRIP_GATE(0x805C6CF4, &lit_4323); -#pragma pop - -/* 805C6CF8-805C6CFC 000084 0004+00 0/0 0/0 0/0 .rodata @4324 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4324 = 177.0f; -COMPILER_STRIP_GATE(0x805C6CF8, &lit_4324); -#pragma pop - -/* 805C6CFC-805C6D00 000088 0004+00 0/0 0/0 0/0 .rodata @4325 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4325 = 210.0f; -COMPILER_STRIP_GATE(0x805C6CFC, &lit_4325); -#pragma pop - -/* 805C6D00-805C6D04 00008C 0004+00 0/0 0/0 0/0 .rodata @4326 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4326 = 243.0f; -COMPILER_STRIP_GATE(0x805C6D00, &lit_4326); -#pragma pop - -/* 805C6D04-805C6D08 000090 0004+00 0/0 0/0 0/0 .rodata @4327 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4327 = 270.0f; -COMPILER_STRIP_GATE(0x805C6D04, &lit_4327); -#pragma pop - -/* 805C6D08-805C6D0C 000094 0004+00 0/0 0/0 0/0 .rodata @4328 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4328 = 309.0f; -COMPILER_STRIP_GATE(0x805C6D08, &lit_4328); -#pragma pop - -/* 805C6D0C-805C6D10 000098 0004+00 0/0 0/0 0/0 .rodata @4329 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4329 = 53.0f; -COMPILER_STRIP_GATE(0x805C6D0C, &lit_4329); -#pragma pop - -/* 805C6D10-805C6D14 00009C 0004+00 0/0 0/0 0/0 .rodata @4330 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4330 = 95.0f; -COMPILER_STRIP_GATE(0x805C6D10, &lit_4330); -#pragma pop - -/* 805C6D14-805C6D18 0000A0 0004+00 0/0 0/0 0/0 .rodata @4331 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4331 = 115.0f; -COMPILER_STRIP_GATE(0x805C6D14, &lit_4331); -#pragma pop - -/* 805C6D18-805C6D1C 0000A4 0004+00 0/0 0/0 0/0 .rodata @4332 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4332 = 72.0f; -COMPILER_STRIP_GATE(0x805C6D18, &lit_4332); -#pragma pop - -/* 805C6D1C-805C6D20 0000A8 0004+00 0/0 0/0 0/0 .rodata @4333 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4333 = 88.0f; -COMPILER_STRIP_GATE(0x805C6D1C, &lit_4333); -#pragma pop - -/* 805C6D20-805C6D24 0000AC 0004+00 0/0 0/0 0/0 .rodata @4334 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4334 = 107.0f; -COMPILER_STRIP_GATE(0x805C6D20, &lit_4334); -#pragma pop - -/* 805C6D24-805C6D28 0000B0 0004+00 0/0 0/0 0/0 .rodata @4335 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4335 = 17.0f; -COMPILER_STRIP_GATE(0x805C6D24, &lit_4335); -#pragma pop - -/* 805C6D28-805C6D2C 0000B4 0004+00 0/0 0/0 0/0 .rodata @4336 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4336 = 6.0f; -COMPILER_STRIP_GATE(0x805C6D28, &lit_4336); -#pragma pop - -/* 805C6D2C-805C6D30 0000B8 0004+00 0/0 0/0 0/0 .rodata @4337 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4337 = 36.0f; -COMPILER_STRIP_GATE(0x805C6D2C, &lit_4337); -#pragma pop - -/* 805C6D30-805C6D34 0000BC 0004+00 0/1 0/0 0/0 .rodata @4338 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4338 = 8.0f; -COMPILER_STRIP_GATE(0x805C6D30, &lit_4338); -#pragma pop - -/* 805C6D34-805C6D38 0000C0 0004+00 0/0 0/0 0/0 .rodata @4339 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4339 = 21.0f; -COMPILER_STRIP_GATE(0x805C6D34, &lit_4339); -#pragma pop - -/* 805C6D38-805C6D3C 0000C4 0004+00 0/0 0/0 0/0 .rodata @4340 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4340 = 26.0f; -COMPILER_STRIP_GATE(0x805C6D38, &lit_4340); -#pragma pop - -/* 805C6D3C-805C6D40 0000C8 0004+00 0/0 0/0 0/0 .rodata @4341 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4341 = 31.0f; -COMPILER_STRIP_GATE(0x805C6D3C, &lit_4341); -#pragma pop - -/* 805C6D40-805C6FCC 0000CC 0288+04 1/1 0/0 0/0 .rodata BREAK_PARTS_DT$4370 */ -SECTION_RODATA static u8 const BREAK_PARTS_DT[648 + 4 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x11, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x11, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x02, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2B, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2B, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2C, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2C, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2D, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2D, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2E, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2E, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x06, - 0x00, - 0x00, - 0x00, - 0x04, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2B, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2B, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2E, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2E, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x0C, - 0x00, - 0x00, - 0x00, - 0x05, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x13, - 0x00, - 0x00, - 0x00, - 0x02, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x12, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x11, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x11, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x10, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x1A, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2B, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2B, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x80, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2C, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2C, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2D, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2D, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2E, - 0x00, - 0x00, - 0x00, - 0x00, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2E, - 0x00, - 0x00, - 0x00, - 0x01, - 0x3F, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x2F, - 0x00, - 0x00, - 0x00, - 0x03, - 0x3F, - 0x80, - 0x00, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x805C6D40, &BREAK_PARTS_DT); - -/* 805BC0B8-805BC248 001338 0190+00 3/3 0/0 0/0 .text chkPartCreate__8daB_DR_cFb */ -void daB_DR_c::chkPartCreate(bool param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6FCC-805C6FD4 000358 0008+00 0/5 0/0 0/0 .rodata @4530 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4530[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805C6FCC, &lit_4530); -#pragma pop - -/* 805C78C0-805C78C4 000008 0001+03 1/1 0/0 0/0 .bss @1109 */ -static u8 lit_1109[1 + 3 /* padding */]; - -/* 805C78C4-805C78C8 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */ -#pragma push -#pragma force_active on -static u8 lit_1107[1 + 3 /* padding */]; -#pragma pop - -/* 805C78C8-805C78CC 000010 0001+03 0/0 0/0 0/0 .bss @1105 */ -#pragma push -#pragma force_active on -static u8 lit_1105[1 + 3 /* padding */]; -#pragma pop - -/* 805C78CC-805C78D0 000014 0001+03 0/0 0/0 0/0 .bss @1104 */ -#pragma push -#pragma force_active on -static u8 lit_1104[1 + 3 /* padding */]; -#pragma pop - -/* 805C78D0-805C78D4 000018 0001+03 0/0 0/0 0/0 .bss @1099 */ -#pragma push -#pragma force_active on -static u8 lit_1099[1 + 3 /* padding */]; -#pragma pop - -/* 805C78D4-805C78D8 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */ -#pragma push -#pragma force_active on -static u8 lit_1097[1 + 3 /* padding */]; -#pragma pop - -/* 805C78D8-805C78DC 000020 0001+03 0/0 0/0 0/0 .bss @1095 */ -#pragma push -#pragma force_active on -static u8 lit_1095[1 + 3 /* padding */]; -#pragma pop - -/* 805C78DC-805C78E0 000024 0001+03 0/0 0/0 0/0 .bss @1094 */ -#pragma push -#pragma force_active on -static u8 lit_1094[1 + 3 /* padding */]; -#pragma pop - -/* 805C78E0-805C78E4 000028 0001+03 0/0 0/0 0/0 .bss @1057 */ -#pragma push -#pragma force_active on -static u8 lit_1057[1 + 3 /* padding */]; -#pragma pop - -/* 805C78E4-805C78E8 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */ -#pragma push -#pragma force_active on -static u8 lit_1055[1 + 3 /* padding */]; -#pragma pop - -/* 805C78E8-805C78EC 000030 0001+03 0/0 0/0 0/0 .bss @1053 */ -#pragma push -#pragma force_active on -static u8 lit_1053[1 + 3 /* padding */]; -#pragma pop - -/* 805C78EC-805C78F0 000034 0001+03 0/0 0/0 0/0 .bss @1052 */ -#pragma push -#pragma force_active on -static u8 lit_1052[1 + 3 /* padding */]; -#pragma pop - -/* 805C78F0-805C78F4 000038 0001+03 0/0 0/0 0/0 .bss @1014 */ -#pragma push -#pragma force_active on -static u8 lit_1014[1 + 3 /* padding */]; -#pragma pop - -/* 805C78F4-805C78F8 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */ -#pragma push -#pragma force_active on -static u8 lit_1012[1 + 3 /* padding */]; -#pragma pop - -/* 805C78F8-805C78FC 000040 0001+03 0/0 0/0 0/0 .bss @1010 */ -#pragma push -#pragma force_active on -static u8 lit_1010[1 + 3 /* padding */]; -#pragma pop - -/* 805C78FC-805C7900 -00001 0004+00 2/2 0/0 0/0 .bss None */ -/* 805C78FC 0001+00 data_805C78FC @1009 */ -/* 805C78FD 0003+00 data_805C78FD None */ -static u8 struct_805C78FC[4]; - -/* 805C7900-805C790C 000048 000C+00 1/1 0/0 0/0 .bss @3795 */ -static u8 lit_3795[12]; - -/* 805C790C-805C7974 000054 0068+00 18/18 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[104]; - -/* 805BC248-805BC57C 0014C8 0334+00 7/6 0/0 0/0 .text mHabatakiAnmSet__8daB_DR_cFi */ -void daB_DR_c::mHabatakiAnmSet(int param_0) { - // NONMATCHING -} - -/* 805BC57C-805BC8B4 0017FC 0338+00 3/2 0/0 0/0 .text mGlider_AniSet__8daB_DR_cFb */ -void daB_DR_c::mGlider_AniSet(bool param_0) { - // NONMATCHING -} - -/* 805BC8B4-805BCA10 001B34 015C+00 2/1 0/0 0/0 .text mGliderAtAniSet__8daB_DR_cFv */ -void daB_DR_c::mGliderAtAniSet() { - // NONMATCHING -} - -/* 805BCA10-805BCAD4 001C90 00C4+00 1/1 0/0 0/0 .text tail_hit_check__8daB_DR_cFv */ -void daB_DR_c::tail_hit_check() { - // NONMATCHING -} - -/* 805BCAD4-805BCBD0 001D54 00FC+00 1/1 0/0 0/0 .text week_hit_check__8daB_DR_cFv */ -void daB_DR_c::week_hit_check() { - // NONMATCHING -} - -/* 805BCBD0-805BCBF4 001E50 0024+00 1/1 0/0 0/0 .text mTimerClr__8daB_DR_cFv */ -void daB_DR_c::mTimerClr() { - // NONMATCHING -} - -/* 805BCBF4-805BCC18 001E74 0024+00 1/1 0/0 0/0 .text mCountClr__8daB_DR_cFv */ -void daB_DR_c::mCountClr() { - // NONMATCHING -} - -/* 805BCC18-805BCC4C 001E98 0034+00 12/12 0/0 0/0 .text mAllClr__8daB_DR_cFv */ -void daB_DR_c::mAllClr() { - // NONMATCHING -} - -/* 805BCC4C-805BCD7C 001ECC 0130+00 1/1 0/0 0/0 .text mHeadAngleSet__8daB_DR_cFv */ -void daB_DR_c::mHeadAngleSet() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6FD4-805C6FD8 000360 0004+00 0/0 0/0 0/0 .rodata @4617 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4617 = 34.0f; -COMPILER_STRIP_GATE(0x805C6FD4, &lit_4617); -#pragma pop - -/* 805C6FD8-805C6FDC 000364 0004+00 0/2 0/0 0/0 .rodata @4794 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4794 = 4000.0f; -COMPILER_STRIP_GATE(0x805C6FD8, &lit_4794); -#pragma pop - -/* 805C6FDC-805C6FE0 000368 0004+00 0/7 0/0 0/0 .rodata @4795 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4795 = -1000000000.0f; -COMPILER_STRIP_GATE(0x805C6FDC, &lit_4795); -#pragma pop - -/* 805C6FE0-805C6FE4 00036C 0004+00 0/6 0/0 0/0 .rodata @4796 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4796 = 300.0f; -COMPILER_STRIP_GATE(0x805C6FE0, &lit_4796); -#pragma pop - -/* 805C6FE4-805C6FE8 000370 0004+00 0/3 0/0 0/0 .rodata @4797 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4797 = 4.0f; -COMPILER_STRIP_GATE(0x805C6FE4, &lit_4797); -#pragma pop - -/* 805C6FE8-805C6FEC 000374 0004+00 1/12 0/0 0/0 .rodata @4798 */ -SECTION_RODATA static f32 const lit_4798 = 100.0f; -COMPILER_STRIP_GATE(0x805C6FE8, &lit_4798); - -/* 805BCD7C-805BCEA4 001FFC 0128+00 2/2 0/0 0/0 .text flapMove__8daB_DR_cFb */ -void daB_DR_c::flapMove(bool param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6FEC-805C6FF0 000378 0004+00 0/3 0/0 0/0 .rodata @4847 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4847 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x805C6FEC, &lit_4847); -#pragma pop - -/* 805C6FF0-805C6FF4 00037C 0004+00 0/3 0/0 0/0 .rodata @4848 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4848 = 1500.0f; -COMPILER_STRIP_GATE(0x805C6FF0, &lit_4848); -#pragma pop - -/* 805BCEA4-805BD05C 002124 01B8+00 3/3 0/0 0/0 .text revolutionMove__8daB_DR_cFv */ -void daB_DR_c::revolutionMove() { - // NONMATCHING -} - -/* 805BD05C-805BD15C 0022DC 0100+00 11/11 0/0 0/0 .text mPlayerHighCheck__8daB_DR_cFv */ -void daB_DR_c::mPlayerHighCheck() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6FF4-805C6FF8 000380 0004+00 0/1 0/0 0/0 .rodata @4946 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4946 = 80.0f; -COMPILER_STRIP_GATE(0x805C6FF4, &lit_4946); -#pragma pop - -/* 805BD15C-805BD3E4 0023DC 0288+00 3/3 0/0 0/0 .text mBgFallGroundCheck__8daB_DR_cFv */ -void daB_DR_c::mBgFallGroundCheck() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C6FF8-805C6FFC 000384 0004+00 0/3 0/0 0/0 .rodata @5001 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5001 = 400.0f; -COMPILER_STRIP_GATE(0x805C6FF8, &lit_5001); -#pragma pop - -/* 805C6FFC-805C7000 000388 0004+00 0/1 0/0 0/0 .rodata @5002 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5002 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x805C6FFC, &lit_5002); -#pragma pop - -/* 805C7000-805C7004 00038C 0004+00 0/1 0/0 0/0 .rodata @5003 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5003 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x805C7000, &lit_5003); -#pragma pop - -/* 805C7004-805C700C 000390 0004+04 0/1 0/0 0/0 .rodata @5004 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5004[1 + 1 /* padding */] = { - 1.0f / 10.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x805C7004, &lit_5004); -#pragma pop - -/* 805C700C-805C7014 000398 0008+00 0/9 0/0 0/0 .rodata @5005 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5005[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805C700C, &lit_5005); -#pragma pop - -/* 805C7014-805C701C 0003A0 0008+00 0/9 0/0 0/0 .rodata @5006 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5006[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805C7014, &lit_5006); -#pragma pop - -/* 805C701C-805C7024 0003A8 0008+00 0/9 0/0 0/0 .rodata @5007 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_5007[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805C701C, &lit_5007); -#pragma pop - -/* 805C7024-805C7028 0003B0 0004+00 0/2 0/0 0/0 .rodata @5008 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5008 = 4096.0f; -COMPILER_STRIP_GATE(0x805C7024, &lit_5008); -#pragma pop - -/* 805C7028-805C702C 0003B4 0004+00 0/3 0/0 0/0 .rodata @5009 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5009 = 2048.0f; -COMPILER_STRIP_GATE(0x805C7028, &lit_5009); -#pragma pop - -/* 805BD3E4-805BD5FC 002664 0218+00 3/3 0/0 0/0 .text normalHoverMove__8daB_DR_cFv */ -void daB_DR_c::normalHoverMove() { - // NONMATCHING -} - -/* 805BD5FC-805BD98C 00287C 0390+00 1/1 0/0 0/0 .text executeWait__8daB_DR_cFv */ -void daB_DR_c::executeWait() { - // NONMATCHING -} - -/* 805BD98C-805BDBC4 002C0C 0238+00 1/1 0/0 0/0 .text executeFlyWait__8daB_DR_cFv */ -void daB_DR_c::executeFlyWait() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C702C-805C7030 0003B8 0004+00 0/1 0/0 0/0 .rodata @5482 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5482 = 28.0f; -COMPILER_STRIP_GATE(0x805C702C, &lit_5482); -#pragma pop - -/* 805C7030-805C7034 0003BC 0004+00 0/2 0/0 0/0 .rodata @5483 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5483 = 150.0f; -COMPILER_STRIP_GATE(0x805C7030, &lit_5483); -#pragma pop - -/* 805C7034-805C7038 0003C0 0004+00 0/2 0/0 0/0 .rodata @5484 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5484 = 27.0f; -COMPILER_STRIP_GATE(0x805C7034, &lit_5484); -#pragma pop - -/* 805C7038-805C703C 0003C4 0004+00 0/2 0/0 0/0 .rodata @5485 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5485 = 1200.0f; -COMPILER_STRIP_GATE(0x805C7038, &lit_5485); -#pragma pop - -/* 805C703C-805C7040 0003C8 0004+00 0/2 0/0 0/0 .rodata @5486 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5486 = -1500.0f; -COMPILER_STRIP_GATE(0x805C703C, &lit_5486); -#pragma pop - -/* 805C7040-805C7044 0003CC 0004+00 0/3 0/0 0/0 .rodata @5487 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5487 = 200.0f; -COMPILER_STRIP_GATE(0x805C7040, &lit_5487); -#pragma pop - -/* 805BDBC4-805BE9B4 002E44 0DF0+00 1/1 0/0 0/0 .text executeTailHit__8daB_DR_cFv */ -void daB_DR_c::executeTailHit() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7044-805C7048 0003D0 0004+00 0/1 0/0 0/0 .rodata @5775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5775 = 870.0f; -COMPILER_STRIP_GATE(0x805C7044, &lit_5775); -#pragma pop - -/* 805C7048-805C704C 0003D4 0004+00 0/1 0/0 0/0 .rodata @5776 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5776 = -13.0f; -COMPILER_STRIP_GATE(0x805C7048, &lit_5776); -#pragma pop - -/* 805BE9B4-805BF4C8 003C34 0B14+00 1/1 0/0 0/0 .text executeWeekHit__8daB_DR_cFv */ -void daB_DR_c::executeWeekHit() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C704C-805C7050 0003D8 0004+00 0/1 0/0 0/0 .rodata @5866 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_5866 = 2200.0f; -COMPILER_STRIP_GATE(0x805C704C, &lit_5866); -#pragma pop - -/* 805C7974-805C7978 0000BC 0004+00 2/2 0/0 0/0 .bss None */ -static u8 data_805C7974[4]; - -/* 805BF4C8-805BF768 004748 02A0+00 2/2 0/0 0/0 .text mBreathSet__8daB_DR_cFv */ -void daB_DR_c::mBreathSet() { - // NONMATCHING -} - -/* 805BF768-805BFA6C 0049E8 0304+00 1/1 0/0 0/0 .text mBreathHighSet__8daB_DR_cFb */ -void daB_DR_c::mBreathHighSet(bool param_0) { - // NONMATCHING -} - -/* 805BFA6C-805BFD88 004CEC 031C+00 1/1 0/0 0/0 .text mFeintBreath__8daB_DR_cFv */ -void daB_DR_c::mFeintBreath() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7050-805C7054 0003DC 0004+00 0/4 0/0 0/0 .rodata @6185 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6185 = 0.5f; -COMPILER_STRIP_GATE(0x805C7050, &lit_6185); -#pragma pop - -/* 805BFD88-805C062C 005008 08A4+00 1/1 0/0 0/0 .text executeBreathAttack__8daB_DR_cFv */ -void daB_DR_c::executeBreathAttack() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7054-805C7058 0003E0 0004+00 0/3 0/0 0/0 .rodata @6349 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6349 = 3000.0f; -COMPILER_STRIP_GATE(0x805C7054, &lit_6349); -#pragma pop - -/* 805C7058-805C705C 0003E4 0004+00 0/1 0/0 0/0 .rodata @6350 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6350 = -3000.0f; -COMPILER_STRIP_GATE(0x805C7058, &lit_6350); -#pragma pop - -/* 805C705C-805C7060 0003E8 0004+00 0/1 0/0 0/0 .rodata @6351 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6351 = 1.25f; -COMPILER_STRIP_GATE(0x805C705C, &lit_6351); -#pragma pop - -/* 805C062C-805C0CAC 0058AC 0680+00 1/1 0/0 0/0 .text executeWindAttack__8daB_DR_cFv */ -void daB_DR_c::executeWindAttack() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7060-805C7064 0003EC 0004+00 0/1 0/0 0/0 .rodata @6412 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6412 = 1300.0f; -COMPILER_STRIP_GATE(0x805C7060, &lit_6412); -#pragma pop - -/* 805C0CAC-805C0EF8 005F2C 024C+00 1/1 0/0 0/0 .text mGliderMoveSub__8daB_DR_cFf */ -void daB_DR_c::mGliderMoveSub(f32 param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7064-805C7068 0003F0 0004+00 0/2 0/0 0/0 .rodata @6767 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6767 = 14000.0f; -COMPILER_STRIP_GATE(0x805C7064, &lit_6767); -#pragma pop - -/* 805C7068-805C706C 0003F4 0004+00 0/1 0/0 0/0 .rodata @6768 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6768 = 9000.0f; -COMPILER_STRIP_GATE(0x805C7068, &lit_6768); -#pragma pop - -/* 805C706C-805C7070 0003F8 0004+00 0/2 0/0 0/0 .rodata @6769 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6769 = 350.0f; -COMPILER_STRIP_GATE(0x805C706C, &lit_6769); -#pragma pop - -/* 805C0EF8-805C1E0C 006178 0F14+00 2/1 0/0 0/0 .text executeGliderAttack__8daB_DR_cFv */ -void daB_DR_c::executeGliderAttack() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7070-805C7074 0003FC 0004+00 0/0 0/0 0/0 .rodata @6770 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6770 = 8000.0f; -COMPILER_STRIP_GATE(0x805C7070, &lit_6770); -#pragma pop - -/* 805C7074-805C7078 000400 0004+00 0/1 0/0 0/0 .rodata @6771 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6771 = 5000.0f; -COMPILER_STRIP_GATE(0x805C7074, &lit_6771); -#pragma pop - -/* 805C7078-805C707C 000404 0004+00 0/0 0/0 0/0 .rodata @6772 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6772 = -4000.0f; -COMPILER_STRIP_GATE(0x805C7078, &lit_6772); -#pragma pop - -/* 805C707C-805C7080 000408 0004+00 0/0 0/0 0/0 .rodata @6773 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6773 = 1.0f / 40.0f; -COMPILER_STRIP_GATE(0x805C707C, &lit_6773); -#pragma pop - -/* 805C7080-805C7084 00040C 0004+00 0/0 0/0 0/0 .rodata @6774 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6774 = 90.0f; -COMPILER_STRIP_GATE(0x805C7080, &lit_6774); -#pragma pop - -/* 805C7084-805C7088 000410 0004+00 0/0 0/0 0/0 .rodata @6775 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6775 = 120.0f; -COMPILER_STRIP_GATE(0x805C7084, &lit_6775); -#pragma pop - -/* 805C7088-805C708C 000414 0004+00 0/2 0/0 0/0 .rodata @6927 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6927 = 3100.0f; -COMPILER_STRIP_GATE(0x805C7088, &lit_6927); -#pragma pop - -/* 805C708C-805C7090 000418 0004+00 0/1 0/0 0/0 .rodata @6928 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6928 = 5500.0f; -COMPILER_STRIP_GATE(0x805C708C, &lit_6928); -#pragma pop - -/* 805C7090-805C7094 00041C 0004+00 0/1 0/0 0/0 .rodata @6929 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6929 = -3100.0f; -COMPILER_STRIP_GATE(0x805C7090, &lit_6929); -#pragma pop - -/* 805C7094-805C7098 000420 0004+00 0/1 0/0 0/0 .rodata @6930 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_6930 = 22.0f; -COMPILER_STRIP_GATE(0x805C7094, &lit_6930); -#pragma pop - -/* 805C7978-805C7988 0000C0 000C+04 0/1 0/0 0/0 .bss @6782 */ -#pragma push -#pragma force_active on -static u8 lit_6782[12 + 4 /* padding */]; -#pragma pop - -/* 805C7988-805C7994 0000D0 000C+00 0/1 0/0 0/0 .bss @6785 */ -#pragma push -#pragma force_active on -static u8 lit_6785[12]; -#pragma pop - -/* 805C7994-805C79A0 0000DC 000C+00 0/1 0/0 0/0 .bss @6786 */ -#pragma push -#pragma force_active on -static u8 lit_6786[12]; -#pragma pop - -/* 805C79A0-805C79AC 0000E8 000C+00 0/1 0/0 0/0 .bss @6787 */ -#pragma push -#pragma force_active on -static u8 lit_6787[12]; -#pragma pop - -/* 805C79AC-805C79DC 0000F4 0030+00 0/1 0/0 0/0 .bss mPillarTop_dt$6781 */ -#pragma push -#pragma force_active on -static u8 mPillarTop_dt[48]; -#pragma pop - -/* 805C1E0C-805C24BC 00708C 06B0+00 1/1 0/0 0/0 .text executePillarSearch__8daB_DR_cFv */ -void daB_DR_c::executePillarSearch() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7098-805C709C 000424 0004+00 0/2 0/0 0/0 .rodata @7083 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7083 = 4500.0f; -COMPILER_STRIP_GATE(0x805C7098, &lit_7083); -#pragma pop - -/* 805C709C-805C70A0 000428 0004+00 0/1 0/0 0/0 .rodata @7084 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7084 = 6150.0f; -COMPILER_STRIP_GATE(0x805C709C, &lit_7084); -#pragma pop - -/* 805C70A0-805C70A4 00042C 0004+00 0/2 0/0 0/0 .rodata @7085 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7085 = -200.0f; -COMPILER_STRIP_GATE(0x805C70A0, &lit_7085); -#pragma pop - -/* 805C24BC-805C2BE8 00773C 072C+00 1/1 0/0 0/0 .text executePillarWait__8daB_DR_cFv */ -void daB_DR_c::executePillarWait() { - // NONMATCHING -} - -/* 805C2BE8-805C2CD0 007E68 00E8+00 4/4 0/0 0/0 .text startDemoCheck__8daB_DR_cFv */ -void daB_DR_c::startDemoCheck() { - // NONMATCHING -} - -/* 805C2CD0-805C3558 007F50 0888+00 2/1 0/0 0/0 .text executeDamageDemo__8daB_DR_cFv */ -void daB_DR_c::executeDamageDemo() { - // NONMATCHING -} - -/* 805C3558-805C36A4 0087D8 014C+00 1/1 0/0 0/0 .text executeMiddleDemo__8daB_DR_cFv */ -void daB_DR_c::executeMiddleDemo() { - // NONMATCHING -} - -/* 805C36A4-805C382C 008924 0188+00 1/1 0/0 0/0 .text executeDead__8daB_DR_cFv */ -void daB_DR_c::executeDead() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C70A4-805C70A8 000430 0004+00 0/0 0/0 0/0 .rodata @7382 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7382 = -1400.0f; -COMPILER_STRIP_GATE(0x805C70A4, &lit_7382); -#pragma pop - -/* 805C70A8-805C70AC 000434 0004+00 0/0 0/0 0/0 .rodata @7383 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7383 = 1100.0f; -COMPILER_STRIP_GATE(0x805C70A8, &lit_7383); -#pragma pop - -/* 805C70AC-805C70B0 000438 0004+00 0/0 0/0 0/0 .rodata @7384 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7384 = -850.0f; -COMPILER_STRIP_GATE(0x805C70AC, &lit_7384); -#pragma pop - -/* 805C70B0-805C70B4 00043C 0004+00 0/0 0/0 0/0 .rodata @7385 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7385 = 700.0f; -COMPILER_STRIP_GATE(0x805C70B0, &lit_7385); -#pragma pop - -/* 805C70B4-805C70B8 000440 0004+00 0/0 0/0 0/0 .rodata @7386 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7386 = -1200.0f; -COMPILER_STRIP_GATE(0x805C70B4, &lit_7386); -#pragma pop - -/* 805C70B8-805C70BC 000444 0004+00 0/1 0/0 0/0 .rodata @7511 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_7511 = 0x3B03126F; -COMPILER_STRIP_GATE(0x805C70B8, &lit_7511); -#pragma pop - -/* 805C382C-805C39D8 008AAC 01AC+00 1/1 0/0 0/0 .text executeBullet__8daB_DR_cFv */ -void daB_DR_c::executeBullet() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C70BC-805C70C0 000448 0004+00 0/1 0/0 0/0 .rodata @7555 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7555 = 65536.0f; -COMPILER_STRIP_GATE(0x805C70BC, &lit_7555); -#pragma pop - -/* 805C70C0-805C70C4 00044C 0004+00 0/2 0/0 0/0 .rodata @7556 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7556 = -3.0f; -COMPILER_STRIP_GATE(0x805C70C0, &lit_7556); -#pragma pop - -/* 805C39D8-805C3CB0 008C58 02D8+00 2/1 0/0 0/0 .text executeParts__8daB_DR_cFv */ -void daB_DR_c::executeParts() { - // NONMATCHING -} - -/* 805C3CB0-805C40E0 008F30 0430+00 2/1 0/0 0/0 .text action__8daB_DR_cFv */ -void daB_DR_c::action() { - // NONMATCHING -} - -/* 805C40E0-805C4130 009360 0050+00 1/1 0/0 0/0 .text action_fire__8daB_DR_cFv */ -void daB_DR_c::action_fire() { - // NONMATCHING -} - -/* 805C4130-805C41A4 0093B0 0074+00 1/1 0/0 0/0 .text action_parts__8daB_DR_cFv */ -void daB_DR_c::action_parts() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C70C4-805C70C8 000450 0004+00 0/1 0/0 0/0 .rodata @7557 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7557 = 1.0f / 5.0f; -COMPILER_STRIP_GATE(0x805C70C4, &lit_7557); -#pragma pop - -/* 805C70C8-805C70CC 000454 0004+00 0/0 0/0 0/0 .rodata @7558 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7558 = 16384.0f; -COMPILER_STRIP_GATE(0x805C70C8, &lit_7558); -#pragma pop - -/* 805C70CC-805C70D0 000458 0004+00 0/1 0/0 0/0 .rodata @7824 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7824 = 5250.0f; -COMPILER_STRIP_GATE(0x805C70CC, &lit_7824); -#pragma pop - -/* 805C70D0-805C70D4 00045C 0004+00 0/1 0/0 0/0 .rodata @7825 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7825 = 35.0f; -COMPILER_STRIP_GATE(0x805C70D0, &lit_7825); -#pragma pop - -/* 805C70D4-805C70D8 000460 0004+00 0/1 0/0 0/0 .rodata @7826 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_7826 = 370.0f; -COMPILER_STRIP_GATE(0x805C70D4, &lit_7826); -#pragma pop - -/* 805C41A4-805C4684 009424 04E0+00 2/2 0/0 0/0 .text mtx_set__8daB_DR_cFv */ -void daB_DR_c::mtx_set() { - // NONMATCHING -} - -/* 805C4684-805C46E0 009904 005C+00 1/1 0/0 0/0 .text parts_mtx_set__8daB_DR_cFv */ -void daB_DR_c::parts_mtx_set() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C70D8-805C70DC 000464 0004+00 0/1 0/0 0/0 .rodata @8050 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8050 = 250.0f; -COMPILER_STRIP_GATE(0x805C70D8, &lit_8050); -#pragma pop - -/* 805C70DC-805C70E0 000468 0004+00 0/1 0/0 0/0 .rodata @8051 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8051 = 600.0f; -COMPILER_STRIP_GATE(0x805C70DC, &lit_8051); -#pragma pop - -/* 805C70E0-805C70E4 00046C 0004+00 0/1 0/0 0/0 .rodata @8052 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8052 = 3.0f / 5.0f; -COMPILER_STRIP_GATE(0x805C70E0, &lit_8052); -#pragma pop - -/* 805C70E4-805C70E8 000470 0004+00 0/1 0/0 0/0 .rodata @8053 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8053 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x805C70E4, &lit_8053); -#pragma pop - -/* 805C70E8-805C70EC 000474 0004+00 0/1 0/0 0/0 .rodata @8054 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8054 = 0x3B449BA6; -COMPILER_STRIP_GATE(0x805C70E8, &lit_8054); -#pragma pop - -/* 805C70EC-805C70F0 000478 0004+00 0/1 0/0 0/0 .rodata @8055 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8055 = 0x3727C5AC; -COMPILER_STRIP_GATE(0x805C70EC, &lit_8055); -#pragma pop - -/* 805C70F0-805C70F4 00047C 0004+00 0/1 0/0 0/0 .rodata @8056 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8056 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x805C70F0, &lit_8056); -#pragma pop - -/* 805C70F4-805C70F8 000480 0004+00 0/1 0/0 0/0 .rodata @8057 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_8057 = 0x3A83126F; -COMPILER_STRIP_GATE(0x805C70F4, &lit_8057); -#pragma pop - -/* 805C46E0-805C4E14 009960 0734+00 1/1 0/0 0/0 .text cc_set__8daB_DR_cFv */ -void daB_DR_c::cc_set() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C70F8-805C7170 000484 0078+00 1/1 0/0 0/0 .rodata DOWN_CYL_DT$8061 */ -SECTION_RODATA static u8 const DOWN_CYL_DT[120] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00, 0x43, 0x0C, 0x00, - 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xC2, 0x48, - 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0x7A, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, - 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC2, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, - 0x43, 0x2A, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0xB9, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x16, 0x00, 0x00, 0x43, 0x48, - 0x00, 0x00, 0x43, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00, 0x43, 0xAF, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805C70F8, &DOWN_CYL_DT); - -/* 805C7170-805C7224 0004FC 00B4+00 1/1 0/0 0/0 .rodata DOWN_SPH_DT$8062 */ -SECTION_RODATA static u8 const DOWN_SPH_DT[180] = { - 0x00, 0x00, 0x00, 0x13, 0x42, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x43, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x43, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x43, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x43, 0x16, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x43, - 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00, 0x43, 0x02, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x805C7170, &DOWN_SPH_DT); - -/* 805C4E14-805C4FB4 00A094 01A0+00 1/1 0/0 0/0 .text down_cc_set__8daB_DR_cFv */ -void daB_DR_c::down_cc_set() { - // NONMATCHING -} - -/* 805C4FB4-805C50BC 00A234 0108+00 1/1 0/0 0/0 .text demo_skip__8daB_DR_cFi */ -void daB_DR_c::demo_skip(int param_0) { - // NONMATCHING -} - -/* 805C50BC-805C50F0 00A33C 0034+00 1/1 0/0 0/0 .text DemoSkipCallBack__8daB_DR_cFPvi */ -void daB_DR_c::DemoSkipCallBack(void* param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7224-805C7228 0005B0 0004+00 0/1 0/0 0/0 .rodata @8254 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8254 = 111.0f; -COMPILER_STRIP_GATE(0x805C7224, &lit_8254); -#pragma pop - -/* 805C50F0-805C5588 00A370 0498+00 1/1 0/0 0/0 .text execute__8daB_DR_cFv */ -void daB_DR_c::execute() { - // NONMATCHING -} - -/* 805C5588-805C55A8 00A808 0020+00 2/1 0/0 0/0 .text daB_DR_Execute__FP8daB_DR_c */ -static void daB_DR_Execute(daB_DR_c* param_0) { - // NONMATCHING -} - -/* 805C55A8-805C55B0 00A828 0008+00 1/0 0/0 0/0 .text daB_DR_IsDelete__FP8daB_DR_c */ -static bool daB_DR_IsDelete(daB_DR_c* param_0) { - return true; -} - -/* 805C55B0-805C5684 00A830 00D4+00 1/1 0/0 0/0 .text _delete__8daB_DR_cFv */ -void daB_DR_c::_delete() { - // NONMATCHING -} - -/* 805C5684-805C56A4 00A904 0020+00 1/0 0/0 0/0 .text daB_DR_Delete__FP8daB_DR_c */ -static void daB_DR_Delete(daB_DR_c* param_0) { - // NONMATCHING -} - -/* 805C56A4-805C590C 00A924 0268+00 1/1 0/0 0/0 .text CreateHeap__8daB_DR_cFv */ -void daB_DR_c::CreateHeap() { - // NONMATCHING -} - -/* 805C590C-805C5954 00AB8C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} - -/* 805C5954-805C5974 00ABD4 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ -static void useHeapInit(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C7228-805C722C 0005B4 0004+00 0/1 0/0 0/0 .rodata @8659 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8659 = -325.0f; -COMPILER_STRIP_GATE(0x805C7228, &lit_8659); -#pragma pop - -/* 805C722C-805C7230 0005B8 0004+00 0/1 0/0 0/0 .rodata @8660 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8660 = 215.0f; -COMPILER_STRIP_GATE(0x805C722C, &lit_8660); -#pragma pop - -/* 805C7230-805C7234 0005BC 0004+00 0/1 0/0 0/0 .rodata @8661 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8661 = 224.0f; -COMPILER_STRIP_GATE(0x805C7230, &lit_8661); -#pragma pop - -/* 805C7234-805C7238 0005C0 0004+00 0/1 0/0 0/0 .rodata @8662 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8662 = 762.0f; -COMPILER_STRIP_GATE(0x805C7234, &lit_8662); -#pragma pop - -/* 805C7238-805C723C 0005C4 0004+00 0/1 0/0 0/0 .rodata @8663 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8663 = -20000.0f; -COMPILER_STRIP_GATE(0x805C7238, &lit_8663); -#pragma pop - -/* 805C723C-805C7240 0005C8 0004+00 0/1 0/0 0/0 .rodata @8664 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_8664 = 20000.0f; -COMPILER_STRIP_GATE(0x805C723C, &lit_8664); -#pragma pop - -/* 805C5974-805C62B0 00ABF4 093C+00 1/1 0/0 0/0 .text create__8daB_DR_cFv */ -void daB_DR_c::create() { - // NONMATCHING -} - -/* 805C62B0-805C6678 00B530 03C8+00 1/1 0/0 0/0 .text __ct__8daB_DR_cFv */ -daB_DR_c::daB_DR_c() { - // NONMATCHING -} - -/* 805C6678-805C66FC 00B8F8 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_CylFv */ -// dCcD_Cyl::dCcD_Cyl() { -extern "C" void __ct__8dCcD_CylFv() { - // NONMATCHING -} - -/* 805C66FC-805C6744 00B97C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -// cM3dGSph::~cM3dGSph() { -extern "C" void __dt__8cM3dGSphFv() { - // NONMATCHING -} - -/* 805C6744-805C6810 00B9C4 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_SphFv */ -// dCcD_Sph::~dCcD_Sph() { -extern "C" void __dt__8dCcD_SphFv() { - // NONMATCHING -} - -/* 805C6810-805C6894 00BA90 0084+00 1/1 0/0 0/0 .text __ct__8dCcD_SphFv */ -// dCcD_Sph::dCcD_Sph() { -extern "C" void __ct__8dCcD_SphFv() { - // NONMATCHING -} - -/* 805C6894-805C6960 00BB14 00CC+00 1/1 0/0 0/0 .text __dt__8dCcD_CylFv */ -// dCcD_Cyl::~dCcD_Cyl() { -extern "C" void __dt__8dCcD_CylFv() { - // NONMATCHING -} - -/* 805C6960-805C69A8 00BBE0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 805C69A8-805C69F0 00BC28 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 805C69F0-805C6A4C 00BC70 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 805C6A4C-805C6ABC 00BCCC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 805C6ABC-805C6B2C 00BD3C 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 805C6B2C-805C6B4C 00BDAC 0020+00 1/0 0/0 0/0 .text daB_DR_Create__FP8daB_DR_c */ -static void daB_DR_Create(daB_DR_c* param_0) { - // NONMATCHING -} - -/* 805C6B4C-805C6B94 00BDCC 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 805C6B94-805C6BDC 00BE14 0048+00 2/1 0/0 0/0 .text __dt__12daB_DR_HIO_cFv */ -daB_DR_HIO_c::~daB_DR_HIO_c() { - // NONMATCHING -} - -/* 805C6BDC-805C6BF8 00BE5C 001C+00 15/15 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_805C6BDC(void* _this, int* param_0) { - // NONMATCHING -} - -/* 805C6BF8-805C6C14 00BE78 001C+00 3/3 0/0 0/0 .text cLib_calcTimer__FPUc */ -extern "C" void func_805C6BF8(void* _this, u8* param_0) { - // NONMATCHING -} - -/* 805C6C14-805C6C50 00BE94 003C+00 0/0 1/0 0/0 .text __sinit_d_a_b_dr_cpp */ -void __sinit_d_a_b_dr_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x805C6C14, __sinit_d_a_b_dr_cpp); -#pragma pop - -/* 805C6C50-805C6C58 00BED0 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_805C6C50() { - // NONMATCHING -} - -/* 805C6C58-805C6C60 00BED8 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_805C6C58() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 805C79DC-805C79E0 000124 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_805C79DC[4]; -#pragma pop - -/* 805C79E0-805C79E4 000128 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_805C79E0[4]; -#pragma pop - -/* 805C79E4-805C79E8 00012C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C79E4[4]; -#pragma pop - -/* 805C79E8-805C79EC 000130 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C79E8[4]; -#pragma pop - -/* 805C79EC-805C79F0 000134 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805C79EC[4]; -#pragma pop - -/* 805C79F0-805C79F4 000138 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805C79F0[4]; -#pragma pop - -/* 805C79F4-805C79F8 00013C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_805C79F4[4]; -#pragma pop - -/* 805C79F8-805C79FC 000140 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_805C79F8[4]; -#pragma pop - -/* 805C79FC-805C7A00 000144 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_805C79FC[4]; -#pragma pop - -/* 805C7A00-805C7A04 000148 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_805C7A00[4]; -#pragma pop - -/* 805C7A04-805C7A08 00014C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C7A04[4]; -#pragma pop - -/* 805C7A08-805C7A0C 000150 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C7A08[4]; -#pragma pop - -/* 805C7A0C-805C7A10 000154 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C7A0C[4]; -#pragma pop - -/* 805C7A10-805C7A14 000158 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805C7A10[4]; -#pragma pop - -/* 805C7A14-805C7A18 00015C 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_805C7A14[4]; -#pragma pop - -/* 805C7A18-805C7A1C 000160 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_805C7A18[4]; -#pragma pop - -/* 805C7A1C-805C7A20 000164 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_805C7A1C[4]; -#pragma pop - -/* 805C7A20-805C7A24 000168 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_805C7A20[4]; -#pragma pop - -/* 805C7A24-805C7A28 00016C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_805C7A24[4]; -#pragma pop - -/* 805C7A28-805C7A2C 000170 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C7A28[4]; -#pragma pop - -/* 805C7A2C-805C7A30 000174 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_805C7A2C[4]; -#pragma pop - -/* 805C7A30-805C7A34 000178 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805C7A30[4]; -#pragma pop - -/* 805C7A34-805C7A38 00017C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805C7A34[4]; -#pragma pop - -/* 805C7A38-805C7A3C 000180 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_805C7A38[4]; -#pragma pop - -/* 805C7A3C-805C7A40 000184 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_805C7A3C[4]; -#pragma pop - -/* 805C7240-805C7240 0005CC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +AUDIO_INSTANCES; diff --git a/src/d/actor/d_a_b_ds.cpp b/src/d/actor/d_a_b_ds.cpp index 93fb06d042..ce3d755a71 100644 --- a/src/d/actor/d_a_b_ds.cpp +++ b/src/d/actor/d_a_b_ds.cpp @@ -1524,7 +1524,7 @@ void daB_DS_c::executeOpeningDemo() { } mpZantMorf->setAnm(static_cast(dComIfG_getObjectRes("B_DS", 66)), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 1.0f, 1.0f, 0.0f, -1.0f); mZantScale.set(0.0f, 5.0f, 0.0f); mZantEyePos.set(mZantPos); mZantEyePos.y += 200.0f; @@ -1600,12 +1600,12 @@ void daB_DS_c::executeOpeningDemo() { mCameraEye.set(mOpEyeDt[4]); mpZantMorf->setAnm(static_cast(dComIfG_getObjectRes("B_DS", 64)), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); mpSwordMorf->setAnm(static_cast(dComIfG_getObjectRes("B_DS", 63)), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); mpSwordBrkAnm->init(mpSwordMorf->getModel()->getModelData(), static_cast(dComIfG_getObjectRes("B_DS", 81)), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); particle_angle.x = 0; particle_angle.y = field_0x7ca + 5000; @@ -1687,7 +1687,7 @@ void daB_DS_c::executeOpeningDemo() { case 26: if (!field_0x85e && mpZantMorf->isStop()) { mpZantMorf->setAnm(static_cast(dComIfG_getObjectRes("B_DS", 67)), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 1.0f, 1.0f, 0.0f, -1.0f); field_0x85e = true; } @@ -1705,12 +1705,12 @@ void daB_DS_c::executeOpeningDemo() { if (mModeTimer == 100) { mpOpPatternBrkAnm->init(mpOpPatternModel->getModelData(), static_cast(dComIfG_getObjectRes("B_DS", 79)), - TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1); + TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); mpOpPatternBtkAnm->init( mpOpPatternModel->getModelData(), static_cast(dComIfG_getObjectRes("B_DS", 85)), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); mPlayPatternAnm = true; } @@ -1722,7 +1722,7 @@ void daB_DS_c::executeOpeningDemo() { } mpZantMorf->setAnm(static_cast(dComIfG_getObjectRes("B_DS", 65)), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); mSound.startCreatureSound(Z2SE_EN_ZAN_L4_2, 0, -1); mMode = 30; field_0x85e = false; diff --git a/src/d/actor/d_a_b_gm.cpp b/src/d/actor/d_a_b_gm.cpp index 5394804f79..d0ed13c60f 100644 --- a/src/d/actor/d_a_b_gm.cpp +++ b/src/d/actor/d_a_b_gm.cpp @@ -372,7 +372,7 @@ static void b_gm_wait(b_gm_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_GOMA_WAIT, 20.0f, J3DFrameCtrl::LOOP_REPEAT_e, l_HIO.wait_anm_speed); + anm_init(i_this, ANM_GOMA_WAIT, 20.0f, J3DFrameCtrl::EMode_LOOP, l_HIO.wait_anm_speed); i_this->mTimers[0] = 100.0f + cM_rndF(100.0f); i_this->mMode = 1; /* fallthrough */ @@ -405,7 +405,7 @@ static void b_gm_move(b_gm_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_GOMA_DASH, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, l_HIO.dash_anm_speed); + anm_init(i_this, ANM_GOMA_DASH, 10.0f, J3DFrameCtrl::EMode_LOOP, l_HIO.dash_anm_speed); i_this->mMode = 1; i_this->unk_0x5cc = 0; /* fallthrough */ @@ -489,7 +489,7 @@ static void b_gm_move(b_gm_class* i_this) { move_speed = 0.0f; if (i_this->mTimers[0] == 0) { if (i_this->mAnmID != ANM_GOMA_DASH) { - anm_init(i_this, ANM_GOMA_DASH, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, l_HIO.dash_anm_speed); + anm_init(i_this, ANM_GOMA_DASH, 10.0f, J3DFrameCtrl::EMode_LOOP, l_HIO.dash_anm_speed); } i_this->mMode = 3; @@ -531,12 +531,12 @@ static void b_gm_beam(b_gm_class* i_this) { case 0: i_this->mMode = 2; i_this->field_0x6f4 = 0; - anm_init(i_this, ANM_GOMA_ATTACK_A, 10.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_ATTACK_A, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); break; case 2: i_this->field_0x1ad6 = 1; if (i_this->mpModelMorf->isStop()) { - anm_init(i_this, ANM_GOMA_ATTACK_B, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_GOMA_ATTACK_B, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 3; i_this->mTimers[0] = 200; } @@ -546,7 +546,7 @@ static void b_gm_beam(b_gm_class* i_this) { cLib_addCalc2(&i_this->field_0x6c0, 1.0f, 1.0f, 0.1f); if (i_this->mTimers[0] == 0) { i_this->mMode = 4; - anm_init(i_this, ANM_GOMA_ATTACK_C, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_ATTACK_C, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } break; case 4: @@ -586,7 +586,7 @@ static void b_gm_kogoma(b_gm_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_GOMA_DASH, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, l_HIO.dash_anm_speed); + anm_init(i_this, ANM_GOMA_DASH, 10.0f, J3DFrameCtrl::EMode_LOOP, l_HIO.dash_anm_speed); i_this->mTargetMovePos.x = 0.0f; i_this->mTargetMovePos.z = 0.0f; i_this->mMode = 1; @@ -601,7 +601,7 @@ static void b_gm_kogoma(b_gm_class* i_this) { } if (sp54.abs() < 200.0f) { - anm_init(i_this, ANM_GOMA_LAY_EGGS, 20.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_GOMA_LAY_EGGS, 20.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimers[0] = 200; i_this->mMode = 2; } @@ -637,7 +637,7 @@ static void b_gm_damage(b_gm_class* i_this) { switch (i_this->mMode) { case 0: i_this->mMode = 1; - anm_init(i_this, ANM_GOMA_ROOF_DAMAGE, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_ROOF_DAMAGE, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); break; case 1: if (anm_frame >= 50) { @@ -652,7 +652,7 @@ static void b_gm_damage(b_gm_class* i_this) { if (i_this->mpModelMorf->isStop()) { i_this->mAction = ACTION_DROP; i_this->mMode = 0; - anm_init(i_this, ANM_GOMA_FALL_LOOP, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_GOMA_FALL_LOOP, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; } @@ -683,7 +683,7 @@ static void b_gm_drop(b_gm_class* i_this) { dComIfGp_getVibration().StartShock(VIBMODE_S_POWER8, 0x4F, cXyz(0.0f, 1.0f, 0.0f)); i_this->mMode = 2; - anm_init(i_this, ANM_GOMA_LANDING, 0.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_LANDING, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mTimers[0] = 300; fopAcM_effSmokeSet1(&i_this->field_0x1c84, &i_this->field_0x1c88, &a_this->current.pos, NULL, 15.0f, &a_this->tevStr, 1); @@ -693,19 +693,19 @@ static void b_gm_drop(b_gm_class* i_this) { break; case 2: if (i_this->mpModelMorf->isStop()) { - anm_init(i_this, ANM_GOMA_LANDING_WAIT, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_GOMA_LANDING_WAIT, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } a_this->current.pos.y = 0.0f; if (i_this->mTimers[0] == 0) { i_this->mMode = 3; - anm_init(i_this, ANM_GOMA_RETURN, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_RETURN, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); Z2GetAudioMgr()->changeBgmStatus(2); } break; case 3: if (i_this->mpModelMorf->isStop()) { - anm_init(i_this, ANM_GOMA_WAIT, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, l_HIO.wait_anm_speed); + anm_init(i_this, ANM_GOMA_WAIT, 0.0f, J3DFrameCtrl::EMode_LOOP, l_HIO.wait_anm_speed); a_this->current.angle.x = 0; a_this->shape_angle.x = 0; i_this->mTimers[0] = 5; @@ -730,17 +730,17 @@ static void b_gm_drop(b_gm_class* i_this) { } break; case 10: - anm_init(i_this, ANM_GOMA_LANDING_DAMAGE, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_LANDING_DAMAGE, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 11; case 11: if (i_this->mpModelMorf->isStop()) { i_this->mMode = 3; - anm_init(i_this, ANM_GOMA_RETURN, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_RETURN, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mInvincibilityTimer = 200; } break; case 20: - anm_init(i_this, ANM_GOMA_DEATH, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOMA_DEATH, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 21; case 21: if (i_this->mpModelMorf->getFrame() >= 160.0f) { diff --git a/src/d/actor/d_a_b_go.cpp b/src/d/actor/d_a_b_go.cpp index 7bec072e2d..e12c2e5adb 100644 --- a/src/d/actor/d_a_b_go.cpp +++ b/src/d/actor/d_a_b_go.cpp @@ -224,7 +224,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { a_this->mpMorf = new mDoExt_McaMorfSO( (J3DModelData*)dComIfG_getObjectRes("B_go", RES_IS_MODEL), NULL, NULL, - (J3DAnmTransform*)dComIfG_getObjectRes("B_go", ANM_WAIT_03), J3DFrameCtrl::LOOP_REPEAT_e, + (J3DAnmTransform*)dComIfG_getObjectRes("B_go", ANM_WAIT_03), J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, &a_this->mSound, 0x80000, 0x11000084); if (a_this->mpMorf == NULL || a_this->mpMorf->getModel() == NULL) { diff --git a/src/d/actor/d_a_b_gos.cpp b/src/d/actor/d_a_b_gos.cpp index 1bf427e35d..ea43d18f51 100644 --- a/src/d/actor/d_a_b_gos.cpp +++ b/src/d/actor/d_a_b_gos.cpp @@ -61,7 +61,7 @@ static void wait(b_gos_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, 6, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, 6, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimers[0] = cM_rndF(30) + 30.0f; break; @@ -89,7 +89,7 @@ static void walk(b_gos_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, 4, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, 4, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimers[0] = cM_rndF(60) + 60.0f; i_this->mWalkDirection = cM_rndF(0x10000); @@ -116,7 +116,7 @@ static void ball(b_gos_class* i_this) { // fallthrough case 1: if (i_this->mTimers[0] == 0) { - anm_init(i_this, 5, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, 5, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 2; i_this->mTimers[0] = cM_rndF(30) + 60.0f; } @@ -331,7 +331,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { a_this->mpMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("B_gos", 9), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_gos", 6), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, &a_this->mSound, + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, &a_this->mSound, 0x80000, 0x11000084); if (a_this->mpMorf == NULL || a_this->mpMorf->getModel() == NULL) { diff --git a/src/d/actor/d_a_b_ob.cpp b/src/d/actor/d_a_b_ob.cpp index b875c9f923..1b21fc4e95 100644 --- a/src/d/actor/d_a_b_ob.cpp +++ b/src/d/actor/d_a_b_ob.cpp @@ -979,7 +979,7 @@ static void bombfishset(b_ob_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, OB_ANM_WAIT, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f); + anm_init(i_this, OB_ANM_WAIT, 5.0f, J3DFrameCtrl::EMode_LOOP, 3.0f); i_this->mMode = 1; if (a_this->field_0x567 == 0 && i_this->mDemoAction == 0) { @@ -1014,7 +1014,7 @@ static void bombfishset(b_ob_class* i_this) { i_this->mAction = OB_ACTION_CORE_HAND_MOVE; i_this->mMode = 0; - anm_init(i_this, OB_ANM_WAIT, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_WAIT, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; } @@ -1152,7 +1152,7 @@ static void core_end(b_ob_class* i_this) { a_this->gravity = 0.0f; i_this->mDemoAction = 20; i_this->field_0x479c = -1000.0f; - anm_init(i_this, OB_ANM_TENTACLE_END, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_TENTACLE_END, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); particle_pos.set(0.0f, 0.0f, 0.0f); dComIfGp_particle_set(0x880A, &particle_pos, NULL, NULL); @@ -1211,7 +1211,7 @@ static void core_end(b_ob_class* i_this) { i_this->mMoveAngle.x = -0x4000; i_this->field_0x4750 = 0; i_this->mTimers[0] = 110; - anm_init(i_this, OB_ANM_APPEAR_2, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_APPEAR_2, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); fopAcM_OffStatus(a_this, 0x80000); fopAcM_OnStatus(a_this, 0x200000); @@ -1550,7 +1550,7 @@ static int fish_normal(b_ob_class* i_this) { } if (i_this->mAnmID != OB_ANM_SWIM_WAIT) { - anm_init(i_this, OB_ANM_SWIM_WAIT, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_SWIM_WAIT, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (dist_to_ground < l_HIO.mBodySize * (ZREG_F(8) + 1200.0f)) { @@ -1701,7 +1701,7 @@ static int fish_normal(b_ob_class* i_this) { } if (i_this->mAnmID == OB_ANM_APPEAR_2 && i_this->mBodyParts[0].mpMorf->isStop()) { - anm_init(i_this, OB_ANM_SWIM_WAIT, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_SWIM_WAIT, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (throw_player) { @@ -1724,13 +1724,13 @@ static int fish_vacume(b_ob_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, OB_ANM_OPEN_MOUTH, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_OPEN_MOUTH, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->field_0x476a = 0; break; case 1: if (i_this->mBodyParts[0].mpMorf->isStop()) { - anm_init(i_this, OB_ANM_OPEN_MOUTH_WAIT, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_OPEN_MOUTH_WAIT, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; i_this->mTimers[0] = 200; } @@ -1766,9 +1766,9 @@ static int fish_vacume(b_ob_class* i_this) { if (i_this->mBodyParts[0].mpMorf->isStop()) { if (i_this->mAnmID == OB_ANM_SWALLOW) { - anm_init(i_this, OB_ANM_EAT_2, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_EAT_2, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (i_this->mAnmID == OB_ANM_EAT_2) { - anm_init(i_this, OB_ANM_THROWUP, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_THROWUP, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mOISound.startCreatureVoice(Z2SE_EN_OI_V_THROWUP, -1); } else if (i_this->mAnmID == OB_ANM_THROWUP) { i_this->mAction = OB_ACTION_FISH_NORMAL; @@ -1809,11 +1809,11 @@ static int fish_end(b_ob_class* i_this) { i_this->field_0x5d04 = KREG_F(8) + 1.5f; i_this->mBlureRateTarget = 150; i_this->field_0x5dd8 = 3; - anm_init(i_this, OB_ANM_LAST_DAMAGE, 0.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_LAST_DAMAGE, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f); break; case 1: if (i_this->mBodyParts[0].mpMorf->isStop()) { - anm_init(i_this, OB_ANM_SWIM_WAIT, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_SWIM_WAIT, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (i_this->mTimers[0] == 0) { @@ -1821,7 +1821,7 @@ static int fish_end(b_ob_class* i_this) { i_this->mTargetMovePos.set(0.0f, -19000.0f, -6500.0f); i_this->mTimers[0] = 150; i_this->mDemoCamEye.set(-6000.0f, -22000.0f, 2000.0f); - anm_init(i_this, OB_ANM_LAST_DAMAGE, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_LAST_DAMAGE, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } break; case 2: @@ -1836,12 +1836,12 @@ static int fish_end(b_ob_class* i_this) { i_this->mDemoAction = 42; i_this->mDemoActionTimer = 0; i_this->mBlureRateTarget = 0; - anm_init(i_this, OB_ANM_LAST_DAMAGE, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_LAST_DAMAGE, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } break; case 3: if (i_this->mAcch.ChkWallHit() && i_this->mTimers[0] == 0) { - anm_init(i_this, OB_ANM_DEAD, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_DEAD, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); dComIfGp_getVibration().StartShock(8, 31, cXyz(0.0f, 1.0f, 0.0f)); mDoAud_seStart(Z2SE_OBJ_BOMB_EXPLODE, NULL, 0, 0); @@ -2503,7 +2503,7 @@ static void demo_camera(b_ob_class* i_this) { if (i_this->mBodyParts[0].mpMorf->isStop()) { i_this->mDemoAction = 100; i_this->mCoreAnm = OB_ANM_WAIT; - i_this->mCoreAnmMode = J3DFrameCtrl::LOOP_REPEAT_e; + i_this->mCoreAnmMode = J3DFrameCtrl::EMode_LOOP; i_this->field_0x4794 = 100; } break; @@ -2527,7 +2527,7 @@ static void demo_camera(b_ob_class* i_this) { i_this->field_0x5cfc = 0; i_this->field_0x5d00 = ZREG_F(3) + 1000.0; - anm_init(i_this, OB_ANM_OPEN_MOUTH_WAIT, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_OPEN_MOUTH_WAIT, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); if (cM_rndF(1.0f) < 0.5f) { i_this->field_0x5cd4 = 500.0f; @@ -2582,7 +2582,7 @@ static void demo_camera(b_ob_class* i_this) { if (i_this->mDemoActionTimer >= 15) { if (i_this->mDemoActionTimer == 30) { - anm_init(i_this, OB_ANM_SWALLOW, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_SWALLOW, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mOISound.startCreatureVoice(Z2SE_EN_OI_V_SWALLOW, -1); } @@ -2860,7 +2860,7 @@ static void demo_camera(b_ob_class* i_this) { } if (i_this->mBodyParts[0].mpMorf->isStop()) { - anm_init(i_this, OB_ANM_WAIT, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, OB_ANM_WAIT, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (i_this->mDemoActionTimer == 120) { @@ -3191,7 +3191,7 @@ static void demo_camera(b_ob_class* i_this) { i_this->field_0x5cfc = 0; i_this->field_0x5d00 = ZREG_F(3) + 300.0f; - anm_init(i_this, OB_ANM_EAT, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, OB_ANM_EAT, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mOISound.startCreatureVoice(Z2SE_EN_OI_V_EAT, -1); @@ -3255,7 +3255,7 @@ static void demo_camera(b_ob_class* i_this) { if (i_this->mDemoAction == 52 && i_this->mBodyParts[0].mpMorf->isStop()) { i_this->mDemoAction = 100; i_this->mCoreAnm = OB_ANM_WAIT; - i_this->mCoreAnmMode = J3DFrameCtrl::LOOP_REPEAT_e; + i_this->mCoreAnmMode = J3DFrameCtrl::EMode_LOOP; i_this->field_0x4794 = 100; } break; @@ -3833,7 +3833,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 0; } - if (!a_this->mpSuiBrk->init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_oh", 0x2E), TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!a_this->mpSuiBrk->init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_oh", 0x2E), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } @@ -3842,7 +3842,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { return 0; } - if (!a_this->mpSuiBtk->init(modelData, (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_oh", 0x35), TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!a_this->mpSuiBtk->init(modelData, (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_oh", 0x35), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_b_yo.cpp b/src/d/actor/d_a_b_yo.cpp index a0aac31a35..b8c2e66979 100644 --- a/src/d/actor/d_a_b_yo.cpp +++ b/src/d/actor/d_a_b_yo.cpp @@ -456,7 +456,7 @@ void daB_YO_c::setBck(int i_anm, u8 i_attr, f32 i_morf, f32 i_rate) { brk_idx = 0x25; } J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", brk_idx); - mpYetaBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1); + mpYetaBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); } /* 8062FE0C-8062FE18 000A8C 000C+00 11/11 0/0 0/0 .text setActionMode__8daB_YO_cFii */ @@ -808,7 +808,7 @@ void daB_YO_c::executeOpening() { Z2GetAudioMgr()->seStart(Z2SE_EN_YO_DEMO_OP1, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); fopAcM_OffStatus(this, 0x4000); field_0xfb5 = 3; - setBck(ANM_WAIT_A, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_A, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 1; gravity = 0.0f; current.pos.set(100.0f, 0.0f, 1000.0f); @@ -834,7 +834,7 @@ void daB_YO_c::executeOpening() { mCamCenter.y = 180.0f; mCamEye.set(0.0f, 250.0f, 1450.0f); if (doYoMessage() == 1) { - setBck(ANM_WALK, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WALK, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 2; mActionTimer = 90; mActionTimer2 = 300; @@ -883,7 +883,7 @@ void daB_YO_c::executeOpening() { speedF = 0.0f; shape_angle.y = field_0xf80; player->changeDemoMode(20, 0, 0, 0); - setBck(ANM_WAIT_A, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_WAIT_A, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mMode = 4; } break; @@ -935,7 +935,7 @@ void daB_YO_c::executeOpening() { player->changeDemoMode(1, 0, 0, 0); } if (mActionTimer == 15) { - setBck(ANM_TALK_A, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_TALK_A, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } if (mActionTimer == 0) { setYoMessage(0x2350); @@ -972,7 +972,7 @@ void daB_YO_c::executeOpening() { case 10: if (doYoMessage() == 1) { mActionTimer = 150; - setBck(ANM_TO_TALK_B, J3DFrameCtrl::LOOP_ONCE_e, 15.0f, 1.0f); + setBck(ANM_TO_TALK_B, J3DFrameCtrl::EMode_NONE, 15.0f, 1.0f); mMode = 11; mActionTimer2 = 10; mColorMode = 1; @@ -982,7 +982,7 @@ void daB_YO_c::executeOpening() { case 11: if (mpYetaMorf->isStop()) { - setBck(ANM_TALK_B, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_TALK_B, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 12; setYoMessage(0x235F); } @@ -1008,7 +1008,7 @@ void daB_YO_c::executeOpening() { cam_pos.set(51.0f, 207.0f, -1562.0f); cLib_chasePos(&mCamEye, cam_pos, mCamEyeSpeed); if (mActionTimer == 0) { - setBck(ANM_ANGRY, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_ANGRY, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 15; player->changeDemoMode(1, 0, 0, 0); } @@ -1030,7 +1030,7 @@ void daB_YO_c::executeOpening() { if (mpYetaMorf->isStop()) { mMode = 16; setYoMessage(0x2352); - setBck(ANM_ANGRY_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_ANGRY_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } break; @@ -1046,7 +1046,7 @@ void daB_YO_c::executeOpening() { if (mActionTimer == 0) { mColorMode = 3; mColBlend = 1.0f; - setBck(ANM_WAIT_B, J3DFrameCtrl::LOOP_REPEAT_e, 16.0f, 1.0f); + setBck(ANM_WAIT_B, J3DFrameCtrl::EMode_LOOP, 16.0f, 1.0f); shape_angle.y = 0; current.angle.y = 0; mMode = 20; @@ -1089,7 +1089,7 @@ void daB_YO_c::executeOpening() { if (mActionTimer == 0) { dComIfGs_onSwitch(mSwNo, fopAcM_GetRoomNo(this)); mMode = 22; - setBck(ANM_FLOAT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); current.pos.set(0.0f, 0.0f, -500.0f); mCamEye.set(0.0f, 50.0f, 500.0f); mCamCenter.set(0.0f, 500.0f, 400.0f); @@ -1418,7 +1418,7 @@ void daB_YO_c::executeChase() { mpBtkAnm->remove(mpModel[0]->getModelData()); J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", 0x35); mpBtkAnm->init(mpModel[1]->getModelData(), btk, FALSE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); } else if (mModelNo == 6) { mpBtkAnm->setFrame(2.0f); } @@ -1583,7 +1583,7 @@ void daB_YO_c::executeSeriousDemo() { Z2GetAudioMgr()->seStart(Z2SE_EN_YO_DEMO_MID, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); fpcM_Search(s_frizad_delete, this); field_0xfb5 = 1; - setBck(ANM_WAIT_C2, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 1.0f); + setBck(ANM_WAIT_C2, J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f); mColorMode = 5; mColBlend = 0.0f; return; @@ -1638,7 +1638,7 @@ void daB_YO_c::executeSeriousDemo() { if (mActionTimer == 0) { shape_angle.y = 0; current.angle.y = 0; - setBck(ANM_FLOAT_B, J3DFrameCtrl::LOOP_REPEAT_e, 15.0f, 1.0f); + setBck(ANM_FLOAT_B, J3DFrameCtrl::EMode_LOOP, 15.0f, 1.0f); mActionTimer = 90; mMode = 5; mCamCenterSpeed = 3.0f; @@ -1675,12 +1675,12 @@ void daB_YO_c::executeSeriousDemo() { cLib_chaseF(&speed.y, 5.0f, 0.2f); } else { if (cLib_chaseF(&speed.y, 0.0f, 0.2f)) { - setBck(ANM_WAIT_C, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_WAIT_C, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } } } if (mActionTimer == 0) { - setBck(ANM_SCREAM, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SCREAM, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 11; } break; @@ -1714,7 +1714,7 @@ void daB_YO_c::executeSeriousDemo() { case 12: mActionTimer = 120; if (mpYetaMorf->isStop()) { - setBck(ANM_SCREAM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SCREAM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 17; } // fallthrough @@ -1736,7 +1736,7 @@ void daB_YO_c::executeSeriousDemo() { current.pos.y -= 350.0f; mIceCenterPos.y = current.pos.y - 30.0f; mActionTimer = 90; - setBck(ANM_WAIT_D, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_D, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } break; @@ -2393,7 +2393,7 @@ void daB_YO_c::executeDeath() { speedF = 0.0f; mMode = 3; mActionTimer = 30; - setBck(ANM_DOWN_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DOWN_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); setBreakIceEffect(); setWallHitEffect(); } @@ -2420,7 +2420,7 @@ void daB_YO_c::executeDeath() { pos1.y -= 200.0f; cLib_addCalcPos2(&mCamCenter, pos1, 0.1f, 3.0f); if (mpYetaMorf->isStop()) { - setBck(ANM_DOWN_C, J3DFrameCtrl::LOOP_ONCE_e, 15.0f, 1.0f); + setBck(ANM_DOWN_C, J3DFrameCtrl::EMode_NONE, 15.0f, 1.0f); mMode = 110; mBlureRate = 0.0f; } @@ -2453,7 +2453,7 @@ void daB_YO_c::executeDeath() { pos1.set(0.0f, 1230.0f, -1400.0f); cLib_addCalcPos2(&mCamEye, pos1, 0.1f, 60.0f); if (mActionTimer == 0) { - setBck(ANM_DOWN_C, J3DFrameCtrl::LOOP_ONCE_e, 15.0f, 1.0f); + setBck(ANM_DOWN_C, J3DFrameCtrl::EMode_NONE, 15.0f, 1.0f); mMode = 110; mBlureRate = 0.0f; } @@ -2493,7 +2493,7 @@ void daB_YO_c::executeDeath() { mpYetaMorf->setPlaySpeed(mIceCenterSpeed); } if (mActionTimer == 0) { - setBck(ANM_DOWN_C, J3DFrameCtrl::LOOP_ONCE_e, 15.0f, 1.0f); + setBck(ANM_DOWN_C, J3DFrameCtrl::EMode_NONE, 15.0f, 1.0f); mMode = 110; mBlureRate = 0.0f; } @@ -3179,7 +3179,7 @@ int daB_YO_c::CreateHeap() { model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", 0x1c); mpYetaMorf = new mDoExt_McaMorfSO( model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_YO", 0x14), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, &mCreatureSound, 0, 0x11020284 + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &mCreatureSound, 0, 0x11020284 ); if (mpYetaMorf == NULL || mpYetaMorf->getModel() == NULL) { return 0; @@ -3191,7 +3191,7 @@ int daB_YO_c::CreateHeap() { } J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", 0x35); if (!mpBtkAnm->init(mpModel[0]->getModelData(), btk, FALSE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } @@ -3201,7 +3201,7 @@ int daB_YO_c::CreateHeap() { return 0; } btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", 0x32); - if (!mpYetaBtkAnm->init(model_data, btk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) { + if (!mpYetaBtkAnm->init(model_data, btk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 0; } @@ -3210,7 +3210,7 @@ int daB_YO_c::CreateHeap() { return 5; } J3DAnmTexPattern* btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("B_YO", 0x3f); - if (!mpYetaBtpAnm->init(model_data, btp, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) { + if (!mpYetaBtpAnm->init(model_data, btp, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 5; } @@ -3219,7 +3219,7 @@ int daB_YO_c::CreateHeap() { return 0; } J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", 0x24); - if (!mpYetaBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!mpYetaBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } @@ -3228,7 +3228,7 @@ int daB_YO_c::CreateHeap() { return 0; } brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", 0x27); - if (!mpYetaWhiteBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1)) { + if (!mpYetaWhiteBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1)) { return 0; } @@ -3273,7 +3273,7 @@ int daB_YO_c::CreateHeap() { model_data = (J3DModelData*)dComIfG_getObjectRes("ykW", 0xb); mpYetaRevertedMorf = new mDoExt_McaMorfSO( model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("ykW1", 0x1a), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, &mCreatureSound, 0, 0x11000084 + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, &mCreatureSound, 0, 0x11000084 ); if (mpYetaRevertedMorf == NULL || mpYetaRevertedMorf->getModel() == NULL) { return 0; @@ -3431,7 +3431,7 @@ cPhs__Step daB_YO_c::create() { if (cDmr_SkipInfo != 0) { mScale = 1.0f; - setBck(ANM_ANGRY, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_ANGRY, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); cDmr_SkipInfo = 0; field_0xfb5 = 0; setActionMode(ACT_CHASE, 0); diff --git a/src/d/actor/d_a_b_zant.cpp b/src/d/actor/d_a_b_zant.cpp index 8c96c8d3cb..ada17bd9b8 100644 --- a/src/d/actor/d_a_b_zant.cpp +++ b/src/d/actor/d_a_b_zant.cpp @@ -1127,9 +1127,9 @@ void daB_ZANT_c::executeSmallAttack() { field_0x6fd = 0; if (field_0x711 != 0) { - setBck(ANM_MAGIC_SHOOT_A_B, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_MAGIC_SHOOT_A_B, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else { - setBck(ANM_MAGIC_SHOOT_A_B_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_MAGIC_SHOOT_A_B_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } field_0x717 = 1; @@ -1153,9 +1153,9 @@ void daB_ZANT_c::executeSmallAttack() { } if (field_0x711 != 0) { - setBck(ANM_MAGIC_SHOOT_A_C, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, anm_speed); + setBck(ANM_MAGIC_SHOOT_A_C, J3DFrameCtrl::EMode_LOOP, 3.0f, anm_speed); } else { - setBck(ANM_MAGIC_SHOOT_A_B_B, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, anm_speed); + setBck(ANM_MAGIC_SHOOT_A_B_B, J3DFrameCtrl::EMode_LOOP, 3.0f, anm_speed); } mMode = 3; @@ -1192,9 +1192,9 @@ void daB_ZANT_c::executeSmallAttack() { mMode = 4; if (field_0x711 != 0) { - setBck(ANM_MAGIC_SHOOT_A_D, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_MAGIC_SHOOT_A_D, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else { - setBck(ANM_MAGIC_SHOOT_A_B_C, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_MAGIC_SHOOT_A_B_C, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } field_0x717 = 0; @@ -1261,9 +1261,9 @@ void daB_ZANT_c::executeWarp() { if (mFightPhase != PHASE_MK && mFightPhase != PHASE_YO && mFightPhase != PHASE_LAST) { if (field_0x711 & 1) { - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } else { - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } } @@ -1350,9 +1350,9 @@ void daB_ZANT_c::executeWarp() { } if (field_0x711 != 0) { - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } else { - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } dComIfGp_particle_set(0x88FE, ¤t.pos, &shape_angle, NULL); @@ -1399,17 +1399,17 @@ void daB_ZANT_c::executeDamage() { if (mFightPhase == PHASE_OI) { if (mMode == 1) { - setBck(ANM_FLOAT_DAMAGE_L, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_DAMAGE_L, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else { - setBck(ANM_FLOAT_DAMAGE_R, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_DAMAGE_R, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } speed.y = 0.0f; speedF = 0.0f; } else if (mMode == 1) { - setBck(ANM_DAMAGE_L_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DAMAGE_L_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else { - setBck(ANM_DAMAGE_R_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DAMAGE_R_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } mSound.startCreatureVoice(Z2SE_EN_ZAN_V_DMG, -1); @@ -1436,7 +1436,7 @@ void daB_ZANT_c::executeConfuse() { speed.y = 0.0f; mMode = 1; - setBck(ANM_GROUND_REACTION, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_GROUND_REACTION, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_V_NO_DMG, -1); field_0x702 = 0; case 1: @@ -1445,7 +1445,7 @@ void daB_ZANT_c::executeConfuse() { } break; case 5: - setBck(ANM_FAINT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FAINT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); speedF = 0.0f; speed.y = 0.0f; field_0x702 = 0; @@ -1485,7 +1485,7 @@ void daB_ZANT_c::executeOpening() { sp34.set(0.0f, 0.0f, -700.0f); player->setPlayerPosAndAngle(&sp34, 0, 0); - setBck(ANM_OP_1, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 1.0f); + setBck(ANM_OP_1, J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f); mMode = MODE_START_DEMO_WAIT; mModeTimer = 30; @@ -1512,7 +1512,7 @@ void daB_ZANT_c::executeOpening() { if (mModeTimer == 0) { mMode = MODE_MSG_1; - setBck(ANM_OP_2, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_OP_2, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_OP_V_WAKEUP, -1); } break; @@ -1527,7 +1527,7 @@ void daB_ZANT_c::executeOpening() { if (mpModelMorf->isStop()) { mMode = MODE_MSG_1_WAIT; mModeTimer = 20; - setBck(ANM_OP_3, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_3, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); setZantMessage(0xE3B); // My god had only one wish... } break; @@ -1560,7 +1560,7 @@ void daB_ZANT_c::executeOpening() { break; case MODE_WARP_WAIT: if (mModeTimer == 0) { - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); player->changeDemoMode(0x48, 0, 0, 0); mMode = MODE_PAN_THRONE; mModeTimer = 105; @@ -1601,7 +1601,7 @@ void daB_ZANT_c::executeOpening() { break; case MODE_MSG_2: if (doZantMessage() == true) { - setBck(ANM_OP_RISE, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_OP_RISE, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mMode = MODE_FLY_UP; mModeTimer = 90; mSound.startCreatureSound(Z2SE_EN_ZAN_OP_FLY, 0, -1); @@ -1629,7 +1629,7 @@ void daB_ZANT_c::executeOpening() { shape_angle.y = fopAcM_searchPlayerAngleY(this); shape_angle.x = -fopAcM_searchPlayerAngleX(this) * 0.5f; - setBck(ANM_OP_RISE, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_RISE, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); sp34.x = -140.0f; sp34.y += 250.0f; @@ -1701,7 +1701,7 @@ void daB_ZANT_c::executeOpening() { calcRoomChangeCamera(0); if (mModeTimer == 0) { mMode = MODE_START_ROOM_CHANGE; - setBck(ANM_FLOAT_APPEAR, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + setBck(ANM_FLOAT_APPEAR, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_ZAN_MAHOJIN_BB, 0, -1); field_0x714 = 1; mKankyoBlend = 0.0f; @@ -1723,7 +1723,7 @@ void daB_ZANT_c::executeOpening() { if (mpModelMorf->isStop()) { dComIfGp_getVibration().StopQuake(31); - setBck(ANM_FLOAT_APPEAR_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_APPEAR_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = MODE_ROOM_CHANGE; mModeTimer = l_HIO.mMahojinWaitTime; @@ -1770,7 +1770,7 @@ void daB_ZANT_c::executeOpening() { mMode = MODE_END_DEMO; field_0x714 = 0; mKankyoBlend = 0.0f; - setBck(ANM_FLOAT_WAIT_RETURN, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + setBck(ANM_FLOAT_WAIT_RETURN, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMahojinAnmMode = 4; } break; @@ -1809,7 +1809,7 @@ void daB_ZANT_c::executeFly() { switch (mMode) { case 0: setTgHitBit(TRUE); - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mModeTimer = 0; mMode = 1; gravity = 0.0f; @@ -1831,7 +1831,7 @@ void daB_ZANT_c::executeFly() { } break; case 10: - setBck(ANM_SWAMP_FALL_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SWAMP_FALL_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_BB_V_FALL, -1); mMode = 11; @@ -1845,11 +1845,11 @@ void daB_ZANT_c::executeFly() { case 12: if (mMode == 11) { if (mpModelMorf->isStop()) { - setBck(ANM_SWAMP_FALL_LOOP, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SWAMP_FALL_LOOP, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 12; } } else if (speed.y < -10.0f) { - setBck(ANM_SWAMP_FALL_B, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SWAMP_FALL_B, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 13; } case 13: @@ -1878,7 +1878,7 @@ void daB_ZANT_c::executeFly() { current.angle.y = (cM_rndFX(2.9f) * (f32)0x1000) - (f32)0x8000; mMode = 11; - setBck(ANM_SWAMP_FALL_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SWAMP_FALL_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_BB_V_JUMP, -1); cXyz pos(current.pos.x, gnd_pos, current.pos.z); @@ -1892,7 +1892,7 @@ void daB_ZANT_c::executeFly() { } else { fopAcM_effSmokeSet1(&field_0x3894, &field_0x3898, ¤t.pos, NULL, 2.0f, &tevStr, 1); speedF = 0.0f; - setBck(ANM_SWAMP_LANDING, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 1.0f); + setBck(ANM_SWAMP_LANDING, J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f); mMode = 14; setTgHitBit(TRUE); setTgType(0xD8FBFDFF); @@ -1937,7 +1937,7 @@ void daB_ZANT_c::executeFlyGround() { } speed.y = 0.0f; speedF = 0.0f; - setBck(ANM_LV1_FATIGUE, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + setBck(ANM_LV1_FATIGUE, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mMode = 1; field_0x702 = 0; mSound.startCreatureVoice(Z2SE_EN_ZAN_BB_V_ZEIZEI, -1); @@ -2015,7 +2015,7 @@ void daB_ZANT_c::executeHook() { field_0x705 = 0; field_0x706 = 0; - setBck(ANM_HOOK_HIT, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_HOOK_HIT, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 2; field_0x6ff++; break; @@ -2026,7 +2026,7 @@ void daB_ZANT_c::executeHook() { if (mpModelMorf->isStop()) { mMode = 3; - setBck(ANM_HOOK_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_HOOK_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } case 3: if (!fopAcM_checkStatus(this, 0x100000)) { @@ -2054,7 +2054,7 @@ void daB_ZANT_c::executeWater() { field_0x6f0 = 0x78; field_0x705 = 1; attention_info.flags = 4; - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } else if (field_0x705 != 0) { if (((daB_ZANTZ_c*)pmobile)->getAppearMode() == 3) { mMode = 15; @@ -2293,7 +2293,7 @@ void daB_ZANT_c::executeSwim() { return; } - setBck(ANM_HOOK_RELEASE, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_HOOK_RELEASE, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 11; case 11: if (current.pos.y < 50.0f) { @@ -2307,7 +2307,7 @@ void daB_ZANT_c::executeSwim() { } break; case 0: - setBck(ANM_SWIM, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + setBck(ANM_SWIM, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mpModelMorf->setFrame(10.0f); field_0x6cc = 0.0f; attention_info.flags = 4; @@ -2472,7 +2472,7 @@ void daB_ZANT_c::executeSimaJump() { mBodySphCc[0].OnTgNoHitMark(); mBodySphCc[1].OnTgNoHitMark(); - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); if (mLastAction == ACT_SMALL_ATTACK) { field_0x702 = 0; @@ -2485,7 +2485,7 @@ void daB_ZANT_c::executeSimaJump() { } attention_info.flags = 4; - setBck(ANM_LV1_FATIGUE, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_LV1_FATIGUE, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_MG_V_ZEIZEI, -1); return; } @@ -2560,7 +2560,7 @@ void daB_ZANT_c::executeSimaJump() { if (mMode == 1) { if (mAcch.ChkGroundHit() && field_0x6ec == 0) { - setBck(ANM_JUMP_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_JUMP_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 2; } } else if (mMode == 2) { @@ -2574,7 +2574,7 @@ void daB_ZANT_c::executeSimaJump() { } } else if (mMode == 3) { if (speed.y <= 0.0f) { - setBck(ANM_JUMP_B, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_JUMP_B, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 4; } } else if (mMode == 4) { @@ -2631,7 +2631,7 @@ void daB_ZANT_c::executeIceDemo() { mFootCc[iron_tg_cc[i]].OnTgIronBallRebound(); } - setBck(ANM_HUGE, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_HUGE, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); speedF = 0.0f; gravity = 0.0f; shape_angle.z = 0; @@ -2656,7 +2656,7 @@ void daB_ZANT_c::executeIceDemo() { case 2: cLib_chaseF(&speed.y, 50.0f, 5.0f); if (mpModelMorf->isStop()) { - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); setActionMode(ACT_ICE_JUMP, 3); } break; @@ -2673,7 +2673,7 @@ void daB_ZANT_c::executeIceJump() { switch (mMode) { case 0: - setBck(ANM_HUGE_LANDING, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, -1.0f); + setBck(ANM_HUGE_LANDING, J3DFrameCtrl::EMode_NONE, 3.0f, -1.0f); mMode = 1; attention_info.flags = 0; field_0x70e = 0; @@ -2687,7 +2687,7 @@ void daB_ZANT_c::executeIceJump() { break; case 2: if (mpModelMorf->isStop()) { - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 3; } case 3: @@ -2724,7 +2724,7 @@ void daB_ZANT_c::executeIceJump() { speed.y = 0.0f; speedF = 0.0f; - setBck(ANM_HUGE_LANDING, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_HUGE_LANDING, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_YO_V_LAND, -1); mDoMtx_stack_c::copy(mpModelMorf->getModel()->getAnmMtx(JNT_FOOT_L)); @@ -2874,19 +2874,19 @@ void daB_ZANT_c::executeIceStep() { switch (var_r28) { case 2: - setBck(ANM_TRAMPLE_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRAMPLE_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 2; break; case 3: - setBck(ANM_TRAMPLE_C, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRAMPLE_C, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 3; break; case 4: - setBck(ANM_TRAMPLE_B, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRAMPLE_B, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 4; break; case 5: - setBck(ANM_TRAMPLE_D, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRAMPLE_D, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 5; break; } @@ -3065,9 +3065,9 @@ void daB_ZANT_c::executeIceDamage() { field_0x70e = 2; if (mMode == 0) { - setBck(ANM_SHIND_L, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_SHIND_L, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } else { - setBck(ANM_SHIND_R, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_SHIND_R, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } mFoot2Cc[0].OffAtSetBit(); @@ -3178,9 +3178,9 @@ void daB_ZANT_c::executeIceDamage() { } if (cM_rnd() < 0.5f) { - setBck(ANM_DAMAGE_L_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DAMAGE_L_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else { - setBck(ANM_DAMAGE_R_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DAMAGE_R_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } mSound.startCreatureVoice(Z2SE_EN_ZAN_V_DMG, -1); @@ -3197,7 +3197,7 @@ void daB_ZANT_c::executeIceDamage() { mModeTimer = 30; } - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } break; case 12: @@ -3206,7 +3206,7 @@ void daB_ZANT_c::executeIceDamage() { } break; case 20: - setBck(ANM_GROUND_REACTION, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_GROUND_REACTION, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_V_NO_DMG, -1); mMode = 21; speed.y = 0.0f; @@ -3217,7 +3217,7 @@ void daB_ZANT_c::executeIceDamage() { } break; case 40: - setBck(ANM_FAINT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FAINT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 41; speed.y = 0.0f; speedF = 0.0f; @@ -3404,15 +3404,15 @@ void daB_ZANT_c::executeMonkey() { } setNextPillarPos(); - setBck(ANM_LV1_JUMP_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_LV1_JUMP_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 8; } else if (mLastAction == ACT_SMALL_ATTACK) { mMode = 5; - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mModeTimer = 0; } else { mMode = 5; - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } field_0x70b = cM_rndF(2.9f) + 3.0f; @@ -3433,12 +3433,12 @@ void daB_ZANT_c::executeMonkey() { field_0x711 = 0; setActionMode(ACT_WARP, 1); } else { - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 2; } } else { mMode = 5; - setBck(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } } break; @@ -3458,7 +3458,7 @@ void daB_ZANT_c::executeMonkey() { cLib_addCalcAngleS2(&shape_angle.y, cLib_targetAngleY(¤t.pos, &field_0x6ac), 8, 0x800); if (mModeTimer == 0 && mAcch.ChkGroundHit()) { - setBck(ANM_LV1_JUMP_A, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_LV1_JUMP_A, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 8; } break; @@ -3485,7 +3485,7 @@ void daB_ZANT_c::executeMonkey() { } if (mModeTimer == 8) { - setBck(ANM_LB1_JUMP_B, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_LB1_JUMP_B, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } if (mAcch.ChkGroundHit()) { @@ -3532,7 +3532,7 @@ void daB_ZANT_c::executeMonkeyFall() { mModeTimer = 30; } - setBck(ANM_FAINT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FAINT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 1; mBodySphCc[0].OffTgNoHitMark(); @@ -3545,7 +3545,7 @@ void daB_ZANT_c::executeMonkeyFall() { } break; case 10: - setBck(ANM_FALL, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_FALL, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 11; field_0x707 = 0; setTgHitBit(FALSE); @@ -3563,7 +3563,7 @@ void daB_ZANT_c::executeMonkeyFall() { speedF = 8.0f; current.angle.y = shape_angle.y + 0x8000; - setBck(ANM_LANDING, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0.0f); + setBck(ANM_LANDING, J3DFrameCtrl::EMode_NONE, 0.0f, 0.0f); mMode = 12; mBodySphCc[0].OnAtSetBit(); @@ -3605,7 +3605,7 @@ void daB_ZANT_c::executeMonkeyDamage() { return; } - setBck(ANM_LANDING_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_LANDING_DAMAGE, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_V_DMG, -1); mMode = 1; field_0x702 = 0; @@ -3615,7 +3615,7 @@ void daB_ZANT_c::executeMonkeyDamage() { } if (mpModelMorf->isStop()) { - setBck(ANM_LANDING_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_LANDING_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 10; } break; @@ -3628,7 +3628,7 @@ void daB_ZANT_c::executeMonkeyDamage() { field_0x6f0 = 30; } - setBck(ANM_LANDING_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_LANDING_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 10; field_0x702 = 0; case 10: @@ -3823,7 +3823,7 @@ void daB_ZANT_c::executeLastStartDemo() { } else { camera->Stop(); camera->SetTrimSize(3); - setBck(ANM_LAST_DEMO, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_LAST_DEMO, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_ZAN_CTL_OP, 0, -1); mpModelMorf->setPlaySpeed(0.0f); @@ -3935,7 +3935,7 @@ void daB_ZANT_c::executeLastAttack() { if (field_0x713 == 0) { mMode = 1; - setBck(ANM_SW_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SW_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mModeTimer = 60; } else { mMode = 5; @@ -3964,7 +3964,7 @@ void daB_ZANT_c::executeLastAttack() { if (fopAcM_searchPlayerDistance(this) < 800.0f || mModeTimer == 0) { mMode = 2; - setBck(ANM_SW_WALK, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SW_WALK, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } } break; @@ -3997,11 +3997,11 @@ void daB_ZANT_c::executeLastAttack() { break; case 5: if (field_0x713 == 0) { - setBck(ANM_SW_ATTACK, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SW_ATTACK, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mModeTimer = 200; speedF = 5.0f; } else { - setBck(ANM_SW_ATTACK_B, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SW_ATTACK_B, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); if (field_0x713 != 2) { mModeTimer = cM_rndF(60.0f) + 60.0f; @@ -4099,13 +4099,13 @@ void daB_ZANT_c::executeLastAttack() { mMode = 5; } else { mMode = 2; - setBck(ANM_SW_WALK, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SW_WALK, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } break; case 10: case 30: dComIfGs_onOneZoneSwitch(1, fopAcM_GetRoomNo(this)); - setBck(ANM_SPIN, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SPIN, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); if (field_0x704 == 0) { if (field_0x713 != 2) { @@ -4287,7 +4287,7 @@ void daB_ZANT_c::executeLastAttack() { mRollCc.OffTgSetBit(); mRollCc.OffCoSetBit(); - setBck(ANM_SW_FATIGUE, J3DFrameCtrl::LOOP_REPEAT_e, 30.0f, 1.0f); + setBck(ANM_SW_FATIGUE, J3DFrameCtrl::EMode_LOOP, 30.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_CTL_V_ZEIZEI, -1); mMode = 13; dComIfGs_offOneZoneSwitch(1, fopAcM_GetRoomNo(this)); @@ -4398,13 +4398,13 @@ void daB_ZANT_c::executeLastDamage() { field_0x702 = 0; if (mMode == 1) { - setBck(ANM_SW_DAMAGE_R, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SW_DAMAGE_R, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else if (mMode == 2) { - setBck(ANM_SW_DAMAGE_L, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SW_DAMAGE_L, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else if (cM_rnd() < 0.5f) { - setBck(ANM_SW_DAMAGE_L, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SW_DAMAGE_L, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } else { - setBck(ANM_SW_DAMAGE_R, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SW_DAMAGE_R, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); } mSound.startCreatureVoice(Z2SE_EN_ZAN_V_DMG, -1); @@ -4474,7 +4474,7 @@ void daB_ZANT_c::executeLastDamage() { } case 10: attention_info.flags = 4; - setBck(ANM_GROUND_REACTION, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_GROUND_REACTION, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_ZAN_V_NO_DMG, -1); mMode = 11; speedF = 0.0f; @@ -4486,7 +4486,7 @@ void daB_ZANT_c::executeLastDamage() { } break; case 20: - setBck(ANM_FAINT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FAINT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); speedF = 0.0f; speed.y = 0.0f; field_0x702 = 0; @@ -4532,7 +4532,7 @@ void daB_ZANT_c::executeLastEndDemo() { camera->Stop(); camera->SetTrimSize(3); - setBck(ANM_DIE_DEMO, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DIE_DEMO, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_ZAN_END, 0, -1); Z2GetAudioMgr()->bgmStop(30, 0); fpcM_Search(s_del_tp, this); @@ -4681,7 +4681,7 @@ void daB_ZANT_c::calcMahojinAnime() { if (mpMahojinBrk2->isStop()) { mMahojin2AnmMode = 0; - mpMahojinBrk2->init(mpMahojinModel2->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_zan", 0x4F), TRUE, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1); + mpMahojinBrk2->init(mpMahojinModel2->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_zan", 0x4F), TRUE, J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1); } } } @@ -4812,7 +4812,7 @@ void daB_ZANT_c::executeRoomChange() { mMode = 1; if (mFightPhase != PHASE_MK) { - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } dComIfGp_particle_set(0x88FE, ¤t.pos, &shape_angle, NULL); @@ -4839,7 +4839,7 @@ void daB_ZANT_c::executeRoomChange() { current.angle.y = 0x8000; shape_angle.y = 0x8000; - setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); player->setPlayerPosAndAngle(&sp34, 0, 0); player->changeOriginalDemo(); @@ -4899,7 +4899,7 @@ void daB_ZANT_c::executeRoomChange() { if (mModeTimer == 0) { mMode = 14; - setBck(ANM_FLOAT_APPEAR_SHORT, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + setBck(ANM_FLOAT_APPEAR_SHORT, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); field_0x714 = 1; mKankyoBlend = 0.0f; @@ -4932,7 +4932,7 @@ void daB_ZANT_c::executeRoomChange() { if (mpModelMorf->isStop()) { dComIfGp_getVibration().StopQuake(0x1F); - setBck(ANM_FLOAT_APPEAR_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_APPEAR_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mFightPhase++; if (mFightPhase >= PHASE_MAX) { @@ -4953,7 +4953,7 @@ void daB_ZANT_c::executeRoomChange() { field_0x714 = 0; mKankyoBlend = 0.0f; - setBck(ANM_FLOAT_WAIT_RETURN, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + setBck(ANM_FLOAT_WAIT_RETURN, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMahojinAnmMode = 4; } break; diff --git a/src/d/actor/d_a_b_zant_mobile.cpp b/src/d/actor/d_a_b_zant_mobile.cpp index 965a7f4649..2dd10d89ab 100644 --- a/src/d/actor/d_a_b_zant_mobile.cpp +++ b/src/d/actor/d_a_b_zant_mobile.cpp @@ -126,13 +126,13 @@ void daB_ZANTZ_c::setMouthMode(u8 param_0) { if (param_0 == 2) { if (mMouthMode == 0 || mMouthMode == 1) { mMouthMode = 2; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x43), J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 1.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x43), J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f, 0.0f, -1.0f); Z2GetAudioMgr()->seStart(Z2SE_EN_ZZ_CLOSE, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } else if (param_0 == 0) { if (mMouthMode == 2 || mMouthMode == 3) { mMouthMode = 0; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 1.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f, 0.0f, -1.0f); Z2GetAudioMgr()->seStart(Z2SE_EN_ZZ_OPEN, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } } @@ -145,14 +145,14 @@ void daB_ZANTZ_c::setAppearMode(u8 param_0) { if (param_0 == 2) { if (mAppearMode == 0 || mAppearMode == 1) { mAppearMode = 2; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 1.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f); field_0x660 = 1.0f; dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f)); } } else if (param_0 == 0) { if (mAppearMode == 2 || mAppearMode == 3) { mAppearMode = 0; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 1.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f); field_0x660 = 1.0f; dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f)); @@ -174,7 +174,7 @@ void daB_ZANTZ_c::setAppearMode(u8 param_0) { if (mAppearMode == 1) { if (abs((s16)(fopAcM_searchPlayerAngleY(this) - shape_angle.y)) > 0x1800) { mAppearMode = 4; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 1.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f); field_0x660 = 1.0f; dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f)); } @@ -183,7 +183,7 @@ void daB_ZANTZ_c::setAppearMode(u8 param_0) { if (mAppearMode == 1) { mAppearMode = 5; mSearchContinue = true; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 1.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f); field_0x660 = 1.0f; dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f)); } @@ -262,7 +262,7 @@ void daB_ZANTZ_c::action() { if (!var_f31) { dComIfGp_getVibration().StopQuake(0x1F); mAppearMode++; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 0.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f); } break; } @@ -285,7 +285,7 @@ void daB_ZANTZ_c::action() { if (!var_f31) { dComIfGp_getVibration().StopQuake(0x1F); mAppearMode++; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 0.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f); } break; } @@ -317,7 +317,7 @@ void daB_ZANTZ_c::action() { if (!field_0x660) { dComIfGp_getVibration().StopQuake(0x1F); mAppearMode = 1; - mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::LOOP_REPEAT_e, 0.0f, 0.0f, 0.0f, -1.0f); + mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f); } } else { cLib_chaseF(&field_0x660, 1.0f, 0.2f); @@ -433,7 +433,7 @@ int daB_ZANTZ_c::CreateHeap() { return 0; } - if (!mpBrk->init(mpMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_zan", 0x50), TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!mpBrk->init(mpMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_zan", 0x50), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_b_zant_sima.cpp b/src/d/actor/d_a_b_zant_sima.cpp index f6b84b1edb..0d9c052311 100644 --- a/src/d/actor/d_a_b_zant_sima.cpp +++ b/src/d/actor/d_a_b_zant_sima.cpp @@ -164,7 +164,7 @@ int daB_ZANTS_c::CreateHeap() { } J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("MAGNESIMA", 13); - if (!mpBtkAnm->init(mpModel->getModelData(), pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, + if (!mpBtkAnm->init(mpModel->getModelData(), pbtk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return FALSE; @@ -176,7 +176,7 @@ int daB_ZANTS_c::CreateHeap() { } J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("MAGNESIMA", 10); - if (!mpBrkAnm->init(mpModel->getModelData(), pbrk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, + if (!mpBrkAnm->init(mpModel->getModelData(), pbrk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return FALSE; diff --git a/src/d/actor/d_a_door_mbossL1.cpp b/src/d/actor/d_a_door_mbossL1.cpp index 1344e3b2eb..a2ebeb076e 100644 --- a/src/d/actor/d_a_door_mbossL1.cpp +++ b/src/d/actor/d_a_door_mbossL1.cpp @@ -969,7 +969,7 @@ int daMBdoorL1_c::openInit() { } J3DAnmTransform* anm = (J3DAnmTransform*)dComIfG_getObjectRes(getAnmArcName(), getOpenAnm()); JUT_ASSERT(1550, anm != 0); - int rt = mBckAnms[0]->init(anm, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, true); + int rt = mBckAnms[0]->init(anm, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, true); JUT_ASSERT(1552, rt == 0); int level = getNowLevel(this); u8 swBit3 = door_param2_c::getSwbit3(this); diff --git a/src/d/actor/d_a_e_ba.cpp b/src/d/actor/d_a_e_ba.cpp index 3e785beb61..6edc721c21 100644 --- a/src/d/actor/d_a_e_ba.cpp +++ b/src/d/actor/d_a_e_ba.cpp @@ -250,7 +250,7 @@ static void e_ba_roof(e_ba_class* i_this) { switch (i_this->mMode) { case 0: anm_init(i_this, e_ba_class::ANM_WAIT, 15.0f, - J3DFrameCtrl::LOOP_REPEAT_e, cM_rndF(0.1f) + 0.9f); + J3DFrameCtrl::EMode_LOOP, cM_rndF(0.1f) + 0.9f); i_this->mMode = 1; break; @@ -277,7 +277,7 @@ static void e_ba_fight_fly(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mSpeedRatio = 0.0f; break; @@ -324,7 +324,7 @@ static void e_ba_fight(e_ba_class* i_this) { switch (i_this->mMode) { case 0: anm_init(i_this, e_ba_class::ANM_HOVERING, 2.0f, - J3DFrameCtrl::LOOP_REPEAT_e, cM_rndF(0.1f) + 1.0f); + J3DFrameCtrl::EMode_LOOP, cM_rndF(0.1f) + 1.0f); i_this->mMode = 1; i_this->mTimer[0] = 0; i_this->mTimer[1] = cM_rndF(100.0f) + 30.0f; @@ -396,7 +396,7 @@ static void e_ba_attack(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 2.0f); + anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::EMode_LOOP, 2.0f); i_this->mMode = 1; i_this->mTimer[1] = 20; break; @@ -444,7 +444,7 @@ static void e_ba_attack(e_ba_class* i_this) { static void e_ba_fly(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; break; @@ -481,7 +481,7 @@ static void e_ba_fly(e_ba_class* i_this) { static void e_ba_return(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mSpeedRatio = 0.0f; @@ -511,7 +511,7 @@ static void e_ba_path_fly(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_FLY, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; // fallthrough @@ -565,7 +565,7 @@ static void e_ba_path_fly(e_ba_class* i_this) { static void e_ba_chance(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_HOVERING, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.5f); + anm_init(i_this, e_ba_class::ANM_HOVERING, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.5f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(30.0f) + 100.0f; i_this->speed.x = 0.0f; @@ -612,7 +612,7 @@ static void e_ba_wolfbite(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_HOLDWAIT, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_HOLDWAIT, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; break; @@ -626,7 +626,7 @@ static void e_ba_wolfbite(e_ba_class* i_this) { i_this->speedF = 40.0f; i_this->speed.y = -20.0f; i_this->mCreatureSound.startCreatureVoice(Z2SE_EN_BA_V_DEATH, -1); - anm_init(i_this, e_ba_class::ANM_DEAD, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_DEAD, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mTimer[0] = 60; i_this->mMode = 2; i_this->health = 0; @@ -671,7 +671,7 @@ static void e_ba_wind(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_FURA2, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_FURA2, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mWindSpinSpeed = -(cM_rndFX(1000.0f) + 15000.0f); i_this->mWindOffset.x = cM_rndFX(50.0f); @@ -709,7 +709,7 @@ static void e_ba_appear(e_ba_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_ba_class::ANM_APPEAR, 0.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_ba_class::ANM_APPEAR, 0.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(20.0f) + 40.0f; i_this->speedF = 30.0f; diff --git a/src/d/actor/d_a_e_dt.cpp b/src/d/actor/d_a_e_dt.cpp index 03702e09b3..cef6cff2b9 100644 --- a/src/d/actor/d_a_e_dt.cpp +++ b/src/d/actor/d_a_e_dt.cpp @@ -873,7 +873,7 @@ void daE_DT_c::executeWait() { mSound.startCreatureVoice(Z2SE_EN_DT_V_KYORO, -1); } if (mTimer == 0) { - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 2; mTimer = (u8)(150.0f + cM_rndFX(30.0f)); } @@ -881,7 +881,7 @@ void daE_DT_c::executeWait() { case 2: if (mTimer == 0) { - setBck(ANM_KYORO_2, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_KYORO_2, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 1; mTimer = 180; } @@ -898,14 +898,14 @@ void daE_DT_c::executeCry() { if (checkBeforeBg(1200.0f)) { mMode = 1; mTimer = 30; - setBck(ANM_STEP, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_STEP, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); if ((s16)(shape_angle.y - fopAcM_searchPlayerAngleY(this)) < 0) { mTargetAngleY = shape_angle.y + 0x4000; } else { mTargetAngleY = shape_angle.y - 0x4000; } } else { - setBck(ANM_CROAK, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_CROAK, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); field_0x704 = 0; mMode = 2; } @@ -917,7 +917,7 @@ void daE_DT_c::executeCry() { if (checkBeforeBg(1200.0f)) { mTimer = 30; } else { - setBck(ANM_CROAK, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_CROAK, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); field_0x704 = 0; mMode = 2; } @@ -956,7 +956,7 @@ void daE_DT_c::executeCry() { void daE_DT_c::executeShake() { switch (mMode) { case 0: - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mTimer = 30; mMode = 1; break; @@ -964,7 +964,7 @@ void daE_DT_c::executeShake() { case 1: if (mTimer == 0) { setSwingEffect(); - setBck(ANM_SWING, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SWING, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 2; field_0x704 = 0; mTimer = 60; @@ -996,13 +996,13 @@ void daE_DT_c::executeWalk() { || mLegCcSph[0].ChkTgHit() || mLegCcSph[1].ChkTgHit())) { mMode = 7; - setBck(ANM_SMALL_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SMALL_DAMAGE, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_DT_SMALL_DAMAGE, 0, -1); } switch (mMode) { case 0: - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mTimer = 30; mMode = 1; mWalkTimer = 1200; @@ -1010,7 +1010,7 @@ void daE_DT_c::executeWalk() { case 1: if (mTimer == 0) { - setBck(ANM_STEP, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_STEP, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); offset.set(0.0f, 0.0f, 1500.0f); s16 angle = cM_rndFX(0x2000) + fopAcM_searchPlayerAngleY(this) + 0x8000; cLib_offsetPos(&mTargetPos, &home.pos, angle, &offset); @@ -1023,7 +1023,7 @@ void daE_DT_c::executeWalk() { if (cLib_chaseAngleS(&shape_angle.y, mTargetAngleY, 0x100)) { current.angle.y = shape_angle.y; mTimer = 300; - setBck(ANM_WALK_01, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_WALK_01, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mMode = 3; } break; @@ -1040,7 +1040,7 @@ void daE_DT_c::executeWalk() { } cLib_chaseF(&speedF, l_HIO.mWalkSpeed, 1.0f); if (mTimer == 0 || mTargetPos.absXZ(current.pos) < 300.0f) { - setBck(ANM_STEP, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_STEP, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mTargetAngleY = cLib_targetAngleY(¤t.pos, &home.pos); mMode = 4; speedF = 0.0f; @@ -1050,7 +1050,7 @@ void daE_DT_c::executeWalk() { case 4: if (cLib_chaseAngleS(&shape_angle.y, mTargetAngleY, 0x100)) { current.angle.y = shape_angle.y; - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mMode = 5; field_0x704 = 0; } @@ -1065,7 +1065,7 @@ void daE_DT_c::executeWalk() { field_0x704++; if (field_0x704 >= 150) { mMode = 6; - setBck(ANM_KYORO_2, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_KYORO_2, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_DT_V_KYORO, -1); } } @@ -1076,7 +1076,7 @@ void daE_DT_c::executeWalk() { mSound.startCreatureVoice(Z2SE_EN_DT_V_KYORO, -1); } if (mpMorf->isStop()) { - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mMode = 5; field_0x704 = 0; } @@ -1084,7 +1084,7 @@ void daE_DT_c::executeWalk() { case 7: if (mpMorf->isStop()) { - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 5; field_0x704 = 0; } @@ -1116,7 +1116,7 @@ void daE_DT_c::executeJump() { switch (mMode) { case 0: - setBck(ANM_STEP, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_STEP, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); speed.y = 0.0f; speedF = 0.0f; gravity = -5.0f; @@ -1131,7 +1131,7 @@ void daE_DT_c::executeJump() { || fopAcM_searchPlayerDistance(this) < 700.0f) { mMode = 2; - setBck(ANM_JUMP_START, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_JUMP_START, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_DT_V_JUMP, -1); setJumpEffect(); if (!field_0x783) { @@ -1152,7 +1152,7 @@ void daE_DT_c::executeJump() { mMode = 3; mTimer = 60; current.angle.y = cLib_targetAngleY(¤t.pos, &player_pos); - setBck(ANM_JUMP_TOP, J3DFrameCtrl::LOOP_ONCE_e, 20.0f, 1.0f); + setBck(ANM_JUMP_TOP, J3DFrameCtrl::EMode_NONE, 20.0f, 1.0f); } break; @@ -1260,7 +1260,7 @@ void daE_DT_c::executeJump() { mFlyingAttackLand = true; dComIfGp_getVibration().StartQuake(8, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); mQuakeTimer = 30; - setBck(ANM_JUMP_END, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_JUMP_END, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 6; mSound.startCreatureSound(Z2SE_EN_DT_SPLASH, 0, -1); } @@ -1312,7 +1312,7 @@ void daE_DT_c::executeDown() { // fallthrough case 1: - setBck(ANM_DOWN_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_DOWN_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); speed.y = 0.0f; speedF = 0.0f; mMode = 3; @@ -1328,7 +1328,7 @@ void daE_DT_c::executeDown() { Z2GetAudioMgr()->changeSubBgmStatus(1); mTimer = 0; mSound.startCreatureVoice(Z2SE_EN_DT_V_DOWN_DAMAGE2, -1); - setBck(ANM_DOWN_DAMAGE_2, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DOWN_DAMAGE_2, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); speed.y = 0.0f; speedF = 0.0f; mMode = 4; @@ -1352,7 +1352,7 @@ void daE_DT_c::executeDown() { } else { Z2GetAudioMgr()->changeSubBgmStatus(1); } - setBck(ANM_DOWN_RETURN_2, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DOWN_RETURN_2, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_DT_V_RETURN, -1); mMode = 5; } else { @@ -1391,7 +1391,7 @@ void daE_DT_c::executeDown() { void daE_DT_c::executeSearch() { switch (mMode) { case 0: - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mTimer = 30; mMode = 1; break; @@ -1423,7 +1423,7 @@ void daE_DT_c::executeDamage() { mTimer = 120; } mSound.startCreatureVoice(Z2SE_EN_DT_V_DOWN_DAMAGE, -1); - setBck(ANM_DOWN_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DOWN_DAMAGE, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 1; break; @@ -1446,7 +1446,7 @@ void daE_DT_c::executeBombDamage() { setBombEffect(); setBombSmokeEffect(); mSound.startCreatureVoice(Z2SE_EN_DT_CROAK_DAMAGE, -1); - setBck(ANM_CROAK_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_CROAK_DAMAGE, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 1; break; @@ -1489,7 +1489,7 @@ void daE_DT_c::executeDeath() { case 0: mSound.startCreatureVoice(Z2SE_EN_DT_V_TODOME, -1); attention_info.flags = 0; - setBck(ANM_DOWN_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_DOWN_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mTimer = 30; mMode = 1; mDead = 1; @@ -1530,7 +1530,7 @@ void daE_DT_c::executeDeath() { mCamFovy = 55.0f; camera->mCamera.SetTrimSize(3); attention_info.flags = 0; - setBck(ANM_DEAD, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_DEAD, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_DT_V_DEAD, -1); mMode = 3; mTimer = 300; @@ -1664,7 +1664,7 @@ void daE_DT_c::executeOpening() { switch (mMode) { case 0: mMode = 1; - setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); attention_info.flags = 0; if (getNumberOfOtama() == 0) { for (i = 0; i < 20; i++) { @@ -1701,7 +1701,7 @@ void daE_DT_c::executeOpening() { field_0x704 = 0; if (mMode == 1) { if (mTimer == 0) { - setBck(ANM_OP_DEMO_SWING, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_SWING, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 2; field_0x775 = cM_rndF(2.9f); } @@ -1726,14 +1726,14 @@ void daE_DT_c::executeOpening() { &shape_angle, NULL, 0xff); } if (mpMorf->isStop() && getNumberOfOtama() <= 20) { - setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 1; mTimer = 300.0f + cM_rndFX(60.0f); } } } else { if (field_0x704 != 0) { - setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); field_0x704++; } if (in_sight) { @@ -1744,7 +1744,7 @@ void daE_DT_c::executeOpening() { mCamBank = camera->Bank(); player->onPlayerNoDraw(); camera->SetTrimSize(3); - setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 3; Z2GetAudioMgr()->subBgmStart(Z2BGM_DEKUTOAD_D01); dComIfGs_onOneZoneSwitch(3, fopAcM_GetRoomNo(this)); @@ -1767,7 +1767,7 @@ void daE_DT_c::executeOpening() { cLib_chasePos(&mCamCenter, vec2, 5.0f); if (mTimer == 0) { mMode = 5; - setBck(ANM_OP_DEMO_SWING, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_SWING, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mTimer = 60; field_0x704 = 0; } @@ -1787,7 +1787,7 @@ void daE_DT_c::executeOpening() { } if (mpMorf->isStop()) { - setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_WAIT, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } if (mTimer == 0) { @@ -1818,7 +1818,7 @@ void daE_DT_c::executeOpening() { cLib_chasePos(&mCamCenter, vec2, 50.0f); if (mTimer == 0) { - setBck(ANM_OP_DEMO_FALL, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO_FALL, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 7; } break; @@ -1854,7 +1854,7 @@ void daE_DT_c::executeOpening() { cLib_chasePos(&mCamCenter, vec2, field_0x6e8); if (mpMorf->isStop()) { - setBck(ANM_JUMP_TOP, J3DFrameCtrl::LOOP_ONCE_e, 20.0f, 1.0f); + setBck(ANM_JUMP_TOP, J3DFrameCtrl::EMode_NONE, 20.0f, 1.0f); } cLib_chaseF(&speedF, 0.0f, 1.0f); if (mTimer < 15) { @@ -1889,7 +1889,7 @@ void daE_DT_c::executeOpening() { if (mAcch.ChkGroundHit()) { setLargeWaterEffect(); mMode = 11; - setBck(ANM_OP_DEMO, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_OP_DEMO, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); dComIfGp_getVibration().StartQuake(8, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); mQuakeTimer = 30; mSound.startCreatureSound(Z2SE_EN_DT_SPLASH, 0, -1); @@ -1964,7 +1964,7 @@ void daE_DT_c::executeOpening() { } if (mpMorf->isStop()) { - setBck(ANM_WAIT_01, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_WAIT_01, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 32; mTimer = 45; player->changeOriginalDemo(); @@ -2493,7 +2493,7 @@ int daE_DT_c::CreateHeap() { J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("E_DT", 28); mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_DT", 23), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &mSound, 0, 0x11000084); if (mpMorf == NULL || mpMorf->getModel() == NULL) { return 0; diff --git a/src/d/actor/d_a_e_fs.cpp b/src/d/actor/d_a_e_fs.cpp index 4eb8a9fe9b..58d48c6ac5 100644 --- a/src/d/actor/d_a_e_fs.cpp +++ b/src/d/actor/d_a_e_fs.cpp @@ -175,7 +175,7 @@ static void e_fs_appear(e_fs_class* i_this) { if (i_this->mTimer[0] == 0) { i_this->current.pos.y = i_this->home.pos.y; i_this->old.pos = i_this->current.pos; - anm_init(i_this, ANM_APPEAR, 10.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_APPEAR, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode++; i_this->current.angle.y = i_this->mPlayerAngleY; i_this->attention_info.flags = 4; @@ -215,7 +215,7 @@ static void e_fs_wait(e_fs_class* i_this) { // fallthrough case 0: - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(60.0f) + 2.0f; break; @@ -249,7 +249,7 @@ static void e_fs_wait(e_fs_class* i_this) { static void e_fs_move(e_fs_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_MOVE, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_MOVE, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode++; // fallthrough @@ -294,7 +294,7 @@ static void e_fs_attack(e_fs_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_ATTACK01, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ATTACK01, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mPlayerPos = player->current.pos; i_this->mMode++; break; @@ -336,7 +336,7 @@ static void e_fs_attack(e_fs_class* i_this) { static void e_fs_damage(e_fs_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_DAMAGE, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGE, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode++; break; @@ -357,7 +357,7 @@ static void e_fs_end(e_fs_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_DIE, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, cM_rndF(0.4f) + 0.7f); + anm_init(i_this, ANM_DIE, 2.0f, J3DFrameCtrl::EMode_NONE, cM_rndF(0.4f) + 0.7f); i_this->mMode++; fopAcM_OffStatus(i_this, 0); i_this->attention_info.flags = 0; @@ -492,7 +492,7 @@ static void e_fs_demowait(e_fs_class* i_this) { break; case 1: - anm_init(i_this, ANM_APPEAR, 0.0f, J3DFrameCtrl::LOOP_ONCE_e, 0.0f); + anm_init(i_this, ANM_APPEAR, 0.0f, J3DFrameCtrl::EMode_NONE, 0.0f); i_this->current.pos.y = (fopAcM_GetID(i_this) & 3) * 200.0f + 1300.0f; i_this->mMode = 2; i_this->field_0x566 = 1; @@ -511,7 +511,7 @@ static void e_fs_demowait(e_fs_class* i_this) { case 3: if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 4; } break; @@ -719,7 +719,7 @@ static int useHeapIe_fst(fopAc_ac_c* i_this) { e_fs_class* _this = static_cast(i_this); _this->mpMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("E_FS", 0xc), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_FS", 9), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &_this->mCreatureSound, 0x80000, 0x11000084); if (_this->mpMorf == NULL || _this->mpMorf->getModel() == NULL) { return 0; diff --git a/src/d/actor/d_a_e_hzelda.cpp b/src/d/actor/d_a_e_hzelda.cpp index b813da8b74..cb0240061b 100644 --- a/src/d/actor/d_a_e_hzelda.cpp +++ b/src/d/actor/d_a_e_hzelda.cpp @@ -212,7 +212,7 @@ static void e_hzelda_wait(e_hzelda_class* i_this) { case -1: Z2GetAudioMgr()->bgmStart(Z2BGM_VS_GANON_01, 0, 0); case 0: - anm_init(i_this, ANM_FWAIT, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_FWAIT, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimers[TIMER_ATTACK_WAIT] = cM_rndF(150.0f) + 100.0f; i_this->mMoveStep = 0.0f; @@ -304,7 +304,7 @@ static int e_hzelda_attack_a(e_hzelda_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_BEFORE_ATTACK, 10.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_BEFORE_ATTACK, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->field_0x5c4 = i_this->mTargetMovePos; /* fallthrough */ diff --git a/src/d/actor/d_a_e_ot.cpp b/src/d/actor/d_a_e_ot.cpp index cd492703e6..77b2de42e8 100644 --- a/src/d/actor/d_a_e_ot.cpp +++ b/src/d/actor/d_a_e_ot.cpp @@ -366,7 +366,7 @@ void daE_OT_c::executeBorn() { speedF = 0.0f; mHatched = true; mMode = 1; - setBck(ANM_BORN, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_BORN, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 1; mSound.startCreatureSound(Z2SE_EN_OT_BORN, 0, -1); if (mDemoMode == 3) { @@ -401,7 +401,7 @@ void daE_OT_c::executeAttack() { switch (mMode) { case 0: - setBck(ANM_SWIM, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SWIM, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); // fallthrough case 10: @@ -465,7 +465,7 @@ void daE_OT_c::executePanic() { } gravity = -5.0f; mMode = 2; - setBck(ANM_BORN, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_BORN, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); break; case 2: @@ -481,7 +481,7 @@ void daE_OT_c::executePanic() { if (mpMorf->isStop()) { speedF = 20.0f; mMode = 4; - setBck(ANM_SWIM, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SWIM, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } break; @@ -500,7 +500,7 @@ void daE_OT_c::executePanic() { case 5: mTimer1 = 11.0f + cM_rndFX(3.0f); mMode = 6; - setBck(ANM_BORN, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_BORN, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); gravity = 0.0f; speedF = 0.0f; // fallthrough @@ -543,7 +543,7 @@ void daE_OT_c::executeDamage() { attention_info.flags = 0; mAtSph.OffAtSetBit(); mCcSph.OffTgSetBit(); - setBck(ANM_DAMAGE, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_DAMAGE, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_OT_V_DEATH, -1); speedF = 20.0f + cM_rndFX(5.0f); speed.y = 40.0f + cM_rndFX(5.0f); @@ -755,7 +755,7 @@ int daE_OT_c::CreateHeap() { J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("E_OT", 14); mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_OT", ANM_BORN), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, &mSound, + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &mSound, 0x80000, 0x11000084); if (mpMorf == NULL || mpMorf->getModel() == NULL) { return 0; @@ -773,7 +773,7 @@ int daE_OT_c::CreateHeap() { } J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("E_OT", 17); if (!mpEggAnm->init(mpEggModel->getModelData(), btk, TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) { + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_e_ph.cpp b/src/d/actor/d_a_e_ph.cpp index 9b93975ae4..be16bd8f0b 100644 --- a/src/d/actor/d_a_e_ph.cpp +++ b/src/d/actor/d_a_e_ph.cpp @@ -168,7 +168,7 @@ int daE_PH_c::CreateHeap() { mpMorf = new mDoExt_McaMorfSO( modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_PH", ANM_WAIT), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, &mSound, 0x80000, 0x11000084); + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, &mSound, 0x80000, 0x11000084); if (mpMorf == NULL || mpMorf->getModel() == NULL) { return 0; } @@ -238,7 +238,7 @@ void daE_PH_c::SearchNearP() { void daE_PH_c::FlyAnm() { if (mAnmID == ANM_DAMAGE_ARROW || mAnmID == ANM_HANG_START || mAnmID == ANM_HANG_WAIT) { if (mpMorf->isStop()) { - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } mFlyRockEMKey = dComIfGp_particle_set(mFlyRockEMKey, 0x878C, ¤t.pos, &tevStr, @@ -254,17 +254,17 @@ void daE_PH_c::FlyAnm() { field_0x5ae = 15; field_0x616 = 0x1000; field_0x618 = 0x1000; - SetAnm(ANM_HANG_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_HANG_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } else if (mAnmID != ANM_WAIT) { - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } } else if (mAnmID == ANM_HANG_WAIT) { if (!fopAcM_checkHookCarryNow(this) || !dComIfGp_checkPlayerStatus1(0, 0x10000)) { - SetAnm(ANM_HANG_END, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, mAnmSpeed); + SetAnm(ANM_HANG_END, J3DFrameCtrl::EMode_NONE, 5.0f, mAnmSpeed); } } else if (mAnmID == ANM_HANG_END) { if (mpMorf->isStop()) { - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } } } @@ -587,7 +587,7 @@ void daE_PH_c::S_SetAngle() { void daE_PH_c::FlyAnm2() { if (mAnmID == ANM_DAMAGE_ARROW || mAnmID == ANM_HANG_START || mAnmID == ANM_HANG_WAIT) { if (mpMorf->isStop()) { - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } mFlyRockEMKey = dComIfGp_particle_set(mFlyRockEMKey, 0x878C, ¤t.pos, &tevStr, @@ -606,21 +606,21 @@ void daE_PH_c::FlyAnm2() { field_0x5ae = 15; field_0x616 = 0x1000; field_0x618 = 0x1000; - SetAnm(ANM_HANG_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_HANG_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } else if (fopAcM_checkHookCarryNow(this)) { attention_info.flags = 0; } else if (mAnmID != ANM_WAIT) { - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } } else if (mAnmID == ANM_HANG_WAIT) { attention_info.flags = 0; if (!fopAcM_checkHookCarryNow(this) || !dComIfGp_checkPlayerStatus1(0, 0x10000)) { - SetAnm(ANM_HANG_END, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, mAnmSpeed); + SetAnm(ANM_HANG_END, J3DFrameCtrl::EMode_NONE, 5.0f, mAnmSpeed); } } else if (mAnmID == ANM_HANG_END) { if (mpMorf->isStop()) { - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, mAnmSpeed); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, mAnmSpeed); } } } @@ -855,7 +855,7 @@ void daE_PH_c::DemoAction() { if (mpMorf->isStop()) { mCAction++; mTimers[0] = 50; - SetAnm(ANM_WAIT, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } if (speed.y <= 0.0f) { @@ -1090,9 +1090,9 @@ void daE_PH_c::ObjHit() { if (hit_obj->ChkAtType(AT_TYPE_HOOKSHOT)) { field_0x616 = 0x1000; field_0x618 = 0x1000; - SetAnm(ANM_HANG_START, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f); + SetAnm(ANM_HANG_START, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f); } else { - SetAnm(ANM_DAMAGE_ARROW, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f); + SetAnm(ANM_DAMAGE_ARROW, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f); } dComIfGp_particle_set(0x878E, ¤t.pos, &tevStr, &shape_angle, NULL); @@ -1312,7 +1312,7 @@ int daE_PH_c::create() { if (mAction == 4 || mAction == 5) { mpMorf->setPlaySpeed(0.0f); - SetAnm(ANM_APPEAR, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 0.0f); + SetAnm(ANM_APPEAR, J3DFrameCtrl::EMode_NONE, 5.0f, 0.0f); mAnmID = ANM_WAIT; } diff --git a/src/d/actor/d_a_e_pm.cpp b/src/d/actor/d_a_e_pm.cpp index 37c5ebaa32..cc3ebf8a4b 100644 --- a/src/d/actor/d_a_e_pm.cpp +++ b/src/d/actor/d_a_e_pm.cpp @@ -152,7 +152,7 @@ int daE_PM_c::CreateHeap() { J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("E_PM", 0x1d); mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_PM", 0x10), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &mCreatureSound, 0x80000, 0x11020084); if (mpMorf == NULL || mpMorf->getModel() == NULL) { return 0; @@ -164,7 +164,7 @@ int daE_PM_c::CreateHeap() { } if (!mpEyeAnm->init(mpMorf->getModel()->getModelData(), (J3DAnmTexPattern*)dComIfG_getObjectRes("E_PM", 0x23), - TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) { + TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 5; } @@ -176,7 +176,7 @@ int daE_PM_c::CreateHeap() { mpTrumpetMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_PM", 0x1f), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_PM", 0x19), - J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1, 1, NULL, + J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1, 1, NULL, 0x80000, 0x11000084); if (mpTrumpetMorf == NULL || mpTrumpetMorf->getModel() == NULL) { return 0; @@ -184,7 +184,7 @@ int daE_PM_c::CreateHeap() { mpGlowEffectMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_PM", 0x1c), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_PM", 5), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, 1, NULL, + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000084); if (mpGlowEffectMorf == NULL || mpGlowEffectMorf->getModel() == NULL) { return 0; @@ -511,7 +511,7 @@ void daE_PM_c::Ap_StartAction() { mTargetAngleY = shape_angle.y; mMode++; gravity = -5.0f; - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); Particle_Set(0x880D, current.pos); } @@ -529,7 +529,7 @@ void daE_PM_c::Ap_StartAction() { NULL, NULL, NULL); if (mAnm == ANM_APPEAR02 && mpMorf->isStop()) { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_LAUGH, -1); } @@ -538,7 +538,7 @@ void daE_PM_c::Ap_StartAction() { } if (mAcch.ChkGroundHit() && mTimer[0] == 0) { - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mTargetHeadAngleX = 0x2000; mTimer[0] = 40; mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); @@ -592,14 +592,14 @@ void daE_PM_c::Ap_CreateAction() { switch (mMode) { case 0: if (mAnm != ANM_FOGBLOW_ST) { - SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1); } else if (mpMorf->isStop() && mAnm == ANM_FOGBLOW_ST) { - SetAnm(ANM_FOGBLOW_LP, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_LP, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mTimer[0] = 80; mMode++; mpTrumpetMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("E_PM", 0x19), - J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f, 0.0f, -1.0f, NULL); + J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f, 0.0f, -1.0f, NULL); vec2.set(0.0f, 0.0f, 150.0f); vec5 = mCamEyeTarget; cLib_offsetPos(&mCamEyeTarget, &vec5, shape_angle.y, &vec2); @@ -675,7 +675,7 @@ void daE_PM_c::Ap_CreateAction() { if (mTimer[0] == 0) { field_0x618 = 1; mAction = ACT_ESCAPE; - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 1.0f, 1.0f); current.pos.set(mPoint.x, mPoint.y, mPoint.z); old.pos = current.pos; vec1.set(mPoint.x, mPoint.y + 120.0f, mPoint.z); @@ -705,7 +705,7 @@ void daE_PM_c::Ap_EscapeAction() { cLib_addCalcAngleS2(&mHeadAngleZ, -0x500, 4, 0x600); if (mTimer[0] == 0) { - SetAnm(ANM_RUN, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_RUN, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mMode++; mTargetSpeed = 13.0f; } @@ -809,7 +809,7 @@ void daE_PM_c::DemoBeforeEscape() { mPuppetDelete = 1; attention_info.flags = 0; speedF = 0.0f; - SetAnm(ANM_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 0.5f); + SetAnm(ANM_DAMAGE, J3DFrameCtrl::EMode_NONE, 5.0f, 0.5f); mDemoMode++; vec1.set(current.pos.x, current.pos.y + 100.0f, current.pos.z); s16 angle = cLib_targetAngleY(¤t.pos, s_LinkPos); @@ -900,7 +900,7 @@ void daE_PM_c::DemoAfterEscape() { mTargetAngleY = shape_angle.y; current.pos.set(mPoint.x, mPoint.y + 200.0f, mPoint.z); old.pos = current.pos; - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mDemoMode++; gravity = -3.0f; speed.y = 0.0f; @@ -917,7 +917,7 @@ void daE_PM_c::DemoAfterEscape() { if (mAcch.ChkGroundHit()) { mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1); - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mDemoMode++; mTimer[0] = 50; mBossLightOn = true; @@ -932,7 +932,7 @@ void daE_PM_c::DemoAfterEscape() { vec2 = *s_LinkPos - vec1; if (mpMorf->isStop() && mAnm == ANM_APPEAR02) { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); player->offPlayerNoDraw(); player->offPlayerShadowNoDraw(); } @@ -952,7 +952,7 @@ void daE_PM_c::DemoAfterEscape() { if (mTimer[0] == 0) { mDemoMode++; mTargetSpeed = 13.0f; - SetAnm(ANM_RUN, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_RUN, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } SetStopingCam(); @@ -1004,7 +1004,7 @@ void daE_PM_c::WaitAction() { switch (mMode) { case 0: speedF = 0.0f; - SetAnm(ANM_GLAD, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_GLAD, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mTimer[0] = (u8)(cM_rndFX(50.0f) + 200.0f); mMode++; break; @@ -1014,7 +1014,7 @@ void daE_PM_c::WaitAction() { if (s_dis < l_HIO.mEscapeRange && angle > -0x4000 && angle < 0x4000) { mMode++; mTimer[0] = 10; - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } break; } @@ -1071,7 +1071,7 @@ void daE_PM_c::GroundCheck() { if (current.pos.y - vec3.y > 50.0f) { speedF = 0.0f; mTargetSpeed = 0.0f; - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); for (int i = 0; i < 4; i++) { mTargetAngleY = current.angle.y + (i + 1) * 0x4000; vec1.set(0.0f, 50.0f, 300.0f); @@ -1082,7 +1082,7 @@ void daE_PM_c::GroundCheck() { if (dComIfG_Bgsp().LineCross(&lin_chk)) break; } mMode = 10; - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } else if (current.pos.y - vec4.y > 50.0f) { mTargetAngleY = s_TargetAngle; } @@ -1095,7 +1095,7 @@ void daE_PM_c::GroundCheck() { void daE_PM_c::EscapeAction() { switch (mMode) { case 0: - SetAnm(ANM_RUN, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_RUN, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mTargetSpeed = 13.0f; speedF = 10.0f; mMode++; @@ -1176,14 +1176,14 @@ void daE_PM_c::DeathAction() { case 0: attention_info.flags = 0; speedF = 0.0f; - SetAnm(ANM_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_DAMAGE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; break; case 1: if (mpMorf->getFrame() > 20.0f) { mMode++; - SetAnm(ANM_HIDE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_HIDE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_FADEOUT, -1); } break; @@ -1270,7 +1270,7 @@ void daE_PM_c::DemoBossStart2() { mDemoMode++; current.pos.y = 2500.0f; old.pos = current.pos; - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); speed.y = 0.0f; gravity = -3.0f; Particle_Set(0x880D, current.pos); @@ -1287,11 +1287,11 @@ void daE_PM_c::DemoBossStart2() { mCamCenterTarget.y = current.pos.y + 100.0f; if (mAcch.ChkGroundHit() && mAnm == ANM_APPEAR01) { - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1); } else if (mpMorf->isStop() && mAnm == ANM_APPEAR02) { - SetAnm(ANM_OP, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_OP, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_OP, -1); mDemoMode++; mBossLightOn = true; @@ -1331,7 +1331,7 @@ void daE_PM_c::DemoBossStart2() { case 3: if (mTimer[0] == 0) { - SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1); mDemoMode++; for (int i = 0; i < mPuppetNum; i++) { @@ -1358,7 +1358,7 @@ void daE_PM_c::DemoBossStart2() { case 5: if (mpMorf->isStop()) { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mpTrumpetMorf->setPlaySpeed(0.0f); mDemoMode++; mTimer[0] = 70; @@ -1401,7 +1401,7 @@ void daE_PM_c::DemoBossStart() { } if (mAnm == ANM_WAIT01 && mTimer[0] == 0) { - SetAnm(ANM_OP, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_OP, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_OP, -1); mDemoMode++; } @@ -1411,7 +1411,7 @@ void daE_PM_c::DemoBossStart() { case 1: if (mpMorf->isStop()) { - SetAnm(ANM_HIDE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_HIDE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_FADEOUT, -1); mCamCenterTarget.y += 100.0f; mDemoMode++; @@ -1450,7 +1450,7 @@ void daE_PM_c::DemoBossStart() { if (mpMorf->isStop() && mAnm == ANM_HIDE) { mPoint = dPath_GetPnt(mpPath, 1)->m_position; current.pos.set(mPoint.x, mPoint.y + 10000.0f, mPoint.z); - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mTimer[1] = 15; MTXCopy(mpMorf->getModel()->getAnmMtx(JNT_WAIST), *calc_mtx); vec1.set(0.0f, -30.0f, 0.0f); @@ -1504,14 +1504,14 @@ void daE_PM_c::DemoBossStart() { } if (mAcch.ChkGroundHit() && mAnm == ANM_APPEAR01) { - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1); vec1.set(mPoint.x, mPoint.y, mPoint.z); vec2.set(0.0f, 100.0f, 250.0f); cLib_offsetPos(&mCamEyeTarget, &vec1, shape_angle.y, &vec2); } else if (mpMorf->isStop() && mAnm == ANM_APPEAR02) { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } cLib_addCalcAngleS2(¤t.angle.y, mTargetAngleY, 0x10, 0x1000); @@ -1521,7 +1521,7 @@ void daE_PM_c::DemoBossStart() { case 4: if (mTimer[0] == 0) { - SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1); mDemoMode++; for (int i = 0; i < mPuppetNum; i++) { @@ -1552,7 +1552,7 @@ void daE_PM_c::DemoBossStart() { case 6: if (mpMorf->isStop()) { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mpTrumpetMorf->setPlaySpeed(0.0f); mDemoMode++; mTimer[0] = 70; @@ -1584,7 +1584,7 @@ void daE_PM_c::BossEscapeAction() { switch (mMode) { case 0: attention_info.flags = 0; - SetAnm(ANM_HIDE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_HIDE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_FADEOUT, -1); mCcCyl.OnTgNoHitMark(); mMode++; @@ -1599,7 +1599,7 @@ void daE_PM_c::BossEscapeAction() { if (mpMorf->isStop()) { SearchRndP(); - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); current.pos.set(mPoint.x, mPoint.y + 100.0f, mPoint.z); old.pos = current.pos; mMode++; @@ -1614,7 +1614,7 @@ void daE_PM_c::BossEscapeAction() { shape_angle.y = current.angle.y; if (mAcch.ChkGroundHit()) { - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1); @@ -1677,7 +1677,7 @@ void daE_PM_c::BossDamageAction() { mAction = ACT_DEATH; mMode = 0; mDemoMode = 0; - SetAnm(ANM_END, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_END, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_DEATH, -1); mPuppetDelete = 1; mBossLightOn = false; @@ -1687,7 +1687,7 @@ void daE_PM_c::BossDamageAction() { mCamEyeTarget.y += 100.0f; } else { - SetAnm(ANM_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_DAMAGE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; mPuppetDelete = 1; vec1.set(current.pos.x, current.pos.y + 50.0f, current.pos.z); @@ -1698,7 +1698,7 @@ void daE_PM_c::BossDamageAction() { case 1: if (mpMorf->isStop()) { - SetAnm(ANM_HIDE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_HIDE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_FADEOUT, -1); mMode++; mCamCenterTarget.y += 200.0f; @@ -1718,7 +1718,7 @@ void daE_PM_c::BossDamageAction() { if (mpMorf->isStop() && mAnm == ANM_HIDE) { SearchFarP(); - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); current.pos.set(mPoint.x, mPoint.y + 10000.0f, mPoint.z); mTimer[1] = 20; MTXCopy(mpMorf->getModel()->getAnmMtx(JNT_WAIST), *calc_mtx); @@ -1755,7 +1755,7 @@ void daE_PM_c::BossDamageAction() { shape_angle.y = current.angle.y; if (mAcch.ChkGroundHit()) { - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1); @@ -1783,7 +1783,7 @@ void daE_PM_c::BossDamageAction() { break; case 10: - SetAnm(ANM_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_DAMAGE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; break; @@ -1802,9 +1802,9 @@ void daE_PM_c::BossWaitAction() { switch (mMode) { case 0: if (mSecondEncounter) { - SetAnm(ANM_GLAD, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_GLAD, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } else { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } mMode++; break; @@ -2047,7 +2047,7 @@ void daE_PM_c::StartAction() { mPuppetNum = 4; if (mStage == 1) { if (mAnm != ANM_GLAD) { - SetAnm(ANM_GLAD, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_GLAD, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } daE_PM_c* other = (daE_PM_c*)fpcM_Search(s_obj_sub, this); @@ -2069,7 +2069,7 @@ void daE_PM_c::StartAction() { } else if (mStage == 2) { if (mAnm != ANM_GLAD) { - SetAnm(ANM_GLAD, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_GLAD, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } if (dComIfGs_isSwitch(0x81, fopAcM_GetRoomNo(this)) @@ -2081,7 +2081,7 @@ void daE_PM_c::StartAction() { } else if (mStage == 3) { if (mAnm != ANM_GLAD) { - SetAnm(ANM_GLAD, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_GLAD, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } if (dComIfGs_isSwitch(0x82, fopAcM_GetRoomNo(this)) @@ -2094,7 +2094,7 @@ void daE_PM_c::StartAction() { } else if (mStage == 4) { SearchNearP(); mCcStts.Init(0xFA, 0xFF, this); - SetAnm(ANM_APPEAR01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mMode += 3; for (int i = 0; i < mPuppetNum; i++) { mPuppetID[i] = -1; @@ -2104,12 +2104,12 @@ void daE_PM_c::StartAction() { case 1: if (mTimer[0] == 0 && mAcch.ChkGroundHit()) { - SetAnm(ANM_APPEAR02, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_APPEAR02, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_L, 0, -1); mCreatureSound.startCreatureSound(Z2SE_EN_PM_FN_R, 0, -1); J3DAnmTexPattern* btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("E_PM", 0x22); mpEyeAnm->init(mpMorf->getModel()->getModelData(), btp, TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); mMode++; } break; @@ -2134,11 +2134,11 @@ void daE_PM_c::StartAction() { shape_angle.y = s_TargetAngle; if (mTimer[0] == 0 && mAnm != ANM_KYORO2) { - SetAnm(ANM_KYORO2, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_KYORO2, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); } if (mpMorf->isStop()) { - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mTimer[0] = (u8)(cM_rndFX(50.0f) + 200.0f); } @@ -2185,10 +2185,10 @@ void daE_PM_c::GakkiLoopAction(cXyz param_0, f32 param_1) { cXyz vec3; if (mAnm == ANM_FOGBLOW_ST && mpMorf->isStop()) { - SetAnm(ANM_FOGBLOW_LP, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_LP, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); mTimer[0] = 0; J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes("E_PM", 0x19); - mpTrumpetMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f, 0.0f, -1.0f, NULL); + mpTrumpetMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f, 0.0f, -1.0f, NULL); dBgS_LinChk lin_chk; for (int i = 0; i < mPuppetNum; i++) { @@ -2221,7 +2221,7 @@ void daE_PM_c::GakkiLoopAction(cXyz param_0, f32 param_1) { } if (mTimer[0] == 0) { - SetAnm(ANM_FOGBLOW_EN, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_EN, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_LAUGH, -1); } @@ -2244,7 +2244,7 @@ void daE_PM_c::DemoCreateAction() { cXyz vec1, vec2, vec3; switch (mMode) { case 0: - SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1); mMode++; speedF = 0.0f; @@ -2296,7 +2296,7 @@ void daE_PM_c::CreateAction() { switch (mMode) { case 0: - SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_FOGBLOW_ST, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mCreatureSound.startCreatureVoice(Z2SE_EN_PM_V_FOGBLOW, -1); mMode++; speedF = 0.0f; @@ -2368,7 +2368,7 @@ void daE_PM_c::DamageAction() { switch (mMode) { case 0: speedF = 0.0f; - SetAnm(ANM_DAMAGE, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f); + SetAnm(ANM_DAMAGE, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f); mMode++; break; @@ -2727,7 +2727,7 @@ void daE_PM_c::SkipChk() { mCcCyl.OffTgNoHitMark(); mAction = ACT_CREATE; mMode = 0; - SetAnm(ANM_GLAD, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_GLAD, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); current.pos.y = mAcch.GetGroundH(); old.pos.y = current.pos.y; mBossLightOn = true; @@ -2744,7 +2744,7 @@ void daE_PM_c::SkipChk() { mPoint = dPath_GetPnt(mpPath, 1)->m_position; current.pos.set(mPoint.x, mPoint.y, mPoint.z); old.pos = current.pos; - SetAnm(ANM_WAIT01, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f); + SetAnm(ANM_WAIT01, J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f); } } } diff --git a/src/d/actor/d_a_e_rdy.cpp b/src/d/actor/d_a_e_rdy.cpp index cab5bdd5cc..8006ab0650 100644 --- a/src/d/actor/d_a_e_rdy.cpp +++ b/src/d/actor/d_a_e_rdy.cpp @@ -551,7 +551,7 @@ static void ride_off(e_rdy_class* i_this) { i_this->mRideState = 0; if (i_this->mpBowMorf != NULL) { J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); i_this->mpBowMorf->setFrame(10.0f); } i_this->home.pos = i_this->current.pos; @@ -710,7 +710,7 @@ static void e_rdy_normal(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: if (i_this->field_0x5bb) { - anm_init(i_this, ANM_ARMAMENT, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ARMAMENT, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; } else { i_this->mMode = 2; @@ -733,7 +733,7 @@ static void e_rdy_normal(e_rdy_class* i_this) { i_this->mMode = 0; return; } else if (way_check(i_this)) { - anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 3; i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; } @@ -747,13 +747,13 @@ static void e_rdy_normal(e_rdy_class* i_this) { if (i_this->speedF >= 3.0f && move_gake_check(i_this, 100.0f)) { i_this->mMode = 4; i_this->mTimer[0] = cM_rndF(100.0f) + 50.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } else if (i_this->mTimer[0] == 0 || (i_this->speedF >= 3.0f && way_bg_check(i_this, 200.0f))) { i_this->mMode = 2; i_this->mTimer[0] = cM_rndF(100.0f) + 50.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; @@ -761,7 +761,7 @@ static void e_rdy_normal(e_rdy_class* i_this) { i_this->field_0xa98 = -1; if (i_this->mTimer[0] == 0) { i_this->mTargetAngleY = i_this->current.angle.y + 0x8000 + (int)cM_rndFX(4000.0f); - anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 3; i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; } @@ -827,7 +827,7 @@ static void e_rdy_fight_run(e_rdy_class* i_this) { } else { i_this->mAction = ACT_NORMAL; i_this->mTimer[0] = cM_rndF(50.0f) + 50.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } i_this->mMode = 0; return; @@ -844,7 +844,7 @@ static void e_rdy_fight_run(e_rdy_class* i_this) { break; case -10: - anm_init(i_this, ANM_WAIT01, 7.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 7.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[1] = cM_rndF(10.0f) + 15.0f; i_this->mMode = -9; break; @@ -857,10 +857,10 @@ static void e_rdy_fight_run(e_rdy_class* i_this) { case 0: if (i_this->field_0x5bb) { - anm_init(i_this, ANM_ARMAMENT, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ARMAMENT, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = -20; } else if (i_this->mTimer[1] == 0) { - anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, cM_rndFX(0.05f) + 1.0f); + anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::EMode_LOOP, cM_rndFX(0.05f) + 1.0f); i_this->mMode = 1; } break; @@ -868,7 +868,7 @@ static void e_rdy_fight_run(e_rdy_class* i_this) { case 1: target_speed = run_speed; if (i_this->mPlayerDist < l_HIO.field_0x18) { - anm_init(i_this, ANM_KAMAE, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KAMAE, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; } break; @@ -903,7 +903,7 @@ static void e_rdy_fight_run(e_rdy_class* i_this) { if (i_this->mMode < 5 && move_gake_check(i_this, 100.0f)) { i_this->mMode = 5; i_this->mTimer[3] = cM_rndF(15.0f) + 30.0f; - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (i_this->mMode >= 0) { @@ -919,14 +919,14 @@ static void e_rdy_fight_run(e_rdy_class* i_this) { i_this->mAction = ACT_NORMAL; if (i_this->mMode == 5) { i_this->mTargetAngleY = i_this->current.angle.y + 0x8000 + (int)cM_rndFX(4000.0f); - anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 3; i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; i_this->mTimer[1] = 40; } else { i_this->mMode = 0; i_this->mTimer[0] = cM_rndF(50.0f) + 50.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } } else { if (i_this->mPlayerDist < l_HIO.field_0x18 && (i_this->field_0xaf0 & cc_pl_cut_bit_get()) @@ -976,7 +976,7 @@ static void e_rdy_fight(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_ATTACK01, 6.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ATTACK01, 6.0f, J3DFrameCtrl::EMode_NONE, 1.0f); if (l_HIO.field_0x38 == 0) { i_this->mTimer[0] = 25; } else if (l_HIO.field_0x38 == 1) { @@ -996,7 +996,7 @@ static void e_rdy_fight(e_rdy_class* i_this) { if (frame == 30) { i_this->mpMorf->setFrame(0.0f); } else if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_ATTACK01, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, l_HIO.mAttackAnmSpeed); + anm_init(i_this, ANM_ATTACK01, 2.0f, J3DFrameCtrl::EMode_NONE, l_HIO.mAttackAnmSpeed); i_this->mpMorf->setFrame(30.0f); i_this->mMode = 2; } @@ -1028,7 +1028,7 @@ static void e_rdy_fight(e_rdy_class* i_this) { } else if (l_HIO.field_0x38 == 2) { i_this->mTimer[0] = 10; } - anm_init(i_this, ANM_KAMAE, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KAMAE, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; @@ -1075,7 +1075,7 @@ static void e_rdy_bow_run(e_rdy_class* i_this) { break; case -10: - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(10.0f) + 15.0f; i_this->mMode = -9; break; @@ -1089,10 +1089,10 @@ static void e_rdy_bow_run(e_rdy_class* i_this) { case 0: if (i_this->field_0x5bb) { - anm_init(i_this, ANM_ARMAMENT, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ARMAMENT, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = -20; } else { - anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(50.0f) + 20.0f; if (i_this->mPlayerDist < l_HIO.field_0x28 - 100.0f) { i_this->mMode = 1; @@ -1148,7 +1148,7 @@ static void e_rdy_bow_run(e_rdy_class* i_this) { i_this->mAction = ACT_NORMAL; i_this->mMode = 0; i_this->mTimer[0] = cM_rndF(50.0f) + 50.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } else if ((i_this->mCounter & 0xf) == 0 && bomb_view_check(i_this)) { i_this->mAction = ACT_BOMB_ACTION; i_this->mMode = 0; @@ -1166,9 +1166,9 @@ static void e_rdy_bow(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 8); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 0.9f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 0.9f, 0.0f, -1.0f); i_this->mMode = 1; i_this->speedF = 0.0f; break; @@ -1182,7 +1182,7 @@ static void e_rdy_bow(e_rdy_class* i_this) { i_this->mSound.startCreatureSound(Z2SE_OBJ_ARROW_DRAW_NORMAL, 0, -1); } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(10.0f) + 10.0f; i_this->mMode = 2; } @@ -1192,9 +1192,9 @@ static void e_rdy_bow(e_rdy_class* i_this) { i_this->field_0xa98 = 4; if (i_this->mTimer[0] == 0) { if (!i_this->field_0xa74 && !dMsgObject_isTalkNowCheck()) { - anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 3; } else { i_this->mAction = ACT_BOW_RUN; @@ -1275,7 +1275,7 @@ static s8 e_rdy_bow2(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(40.0f) + 60.0f; } @@ -1283,16 +1283,16 @@ static s8 e_rdy_bow2(e_rdy_class* i_this) { case 1: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; i_this->mMode = 0; } break; case 2: - anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 8); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 0.9f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 0.9f, 0.0f, -1.0f); i_this->mMode = 3; i_this->speedF = 0.0f; break; @@ -1306,7 +1306,7 @@ static s8 e_rdy_bow2(e_rdy_class* i_this) { i_this->mSound.startCreatureSound(Z2SE_OBJ_ARROW_DRAW_NORMAL, 0, -1); } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(10.0f); i_this->mMode = 4; } @@ -1324,9 +1324,9 @@ static s8 e_rdy_bow2(e_rdy_class* i_this) { if ((sw_bit == 0xff || (sw_bit != 0xff && bVar2)) && !dMsgObject_isTalkNowCheck() && !i_this->field_0xa74) { - anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 5; } } @@ -1370,7 +1370,7 @@ static void e_rdy_bow_ikki2(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->current.pos.x = -92938.0f; i_this->current.pos.z = 49992.0f; @@ -1394,9 +1394,9 @@ static void e_rdy_bow_ikki2(e_rdy_class* i_this) { break; case 4: - anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 8); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 0.9f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 0.9f, 0.0f, -1.0f); i_this->mMode = 5; break; @@ -1408,7 +1408,7 @@ static void e_rdy_bow_ikki2(e_rdy_class* i_this) { i_this->mSound.startCreatureSound(Z2SE_OBJ_ARROW_DRAW_NORMAL, 0, -1); } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 6; i_this->mTimer[0] = 40; } @@ -1416,9 +1416,9 @@ static void e_rdy_bow_ikki2(e_rdy_class* i_this) { case 6: if (i_this->mTimer[0] == 0 && !i_this->field_0xa74) { - anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 7; } i_this->mHasArrow = true; @@ -1433,7 +1433,7 @@ static void e_rdy_bow_ikki2(e_rdy_class* i_this) { } if (i_this->mpMorf->isStop()) { i_this->mMode = 2; - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; } @@ -1458,7 +1458,7 @@ static void e_rdy_avoid(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_AVOID, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_AVOID, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->speedF = -30.0f; i_this->speed.y = 20.0f; @@ -1529,13 +1529,13 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { i_this->mDemoMode = 10; i_this->mDemoTimer = 0; i_this->mMode = 2; - anm_init(i_this, ANM_WAIT01, 7.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 7.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } switch (i_this->mMode) { case 0: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_WALK, 7.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 7.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(60.0f) + 60.0f; i_this->mMode = 1; vec.x = i_this->home.pos.x + cM_rndFX(200.0f) - i_this->current.pos.x; @@ -1547,7 +1547,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 1: target_speed = l_HIO.mWalkSpeed; if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_KYORO2, 7.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 7.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 0; i_this->mTimer[0] = cM_rndF(30.0f) + 60.0f; } @@ -1565,7 +1565,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { } } } else if (i_this->mDemoTimer == 110) { - anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 3; i_this->mDemoMode++; i_this->mDemoTimer = 0; @@ -1577,7 +1577,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { vec = grass->current.pos - i_this->current.pos; i_this->mTargetAngleY = cM_atan2s(vec.x, vec.z); if (vec.abs() < 160.0f) { - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = 20; i_this->mMode = 4; } @@ -1585,7 +1585,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 4: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_PICKUP, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_PICKUP, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 5; } break; @@ -1601,7 +1601,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { i_this->mDemoMode++; } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_BLOW, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_BLOW, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 6; i_this->mTimer[0] = 220; } @@ -1635,11 +1635,11 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { if (i_this->mTimer[0] == 1) { i_this->mDemoMode = 16; i_this->mDemoTimer = 0; - anm_init(i_this, ANM_WAIT01, 7.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 7.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); Z2GetAudioMgr()->setBattleBgmOff(false); } if (i_this->mDemoTimer == 309) { - anm_init(i_this, ANM_LOOKBACK, 10.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_LOOKBACK, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mIsHoldingGrass = false; kargarok->mMode = 4; kargarok->speedF = 30.0f; @@ -1662,7 +1662,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 8: if (i_this->mDemoTimer == 95) { - anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); vec = kargarok->current.pos - i_this->current.pos; i_this->mTargetAngleY = cM_atan2s(vec.x, vec.z); i_this->mDemoMode = 18; @@ -1674,7 +1674,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 9: if (i_this->mDemoTimer == 10) { - anm_init(i_this, ANM_JUMP_A, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_JUMP_A, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mSound.startCreatureVoice(Z2SE_EN_RD_V_JUMP_RIDING, -1); i_this->mMode = 10; i_this->home = i_this->current; @@ -1684,7 +1684,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 10: if (i_this->mpMorf->isStop()) { i_this->mMode = 11; - anm_init(i_this, ANM_JUMP_B, 10.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_JUMP_B, 10.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mRideState = 1; i_this->mJumpSpeed = 50.0f; i_this->mTimer[3] = 30; @@ -1693,7 +1693,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 11: if (i_this->mJumpHeight <= 0.0f) { - anm_init(i_this, ANM_RJUMP_C, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RJUMP_C, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 12; kargarok->field_0x698 = -27.0f; } @@ -1701,7 +1701,7 @@ static void e_rdy_tkusa(e_rdy_class* i_this) { case 12: if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_RHOVERING, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RHOVERING, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mpMorf->setFrame(kargarok->mpMorf->getFrame()); i_this->mMode = 13; kargarok->mMode = 6; @@ -1750,26 +1750,26 @@ static void e_rdy_yc_ride(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: if (kargarok->mAnm == e_yc_class::ANM_HOVERING && i_this->mAnm != ANM_RHOVERING) { - anm_init(i_this, ANM_RHOVERING, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RHOVERING, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mpMorf->setFrame(kargarok->mpMorf->getFrame()); } else if (kargarok->mAnm == e_yc_class::ANM_FLY && i_this->mAnm != ANM_RFLY) { - anm_init(i_this, ANM_RFLY, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RFLY, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mpMorf->setFrame(kargarok->mpMorf->getFrame()); } else if (kargarok->mAnm == e_yc_class::ANM_FLY_GLIDE && i_this->mAnm != ANM_RFLY_GLIDE) { - anm_init(i_this, ANM_RFLY_GLIDE, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RFLY_GLIDE, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mpMorf->setFrame(kargarok->mpMorf->getFrame()); } else if (kargarok->mAnm == e_yc_class::ANM_HANGED && kargarok_frame == 1) { - anm_init(i_this, ANM_RHANGED, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RHANGED, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (kargarok->mAnm == e_yc_class::ANM_HANGED_WAIT && i_this->mAnm != ANM_RHANGED_WAIT) { - anm_init(i_this, ANM_RHANGED_WAIT, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RHANGED_WAIT, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mpMorf->setFrame(kargarok->mpMorf->getFrame()); } else if (kargarok->mAnm == e_yc_class::ANM_HANGED_DAMAGE && kargarok_frame == 1) { - anm_init(i_this, ANM_RHANGED_DAMAGE, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RHANGED_DAMAGE, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (kargarok->mAnm == e_yc_class::ANM_HANGED_BRUSH && kargarok_frame == 1) { - anm_init(i_this, ANM_RHANGED_BRASH, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RHANGED_BRASH, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (kargarok->mAnm == e_yc_class::ANM_HANGED_BRUSH2 && kargarok_frame == 1) { - anm_init(i_this, ANM_RHANGED_BRASH2, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RHANGED_BRASH2, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } if (i_this->mAnm == ANM_RHOVERING) { i_this->mMode = 1; @@ -1779,9 +1779,9 @@ static void e_rdy_yc_ride(e_rdy_class* i_this) { case 1: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_RSHOOT_READY, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RSHOOT_READY, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 9); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 2; } break; @@ -1792,16 +1792,16 @@ static void e_rdy_yc_ride(e_rdy_class* i_this) { } if (i_this->mpMorf->isStop()) { i_this->mMode = 3; - anm_init(i_this, ANM_RSHOOT_WAIT, 4.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_RSHOOT_WAIT, 4.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } i_this->mHasArrow = true; break; case 3: if (i_this->mTimer[1] == 0 && !dComIfGp_event_runCheck()) { - anm_init(i_this, ANM_RSHOOT, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RSHOOT, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 4; } i_this->mHasArrow = true; @@ -1816,9 +1816,9 @@ static void e_rdy_yc_ride(e_rdy_class* i_this) { } if (i_this->mpMorf->isStop()) { if (kargarok->mAnm == e_yc_class::ANM_HOVERING) { - anm_init(i_this, ANM_RSHOOT_READY, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_RSHOOT_READY, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 9); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 2; i_this->mTimer[1] = cM_rndF(30.0f) + 20.0f; } else { @@ -1855,14 +1855,14 @@ static void e_rdy_bomb_action(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: i_this->mMode = 1; - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[1] = cM_rndF(10.0f) + 10.0f; // fallthrough case 1: if (i_this->mTimer[1] == 0 && bomb->speedF < 0.1f) { i_this->mMode = 2; - anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, cM_rndFX(0.05f) + 1.0f); + anm_init(i_this, ANM_RUN, 5.0f, J3DFrameCtrl::EMode_LOOP, cM_rndFX(0.05f) + 1.0f); } break; @@ -1880,7 +1880,7 @@ static void e_rdy_bomb_action(e_rdy_class* i_this) { target_speed = l_HIO.mRunSpeed; if (JMAFastSqrt(vec1.x * vec1.x + vec1.z * vec1.z) > 600.0f) { i_this->mMode = 3; - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; @@ -1899,7 +1899,7 @@ static void e_rdy_bomb_action(e_rdy_class* i_this) { } else if (JMAFastSqrt(vec1.x * vec1.x + vec1.z * vec1.z) < 100.0f) { i_this->mTimer[0] = 20; i_this->mMode = 6; - anm_init(i_this, ANM_KICK, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_KICK, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } break; @@ -1922,7 +1922,7 @@ static void e_rdy_bomb_action(e_rdy_class* i_this) { } } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 3; } break; @@ -2072,7 +2072,7 @@ static void e_rdy_damage(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_DIEB, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEB, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->speedF = 0.0f; ride_off(i_this); @@ -2126,7 +2126,7 @@ static void e_rdy_damage(e_rdy_class* i_this) { i_this->mMode = 2; s16 angle_y; if (!i_this->mIsUpsideDown) { - anm_init(i_this, ANM_DIEA, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEA, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); angle_y = i_this->field_0xadc.y; } else { angle_y = i_this->field_0xadc.y + 0x8000; @@ -2166,9 +2166,9 @@ static void e_rdy_damage(e_rdy_class* i_this) { dKy_Sound_set(i_this->current.pos, 100, fopAcM_GetID(i_this), 5); i_this->field_0xaee = 10; if (!i_this->mIsUpsideDown) { - anm_init(i_this, ANM_DIEA, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEA, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DIEB, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEB, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } i_this->field_0xabc = 0.0f; i_this->field_0xadc.x = -0x4000; @@ -2212,9 +2212,9 @@ static void e_rdy_damage(e_rdy_class* i_this) { i_this->offDownFlg(); i_this->mMode = 20; if (!i_this->mIsUpsideDown) { - anm_init(i_this, ANM_DIEA_UP, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEA_UP, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DIEB_UP, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEB_UP, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } if (i_this->field_0x5b8 == 12) { i_this->mSound.startCreatureVoice(Z2SE_EN_RD_V_CALLING, -1); @@ -2230,7 +2230,7 @@ static void e_rdy_damage(e_rdy_class* i_this) { if (i_this->mAcch.ChkGroundHit()) { i_this->mMode = 2; if (!i_this->mIsUpsideDown) { - anm_init(i_this, ANM_DIEA, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEA, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->field_0xaf4 = -100.0f; i_this->field_0xafc = -100.0f; } else { @@ -2261,7 +2261,7 @@ static void e_rdy_damage(e_rdy_class* i_this) { if (i_this->mpMorf->isStop()) { i_this->field_0xadc.y = 0; i_this->field_0xadc.x = 0; - anm_init(i_this, ANM_WAIT01, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = 5; i_this->mMode = 21; i_this->offDownFlg(); @@ -2271,7 +2271,7 @@ static void e_rdy_damage(e_rdy_class* i_this) { case 21: if (i_this->mTimer[0] == 0) { i_this->mTimer[0] = cM_rndF(20.0f) + 20.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 22; } break; @@ -2282,7 +2282,7 @@ static void e_rdy_damage(e_rdy_class* i_this) { i_this->mAction = ACT_NORMAL; i_this->mMode = 0; i_this->mTimer[0] = cM_rndF(50.0f) + 50.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; @@ -2293,9 +2293,9 @@ static void e_rdy_damage(e_rdy_class* i_this) { if (i_this->mTimer[0] == 0) { i_this->mMode = 31; if (!i_this->mIsUpsideDown) { - anm_init(i_this, ANM_DIEA_UP, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEA_UP, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DIEB_UP, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DIEB_UP, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } i_this->mTimer[0] = 10; } else if (i_this->mTimer[1] == 1) { @@ -2367,7 +2367,7 @@ static void* s_bikkuri_sub(void* i_proc, void* i_this) { if (other != _this && other->mAction == ACT_BOW3 && other->mMode <= 2) { cXyz delta = other->current.pos - _this->current.pos; if (delta.abs() < 350.0f) { - anm_init(other, ANM_KYORO2, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.3f); + anm_init(other, ANM_KYORO2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.3f); other->mMode = 3; other->mTimer[0] = cM_rndF(20.0f) + 40.0f; } @@ -2383,14 +2383,14 @@ static void e_rdy_drop(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: i_this->mSound.startCreatureVoiceLevel(Z2SE_EN_RD_V_SNIPED_DAMAGE, -1); - anm_init(i_this, ANM_DAMAGE_S, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_S, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; break; case 1: i_this->mSound.startCreatureVoiceLevel(Z2SE_EN_RD_V_SNIPED_DAMAGE, -1); if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_FURA2, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_FURA2, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; i_this->mTargetAngleY = gake_check(i_this, 200.0f); fpcM_Search(s_bikkuri_sub, i_this); @@ -2453,7 +2453,7 @@ static void e_rdy_a_damage(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: i_this->mMode = 1; - anm_init(i_this, ANM_DEAD_ARROW, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_ARROW, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mTimer[0] = 80; dKy_Sound_set(i_this->current.pos, 100, fopAcM_GetID(i_this), 5); break; @@ -2473,7 +2473,7 @@ static void e_rdy_stand(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(40.0f) + 60.0f; } @@ -2481,7 +2481,7 @@ static void e_rdy_stand(e_rdy_class* i_this) { case 1: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; i_this->mMode = 0; } @@ -2523,7 +2523,7 @@ static s8 e_rdy_bow3(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: turn_to_player = false; - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; break; @@ -2539,10 +2539,10 @@ static s8 e_rdy_bow3(e_rdy_class* i_this) { case 5: if (i_this->mTimer[1] == 1) { - anm_init(i_this, ANM_KYORO2, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.3f); + anm_init(i_this, ANM_KYORO2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.3f); } if (i_this->mTimer[0] == 10) { - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (i_this->mTimer[0] == 0) { i_this->mAction = ACT_BOW2; @@ -2552,9 +2552,9 @@ static s8 e_rdy_bow3(e_rdy_class* i_this) { case 10: if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT_READY, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 8); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 0.9f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 5.0f, 0.9f, 0.0f, -1.0f); i_this->mMode = 11; i_this->speedF = 0.0f; } @@ -2569,7 +2569,7 @@ static s8 e_rdy_bow3(e_rdy_class* i_this) { i_this->mSound.startCreatureSound(Z2SE_OBJ_ARROW_DRAW_NORMAL, 0, -1); } if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_SHOOT_WAIT, 4.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(10.0f) + 10.0f; i_this->mMode = 12; } @@ -2578,9 +2578,9 @@ static s8 e_rdy_bow3(e_rdy_class* i_this) { case 12: i_this->field_0xa98 = 4; if (i_this->mTimer[0] == 0 && !i_this->field_0xa74 && !dMsgObject_isTalkNowCheck()) { - anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOOT, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 1.0f, 0.0f, -1.0f); + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); i_this->mMode = 13; } i_this->mHasArrow = true; @@ -2656,7 +2656,7 @@ static void e_rdy_commander(e_rdy_class* i_this) { case 1: bVar1 = true; if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; i_this->mTimer[0] = cM_rndF(40.0f) + 60.0f; } @@ -2665,14 +2665,14 @@ static void e_rdy_commander(e_rdy_class* i_this) { case 2: bVar1 = true; if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; i_this->mMode = 1; } break; case 5: - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = 30; i_this->mMode = 6; break; @@ -2680,7 +2680,7 @@ static void e_rdy_commander(e_rdy_class* i_this) { case 6: turn_to_player = true; if (i_this->mTimer[0] == 0) { - anm_init(i_this, ANM_GOSIGN, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOSIGN, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); mDoAud_seStart(Z2SE_EN_RD_V_CALLING, NULL, 0, 0); i_this->mMode = 7; if (dComIfGp_event_runCheck()) { @@ -2697,7 +2697,7 @@ static void e_rdy_commander(e_rdy_class* i_this) { fpcM_Search(s_command2_sub, i_this); } if (i_this->mTimer[0] == 0 && i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); if (!dComIfGp_event_runCheck() && !pl_check(i_this, i_this->mPlayerCheckDist, 0x4000)) { i_this->mMode = 10; i_this->mTimer[1] = 350; @@ -2713,7 +2713,7 @@ static void e_rdy_commander(e_rdy_class* i_this) { break; case 10: - anm_init(i_this, ANM_GOSIGN, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_GOSIGN, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); mDoAud_seStart(Z2SE_EN_RD_V_CALLING, NULL, 0, 0); fpcM_Search(s_command2_sub, i_this); i_this->mMode = 11; @@ -2722,7 +2722,7 @@ static void e_rdy_commander(e_rdy_class* i_this) { case 11: if (i_this->mpMorf->isStop()) { if (i_this->mTimer[1] == 0) { - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(30.0f) + 30.0f; i_this->mMode = 1; } else { @@ -2751,7 +2751,7 @@ static void e_rdy_excite(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_WAIT01, 4.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 4.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(20.0f) + 20.0f; i_this->mTargetAngleY = i_this->current.angle.y; @@ -2764,11 +2764,11 @@ static void e_rdy_excite(e_rdy_class* i_this) { if (i_this->mTimer[0] == 0) { if (i_this->field_0x1365) { i_this->mMode = 3; - anm_init(i_this, ANM_KYORO2, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.3f); + anm_init(i_this, ANM_KYORO2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.3f); i_this->mTimer[0] = cM_rndF(20.0f) + 40.0f; } else { i_this->mMode = 2; - anm_init(i_this, ANM_RUN, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, + anm_init(i_this, ANM_RUN, 2.0f, J3DFrameCtrl::EMode_LOOP, cM_rndFX(0.05f) + 1.0f); i_this->mTimer[0] = cM_rndF(15.0f) + 30.0f; } @@ -2784,7 +2784,7 @@ static void e_rdy_excite(e_rdy_class* i_this) { vec = i_this->field_0x5bc - i_this->current.pos; if (i_this->mTimer[0] == 0 || move_gake_check(i_this, 100.0f) || vec.abs() < 100.0f) { i_this->mMode = 3; - anm_init(i_this, ANM_KYORO2, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.3f); + anm_init(i_this, ANM_KYORO2, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.3f); i_this->mTimer[0] = cM_rndF(20.0f) + 40.0f; } break; @@ -2816,9 +2816,9 @@ static void e_rdy_water(e_rdy_class* i_this) { case 0: { i_this->speed.y = 0.0f; if (!i_this->mIsUpsideDown) { - anm_init(i_this, ANM_DROWNEDA, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DROWNEDA, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } else { - anm_init(i_this, ANM_DROWNEDB, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DROWNEDB, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } i_this->mTimer[0] = 60; i_this->mMode = 1; @@ -2849,7 +2849,7 @@ static void e_rdy_jyunkai(e_rdy_class* i_this) { switch (i_this->mMode) { case 0: { - anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; dStage_dPnt_c* point = &i_this->mpPath->m_points[i_this->mPathIndex]; i_this->field_0x5bc = point->m_position; @@ -2875,7 +2875,7 @@ static void e_rdy_jyunkai(e_rdy_class* i_this) { } i_this->mMode = 2; i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; @@ -2887,7 +2887,7 @@ static void e_rdy_jyunkai(e_rdy_class* i_this) { break; case 10: - anm_init(i_this, ANM_SHOUT, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOUT, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 11; dKy_Sound_set(i_this->current.pos, 100, fopAcM_GetID(i_this), 3); S_find = 20; @@ -2927,7 +2927,7 @@ static void e_rdy_jyunkai(e_rdy_class* i_this) { if (bVar1) { i_this->mMode = 2; i_this->mTimer[0] = cM_rndF(100.0f) + 100.0f; - anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_KYORO2, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } else if ((i_this->mCounter & 7) == 0 && pl_check(i_this, check_dist, check_angle)) { if (S_find == 0) { i_this->mMode = 10; @@ -3003,14 +3003,14 @@ static void small_damage(e_rdy_class* i_this, int i_collider) { if (i_collider == 0) { s16 angle_diff = i_this->shape_angle.y - i_this->mPlayerAngle; if (angle_diff < -0x4000 || angle_diff > 0x4000) { - anm_init(i_this, ANM_DAMAGE_W, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_W, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (angle_diff < 0) { - anm_init(i_this, ANM_DAMAGE_L, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_L, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DAMAGE_R, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_R, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } } else { - anm_init(i_this, ANM_DAMAGE_W, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGE_W, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } i_this->mKnockback = 20.0f; @@ -3128,7 +3128,7 @@ static void damage_check(e_rdy_class* i_this) { if (i_this->mpBowMorf != NULL) { J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(i_this->mpArcName, 11); - i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::LOOP_ONCE_e, + i_this->mpBowMorf->setAnm(bck, J3DFrameCtrl::EMode_NONE, 1.0f, 1.0f, 0.0f, -1.0f); break; } else { @@ -4206,7 +4206,7 @@ static void demo_camera(e_rdy_class* i_this) { player->setPlayerPosAndAngle(&vec2, 0, 0); fpcM_Search(s_adel_sub, i_this); i_this->mMode = 2; - anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); csXyz angle(0, 0x4000, 0); vec2.set(-93652.0f, -5875.0f, 46674.0f); fopAcM_createChild(PROC_E_ARROW, fopAcM_GetID(i_this), 0x80000011, &vec2, @@ -4713,7 +4713,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { _this->mpMorf = new mDoExt_McaMorfSO( (J3DModelData*)dComIfG_getObjectRes(_this->mpArcName, 81), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes(_this->mpArcName, 76), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, &_this->mSound, 0x80000, 0x11000084); + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &_this->mSound, 0x80000, 0x11000084); if (_this->mpMorf == NULL || _this->mpMorf->getModel() == NULL) { return 0; } @@ -4737,7 +4737,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { _this->mpBowMorf = new mDoExt_McaMorfSO( (J3DModelData*)dComIfG_getObjectRes(_this->mpArcName, 84), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes(_this->mpArcName, 11), - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, NULL, 0x80000, 0x11000084); + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, NULL, 0x80000, 0x11000084); if (_this->mpBowMorf == NULL || _this->mpBowMorf->getModel() == NULL) { return 0; } diff --git a/src/d/actor/d_a_e_s1.cpp b/src/d/actor/d_a_e_s1.cpp index 5d4f58bc90..a0c363ed75 100644 --- a/src/d/actor/d_a_e_s1.cpp +++ b/src/d/actor/d_a_e_s1.cpp @@ -480,7 +480,7 @@ static void e_s1_wait(e_s1_class* i_this) { i_this->mTargetAngle = a_this->current.angle.y + var_r27; i_this->mTimers[0] = cM_rndF(100.0f) + 100.0f; i_this->mMode = 1; - anm_init(i_this, ANM_WALK, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } } break; @@ -489,12 +489,12 @@ static void e_s1_wait(e_s1_class* i_this) { if (i_this->mTimers[0] == 0 || var_f30 > i_this->field_0x3068) { i_this->mMode = 0; i_this->mTimers[0] = cM_rndF(100.0f) + 100.0f; - anm_init(i_this, ANM_WAIT_02, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_02, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } break; case 2: i_this->mMode = 3; - anm_init(i_this, ANM_WALK, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); /* fallthrough */ case 3: angle_step = 0x100; @@ -530,7 +530,7 @@ static void e_s1_roof(e_s1_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_STICK, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_STICK, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; /* fallthrough */ case 1: @@ -554,7 +554,7 @@ static void e_s1_roof(e_s1_class* i_this) { i_this->mDrawShadow = true; if (i_this->mAcch.ChkGroundHit()) { - anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 4; i_this->mSound.startCreatureSound(Z2SE_EN_NS_DOSA, 0, -1); } @@ -584,7 +584,7 @@ static void e_s1_fight_run(e_s1_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_DASH_01, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DASH_01, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mpMorf->setFrame(cM_rndF(10.0f)); i_this->mMode = 1; /* fallthrough */ @@ -614,18 +614,18 @@ static void e_s1_fight(e_s1_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_WAIT_01, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_01, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimers[0] = 30.0f + cM_rndF(30.0f); i_this->mMode = 1; break; case 1: if (i_this->mTimers[0] == 0) { if (cM_rndF(1.0f) < 0.3333f) { - anm_init(i_this, ANM_ATTACK, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ATTACK, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mSound.startCreatureVoice(Z2SE_EN_NS_V_ATTACK, -1); i_this->mIsSlowAttack = 0; } else { - anm_init(i_this, ANM_ATTACK_02, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_ATTACK_02, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mSound.startCreatureVoice(Z2SE_EN_NS_V_ATTACK2, -1); i_this->mIsSlowAttack = 1; } @@ -672,7 +672,7 @@ static void e_s1_bibiri(e_s1_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_SHRINK, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f + cM_rndFX(0.1f)); + anm_init(i_this, ANM_SHRINK, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f + cM_rndFX(0.1f)); i_this->mpMorf->setFrame(cM_rndF(15.0f)); i_this->mTimers[0] = l_HIO.mReactionTime + cM_rndF(10.0f); i_this->mMode = 1; @@ -685,7 +685,7 @@ static void e_s1_bibiri(e_s1_class* i_this) { } if (i_this->mTimers[0] == 0) { - anm_init(i_this, ANM_SHRINK_DOWN, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHRINK_DOWN, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 2; } break; @@ -709,7 +709,7 @@ static void e_s1_damage(e_s1_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_DAMAGED, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DAMAGED, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; break; case 1: @@ -736,7 +736,7 @@ static void e_s1_path(e_s1_class* i_this) { switch (i_this->mMode) { case 0: i_this->mMode = 1; - anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WALK, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); /* fallthrough */ case 1: i_this->mCurrentPathPointNo += i_this->mPathDirection; @@ -773,7 +773,7 @@ static void e_s1_path(e_s1_class* i_this) { if (JMAFastSqrt((sp14.x * sp14.x) + (sp14.z * sp14.z)) < 4.0f * l_HIO.mMoveSpeed) { i_this->mMode = 3; i_this->mTimers[0] = 50.0f + cM_rndF(100.0f); - anm_init(i_this, ANM_WAIT_02, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_02, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } path_check2(i_this); @@ -940,11 +940,11 @@ static void e_s1_failwait(e_s1_class* i_this) { switch (i_this->mMode) { case 0: if (cM_rndF(1.0f) < 0.3333f) { - anm_init(i_this, ANM_DEAD_02, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_02, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (cM_rndF(1.0f) < 0.5f) { - anm_init(i_this, ANM_DEAD_03, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_03, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DEAD_04, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_04, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } i_this->mMode = 1; @@ -954,11 +954,11 @@ static void e_s1_failwait(e_s1_class* i_this) { i_this->mMode = 2; if (i_this->mAnm == ANM_DEAD_02) { - anm_init(i_this, ANM_DEADWAIT_02, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DEADWAIT_02, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } else if (i_this->mAnm == ANM_DEAD_03) { - anm_init(i_this, ANM_DEADWAIT_03, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DEADWAIT_03, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } else { - anm_init(i_this, ANM_DEADWAIT_04, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_DEADWAIT_04, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } } break; @@ -988,11 +988,11 @@ static void e_s1_failwait(e_s1_class* i_this) { anm_init(i_this, ANM_DEAD_02, 2.0f, 0, 1.0f); } } else if (i_this->mAnm == ANM_DEADWAIT_02) { - anm_init(i_this, ANM_DEAD_02, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_02, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (i_this->mAnm == ANM_DEADWAIT_03) { - anm_init(i_this, ANM_DEAD_03, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_03, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DEAD_04, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_04, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } i_this->mpMorf->setFrame(10.0f); @@ -1011,11 +1011,11 @@ static void e_s1_fail(e_s1_class* i_this) { switch (i_this->mMode) { case 0: if (cM_rndF(1.0f) < 0.3333f) { - anm_init(i_this, ANM_DEAD_02, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_02, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (cM_rndF(1.0f) < 0.5f) { - anm_init(i_this, ANM_DEAD_03, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_03, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DEAD_04, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_04, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } if (dStage_stagInfo_GetSTType(staginfo) == ST_FIELD) { @@ -1023,7 +1023,7 @@ static void e_s1_fail(e_s1_class* i_this) { if (all_fail_check(i_this) && !dComIfGp_event_runCheck()) { i_this->mDemoMode = 1; - anm_init(i_this, ANM_DEAD_02, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEAD_02, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } } else { i_this->mMode = 30; @@ -1073,11 +1073,11 @@ static void e_s1_fail(e_s1_class* i_this) { case 12: if (i_this->mTimers[0] == 0) { if (i_this->mAnm == ANM_DEAD_02) { - anm_init(i_this, ANM_DEADWAKE_02, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEADWAKE_02, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else if (i_this->mAnm == ANM_DEAD_03) { - anm_init(i_this, ANM_DEADWAKE_03, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEADWAKE_03, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } else { - anm_init(i_this, ANM_DEADWAKE_04, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DEADWAKE_04, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); } a_this->health = 50; @@ -1136,7 +1136,7 @@ static void e_s1_shout(e_s1_class* i_this) { switch (i_this->mMode) { case 0: a_this->health = 50; - anm_init(i_this, ANM_SHOUT, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_SHOUT, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->mTimers[0] = KREG_S(6) + 10; @@ -1195,7 +1195,7 @@ static void e_s1_warpappear(e_s1_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 0.0f); + anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::EMode_NONE, 0.0f); i_this->mMode = 1; /* fallthrough */ case 1: @@ -1224,11 +1224,11 @@ static void e_s1_warpappear(e_s1_class* i_this) { /* fallthrough */ case 11: i_this->mMode = 12; - anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, ANM_DOWN, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); break; case 12: if (i_this->mpMorf->isStop()) { - anm_init(i_this, ANM_WAIT_02, 15.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, ANM_WAIT_02, 15.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 13; } break; diff --git a/src/d/actor/d_a_e_vt.cpp b/src/d/actor/d_a_e_vt.cpp index 563c5aca89..b0a9498356 100644 --- a/src/d/actor/d_a_e_vt.cpp +++ b/src/d/actor/d_a_e_vt.cpp @@ -1815,7 +1815,7 @@ void daE_VA_c::executeDemoOp() { field_0x122c = sp38; field_0x1238.set(-0x0C03, -0x43B1, -0x195D); - setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 9; field_0x1240 = 1; mDemoModeTimer = 60; @@ -1833,7 +1833,7 @@ void daE_VA_c::executeDemoOp() { cLib_chasePos(&mDemoCamEye, sp38, 15.0f); if (mDemoModeTimer == 0) { - setBck(ANM_OP_ATTACK_A_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_OP_ATTACK_A_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 10; } break; @@ -1880,7 +1880,7 @@ void daE_VA_c::executeClearWait() { mDemoModeTimer = 60; /* fallthrough */ case 0: - setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 20.0f, 1.0f); + setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::EMode_LOOP, 20.0f, 1.0f); attention_info.flags = 4; mMode = 2; /* fallthrough */ @@ -1906,7 +1906,7 @@ void daE_VA_c::executeClearChase() { switch (mMode) { case 0: - setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 1; /* fallthrough */ case 1: @@ -1928,11 +1928,11 @@ void daE_VA_c::executeClearChase() { if (speedF != 0.0f) { if (!checkBck(ANM_INVI_WALK_e)) { - setBck(ANM_INVI_WALK_e, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_INVI_WALK_e, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } } else { if (!checkBck(ANM_INVI_WAIT_e)) { - setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_INVI_WAIT_e, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } } } @@ -1949,7 +1949,7 @@ void daE_VA_c::executeClearAttack() { switch (mMode) { case 0: - setBck(ANM_INVI_ATTACK_A_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_INVI_ATTACK_A_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_VA_SWD_ATK_T, 0, -1); mMode = 1; return; @@ -1991,7 +1991,7 @@ void daE_VA_c::executeTransWait() { attention_info.flags = 4; speedF = 0.0f; mMode = 1; - setBck(ANM_TRANS_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_TRANS_WAIT_e, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mDemoModeTimer = 5; if (!dComIfGs_isOneZoneSwitch(5, fopAcM_GetRoomNo(this))) { @@ -2001,7 +2001,7 @@ void daE_VA_c::executeTransWait() { case 1: cLib_addCalc(¤t.pos.y, 0.0f, 0.1f, 10.0f, 1.0f); if (mDemoModeTimer == 0) { - setBck(ANM_INVI_NOTICE_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_INVI_NOTICE_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_FOUND, -1); mMode = 2; } @@ -2029,7 +2029,7 @@ void daE_VA_c::executeTransChase() { switch (mMode) { case 0: - setBck(ANM_TRANS_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_TRANS_WAIT_e, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); mMode = 1; /* fallthrough */ case 1: @@ -2062,10 +2062,10 @@ void daE_VA_c::executeTransChase() { if (speedF) { if (!checkBck(ANM_TRANS_WALK_e)) { - setBck(ANM_TRANS_WALK_e, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_TRANS_WALK_e, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } } else { - setBck(ANM_TRANS_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 10.0f, 1.0f); + setBck(ANM_TRANS_WAIT_e, J3DFrameCtrl::EMode_LOOP, 10.0f, 1.0f); } } @@ -2081,7 +2081,7 @@ void daE_VA_c::executeTransAttack() { switch (mMode) { case 0: - setBck(ANM_TRANS_ATTACK_A1_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_ATTACK_A1_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_VA_SWD_ATK_T, 0, -1); mSound.startCreatureVoice(Z2SE_EN_VA_V_ATK1, -1); mSound.startCreatureSound(Z2SE_EN_VA_SWD_ATK1, 0, -1); @@ -2113,7 +2113,7 @@ void daE_VA_c::executeTransAttack() { } if (mpMorf->isStop()) { - setBck(ANM_TRANS_ATTACK_A3_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_ATTACK_A3_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_ATK3, -1); mMode = 4; } @@ -2149,7 +2149,7 @@ void daE_VA_c::executeTransAttack() { Z2GetAudioMgr()->changeSubBgmStatus(1); if (!checkBck(ANM_TRANS_ATTACK_A3_e)) { - setBck(ANM_TRANS_ATTACK_A3_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_ATTACK_A3_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_ATK3, -1); } @@ -2171,7 +2171,7 @@ void daE_VA_c::executeTransBiteDamage() { switch (mMode) { case 0: speedF = 0.0f; - setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_BITED, -1); mMode = 1; field_0x1324 = 0; @@ -2211,14 +2211,14 @@ void daE_VA_c::executeTransBiteDamage() { return; } - setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_BITED, -1); mSound.startCollisionSE(Z2SE_HIT_WOLFBITE, 0x1E); } if (checkBck(ANM_TRANS_NECK_DMG_e)) { if (mpMorf->isStop()) { - setBck(ANM_TRANS_ATTACK_A2_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_TRANS_ATTACK_A2_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } } else if (checkBck(ANM_TRANS_ATTACK_A2_e) && mpMorf->checkFrame(22.0f)) { mSound.startCreatureVoice(Z2SE_EN_VA_V_ATK2, -1); @@ -2233,7 +2233,7 @@ void daE_VA_c::executeTransBiteDamage() { } if (!player->checkWolfEnemyHangBiteOwn(this)) { - setBck(ANM_TRANS_NECK_PAT_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_NECK_PAT_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 3; mGlowBody = 0; } @@ -2271,7 +2271,7 @@ void daE_VA_c::executeTransDamage() { } speedF = 0.0f; - setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_BITED, -1); mMode = 1; @@ -2283,7 +2283,7 @@ void daE_VA_c::executeTransDamage() { /* fallthrough */ case 1: if (mpMorf->isStop()) { - setBck(ANM_TRANS_NECK_PAT_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_NECK_PAT_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 2; } break; @@ -2305,7 +2305,7 @@ void daE_VA_c::executeTransThrough() { switch (mMode) { case 0: speedF = 0.0f; - setBck(ANM_TRANS_THROUGH_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_THROUGH_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 1; break; case 1: @@ -2367,7 +2367,7 @@ void daE_VA_c::executeOpaciWait() { mKankyoColBlend = 1.0f; mKankyoColType = 1; - setBck(ANM_TRANS_STRUGGLE_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_TRANS_STRUGGLE_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_VISUAL, -1); field_0x1354 = 10; speedF = 0.0f; @@ -2431,7 +2431,7 @@ void daE_VA_c::executeOpaciWait() { mFadeAwayTimer = l_HIO.mFadeAwayTime; attention_info.flags = 4; - setBck(ANM_SUBS_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SUBS_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 15; mDemoModeTimer = 30; } @@ -2462,14 +2462,14 @@ void daE_VA_c::executeOpaciFly() { attention_info.flags = 0; if (mMode == 0) { - setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); } else if (mMode == 20) { - setBck(ANM_SUBS_DOWN_D_STAND_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_SUBS_DOWN_D_STAND_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_DMG_L, -1); } else if (mMode == 21) { - setBck(ANM_SUBS_DOWN_STAND_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_SUBS_DOWN_STAND_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); } else if (mMode == 22) { - setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_TRANS_NECK_DMG_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_BITED, -1); } @@ -2486,7 +2486,7 @@ void daE_VA_c::executeOpaciFly() { /* fallthrough */ case 1: if (mDemoModeTimer == 0 && !checkBck(ANM_FLOAT_WAIT_e)) { - setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, nREG_F(19) + 30.0f, 1.0f); + setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::EMode_LOOP, nREG_F(19) + 30.0f, 1.0f); } cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchPlayerAngleY(this), 8, 0x800, 0x80); @@ -2570,7 +2570,7 @@ void daE_VA_c::executeOpaciFly() { /* fallthrough */ case 11: if (mDemoModeTimer == 0) { - setBck(ANM_FLOAT_ATTACK_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_ATTACK_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 12; } break; @@ -2594,7 +2594,7 @@ void daE_VA_c::executeOpaciFly() { } if (mpMorf->isStop()) { - setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 2; field_0x1348 = cM_rndF(30.0f) + 90.0f; } @@ -2609,7 +2609,7 @@ void daE_VA_c::executeOpaciDamage() { mBodyCyls[0].SetTgType(0xD8FBFDFF); mBodyCyls[1].SetTgType(0xD8FBFDFF); - setBck(ANM_FLOAT_DMG_A_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_FLOAT_DMG_A_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_DOWN, -1); mSound.startCreatureVoice(Z2SE_EN_VA_V_DMG, -1); mSound.startCreatureSound(Z2SE_EN_VA_DOWN, 0, -1); @@ -2622,7 +2622,7 @@ void daE_VA_c::executeOpaciDamage() { gravity = -5.0f; maxFallSpeed = -50.0f; mMode = 2; - setBck(ANM_FLOAT_DMG_B_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_FLOAT_DMG_B_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); } break; case 2: @@ -2632,7 +2632,7 @@ void daE_VA_c::executeOpaciDamage() { break; case 10: attention_info.flags = 0; - setBck(ANM_SUBS_STAGGER_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_STAGGER_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_NO_DMG, -1); mMode = 11; /* fallthrough */ @@ -2668,7 +2668,7 @@ void daE_VA_c::executeOpaciChase() { mMode = 10; mDownTimer = 30; - setBck(ANM_SUBS_FLY_e, J3DFrameCtrl::LOOP_REPEAT_e, 30.0f, 1.0f); + setBck(ANM_SUBS_FLY_e, J3DFrameCtrl::EMode_LOOP, 30.0f, 1.0f); gravity = 0.0f; field_0x1324 = 0; @@ -2792,7 +2792,7 @@ void daE_VA_c::executeOpaciAttack() { switch (mMode) { case 0: speedF = 0.0f; - setBck(ANM_SUBS_ATTACK_A1_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_SUBS_ATTACK_A1_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mSound.startCreatureSound(Z2SE_EN_VA_SWD_ATK_T, 0, -1); mSound.startCreatureVoice(Z2SE_EN_VA_V_ATK1, -1); mMode = 1; @@ -2821,7 +2821,7 @@ void daE_VA_c::executeOpaciAttack() { } if (mpMorf->isStop()) { - setBck(ANM_SUBS_ATTACK_A3_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_ATTACK_A3_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_ATK3, -1); mMode = 2; } @@ -2857,7 +2857,7 @@ void daE_VA_c::executeOpaciDown() { switch (mMode) { case 0: - setBck(ANM_SUBS_DOWN_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mDownTimer = l_HIO.mDownTime; mMode = 2; speedF = 0.0f; @@ -2872,12 +2872,12 @@ void daE_VA_c::executeOpaciDown() { } if (mpMorf->isStop()) { - setBck(ANM_SUBS_DOWN_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 3; } break; case 1: - setBck(ANM_SUBS_DOWN_WAIT_e, J3DFrameCtrl::LOOP_REPEAT_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_WAIT_e, J3DFrameCtrl::EMode_LOOP, 3.0f, 1.0f); mMode = 3; /* fallthrough */ case 3: @@ -2957,13 +2957,13 @@ void daE_VA_c::executeOpaciDownDamage() { } if (mMode == 0) { - setBck(ANM_SUBS_DOWN_DMG_A1_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_DMG_A1_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_DMG, -1); } else if (mMode == 1) { - setBck(ANM_SUBS_DOWN_DMG_A2_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_DMG_A2_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_DMG, -1); } else { - setBck(ANM_SUBS_DOWN_STAGGER_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_STAGGER_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_NO_DMG, -1); } @@ -3027,10 +3027,10 @@ void daE_VA_c::executeOpaciFadeAway() { break; case 1: if (checkBck(ANM_SUBS_INVITE_B_e)) { - setBck(ANM_SUBS_INVITE_C_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_INVITE_C_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mMode = 5; } else { - setBck(ANM_SUBS_TO_TRANS_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_SUBS_TO_TRANS_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_VANISH, -1); mSound.startCreatureSound(Z2SE_EN_VA_VANISH, 0, -1); mAlphaType = 3; @@ -3042,13 +3042,13 @@ void daE_VA_c::executeOpaciFadeAway() { speedF = 0.0f; break; case 2: - setBck(ANM_SUBS_DOWN_STAND_e, J3DFrameCtrl::LOOP_ONCE_e, 10.0f, 1.0f); + setBck(ANM_SUBS_DOWN_STAND_e, J3DFrameCtrl::EMode_NONE, 10.0f, 1.0f); mMode = 3; speedF = 0.0f; break; case 3: if (mpMorf->isStop()) { - setBck(ANM_SUBS_TO_TRANS_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_TO_TRANS_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_VANISH, -1); mSound.startCreatureSound(Z2SE_EN_VA_VANISH, 0, -1); mMode = 4; @@ -3099,7 +3099,7 @@ void daE_VA_c::executeOpaciDeath() { dComIfGs_onStageMiddleBoss(); field_0x1364 = 0; - setBck(ANM_SUBS_DOWN_DIE_e, J3DFrameCtrl::LOOP_ONCE_e, 3.0f, 1.0f); + setBck(ANM_SUBS_DOWN_DIE_e, J3DFrameCtrl::EMode_NONE, 3.0f, 1.0f); mSound.startCreatureVoice(Z2SE_EN_VA_V_DEAD, -1); mMode = 10; @@ -3857,7 +3857,7 @@ int daE_VA_c::CreateHeap() { if (!mpWeaponBrk->init(mpWeaponModel->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_VA", 0x3B), TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } @@ -3888,7 +3888,7 @@ int daE_VA_c::CreateHeap() { if (!mpEndEfBrk->init(model->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_VA", 0x3A), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_e_yc.cpp b/src/d/actor/d_a_e_yc.cpp index e903955e0b..17c0ff9c28 100644 --- a/src/d/actor/d_a_e_yc.cpp +++ b/src/d/actor/d_a_e_yc.cpp @@ -89,7 +89,7 @@ static void e_yc_fly(e_yc_class* i_this) { case 0: if (i_this->mTimer[0] == 0 && frame == 14) { i_this->mFlyAnmMode = 1; - anm_init(i_this, e_yc_class::ANM_FLY_GLIDE, 12.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY_GLIDE, 12.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(70.0f) + 70.0f; } break; @@ -97,7 +97,7 @@ static void e_yc_fly(e_yc_class* i_this) { case 1: if (i_this->mTimer[0] == 0) { i_this->mFlyAnmMode = 0; - anm_init(i_this, e_yc_class::ANM_FLY, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(70.0f) + 70.0f; } break; @@ -134,7 +134,7 @@ static void e_yc_fly(e_yc_class* i_this) { i_this->mTargetPos = i_this->home.pos; i_this->mMaxAngleSpeed = 200.0f; i_this->mAngleXSpeedRatio = 0.0f; - anm_init(i_this, e_yc_class::ANM_FLY_GLIDE, 0.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY_GLIDE, 0.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mFlyAnmMode = 2; break; @@ -151,10 +151,10 @@ static void e_yc_fly(e_yc_class* i_this) { case 4: accel = 0.3f; if (rider->mDemoTimer == 30) { - anm_init(i_this, e_yc_class::ANM_FLY_BRAKE, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY_BRAKE, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (rider->mDemoTimer == 60) { - anm_init(i_this, e_yc_class::ANM_HOVERING, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HOVERING, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } i_this->mMaxAngleSpeed = 300.0f; break; @@ -203,7 +203,7 @@ static void e_yc_f_fly(e_yc_class* i_this) { case 0: if (i_this->mTimer[0] == 0 && frame == 14) { i_this->mFlyAnmMode = 1; - anm_init(i_this, e_yc_class::ANM_FLY_GLIDE, 12.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY_GLIDE, 12.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(70.0f) + 70.0f; } break; @@ -211,7 +211,7 @@ static void e_yc_f_fly(e_yc_class* i_this) { case 1: if (i_this->mTimer[0] == 0) { i_this->mFlyAnmMode = 0; - anm_init(i_this, e_yc_class::ANM_FLY, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mTimer[0] = cM_rndF(70.0f) + 70.0f; } break; @@ -282,7 +282,7 @@ static void e_yc_hovering(e_yc_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_yc_class::ANM_HOVERING, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HOVERING, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 1; i_this->mTimer[0] = cM_rndF(100.0f) + 200.0f; break; @@ -339,7 +339,7 @@ static void e_yc_attack(e_yc_class* i_this) { target_speed = 30.0f; if (delta.abs() < 1000.0f) { i_this->mMode = 2; - anm_init(i_this, e_yc_class::ANM_FLY_BRAKE, 10.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_FLY_BRAKE, 10.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMaxAngleSpeed = 1000.0f; i_this->mCreatureSound.startCreatureVoice(Z2SE_EN_YC_V_ATTACK, -1); } @@ -355,7 +355,7 @@ static void e_yc_attack(e_yc_class* i_this) { case 3: if (i_this->mTimer[0] == 0) { - anm_init(i_this, e_yc_class::ANM_CATCH_START, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_CATCH_START, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 4; } break; @@ -376,7 +376,7 @@ static void e_yc_attack(e_yc_class* i_this) { i_this->mMode = 0; } else { anm_init(i_this, e_yc_class::ANM_CATCH_MIDDLE, 5.0f, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 5; i_this->mTimer[0] = 80; } @@ -385,7 +385,7 @@ static void e_yc_attack(e_yc_class* i_this) { case 5: if (i_this->mTimer[0] == 0) { - anm_init(i_this, e_yc_class::ANM_CATCH_END, 5.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_CATCH_END, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 6; } else { i_this->current.pos.y += 5.0f; @@ -445,7 +445,7 @@ static void e_yc_wolfbite(e_yc_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, e_yc_class::ANM_HANGED, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HANGED, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 1; i_this->mCreatureSound.startCreatureVoice(Z2SE_EN_DN_V_DRAWBACK, -1); _this->health -= 5; @@ -454,25 +454,25 @@ static void e_yc_wolfbite(e_yc_class* i_this) { case 1: if (i_this->mpMorf->isStop()) { - anm_init(i_this, e_yc_class::ANM_HANGED_WAIT, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HANGED_WAIT, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode = 2; } break; case 2: if (i_this->mAnm == e_yc_class::ANM_HANGED_DAMAGE && i_this->mpMorf->isStop()) { - anm_init(i_this, e_yc_class::ANM_HANGED_WAIT, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HANGED_WAIT, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); } if (i_this->health <= 0 || i_this->checkWolfBiteDamage()) { i_this->offWolfBiteDamage(); - anm_init(i_this, e_yc_class::ANM_HANGED_DAMAGE, 2.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HANGED_DAMAGE, 2.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->health -= 5; if (_this->health <= 0) { player->offWolfEnemyHangBite(); anm_init(i_this, e_yc_class::ANM_HANGED_BRUSH2, 3.0f, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 3; rider->mDemoMode = 5; dScnPly_c::setPauseTimer(7); @@ -486,7 +486,7 @@ static void e_yc_wolfbite(e_yc_class* i_this) { if (i_this->mWolfBiteDamageCount >= 5) { player->offWolfEnemyHangBite(); anm_init(i_this, e_yc_class::ANM_HANGED_BRUSH, 3.0f, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 3; } @@ -494,7 +494,7 @@ static void e_yc_wolfbite(e_yc_class* i_this) { } if (!player->checkWolfEnemyBiteAllOwn(_this)) { - anm_init(i_this, e_yc_class::ANM_HANGED_BRUSH, 3.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, e_yc_class::ANM_HANGED_BRUSH, 3.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode = 3; } diff --git a/src/d/actor/d_a_horse.cpp b/src/d/actor/d_a_horse.cpp index 2f29e85727..427fa2cde9 100644 --- a/src/d/actor/d_a_horse.cpp +++ b/src/d/actor/d_a_horse.cpp @@ -534,7 +534,7 @@ int daHorse_c::createHeap() { return 0; } - if (!m_btp.init(m_modelData, (J3DAnmTexPattern*)dComIfG_getObjectRes(l_arcName, 0x29), FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!m_btp.init(m_modelData, (J3DAnmTexPattern*)dComIfG_getObjectRes(l_arcName, 0x29), FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_itembase.cpp b/src/d/actor/d_a_itembase.cpp index ff74669830..f381e417ee 100644 --- a/src/d/actor/d_a_itembase.cpp +++ b/src/d/actor/d_a_itembase.cpp @@ -63,7 +63,7 @@ int daItemBase_c::CreateItemHeap(char const* i_arcName, s16 i_bmdName, s16 i_btk JUT_ASSERT(pbtk != 0); mpBtkAnm = new mDoExt_btkAnm(); - if (mpBtkAnm == NULL || !mpBtkAnm->init(modelData, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (mpBtkAnm == NULL || !mpBtkAnm->init(modelData, pbtk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } @@ -74,7 +74,7 @@ int daItemBase_c::CreateItemHeap(char const* i_arcName, s16 i_bmdName, s16 i_btk JUT_ASSERT(pbpk != 0); mpBpkAnm = new mDoExt_bpkAnm(); - if (mpBpkAnm == NULL || !mpBpkAnm->init(modelData, pbpk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (mpBpkAnm == NULL || !mpBpkAnm->init(modelData, pbpk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } @@ -85,7 +85,7 @@ int daItemBase_c::CreateItemHeap(char const* i_arcName, s16 i_bmdName, s16 i_btk JUT_ASSERT(pbck != 0); mpBckAnm = new mDoExt_bckAnm(); - if (mpBckAnm == NULL || !mpBckAnm->init(pbck, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (mpBckAnm == NULL || !mpBckAnm->init(pbck, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } } @@ -102,7 +102,7 @@ int daItemBase_c::CreateItemHeap(char const* i_arcName, s16 i_bmdName, s16 i_btk } mpBrkAnm = new mDoExt_brkAnm(); - if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, anmPlay, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (mpBrkAnm == NULL || !mpBrkAnm->init(modelData, pbrk, anmPlay, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } @@ -113,7 +113,7 @@ int daItemBase_c::CreateItemHeap(char const* i_arcName, s16 i_bmdName, s16 i_btk JUT_ASSERT(pbtp != 0); mpBtpAnm = new mDoExt_btpAnm(); - if (mpBtpAnm == NULL || !mpBtpAnm->init(modelData, pbtp, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (mpBtpAnm == NULL || !mpBtpAnm->init(modelData, pbtp, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } @@ -277,4 +277,4 @@ u8 daItemBase_c::getCollisionH() { /* 801451D0-801451EC 13FB10 001C+00 1/0 1/0 8/0 .text getCollisionR__12daItemBase_cFv */ u8 daItemBase_c::getCollisionR() { return dItem_data::getR(m_itemNo); -} \ No newline at end of file +} diff --git a/src/d/actor/d_a_kytag04.cpp b/src/d/actor/d_a_kytag04.cpp index 0af99f6a26..3cc7026872 100644 --- a/src/d/actor/d_a_kytag04.cpp +++ b/src/d/actor/d_a_kytag04.cpp @@ -241,13 +241,13 @@ static int useHeapInit(fopAc_ac_c* i_this) { a_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11020202); if (a_this->mpModel != NULL) { J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Kytag04", 14); - if (!a_this->mBtk.init(modelData, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!a_this->mBtk.init(modelData, pbtk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { OS_REPORT("\nkytag04 btk FALSE!!\n"); return 0; } J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("Kytag04", 8); - if (!a_this->mBrk.init(modelData, pbrk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) { + if (!a_this->mBrk.init(modelData, pbrk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { OS_REPORT("\nkytag04 brk FALSE!!\n"); return 0; } diff --git a/src/d/actor/d_a_midna.cpp b/src/d/actor/d_a_midna.cpp index 01a87d2718..e6cf27d483 100644 --- a/src/d/actor/d_a_midna.cpp +++ b/src/d/actor/d_a_midna.cpp @@ -441,7 +441,7 @@ int daMidna_c::createHeap() { J3DLOADER_UNK_FLAG0); J3DModelData* md_bmd = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 14); mpMorf = new mDoExt_McaMorfSO(md_bmd, &mMorfCB, NULL, md_anm, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, NULL, 0, 0x11000284); + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, NULL, 0, 0x11000284); if (mpMorf == NULL || mpMorf->getModel() == NULL) { return 0; } @@ -449,10 +449,10 @@ int daMidna_c::createHeap() { if (!mInvModel.create(mpMorf->getModel(), 1)) { return 0; } - if (!mUpperBck.init(mpMorf->getAnm(), TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!mUpperBck.init(mpMorf->getAnm(), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } - if (!mFaceBck.init(mpMorf->getAnm(), TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!mFaceBck.init(mpMorf->getAnm(), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } if (!mBtpHeap.mallocBuffer()) { @@ -1568,7 +1568,7 @@ BOOL daMidna_c::setDemoAnm() { if (mpDemoFCTmpCluster != cluster) { mpDemoFCTmpCluster = cluster; mpDemoFCTmpBlk->init(mpDemoFCTmpBls, mpDemoFCTmpCluster, FALSE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); mpDemoFCTmpBlk->getBlkAnm()->setFrame(0.0f); } ret = TRUE; @@ -2134,7 +2134,7 @@ void daMidna_c::setAnm() { offStateFlg0(FLG0_UNK_1); u16 res_id = m_anmDataTable[anm].mResID; J3DAnmTransform* bck = (J3DAnmTransform*)mBckHeap[0].loadDataIdx(res_id); - setBckAnime(bck, J3DFrameCtrl::LOOP_REPEAT_e, 5.0f); + setBckAnime(bck, J3DFrameCtrl::EMode_LOOP, 5.0f); setUpperAnime(mBckHeap[0].getIdx(), 0xffff); } else if (checkSetAnime(0, ANM_SWAITB) && mUpperBck.checkFrame(95.0f) && fabsf(speedF) < 0.1f && cM_rnd() < 0.5f) @@ -2143,7 +2143,7 @@ void daMidna_c::setAnm() { setUpperAnimeAndSe(ANM_SWAITC); u16 res_id = m_anmDataTable[anm].mResID; J3DAnmTransform* bck = (J3DAnmTransform*)mBckHeap[0].loadDataIdx(res_id); - setBckAnime(bck, J3DFrameCtrl::LOOP_ONCE_e, 0.0f); + setBckAnime(bck, J3DFrameCtrl::EMode_NONE, 0.0f); } } else if (daPy_py_c::i_checkNowWolf() && !bVar1 && ((mNeckAngle.y == 0 && mNeckAngle.x == 0 && anm != ANM_LEADWAIT && cM_rnd() < 0.01f) @@ -2174,7 +2174,7 @@ void daMidna_c::setAnm() { u16 res_id = m_anmDataTable[anm].mResID; setUpperAnimeAndSe(anm); J3DAnmTransform* bck = (J3DAnmTransform*)mBckHeap[0].loadDataIdx(res_id); - setBckAnime(bck, J3DFrameCtrl::LOOP_ONCE_e, 5.0f); + setBckAnime(bck, J3DFrameCtrl::EMode_NONE, 5.0f); } } else if (checkStateFlg0(FLG0_UNK_2)) { diff --git a/src/d/actor/d_a_myna.cpp b/src/d/actor/d_a_myna.cpp index 70da16e9c0..4519869c82 100644 --- a/src/d/actor/d_a_myna.cpp +++ b/src/d/actor/d_a_myna.cpp @@ -1730,7 +1730,7 @@ int daMyna_c::chkPlayerInEvtArea(fopAc_ac_c* param_0, cXyz param_1) { // NONMATCHING regswap void daMyna_c::animeControl() { f32 rate = 1.0f; - int attr = J3DFrameCtrl::LOOP_REPEAT_e; + int attr = J3DFrameCtrl::EMode_LOOP; f32 morf = field_0x90C; switch (field_0x935) { case 1: @@ -1739,23 +1739,23 @@ void daMyna_c::animeControl() { } break; case 2: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case 3: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case 4: rate = l_HOSTIO.field_0x08; break; case 7: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; morf = 6.0f; break; case 8: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case 14: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; } diff --git a/src/d/actor/d_a_nbomb.cpp b/src/d/actor/d_a_nbomb.cpp index 20b751ec7c..b876abb490 100644 --- a/src/d/actor/d_a_nbomb.cpp +++ b/src/d/actor/d_a_nbomb.cpp @@ -164,7 +164,7 @@ int daNbomb_c::createHeap() { return 0; } - if (!mpBck->init(trans, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) { + if (!mpBck->init(trans, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) { return 0; } } diff --git a/src/d/actor/d_a_ni.cpp b/src/d/actor/d_a_ni.cpp index 74aa109da7..cfc0bc33f6 100644 --- a/src/d/actor/d_a_ni.cpp +++ b/src/d/actor/d_a_ni.cpp @@ -361,7 +361,7 @@ static void damage_check(ni_class* i_this) { i_this->field_0x60c = 6; i_this->mAtInfo.mpCollider = i_this->mCcSph.GetTgHitObj(); - anm_init(i_this, BCK_MOGAKU, 1.5f, J3DFrameCtrl::LOOP_REPEAT_e, 1.5f); + anm_init(i_this, BCK_MOGAKU, 1.5f, J3DFrameCtrl::EMode_LOOP, 1.5f); if (i_this->mAtInfo.mpCollider->ChkAtType(AT_TYPE_BOOMERANG)) { i_this->mAction = ACTION_WINDSPIN_e; @@ -614,7 +614,7 @@ static void ni_normal(ni_class* i_this) { switch (i_this->mMode) { case 0: i_this->mTimers[0] = cM_rndF(70) + 50.0f; - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, move_speed); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, move_speed); i_this->mMode++; break; case 1: @@ -634,7 +634,7 @@ static void ni_normal(ni_class* i_this) { } i_this->mTimers[0] = cM_rndF(60) + 30.0f; - anm_init(i_this, BCK_WALK_A, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, l_HIO.mMotionSpeed); + anm_init(i_this, BCK_WALK_A, 5.0f, J3DFrameCtrl::EMode_LOOP, l_HIO.mMotionSpeed); } break; case 10: @@ -733,7 +733,7 @@ static void ni_away(ni_class* i_this) { switch (a_this->mMode) { case 0: - anm_init(a_this, BCK_WALK_B, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.5f); + anm_init(a_this, BCK_WALK_B, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.5f); a_this->mMode++; if (target == NULL) { @@ -755,7 +755,7 @@ static void ni_away(ni_class* i_this) { } else if (a_this->mAcch.ChkGroundHit() && (target != NULL || a_this->mDistToPlayer < l_HIO.mRecognizeRange - 100.0f)) { - anm_init(a_this, BCK_FLY, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(a_this, BCK_FLY, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); a_this->speed.y = l_HIO.mFleeJumpPower; a_this->mMode++; hane_set(a_this, 5.0f, 25.0f); @@ -801,7 +801,7 @@ static void ni_swim(ni_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, move_speed); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, move_speed); i_this->mMode++; i_this->field_0x9e8 = move_speed; case 1: @@ -849,7 +849,7 @@ static void ni_swim(ni_class* i_this) { if (i_this->mTimers[2] == 0) { i_this->mMode = 1; - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, 0.0f); } cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mMoveAngle, 4, 0x400); @@ -862,7 +862,7 @@ static void ni_swim(ni_class* i_this) { i_this->mAction = ACTION_AWAY_e; i_this->mMode = 2; - anm_init(i_this, BCK_FLY, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, BCK_FLY, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->speed.y = 20.0f; hane_set(i_this, 5.0f, 25.0f); i_this->field_0x9e4 = 30; @@ -883,7 +883,7 @@ static int ni_carry(ni_class* i_this) { BOOL update_position = false; switch (i_this->mMode) { case 0: - anm_init(i_this, BCK_MOGAKU, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, BCK_MOGAKU, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode++; // fallthrough case 1: @@ -933,7 +933,7 @@ static void ni_fly(ni_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, BCK_FALL, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, BCK_FALL, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode++; i_this->mTimers[0] = 40; i_this->field_0x5c0 = player->current.pos; @@ -1004,7 +1004,7 @@ static void ni_return(ni_class* i_this) { case 0: i_this->mMode++; i_this->mTimers[0] = 200; - anm_init(i_this, BCK_FLY, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 2.0f); + anm_init(i_this, BCK_FLY, 2.0f, J3DFrameCtrl::EMode_LOOP, 2.0f); break; } @@ -1036,7 +1036,7 @@ static void ni_damage(ni_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, BCK_WALK_B, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, BCK_WALK_B, 3.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mMode++; i_this->mTimers[0] = cM_rndF(20.0f) + 40.0f; @@ -1086,7 +1086,7 @@ static void ni_windspin(ni_class* i_this) { switch (i_this->mMode) { case 0: - anm_init(i_this, BCK_FALL, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f); + anm_init(i_this, BCK_FALL, 1.0f, J3DFrameCtrl::EMode_NONE, 1.0f); i_this->mMode++; hane_set(i_this, 0.1f, 20.0f); @@ -1183,7 +1183,7 @@ static int ni_demo0(ni_class* i_this) { cLib_addCalc2(&i_this->current.pos.z, i_this->field_0x5c0.z, 0.1f, 5.0f); if (i_this->mTimers[1] == 1) { - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, 0.0f); } } else { i_this->current.pos = i_this->field_0x5c0; @@ -1208,7 +1208,7 @@ static void ni_message(ni_class* i_this) { case 1: break; case 0: - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, 0.0f); i_this->mMode++; break; } @@ -1295,7 +1295,7 @@ static int ni_play(ni_class* i_this) { switch (i_this->mMode) { case 0: i_this->mPlayAnmSpeed = 0.0f; - anm_init(i_this, BCK_WALK_A, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, i_this->mPlayAnmSpeed); + anm_init(i_this, BCK_WALK_A, 5.0f, J3DFrameCtrl::EMode_LOOP, i_this->mPlayAnmSpeed); i_this->mMode++; // fallthrough case 1: @@ -1305,7 +1305,7 @@ static int ni_play(ni_class* i_this) { if (i_this->speedF > 10.0f) { i_this->mPlayAnmSpeed = 1.0f; - anm_init(i_this, BCK_WALK_B, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, i_this->mPlayAnmSpeed); + anm_init(i_this, BCK_WALK_B, 3.0f, J3DFrameCtrl::EMode_LOOP, i_this->mPlayAnmSpeed); i_this->mMode++; } break; @@ -1316,7 +1316,7 @@ static int ni_play(ni_class* i_this) { if (i_this->speedF < 10.0f) { i_this->mPlayAnmSpeed = 1.5f; - anm_init(i_this, BCK_WALK_A, 5.0f, J3DFrameCtrl::LOOP_REPEAT_e, i_this->mPlayAnmSpeed); + anm_init(i_this, BCK_WALK_A, 5.0f, J3DFrameCtrl::EMode_LOOP, i_this->mPlayAnmSpeed); i_this->mMode = 1; } break; @@ -1358,7 +1358,7 @@ static int ni_play(ni_class* i_this) { if (i_this->field_0x60c == 0) { i_this->mMode = 1; - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, 0.0f); } break; } @@ -1421,21 +1421,21 @@ static int ni_play(ni_class* i_this) { if (i_this->speed.y <= -15.0f) { i_this->speed.y = 0.0f; i_this->mMode = 10; - anm_init(i_this, BCK_MOGAKU, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, BCK_MOGAKU, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); hane_set(i_this, 5.0f, 25.0f); } } if (i_this->mMode < 20 && i_this->field_0x848 != 0) { i_this->mMode = 20; - anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::LOOP_REPEAT_e, 0.0f); + anm_init(i_this, BCK_WAIT1, 3.0f, J3DFrameCtrl::EMode_LOOP, 0.0f); i_this->speedF *= 0.5f; } if ((var_r29 != 0 || var_r30 != 0) && mDoCPd_c::getTrigA(PAD_1)) { i_this->speed.y = 20.0f; i_this->mMode = 10; - anm_init(i_this, BCK_MOGAKU, 2.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, BCK_MOGAKU, 2.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); hane_set(i_this, 5.0f, 25.0f); } @@ -1445,7 +1445,7 @@ static int ni_play(ni_class* i_this) { if (i_this->field_0x60c == 0) { i_this->field_0x60c = cM_rndF(10.0f) + 5.0f; i_this->mMode = 30; - anm_init(i_this, BCK_MOGAKU, 1.0f, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f); + anm_init(i_this, BCK_MOGAKU, 1.0f, J3DFrameCtrl::EMode_LOOP, 1.0f); i_this->mSound.startSound(Z2SE_CHICKEN_CRY, 0, -1); hane_set(i_this, 5.0f, 25.0f); } @@ -2203,7 +2203,7 @@ static BOOL useHeapInit(fopAc_ac_c* i_this) { if (!a_this->mpBtk->init(a_this->mpMorf->getModel()->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Ni", 0x13), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return false; } diff --git a/src/d/actor/d_a_npc_the.cpp b/src/d/actor/d_a_npc_the.cpp index a90a41af2b..1f358f0224 100644 --- a/src/d/actor/d_a_npc_the.cpp +++ b/src/d/actor/d_a_npc_the.cpp @@ -531,7 +531,7 @@ int daNpcThe_c::ctrlJointCallBack(J3DJoint* i_joint, int param_1) { */ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { J3DAnmTransform* anm = NULL; - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; mAnmFlags &= ~ANM_EXPRESSION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -555,7 +555,7 @@ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_F_TALK_B: res = setExpressionBtp(4); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_TALK_C: res = setExpressionBtp(5); @@ -568,27 +568,27 @@ bool daNpcThe_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_FH_SMILE: res = setExpressionBtp(8); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_CHUCKLE: res = setExpressionBtp(9); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_TALK_B: res = setExpressionBtp(10); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_TALK_C: res = setExpressionBtp(11); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_LAUGH: res = setExpressionBtp(12); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_TALK_R: res = setExpressionBtp(13); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; default: anm = NULL; @@ -621,10 +621,10 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { l_btpGetParamList[i_idx].fileIdx); } - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; switch (i_idx) { case 0: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 1: break; @@ -633,7 +633,7 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { case 3: break; case 4: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 5: break; @@ -642,22 +642,22 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { case 7: break; case 8: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 9: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 10: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 11: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 12: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 13: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; default: anm = NULL; @@ -682,7 +682,7 @@ bool daNpcThe_c::setExpressionBtp(int i_idx) { bool daNpcThe_c::setMotionAnm(int i_idx, f32 i_morf) { J3DAnmTransformKey* anm_trans = NULL; J3DAnmTextureSRTKey* anm_tex = NULL; - int attr = J3DFrameCtrl::LOOP_REPEAT_e; + int attr = J3DFrameCtrl::EMode_LOOP; mAnmFlags &= ~ANM_MOTION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -692,43 +692,43 @@ bool daNpcThe_c::setMotionAnm(int i_idx, f32 i_morf) { switch (i_idx) { case ANM_WAIT_A: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_WAIT_LOOKING: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_TO_WAIT_B: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_WAIT_B: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_WAIT_LOOKUP: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_TALK_R: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_TALKING_R: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_LOOK_A: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_LOOK: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_KUNE_WAIT_A: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_KUNE_TALK: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_KUNE_WAIT_B: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_KUNE_SHISHI: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; default: anm_trans = NULL; diff --git a/src/d/actor/d_a_npc_yelia.cpp b/src/d/actor/d_a_npc_yelia.cpp index 1644a83151..a6af98db14 100644 --- a/src/d/actor/d_a_npc_yelia.cpp +++ b/src/d/actor/d_a_npc_yelia.cpp @@ -66,73 +66,73 @@ static s8* l_loadResPtrnList[10] = { /* 80B525B0-80B528C0 0000D4 0310+00 0/1 0/0 0/0 .data l_faceMotionAnmData */ static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[] = { - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, - {7, J3DFrameCtrl::LOOP_ONCE_e, 2, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {5, J3DFrameCtrl::LOOP_ONCE_e, 3, 18, J3DFrameCtrl::LOOP_ONCE_e, 3, FALSE}, - {6, J3DFrameCtrl::LOOP_ONCE_e, 3, 19, J3DFrameCtrl::LOOP_ONCE_e, 3, FALSE}, - {6, J3DFrameCtrl::LOOP_REPEAT_e, 5, 20, J3DFrameCtrl::LOOP_REPEAT_e, 5, FALSE}, - {5, J3DFrameCtrl::LOOP_ONCE_e, 5, 19, J3DFrameCtrl::LOOP_ONCE_e, 5, FALSE}, - {7, J3DFrameCtrl::LOOP_REPEAT_e, 5, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, - {8, J3DFrameCtrl::LOOP_ONCE_e, 5, 19, J3DFrameCtrl::LOOP_REPEAT_e, 2, TRUE}, - {14, J3DFrameCtrl::LOOP_ONCE_e, 6, 49, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {16, J3DFrameCtrl::LOOP_ONCE_e, 6, 51, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {15, J3DFrameCtrl::LOOP_ONCE_e, 6, 50, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {12, J3DFrameCtrl::LOOP_ONCE_e, 6, 47, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {13, J3DFrameCtrl::LOOP_ONCE_e, 6, 48, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {10, J3DFrameCtrl::LOOP_ONCE_e, 6, 45, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {21, J3DFrameCtrl::LOOP_REPEAT_e, 6, 56, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {22, J3DFrameCtrl::LOOP_REPEAT_e, 6, 57, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {18, J3DFrameCtrl::LOOP_REPEAT_e, 6, 53, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {20, J3DFrameCtrl::LOOP_REPEAT_e, 6, 55, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {9, J3DFrameCtrl::LOOP_ONCE_e, 6, 44, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {17, J3DFrameCtrl::LOOP_REPEAT_e, 6, 52, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {11, J3DFrameCtrl::LOOP_ONCE_e, 6, 46, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {19, J3DFrameCtrl::LOOP_REPEAT_e, 6, 54, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {5, J3DFrameCtrl::LOOP_ONCE_e, 2, 20, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, - {8, J3DFrameCtrl::LOOP_REPEAT_e, 2, 22, J3DFrameCtrl::LOOP_REPEAT_e, 2, FALSE}, - {6, J3DFrameCtrl::LOOP_REPEAT_e, 2, 21, J3DFrameCtrl::LOOP_REPEAT_e, 2, FALSE}, - {9, J3DFrameCtrl::LOOP_REPEAT_e, 2, 23, J3DFrameCtrl::LOOP_REPEAT_e, 2, FALSE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, 19, J3DFrameCtrl::EMode_LOOP, 2, TRUE}, + {7, J3DFrameCtrl::EMode_NONE, 2, 19, J3DFrameCtrl::EMode_LOOP, 2, TRUE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {5, J3DFrameCtrl::EMode_NONE, 3, 18, J3DFrameCtrl::EMode_NONE, 3, FALSE}, + {6, J3DFrameCtrl::EMode_NONE, 3, 19, J3DFrameCtrl::EMode_NONE, 3, FALSE}, + {6, J3DFrameCtrl::EMode_LOOP, 5, 20, J3DFrameCtrl::EMode_LOOP, 5, FALSE}, + {5, J3DFrameCtrl::EMode_NONE, 5, 19, J3DFrameCtrl::EMode_NONE, 5, FALSE}, + {7, J3DFrameCtrl::EMode_LOOP, 5, 19, J3DFrameCtrl::EMode_LOOP, 2, TRUE}, + {8, J3DFrameCtrl::EMode_NONE, 5, 19, J3DFrameCtrl::EMode_LOOP, 2, TRUE}, + {14, J3DFrameCtrl::EMode_NONE, 6, 49, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {16, J3DFrameCtrl::EMode_NONE, 6, 51, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {15, J3DFrameCtrl::EMode_NONE, 6, 50, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {12, J3DFrameCtrl::EMode_NONE, 6, 47, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {13, J3DFrameCtrl::EMode_NONE, 6, 48, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {10, J3DFrameCtrl::EMode_NONE, 6, 45, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {21, J3DFrameCtrl::EMode_LOOP, 6, 56, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {22, J3DFrameCtrl::EMode_LOOP, 6, 57, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {18, J3DFrameCtrl::EMode_LOOP, 6, 53, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {20, J3DFrameCtrl::EMode_LOOP, 6, 55, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {9, J3DFrameCtrl::EMode_NONE, 6, 44, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {17, J3DFrameCtrl::EMode_LOOP, 6, 52, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {11, J3DFrameCtrl::EMode_NONE, 6, 46, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {19, J3DFrameCtrl::EMode_LOOP, 6, 54, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {5, J3DFrameCtrl::EMode_NONE, 2, 20, J3DFrameCtrl::EMode_NONE, 2, FALSE}, + {8, J3DFrameCtrl::EMode_LOOP, 2, 22, J3DFrameCtrl::EMode_LOOP, 2, FALSE}, + {6, J3DFrameCtrl::EMode_LOOP, 2, 21, J3DFrameCtrl::EMode_LOOP, 2, FALSE}, + {9, J3DFrameCtrl::EMode_LOOP, 2, 23, J3DFrameCtrl::EMode_LOOP, 2, FALSE}, }; /* 80B528C0-80B52C94 0003E4 03D4+00 0/1 0/0 0/0 .data l_motionAnmData */ static daNpcT_motionAnmData_c l_motionAnmData[] = { - {13, J3DFrameCtrl::LOOP_REPEAT_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {10, J3DFrameCtrl::LOOP_REPEAT_e, 3, 15, J3DFrameCtrl::LOOP_REPEAT_e, 3, FALSE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {11, J3DFrameCtrl::LOOP_REPEAT_e, 3, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {9, J3DFrameCtrl::LOOP_ONCE_e, 3, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {-1, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, J3DFrameCtrl::LOOP_ONCE_e, 0, FALSE}, - {7, J3DFrameCtrl::LOOP_ONCE_e, 3, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {8, J3DFrameCtrl::LOOP_ONCE_e, 3, 14, J3DFrameCtrl::LOOP_ONCE_e, 3, FALSE}, - {10, J3DFrameCtrl::LOOP_REPEAT_e, 5, 15, J3DFrameCtrl::LOOP_REPEAT_e, 5, FALSE}, - {9, J3DFrameCtrl::LOOP_ONCE_e, 5, 14, J3DFrameCtrl::LOOP_ONCE_e, 5, FALSE}, - {11, J3DFrameCtrl::LOOP_REPEAT_e, 5, 16, J3DFrameCtrl::LOOP_REPEAT_e, 5, FALSE}, - {35, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {34, J3DFrameCtrl::LOOP_REPEAT_e, 6, 41, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {33, J3DFrameCtrl::LOOP_REPEAT_e, 6, 40, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {31, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {30, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {27, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {28, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {25, J3DFrameCtrl::LOOP_ONCE_e, 6, 38, J3DFrameCtrl::LOOP_ONCE_e, 6, FALSE}, - {26, J3DFrameCtrl::LOOP_REPEAT_e, 6, 39, J3DFrameCtrl::LOOP_REPEAT_e, 6, FALSE}, - {6, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {8, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {12, J3DFrameCtrl::LOOP_ONCE_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {5, J3DFrameCtrl::LOOP_REPEAT_e, 7, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {32, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, - {29, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {7, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, - {23, J3DFrameCtrl::LOOP_ONCE_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, - {24, J3DFrameCtrl::LOOP_REPEAT_e, 6, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, FALSE}, - {10, J3DFrameCtrl::LOOP_ONCE_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, - {11, J3DFrameCtrl::LOOP_ONCE_e, 2, 16, J3DFrameCtrl::LOOP_ONCE_e, 2, TRUE}, + {13, J3DFrameCtrl::EMode_LOOP, 2, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {10, J3DFrameCtrl::EMode_LOOP, 3, 15, J3DFrameCtrl::EMode_LOOP, 3, FALSE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {11, J3DFrameCtrl::EMode_LOOP, 3, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {9, J3DFrameCtrl::EMode_NONE, 3, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {-1, J3DFrameCtrl::EMode_NONE, 0, -1, J3DFrameCtrl::EMode_NONE, 0, FALSE}, + {7, J3DFrameCtrl::EMode_NONE, 3, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {8, J3DFrameCtrl::EMode_NONE, 3, 14, J3DFrameCtrl::EMode_NONE, 3, FALSE}, + {10, J3DFrameCtrl::EMode_LOOP, 5, 15, J3DFrameCtrl::EMode_LOOP, 5, FALSE}, + {9, J3DFrameCtrl::EMode_NONE, 5, 14, J3DFrameCtrl::EMode_NONE, 5, FALSE}, + {11, J3DFrameCtrl::EMode_LOOP, 5, 16, J3DFrameCtrl::EMode_LOOP, 5, FALSE}, + {35, J3DFrameCtrl::EMode_LOOP, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {34, J3DFrameCtrl::EMode_LOOP, 6, 41, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {33, J3DFrameCtrl::EMode_LOOP, 6, 40, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {31, J3DFrameCtrl::EMode_NONE, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {30, J3DFrameCtrl::EMode_LOOP, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {27, J3DFrameCtrl::EMode_NONE, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {28, J3DFrameCtrl::EMode_LOOP, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {25, J3DFrameCtrl::EMode_NONE, 6, 38, J3DFrameCtrl::EMode_NONE, 6, FALSE}, + {26, J3DFrameCtrl::EMode_LOOP, 6, 39, J3DFrameCtrl::EMode_LOOP, 6, FALSE}, + {6, J3DFrameCtrl::EMode_NONE, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {8, J3DFrameCtrl::EMode_LOOP, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {12, J3DFrameCtrl::EMode_NONE, 2, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {5, J3DFrameCtrl::EMode_LOOP, 7, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {32, J3DFrameCtrl::EMode_NONE, 6, 16, J3DFrameCtrl::EMode_NONE, 2, FALSE}, + {29, J3DFrameCtrl::EMode_LOOP, 6, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {7, J3DFrameCtrl::EMode_NONE, 6, 16, J3DFrameCtrl::EMode_NONE, 2, FALSE}, + {23, J3DFrameCtrl::EMode_NONE, 6, 16, J3DFrameCtrl::EMode_NONE, 2, FALSE}, + {24, J3DFrameCtrl::EMode_LOOP, 6, 16, J3DFrameCtrl::EMode_NONE, 2, FALSE}, + {10, J3DFrameCtrl::EMode_NONE, 2, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, + {11, J3DFrameCtrl::EMode_NONE, 2, 16, J3DFrameCtrl::EMode_NONE, 2, TRUE}, }; /* 80B52C94-80B52E44 0007B8 01B0+00 0/1 0/0 0/0 .data l_faceMotionSequenceData */ diff --git a/src/d/actor/d_a_npc_zra.cpp b/src/d/actor/d_a_npc_zra.cpp index c25febc358..cf7cc34252 100644 --- a/src/d/actor/d_a_npc_zra.cpp +++ b/src/d/actor/d_a_npc_zra.cpp @@ -1298,7 +1298,7 @@ void daNpc_zrA_c::setMtx() { */ bool daNpc_zrA_c::setExpressionAnm(int i_idx, bool i_modify) { J3DAnmTransform* bck_anm = NULL; - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; mAnmFlags &= ~ANM_EXPRESSION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -1325,41 +1325,41 @@ bool daNpc_zrA_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_FH_TALK_NOMAL: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_SADSIT_A: res = setExpressionBtp(1); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_SADSIT_B: res = setExpressionBtp(2); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_SADSIT_C: res = setExpressionBtp(3); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_SADSIT_D: res = setExpressionBtp(4); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_SADSIT_E: res = setExpressionBtp(5); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_LOOKING_SP: res = setExpressionBtp(0); break; case ANM_FH_LOOKING_SP: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_LOOKUP: res = setExpressionBtp(0); break; case ANM_FH_LOOKUP: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_TALK_SWIM_SP: res = setExpressionBtp(0); @@ -1372,14 +1372,14 @@ bool daNpc_zrA_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_FH_SPA_WAIT_A: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_SPA_TALK_B: res = setExpressionBtp(6); break; case ANM_FH_SPA_WAIT_B: res = setExpressionBtp(7); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; default: bck_anm = NULL; @@ -1407,7 +1407,7 @@ bool daNpc_zrA_c::setExpressionAnm(int i_idx, bool i_modify) { */ bool daNpc_zrA_c::setExpressionBtp(int i_idx) { J3DAnmTexPattern* btp_anm = NULL; - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; mAnmFlags &= ~(ANM_PLAY_BTP | ANM_PAUSE_BTP | ANM_FLAG_800); if (l_btpGetParamList[i_idx].fileIdx >= 0) { @@ -1423,7 +1423,7 @@ bool daNpc_zrA_c::setExpressionBtp(int i_idx) { case 4: case 5: case 7: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 6: break; @@ -1462,7 +1462,7 @@ bool daNpc_zrA_c::setMotionAnm(int i_idx, f32 i_morf) { J3DAnmTransformKey* bck_anm = NULL; J3DAnmTextureSRTKey* btk_anm = NULL; int btk_idx = 0; - int attr = J3DFrameCtrl::LOOP_REPEAT_e; + int attr = J3DFrameCtrl::EMode_LOOP; mBaseMotionAnm = i_idx; if (mAcch.ChkWaterIn()) { @@ -1500,7 +1500,7 @@ bool daNpc_zrA_c::setMotionAnm(int i_idx, f32 i_morf) { case ANM_FLOAT_SP: case ANM_FLOAT_B_SP: case ANM_STEP_SP: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_FALLSWIM: case ANM_SADSIT_A: diff --git a/src/d/actor/d_a_npc_zrc.cpp b/src/d/actor/d_a_npc_zrc.cpp index e606c81aca..6c9fbe1630 100644 --- a/src/d/actor/d_a_npc_zrc.cpp +++ b/src/d/actor/d_a_npc_zrc.cpp @@ -628,7 +628,7 @@ void daNpc_zrC_c::setAttnPos() { */ bool daNpc_zrC_c::setExpressionAnm(int i_idx, bool i_modify) { J3DAnmTransform* bck_anm = NULL; - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; mAnmFlags &= ~ANM_EXPRESSION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -640,7 +640,7 @@ bool daNpc_zrC_c::setExpressionAnm(int i_idx, bool i_modify) { switch (i_idx) { case ANM_F_WAIT_A: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_SIT_TALK: res = setExpressionBtp(1); @@ -671,33 +671,33 @@ bool daNpc_zrC_c::setExpressionAnm(int i_idx, bool i_modify) { break; case ANM_F_PRAY: res = setExpressionBtp(9); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_GETUP: res = setExpressionBtp(10); break; case ANM_F_SIT: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_STEP: res = setExpressionBtp(11); break; case ANM_FH_SAD: res = setExpressionBtp(12); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_SMILE: res = setExpressionBtp(13); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_FH_KIZUKU: res = setExpressionBtp(0); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case ANM_F_SICK_DEMO_WAIT: res = setExpressionBtp(14); - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; default: bck_anm = NULL; @@ -725,7 +725,7 @@ bool daNpc_zrC_c::setExpressionAnm(int i_idx, bool i_modify) { */ bool daNpc_zrC_c::setExpressionBtp(int i_idx) { J3DAnmTexPattern* btp_anm = NULL; - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; mAnmFlags &= ~(ANM_PLAY_BTP | ANM_PAUSE_BTP | ANM_FLAG_800); if (l_btpGetParamList[i_idx].fileIdx >= 0) { @@ -735,19 +735,19 @@ bool daNpc_zrC_c::setExpressionBtp(int i_idx) { switch (i_idx) { case 0: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 9: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 12: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 13: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 14: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; case 1: case 2: @@ -796,8 +796,8 @@ bool daNpc_zrC_c::setMotionAnm(int i_idx, f32 i_morf) { J3DAnmTransformKey* bck_anm = NULL; J3DAnmTextureSRTKey* btk_anm = NULL; int btk_idx = 0; - int attr = J3DFrameCtrl::LOOP_REPEAT_e; - int btk_attr = J3DFrameCtrl::LOOP_REPEAT_e; + int attr = J3DFrameCtrl::EMode_LOOP; + int btk_attr = J3DFrameCtrl::EMode_LOOP; mAnmFlags &= ~ANM_MOTION_FLAGS; if (l_bckGetParamList[i_idx].fileIdx >= 0) { @@ -809,42 +809,42 @@ bool daNpc_zrC_c::setMotionAnm(int i_idx, f32 i_morf) { case ANM_WAIT_A: break; case ANM_TOPRAY: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_PRAY: break; case ANM_GETUP: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_STEP: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_SIT: break; case ANM_SIT_TALK: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_SAD_TALK: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; btk_idx = 1; - btk_attr = J3DFrameCtrl::LOOP_ONCE_e; + btk_attr = J3DFrameCtrl::EMode_NONE; break; case ANM_SAD_WAIT: btk_idx = 2; break; case ANM_TALK_A: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_KIZUKU: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; btk_idx = 3; - btk_attr = J3DFrameCtrl::LOOP_ONCE_e; + btk_attr = J3DFrameCtrl::EMode_NONE; break; case ANM_KIZUKU_WAIT: btk_idx = 4; break; case ANM_SMILE_TALK: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; case ANM_SICK_DEMO_WAIT: break; diff --git a/src/d/actor/d_a_npc_zrz.cpp b/src/d/actor/d_a_npc_zrz.cpp index 5905f4922b..de343d9d59 100644 --- a/src/d/actor/d_a_npc_zrz.cpp +++ b/src/d/actor/d_a_npc_zrz.cpp @@ -863,7 +863,7 @@ bool daNpc_zrZ_c::setExpressionAnm(int i_idx, bool i_modify) { return true; } - if (setBckAnm(bck_anm, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 0, -1, i_modify)) { + if (setBckAnm(bck_anm, 1.0f, J3DFrameCtrl::EMode_NONE, 0, -1, i_modify)) { mAnmFlags |= ANM_PLAY_BCK | ANM_PAUSE_BCK; mExpressionLoops = 0; return true; @@ -876,7 +876,7 @@ bool daNpc_zrZ_c::setExpressionAnm(int i_idx, bool i_modify) { */ bool daNpc_zrZ_c::setExpressionBtp(int i_idx) { J3DAnmTexPattern* btp_anm = NULL; - int attr = J3DFrameCtrl::LOOP_ONCE_e; + int attr = J3DFrameCtrl::EMode_NONE; mAnmFlags &= ~(ANM_PLAY_BTP | ANM_PAUSE_BTP | ANM_FLAG_800); if (mType == 1) { @@ -893,7 +893,7 @@ bool daNpc_zrZ_c::setExpressionBtp(int i_idx) { switch (i_idx) { case 0: - attr = J3DFrameCtrl::LOOP_REPEAT_e; + attr = J3DFrameCtrl::EMode_LOOP; break; default: btp_anm = NULL; @@ -929,7 +929,7 @@ void daNpc_zrZ_c::setExpression(int i_expression, f32 i_morf) { bool daNpc_zrZ_c::setMotionAnm(int i_idx, f32 i_morf) { J3DAnmTransformKey* bck_anm = NULL; J3DAnmTextureSRTKey* btk_anm = NULL; - int attr = J3DFrameCtrl::LOOP_REPEAT_e; + int attr = J3DFrameCtrl::EMode_LOOP; mAnmFlags &= ~ANM_MOTION_FLAGS; if (mType == 1) { @@ -949,7 +949,7 @@ bool daNpc_zrZ_c::setMotionAnm(int i_idx, f32 i_morf) { case 3: break; case 4: - attr = J3DFrameCtrl::LOOP_ONCE_e; + attr = J3DFrameCtrl::EMode_NONE; break; default: bck_anm = NULL; diff --git a/src/d/actor/d_a_obj_Lv5Key.cpp b/src/d/actor/d_a_obj_Lv5Key.cpp index a22a50b9e6..4e433a6e5c 100644 --- a/src/d/actor/d_a_obj_Lv5Key.cpp +++ b/src/d/actor/d_a_obj_Lv5Key.cpp @@ -22,7 +22,7 @@ int daObjLv5Key_c::CreateHeap() { return 0; } - if (!mBck.init(pbck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) { + if (!mBck.init(pbck, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) { return 0; } diff --git a/src/d/actor/d_a_obj_dan.cpp b/src/d/actor/d_a_obj_dan.cpp index 85099d40c8..caf662835a 100644 --- a/src/d/actor/d_a_obj_dan.cpp +++ b/src/d/actor/d_a_obj_dan.cpp @@ -61,7 +61,7 @@ int daObjDAN_c::CreateHeap() { J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("I_Dan", 11); mpMorf = new mDoExt_McaMorfSO(model_data, NULL, NULL, static_cast(dComIfG_getObjectRes("I_Dan", 8)), - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, &mCreatureSound, 0, 0x11000284); if (mpMorf == NULL || mpMorf->getModel() == NULL) { return 0; @@ -75,13 +75,13 @@ int daObjDAN_c::CreateHeap() { if (mSex == SEX_FEMALE) { J3DAnmTevRegKey* tev_anm = static_cast(dComIfG_getObjectRes("I_Dan", 14)); if (!mpBrkAnm->init(model->getModelData(), tev_anm, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } else { J3DAnmTevRegKey* tev_anm = static_cast(dComIfG_getObjectRes("I_Dan", 15)); if (!mpBrkAnm->init(model->getModelData(), tev_anm, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } @@ -94,7 +94,7 @@ int daObjDAN_c::CreateHeap() { J3DAnmTextureSRTKey* tex_anm = static_cast(dComIfG_getObjectRes("I_Dan", 18)); if (!mpBtkAnm->init(model->getModelData(), tex_anm, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } else { @@ -102,7 +102,7 @@ int daObjDAN_c::CreateHeap() { J3DAnmTextureSRTKey* tex_anm = static_cast(dComIfG_getObjectRes("I_Dan", 19)); if (!mpBtkAnm->init(model->getModelData(), tex_anm, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } } @@ -166,7 +166,7 @@ void daObjDAN_c::DamageAction() { mMode++; mTargetSpeed = 0.0f; mpMorf->setAnm(static_cast(dComIfG_getObjectRes("I_Dan", 6)), - J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f, 0.0f, -1.0f); mTimer[0] = 100; gravity = -3.0f; speed.y = player->speedF * 0.5f; @@ -212,7 +212,7 @@ void daObjDAN_c::DamageAction() { if (mTimer[0] == 0 && fopAcM_searchPlayerDistanceXZ(this) > 50.0f) { shape_angle.x = 0; mpMorf->setAnm(static_cast(dComIfG_getObjectRes("I_Dan", 7)), - J3DFrameCtrl::LOOP_ONCE_e, 5.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_NONE, 5.0f, 1.0f, 0.0f, -1.0f); mMode++; speed.y = 0.0f; speedF = 0.0f; @@ -231,7 +231,7 @@ void daObjDAN_c::DamageAction() { mMode = 0; mTargetSpeed = 0.5f; mpMorf->setAnm(static_cast(dComIfG_getObjectRes("I_Dan", 8)), - J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f, 0.0f, -1.0f); } break; } @@ -337,7 +337,7 @@ void daObjDAN_c::ObjHit() { mAction = ACT_DAMAGE; mMode = 1; mpMorf->setAnm(static_cast(dComIfG_getObjectRes("I_Dan", 6)), - J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f, 0.0f, -1.0f); mTimer[0] = 100; } mCcSph.ClrTgHit(); @@ -365,7 +365,7 @@ void daObjDAN_c::BoomChk() { mBoomerangHit = false; gravity = -3.0f; mpMorf->setAnm(static_cast(dComIfG_getObjectRes("I_Dan", 6)), - J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f, 0.0f, -1.0f); mTimer[0] = 100; mAction = ACT_DAMAGE; mMode = 1; @@ -585,7 +585,7 @@ cPhs__Step daObjDAN_c::create() { mAction = ACT_DAMAGE; mMode = 1; mpMorf->setAnm(static_cast(dComIfG_getObjectRes("I_Dan", 6)), - J3DFrameCtrl::LOOP_REPEAT_e, 5.0f, 1.0f, 0.0f, -1.0f); + J3DFrameCtrl::EMode_LOOP, 5.0f, 1.0f, 0.0f, -1.0f); mTimer[0] = 100; } diff --git a/src/d/actor/d_a_obj_glowSphere.cpp b/src/d/actor/d_a_obj_glowSphere.cpp index 9b2cf0f0fe..e118b93821 100644 --- a/src/d/actor/d_a_obj_glowSphere.cpp +++ b/src/d/actor/d_a_obj_glowSphere.cpp @@ -100,11 +100,11 @@ int daGlwSph_c::CreateHeap() { } J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("glwSphere", 8); - int res = mBrk.init(modelData, brk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + int res = mBrk.init(modelData, brk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); JUT_ASSERT(0x106, res == 1); J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("glwSphere", 11); - res = mBtk.init(modelData, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + res = mBtk.init(modelData, btk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); JUT_ASSERT(0x10F, res == 1); return 1; diff --git a/src/d/actor/d_a_obj_iceleaf.cpp b/src/d/actor/d_a_obj_iceleaf.cpp index 3e10f601ec..12fa59b48b 100644 --- a/src/d/actor/d_a_obj_iceleaf.cpp +++ b/src/d/actor/d_a_obj_iceleaf.cpp @@ -181,7 +181,7 @@ int daObjIceLeaf_c::CreateHeap() { JUT_ASSERT(0x196, pbck != 0); mpBck = new mDoExt_bckAnm(); - if (mpBck == NULL || !mpBck->init(pbck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) { + if (mpBck == NULL || !mpBck->init(pbck, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) { return 0; } diff --git a/src/d/actor/d_a_obj_lv3Water.cpp b/src/d/actor/d_a_obj_lv3Water.cpp index 460f896e99..4008a07d52 100644 --- a/src/d/actor/d_a_obj_lv3Water.cpp +++ b/src/d/actor/d_a_obj_lv3Water.cpp @@ -100,7 +100,7 @@ int daLv3Water_c::CreateHeap() { J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_resNameIdx[mType], l_btkIdx[mType]); - mBtk1.init(modelData, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + mBtk1.init(modelData, btk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); if (l_bmdIdrIdx[mType] != -1) { J3DModelData* modelData = @@ -114,7 +114,7 @@ int daLv3Water_c::CreateHeap() { J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_resNameIdx[mType], l_btkIdrIdx[mType]); - mBtk2.init(modelData, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + mBtk2.init(modelData, btk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); } else { mpModel2 = NULL; } diff --git a/src/d/actor/d_a_obj_lv3WaterB.cpp b/src/d/actor/d_a_obj_lv3WaterB.cpp index ec5db25e27..2f677d4fbb 100644 --- a/src/d/actor/d_a_obj_lv3WaterB.cpp +++ b/src/d/actor/d_a_obj_lv3WaterB.cpp @@ -129,7 +129,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("L3_bwater", 8); if (!a_this->mpBWaterBtk->init(a_this->mpBWaterModel->getModelData(), btk, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_obj_lv5yiblltray.cpp b/src/d/actor/d_a_obj_lv5yiblltray.cpp index 94f65051b1..1d91ec145f 100644 --- a/src/d/actor/d_a_obj_lv5yiblltray.cpp +++ b/src/d/actor/d_a_obj_lv5yiblltray.cpp @@ -82,7 +82,7 @@ int daObjYIblltray_c::CreateHeap() { } J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5); - if (!mBck.init(bck, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!mBck.init(bck, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } @@ -124,24 +124,24 @@ int daObjYIblltray_c::Create() { current.angle.x = 0x1A4F; mMode = MODE_FRONT_WAIT; mBck.setFrame(mBck.getEndFrame()); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_NONE); } else { current.angle.x = -0x1A4F; mMode = MODE_BACK_RIDE; mBck.setFrame(mBck.getStartFrame()); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_RESET_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_RESET); } } else { if (!fopAcM_isSwitch(this, getSwNo())) { current.angle.x = -0x1A4F; mMode = MODE_BACK_RIDE; mBck.setFrame(mBck.getStartFrame()); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_RESET_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_RESET); } else { current.angle.x = 0x1A4F; mMode = MODE_FRONT_WAIT; mBck.setFrame(mBck.getEndFrame()); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_NONE); } } @@ -331,7 +331,7 @@ int daObjYIblltray_c::Execute(Mtx** param_0) { if (getType() == 0) { if (!fopAcM_isSwitch(this, getSwNo())) { mBck.setPlaySpeed(1.0f); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_NONE); if (current.angle.x < 0x19EB) { mRotAmount += 100; @@ -352,7 +352,7 @@ int daObjYIblltray_c::Execute(Mtx** param_0) { } } else { mBck.setPlaySpeed(-1.0f); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_RESET_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_RESET); if (current.angle.x > -0x19EB) { mRotAmount -= 100; @@ -372,7 +372,7 @@ int daObjYIblltray_c::Execute(Mtx** param_0) { } else { if (fopAcM_isSwitch(this, getSwNo())) { mBck.setPlaySpeed(1.0f); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_NONE); if (current.angle.x < 0x19EB) { mRotAmount += 100; @@ -392,7 +392,7 @@ int daObjYIblltray_c::Execute(Mtx** param_0) { } } else { mBck.setPlaySpeed(-1.0f); - mBck.setPlayMode(J3DFrameCtrl::LOOP_ONCE_RESET_e); + mBck.setPlayMode(J3DFrameCtrl::EMode_RESET); if (current.angle.x > -0x19EB) { mRotAmount -= 100; diff --git a/src/d/actor/d_a_obj_lv8OptiLift.cpp b/src/d/actor/d_a_obj_lv8OptiLift.cpp index 59f663dd54..836e07febb 100644 --- a/src/d/actor/d_a_obj_lv8OptiLift.cpp +++ b/src/d/actor/d_a_obj_lv8OptiLift.cpp @@ -69,7 +69,7 @@ int daOptiLift_c::CreateHeap() { } int res = mBtk.init(modelData, (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Lv8Lift", 8), TRUE, - J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1); + J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1); JUT_ASSERT(0xD4, res == 1); return 1; } diff --git a/src/d/actor/d_a_obj_magLiftRot.cpp b/src/d/actor/d_a_obj_magLiftRot.cpp index 91d0b65816..915219c285 100644 --- a/src/d/actor/d_a_obj_magLiftRot.cpp +++ b/src/d/actor/d_a_obj_magLiftRot.cpp @@ -383,13 +383,13 @@ int daMagLiftRot_c::CreateHeap() { if (l_btkIdx[mType] != -1) { J3DAnmTextureSRTKey* res = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName[mType], l_btkIdx[mType]); - mBtk.init(modelData, res, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + mBtk.init(modelData, res, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); } if (l_brkIdx[mType] != -1) { J3DAnmTevRegKey* res = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName[mType], l_brkIdx[mType]); - mBrk.init(modelData, res, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + mBrk.init(modelData, res, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); } return 1; diff --git a/src/d/actor/d_a_obj_master_sword.cpp b/src/d/actor/d_a_obj_master_sword.cpp index 2e79cdd3a1..2335734dff 100644 --- a/src/d/actor/d_a_obj_master_sword.cpp +++ b/src/d/actor/d_a_obj_master_sword.cpp @@ -75,12 +75,12 @@ int daObjMasterSword_c::CreateHeap() { } J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 11); - if (!mBtk.init(modelData, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!mBtk.init(modelData, pbtk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 8); - if (!mBrk.init(modelData, pbrk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!mBrk.init(modelData, pbrk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_obj_mirror_6pole.cpp b/src/d/actor/d_a_obj_mirror_6pole.cpp index a552ccf0b1..54b6b35b8b 100644 --- a/src/d/actor/d_a_obj_mirror_6pole.cpp +++ b/src/d/actor/d_a_obj_mirror_6pole.cpp @@ -106,7 +106,7 @@ int daObjMirror6Pole_c::CreateHeap() { speed = 0.0f; } - if (mpBck == NULL || !mpBck->init(bck, FALSE, J3DFrameCtrl::LOOP_ONCE_e, speed, 0, -1, false)) { + if (mpBck == NULL || !mpBck->init(bck, FALSE, J3DFrameCtrl::EMode_NONE, speed, 0, -1, false)) { return 0; } diff --git a/src/d/actor/d_a_obj_mirror_sand.cpp b/src/d/actor/d_a_obj_mirror_sand.cpp index 964584cc35..3a5b2365b9 100644 --- a/src/d/actor/d_a_obj_mirror_sand.cpp +++ b/src/d/actor/d_a_obj_mirror_sand.cpp @@ -26,7 +26,7 @@ int daObjMirrorSand_c::createHeap() { speed = 0.0f; } - if (mpBck == NULL || !mpBck->init(bck, FALSE, J3DFrameCtrl::LOOP_ONCE_e, speed, 0, -1, false)) { + if (mpBck == NULL || !mpBck->init(bck, FALSE, J3DFrameCtrl::EMode_NONE, speed, 0, -1, false)) { return 0; } diff --git a/src/d/actor/d_a_obj_myogan.cpp b/src/d/actor/d_a_obj_myogan.cpp index 137c069188..fdcd2fb858 100644 --- a/src/d/actor/d_a_obj_myogan.cpp +++ b/src/d/actor/d_a_obj_myogan.cpp @@ -106,7 +106,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("S_YOGAN", 9); if (!a_this->mpBrk->init(a_this->mpModel->getModelData(), brk, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } @@ -118,7 +118,7 @@ static int useHeapInit(fopAc_ac_c* i_this) { J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("S_YOGAN", 12); if (!a_this->mpBtk->init(a_this->mpModel->getModelData(), btk, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_obj_oiltubo.cpp b/src/d/actor/d_a_obj_oiltubo.cpp index 321ec16ce0..b306e164e8 100644 --- a/src/d/actor/d_a_obj_oiltubo.cpp +++ b/src/d/actor/d_a_obj_oiltubo.cpp @@ -85,7 +85,7 @@ int daObj_Oiltubo_c::CreateHeap() { } mBtk.init(mdlBData_p, (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(getResName(), l_bbtkFileName), - TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); mSound.init(¤t.pos, 1); return 1; } diff --git a/src/d/actor/d_a_swhit0.cpp b/src/d/actor/d_a_swhit0.cpp index ac62ce94c6..7c0b9d704a 100644 --- a/src/d/actor/d_a_swhit0.cpp +++ b/src/d/actor/d_a_swhit0.cpp @@ -74,11 +74,11 @@ int daSwhit0_c::CreateHeap() { return 0; } - if (!mBck.init((J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5), TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (!mBck.init((J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } - if (!mBrk.init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 11), FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) { + if (!mBrk.init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 11), FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_tag_Lv6Gate.cpp b/src/d/actor/d_a_tag_Lv6Gate.cpp index 59b0beae4c..721148599a 100644 --- a/src/d/actor/d_a_tag_Lv6Gate.cpp +++ b/src/d/actor/d_a_tag_Lv6Gate.cpp @@ -36,7 +36,7 @@ int daTagLv6Gate_c::createHeap() { btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 19); mpBtk[0] = new mDoExt_btkAnm(); if (mpBtk[0] == NULL || - !mpBtk[0]->init(model_data, btk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1)) + !mpBtk[0]->init(model_data, btk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) { return 0; } @@ -48,7 +48,7 @@ int daTagLv6Gate_c::createHeap() { btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 20); mpBtk[1] = new mDoExt_btkAnm(); if (mpBtk[1] == NULL || - !mpBtk[1]->init(model_data, btk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) + !mpBtk[1]->init(model_data, btk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { return 0; } diff --git a/src/d/actor/d_a_tag_Lv7Gate.cpp b/src/d/actor/d_a_tag_Lv7Gate.cpp index 7b343899cc..a2e2352fb1 100644 --- a/src/d/actor/d_a_tag_Lv7Gate.cpp +++ b/src/d/actor/d_a_tag_Lv7Gate.cpp @@ -28,7 +28,7 @@ int daTagLv7Gate_c::createHeap() { mpBck = new mDoExt_bckAnm(); - if (mpBck == NULL || !mpBck->init(bck, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) { + if (mpBck == NULL || !mpBck->init(bck, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } @@ -184,7 +184,7 @@ void daTagLv7Gate_c::flyAnime() { J3DAnmTransform* bck_anm_3 = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 7); J3DAnmTransform* bck_anm_4 = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 8); - s32 attribute = J3DFrameCtrl::LOOP_REPEAT_e; + s32 attribute = J3DFrameCtrl::EMode_LOOP; mLastFrame = mpBck->getFrame(); @@ -195,13 +195,13 @@ void daTagLv7Gate_c::flyAnime() { field_0x5ac += 1; if (field_0x5ac >= 150) { bck = bck_anm_4; - attribute = J3DFrameCtrl::LOOP_ONCE_e; + attribute = J3DFrameCtrl::EMode_NONE; } } } else if (bck_anm == bck_anm_1) { if (mLastFrame > mpBck->getFrame()) { bck = bck_anm_2; - attribute = J3DFrameCtrl::LOOP_ONCE_e; + attribute = J3DFrameCtrl::EMode_NONE; } } else { // } else if (mpBck->isStop()) { @@ -210,10 +210,10 @@ void daTagLv7Gate_c::flyAnime() { if (tmp->isStop()) { if (bck_anm == bck_anm_2) { bck = bck_anm_3; - attribute = J3DFrameCtrl::LOOP_REPEAT_e; + attribute = J3DFrameCtrl::EMode_LOOP; } else if (bck_anm == bck_anm_4) { bck = bck_anm_1; - attribute = J3DFrameCtrl::LOOP_REPEAT_e; + attribute = J3DFrameCtrl::EMode_LOOP; } } } diff --git a/src/d/actor/d_a_tag_Lv8Gate.cpp b/src/d/actor/d_a_tag_Lv8Gate.cpp index acceeacb0d..2c88bfc5eb 100644 --- a/src/d/actor/d_a_tag_Lv8Gate.cpp +++ b/src/d/actor/d_a_tag_Lv8Gate.cpp @@ -103,7 +103,7 @@ int daTagLv8Gate_c::createHeap() { J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5); mpBck = new mDoExt_bckAnm(); if (mpBck == NULL || - !mpBck->init(bck, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) + !mpBck->init(bck, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false)) { return 0; } diff --git a/src/d/actor/d_a_tbox.cpp b/src/d/actor/d_a_tbox.cpp index 361c6ec8b9..ff615de603 100644 --- a/src/d/actor/d_a_tbox.cpp +++ b/src/d/actor/d_a_tbox.cpp @@ -113,7 +113,7 @@ cPhs__Step daTbox_c::commonShapeSet() { } J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(model_info->mArcName, model_info->mBckResNo); - if (!mpAnm->init(bck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) { + if (!mpAnm->init(bck, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) { return cPhs_ERROR_e; } @@ -152,7 +152,7 @@ cPhs__Step daTbox_c::commonShapeSet() { J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(model_info->mArcName, model_info->mBrkResNo); JUT_ASSERT(0x1E1, brk != 0); - if (!mpEffectAnm->init(modelData, brk, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 0.0f, 0, -1)) { + if (!mpEffectAnm->init(modelData, brk, TRUE, J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1)) { return cPhs_ERROR_e; } } @@ -1002,7 +1002,7 @@ void daTbox_c::OpenInit_com() { if (getShapeType() == SHAPE_LARGE) { J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(getModelInfo()->mArcName, 9); - mpAnm->init(bck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, bck->getFrameMax(), true); + mpAnm->init(bck, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, bck->getFrameMax(), true); mOpenSeId = Z2SE_OBJ_TBOX_OPEN_B_SLOW; } } diff --git a/src/d/actor/d_a_tbox2.cpp b/src/d/actor/d_a_tbox2.cpp index 6e840b153d..06f5aa405d 100644 --- a/src/d/actor/d_a_tbox2.cpp +++ b/src/d/actor/d_a_tbox2.cpp @@ -138,7 +138,7 @@ int daTbox2_c::CreateHeap() { (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, l_resInfo[mModelType].bck_no); JUT_ASSERT(pbck != 0); mpBck = new mDoExt_bckAnm(); - if (mpBck == NULL || !mpBck->init(pbck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) { + if (mpBck == NULL || !mpBck->init(pbck, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) { return false; } diff --git a/src/d/actor/d_a_vrbox2.cpp b/src/d/actor/d_a_vrbox2.cpp index 83c3d3d9ca..9ad904efb9 100644 --- a/src/d/actor/d_a_vrbox2.cpp +++ b/src/d/actor/d_a_vrbox2.cpp @@ -619,7 +619,7 @@ static int daVrbox2_solidHeapCB(fopAc_ac_c* i_this) { a_this->model2_und = mDoExt_J3DModel__create(sun_modelData, 0x80000, 0x11020202); J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getStageRes("vrbox_sun.btk"); - if (!a_this->mSunBtk.init(sun_modelData, pbtk, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, FLOAT_LABEL(lit_3627), 0, -1)) { + if (!a_this->mSunBtk.init(sun_modelData, pbtk, TRUE, J3DFrameCtrl::EMode_LOOP, FLOAT_LABEL(lit_3627), 0, -1)) { return 0; } } diff --git a/src/d/d_k_wpillar.cpp b/src/d/d_k_wpillar.cpp index 74f5414e54..449bc72d51 100644 --- a/src/d/d_k_wpillar.cpp +++ b/src/d/d_k_wpillar.cpp @@ -51,13 +51,13 @@ int dkWpillar_c::create() { J3DAnmTransform* bckAnm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 0xB); JUT_ASSERT(106, bckAnm); - var_r30 = mBck.init(bckAnm, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false); + var_r30 = mBck.init(bckAnm, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false); J3DAnmTextureSRTKey* btkAnm = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 0x3B); - var_r30 &= mBtk.init(modelData, btkAnm, FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + var_r30 &= mBtk.init(modelData, btkAnm, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); J3DAnmTevRegKey* brkAnm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 0x2E); - var_r30 &= mBrk.init(modelData, brkAnm, FALSE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1); + var_r30 &= mBrk.init(modelData, brkAnm, FALSE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1); mDoExt_restoreCurrentHeap(); mDoExt_adjustSolidHeap(mpHeap); diff --git a/src/d/d_kankyo.cpp b/src/d/d_kankyo.cpp index e937a4bab4..40bdf08cd1 100644 --- a/src/d/d_kankyo.cpp +++ b/src/d/d_kankyo.cpp @@ -1116,7 +1116,7 @@ static void undwater_init() { if (g_env_light.undwater_btk != NULL) { J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Always", 0x3C); if (!g_env_light.undwater_btk->init(modelData2, pbtk, TRUE, - J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1)) + J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) { JUT_ASSERT(1898, 0); } diff --git a/src/d/d_menu_window.cpp b/src/d/d_menu_window.cpp index 19c9151844..6fb7f2624a 100644 --- a/src/d/d_menu_window.cpp +++ b/src/d/d_menu_window.cpp @@ -22,6 +22,86 @@ #include "f_op/f_op_overlap_mng.h" #include "m_Do/m_Do_controller_pad.h" +class dDlst_MENU_CAPTURE_c : public dDlst_base_c { +public: + virtual void draw() { + if (getDrawFlag() == 1) { + setDrawFlag(); + dComIfGp_onPauseFlag(); + GXSetTexCopySrc(0, 0, 608, 448); + GXSetTexCopyDst(304, 224, (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_ENABLE); + GXCopyTex(mDoGph_gInf_c::getFrameBufferTex(), GX_FALSE); + GXPixModeSync(); + } else { + GXTexObj tex; + GXInitTexObj(&tex, mDoGph_gInf_c::getFrameBufferTex(), 304, 224, + (GXTexFmt)mDoGph_gInf_c::getFrameBufferTimg()->format, GX_CLAMP, GX_CLAMP, GX_FALSE); + GXInitTexObjLOD(&tex, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); + GXLoadTexObj(&tex, GX_TEXMAP0); + GXSetNumChans(0); + GXSetNumTexGens(1); + GXSetTexCoordGen2(GX_TEXCOORD0, GX_TG_MTX2x4, GX_TG_TEX0, 60, GX_FALSE, 125); + GXSetNumTevStages(1); + GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD0, GX_TEXMAP0, GX_COLOR_NULL); + GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_TEXC); + GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + const GXColor color = {0, 0, 0, mAlpha}; + GXSetTevColor(GX_TEVREG0, color); + GXSetTevAlphaIn(GX_TEVSTAGE0, GX_CA_ZERO, GX_CA_ZERO, GX_CA_ZERO, GX_CA_A0); + GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); + GXSetZCompLoc(GX_TRUE); + GXSetZMode(GX_FALSE, GX_ALWAYS, GX_FALSE); + GXSetBlendMode(GX_BM_BLEND, GX_BL_SRCALPHA, GX_BL_INVSRCALPHA, GX_LO_OR); + GXSetAlphaCompare(GX_ALWAYS, 0, GX_AOP_OR, GX_ALWAYS, 0); + GXSetFog(GX_FOG_NONE, 0.0f, 0.0f, 0.0f, 0.0f, g_clearColor); + GXSetFogRangeAdj(GX_FALSE, 0, NULL); + GXSetCullMode(GX_CULL_NONE); + GXSetDither(GX_TRUE); + GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0); + GXSetCurrentMtx(0); + GXClearVtxDesc(); + GXSetVtxDesc(GX_VA_POS, GX_DIRECT); + GXSetVtxDesc(GX_VA_TEX0, GX_DIRECT); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_CLR_RGBA, GX_RGBA4, 0); + GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_CLR_RGBA, GX_RGB8, 0); + + GXBegin(GX_QUADS, GX_VTXFMT0, 4); + GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMinY(), 0); + GXTexCoord2s8(0, 0); + + GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMinY(), 0); + GXTexCoord2s8(1, 0); + + GXPosition3s16(mDoGph_gInf_c::getMaxX(), mDoGph_gInf_c::getMaxY(), 0); + GXTexCoord2s8(1, 1); + + GXPosition3s16(mDoGph_gInf_c::getMinX(), mDoGph_gInf_c::getMaxY(), 0); + GXTexCoord2s8(0, 1); + GXEnd(); + } + } + + virtual ~dDlst_MENU_CAPTURE_c() {} + + dDlst_MENU_CAPTURE_c() { + mFlag = 0; + mAlpha = 255; + mTopFlag = 0; + } + + void setCaptureFlag() { mFlag = 1; } + bool checkDraw() { return mFlag; } + u8 getAlpha() { return mAlpha; } + u8 getTopFlag() { return mTopFlag; } + u8 getDrawFlag() { return mFlag; } + void setDrawFlag() { mFlag = 3; } + +private: + /* 0x4 */ u8 mFlag; + /* 0x5 */ u8 mAlpha; + /* 0x6 */ u8 mTopFlag; +}; + BOOL dMw_UP_TRIGGER() { return mDoCPd_c::getTrigUp(PAD_1) != 0; } diff --git a/tools/decompctx.py b/tools/decompctx.py index dfb99e65ba..f2f31dfac4 100755 --- a/tools/decompctx.py +++ b/tools/decompctx.py @@ -18,65 +18,63 @@ from typing import List script_dir = os.path.dirname(os.path.realpath(__file__)) root_dir = os.path.abspath(os.path.join(script_dir, "..")) src_dir = os.path.join(root_dir, "src") -include_dirs = [ - os.path.join(root_dir, "include"), - os.path.join(root_dir, "include/dolphin"), - os.path.join(root_dir, "src"), - os.path.join(root_dir, "src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include"), - os.path.join(root_dir, "src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Include"), - os.path.join(root_dir, "src/PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Include"), - os.path.join(root_dir, "src/PowerPC_EABI_Support/MSL/MSL_C++/MSL_Common/Include"), - os.path.join(root_dir, "src/PowerPC_EABI_Support/Runtime/Inc"), - # Add additional include directories here -] +include_dirs: List[str] = [] # Set with -I flag include_pattern = re.compile(r'^#\s*include\s*[<"](.+?)[>"]') guard_pattern = re.compile(r"^#\s*ifndef\s+(.*)$") +once_pattern = re.compile(r"^#\s*pragma\s+once$") defines = set() +deps = [] -def import_h_file(in_file: str, r_path: str, deps: List[str]) -> str: +def import_h_file(in_file: str, r_path: str) -> str: rel_path = os.path.join(root_dir, r_path, in_file) if os.path.exists(rel_path): - return import_c_file(rel_path, deps) + return import_c_file(rel_path) for include_dir in include_dirs: inc_path = os.path.join(include_dir, in_file) if os.path.exists(inc_path): - return import_c_file(inc_path, deps) + return import_c_file(inc_path) else: print("Failed to locate", in_file) return "" -def import_c_file(in_file: str, deps: List[str]) -> str: +def import_c_file(in_file: str) -> str: in_file = os.path.relpath(in_file, root_dir) deps.append(in_file) out_text = "" try: with open(in_file, encoding="utf-8") as file: - out_text += process_file(in_file, list(file), deps) + out_text += process_file(in_file, list(file)) except Exception: with open(in_file) as file: - out_text += process_file(in_file, list(file), deps) + out_text += process_file(in_file, list(file)) return out_text -def process_file(in_file: str, lines: List[str], deps: List[str]) -> str: +def process_file(in_file: str, lines: List[str]) -> str: out_text = "" for idx, line in enumerate(lines): - guard_match = guard_pattern.match(line.strip()) if idx == 0: + guard_match = guard_pattern.match(line.strip()) if guard_match: if guard_match[1] in defines: break defines.add(guard_match[1]) + else: + once_match = once_pattern.match(line.strip()) + if once_match: + if in_file in defines: + break + defines.add(in_file) print("Processing file", in_file) include_match = include_pattern.match(line.strip()) if include_match and not include_match[1].endswith(".s"): out_text += f'/* "{in_file}" line {idx} "{include_match[1]}" */\n' - out_text += import_h_file(include_match[1], os.path.dirname(in_file), deps) + out_text += import_h_file(include_match[1], os.path.dirname(in_file)) out_text += f'/* end "{include_match[1]}" */\n' else: out_text += line @@ -107,10 +105,19 @@ def main(): "--depfile", help="""Dependency file""", ) + parser.add_argument( + "-I", + "--include", + help="""Include directory""", + action="append", + ) args = parser.parse_args() - deps = [] - output = import_c_file(args.c_file, deps) + if args.include is None: + exit("No include directories specified") + global include_dirs + include_dirs = args.include + output = import_c_file(args.c_file) with open(os.path.join(root_dir, args.output), "w", encoding="utf-8") as f: f.write(output) diff --git a/tools/download_tool.py b/tools/download_tool.py index f4512d01ea..7adbf0d70e 100755 --- a/tools/download_tool.py +++ b/tools/download_tool.py @@ -91,6 +91,21 @@ TOOLS: Dict[str, Callable[[str], str]] = { "wibo": wibo_url, } +def download(url, response, output) -> None: + if url.endswith(".zip"): + data = io.BytesIO(response.read()) + with zipfile.ZipFile(data) as f: + f.extractall(output) + # Make all files executable + for root, _, files in os.walk(output): + for name in files: + os.chmod(os.path.join(root, name), 0o755) + output.touch(mode=0o755) # Update dir modtime + else: + with open(output, "wb") as f: + shutil.copyfileobj(response, f) + st = os.stat(output) + os.chmod(output, st.st_mode | stat.S_IEXEC) def main() -> None: parser = argparse.ArgumentParser() @@ -104,22 +119,21 @@ def main() -> None: print(f"Downloading {url} to {output}") req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"}) - with urllib.request.urlopen(req) as response: - if url.endswith(".zip"): - data = io.BytesIO(response.read()) - with zipfile.ZipFile(data) as f: - f.extractall(output) - # Make all files executable - for root, _, files in os.walk(output): - for name in files: - os.chmod(os.path.join(root, name), 0o755) - output.touch(mode=0o755) # Update dir modtime - else: - with open(output, "wb") as f: - shutil.copyfileobj(response, f) - st = os.stat(output) - os.chmod(output, st.st_mode | stat.S_IEXEC) - + try: + with urllib.request.urlopen(req) as response: + download(url, response, output) + except urllib.error.URLError as e: + if str(e).find("CERTIFICATE_VERIFY_FAILED") == -1: + raise e + try: + import certifi + import ssl + except: + print("\"certifi\" module not found. Please install it using \"python -m pip install certifi\".") + return + + with urllib.request.urlopen(req, context=ssl.create_default_context(cafile=certifi.where())) as response: + download(url, response, output) if __name__ == "__main__": main() diff --git a/tools/project.py b/tools/project.py index 8367a240bb..bb282674eb 100644 --- a/tools/project.py +++ b/tools/project.py @@ -17,7 +17,20 @@ import os import platform import sys from pathlib import Path -from typing import IO, Any, Dict, Iterable, List, Optional, Set, Tuple, Union, cast +from typing import ( + Any, + Callable, + cast, + Dict, + IO, + Iterable, + List, + Optional, + Set, + Tuple, + TypedDict, + Union, +) from . import ninja_syntax from .ninja_syntax import serialize_path @@ -48,6 +61,7 @@ class Object: "lib": None, "mw_version": None, "progress_category": None, + "scratch_preset_id": None, "shift_jis": None, "source": name, "src_dir": None, @@ -79,6 +93,7 @@ class Object: set_default("asm_dir", config.asm_dir) set_default("host", False) set_default("mw_version", config.linker_version) + set_default("scratch_preset_id", config.scratch_preset_id) set_default("shift_jis", config.shift_jis) set_default("src_dir", config.src_dir) @@ -174,6 +189,12 @@ class ProjectConfig: True # Generate compile_commands.json for clangd ) self.extra_clang_flags: List[str] = [] # Extra flags for clangd + self.scratch_preset_id: Optional[int] = ( + None # Default decomp.me preset ID for scratches + ) + self.link_order_callback: Optional[Callable[[int, List[str]], List[str]]] = ( + None # Callback to add/remove/reorder units within a module + ) # Progress output, progress.json and report.json config self.progress = True # Enable report.json generation and CLI progress output @@ -289,10 +310,38 @@ def make_flags_str(flags: Optional[List[str]]) -> str: return " ".join(flags) +# Unit configuration +class BuildConfigUnit(TypedDict): + object: Optional[str] + name: str + autogenerated: bool + + +# Module configuration +class BuildConfigModule(TypedDict): + name: str + module_id: int + ldscript: str + entry: str + units: List[BuildConfigUnit] + + +# Module link configuration +class BuildConfigLink(TypedDict): + modules: List[str] + + +# Build configuration generated by decomp-toolkit +class BuildConfig(BuildConfigModule): + version: str + modules: List[BuildConfigModule] + links: List[BuildConfigLink] + + # Load decomp-toolkit generated config.json def load_build_config( config: ProjectConfig, build_config_path: Path -) -> Optional[Dict[str, Any]]: +) -> Optional[BuildConfig]: if not build_config_path.is_file(): return None @@ -300,7 +349,7 @@ def load_build_config( return tuple(map(int, (v.split(".")))) f = open(build_config_path, "r", encoding="utf-8") - build_config: Dict[str, Any] = json.load(f) + build_config: BuildConfig = json.load(f) config_version = build_config.get("version") if config_version is None: print("Invalid config.json, regenerating...") @@ -316,6 +365,24 @@ def load_build_config( return None f.close() + + # Apply link order callback + if config.link_order_callback: + modules: List[BuildConfigModule] = [build_config, *build_config["modules"]] + for module in modules: + unit_names = list(map(lambda u: u["name"], module["units"])) + unit_names = config.link_order_callback(module["module_id"], unit_names) + units: List[BuildConfigUnit] = [] + for unit_name in unit_names: + units.append( + # Find existing unit or create a new one + next( + (u for u in module["units"] if u["name"] == unit_name), + {"object": None, "name": unit_name, "autogenerated": False}, + ) + ) + module["units"] = units + return build_config @@ -333,7 +400,7 @@ def generate_build(config: ProjectConfig) -> None: def generate_build_ninja( config: ProjectConfig, objects: Dict[str, Object], - build_config: Optional[Dict[str, Any]], + build_config: Optional[BuildConfig], ) -> None: out = io.StringIO() n = ninja_syntax.Writer(out) @@ -377,7 +444,7 @@ def generate_build_ninja( decompctx = config.tools_dir / "decompctx.py" n.rule( name="decompctx", - command=f"$python {decompctx} $in -o $out -d $out.d", + command=f"$python {decompctx} $in -o $out -d $out.d $includes", description="CTX $in", depfile="$out.d", deps="gcc", @@ -694,9 +761,9 @@ def generate_build_ninja( return path.parent / (path.name + ".MAP") class LinkStep: - def __init__(self, config: Dict[str, Any]) -> None: - self.name: str = config["name"] - self.module_id: int = config["module_id"] + def __init__(self, config: BuildConfigModule) -> None: + self.name = config["name"] + self.module_id = config["module_id"] self.ldscript: Optional[Path] = Path(config["ldscript"]) self.entry = config["entry"] self.inputs: List[str] = [] @@ -806,10 +873,8 @@ def generate_build_ninja( else: extra_cflags.insert(0, "-lang=c") - cflags_str = make_flags_str(cflags) - if len(extra_cflags) > 0: - extra_cflags_str = make_flags_str(extra_cflags) - cflags_str += " " + extra_cflags_str + all_cflags = cflags + extra_cflags + cflags_str = make_flags_str(all_cflags) used_compiler_versions.add(obj.options["mw_version"]) # Add MWCC build rule @@ -833,11 +898,21 @@ def generate_build_ninja( # Add ctx build rule if obj.ctx_path is not None: + include_dirs = [] + for flag in all_cflags: + if ( + flag.startswith("-i ") + or flag.startswith("-I ") + or flag.startswith("-I+") + ): + include_dirs.append(flag[3:]) + includes = " ".join([f"-I {d}" for d in include_dirs]) n.build( outputs=obj.ctx_path, rule="decompctx", inputs=src_path, implicit=decompctx, + variables={"includes": includes}, ) # Add host build rule @@ -894,13 +969,14 @@ def generate_build_ninja( return obj_path - def add_unit(build_obj, link_step: LinkStep): + def add_unit(build_obj: BuildConfigUnit, link_step: LinkStep): obj_path, obj_name = build_obj["object"], build_obj["name"] obj = objects.get(obj_name) if obj is None: if config.warn_missing_config and not build_obj["autogenerated"]: print(f"Missing configuration for {obj_name}") - link_step.add(obj_path) + if obj_path is not None: + link_step.add(Path(obj_path)) return link_built_obj = obj.completed @@ -929,12 +1005,7 @@ def generate_build_ninja( link_step.add(built_obj_path) elif obj_path is not None: # Use the original (extracted) object - link_step.add(obj_path) - else: - lib_name = obj.options["lib"] - sys.exit( - f"Missing object for {obj_name}: {obj.src_path} {lib_name} {obj}" - ) + link_step.add(Path(obj_path)) # Add DOL link step link_step = LinkStep(build_config) @@ -1255,7 +1326,7 @@ def generate_build_ninja( def generate_objdiff_config( config: ProjectConfig, objects: Dict[str, Object], - build_config: Optional[Dict[str, Any]], + build_config: Optional[BuildConfig], ) -> None: if build_config is None: return @@ -1320,7 +1391,7 @@ def generate_objdiff_config( } def add_unit( - build_obj: Dict[str, Any], module_name: str, progress_categories: List[str] + build_obj: BuildConfigUnit, module_name: str, progress_categories: List[str] ) -> None: obj_path, obj_name = build_obj["object"], build_obj["name"] base_object = Path(obj_name).with_suffix("") @@ -1355,9 +1426,21 @@ def generate_objdiff_config( unit_config["base_path"] = obj.src_obj_path unit_config["metadata"]["source_path"] = obj.src_path - cflags = obj.options["cflags"] + # Filter out include directories + def keep_flag(flag): + return ( + not flag.startswith("-i ") + and not flag.startswith("-i-") + and not flag.startswith("-I ") + and not flag.startswith("-I+") + and not flag.startswith("-I-") + ) + + all_cflags = list( + filter(keep_flag, obj.options["cflags"] + obj.options["extra_cflags"]) + ) reverse_fn_order = False - for flag in cflags: + for flag in all_cflags: if not flag.startswith("-inline "): continue for value in flag.split(" ")[1].split(","): @@ -1366,24 +1449,16 @@ def generate_objdiff_config( elif value == "nodeferred": reverse_fn_order = False - # Filter out include directories - def keep_flag(flag): - return not flag.startswith("-i ") and not flag.startswith("-I ") - - cflags = list(filter(keep_flag, cflags)) - compiler_version = COMPILER_MAP.get(obj.options["mw_version"]) if compiler_version is None: print(f"Missing scratch compiler mapping for {obj.options['mw_version']}") else: - cflags_str = make_flags_str(cflags) - if len(obj.options["extra_cflags"]) > 0: - extra_cflags_str = make_flags_str(obj.options["extra_cflags"]) - cflags_str += " " + extra_cflags_str + cflags_str = make_flags_str(all_cflags) unit_config["scratch"] = { "platform": "gc_wii", "compiler": compiler_version, "c_flags": cflags_str, + "preset_id": obj.options["scratch_preset_id"], } if src_exists: unit_config["scratch"].update( @@ -1464,7 +1539,7 @@ def generate_objdiff_config( def generate_compile_commands( config: ProjectConfig, objects: Dict[str, Object], - build_config: Optional[Dict[str, Any]], + build_config: Optional[BuildConfig], ) -> None: if build_config is None or not config.generate_compile_commands: return @@ -1553,7 +1628,7 @@ def generate_compile_commands( clangd_config = [] - def add_unit(build_obj: Dict[str, Any]) -> None: + def add_unit(build_obj: BuildConfigUnit) -> None: obj = objects.get(build_obj["name"]) if obj is None: return