Skip to content

Library/Camera: Implement CameraPoserFunction - #1303

Open
german77 wants to merge 7 commits into
MonsterDruide1:masterfrom
german77:CameraPoserFunctionMuz
Open

Library/Camera: Implement CameraPoserFunction#1303
german77 wants to merge 7 commits into
MonsterDruide1:masterfrom
german77:CameraPoserFunctionMuz

Conversation

@german77

@german77 german77 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Initially developed by muz I finished the class with the exception of two functions checkCameraCollisionMoveSphere and calcOffsetCameraKeepInFrameV those had very severe mismatches.

The main motivation for this one is that the header return types were incorrect. Leading to a few issues when implementing other camera related classes. This also corrected multiple issues in other headers as well resulting in a quite large PR overall.


This change is Reviewable


Report for 1.0 (441aec9 - 3c6ec48)

📈 Matched code: 15.59% (+0.09%, +11580 bytes)

✅ 213 new matches
Unit Item Bytes Before After
Library/Camera/CameraPoserFunction alCameraPoserFunction::checkValidTurnToSubTarget(al::CameraPoser const*) +504 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::tryFindNearestLimitRailKeeper(al::CameraPoser const*, sead::Vector3<float> const&) +320 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::tryCalcSubTargetTurnBrakeDistanceRate(float*, al::CameraPoser const*) +296 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetJumpSpeed(al::CameraPoser const*) +248 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetFallSpeed(al::CameraPoser const*) +248 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetSpeedV(al::CameraPoser const*) +232 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::checkFirstCameraCollisionArrow(sead::Vector3<float>*, sead::Vector3<float>*, al::IUseCollision const*, sead::Vector3<float> const&, sead::Vector3<float> const&) +216 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::multVecInvZone(sead::Vector3<float>*, sead::Vector3<float> const&, al::CameraPoser const*) +216 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::checkFirstCameraCollisionArrowOnlyCeiling(sead::Vector3<float>*, sead::Vector3<float>*, al::IUseCollision const*, sead::Vector3<float> const&, sead::Vector3<float> const&) +192 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::updateSnapShotCameraCtrl(al::CameraPoser*) +188 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetSpeedH(al::CameraPoser const*) +184 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcPreCameraAngleV(al::CameraPoser const*) +176 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::checkFirstCameraCollisionArrow(alCameraPoserFunction::CameraCollisionHitResult*, al::IUseCollision const*, sead::Vector3<float> const&, sead::Vector3<float> const&) +160 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcZoneInvRotateAngleH(float, sead::Matrix34<float> const&) +156 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcCameraRotateStickPower(al::CameraPoser const*) +156 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcSideDir(sead::Vector3<float>*, al::CameraPoser const*) +152 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetVelocityH(sead::Vector3<float>*, al::CameraPoser const*) +152 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcCameraPose(sead::Quat<float>*, al::CameraPoser const*) +148 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcZoneRotateAngleH(float, al::CameraPoser const*) +148 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcZoneRotateAngleH(float, sead::Matrix34<float> const&) +148 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::makeCameraKeepInFrameV(sead::LookAtCamera*, sead::Vector3<float> const&, al::CameraPoser const*, float, float) +148 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetPose(sead::Quat<float>*, al::CameraPoser const*) +144 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcPreCameraAngleH(al::CameraPoser const*) +136 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcTargetTransWithOffset(sead::Vector3<float>*, al::CameraPoser const*) +132 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcLookDirH(sead::Vector3<float>*, al::CameraPoser const*) +128 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcCameraRotateStick(sead::Vector2<float>*, al::CameraPoser const*) +124 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::calcCameraRotateStickH(al::CameraPoser const*) +124 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::setLookAtPosToTargetAddOffset(al::CameraPoser*, sead::Vector3<float> const&) +120 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::setCameraPosToTargetAddOffset(al::CameraPoser*, sead::Vector3<float> const&) +120 0.00% 100.00%
Library/Camera/CameraPoserFunction alCameraPoserFunction::multVecZone(sead::Vector3<float>*, sead::Vector3<float> const&, al::CameraPoser const*) +120 0.00% 100.00%

...and 183 more new matches

@github-actions github-actions Bot added the status:waiting for review This PR is ready to take the first or another look at it! label Jul 7, 2026
@german77
german77 force-pushed the CameraPoserFunctionMuz branch 2 times, most recently from a4daade to 96db104 Compare July 7, 2026 17:39
@german77
german77 force-pushed the CameraPoserFunctionMuz branch from 96db104 to 57b99c6 Compare July 24, 2026 15:56

@MonsterDruide1 MonsterDruide1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MonsterDruide1 reviewed 21 files and all commit messages, and made 9 comments.
Reviewable status: 21 of 25 files reviewed, 9 unresolved discussions (waiting on german77).


lib/al/Library/Camera/CameraArrowCollider.h line 37 at r1 (raw file):

    char mBuffer[0x474];
    bool _48c;
    char mBuffer2[0x3];

offset-based names for unknown variables

Suggestion:

    char _XY[0x474];
    bool _48c;
    char _XY[0x3];

lib/al/Library/Camera/CameraPoserFunction.cpp line 451 at r1 (raw file):

f32* tryGetEquipmentDistanceCurve(const al::CameraPoser* cameraPoser) {
    return cameraPoser->getSceneInfo()->requestParamHolder->get_58();
}

Suggestion:

al::CameraDistanceCurve* tryGetBossDistanceCurve(const al::CameraPoser* cameraPoser) {
    return cameraPoser->getSceneInfo()->requestParamHolder->getBossDistanceCurve();
}

al::CameraDistanceCurve* tryGetEquipmentDistanceCurve(const al::CameraPoser* cameraPoser) {
    return cameraPoser->getSceneInfo()->requestParamHolder->getEquipmentDistanceCurve();
}

lib/al/Library/Camera/CameraRequestParamHolder.h line 40 at r1 (raw file):

    f32* get_60() const { return _60; }

    f32* get_58() const { return _58; }

change accordingly

Code quote:

    f32* get_60() const { return _60; }

    f32* get_58() const { return _58; }

lib/al/Library/Camera/CameraRequestParamHolder.h line 63 at r1 (raw file):

    const IUseCamera* mRideObjCamera = nullptr;
    f32* _58 = nullptr;
    f32* _60 = nullptr;

change accordingly

Code quote:

    f32* _58 = nullptr;
    f32* _60 = nullptr;

lib/al/Library/Camera/CameraTargetCollideInfoHolder.h at r1 (raw file):
offset-based names for unknown variables


lib/al/Library/Camera/CameraTargetHolder.h line 20 at r1 (raw file):

struct ViewSubTargetInfo {
    CameraSubTargetBase* target = nullptr;
    // Note: s8 is used instead of bool to match isChangeSubTarget

Suggestion:

// NOTE: s8 is used instead of bool to match isChangeSubTarget

lib/al/Library/Camera/SnapShotCameraCtrl.h at r1 (raw file):
Remove ; after definition of setters


lib/al/Library/Camera/SnapShotCameraCtrl.h line 35 at r1 (raw file):

    f32 getFovyDegree() const { return mFovyDegree; };

    AudioKeeper* getAudioKeeper() const override;

Suggestion:

    void exeReset();

    AudioKeeper* getAudioKeeper() const override;

    f32 getFovyDegree() const { return mFovyDegree; };

lib/al/Library/Obj/CameraRailHolder.h line 15 at r1 (raw file):

    s32 getRailCount() const { return mCameraRailCount; }

    CameraLimitRailKeeper* getRail(s32 index) { return mCameraRails[index]; }

Suggestion:

CameraLimitRailKeeper* getRail(s32 index) const { return mCameraRails[index]; }

@github-actions github-actions Bot added status:waiting for author Reviews have shown that the author of this PR needs to change some things. and removed status:waiting for review This PR is ready to take the first or another look at it! labels Jul 26, 2026
@german77
german77 force-pushed the CameraPoserFunctionMuz branch 2 times, most recently from c2afc02 to 7e736b0 Compare July 26, 2026 23:28

@german77 german77 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@german77 made 9 comments.
Reviewable status: 18 of 25 files reviewed, 9 unresolved discussions (waiting on MonsterDruide1).


lib/al/Library/Camera/CameraArrowCollider.h line 37 at r1 (raw file):

Previously, MonsterDruide1 wrote…

offset-based names for unknown variables

Done.


lib/al/Library/Camera/CameraRequestParamHolder.h line 40 at r1 (raw file):

Previously, MonsterDruide1 wrote…

change accordingly

Done.


lib/al/Library/Camera/CameraRequestParamHolder.h line 63 at r1 (raw file):

Previously, MonsterDruide1 wrote…

change accordingly

Done.


lib/al/Library/Camera/CameraTargetCollideInfoHolder.h at r1 (raw file):

Previously, MonsterDruide1 wrote…

offset-based names for unknown variables

Done.


lib/al/Library/Camera/SnapShotCameraCtrl.h at r1 (raw file):

Previously, MonsterDruide1 wrote…

Remove ; after definition of setters

Done.


lib/al/Library/Camera/CameraPoserFunction.cpp line 451 at r1 (raw file):

f32* tryGetEquipmentDistanceCurve(const al::CameraPoser* cameraPoser) {
    return cameraPoser->getSceneInfo()->requestParamHolder->get_58();
}

Done.


lib/al/Library/Camera/CameraTargetHolder.h line 20 at r1 (raw file):

struct ViewSubTargetInfo {
    CameraSubTargetBase* target = nullptr;
    // Note: s8 is used instead of bool to match isChangeSubTarget

Done.


lib/al/Library/Camera/SnapShotCameraCtrl.h line 35 at r1 (raw file):

    f32 getFovyDegree() const { return mFovyDegree; };

    AudioKeeper* getAudioKeeper() const override;

Done.


lib/al/Library/Obj/CameraRailHolder.h line 15 at r1 (raw file):

    s32 getRailCount() const { return mCameraRailCount; }

    CameraLimitRailKeeper* getRail(s32 index) { return mCameraRails[index]; }

Done.

@github-actions github-actions Bot added status:waiting for review This PR is ready to take the first or another look at it! and removed status:waiting for author Reviews have shown that the author of this PR needs to change some things. labels Jul 26, 2026

@MonsterDruide1 MonsterDruide1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MonsterDruide1 reviewed 6 files and all commit messages, made 3 comments, and resolved 6 discussions.
Reviewable status: 23 of 25 files reviewed, 3 unresolved discussions (waiting on german77).


lib/al/Library/Camera/CameraPoserFunction.cpp line 451 at r1 (raw file):

Previously, german77 (Narr the Reg) wrote…

Done.

Also change return type


lib/al/Library/Camera/CameraRequestParamHolder.h line 40 at r1 (raw file):

Previously, german77 (Narr the Reg) wrote…

Done.

also change return type


lib/al/Library/Camera/CameraRequestParamHolder.h line 63 at r1 (raw file):

Previously, german77 (Narr the Reg) wrote…

Done.

also change member type

@github-actions github-actions Bot added status:waiting for author Reviews have shown that the author of this PR needs to change some things. and removed status:waiting for review This PR is ready to take the first or another look at it! labels Aug 2, 2026

@german77 german77 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@german77 made 3 comments.
Reviewable status: 22 of 25 files reviewed, 3 unresolved discussions (waiting on MonsterDruide1).


lib/al/Library/Camera/CameraPoserFunction.cpp line 451 at r1 (raw file):

Previously, MonsterDruide1 wrote…

Also change return type

Done.


lib/al/Library/Camera/CameraRequestParamHolder.h line 40 at r1 (raw file):

Previously, MonsterDruide1 wrote…

also change return type

Done.


lib/al/Library/Camera/CameraRequestParamHolder.h line 63 at r1 (raw file):

Previously, MonsterDruide1 wrote…

also change member type

Done.

@github-actions github-actions Bot added status:waiting for review This PR is ready to take the first or another look at it! and removed status:waiting for author Reviews have shown that the author of this PR needs to change some things. labels Aug 2, 2026
@german77
german77 force-pushed the CameraPoserFunctionMuz branch from 259b995 to d07faee Compare August 2, 2026 14:05

@MonsterDruide1 MonsterDruide1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm impressed that you pushed through and implemented so many of these boring small functions. I'll need at least one, probably two more passes to work through them.

@MonsterDruide1 reviewed 2 files and all commit messages, made 11 comments, and resolved 3 discussions.
Reviewable status: 24 of 25 files reviewed, 10 unresolved discussions (waiting on german77).


lib/al/Library/Camera/CameraPoser.h line 224 at r3 (raw file):

    CameraViewInfo* getViewInfo() const { return mViewInfo; }

    CameraViewInfo* getCameraViewInfo() const { return mViewInfo; }

Suggestion:

    CameraViewInfo* getViewInfo() const { return mViewInfo; }

lib/al/Library/Camera/CameraPoserFunction.cpp line 48 at r3 (raw file):

static sead::Vector3f sMtxX = {-1.0f, 0.0f, 0.0f};
static sead::Vector3f sMtxY = {0.0f, 1.0f, 0.0f};
static sead::Vector3f sMtxZ = {0.0f, 0.0f, -1.0f};

TODO: check these

Code quote:

static al::CameraCollisionPartsFilter sPartsFiler;
static al::CameraTriangleFilter sTriangleFilter;
static al::CameraTriangleFilterOnlyCeiling sCeilFilter;
static sead::Vector3f sMtxX = {-1.0f, 0.0f, 0.0f};
static sead::Vector3f sMtxY = {0.0f, 1.0f, 0.0f};
static sead::Vector3f sMtxZ = {0.0f, 0.0f, -1.0f};

lib/al/Library/Camera/CameraPoserFunction.cpp line 52 at r3 (raw file):

static inline s32 getViewInfoIndex(const al::CameraPoser* cameraPoser) {
    return cameraPoser->getViewInfo()->getIndex();
}

exists already (getViewIndex)


lib/al/Library/Camera/CameraPoserFunction.cpp line 164 at r3 (raw file):

    if (cameraStartInfo.preCameraName)
        return al::isEqualString(cameraName, cameraStartInfo.preCameraName);
    return false;

Suggestion:

    if (!cameraStartInfo.preCameraName)
        return false;
    return al::isEqualString(cameraName, cameraStartInfo.preCameraName);

lib/al/Library/Camera/CameraPoserFunction.cpp line 266 at r3 (raw file):

    sead::Vector3f facingDir = cameraPoser->getEye() - cameraPoser->getAt();
    al::normalize(&facingDir);
    outDir->set(facingDir.cross(cameraPoser->getUp()));

Suggestion:

outDir->setCross(facingDir, cameraPoser->getUp());

lib/al/Library/Camera/CameraPoserFunction.cpp line 371 at r3 (raw file):

        return speedV;
    else
        return -speedV;

probably mismatches, but worth a try

Suggestion:

    return sead::Mathf::sign(direction) * speedV;

lib/al/Library/Camera/CameraPoserFunction.cpp line 491 at r3 (raw file):

}

bool checkValidTurnToSubTarget(const al::CameraPoser* cameraPoser) {

TODO: check this function


lib/al/Library/Camera/CameraPoserFunction.cpp line 560 at r3 (raw file):

}

bool tryCalcSubTargetTurnBrakeDistanceRate(f32* outDistanceRate,

TODO: check this


lib/al/Library/Camera/CameraPoserFunction.cpp line 613 at r3 (raw file):

void initCameraVerticalAbsorberNoCameraPosAbsorb(al::CameraPoser* cameraPoser) {
    cameraPoser->setVerticalAbsorber(new al::CameraVerticalAbsorber(cameraPoser, true));
}

Please rename the parameter in CameraVerticalAbsorber accordingly (isNoCameraPosAbsorb)

Code quote:

void initCameraVerticalAbsorber(al::CameraPoser* cameraPoser) {
    cameraPoser->setVerticalAbsorber(new al::CameraVerticalAbsorber(cameraPoser, false));
}

void initCameraVerticalAbsorberNoCameraPosAbsorb(al::CameraPoser* cameraPoser) {
    cameraPoser->setVerticalAbsorber(new al::CameraVerticalAbsorber(cameraPoser, true));
}

lib/al/Library/Camera/CameraPoserFunction.cpp line 808 at r3 (raw file):

    return cameraPoser->getFlagCtrl()->isSnapShotModeRunning;
}

TODO: continue below

@github-actions github-actions Bot added status:waiting for author Reviews have shown that the author of this PR needs to change some things. and removed status:waiting for review This PR is ready to take the first or another look at it! labels Aug 4, 2026
@german77
german77 force-pushed the CameraPoserFunctionMuz branch from d07faee to 448f2e5 Compare August 4, 2026 16:57

@german77 german77 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Credit to muz he did most of them. I mostly cleaned up his work and finished the remaining ones.

@german77 made 7 comments.
Reviewable status: 24 of 25 files reviewed, 10 unresolved discussions (waiting on MonsterDruide1).


lib/al/Library/Camera/CameraPoserFunction.cpp line 52 at r3 (raw file):

Previously, MonsterDruide1 wrote…

exists already (getViewIndex)

Done.


lib/al/Library/Camera/CameraPoserFunction.cpp line 371 at r3 (raw file):

Previously, MonsterDruide1 wrote…

probably mismatches, but worth a try

Doesn't match. Loading order changes.


lib/al/Library/Camera/CameraPoserFunction.cpp line 613 at r3 (raw file):

Previously, MonsterDruide1 wrote…

Please rename the parameter in CameraVerticalAbsorber accordingly (isNoCameraPosAbsorb)

Done.


lib/al/Library/Camera/CameraPoser.h line 224 at r3 (raw file):

    CameraViewInfo* getViewInfo() const { return mViewInfo; }

    CameraViewInfo* getCameraViewInfo() const { return mViewInfo; }

Done.


lib/al/Library/Camera/CameraPoserFunction.cpp line 164 at r3 (raw file):

    if (cameraStartInfo.preCameraName)
        return al::isEqualString(cameraName, cameraStartInfo.preCameraName);
    return false;

Done.


lib/al/Library/Camera/CameraPoserFunction.cpp line 266 at r3 (raw file):

    sead::Vector3f facingDir = cameraPoser->getEye() - cameraPoser->getAt();
    al::normalize(&facingDir);
    outDir->set(facingDir.cross(cameraPoser->getUp()));

Done.

@github-actions github-actions Bot added status:waiting for review This PR is ready to take the first or another look at it! and removed status:waiting for author Reviews have shown that the author of this PR needs to change some things. labels Aug 4, 2026

@MonsterDruide1 MonsterDruide1 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MonsterDruide1 reviewed 4 files and all commit messages, made 6 comments, and resolved 7 discussions.
Reviewable status: 24 of 26 files reviewed, 8 unresolved discussions (waiting on german77).


lib/al/Library/Camera/CameraPoser.h line 238 at r4 (raw file):

    GyroCameraCtrl* getGyroCtrl() const { return mGyroCtrl; }

    CameraPoserFlag* getPoserFag() const { return mPoserFlag; }

No swear words, please!

Suggestion:

CameraPoserFlag* getPoserFlag() const { return mPoserFlag; }

lib/al/Library/Camera/CameraPoserFunction.cpp line 43 at r4 (raw file):

namespace alCameraPoserFunction {
static al::CameraCollisionPartsFilter sPartsFiler;

Suggestion:

static al::CameraCollisionPartsFilter sPartsFilter;

lib/al/Library/Camera/CameraPoserFunction.cpp line 969 at r4 (raw file):

bool isPause(const al::CameraPoser* cameraPoser) {
    return false;
}

Oh wow, useful.

Code quote:

bool isPause(const al::CameraPoser* cameraPoser) {
    return false;
}

lib/al/Library/Camera/CameraPoserFunction.cpp line 1005 at r4 (raw file):

        type = 1;

    outResult->type = type;

Turn this into an enum? I'm not sure if there might be one with these values already...

Code quote:

    s32 type = 2;
    if (hitInfo->hitInfo->isCollisionAtFace())
        type = 0;
    else if (hitInfo->hitInfo->isCollisionAtEdge())
        type = 1;

    outResult->type = type;

lib/al/Library/Camera/CameraPoserFunction.cpp line 1080 at r4 (raw file):

        return true;
    }
    return false;

Suggestion:

    if (!calcOffsetCameraKeepInFrameV(&offset, camera, vec, cameraPoser, a, b)) {
        return false;
    }
    camera->setAt(camera->getAt() + offset);
    camera->setPos(camera->getPos() + offset);
    return true;

lib/al/Library/Camera/CameraPoserFunction.cpp line 1106 at r4 (raw file):

}

al::CameraLimitRailKeeper* tryFindNearestLimitRailKeeper(const al::CameraPoser* cameraPoser,

TODO: check this function

@github-actions github-actions Bot added status:waiting for author Reviews have shown that the author of this PR needs to change some things. and removed status:waiting for review This PR is ready to take the first or another look at it! labels Aug 4, 2026
@german77
german77 force-pushed the CameraPoserFunctionMuz branch from 448f2e5 to 3c6ec48 Compare August 7, 2026 16:15

@german77 german77 left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@german77 made 4 comments.
Reviewable status: 22 of 26 files reviewed, 8 unresolved discussions (waiting on MonsterDruide1).


lib/al/Library/Camera/CameraPoser.h line 238 at r4 (raw file):

Previously, MonsterDruide1 wrote…

No swear words, please!

Done. Whoops my evil plan has failed.


lib/al/Library/Camera/CameraPoserFunction.cpp line 1005 at r4 (raw file):

Previously, MonsterDruide1 wrote…

Turn this into an enum? I'm not sure if there might be one with these values already...

Done. Seems similar to CollisionLocation but the enum doesn't line up


lib/al/Library/Camera/CameraPoserFunction.cpp line 43 at r4 (raw file):

namespace alCameraPoserFunction {
static al::CameraCollisionPartsFilter sPartsFiler;

Done.


lib/al/Library/Camera/CameraPoserFunction.cpp line 1080 at r4 (raw file):

        return true;
    }
    return false;

Done.

@github-actions github-actions Bot added status:waiting for review This PR is ready to take the first or another look at it! and removed status:waiting for author Reviews have shown that the author of this PR needs to change some things. labels Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:waiting for review This PR is ready to take the first or another look at it!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants