X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcsqcmodellib%2Fcl_model.qh;h=ded7357419221c50305a1a907df5d355d995fb54;hp=d386565336d0817902d7e19c4fb15328361eb9c5;hb=6a28c11c8abd729c7f95ad7050d204aa2453d2ff;hpb=a50d76ee500698d2ee6794ab9ea3084276cc1bed diff --git a/qcsrc/csqcmodellib/cl_model.qh b/qcsrc/csqcmodellib/cl_model.qh index d386565336..ded7357419 100644 --- a/qcsrc/csqcmodellib/cl_model.qh +++ b/qcsrc/csqcmodellib/cl_model.qh @@ -20,7 +20,7 @@ * IN THE SOFTWARE. */ -void CSQCModel_Read(); +void CSQCModel_Read(float isnew); #define CSQCMODEL_IF(cond) #define CSQCMODEL_ENDIF @@ -35,3 +35,16 @@ void CSQCModel_Read(); entity CSQCModel_server2csqc(float pl); .float csqcmodel_teleported; + +// this is exported for custom frame animation code. Use with care. +// to update frames, first call this: +void CSQCModel_InterpolateAnimation_2To4_PreNote(float sf); +void CSQCModel_InterpolateAnimation_1To2_PreNote(float sf); +// then update frame, frame1time (and possibly frame2, frame2time, lerpfrac) +// if set_times is not set, caller is responsible for frame1time, frame2time, csqcmodel_lerpfractime! +void CSQCModel_InterpolateAnimation_2To4_Note(float sf, float set_times); +void CSQCModel_InterpolateAnimation_1To2_Note(float sf, float set_times); +// to retrieve animation state, call this +void CSQCModel_InterpolateAnimation_2To4_Do(); +void CSQCModel_InterpolateAnimation_1To2_Do(); +// will overwrite lerpfrac, lerpfrac3, lerpfrac4, and possibly clear frame*time if they are undisplayed according to lerpfracs