// // Generated by dtk // Translation Unit: d_a_obj_hha.cpp // #include "d/actor/d_a_obj_hha.h" #include "d/actor/d_a_tag_waterlevel.h" #include "d/d_bg_s_func.h" #include "d/d_bg_s_wtr_chk.h" #include "d/d_com_inf_game.h" #include "d/d_procname.h" #include "d/d_priority.h" #include "d/res/res_hha.h" #if VERSION == VERSION_DEMO dCcD_SrcCyl l_daObjHha_cyl_data = #else const dCcD_SrcCyl daObjHha_c::M_cyl_data = #endif { // dCcD_SrcGObjInf { /* Flags */ 0, /* SrcObjAt Type */ 0, /* SrcObjAt Atp */ 0, /* SrcObjAt SPrm */ 0, /* SrcObjTg Type */ 0, /* SrcObjTg SPrm */ 0, /* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IsOther_e | cCcD_CoSPrm_VsEnemy_e | cCcD_CoSPrm_VsOther_e, /* SrcGObjAt Se */ 0, /* SrcGObjAt HitMark */ 0, /* SrcGObjAt Spl */ 0, /* SrcGObjAt Mtrl */ 0, /* SrcGObjAt SPrm */ 0, /* SrcGObjTg Se */ 0, /* SrcGObjTg HitMark */ 0, /* SrcGObjTg Spl */ 0, /* SrcGObjTg Mtrl */ 0, /* SrcGObjTg SPrm */ dCcG_TgSPrm_NoHitMark_e, /* SrcGObjCo SPrm */ 0, }, // cM3dGCylS { /* Center */ 0.0f, 0.0f, 0.0f, /* Radius */ 570.0f, /* Height */ 100.0f, }, }; #if VERSION > VERSION_DEMO const dCcD_SrcSph daObjHha_c::M_sph_data = { // dCcD_SrcGObjInf { /* Flags */ 0, /* SrcObjAt Type */ 0, /* SrcObjAt Atp */ 0, /* SrcObjAt SPrm */ 0, /* SrcObjTg Type */ 0, /* SrcObjTg SPrm */ 0, /* SrcObjCo SPrm */ cCcD_CoSPrm_Set_e | cCcD_CoSPrm_IsOther_e | cCcD_CoSPrm_VsEnemy_e, /* SrcGObjAt Se */ 0, /* SrcGObjAt HitMark */ 0, /* SrcGObjAt Spl */ 0, /* SrcGObjAt Mtrl */ 0, /* SrcGObjAt SPrm */ 0, /* SrcGObjTg Se */ 0, /* SrcGObjTg HitMark */ 0, /* SrcGObjTg Spl */ 0, /* SrcGObjTg Mtrl */ 0, /* SrcGObjTg SPrm */ dCcG_TgSPrm_NoHitMark_e, /* SrcGObjCo SPrm */ 0, }, // cM3dGSphS { /* Center */ 0.0f, 0.0f, 0.0f, /* Radius */ 220.0f, }, }; #endif const HHA_RES_FILE_ID l_daObjHha_bdl_idx_table[2] = {HHA_BDL_HHA1, HHA_BDL_HHA2}; const HHA_RES_FILE_ID l_daObjHha_dzb_idx_table[2] = {HHA_DZB_HHA1, HHA_DZB_HHA2}; const HHA_RES_FILE_ID l_daObjHha_btk_idx_table[2] = {HHA_BTK_YSWTR00_01, HHA_BTK_YSWTR00_02}; const J3DFrameCtrl::Attribute_e l_daObjHha_btk_mode_table[2] = {J3DFrameCtrl::EMode_LOOP, J3DFrameCtrl::EMode_NONE}; const u16 l_daObjHha_splash_id_table[] = { dPa_name::ID_SCENE_810D, dPa_name::ID_SCENE_810E, }; /* 00000078-00000170 .text init_data__14daObjHhaPart_cFffUsUcUc */ void daObjHhaPart_c::init_data(float yPos, float yTar, u16 speed, u8 i, u8 isMiddle) { mPos.set(0.0f, yPos, 0.0f); mPosTarget.set(0.0f, yTar, 0.0f); mPartIdx = i; mDeltaY = (yTar - yPos) / speed; mPosDeltaDir = mPosTarget - mPos; mPosDeltaDir.normalizeRS(); mCbExec = &daObjHhaPart_c::exe_normal; mCbDraw = &daObjHhaPart_c::draw_normal; mbMid = isMiddle; } /* 00000170-00000224 .text set_mdl_area__14daObjHhaPart_cFPCci */ BOOL daObjHhaPart_c::set_mdl_area(const char* arcname, int index) { J3DModelData* mdl_data; BOOL ret; ret = FALSE; mdl_data = static_cast(dComIfG_getObjectRes(arcname, index)); JUT_ASSERT(VERSION_SELECT(410, 473, 473, 473), mdl_data != NULL); if(mdl_data != NULL){ mpModel = mDoExt_J3DModel__create(mdl_data, 0, 0x11020203); ret = TRUE; } return ret; } /* 00000224-000002A4 .text set_bgw__14daObjHhaPart_cFPCci */ BOOL daObjHhaPart_c::set_bgw(const char* arcname, int index) { BOOL ret = TRUE; mpBgw = dBgW_NewSet( static_cast(dComIfG_getObjectRes(arcname, index)), 1, &mpModel->getBaseTRMtx() ); if(mpBgw == NULL){ ret = FALSE; } return ret; } /* 000002A4-0000035C .text init_mtx__14daObjHhaPart_cF4cXyz5csXyz4cXyz */ void daObjHhaPart_c::init_mtx(cXyz currentPos, csXyz shapeAngle, cXyz scale) { mpModel->setBaseScale(scale); mDoMtx_stack_c::transS(currentPos); mDoMtx_stack_c::ZXYrotM(shapeAngle); mDoMtx_stack_c::transM(mPos); mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); mpModel->calc(); } /* 0000035C-0000040C .text exe_normal__14daObjHhaPart_cFP10daObjHha_c */ void daObjHhaPart_c::exe_normal(daObjHha_c* parent) { init_mtx(parent->current.pos, parent->shape_angle, parent->scale); bool doMove; if(mpBgw != NULL){ if(0 <= mpBgw->GetId() && mpBgw->GetId() < 0x100){ doMove = true; } else { doMove = false; } if(doMove){ mpBgw->Move(); } } } /* 0000040C-00000524 .text exe_move__14daObjHhaPart_cFP10daObjHha_c */ void daObjHhaPart_c::exe_move(daObjHha_c* parent) { mPos.y += mDeltaY; cXyz positionDelta = mPosTarget - mPos; if(mPosDeltaDir.getDotProduct(positionDelta) <= 0.0f){ mPos = mPosTarget; setExeProc(&daObjHhaPart_c::exe_normal); if(mbMid == 0 && mPartIdx == 0){ dComIfGp_getVibration().StartShock(4, -0x21, cXyz(0.0f, 1.0f, 0.0f)); } } exe_normal(parent); } /* 00000524-0000056C .text draw_normal__14daObjHhaPart_cFP10daObjHha_c */ void daObjHhaPart_c::draw_normal(daObjHha_c* parent) { dKy_getEnvlight().setLightTevColorType(mpModel, &parent->tevStr); mDoExt_modelUpdateDL(mpModel); } /* 0000056C-00000698 .text create_s__16daObjHhaSplash_cFUsP4cXyzffP5csXyz */ void daObjHhaSplash_c::create_s(u16 particleID, cXyz* pPos, float offsetY, float offsetZ, csXyz* pAngle) { cXyz calcVec; mPos.set(pPos->x, pPos->y + offsetY, pPos->z); mDoMtx_stack_c::YrotS(pAngle->y); mDoMtx_stack_c::multVec(&cXyz::BaseZ, &calcVec); calcVec *= offsetZ; mPos += calcVec; mBasePos = mPos; mAngle = *pAngle; #if VERSION == VERSION_DEMO mpEmitter = #endif dComIfGp_particle_set(particleID, &mPos, &mAngle, NULL, 255, &mSplashCb); mbIsActive = true; } /* 00000698-000008AC .text create_area__15daObjHhaYgush_cFPCc */ BOOL daObjHhaYgush_c::create_area(const char* arcname) { BOOL ret = FALSE; J3DModelData* mdl_data = static_cast(dComIfG_getObjectRes(arcname, HHA_BDL_YGSTP00)); JUT_ASSERT(VERSION_SELECT(577, 640, 640, 640), mdl_data != NULL); if(mdl_data != NULL){ M_mdl = mDoExt_J3DModel__create(mdl_data, 0x80000, 0x11000222); JUT_ASSERT(VERSION_SELECT(586, 649, 649, 649), M_mdl != NULL); if(M_mdl != NULL){ J3DAnmTextureSRTKey* btk_data = static_cast(dComIfG_getObjectRes(arcname, HHA_BTK_YGSTP00)); JUT_ASSERT(VERSION_SELECT(593, 656, 656, 656), btk_data != NULL); if(mBtk.init(M_mdl->getModelData(), btk_data, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, false) != false){ J3DAnmTransform* bck_data = static_cast(dComIfG_getObjectRes(arcname, HHA_BCK_YGSTP00)); JUT_ASSERT(VERSION_SELECT(598, 661, 661, 661), bck_data != NULL); if(mBck.init(M_mdl->getModelData(), bck_data, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false) != false){ ret = TRUE; } } } } return ret; } /* 000008AC-00000AD8 .text init_data__15daObjHhaYgush_cFP4cXyzfP5csXyzP4cXyzP12dKy_tevstr_cUc */ void daObjHhaYgush_c::init_data(cXyz* pPos, f32 zScale, csXyz* pAngle, cXyz* pScale, dKy_tevstr_c* tev, u8 isVisible) { cXyz calcVec; mDoMtx_stack_c::YrotS(pAngle->y); mDoMtx_stack_c::multVec(&cXyz::BaseZ, &calcVec); calcVec *= zScale; mBasePos = *pPos + calcVec; mPos = mBasePos; mRot = *pAngle; mScale = *pScale; mTev = *tev; mbVisible = isVisible; } /* 00000AD8-00000B88 .text init_mtx__15daObjHhaYgush_cFv */ void daObjHhaYgush_c::init_mtx() { J3DModel* pModel = M_mdl; if(pModel != NULL){ pModel->setBaseScale(mScale); mDoMtx_stack_c::transS(mPos); mDoMtx_stack_c::ZXYrotM(mRot); mDoMtx_stack_c::scaleM(13.0f, 1.0f, 11.0f); M_mdl->setBaseTRMtx(mDoMtx_stack_c::get()); } } /* 00000B88-00000C2C .text draw__15daObjHhaYgush_cFv */ void daObjHhaYgush_c::draw() { if(mbVisible != false && M_mdl != NULL){ dKy_getEnvlight().settingTevStruct(TEV_TYPE_BG1, &mPos, &mTev); dKy_getEnvlight().setLightTevColorType(M_mdl, &mTev); mBtk.entry(M_mdl->getModelData()); mBck.entry(M_mdl->getModelData()); mDoExt_modelUpdateDL(M_mdl); } } const char daObjHha_c::M_arcname[] = "Hha"; /* 00000C2C-00000C4C .text solidHeapCB__10daObjHha_cFP10fopAc_ac_c */ int daObjHha_c::solidHeapCB(fopAc_ac_c* i_this) { return static_cast(i_this)->create_heap(); } /* 00000C4C-00000E48 .text create_heap__10daObjHha_cFv */ BOOL daObjHha_c::create_heap() { int i; BOOL ret = TRUE; for(i = 0; i < 2; i++){ if( (mPartA[i].set_mdl_area(M_arcname, l_daObjHha_bdl_idx_table[i]) == FALSE) || (mPartA[i].set_bgw(M_arcname, l_daObjHha_dzb_idx_table[i]) == FALSE) ){ ret = FALSE; break; } } if(ret != FALSE){ J3DModelData* mdl_data = static_cast(dComIfG_getObjectRes(M_arcname, HHA_BDL_YSWTR00)); JUT_ASSERT(0x324, mdl_data != NULL); if(mdl_data != NULL){ mpModel = mDoExt_J3DModel__create(mdl_data, 0x80000, 0x11000222); for(i = 0; i < 2; i++){ J3DAnmTextureSRTKey* btk_data = static_cast(dComIfG_getObjectRes(M_arcname, l_daObjHha_btk_idx_table[i])); JUT_ASSERT(0x32f, btk_data != NULL); if(mBtkA[i].init(mdl_data, btk_data, true, l_daObjHha_btk_mode_table[i], 1.0f, 0, -1, false, false) == FALSE){ ret = FALSE; break; } } } } if(ret != FALSE){ ret = mYgush.create_area(M_arcname); } return ret; } /* 00000E48-000011AC .text _create__10daObjHha_cFv */ cPhs_State daObjHha_c::_create() { static const float pos_y[4] = {150.0f, -150.0f, 0.0f, 0.0f}; static const float tar_y[4] = {0.0f, 0.0f, 150.0f, -150.0f}; static const u16 move_frame[2] = {55, 30}; static const float splash_y[2] = {-1400.0f, -1450.0f}; static const float splash_z[2] = {0.0f, 100.0f}; fopAcM_SetupActor(this, daObjHha_c); cPhs_State ret = dComIfG_resLoad(&mPhs, M_arcname); if(ret == cPhs_COMPLEATE_e){ ret = cPhs_ERROR_e; if(fopAcM_entrySolidHeap(this, &solidHeapCB, 0x3C80) != false){ mSwitchNo = fpcM_GetParam(this) & 0xFF; mIsMiddle = fpcM_GetParam(this) >> 8; mEventIdx = dComIfGp_evmng_getEventIdx("hha_close"); if(mIsMiddle == 0xf) mIsMiddle = 0; if(check_sw() != FALSE){ mIsMiddle = (mIsMiddle + 1) & 1; // Negate and make sure that mIsMiddle is just 0 or 1 mState = State_CLOSED; } mPartTimer = -1; int posIdx = 2 * (mIsMiddle & 1); for(int i = 0; i < 2; i++){ mPartA[i].init_data(pos_y[posIdx], tar_y[posIdx], move_frame[mIsMiddle], i, mIsMiddle); dComIfG_Bgsp()->Regist(mPartA[i].mpBgw, this); mPartA[i].init_mtx(current.pos, shape_angle, scale); posIdx++; } mPosOffset.set(0.0f, -1400.0f, 50.0f); mWtrScale = 1.0f; for(int i = 0; i < 2; i++){ mSplashA[i].create_s(l_daObjHha_splash_id_table[i], ¤t.pos, splash_y[i], splash_z[i], ¤t.angle); } if(mIsMiddle == 0){ set_tex(36.0f, 0.0f, 1); mHitboxActive = true; mYgush.init_data(¤t.pos, 600.0f, ¤t.angle, &scale, &tevStr, true); mWaterSound = true; } else { set_tex(0.0f, 0.0f, 1); mSplashA[0].stop_particle(); mSplashA[1].stop_particle(); mYgush.init_data(¤t.pos, 600.0f, ¤t.angle, &scale, &tevStr, false); mWaterSound = false; } mYgush.init_mtx(); init_mtx(); init_co(); fopAcM_SetMtx(this, mPartA[0].mpModel->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -700.0f, -1600.0f, -400.0f, 700.0f, 120.0f, 1000.0f); ret = cPhs_COMPLEATE_e; } } return ret; } /* 000018EC-000019EC .text _delete__10daObjHha_cFv */ bool daObjHha_c::_delete() { int i; #if VERSION > VERSION_DEMO if(heap != NULL){ #endif for(i = 0; i < 2; i++){ cBgW* bgw = mPartA[i].mpBgw; if(bgw != NULL){ bool toErase; if(bgw->GetId() >= 0 && bgw->GetId() < 0x100){ toErase = true; } else { toErase = false; } if(toErase){ dComIfG_Bgsp()->Release(bgw); #if VERSION > VERSION_DEMO mPartA[i].mpBgw = NULL; #endif } } } #if VERSION > VERSION_DEMO } #endif for(i = 0; i < 2; i++){ mSplashA[i].delete_s(); } dComIfG_resDelete(&mPhs, M_arcname); return TRUE; } /* 000019EC-00001A24 .text check_sw__10daObjHha_cFv */ inline BOOL daObjHha_c::check_sw() { return fopAcM_isSwitch(this, mSwitchNo); } /* 00001A24-00001A40 .text set_tex__10daObjHha_cFffi */ void daObjHha_c::set_tex(float frame, float speed, int idx) { mBtkA[idx].setFrame(frame); mBtkA[idx].setPlaySpeed(speed); } /* 00001A40-00001B00 .text init_mtx__10daObjHha_cFv */ void daObjHha_c::init_mtx() { mpModel->setBaseScale(scale); mDoMtx_stack_c::transS( current.pos); mDoMtx_stack_c::ZXYrotM(shape_angle); mDoMtx_stack_c::transM(mPosOffset); mDoMtx_stack_c::scaleM(1.0f, 1.0f, mWtrScale); mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); mpModel->calc(); } /* 00001B00-00001C64 .text init_co__10daObjHha_cFv */ void daObjHha_c::init_co() { const float yOffset = -400.0f, zOffset = -110.0f; cXyz center; mDoMtx_stack_c::YrotS(current.angle.y); mDoMtx_stack_c::multVec(&cXyz::BaseZ, ¢er); center *= 460.0f; center.y = get_water_h(); center += current.pos; mCylStts.Init(0xff, 0xff, this); mCyl.SetStts(&mCylStts); #if VERSION == VERSION_DEMO mCyl.Set(l_daObjHha_cyl_data); #else mCyl.Set(M_cyl_data); #endif mCyl.SetC(center); #if VERSION > VERSION_DEMO bool doSphInit = false; if(!check_sw() && mIsMiddle == 0){ doSphInit = true; } if(doSphInit){ mSphStts.Init(0xff, 0xff, this); mSph.SetStts(&mSphStts); mSph.Set(M_sph_data); center.set(current.pos.x, current.pos.y + yOffset, current.pos.z + zOffset); mSph.SetC(center); mSph.SetR(220.0f); } #endif } /* 00001C64-00001E14 .text get_water_h__10daObjHha_cFv */ float daObjHha_c::get_water_h() { dBgS_WtrChk waterChk; cXyz chkPos = current.pos; float ret = current.pos.y; cXyz offVec = cXyz::BaseZ; mDoMtx_stack_c::YrotS(current.angle.y); mDoMtx_stack_c::multVec(&cXyz::BaseZ, &offVec); offVec *= 400.0f; chkPos += offVec; if(dBgS_SplGrpChk_In_ObjGnd(chkPos, &waterChk, 1.0f) != false){ ret = waterChk.GetHeight(); } return ret; } /* 00001F38-00001F68 .text set_splash_bottom_h__10daObjHha_cFv */ void daObjHha_c::set_splash_bottom_h() { mSplashA[0].set_pos_y(get_water_h()); } /* 00001F68-0000201C .text daObjHha_get_r__Fs */ cXyz daObjHha_get_r(short yAngle) { cXyz calcVec = cXyz::BaseZ; float waterLevel = daTagWaterlevel::Act_c::get_now() * -190.0f; mDoMtx_stack_c::YrotS(yAngle); mDoMtx_stack_c::multVec(&cXyz::BaseZ, &calcVec); calcVec *= waterLevel; return calcVec; } /* 0000201C-000020C0 .text set_splash_bottom_r__10daObjHha_cFv */ void daObjHha_c::set_splash_bottom_r() { cXyz pos = cXyz::BaseZ; pos = daObjHha_get_r(current.angle.y); pos += mSplashA[0].get_base_pos(); pos.y = mSplashA[0].get_pos_y(); mSplashA[0].set_pos(pos); } /* 000020C0-000021CC .text set_splash_bottom_stop_r__10daObjHha_cFv */ void daObjHha_c::set_splash_bottom_stop_r() { cXyz calcVec = cXyz::BaseZ; float scaling = (1.0f - (mWtrTimer - 15) / 75.0f) * -300.0f; mDoMtx_stack_c::YrotS(current.angle.y); mDoMtx_stack_c::multVec(&cXyz::BaseZ, &calcVec); calcVec *= scaling; calcVec += mSplashA[0].get_pos(); calcVec.y = mSplashA[0].get_pos_y(); mSplashA[0].set_pos(calcVec); } /* 000021CC-00002470 .text water_manager__10daObjHha_cFv */ void daObjHha_c::water_manager() { set_splash_bottom_h(); set_splash_bottom_r(); switch(mWtrState){ case 0: break; case 1: mWtrScale -= 11.0f/1800; if(mWtrScale < mWtrScaleMin){ mWtrScale = mWtrScaleMin; } if(mWtrTimer == 34){ set_tex(37.0f,1.0f,1); } if(mWtrTimer == 15){ mSplashA[1].stop_particle(); mSplashA[1].delete_s(); } else if(mWtrTimer > 15){ set_splash_bottom_stop_r(); } mWtrTimer--; if(mWtrTimer == 0){ mWtrState = 0; mSplashA[0].stop_particle(); mSplashA[0].delete_s(); mHitboxActive = false; mYgush.disp_off(); mWaterSound = false; } break; case 2: if(mWtrTimer == 35){ mSplashA[1].play_particle(); set_tex(0.0f,1.0f,1); } mWtrTimer--; if( mSplashA[0].chk_stop() && mWtrTimer <= daTagWaterlevel::Act_c::get_now() * 5.0f + 10.0f){ mSplashA[0].play_particle(); mYgush.disp_on(); mWaterSound = true; } if(mWtrTimer == 0){ set_tex(36.0f, 0.0f, 1); mWtrState = 0; mHitboxActive = true; } break; } for(int i = 0; i < 2; i++){ mBtkA[i].play(); } init_mtx(); } /* 00002470-0000259C .text part_manager__10daObjHha_cFv */ void daObjHha_c::part_manager() { if(mPartTimer == 0){ mPartA[0].start_move(); mPartA[1].start_move(); mPartTimer = -1; if(mIsMiddle == 0){ fopAcM_seStartCurrent(this, JA_SE_OBJ_F_WATERGATE_CL, 0); } } else if(mPartTimer > 0) mPartTimer -= 1; for(int i = 0; i < 2; i++){ mPartA[i].execute(this); } } /* 0000259C-00002658 .text ygush_manager__10daObjHha_cFv */ void daObjHha_c::ygush_manager() { cXyz ygushPos; if(mYgush.check_draw()){ ygushPos = daObjHha_get_r(current.angle.y); ygushPos += mYgush.get_base_pos(); ygushPos.y = get_water_h(); mYgush.anm_play(ygushPos); } } /* 00002658-000028E4 .text _execute__10daObjHha_cFv */ bool daObjHha_c::_execute() { switch(mState){ case State_OPEN: if(check_sw()){ if(mIsMiddle == 0){ if(eventInfo.mCommand != dEvtCmd_INDEMO_e){ fopAcM_orderOtherEventId(this, mEventIdx); eventInfo.onCondition(2); } else { mDoAud_seStart(JA_SE_READ_RIDDLE_1); mWtrState = 1; mWtrTimer = 90; mPartTimer = 65; mState = State_SWITCHING; } } else { if(dComIfGp_evmng_startCheck(mEventIdx) != FALSE){ mWtrState = 2; mWtrTimer = 35; mPartTimer = 0; mState = State_CLOSED; } } } break; case State_SWITCHING: if(dComIfGp_evmng_endCheck(mEventIdx)){ dComIfGp_event_reset(); mState = State_CLOSED; } break; case State_CLOSED: break; } part_manager(); water_manager(); ygush_manager(); if(mWaterSound != false) fopAcM_seStartCurrent(this, JA_SE_ATM_WATER_GATE,0); if(mHitboxActive != false){ cXyz calcVec = mCyl.GetC(); calcVec.y = get_water_h(); mCyl.SetC(calcVec); dComIfG_Ccsp()->Set(&mCyl); #if VERSION > VERSION_DEMO bool isSphActive = (!check_sw() && mIsMiddle == 0); if(isSphActive){ dComIfG_Ccsp()->Set(&mSph); } #endif } return TRUE; } /* 000028E4-000029F4 .text _draw__10daObjHha_cFv */ bool daObjHha_c::_draw() { int i; dKy_getEnvlight().settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &tevStr); for(i = 0; i < 2; i++){ mPartA[i].draw(this); } if(mpModel != NULL){ dKy_getEnvlight().settingTevStruct(TEV_TYPE_ACTOR, ¤t.pos, &tevStr); dKy_getEnvlight().setLightTevColorType(mpModel, &tevStr); for(i = 0; i < 2; i++){ mBtkA[i].entry(mpModel->getModelData()); } mDoExt_modelUpdateDL(mpModel); } mYgush.draw(); return TRUE; } namespace { /* 000029F4-00002A14 .text Mthd_Create__25@unnamed@d_a_obj_hha_cpp@FPv */ cPhs_State Mthd_Create(void* i_this) { return static_cast(i_this)->_create(); } /* 00002A14-00002A38 .text Mthd_Delete__25@unnamed@d_a_obj_hha_cpp@FPv */ BOOL Mthd_Delete(void* i_this) { return static_cast(i_this)->_delete(); } /* 00002A38-00002A5C .text Mthd_Execute__25@unnamed@d_a_obj_hha_cpp@FPv */ BOOL Mthd_Execute(void* i_this) { return static_cast(i_this)->_execute(); } /* 00002A5C-00002A80 .text Mthd_Draw__25@unnamed@d_a_obj_hha_cpp@FPv */ BOOL Mthd_Draw(void* i_this) { return static_cast(i_this)->_draw(); } /* 00002A80-00002A88 .text Mthd_IsDelete__25@unnamed@d_a_obj_hha_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { return TRUE; } static actor_method_class Hha_Mthd_Table = { (process_method_func)Mthd_Create, (process_method_func)Mthd_Delete, (process_method_func)Mthd_Execute, (process_method_func)Mthd_IsDelete, (process_method_func)Mthd_Draw, }; }; // namespace actor_process_profile_definition g_profile_Obj_Hha = { /* LayerID */ fpcLy_CURRENT_e, /* ListID */ 0x0003, /* ListPrio */ fpcPi_CURRENT_e, /* ProcName */ PROC_Obj_Hha, /* Proc SubMtd */ &g_fpcLf_Method.base, /* Size */ sizeof(daObjHha_c), /* SizeOther */ 0, /* Parameters */ 0, /* Leaf SubMtd */ &g_fopAc_Method.base, /* Priority */ PRIO_Obj_Hha, /* Actor SubMtd */ &Hha_Mthd_Table, /* Status */ fopAcStts_CULL_e | fopAcStts_UNK40000_e, /* Group */ fopAc_ACTOR_e, /* CullType */ fopAc_CULLBOX_CUSTOM_e, };