diff options
| author | robojumper <robojumper@gmail.com> | 2024-11-14 11:21:16 +0100 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2024-11-14 11:21:16 +0100 |
| commit | ea06aec15ea2fcac7cf83196f5eeb9685bc32b72 (patch) | |
| tree | 311d944c7c2c70f55c9197d813354d4d2d09aaec /src | |
| parent | cbb409cf6c546bdc50c55f1cdf6c01fa6c891c52 (diff) | |
d_t_col_bomb_shield OK
Diffstat (limited to 'src')
| -rw-r--r-- | src/REL/d/t/d_t_col_bomb_shield.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/REL/d/t/d_t_col_bomb_shield.cpp b/src/REL/d/t/d_t_col_bomb_shield.cpp index 6c4887ed..dd0abb1f 100644 --- a/src/REL/d/t/d_t_col_bomb_shield.cpp +++ b/src/REL/d/t/d_t_col_bomb_shield.cpp @@ -1,9 +1,50 @@ #include "d/t/d_t_col_bomb_shield.h" +#include "common.h" +#include "d/a/obj/d_a_obj_base.h" +#include "d/a/d_a_player.h" +#include "d/col/cc/d_cc_s.h" +#include "m/m_mtx.h" +#include "rvl/MTX/mtx.h" SPECIAL_ACTOR_PROFILE(COL_BOMSLD, dTgColBombShield, fProfile::COL_BOMSLD, 0x12, 0, 0); STATE_DEFINE(dTgColBombShield, Wait); +bool dTgColBombShield::createHeap() { + return true; +} + +int dTgColBombShield::create() { + 0.0f; // cool + CREATE_ALLOCATOR(dTgColBombShield); + static const f32 offset = 0.1f; + mScale.x += offset; + mScale.y += offset; + mScale.z += offset; + mColMtx.transS(position.x, position.y + mScale.y * 0.5f - 0.05f, position.z); + mColMtx.ZXYrotM(rotation.x, rotation.y, rotation.z); + mMtx_c tmp; + PSMTXScale(tmp, mScale.x, mScale.y, mScale.z); + mColMtx += tmp; + mStateMgr.changeState(StateID_Wait); + return SUCCEEDED; +} + +int dTgColBombShield::doDelete() { + return SUCCEEDED; +} + +int dTgColBombShield::actorExecute() { + if (dAcPy_c::LINK != nullptr && roomid == dAcPy_c::LINK->roomid) { + dCcS::GetInstance()->SetArea(&mColMtx); + } + return SUCCEEDED; +} + +int dTgColBombShield::draw() { + return SUCCEEDED; +} + void dTgColBombShield::initializeState_Wait() {} void dTgColBombShield::executeState_Wait() {} void dTgColBombShield::finalizeState_Wait() {} |
