From: havoc Date: Sun, 31 Jan 2010 18:43:13 +0000 (+0000) Subject: fix a bug with skel_create where it returned a bone number instead of a X-Git-Tag: xonotic-v0.1.0preview~230^2~570 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=a7244a5817749b41790c100307ab4798c1c79be1;p=xonotic%2Fdarkplaces.git fix a bug with skel_create where it returned a bone number instead of a skeleton number git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9899 d7cf8633-e32d-0410-b094-e92efae38249 --- diff --git a/clvm_cmds.c b/clvm_cmds.c index 8407b090..c1f3dd63 100644 --- a/clvm_cmds.c +++ b/clvm_cmds.c @@ -3434,12 +3434,12 @@ static void VM_CL_skel_create(void) if (i == MAX_EDICTS) return; prog->skeletons[i] = skeleton = Mem_Alloc(cls.levelmempool, sizeof(skeleton_t) + model->num_bones * sizeof(matrix4x4_t)); + PRVM_G_FLOAT(OFS_RETURN) = i + 1; skeleton->model = model; skeleton->relativetransforms = (matrix4x4_t *)(skeleton+1); // initialize to identity matrices for (i = 0;i < skeleton->model->num_bones;i++) skeleton->relativetransforms[i] = identitymatrix; - PRVM_G_FLOAT(OFS_RETURN) = i + 1; } // #264 float(float skel, entity ent, float modlindex, float retainfrac, float firstbone, float lastbone) skel_build = #264; // (FTE_CSQC_SKELETONOBJECTS) blend in a percentage of standard animation, 0 replaces entirely, 1 does nothing, 0.5 blends half, etc, and this only alters the bones in the specified range for which out of bounds values like 0,100000 are safe (uses .frame, .frame2, .frame3, .frame4, .lerpfrac, .lerpfrac3, .lerpfrac4, .frame1time, .frame2time, .frame3time, .frame4time), returns skel on success, 0 on failure diff --git a/svvm_cmds.c b/svvm_cmds.c index 21a74c01..52a9bb93 100644 --- a/svvm_cmds.c +++ b/svvm_cmds.c @@ -2826,12 +2826,12 @@ static void VM_SV_skel_create(void) if (i == MAX_EDICTS) return; prog->skeletons[i] = skeleton = Mem_Alloc(cls.levelmempool, sizeof(skeleton_t) + model->num_bones * sizeof(matrix4x4_t)); + PRVM_G_FLOAT(OFS_RETURN) = i + 1; skeleton->model = model; skeleton->relativetransforms = (matrix4x4_t *)(skeleton+1); // initialize to identity matrices for (i = 0;i < skeleton->model->num_bones;i++) skeleton->relativetransforms[i] = identitymatrix; - PRVM_G_FLOAT(OFS_RETURN) = i + 1; } // #264 float(float skel, entity ent, float modlindex, float retainfrac, float firstbone, float lastbone) skel_build = #264; // (FTE_CSQC_SKELETONOBJECTS) blend in a percentage of standard animation, 0 replaces entirely, 1 does nothing, 0.5 blends half, etc, and this only alters the bones in the specified range for which out of bounds values like 0,100000 are safe (uses .frame, .frame2, .frame3, .frame4, .lerpfrac, .lerpfrac3, .lerpfrac4, .frame1time, .frame2time, .frame3time, .frame4time), returns skel on success, 0 on failure