mirror of
https://github.com/zeldaret/ss
synced 2026-07-02 04:00:20 -04:00
@@ -18,6 +18,7 @@
|
||||
#include "m/m_vec.h"
|
||||
#include "rvl/MTX/vec.h"
|
||||
#include "s/s_Math.h"
|
||||
#include "toBeSorted/blur_and_palette_manager.h"
|
||||
#include "toBeSorted/dowsing_target.h"
|
||||
|
||||
void float_ordering() {
|
||||
@@ -91,8 +92,6 @@ int dAcOTumbleWeed_c::doDelete() {
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
extern "C" void fn_800247D0(void *, mVec3_c, f32);
|
||||
extern "C" UNKWORD BLUR_AND_PALETTE_MGR;
|
||||
|
||||
int dAcOTumbleWeed_c::actorExecute() {
|
||||
if (!mField_0x98C && !isStopped()) {
|
||||
@@ -106,7 +105,7 @@ int dAcOTumbleWeed_c::actorExecute() {
|
||||
calcWind();
|
||||
|
||||
sLib::chase(&mField_0x980, 1.f, 0.1f);
|
||||
fn_800247D0(&BLUR_AND_PALETTE_MGR, mField_0x968, mField_0x980);
|
||||
BlurAndPaletteManager::GetInstance().fn_800247D0(mField_0x968, mField_0x980);
|
||||
|
||||
calcVelocity();
|
||||
position += velocity;
|
||||
|
||||
@@ -74,3 +74,9 @@ void cListMg_c::prepend(cListNd_c *node) {
|
||||
}
|
||||
this->mpFirst = node;
|
||||
}
|
||||
|
||||
void cListMg_c::clear() {
|
||||
while (mpFirst != nullptr) {
|
||||
remove(mpFirst);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -613,6 +613,6 @@ void dAcBase_c::FUN_8002dd90() {
|
||||
void dAcBase_c::FUN_8002ddd0() {}
|
||||
|
||||
// 8002de30
|
||||
void dAcBase_c::FUN_8002de30() {
|
||||
void dAcBase_c::FUN_8002de30(cBgS_PolyInfo &p) {
|
||||
FUN_8002ddd0();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1237,7 +1237,7 @@ bool cCcD_CylAttr::CrossCo(cCcD_CpsAttr &cpsAttr, f32 *pOut) {
|
||||
}
|
||||
|
||||
bool cCcD_CylAttr::CrossCo(cCcD_UnkAttr &unkAttr, f32 *pOut) {
|
||||
cM3dGCyl::Cross(unkAttr, pOut);
|
||||
return cM3dGCyl::Cross(unkAttr, pOut);
|
||||
}
|
||||
|
||||
void cCcD_CylAttr::CalcAabBox() {
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "m/m_mtx.h"
|
||||
|
||||
ActorCarryStruct::ActorCarryStruct()
|
||||
: actorLink(nullptr), carriedActor(nullptr), carryFlags(0), carryType(0), field_0x18(0),
|
||||
field_0x1C(0.0f, 0.0f, 0.0f), carryTransMtx(mMtx_c::Identity), field_0x58(mMtx_c::Identity), isCarried(0),
|
||||
field_0x8C(0.0f), field_0x90(0.0f), field_0x94(0.0f), field_0x98(0.0f) {}
|
||||
|
||||
ActorCarryStruct::~ActorCarryStruct() {
|
||||
fn_80051190(nullptr);
|
||||
fn_80050EB0(nullptr);
|
||||
}
|
||||
+157
@@ -0,0 +1,157 @@
|
||||
#include "d/d_cc.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/col/c/c_cc_d.h"
|
||||
#include "d/col/cc/d_cc_d.h"
|
||||
#include "d/col/cc/d_cc_s.h"
|
||||
|
||||
|
||||
void dColliderLinkedList::postInit(cCcD_Obj &ccD) {
|
||||
if (ccD.ChkAtSet()) {
|
||||
ccD.SetAt_0x40000000();
|
||||
}
|
||||
if (ccD.ChkTgSet()) {
|
||||
ccD.SetTg_0x40000000();
|
||||
}
|
||||
if (ccD.ChkCoSet()) {
|
||||
ccD.SetCo_0x40000000();
|
||||
}
|
||||
}
|
||||
|
||||
void dColliderLinkedList::addCc(dCcD_Linked_Cyl &ccD, const dCcD_SrcCyl &src) {
|
||||
ccD.Set(src);
|
||||
mList.append(&ccD.mNode);
|
||||
ccD.mNode.mpList = &mList;
|
||||
postInit(ccD);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::addCc(dCcD_Linked_Sph &ccD, const dCcD_SrcSph &src) {
|
||||
ccD.Set(src);
|
||||
mList.append(&ccD.mNode);
|
||||
ccD.mNode.mpList = &mList;
|
||||
postInit(ccD);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::addCc(dCcD_Linked_Cps &ccD, const dCcD_SrcCps &src) {
|
||||
ccD.Set(src);
|
||||
mList.append(&ccD.mNode);
|
||||
ccD.mNode.mpList = &mList;
|
||||
postInit(ccD);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::addCc(dCcD_Linked_Unk &ccD, const dCcD_SrcUnk &src) {
|
||||
ccD.Set(src);
|
||||
mList.append(&ccD.mNode);
|
||||
ccD.mNode.mpList = &mList;
|
||||
postInit(ccD);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::foreachCc(ccCbFunc f, void *cbArg) const {
|
||||
LinkedColliderNode *nd = static_cast<LinkedColliderNode *>(mList.getFirst());
|
||||
while (nd != nullptr) {
|
||||
f(nd->mpCcDObj, cbArg);
|
||||
nd = static_cast<LinkedColliderNode *>(nd->getNext());
|
||||
}
|
||||
}
|
||||
|
||||
// What's the difference between these two?
|
||||
void dColliderLinkedList::foreachCc2(ccCbFunc f, void *cbArg) const {
|
||||
LinkedColliderNode *nd = static_cast<LinkedColliderNode *>(mList.getFirst());
|
||||
while (nd != nullptr) {
|
||||
f(nd->mpCcDObj, cbArg);
|
||||
nd = static_cast<LinkedColliderNode *>(nd->getNext());
|
||||
}
|
||||
}
|
||||
|
||||
void dColliderLinkedList::Set(cCcD_Obj *obj, void *cbArg) {
|
||||
dCcS::GetInstance()->Set(obj);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::registerColliders() {
|
||||
foreachCc(Set, nullptr);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::SetStts(cCcD_Obj *obj, void *cbArg) {
|
||||
obj->SetStts(*static_cast<cCcD_Stts *>(cbArg));
|
||||
}
|
||||
|
||||
void dColliderLinkedList::SetStts(cCcD_Stts &stts) {
|
||||
foreachCc(SetStts, &stts);
|
||||
}
|
||||
|
||||
cCcD_Obj *dColliderLinkedList::find(ccPtmf f) const {
|
||||
cCcD_Obj *o;
|
||||
LinkedColliderNode *nd = static_cast<LinkedColliderNode *>(mList.getFirst());
|
||||
while (nd != nullptr) {
|
||||
o = nd->mpCcDObj;
|
||||
if ((o->*f)()) {
|
||||
return o;
|
||||
}
|
||||
nd = static_cast<LinkedColliderNode *>(nd->getNext());
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void dColliderLinkedList::AtSet(cCcD_Obj *obj, void *cbArg) {
|
||||
if (!obj->ChkAt_0x40000000()) {
|
||||
return;
|
||||
}
|
||||
obj->OnAtSet();
|
||||
}
|
||||
|
||||
void dColliderLinkedList::AtSet() {
|
||||
foreachCc(AtSet, nullptr);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::ClrAt(cCcD_Obj *obj, void *cbArg) {
|
||||
obj->ClrAtSet();
|
||||
obj->ClrAtHit();
|
||||
}
|
||||
|
||||
void dColliderLinkedList::ClrAt() {
|
||||
foreachCc(ClrAt, nullptr);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::TgSet(cCcD_Obj *obj, void *cbArg) {
|
||||
if (!obj->ChkTg_0x40000000()) {
|
||||
return;
|
||||
}
|
||||
obj->OnTgSet();
|
||||
}
|
||||
|
||||
void dColliderLinkedList::TgSet() {
|
||||
foreachCc(TgSet, nullptr);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::ClrTg(cCcD_Obj *obj, void *cbArg) {
|
||||
obj->ClrTgSet();
|
||||
obj->ClrTgHit();
|
||||
}
|
||||
|
||||
void dColliderLinkedList::ClrTg() {
|
||||
foreachCc(ClrTg, nullptr);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::CoSet(cCcD_Obj *obj, void *cbArg) {
|
||||
if (!obj->ChkCo_0x40000000()) {
|
||||
return;
|
||||
}
|
||||
obj->OnCoSet();
|
||||
}
|
||||
|
||||
void dColliderLinkedList::CoSet() {
|
||||
foreachCc(CoSet, nullptr);
|
||||
}
|
||||
|
||||
void dColliderLinkedList::ClrCo(cCcD_Obj *obj, void *cbArg) {
|
||||
obj->ClrCoSet();
|
||||
obj->ClrCoHit();
|
||||
}
|
||||
|
||||
void dColliderLinkedList::ClrCo() {
|
||||
foreachCc(ClrCo, nullptr);
|
||||
}
|
||||
|
||||
dColliderLinkedList::~dColliderLinkedList() {
|
||||
mList.clear();
|
||||
}
|
||||
@@ -33,7 +33,7 @@ void TBoxflagManager::copyFromSave(u32 sceneIndex) {
|
||||
}
|
||||
|
||||
/* 0x800BE990 */
|
||||
bool TBoxflagManager::checkFlag(u16 sceneIndex, u16 flag) {
|
||||
u16 TBoxflagManager::checkFlag(u16 sceneIndex, u16 flag) {
|
||||
s32 actualFlag = (flag + sceneIndex * 0x20);
|
||||
return mFlagHelper.checkFlag(
|
||||
actualFlag / 16, flag % 16, FileManager::getInstance()->getTBoxFlagsConst(), getFlagCount()
|
||||
|
||||
@@ -35,8 +35,8 @@ bool OarcManager::addEntryFromSuperArc(const char *object, void *data, EGG::Heap
|
||||
return mArcTable.addEntryFromSuperArc(object, data, 0, heap);
|
||||
}
|
||||
|
||||
void OarcManager::ensureLoaded1(const char *object) {
|
||||
mArcTable.ensureLoadedMaybe2(object);
|
||||
int OarcManager::ensureLoaded1(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe2(object);
|
||||
}
|
||||
|
||||
void OarcManager::ensureLoaded2(const char *object) {
|
||||
|
||||
Reference in New Issue
Block a user