summaryrefslogtreecommitdiffstats
path: root/src/rw
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2020-06-01 20:28:04 +0200
committeraap <aap@papnet.eu>2020-06-01 20:32:43 +0200
commitd8272b8812fb7e5b6a6045a796c535d10ebb95c2 (patch)
tree81402ea6f179b491284f13ef5f9d2dba0a39bd7e /src/rw
parentMerge branch 'miami' of github.com:GTAmodding/re3 into miami (diff)
downloadre3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.tar
re3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.tar.gz
re3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.tar.bz2
re3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.tar.lz
re3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.tar.xz
re3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.tar.zst
re3-d8272b8812fb7e5b6a6045a796c535d10ebb95c2.zip
Diffstat (limited to 'src/rw')
-rw-r--r--src/rw/RwHelper.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rw/RwHelper.cpp b/src/rw/RwHelper.cpp
index a87874d7..76c6c753 100644
--- a/src/rw/RwHelper.cpp
+++ b/src/rw/RwHelper.cpp
@@ -329,14 +329,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;
}