mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-23 09:04:21 +00:00
all: Fix function calls to unimplemented functions
This commit is contained in:
parent
79362ac33a
commit
80658223b0
|
|
@ -10,8 +10,9 @@ UNKNOWN:
|
|||
status: NotDecompiled
|
||||
- offset: 0x00019c
|
||||
size: 8
|
||||
label: ''
|
||||
label: __cxa_atexit
|
||||
status: NotDecompiled
|
||||
guess: true
|
||||
- offset: 0x0001ac
|
||||
size: 4
|
||||
label: __nnDetailNintendoSdkRuntimeObjectFileRefer
|
||||
|
|
@ -200269,8 +200270,9 @@ Util/YoshiUtil.o:
|
|||
status: Matching
|
||||
- offset: 0x723d9c
|
||||
size: 556
|
||||
label: ''
|
||||
status: NotDecompiled
|
||||
label: _ZN2nn3gfx6detail12_GLOBAL__N_119SetupTextureBuilderEP17NVNtextureBuilderP9NVNdeviceRKNS0_11TextureInfoE
|
||||
status: Matching
|
||||
guess: true
|
||||
- offset: 0x723fc8
|
||||
size: 64
|
||||
label: _ZN2nn3gfx6detail11TextureImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE20CalculateMipDataSizeEPNS1_10DeviceImplIS8_EERKNS0_11TextureInfoE
|
||||
|
|
@ -308274,8 +308276,9 @@ Unknown/SePlayer.o:
|
|||
status: Matching
|
||||
- offset: 0xae8298
|
||||
size: 204
|
||||
label: ''
|
||||
status: NotDecompiled
|
||||
label: _ZN2nn3gfx6detail12_GLOBAL__N_116GetNvnCopyStrideEPlS3_RKNS0_23BufferTextureCopyRegionEP10NVNtexture
|
||||
status: Matching
|
||||
guess: true
|
||||
- offset: 0xae8364
|
||||
size: 356
|
||||
label: _ZN2nn3gfx6detail17CommandBufferImplINS0_12ApiVariationINS0_7ApiTypeILi4EEENS0_10ApiVersionILi8EEEEEE17CopyImageToBufferEPNS1_10BufferImplIS8_EEPKNS1_11TextureImplIS8_EERKNS0_23BufferTextureCopyRegionE
|
||||
|
|
|
|||
|
|
@ -34,36 +34,32 @@ void createFileNameBySuffix(sead::BufferedSafeString* out, const char* name, con
|
|||
|
||||
u32 outputValueWithComma(char* out, u32 size, u64 value, bool usePadding, bool padToThousands) {
|
||||
if (value > 999999999) {
|
||||
return sead::StringUtil::snprintf(out, size, "%3d,%03d,%03d,%03d",
|
||||
(u32)(value / 1000000000), (u32)(value / 1000000 % 1000),
|
||||
(u32)(value / 1000 % 1000), (u32)(value % 1000));
|
||||
return snprintf(out, size, "%3d,%03d,%03d,%03d", (u32)(value / 1000000000),
|
||||
(u32)(value / 1000000 % 1000), (u32)(value / 1000 % 1000),
|
||||
(u32)(value % 1000));
|
||||
}
|
||||
if (value > 999999) {
|
||||
if (usePadding) {
|
||||
return sead::StringUtil::snprintf(out, size, "%3d,%03d,%03d", (u32)(value / 1000000),
|
||||
(u32)(value / 1000 % 1000), (u32)(value % 1000));
|
||||
return snprintf(out, size, "%3d,%03d,%03d", (u32)(value / 1000000),
|
||||
(u32)(value / 1000 % 1000), (u32)(value % 1000));
|
||||
}
|
||||
return sead::StringUtil::snprintf(out, size, "%d,%03d,%03d", (u32)(value / 1000000),
|
||||
(u32)(value / 1000 % 1000), (u32)(value % 1000));
|
||||
return snprintf(out, size, "%d,%03d,%03d", (u32)(value / 1000000),
|
||||
(u32)(value / 1000 % 1000), (u32)(value % 1000));
|
||||
}
|
||||
if (value > 999) {
|
||||
if (usePadding) {
|
||||
if (padToThousands) {
|
||||
return sead::StringUtil::snprintf(out, size, "%3d,%03d", (u32)(value / 1000),
|
||||
(u32)(value % 1000));
|
||||
}
|
||||
return sead::StringUtil::snprintf(out, size, " %3d,%03d", (u32)(value / 1000),
|
||||
(u32)(value % 1000));
|
||||
if (padToThousands)
|
||||
return snprintf(out, size, "%3d,%03d", (u32)(value / 1000), (u32)(value % 1000));
|
||||
return snprintf(out, size, " %3d,%03d", (u32)(value / 1000), (u32)(value % 1000));
|
||||
}
|
||||
return sead::StringUtil::snprintf(out, size, "%d,%03d", (u32)(value / 1000),
|
||||
(u32)(value % 1000));
|
||||
return snprintf(out, size, "%d,%03d", (u32)(value / 1000), (u32)(value % 1000));
|
||||
}
|
||||
if (usePadding) {
|
||||
if (padToThousands)
|
||||
return sead::StringUtil::snprintf(out, size, " %3d", (u32)value);
|
||||
return sead::StringUtil::snprintf(out, size, " %3d", (u32)value);
|
||||
return snprintf(out, size, " %3d", (u32)value);
|
||||
return snprintf(out, size, " %3d", (u32)value);
|
||||
}
|
||||
return sead::StringUtil::snprintf(out, size, "%d", (u32)value);
|
||||
return snprintf(out, size, "%d", (u32)value);
|
||||
}
|
||||
|
||||
void extractString(char* out, const char* str, u32 len, u32 unused) {
|
||||
|
|
@ -100,8 +96,8 @@ const char* searchSubString(const char* str, const char* substr, s32 substrLen)
|
|||
|
||||
void removeExtensionString(char* out, u32 len, const char* str) {
|
||||
snprintf(out, len, "%s", str);
|
||||
char* dot = strchr(out, '.');
|
||||
char* dirSeparator = strchr(out, '/');
|
||||
char* dot = strrchr(out, '.');
|
||||
char* dirSeparator = strrchr(out, '/');
|
||||
|
||||
if (!dot || dot < dirSeparator || ++dirSeparator == dot)
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ class OcclusionCullingJudge;
|
|||
|
||||
class LayoutInitInfo : public LayoutSceneInfo {
|
||||
public:
|
||||
LayoutInitInfo();
|
||||
void init(ExecuteDirector*, const EffectSystemInfo*, SceneObjHolder*, const AudioDirector*,
|
||||
CameraDirector*, const LayoutSystem*, const MessageSystem*, const GamePadSystem*,
|
||||
PadRumbleDirector*);
|
||||
|
|
|
|||
|
|
@ -1208,7 +1208,7 @@ bool turnFrontToDirGetIsFinished(LiveActor* actor, const sead::Vector3f& dir, f3
|
|||
sead::Vector3f up;
|
||||
calcFrontDir(&up, actor);
|
||||
bool finished = turnDirectionDegree(actor, &up, dir, deg);
|
||||
rotateVectorDegree(getFrontPtr(actor), getFront(actor), up, deg);
|
||||
turnVecToVecDegree(getFrontPtr(actor), getFront(actor), up, deg);
|
||||
normalize(getFrontPtr(actor));
|
||||
return finished;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ void WobbleMapParts::updateMove() {
|
|||
void WobbleMapParts::exeMove() {
|
||||
updateMove();
|
||||
|
||||
tryStartSeWithParam(this, "Rotate", mTiltSpeed, "");
|
||||
tryHoldSeWithParam(this, "Rotate", mTiltSpeed, "");
|
||||
if (mTiltSpeed < 0.1f)
|
||||
startNerveAction(this, "Wait");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ void EffectObjFollowCamera::init(const ActorInitInfo& info) {
|
|||
|
||||
EffectObjFunction::initActorEffectObj(this, info);
|
||||
invalidateClipping(this);
|
||||
setEffectNamedMtxPtr(this, "Wait", &mBaseMtx);
|
||||
setEffectFollowMtxPtr(this, "Wait", &mBaseMtx);
|
||||
initNerve(this, &Wait, 0);
|
||||
|
||||
listenStageSwitchOnOffAppear(
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ namespace {
|
|||
using namespace al;
|
||||
NERVE_IMPL(CameraVerticalAbsorber, FollowGround);
|
||||
NERVE_IMPL(CameraVerticalAbsorber, FollowAbsolute);
|
||||
NERVE_IMPL_(CameraVerticalAbsorber, FollowClimbPoleNoInterp, Follow);
|
||||
NERVE_IMPL_(CameraVerticalAbsorber, FollowSlow, Absorb);
|
||||
NERVE_IMPL_(CameraVerticalAbsorber, FollowClimbPoleNoInterp, FollowClimbPole);
|
||||
NERVE_IMPL_(CameraVerticalAbsorber, FollowSlow, Follow);
|
||||
NERVE_IMPL(CameraVerticalAbsorber, Absorb);
|
||||
NERVE_IMPL(CameraVerticalAbsorber, Follow);
|
||||
NERVE_IMPL(CameraVerticalAbsorber, FollowClimbPole);
|
||||
|
|
|
|||
|
|
@ -48,7 +48,8 @@ void executeUpdateCalcView(const LiveActorKit* actorKit) {
|
|||
}
|
||||
|
||||
void waitUpdateCalcView(const LiveActorKit* actorKit) {
|
||||
executeUpdateCalcView(actorKit);
|
||||
actorKit->getExecutorCore1()->waitAsync();
|
||||
actorKit->getExecutorCore2()->waitAsync();
|
||||
if (actorKit->getGraphicsSystemInfo() && actorKit->getGraphicsSystemInfo()->getSkyDirector())
|
||||
actorKit->getGraphicsSystemInfo()->getSkyDirector()->update();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include <basis/seadRawPrint.h>
|
||||
#include <filedevice/seadFileDeviceMgr.h>
|
||||
#include <heap/seadFrameHeap.h>
|
||||
#include <heap/seadHeapMgr.h>
|
||||
|
||||
#include "Library/Base/Macros.h"
|
||||
|
|
@ -17,8 +18,8 @@ MemorySystem::MemorySystem(sead::Heap* heap)
|
|||
: mDelegate(this, &MemorySystem::allocFailedCallbackFunc) {
|
||||
sead::HeapMgr::instance()->setAllocFailedCallback(&mDelegate);
|
||||
mStationedHeap =
|
||||
sead::ExpHeap::tryCreate((u32)heap->getMaxAllocatableSize(8) - 0x1900000, "StationedHeap",
|
||||
heap, 8, sead::Heap::cHeapDirection_Forward, false);
|
||||
sead::ExpHeap::create((u32)heap->getMaxAllocatableSize(8) - 0x1900000, "StationedHeap",
|
||||
heap, 8, sead::Heap::cHeapDirection_Forward, false);
|
||||
|
||||
{
|
||||
sead::ScopedCurrentHeapSetter setter(mStationedHeap);
|
||||
|
|
@ -40,8 +41,8 @@ void MemorySystem::allocFailedCallbackFunc(const sead::HeapMgr::AllocFailedCallb
|
|||
}
|
||||
|
||||
void MemorySystem::createSequenceHeap() {
|
||||
mSequenceHeap = sead::ExpHeap::tryCreate(0, "SequenceHeap", nullptr, 8,
|
||||
sead::Heap::cHeapDirection_Forward, false);
|
||||
mSequenceHeap = sead::ExpHeap::create(0, "SequenceHeap", nullptr, 8,
|
||||
sead::Heap::cHeapDirection_Forward, false);
|
||||
}
|
||||
|
||||
void MemorySystem::freeAllSequenceHeap() {
|
||||
|
|
@ -67,7 +68,7 @@ bool MemorySystem::createSceneHeap(const char* stageName, bool backwards) {
|
|||
if (currentHeap && currentHeap->getMaxAllocatableSize(8) < size)
|
||||
size = currentHeap->getMaxAllocatableSize(8);
|
||||
|
||||
mSceneHeap = sead::ExpHeap::tryCreate(size, "SceneHeap", nullptr, 8, direction, false);
|
||||
mSceneHeap = sead::FrameHeap::create(size, "SceneHeap", nullptr, 8, direction, false);
|
||||
mSceneHeap->mFlag.reset(sead::Heap::Flag::cEnableDebugFillUser);
|
||||
|
||||
return currentSceneResourceHeap == nullptr;
|
||||
|
|
@ -139,7 +140,7 @@ void MemorySystem::createCourseSelectHeap() {
|
|||
if (currentHeap && currentHeap->getMaxAllocatableSize(8) < size)
|
||||
size = currentHeap->getMaxAllocatableSize(8);
|
||||
|
||||
mCourseSelectResourceHeap = sead::ExpHeap::tryCreate(
|
||||
mCourseSelectResourceHeap = sead::FrameHeap::create(
|
||||
size, "CourseSelectHeapResource", nullptr, 8, sead::Heap::cHeapDirection_Reverse, true);
|
||||
mCourseSelectResourceHeap->mFlag.reset(sead::Heap::Flag::cEnableDebugFillUser);
|
||||
}
|
||||
|
|
@ -149,8 +150,8 @@ void MemorySystem::createCourseSelectHeap() {
|
|||
if (currentHeap && currentHeap->getMaxAllocatableSize(8) < size)
|
||||
size = currentHeap->getMaxAllocatableSize(8);
|
||||
|
||||
mCourseSelectHeap = sead::ExpHeap::tryCreate(size, "CourseSelectHeapScene", nullptr, 8,
|
||||
sead::Heap::cHeapDirection_Reverse, false);
|
||||
mCourseSelectHeap = sead::FrameHeap::create(size, "CourseSelectHeapScene", nullptr, 8,
|
||||
sead::Heap::cHeapDirection_Reverse, false);
|
||||
mCourseSelectHeap->mFlag.reset(sead::Heap::Flag::cEnableDebugFillUser);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,10 +58,10 @@ private:
|
|||
sead::ExpHeap* mStationedHeap = nullptr;
|
||||
sead::ExpHeap* mSequenceHeap = nullptr;
|
||||
sead::FrameHeap* mSceneResourceHeap = nullptr;
|
||||
sead::ExpHeap* mSceneHeap = nullptr;
|
||||
sead::FrameHeap* mSceneHeap = nullptr;
|
||||
sead::ExpHeap* mPlayerResourceHeap = nullptr;
|
||||
sead::ExpHeap* mCourseSelectResourceHeap = nullptr;
|
||||
sead::ExpHeap* mCourseSelectHeap = nullptr;
|
||||
sead::FrameHeap* mCourseSelectResourceHeap = nullptr;
|
||||
sead::FrameHeap* mCourseSelectHeap = nullptr;
|
||||
sead::ExpHeap* mWorldResourceHeap = nullptr;
|
||||
sead::StrTreeMap<32, sead::Heap*> mHeapList;
|
||||
AudioResourceDirector* mAudioResourceDirector = nullptr;
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ void Kuribo2D::appearByGenerator(const sead::Vector3f& trans, const sead::Vector
|
|||
al::setGravity(this, dimensionGravity);
|
||||
al::setVelocityZero(this);
|
||||
al::offCollide(this);
|
||||
al::invalidateHitSensors(this);
|
||||
al::invalidateClipping(this);
|
||||
appear();
|
||||
al::setNerve(this, &NrvKuribo2D.Wait);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ void Togezo2D::control() {
|
|||
|
||||
void Togezo2D::exeWalk() {
|
||||
if (al::isFirstStep(this)) {
|
||||
al::validateClipping(this);
|
||||
al::invalidateClipping(this);
|
||||
al::showModelIfHide(this);
|
||||
al::onCollide(this);
|
||||
al::validateHitSensors(this);
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ void CoinCollectEmpty2D::initAfterPlacement() {
|
|||
|
||||
bool CoinCollectEmpty2D::receiveMsg(const al::SensorMsg* message, al::HitSensor* other,
|
||||
al::HitSensor* self) {
|
||||
if (rs::isMsgItemGet2D(message) && al::isNerve(this, &NrvCoinCollectEmpty2D.Wait)) {
|
||||
if (rs::isMsgPlayerItemGet2D(message) && al::isNerve(this, &NrvCoinCollectEmpty2D.Wait)) {
|
||||
al::invalidateClipping(this);
|
||||
al::setNerve(this, &NrvCoinCollectEmpty2D.Got);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -648,8 +648,8 @@ void HackFork::exeHackBend() {
|
|||
sead::Vector3f oldPullDirection = mPullDirection;
|
||||
f32 jumpDir = mIsPullDown ? -1.0f : 1.0f;
|
||||
|
||||
f32 angle = sead::Mathf::clamp((jumpDir * mUpDir).dot(pullDirection), -1.0f, 1.0f);
|
||||
if (sead::Mathf::rad2deg(sead::Mathf::cos(angle)) < getJumpRange())
|
||||
f32 cos = sead::Mathf::clamp((jumpDir * mUpDir).dot(pullDirection), -1.0f, 1.0f);
|
||||
if (sead::Mathf::rad2deg(sead::Mathf::acos(cos)) < getJumpRange())
|
||||
mPullDirection = mPullDirection * 0.5f + pullDirection * 0.5f;
|
||||
al::normalize(&mPullDirection);
|
||||
f32 oldDampingForce = mDampingForce;
|
||||
|
|
|
|||
|
|
@ -140,7 +140,7 @@ s32 AchievementHolder::getAchievementProgressCurrentRow(s32 index,
|
|||
if (al::isEqualString(*name, "Souvenir_Count_1") ||
|
||||
al::isEqualString(*name, "Souvenir_Count_2") ||
|
||||
al::isEqualString(*name, "Souvenir_Count_3"))
|
||||
return rs::calcHaveStickerNum(accessor) + rs::calcHaveGiftNum(accessor);
|
||||
return rs::calcHaveGiftNum(accessor) + rs::calcHaveStickerNum(accessor);
|
||||
if (al::isEqualString(*name, "Capture_Count_1") ||
|
||||
al::isEqualString(*name, "Capture_Count_2") || al::isEqualString(*name, "Capture_Count_3"))
|
||||
return rs::calcHackObjNum(accessor);
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ PlayerJudgeCameraSubjective::PlayerJudgeCameraSubjective(const al::LiveActor* pl
|
|||
: mPlayer(player), mCollider(collider), mInput(input) {
|
||||
mTicket = al::initSubjectiveCameraNoSave(player, "Subjective");
|
||||
|
||||
al::validateSnapShotCameraRoll(mTicket);
|
||||
al::validateSnapShotCameraZoomFovy(mTicket);
|
||||
al::validateSnapShotCameraRoll(mTicket);
|
||||
}
|
||||
|
||||
bool PlayerJudgeCameraSubjective::isEnableKeepSubjectiveCamera() const {
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ void PlayerStateCameraSubjective::exeWait() {
|
|||
if (al::isFirstStep(this)) {
|
||||
mModelChanger->hideModel();
|
||||
if (mCarryKeeper->isCarry())
|
||||
mCarryKeeper->endCameraSubjective();
|
||||
mCarryKeeper->startCameraSubjective();
|
||||
rs::tryAppearPlayerCameraSubjectiveTutorial(mActor);
|
||||
mAnimator->startAnim("Wait");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -220,11 +220,11 @@ s32 GameProgressData::calcNextLockedWorldIdForWorldMap(s32 idx) const {
|
|||
case 5:
|
||||
return GameDataFunction::getWorldIndexCity();
|
||||
case 8:
|
||||
return idx != 0 ? GameDataFunction::getWorldIndexSnow() :
|
||||
GameDataFunction::getWorldIndexSea();
|
||||
return idx == 0 ? GameDataFunction::getWorldIndexSea() :
|
||||
GameDataFunction::getWorldIndexSnow();
|
||||
case 9:
|
||||
return isUnlockFirstSea() ? GameDataFunction::getWorldIndexSea() :
|
||||
GameDataFunction::getWorldIndexSnow();
|
||||
return isUnlockFirstSea() ? GameDataFunction::getWorldIndexSnow() :
|
||||
GameDataFunction::getWorldIndexSea();
|
||||
case 11:
|
||||
return GameDataFunction::getWorldIndexSky();
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -605,7 +605,7 @@ s32 getStageShineAnimFrame(const al::LiveActor* actor, s32 worldId) {
|
|||
|
||||
s32 getStageShineAnimFrame(const al::LiveActor* actor, const char* stageName) {
|
||||
s32 worldId =
|
||||
al::getSceneObj<GameDataHolder>(actor)->getWorldList()->tryFindWorldIndexByMainStageName(
|
||||
al::getSceneObj<GameDataHolder>(actor)->getWorldList()->tryFindWorldIndexByStageName(
|
||||
stageName);
|
||||
worldId = sead::Mathi::max(0, worldId);
|
||||
|
||||
|
|
@ -636,7 +636,7 @@ void setStageShineAnimFrame(al::LiveActor* actor, const char* stageName, s32 shi
|
|||
|
||||
const char* getStageShineArchiveName(const al::LiveActor* actor, const char* stageName) {
|
||||
s32 worldId =
|
||||
al::getSceneObj<GameDataHolder>(actor)->getWorldList()->tryFindWorldIndexByMainStageName(
|
||||
al::getSceneObj<GameDataHolder>(actor)->getWorldList()->tryFindWorldIndexByStageName(
|
||||
stageName);
|
||||
|
||||
return worldId == GameDataFunction::getWorldIndexPeach() ? "PowerStar" : "Shine";
|
||||
|
|
@ -644,7 +644,7 @@ const char* getStageShineArchiveName(const al::LiveActor* actor, const char* sta
|
|||
|
||||
const char* getStageShineEmptyArchiveName(const al::LiveActor* actor, const char* stageName) {
|
||||
s32 worldId =
|
||||
al::getSceneObj<GameDataHolder>(actor)->getWorldList()->tryFindWorldIndexByMainStageName(
|
||||
al::getSceneObj<GameDataHolder>(actor)->getWorldList()->tryFindWorldIndexByStageName(
|
||||
stageName);
|
||||
|
||||
return worldId == GameDataFunction::getWorldIndexPeach() ? "PowerStarEmpty" : "ShineEmpty";
|
||||
|
|
|
|||
Loading…
Reference in a new issue