mirror of
https://github.com/halpz/re3.git
synced 2025-07-22 16:29:45 +00:00
peds starting to work
This commit is contained in:
@ -21,12 +21,6 @@ CCutsceneObject::CCutsceneObject(void)
|
||||
ObjectCreatedBy = CUTSCENE_OBJECT;
|
||||
m_fMass = 1.0f;
|
||||
m_fTurnMass = 1.0f;
|
||||
|
||||
#ifdef PED_SKIN
|
||||
bRenderHead = true;
|
||||
bRenderRightHand = true;
|
||||
bRenderLeftHand = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
@ -85,47 +79,9 @@ CCutsceneObject::PreRender(void)
|
||||
void
|
||||
CCutsceneObject::Render(void)
|
||||
{
|
||||
#ifdef PED_SKIN
|
||||
if(IsClumpSkinned(GetClump())){
|
||||
if(bRenderLeftHand) RenderLimb(BONE_Lhand);
|
||||
if(bRenderRightHand) RenderLimb(BONE_Rhand);
|
||||
if(bRenderHead) RenderLimb(BONE_head);
|
||||
}
|
||||
#endif
|
||||
CObject::Render();
|
||||
}
|
||||
|
||||
#ifdef PED_SKIN
|
||||
void
|
||||
CCutsceneObject::RenderLimb(int32 bone)
|
||||
{
|
||||
RpAtomic *atomic;
|
||||
CPedModelInfo *mi = (CPedModelInfo *)CModelInfo::GetModelInfo(GetModelIndex());
|
||||
switch(bone){
|
||||
case BONE_head:
|
||||
atomic = mi->getHead();
|
||||
break;
|
||||
case BONE_Lhand:
|
||||
atomic = mi->getLeftHand();
|
||||
break;
|
||||
case BONE_Rhand:
|
||||
atomic = mi->getRightHand();
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
if(atomic){
|
||||
RpHAnimHierarchy *hier = GetAnimHierarchyFromSkinClump(GetClump());
|
||||
int idx = RpHAnimIDGetIndex(hier, bone);
|
||||
RwMatrix *mat = &RpHAnimHierarchyGetMatrixArray(hier)[idx];
|
||||
RwFrame *frame = RpAtomicGetFrame(atomic);
|
||||
*RwFrameGetMatrix(frame) = *mat;
|
||||
RwFrameUpdateObjects(frame);
|
||||
RpAtomicRender(atomic);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool
|
||||
CCutsceneObject::SetupLighting(void)
|
||||
{
|
||||
|
@ -5,29 +5,12 @@
|
||||
class CCutsceneObject : public CObject
|
||||
{
|
||||
public:
|
||||
#ifdef PED_SKIN
|
||||
bool bRenderHead;
|
||||
bool bRenderRightHand;
|
||||
bool bRenderLeftHand;
|
||||
|
||||
bool GetRenderHead(void) { return bRenderHead; }
|
||||
bool GetRenderRightHand(void) { return bRenderRightHand; }
|
||||
bool GetRenderLeftHand(void) { return bRenderLeftHand; }
|
||||
void SetRenderHead(bool render) { bRenderHead = render; }
|
||||
void SetRenderRightHand(bool render) { bRenderRightHand = render; }
|
||||
void SetRenderLeftHand(bool render) { bRenderLeftHand = render; }
|
||||
#endif
|
||||
|
||||
CCutsceneObject(void);
|
||||
|
||||
void SetModelIndex(uint32 id);
|
||||
void ProcessControl(void);
|
||||
void PreRender(void);
|
||||
void Render(void);
|
||||
void RenderLimb(int32 bone);
|
||||
bool SetupLighting(void);
|
||||
void RemoveLighting(bool reset);
|
||||
};
|
||||
#ifndef PED_SKIN
|
||||
static_assert(sizeof(CCutsceneObject) == 0x198, "CCutsceneObject: error");
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user