This repository has been archived by the owner. It is now read-only.
Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
with
10 additions
and
4 deletions.
-
+2
−2
src/core/common.h
-
+8
−2
src/rw/RwHelper.cpp
There are no files selected for viewing
|
|
@@ -29,14 +29,14 @@ |
|
|
#define STREAMFILE(str) (((rw::StreamFile*)(str))->file) |
|
|
#define HIERNODEINFO(hier) ((hier)->nodeInfo) |
|
|
#define HIERNODEID(hier, i) ((hier)->nodeInfo[i].id) |
|
|
#define HANIMFRAMES(anim) ((anim)->keyframes) |
|
|
#define HANIMFRAME(anim, i) ((RwUInt8*)(anim)->keyframes + (i)*(anim)->interpInfo->animKeyFrameSize) |
|
|
#else |
|
|
#define RWHALFPIXEL // always d3d |
|
|
#define STREAMPOS(str) ((str)->Type.memory.position) |
|
|
#define STREAMFILE(str) ((str)->Type.file.fpFile) |
|
|
#define HIERNODEINFO(hier) ((hier)->pNodeInfo) |
|
|
#define HIERNODEID(hier, i) ((hier)->pNodeInfo[i].nodeID) |
|
|
#define HANIMFRAMES(anim) ((anim)->pFrames) |
|
|
#define HANIMFRAME(anim, i) ((RwUInt8*)(anim)->pFrames + (i)*(anim)->interpInfo->keyFrameSize) |
|
|
#endif |
|
|
|
|
|
#ifdef RWHALFPIXEL |
|
|
|
|
|
@@ -319,14 +319,20 @@ HAnimAnimationCreateForHierarchy(RpHAnimHierarchy *hier) |
|
|
RpHAnimAnimation *anim = RpHAnimAnimationCreate(rpHANIMSTDKEYFRAMETYPEID, numNodes, 0, 0.0f); |
|
|
if(anim == nil) |
|
|
return nil; |
|
|
RpHAnimStdKeyFrame *frame = (RpHAnimStdKeyFrame*)HANIMFRAMES(anim); |
|
|
RpHAnimStdKeyFrame *frame; |
|
|
for(i = 0; i < numNodes; i++){ |
|
|
frame = (RpHAnimStdKeyFrame*)HANIMFRAME(anim, i); // games uses struct size here, not safe |
|
|
frame->q.real = 1.0f; |
|
|
frame->q.imag.x = frame->q.imag.y = frame->q.imag.z = 0.0f; |
|
|
frame->t.x = frame->t.y = frame->t.z = 0.0f; |
|
|
#ifdef FIX_BUGS |
|
|
// times are subtracted and divided giving NaNs |
|
|
// so they can't both be 0 |
|
|
frame->time = i/hier->numNodes; |
|
|
#else |
|
|
frame->time = 0.0f; |
|
|
#endif |
|
|
frame->prevFrame = nil; |
|
|
frame++; |
|
|
} |
|
|
return anim; |
|
|
} |
|
|
|
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.