summaryrefslogtreecommitdiffstats
path: root/src/animation
diff options
context:
space:
mode:
Diffstat (limited to 'src/animation')
-rw-r--r--src/animation/AnimBlendAssocGroup.cpp14
-rw-r--r--src/animation/AnimBlendAssociation.cpp32
-rw-r--r--src/animation/AnimBlendClumpData.cpp19
-rw-r--r--src/animation/AnimBlendHierarchy.cpp12
-rw-r--r--src/animation/AnimBlendNode.cpp12
-rw-r--r--src/animation/AnimBlendSequence.cpp8
-rw-r--r--src/animation/AnimManager.cpp22
-rw-r--r--src/animation/CutsceneMgr.cpp18
-rw-r--r--src/animation/CutsceneMgr.h1
-rw-r--r--src/animation/FrameUpdate.cpp8
-rw-r--r--src/animation/RpAnimBlend.cpp27
-rw-r--r--src/animation/RpAnimBlend.h2
12 files changed, 13 insertions, 162 deletions
diff --git a/src/animation/AnimBlendAssocGroup.cpp b/src/animation/AnimBlendAssocGroup.cpp
index ecdebd29..e65bdf8d 100644
--- a/src/animation/AnimBlendAssocGroup.cpp
+++ b/src/animation/AnimBlendAssocGroup.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "General.h"
#include "ModelInfo.h"
#include "AnimManager.h"
@@ -148,15 +148,3 @@ CAnimBlendAssocGroup::CreateAssociations(const char *blockName, RpClump *clump,
}
numAssociations = numAssocs;
}
-
-
-
-STARTPATCHES
- InjectHook(0x4012D0, &CAnimBlendAssocGroup::DestroyAssociations, PATCH_JUMP);
- InjectHook(0x4013D0, (CAnimBlendAssociation *(CAnimBlendAssocGroup::*)(uint32))&CAnimBlendAssocGroup::GetAnimation, PATCH_JUMP);
- InjectHook(0x401300, (CAnimBlendAssociation *(CAnimBlendAssocGroup::*)(const char*))&CAnimBlendAssocGroup::GetAnimation, PATCH_JUMP);
- InjectHook(0x401420, (CAnimBlendAssociation *(CAnimBlendAssocGroup::*)(uint32))&CAnimBlendAssocGroup::CopyAnimation, PATCH_JUMP);
- InjectHook(0x4013E0, (CAnimBlendAssociation *(CAnimBlendAssocGroup::*)(const char*))&CAnimBlendAssocGroup::CopyAnimation, PATCH_JUMP);
- InjectHook(0x401130, (void (CAnimBlendAssocGroup::*)(const char*))&CAnimBlendAssocGroup::CreateAssociations, PATCH_JUMP);
- InjectHook(0x401220, (void (CAnimBlendAssocGroup::*)(const char*, RpClump*, const char**, int))&CAnimBlendAssocGroup::CreateAssociations, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/AnimBlendAssociation.cpp b/src/animation/AnimBlendAssociation.cpp
index 246322ba..fb8c16d7 100644
--- a/src/animation/AnimBlendAssociation.cpp
+++ b/src/animation/AnimBlendAssociation.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "AnimBlendHierarchy.h"
#include "AnimBlendClumpData.h"
#include "RpAnimBlend.h"
@@ -202,33 +202,3 @@ CAnimBlendAssociation::UpdateBlend(float timeDelta)
return true;
}
-
-#include <new>
-
-class CAnimBlendAssociation_ : public CAnimBlendAssociation
-{
-public:
- CAnimBlendAssociation *ctor1(void) { return ::new (this) CAnimBlendAssociation(); }
- CAnimBlendAssociation *ctor2(CAnimBlendAssociation &other) { return ::new (this) CAnimBlendAssociation(other); }
- void dtor(void) { this->CAnimBlendAssociation::~CAnimBlendAssociation(); }
-};
-
-STARTPATCHES
- InjectHook(0x4016A0, &CAnimBlendAssociation::AllocateAnimBlendNodeArray, PATCH_JUMP);
- InjectHook(0x4016F0, &CAnimBlendAssociation::FreeAnimBlendNodeArray, PATCH_JUMP);
- InjectHook(0x4017B0, &CAnimBlendAssociation::GetNode, PATCH_JUMP);
- InjectHook(0x401560, (void (CAnimBlendAssociation::*)(RpClump*, CAnimBlendHierarchy*))&CAnimBlendAssociation::Init, PATCH_JUMP);
- InjectHook(0x401620, (void (CAnimBlendAssociation::*)(CAnimBlendAssociation&))&CAnimBlendAssociation::Init, PATCH_JUMP);
- InjectHook(0x4017E0, &CAnimBlendAssociation::SetBlend, PATCH_JUMP);
- InjectHook(0x401820, &CAnimBlendAssociation::SetFinishCallback, PATCH_JUMP);
- InjectHook(0x401800, &CAnimBlendAssociation::SetDeleteCallback, PATCH_JUMP);
- InjectHook(0x401700, &CAnimBlendAssociation::SetCurrentTime, PATCH_JUMP);
- InjectHook(0x401780, &CAnimBlendAssociation::SyncAnimation, PATCH_JUMP);
- InjectHook(0x4017D0, &CAnimBlendAssociation::Start, PATCH_JUMP);
- InjectHook(0x4031F0, &CAnimBlendAssociation::UpdateTime, PATCH_JUMP);
- InjectHook(0x4032B0, &CAnimBlendAssociation::UpdateBlend, PATCH_JUMP);
-
- InjectHook(0x401460, &CAnimBlendAssociation_::ctor1, PATCH_JUMP);
- InjectHook(0x4014C0, &CAnimBlendAssociation_::ctor2, PATCH_JUMP);
- InjectHook(0x401520, &CAnimBlendAssociation_::dtor, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/AnimBlendClumpData.cpp b/src/animation/AnimBlendClumpData.cpp
index cc4281d6..d40e8357 100644
--- a/src/animation/AnimBlendClumpData.cpp
+++ b/src/animation/AnimBlendClumpData.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "AnimBlendClumpData.h"
#include "RwHelper.h"
@@ -35,20 +35,3 @@ CAnimBlendClumpData::ForAllFrames(void (*cb)(AnimBlendFrameData*, void*), void *
for(i = 0; i < numFrames; i++)
cb(&frames[i], arg);
}
-
-#include <new>
-
-class CAnimBlendClumpData_ : public CAnimBlendClumpData
-{
-public:
- CAnimBlendClumpData *ctor(void) { return ::new (this) CAnimBlendClumpData(); }
- void dtor(void) { this->CAnimBlendClumpData::~CAnimBlendClumpData(); }
-};
-
-
-STARTPATCHES
- InjectHook(0x401880, &CAnimBlendClumpData_::ctor, PATCH_JUMP);
- InjectHook(0x4018B0, &CAnimBlendClumpData_::dtor, PATCH_JUMP);
- InjectHook(0x4018F0, &CAnimBlendClumpData::SetNumberOfFrames, PATCH_JUMP);
- InjectHook(0x401930, &CAnimBlendClumpData::ForAllFrames, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/AnimBlendHierarchy.cpp b/src/animation/AnimBlendHierarchy.cpp
index e4bcdc69..7f39d37a 100644
--- a/src/animation/AnimBlendHierarchy.cpp
+++ b/src/animation/AnimBlendHierarchy.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "AnimBlendSequence.h"
#include "AnimBlendHierarchy.h"
@@ -72,13 +72,3 @@ CAnimBlendHierarchy::RemoveUncompressedData(void)
// useless
compressed = 1;
}
-
-STARTPATCHES
- InjectHook(0x4019A0, &CAnimBlendHierarchy::Shutdown, PATCH_JUMP);
- InjectHook(0x4019C0, &CAnimBlendHierarchy::SetName, PATCH_JUMP);
- InjectHook(0x4019E0, &CAnimBlendHierarchy::CalcTotalTime, PATCH_JUMP);
- InjectHook(0x401A80, &CAnimBlendHierarchy::RemoveQuaternionFlips, PATCH_JUMP);
- InjectHook(0x401AB0, &CAnimBlendHierarchy::RemoveAnimSequences, PATCH_JUMP);
- InjectHook(0x401AD0, &CAnimBlendHierarchy::Uncompress, PATCH_JUMP);
- InjectHook(0x401B00, &CAnimBlendHierarchy::RemoveUncompressedData, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/AnimBlendNode.cpp b/src/animation/AnimBlendNode.cpp
index be5fcc9c..193e9176 100644
--- a/src/animation/AnimBlendNode.cpp
+++ b/src/animation/AnimBlendNode.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "AnimBlendAssociation.h"
#include "AnimBlendNode.h"
@@ -158,13 +158,3 @@ CAnimBlendNode::GetEndTranslation(CVector &trans, float weight)
trans = kf->translation * blend;
}
}
-
-STARTPATCHES
- InjectHook(0x401B10, &CAnimBlendNode::Init, PATCH_JUMP);
- InjectHook(0x401B30, &CAnimBlendNode::Update, PATCH_JUMP);
- InjectHook(0x401DC0, &CAnimBlendNode::NextKeyFrame, PATCH_JUMP);
- InjectHook(0x4021B0, &CAnimBlendNode::FindKeyFrame, PATCH_JUMP);
- InjectHook(0x401E70, &CAnimBlendNode::CalcDeltas, PATCH_JUMP);
- InjectHook(0x401FE0, &CAnimBlendNode::GetCurrentTranslation, PATCH_JUMP);
- InjectHook(0x402110, &CAnimBlendNode::GetEndTranslation, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/AnimBlendSequence.cpp b/src/animation/AnimBlendSequence.cpp
index 4b675774..4578ec50 100644
--- a/src/animation/AnimBlendSequence.cpp
+++ b/src/animation/AnimBlendSequence.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "AnimBlendSequence.h"
CAnimBlendSequence::CAnimBlendSequence(void)
@@ -60,9 +60,3 @@ CAnimBlendSequence::RemoveQuaternionFlips(void)
last = frame->rotation;
}
}
-
-STARTPATCHES
- InjectHook(0x402330, &CAnimBlendSequence::SetName, PATCH_JUMP);
- InjectHook(0x402350, &CAnimBlendSequence::SetNumFrames, PATCH_JUMP);
- InjectHook(0x4023A0, &CAnimBlendSequence::RemoveQuaternionFlips, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/AnimManager.cpp b/src/animation/AnimManager.cpp
index 82343e93..7c09b0dd 100644
--- a/src/animation/AnimManager.cpp
+++ b/src/animation/AnimManager.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "General.h"
#include "ModelInfo.h"
#include "ModelIndices.h"
@@ -909,23 +909,3 @@ CAnimManager::RemoveLastAnimFile(void)
for(i = 0; i < ms_aAnimBlocks[ms_numAnimBlocks].numAnims; i++)
ms_aAnimations[ms_aAnimBlocks[ms_numAnimBlocks].firstIndex + i].RemoveAnimSequences();
}
-
-
-STARTPATCHES
- InjectHook(0x403380, CAnimManager::Initialise, PATCH_JUMP);
- InjectHook(0x4033B0, CAnimManager::Shutdown, PATCH_JUMP);
- InjectHook(0x403410, CAnimManager::UncompressAnimation, PATCH_JUMP);
- InjectHook(0x4034A0, CAnimManager::GetAnimationBlock, PATCH_JUMP);
- InjectHook(0x4034F0, (CAnimBlendHierarchy *(*)(const char*, CAnimBlock*))CAnimManager::GetAnimation, PATCH_JUMP);
- InjectHook(0x4035B0, CAnimManager::GetAnimGroupName, PATCH_JUMP);
- InjectHook(0x4035C0, CAnimManager::CreateAnimAssociation, PATCH_JUMP);
- InjectHook(0x4035E0, (CAnimBlendAssociation *(*)(AssocGroupId, AnimationId))CAnimManager::GetAnimAssociation, PATCH_JUMP);
- InjectHook(0x403600, (CAnimBlendAssociation *(*)(AssocGroupId, const char*))CAnimManager::GetAnimAssociation, PATCH_JUMP);
- InjectHook(0x403620, CAnimManager::AddAnimation, PATCH_JUMP);
- InjectHook(0x4036A0, CAnimManager::AddAnimationAndSync, PATCH_JUMP);
- InjectHook(0x403710, CAnimManager::BlendAnimation, PATCH_JUMP);
- InjectHook(0x4038F0, CAnimManager::LoadAnimFiles, PATCH_JUMP);
- InjectHook(0x403A10, (void (*)(const char *))CAnimManager::LoadAnimFile, PATCH_JUMP);
- InjectHook(0x403A40, (void (*)(int, bool))CAnimManager::LoadAnimFile, PATCH_JUMP);
- InjectHook(0x404320, CAnimManager::RemoveLastAnimFile, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/CutsceneMgr.cpp b/src/animation/CutsceneMgr.cpp
index 5c0daaf0..6d9b9755 100644
--- a/src/animation/CutsceneMgr.cpp
+++ b/src/animation/CutsceneMgr.cpp
@@ -1,6 +1,6 @@
#define WITHWINDOWS // just for VK_SPACE
#include "common.h"
-#include "patcher.h"
+
#include "General.h"
#include "CutsceneMgr.h"
#include "Directory.h"
@@ -423,19 +423,3 @@ CCutsceneMgr::Update(void)
bool CCutsceneMgr::HasCutsceneFinished(void) { return TheCamera.GetPositionAlongSpline() == 1.0f; }
-STARTPATCHES
- InjectHook(0x4045D0, &CCutsceneMgr::Initialise, PATCH_JUMP);
- InjectHook(0x404630, &CCutsceneMgr::Shutdown, PATCH_JUMP);
- InjectHook(0x404650, &CCutsceneMgr::LoadCutsceneData, PATCH_JUMP);
- InjectHook(0x405140, &CCutsceneMgr::FinishCutscene, PATCH_JUMP);
- InjectHook(0x404D80, &CCutsceneMgr::SetHeadAnim, PATCH_JUMP);
- InjectHook(0x404DC0, &CCutsceneMgr::SetupCutsceneToStart, PATCH_JUMP);
- InjectHook(0x404D20, &CCutsceneMgr::SetCutsceneAnim, PATCH_JUMP);
- InjectHook(0x404CD0, &CCutsceneMgr::AddCutsceneHead, PATCH_JUMP);
- InjectHook(0x404BE0, &CCutsceneMgr::CreateCutsceneObject, PATCH_JUMP);
- InjectHook(0x4048E0, &CCutsceneMgr::DeleteCutsceneData, PATCH_JUMP);
- InjectHook(0x404EE0, &CCutsceneMgr::Update, PATCH_JUMP);
- InjectHook(0x4051B0, &CCutsceneMgr::GetCutsceneTimeInMilleseconds, PATCH_JUMP);
- InjectHook(0x4051F0, &CCutsceneMgr::HasCutsceneFinished, PATCH_JUMP);
- InjectHook(0x404B40, &CalculateBoundingSphereRadiusCB, PATCH_JUMP);
-ENDPATCHES \ No newline at end of file
diff --git a/src/animation/CutsceneMgr.h b/src/animation/CutsceneMgr.h
index b025816b..bfdcdb57 100644
--- a/src/animation/CutsceneMgr.h
+++ b/src/animation/CutsceneMgr.h
@@ -28,6 +28,7 @@ public:
static void StartCutsceneProcessing() { ms_cutsceneProcessing = true; }
static bool IsRunning(void) { return ms_running; }
+ static bool HasLoaded(void) { return ms_loaded; }
static bool IsCutsceneProcessing(void) { return ms_cutsceneProcessing; }
static bool UseLodMultiplier(void) { return ms_useLodMultiplier; }
static CCutsceneObject* GetCutsceneObject(int id) { return ms_pCutsceneObjects[id]; }
diff --git a/src/animation/FrameUpdate.cpp b/src/animation/FrameUpdate.cpp
index 393d22a8..df45bfb5 100644
--- a/src/animation/FrameUpdate.cpp
+++ b/src/animation/FrameUpdate.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "NodeName.h"
#include "VisibilityPlugins.h"
#include "AnimBlendClumpData.h"
@@ -220,9 +220,3 @@ FrameUpdateCallBackWith3dVelocityExtraction(AnimBlendFrameData *frame, void *arg
}
RwMatrixUpdate(mat);
}
-
-STARTPATCHES
- InjectHook(0x4025F0, FrameUpdateCallBack, PATCH_JUMP);
- InjectHook(0x4028B0, FrameUpdateCallBackWithVelocityExtraction, PATCH_JUMP);
- InjectHook(0x402D40, FrameUpdateCallBackWith3dVelocityExtraction, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/RpAnimBlend.cpp b/src/animation/RpAnimBlend.cpp
index 9c847139..20290666 100644
--- a/src/animation/RpAnimBlend.cpp
+++ b/src/animation/RpAnimBlend.cpp
@@ -1,5 +1,5 @@
#include "common.h"
-#include "patcher.h"
+
#include "General.h"
#include "NodeName.h"
#include "VisibilityPlugins.h"
@@ -8,7 +8,7 @@
#include "AnimBlendAssociation.h"
#include "RpAnimBlend.h"
-RwInt32 &ClumpOffset = *(RwInt32*)0x8F1B84;
+RwInt32 ClumpOffset;
enum
{
@@ -378,26 +378,3 @@ RpAnimBlendClumpUpdateAnimations(RpClump *clump, float timeDelta)
}
RwFrameUpdateObjects(RpClumpGetFrame(clump));
}
-
-
-STARTPATCHES
- InjectHook(0x4052D0, RpAnimBlendPluginAttach, PATCH_JUMP);
- InjectHook(0x4052A0, RpAnimBlendAllocateData, PATCH_JUMP);
- InjectHook(0x405780, (CAnimBlendAssociation *(*)(CAnimBlendAssociation*))RpAnimBlendGetNextAssociation, PATCH_JUMP);
- InjectHook(0x4057A0, (CAnimBlendAssociation *(*)(CAnimBlendAssociation*,uint32))RpAnimBlendGetNextAssociation, PATCH_JUMP);
-
- InjectHook(0x405520, RpAnimBlendClumpSetBlendDeltas, PATCH_JUMP);
- InjectHook(0x405560, RpAnimBlendClumpRemoveAllAssociations, PATCH_JUMP);
- InjectHook(0x405570, RpAnimBlendClumpRemoveAssociations, PATCH_JUMP);
- InjectHook(0x405480, RpAnimBlendClumpInit, PATCH_JUMP);
- InjectHook(0x405500, RpAnimBlendClumpIsInitialized, PATCH_JUMP);
- InjectHook(0x4055C0, RpAnimBlendClumpGetAssociation, PATCH_JUMP);
- InjectHook(0x4055F0, RpAnimBlendClumpGetMainAssociation, PATCH_JUMP);
- InjectHook(0x405680, RpAnimBlendClumpGetMainPartialAssociation, PATCH_JUMP);
- InjectHook(0x4056D0, RpAnimBlendClumpGetMainAssociation_N, PATCH_JUMP);
- InjectHook(0x405710, RpAnimBlendClumpGetMainPartialAssociation_N, PATCH_JUMP);
- InjectHook(0x405750, (CAnimBlendAssociation *(*)(RpClump*, uint32))RpAnimBlendClumpGetFirstAssociation, PATCH_JUMP);
- InjectHook(0x4031B0, (CAnimBlendAssociation *(*)(RpClump*))RpAnimBlendClumpGetFirstAssociation, PATCH_JUMP);
- InjectHook(0x405460, RpAnimBlendClumpFillFrameArray, PATCH_JUMP);
- InjectHook(0x4024B0, RpAnimBlendClumpUpdateAnimations, PATCH_JUMP);
-ENDPATCHES
diff --git a/src/animation/RpAnimBlend.h b/src/animation/RpAnimBlend.h
index f9e14c42..ccfa5872 100644
--- a/src/animation/RpAnimBlend.h
+++ b/src/animation/RpAnimBlend.h
@@ -11,7 +11,7 @@ struct AnimBlendFrameUpdateData
CAnimBlendNode *nodes[16];
};
-extern RwInt32 &ClumpOffset;
+extern RwInt32 ClumpOffset;
#define RPANIMBLENDCLUMPDATA(o) (RWPLUGINOFFSET(CAnimBlendClumpData*, o, ClumpOffset))
bool RpAnimBlendPluginAttach(void);