mirror of
https://github.com/zeldaret/ss
synced 2026-06-04 10:48:38 -04:00
Shrine OK (#137)
* d_a_obj_shrine_after ok * d_a_obj_shrine_before ok * d_a_obj_shrine_bef_inside ok * Add offset comments
This commit is contained in:
@@ -1,3 +1,33 @@
|
||||
#include "d/a/obj/d_a_obj_shrine_after.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(OBJ_SHRINE_AFTER, dAcOshrineAfter_c, fProfile::OBJ_SHRINE_AFTER, 0x1E9, 0, 3);
|
||||
|
||||
bool dAcOshrineAfter_c::createHeap() {
|
||||
mResFile = nw4r::g3d::ResFile(getOarcResFile("F401ShrineAft"));
|
||||
nw4r::g3d::ResMdl mdl = mResFile.GetResMdl("F401ShrineAft");
|
||||
TRY_CREATE(mModel.create(mdl, &heap_allocator, 0x120));
|
||||
return true;
|
||||
}
|
||||
|
||||
int dAcOshrineAfter_c::create() {
|
||||
CREATE_ALLOCATOR(dAcOshrineAfter_c);
|
||||
updateMatrix();
|
||||
mModel.setLocalMtx(mWorldMtx);
|
||||
mModel.setPriorityDraw(0x1C, 0x9);
|
||||
boundingBox.Set(mVec3_c(-4000.0f, 7000.0f, 5000.0f), mVec3_c(5000.0f, 15000.0f, 14000.0f));
|
||||
mCullingDistance = 50000.0;
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineAfter_c::doDelete() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineAfter_c::actorExecute() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineAfter_c::draw() {
|
||||
drawModelType1(&mModel);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,59 @@
|
||||
#include "d/a/obj/d_a_obj_shrine_bef_inside.h"
|
||||
|
||||
#include "d/col/bg/d_bg_s.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
#include "toBeSorted/arc_managers/current_stage_arc_manager.h"
|
||||
|
||||
static const char *const AcOshrineBefInside__MODELS[] = {
|
||||
"StageF402Bef",
|
||||
"StageF402Bef_s",
|
||||
};
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(OBJ_SHRINE_BEF_INSIDE, dAcOshrineBefInside_c, fProfile::OBJ_SHRINE_BEF_INSIDE, 0x209, 0, 3);
|
||||
|
||||
bool dAcOshrineBefInside_c::createHeap() {
|
||||
mResFile = nw4r::g3d::ResFile(CurrentStageArcManager::GetInstance()->getData("g3d/stage.brres"));
|
||||
|
||||
for (int modelIndex = 0; modelIndex < 2; modelIndex++) {
|
||||
nw4r::g3d::ResMdl mdl = mResFile.GetResMdl(AcOshrineBefInside__MODELS[modelIndex]);
|
||||
TRY_CREATE(mModel[modelIndex].create(mdl, &heap_allocator, 0x120));
|
||||
}
|
||||
|
||||
cBgD_t *dzb = (cBgD_t *)CurrentStageArcManager::GetInstance()->getData("dzb/StageF402Bef.dzb");
|
||||
PLC *plc = (PLC *)CurrentStageArcManager::GetInstance()->getData("dat/StageF402Bef.plc");
|
||||
|
||||
updateMatrix();
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
mModel[i].setLocalMtx(mWorldMtx);
|
||||
}
|
||||
|
||||
TRY_CREATE(!mCollision.Set(dzb, plc, cBgW::MOVE_BG_e, &mWorldMtx, &mScale));
|
||||
mCollision.Lock();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
int dAcOshrineBefInside_c::create() {
|
||||
CREATE_ALLOCATOR(dAcOshrineBefInside_c);
|
||||
dBgS::GetInstance()->Regist(&mCollision, this);
|
||||
mModel[0].setPriorityDraw(0x1C, 0x9);
|
||||
mModel[1].setPriorityDraw(0x22, 0x9);
|
||||
boundingBox.Set(mVec3_c(-2000.0f, 7400.0f, 7200.0f), mVec3_c(4400.0f, 10000.0f, 15800.0f));
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineBefInside_c::doDelete() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineBefInside_c::actorExecute() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineBefInside_c::draw() {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
drawModelType1(&mModel[i]);
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,33 @@
|
||||
#include "d/a/obj/d_a_obj_shrine_before.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(OBJ_SHRINE_BEFORE, dAcOshrineBefore_c, fProfile::OBJ_SHRINE_BEFORE, 0x1EA, 0, 3);
|
||||
|
||||
bool dAcOshrineBefore_c::createHeap() {
|
||||
mResFile = nw4r::g3d::ResFile(getOarcResFile("F401ShrineBef"));
|
||||
nw4r::g3d::ResMdl mdl = mResFile.GetResMdl("F401ShrineBef");
|
||||
TRY_CREATE(mModel.create(mdl, &heap_allocator, 0x120));
|
||||
return true;
|
||||
}
|
||||
|
||||
int dAcOshrineBefore_c::create() {
|
||||
CREATE_ALLOCATOR(dAcOshrineBefore_c);
|
||||
updateMatrix();
|
||||
mModel.setLocalMtx(mWorldMtx);
|
||||
mModel.setPriorityDraw(0x1C, 0x9);
|
||||
boundingBox.Set(mVec3_c(-4000.0f, 7000.0f, 5000.0f), mVec3_c(4000.0f, 13000.0f, 14000.0f));
|
||||
mCullingDistance = 50000.0;
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineBefore_c::doDelete() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineBefore_c::actorExecute() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dAcOshrineBefore_c::draw() {
|
||||
drawModelType1(&mModel);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user