Rough dynamic collision setup (#24)

* Rough collider shape setup

* d_a_obj_toD3_stone_figure OK

* Cleanup

* Cleanup 2
This commit is contained in:
robojumper
2024-09-28 00:19:00 +02:00
committed by GitHub
parent 0f9ef3d33c
commit 3829ee6d48
44 changed files with 2215 additions and 390 deletions
+2 -2
View File
@@ -4,6 +4,7 @@
#include "f/f_list_nd.h"
#include "m/m_vec.h"
#include "toBeSorted/event.h"
#include "toBeSorted/event_manager.h"
#include "toBeSorted/file_manager.h"
#include "toBeSorted/misc_flag_managers.h"
#include "toBeSorted/scgame.h"
@@ -32,7 +33,6 @@ extern "C" s16 targetAngleX(mVec3_c *, mVec3_c *);
extern "C" bool checkCollision(mVec3_c *pos);
extern "C" s8 collisionCheckGetRoom();
extern "C" dRoom *getRoomByIndex(RoomManager *mgr, s8 roomid);
extern "C" bool alsoSetAsCurrentEvent(dAcBase_c *, Event *, void *);
bool dAcBase_c::createHeap() {
return true;
@@ -547,7 +547,7 @@ void dAcBase_c::unkVirtFunc_0x6C() {}
void dAcBase_c::doInteraction(s32 param) {
if (param == 4 || param == 5 || param == 12) {
Event event = Event("DefaultTalk", 400, 0x100001, nullptr, nullptr);
alsoSetAsCurrentEvent(this, &event, nullptr);
EventManager::alsoSetAsCurrentEvent(this, &event, nullptr);
}
}
+2 -2
View File
@@ -26,7 +26,7 @@ void dAcOswMdlCallback_c::timingB(u32 nodeId, nw4r::g3d::WorldMtxManip *manip, n
}
static bool isPushableBlock(dAcBase_c *actor) {
return dBase_c::isActorPlayer(*actor) || actor->profile_name == fProfile::OBJ_PUSH_BLOCK ||
return actor->isActorPlayer() || actor->profile_name == fProfile::OBJ_PUSH_BLOCK ||
actor->profile_name == fProfile::OBJ_KIBAKO;
}
@@ -34,7 +34,7 @@ void dAcOsw_c::interactCallback(void *unknown, dAcBase_c *actor, dAcObjBase_c *i
if (!isPushableBlock(interactor)) {
return;
}
dAcPy_c *link = dBase_c::isActorPlayer(*interactor) ? static_cast<dAcPy_c *>(interactor) : nullptr;
dAcPy_c *link = interactor->isActorPlayer() ? static_cast<dAcPy_c *>(interactor) : nullptr;
dAcOsw_c *sw = static_cast<dAcOsw_c *>(actor);
// halp