mirror of
https://github.com/halpz/re3.git
synced 2025-07-16 15:28:11 +00:00
more small fixes
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
#include "ctype.h"
|
||||
|
||||
#include "General.h"
|
||||
#include "RwHelper.h"
|
||||
#include "ModelInfo.h"
|
||||
#include "AnimManager.h"
|
||||
#include "RpAnimBlend.h"
|
||||
@ -131,6 +132,10 @@ CAnimBlendAssocGroup::CreateAssociations(const char *name)
|
||||
assert(model);
|
||||
printf("Associated anim %s with model %s\n", anim->name, model->GetName());
|
||||
RpClump *clump = (RpClump*)model->CreateInstance();
|
||||
#ifdef PED_SKIN
|
||||
if(IsClumpSkinned(clump))
|
||||
RpClumpForAllAtomics(clump, AtomicRemoveAnimFromSkinCB, nil);
|
||||
#endif
|
||||
RpAnimBlendClumpInit(clump);
|
||||
assocList[i].Init(clump, anim);
|
||||
RpClumpDestroy(clump);
|
||||
|
@ -147,11 +147,11 @@ CAnimBlendAssociation::Start(float time)
|
||||
SetCurrentTime(time);
|
||||
}
|
||||
|
||||
void
|
||||
bool
|
||||
CAnimBlendAssociation::UpdateTime(float timeDelta, float relSpeed)
|
||||
{
|
||||
if(!IsRunning())
|
||||
return;
|
||||
return true;
|
||||
|
||||
timeStep = (flags & ASSOC_MOVEMENT ? relSpeed*hierarchy->totalLength : speed) * timeDelta;
|
||||
currentTime += timeStep;
|
||||
@ -174,6 +174,7 @@ CAnimBlendAssociation::UpdateTime(float timeDelta, float relSpeed)
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// return whether we still exist after this function
|
||||
|
@ -75,7 +75,7 @@ public:
|
||||
void SetCurrentTime(float time);
|
||||
void SyncAnimation(CAnimBlendAssociation *other);
|
||||
void Start(float time);
|
||||
void UpdateTime(float timeDelta, float relSpeed);
|
||||
bool UpdateTime(float timeDelta, float relSpeed);
|
||||
bool UpdateBlend(float timeDelta);
|
||||
|
||||
void SetRun(void) { flags |= ASSOC_RUNNING; }
|
||||
|
@ -23,5 +23,6 @@ public:
|
||||
prev->next = next;
|
||||
if(next)
|
||||
next->prev = prev;
|
||||
Init();
|
||||
}
|
||||
};
|
||||
|
@ -6,8 +6,8 @@
|
||||
void
|
||||
CAnimBlendNode::Init(void)
|
||||
{
|
||||
frameA = 0;
|
||||
frameB = 0;
|
||||
frameA = -1;
|
||||
frameB = -1;
|
||||
remainingTime = 0.0f;
|
||||
sequence = nil;
|
||||
association = nil;
|
||||
|
@ -11,8 +11,8 @@
|
||||
#include "AnimBlendAssocGroup.h"
|
||||
#include "AnimManager.h"
|
||||
|
||||
CAnimBlock CAnimManager::ms_aAnimBlocks[2];
|
||||
CAnimBlendHierarchy CAnimManager::ms_aAnimations[250];
|
||||
CAnimBlock CAnimManager::ms_aAnimBlocks[NUMANIMBLOCKS];
|
||||
CAnimBlendHierarchy CAnimManager::ms_aAnimations[NUMANIMATIONS];
|
||||
int32 CAnimManager::ms_numAnimBlocks;
|
||||
int32 CAnimManager::ms_numAnimations;
|
||||
CAnimBlendAssocGroup *CAnimManager::ms_aAnimAssocGroups;
|
||||
@ -750,8 +750,8 @@ CAnimManager::LoadAnimFiles(void)
|
||||
CBaseModelInfo *mi = CModelInfo::GetModelInfo(ms_aAnimAssocDefinitions[i].modelIndex);
|
||||
RpClump *clump = (RpClump*)mi->CreateInstance();
|
||||
RpAnimBlendClumpInit(clump);
|
||||
CAnimBlendAssocGroup *group = &CAnimManager::ms_aAnimAssocGroups[i];
|
||||
const AnimAssocDefinition *def = &CAnimManager::ms_aAnimAssocDefinitions[i];
|
||||
CAnimBlendAssocGroup *group = &ms_aAnimAssocGroups[i];
|
||||
const AnimAssocDefinition *def = &ms_aAnimAssocDefinitions[i];
|
||||
group->CreateAssociations(def->blockName, clump, def->animNames, def->numAnims);
|
||||
for(j = 0; j < group->numAssociations; j++)
|
||||
group->GetAnimation(j)->flags |= def->animDescs[j].flags;
|
||||
|
@ -64,8 +64,8 @@ struct AnimAssocDefinition
|
||||
class CAnimManager
|
||||
{
|
||||
static const AnimAssocDefinition ms_aAnimAssocDefinitions[NUM_ANIM_ASSOC_GROUPS];
|
||||
static CAnimBlock ms_aAnimBlocks[2];
|
||||
static CAnimBlendHierarchy ms_aAnimations[250];
|
||||
static CAnimBlock ms_aAnimBlocks[NUMANIMBLOCKS];
|
||||
static CAnimBlendHierarchy ms_aAnimations[NUMANIMATIONS];
|
||||
static int32 ms_numAnimBlocks;
|
||||
static int32 ms_numAnimations;
|
||||
static CAnimBlendAssocGroup *ms_aAnimAssocGroups;
|
||||
|
Reference in New Issue
Block a user