summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorSirius902 <10891979+Sirius902@users.noreply.github.com>2025-06-19 15:05:57 -0700
committerGitHub <noreply@github.com>2025-06-19 15:05:57 -0700
commit3943242cb2e5ea8a351bd27478cb848abaf58e0d (patch)
treec6a7fba184db8cf0632a701357be6d058945dcc6 /soh/src/code
parent517b52176c7bec5a43b669acd9ff9e0242259ea2 (diff)
Dynamically construct weird frame data (#5195)
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_skelanime.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/soh/src/code/z_skelanime.c b/soh/src/code/z_skelanime.c
index e9f84980c..b459796a1 100644
--- a/soh/src/code/z_skelanime.c
+++ b/soh/src/code/z_skelanime.c
@@ -3,8 +3,8 @@
#include <string.h>
#include <stdio.h>
#include <assert.h>
-#include "soh/OTRGlobals.h"
#include "soh/ResourceManagerHelpers.h"
+#include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h"
#define ANIM_INTERP 1
@@ -887,15 +887,10 @@ AnimationEntry* AnimationContext_AddEntry(AnimationContext* animationCtx, Animat
*/
void AnimationContext_SetLoadFrame(PlayState* play, LinkAnimationHeader* animation, s32 frame, s32 limbCount,
Vec3s* frameTable) {
- if (CVarGetInteger(CVAR_ENHANCEMENT("N64WeirdFrames"), 0) && frame < 0) {
- Vec3s* src = (Vec3s*)getN64WeirdFrame((sizeof(Vec3s) * limbCount + 2) * frame);
- memcpy(frameTable, src, sizeof(Vec3s) * limbCount + 2);
- return;
- }
-
AnimationEntry* entry = AnimationContext_AddEntry(&play->animationCtx, ANIMENTRY_LOADFRAME);
- if (entry != NULL) {
+ if (GameInteractor_Should(VB_LOAD_PLAYER_ANIMATION_FRAME, entry != NULL, entry, animation, frame, limbCount,
+ frameTable)) {
if (ResourceMgr_OTRSigCheck(animation) != 0)
animation = ResourceMgr_LoadAnimByName(animation);