From b83c0d5fd2e5edfba64f02786451c6bbbe2b2d8a Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 6 Oct 2024 21:39:55 +0200 Subject: d_a_obj_pumpkin_leaf OK (#58) --- src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp | 47 ++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'src') diff --git a/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp b/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp index e69de29b..121136aa 100644 --- a/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp +++ b/src/REL/d/a/obj/d_a_obj_pumpkin_leaf.cpp @@ -0,0 +1,47 @@ +#include +#include + +SPECIAL_ACTOR_PROFILE(OBJ_PUMPKIN_LEAF, dAcOPumpkinLeaf_c, fProfile::OBJ_PUMPKIN_LEAF, 0x0135, 0, 3); + +STATE_DEFINE(dAcOPumpkinLeaf_c, Wait); + +bool dAcOPumpkinLeaf_c::createHeap() { + mBrres = getOarcResFile("Pumpkin"); + nw4r::g3d::ResMdl mdl = mBrres.GetResMdl("Leaf"); + TRY_CREATE(mModel.create(mdl, &heap_allocator, 0x120, 1, nullptr)); + return true; +} + +int dAcOPumpkinLeaf_c::create() { + if (!initAllocatorWork1Heap(0x1000, "dAcOPumpkinLeaf_c::m_allocator", 0x20)) { + return FAILED; + } + + forwardAccel = -1.0f; + forwardMaxSpeed = -40.0f; + updateMatrix(); + mStateMgr.changeState(StateID_Wait); + setBoundingBox(mVec3_c(-50.0f, -10.0f, -50.0f), mVec3_c(50.0f, 50.0f, 50.0f)); + dAcObjBase_c::create( + "PmpknBd", getRoomId(), 0, &position, &rotation, &scale, getParams2_ignoreLower(), -1, viewclip_index + ); + return SUCCEEDED; +} + +int dAcOPumpkinLeaf_c::doDelete() { + return SUCCEEDED; +} + +int dAcOPumpkinLeaf_c::actorExecute() { + mModel.setLocalMtx(worldMatrix); + return SUCCEEDED; +} + +int dAcOPumpkinLeaf_c::draw() { + drawModelType1(&mModel); + return SUCCEEDED; +} + +void dAcOPumpkinLeaf_c::initializeState_Wait() {} +void dAcOPumpkinLeaf_c::executeState_Wait() {} +void dAcOPumpkinLeaf_c::finalizeState_Wait() {} -- cgit v1.2.3