summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2024-11-14 11:21:16 +0100
committerrobojumper <robojumper@gmail.com>2024-11-14 11:21:16 +0100
commitea06aec15ea2fcac7cf83196f5eeb9685bc32b72 (patch)
tree311d944c7c2c70f55c9197d813354d4d2d09aaec /src
parentcbb409cf6c546bdc50c55f1cdf6c01fa6c891c52 (diff)
d_t_col_bomb_shield OK
Diffstat (limited to 'src')
-rw-r--r--src/REL/d/t/d_t_col_bomb_shield.cpp41
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() {}