$includemodel

I’m trying to include some of Alyx’s animations to the existing Female_02 and every time I do it:

a) Removes Female_02’s hair and makes her look like a nicely sanded wooden post
b) Doesn’t include any animations

I’m adding $includemodel “Alyx_animations.mdl” to the QC file… should I be using a different decompiler or what?

Thanks guys.

Here’s a picture of what I’m getting:

Before:

http://dl.dropbox.com/u/7701741/fixed.png

After:

http://dl.dropbox.com/u/7701741/broken.png

I think all of those alyx animations are actually in the female shared anims (might be mistaken though)
As to the sandy hair - you need to find the textures and clamp or unclamp the S and T clamps (it’s due to different texture and model versions)

Ah, I see. I got the animations working but I had to use Mossman as the model since this won’t extract…heh. I have the extractors on HL2 as the game engine (orangebox)…are you saying it needs to be on something different?

Source got staggered a bunch. The decompiler needs to go in sourcesdk/ep1/bin/ still.

GUIStudioMdl goes in sourcesdk/

You need to set the Orangebox tools path to sourcesdk/2009/bin/

EP1 tools path to sourcesdk/ep1/bin/

Thanks for your help guys. Did what you said about changing the paths and I’m still having the same issues. I’m using Cannonfodder’s 0.5 to decompile and GUIStudioMDL to recompile. I don’t really know what’s causing this and it’s ticking me off now since all the other models recompile fine… (as in main-character players, like mossman, alyx) the animations are included as well, so it’s like it’s not getting the face/hair meshes or something.

If anyone wants to run this and compile it for me that’d also be fine too, I’m not modifying anything… just including the animations :stuck_out_tongue:

QC File



$cd "C:\experiment\modelsrc\sara"
$modelname "Humans\Group02\Female_02.mdl"
$model "female_02" "female_02_reference.smd" {
     flexfile "mdldecompiler_expressions.vta" {
          flex "upper_left" frame 4
          flex "lower_left" frame 6
          flex "AU42" frame 7
          flexpair "AU1" 1.0 frame 8
          flexpair "AU2" 1.0 frame 9
          flexpair "AU4" 1.0 frame 10
          flexpair "AU1AU2" 1.0 frame 11
          flexpair "AU12" 1.0 frame 12
          flex "AU12AU25" frame 13
          flexpair "AU15" 1.0 frame 14
          flexpair "AU17" 1.0 frame 15
          flexpair "AU10" 1.0 frame 16
          flex "AU16" frame 17
          flexpair "AU6" 1.0 frame 18
          flexpair "AU9" 1.0 frame 19
          flexpair "AU25" 1.0 frame 20
          flexpair "AU18" 1.0 frame 21
          flexpair "AU22" 1.0 frame 22
          flexpair "AU20" 1.0 frame 23
          flex "AU32" frame 24
          flex "AU24" frame 25
          flex "AU38" frame 26
          flex "AU31" frame 27
          flexpair "AU26" 1.0 frame 28
          flexpair "AU27" 1.0 frame 29
          flexpair "AU26Z" 1.0 frame 30
     }
     eyeball righteye ValveBiped.Bip01_Head1 -1.197 -3.862 64.992 eyeball_r 1.000  4.000 pupil_r 0.660
     eyeball lefteye ValveBiped.Bip01_Head1 1.124 -3.862 64.975 eyeball_l 1.000  -4.000 pupil_l 0.660
     // If you uncomment the following lines the eyes will be closed
     // I'm including it anyway in case anyone wants to experiment
     // eyelid  upper_right "mdldecompiler_expressions.vta" lowerer 1 -0.207200 neutral 1 0.186100 raiser 1 0.289600 split 0.1 eyeball righteye
     // eyelid  lower_right "mdldecompiler_expressions.vta" lowerer 2 -0.299900 neutral 2 -0.199900 raiser 2 -0.043300  split 0.1 eyeball righteye
     // If you uncomment the following lines the eyes will be closed
     // I'm including it anyway in case anyone wants to experiment
     // eyelid  upper_left "mdldecompiler_expressions.vta" lowerer 4 -0.207200 neutral 4 0.186100 raiser 4 0.289600 split -0.1 eyeball lefteye
     // eyelid  lower_left "mdldecompiler_expressions.vta" lowerer 6 -0.299900 neutral 6 -0.199900 raiser 6 -0.043300  split -0.1 eyeball lefteye
     mouth 0 "mouth"  ValveBiped.Bip01_Head1 0.000 1.000 0.000
     flexcontroller eyelid right_lid_raiser "range" 0.000 1.000
     flexcontroller eyelid left_lid_raiser "range" 0.000 1.000
     flexcontroller eyelid right_lid_tightener "range" 0.000 1.000
     flexcontroller eyelid left_lid_tightener "range" 0.000 1.000
     flexcontroller eyelid right_lid_droop "range" 0.000 1.000
     flexcontroller eyelid left_lid_droop "range" 0.000 1.000
     flexcontroller eyelid right_lid_closer "range" 0.000 1.000
     flexcontroller eyelid left_lid_closer "range" 0.000 1.000
     flexcontroller eyelid half_closed "range" 0.000 1.000
     flexcontroller eyelid blink "range" 0.000 1.000
     flexcontroller brow right_inner_raiser "range" 0.000 1.000
     flexcontroller brow left_inner_raiser "range" 0.000 1.000
     flexcontroller brow right_outer_raiser "range" 0.000 1.000
     flexcontroller brow left_outer_raiser "range" 0.000 1.000
     flexcontroller brow right_lowerer "range" 0.000 1.000
     flexcontroller brow left_lowerer "range" 0.000 1.000
     flexcontroller nose right_cheek_raiser "range" 0.000 1.000
     flexcontroller nose left_cheek_raiser "range" 0.000 1.000
     flexcontroller nose wrinkler "range" 0.000 1.000
     flexcontroller nose dilator "range" 0.000 1.000
     flexcontroller mouth right_upper_raiser "range" 0.000 1.000
     flexcontroller mouth left_upper_raiser "range" 0.000 1.000
     flexcontroller mouth right_corner_puller "range" 0.000 1.000
     flexcontroller mouth left_corner_puller "range" 0.000 1.000
     flexcontroller mouth right_corner_depressor "range" 0.000 1.000
     flexcontroller mouth left_corner_depressor "range" 0.000 1.000
     flexcontroller mouth chin_raiser "range" 0.000 1.000
     flexcontroller phoneme right_part "range" 0.000 1.000
     flexcontroller phoneme left_part "range" 0.000 1.000
     flexcontroller phoneme right_puckerer "range" 0.000 1.000
     flexcontroller phoneme left_puckerer "range" 0.000 1.000
     flexcontroller phoneme right_funneler "range" 0.000 1.000
     flexcontroller phoneme left_funneler "range" 0.000 1.000
     flexcontroller phoneme right_stretcher "range" 0.000 1.000
     flexcontroller phoneme left_stretcher "range" 0.000 1.000
     flexcontroller phoneme bite "range" 0.000 1.000
     flexcontroller phoneme presser "range" 0.000 1.000
     flexcontroller phoneme tightener "range" 0.000 1.000
     flexcontroller phoneme jaw_clencher "range" 0.000 1.000
     flexcontroller phoneme jaw_drop "range" 0.000 1.000
     flexcontroller phoneme right_mouth_drop "range" 0.000 1.000
     flexcontroller phoneme left_mouth_drop "range" 0.000 1.000
     flexcontroller mouth smile "range" 0.000 1.000
     flexcontroller mouth lower_lip "range" 0.000 1.000
     flexcontroller head head_rightleft "range" -30.000 30.000
     flexcontroller head head_updown "range" -15.000 15.000
     flexcontroller head head_tilt "range" -15.000 15.000
     flexcontroller eyes eyes_updown "range" -30.000 30.000
     flexcontroller eyes eyes_rightleft "range" -30.000 30.000
     flexcontroller body body_rightleft "range" -30.000 30.000
     flexcontroller chest chest_rightleft "range" -30.000 30.000
     flexcontroller head head_forwardback "range" -0.200 0.200
     flexcontroller gesture gesture_updown "range" -1.000 1.000
     flexcontroller gesture gesture_rightleft "range" -1.000 1.000
    localvar upper_right_raiser
    %upper_right_raiser = ( right_lid_raiser * (( 1.000 - ( right_lid_droop *  0.800)) * (( 1.000 -  right_lid_closer) * ( 1.000 -  blink))))
    localvar upper_right_neutral
    %upper_right_neutral = (( 1.000 - ( right_lid_droop *  0.800)) * (( 1.000 -  right_lid_raiser) * (( 1.000 -  right_lid_closer) * ( 1.000 -  blink))))
    localvar upper_right_lowerer
    %upper_right_lowerer = ( right_lid_closer + ( blink * ( 1.000 -  right_lid_closer)))
    localvar upper_left_raiser
    %upper_left_raiser = ( left_lid_raiser * (( 1.000 - ( left_lid_droop *  0.800)) * (( 1.000 -  left_lid_closer) * ( 1.000 -  blink))))
    localvar upper_left_neutral
    %upper_left_neutral = (( 1.000 - ( left_lid_droop *  0.800)) * (( 1.000 -  left_lid_raiser) * (( 1.000 -  left_lid_closer) * ( 1.000 -  blink))))
    localvar upper_left_lowerer
    %upper_left_lowerer = ( left_lid_closer + ( blink * ( 1.000 -  left_lid_closer)))
    localvar lower_right_raiser
    %lower_right_raiser = ( right_lid_closer + ( blink * ( 0.500 * ( 1.000 -  right_lid_closer))))
    localvar lower_right_neutral
    %lower_right_neutral = (( 1.000 -  right_lid_closer) * (( 1.000 - ( 0.500 *  blink)) * (( 1.000 - ( right_lid_tightener *  0.500)) * ( 1.000 - ( right_cheek_raiser *  0.250)))))
    localvar lower_right_lowerer
    %lower_right_lowerer =  0.000
    localvar lower_left_raiser
    %lower_left_raiser = ( left_lid_closer + ( blink * ( 0.500 * ( 1.000 -  left_lid_closer))))
    localvar lower_left_neutral
    %lower_left_neutral = (( 1.000 -  left_lid_closer) * (( 1.000 - ( 0.500 *  blink)) * (( 1.000 - ( left_lid_tightener *  0.500)) * ( 1.000 - ( left_cheek_raiser *  0.250)))))
    localvar lower_left_lowerer
    %lower_left_lowerer =  0.000
    %AU1R = ( right_inner_raiser * (( 1.000 -  right_outer_raiser) * ( 1.000 -  right_lowerer)))
    %AU1L = ( left_inner_raiser * (( 1.000 -  left_outer_raiser) * ( 1.000 -  left_lowerer)))
    %AU2R = ( right_outer_raiser * (( 1.000 -  right_inner_raiser) * ( 1.000 -  right_lowerer)))
    %AU2L = ( left_outer_raiser * (( 1.000 -  left_inner_raiser) * ( 1.000 -  left_lowerer)))
    %AU1AU2R = ( right_inner_raiser * ( right_outer_raiser * ( 1.000 -  right_lowerer)))
    %AU1AU2L = ( left_inner_raiser * ( left_outer_raiser * ( 1.000 -  left_lowerer)))
    %AU4R =  right_lowerer
    %AU4L =  left_lowerer
    %AU6R =  right_cheek_raiser
    %AU6L =  left_cheek_raiser
    %AU9R =  wrinkler
    %AU9L =  wrinkler
    %AU38 =  dilator
    localvar right_open
    %right_open = ( smile + (( right_part * ( 1.000 -  smile)) + ( right_puckerer + ( right_funneler + (( right_upper_raiser *  0.500) + ( lower_lip *  0.500))))))
    localvar left_open
    %left_open = ( smile + (( left_part * ( 1.000 -  smile)) + ( left_puckerer + ( left_funneler + (( left_upper_raiser *  0.500) + ( lower_lip *  0.500))))))
    localvar right_lip_suppressor
    %right_lip_suppressor = (( 1.000 /  %right_open) * (( 1.000 -  presser) * ( 1.000 -  bite)))
    localvar left_lip_suppressor
    %left_lip_suppressor = (( 1.000 /  %left_open) * (( 1.000 -  presser) * ( 1.000 -  bite)))
    %AU10R = ( right_upper_raiser * ( right_upper_raiser * ( 0.500 *  %right_lip_suppressor)))
    %AU10L = ( left_upper_raiser * ( left_upper_raiser * ( 0.500 *  %left_lip_suppressor)))
    %AU25R = ( right_part * (( right_part *  %right_lip_suppressor) * ( 1.000 -  smile)))
    %AU25L = ( left_part * (( left_part *  %left_lip_suppressor) * ( 1.000 -  smile)))
    %AU12AU25 = ( smile * ( smile * ( 0.500 * ( %right_lip_suppressor +  %left_lip_suppressor))))
    %AU18R = ( right_puckerer * ( right_puckerer *  %right_lip_suppressor))
    %AU18L = ( left_puckerer * ( left_puckerer *  %left_lip_suppressor))
    %AU22R = ( right_funneler * ( right_funneler *  %right_lip_suppressor))
    %AU22L = ( left_funneler * ( left_funneler *  %left_lip_suppressor))
    %AU17R = ( chin_raiser * (( 1.000 - ( jaw_drop *  0.500)) * (( 1.000 -  bite) * (( 1.000 - ( 0.600 * ( %AU25R + ( %AU18R +  %AU22R)))) * ( 1.000 -  smile)))))
    %AU17L = ( chin_raiser * (( 1.000 - ( jaw_drop *  0.500)) * (( 1.000 -  bite) * (( 1.000 - ( 0.600 * ( %AU25L + ( %AU18L +  %AU22L)))) * ( 1.000 -  smile)))))
    localvar right_depressor_suppressor
    %right_depressor_suppressor = (( 1.000 / (( %AU18R *  0.800) + (( %AU22R *  0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher +  right_corner_depressor))))))) * (( 1.000 - ( jaw_drop *  0.500)) * ( 1.000 - ( smile *  0.500))))
    localvar left_depressor_suppressor
    %left_depressor_suppressor = (( 1.000 / (( %AU18L *  0.800) + (( %AU22L *  0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher +  left_corner_depressor))))))) * (( 1.000 - ( jaw_drop *  0.500)) * ( 1.000 - ( smile *  0.500))))
    %AU15R = ( right_corner_depressor * ( right_corner_depressor *  %right_depressor_suppressor))
    %AU15L = ( left_corner_depressor * ( left_corner_depressor *  %left_depressor_suppressor))
    localvar right_corner_suppressor
    %right_corner_suppressor = (( 1.000 / (( %AU18R *  0.800) + (( %AU22R *  0.800) + ( %AU17R + ( bite + ( right_corner_puller + ( right_stretcher +  right_corner_depressor))))))) * (( 1.000 - ( jaw_drop *  0.500)) * ( 1.000 -  smile)))
    localvar left_corner_suppressor
    %left_corner_suppressor = (( 1.000 / (( %AU18L *  0.800) + (( %AU22L *  0.800) + ( %AU17L + ( bite + ( left_corner_puller + ( left_stretcher +  left_corner_depressor))))))) * (( 1.000 - ( jaw_drop *  0.500)) * ( 1.000 -  smile)))
    %AU12R = ( right_corner_puller * ( right_corner_puller *  %right_corner_suppressor))
    %AU12L = ( left_corner_puller * ( left_corner_puller *  %left_corner_suppressor))
    %AU20R = ( right_stretcher * ( right_stretcher *  %right_corner_suppressor))
    %AU20L = ( left_stretcher * ( left_stretcher *  %left_corner_suppressor))
    %AU32 =  bite
    %AU24 = ( presser + (( 1.000 -  presser) *  tightener))
    %AU31 = ( jaw_clencher * ( jaw_clencher / ( jaw_clencher +  jaw_drop)))
    localvar right_drop_suppressor
    %right_drop_suppressor = (( 1.000 / (( 0.500 *  %right_open) +  right_mouth_drop)) * (( 1.000 -  presser) * ( 1.000 -  bite)))
    localvar left_drop_suppressor
    %left_drop_suppressor = (( 1.000 / (( 0.500 *  %left_open) +  left_mouth_drop)) * (( 1.000 -  presser) * ( 1.000 -  bite)))
    localvar right_drop
    %right_drop = ( right_mouth_drop * ( right_mouth_drop *  %right_drop_suppressor))
    localvar left_drop
    %left_drop = ( left_mouth_drop * ( left_mouth_drop *  %left_drop_suppressor))
    %AU26R = ( jaw_drop * (( 1.000 -  %right_drop) * ( jaw_drop / ( jaw_clencher +  jaw_drop))))
    %AU26L = ( jaw_drop * (( 1.000 -  %left_drop) * ( jaw_drop / ( jaw_clencher +  jaw_drop))))
    %AU27R = ( jaw_drop * ( %right_drop * ( jaw_drop / ( jaw_clencher +  jaw_drop))))
    %AU27L = ( jaw_drop * ( %left_drop * ( jaw_drop / ( jaw_clencher +  jaw_drop))))
    %AU16 = ( lower_lip * (( lower_lip * ( 0.250 * ( %right_lip_suppressor +  %left_lip_suppressor))) * ( 1.000 - ( 0.500 * ( %AU27R +  %AU27L)))))
    localvar mouth
    %mouth = (( %AU27R *  0.500) + (( %AU27L *  0.500) + (( %AU22R *  0.350) + (( %AU22L *  0.350) + (( %AU18R *  0.250) + (( %AU18L *  0.250) + (( %AU25R *  0.350) + (( %AU25L *  0.350) + (( %AU32 *  0.500) + ( %AU12AU25 + ( %AU16 *  0.400)))))))))))
}
$lod 7
 {
  replacemodel "female_02_reference" "lod1_female_02_reference"
}
$lod 14
 {
  replacemodel "female_02_reference" "lod2_female_02_reference"
}
$lod 24
 {
  replacemodel "female_02_reference" "lod3_female_02_reference"
}
$lod 35
 {
  replacemodel "female_02_reference" "lod4_female_02_reference"
}
$lod 60
 {
  replacemodel "female_02_reference" "lod5_female_02_reference"
}
$shadowlod
{
  replacemodel "female_02_reference" "lod6_female_02_reference"
}
$cdmaterials "models\Humans\Female\Group02\"
$cdmaterials "models\Humans\Female\"
$cdmaterials "models\Humans\male\Group02\"
$hboxset "default"
$hbox 1 "ValveBiped.Bip01_Head1" -2.250  -5.000  -3.150  7.250  5.000  3.350
$hbox 4 "ValveBiped.Bip01_L_UpperArm" -0.810  -2.250  -3.050  11.190  2.750  1.200
$hbox 4 "ValveBiped.Bip01_L_Forearm" -1.250  -1.880  -2.000  11.750  1.620  1.000
$hbox 4 "ValveBiped.Bip01_L_Hand" 0.000  -1.070  -1.500  6.000  0.680  3.000
$hbox 5 "ValveBiped.Bip01_R_UpperArm" -1.500  -2.250  -1.250  11.500  2.750  2.750
$hbox 5 "ValveBiped.Bip01_R_Forearm" -0.820  -1.900  -1.150  11.180  1.600  1.850
$hbox 5 "ValveBiped.Bip01_R_Hand" -0.500  -1.130  -3.250  5.500  0.630  1.750
$hbox 6 "ValveBiped.Bip01_L_Thigh" 0.500  -3.500  -3.250  17.500  4.500  3.250
$hbox 6 "ValveBiped.Bip01_L_Calf" 0.740  -2.350  -2.150  17.740  3.650  2.350
$hbox 6 "ValveBiped.Bip01_L_Foot" -2.000  -1.800  -1.450  6.000  3.200  2.050
$hbox 6 "ValveBiped.Bip01_L_Toe0" -0.170  -1.500  -1.300  2.570  0.300  1.700
$hbox 7 "ValveBiped.Bip01_R_Thigh" 0.500  -3.500  -3.000  17.500  4.500  3.000
$hbox 7 "ValveBiped.Bip01_R_Calf" 0.740  -2.350  -2.350  17.740  3.650  2.150
$hbox 7 "ValveBiped.Bip01_R_Foot" -2.000  -1.750  -2.150  6.000  3.250  1.350
$hbox 7 "ValveBiped.Bip01_R_Toe0" 0.000  -1.380  -1.630  2.740  0.380  1.630
$hbox 3 "ValveBiped.Bip01_Pelvis" -5.250  -3.880  -6.250  5.750  4.120  3.750
$hbox 3 "ValveBiped.Bip01_Spine1" -4.500  -2.000  -4.980  3.500  6.000  4.970
$hbox 2 "ValveBiped.Bip01_Spine2" -0.500  -2.500  -6.000  10.500  7.500  6.000
// Model uses material "eyeball_l.vmt"
// Model uses material "fmouth.vmt"
// Model uses material "kanisha_cylmap.vmt"
// Model uses material "eyeball_r.vmt"
// Model uses material "citizen_sheet.vmt"
// Model uses material "pupil_r.vmt"
// Model uses material "glint.vmt"
// Model uses material "pupil_l.vmt"
$attachment "eyes" "ValveBiped.Bip01_Head1" 2.66 -4.29 0.04 rotate 0.00 -80.10 -90.00
$attachment "mouth" "ValveBiped.Bip01_Head1" 0.10 -5.70 -0.00 rotate 0.00 -80.00 -90.00
$attachment "chest" "ValveBiped.Bip01_Spine2" 4.00 4.00 -0.00 rotate -0.00 95.00 90.00
$attachment "forward" "ValveBiped.forward" 0.00 -0.00 0.00 rotate 0.00 0.00 -0.00
$attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 0.00 rotate -90.00 -90.00 0.00
$attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" 0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
$includemodel "Alyx_animations.mdl"
$includemodel "humans/female_shared.mdl"
$includemodel "humans/female_ss.mdl"
$includemodel "Alyx_gestures.mdl"
$includemodel "humans/female_gestures.mdl"
$includemodel "Alyx_postures.mdl"
$includemodel "humans/female_postures.mdl"
$surfaceprop "flesh"
$eyeposition -0.000 0.000 70.000
$illumposition 1.165 -0.000 34.294
$sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
$ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
$ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
$ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
$ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
$collisionjoints "phymodel.smd" {

	$mass 70.0
	$inertia 10.00
	$damping 0.01
	$rotdamping 1.50
	$rootbone "valvebiped.bip01_pelvis"
	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"

	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_spine2" z limit -25.00 50.00 0.00

	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -39.00 39.00 0.00
	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -79.00 95.00 0.00
	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -93.00 23.00 0.00

	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -30.00 30.00 0.00
	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -95.00 84.00 0.00
	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -86.00 26.00 0.00

	$jointconstrain "valvebiped.bip01_l_forearm" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_forearm" z limit -149.00 4.00 0.00

	$jointconstrain "valvebiped.bip01_l_hand" x limit -37.00 37.00 0.00
	$jointconstrain "valvebiped.bip01_l_hand" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_hand" z limit -57.00 59.00 0.00

	$jointconstrain "valvebiped.bip01_r_forearm" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_forearm" z limit -149.00 4.00 0.00

	$jointconstrain "valvebiped.bip01_r_hand" x limit -60.00 60.00 0.00
	$jointconstrain "valvebiped.bip01_r_hand" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_hand" z limit -57.00 70.00 0.00

	$jointconstrain "valvebiped.bip01_r_thigh" x limit -12.00 12.00 0.00
	$jointconstrain "valvebiped.bip01_r_thigh" y limit -8.00 75.00 0.00
	$jointconstrain "valvebiped.bip01_r_thigh" z limit -97.00 32.00 0.00

	$jointconstrain "valvebiped.bip01_r_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_calf" z limit -12.00 126.00 0.00

	$jointconstrain "valvebiped.bip01_head1" x limit -20.00 20.00 0.00
	$jointconstrain "valvebiped.bip01_head1" y limit -25.00 25.00 0.00
	$jointconstrain "valvebiped.bip01_head1" z limit -13.00 30.00 0.00

	$jointconstrain "valvebiped.bip01_l_thigh" x limit -12.00 12.00 0.00
	$jointconstrain "valvebiped.bip01_l_thigh" y limit -73.00 6.00 0.00
	$jointconstrain "valvebiped.bip01_l_thigh" z limit -93.00 30.00 0.00

	$jointconstrain "valvebiped.bip01_l_calf" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" y limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_calf" z limit -8.00 126.00 0.00

	$jointconstrain "valvebiped.bip01_l_foot" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_l_foot" y limit -19.00 19.00 0.00
	$jointconstrain "valvebiped.bip01_l_foot" z limit -15.00 35.00 0.00

	$jointconstrain "valvebiped.bip01_r_foot" x limit 0.00 0.00 0.00
	$jointconstrain "valvebiped.bip01_r_foot" y limit -25.00 6.00 0.00
	$jointconstrain "valvebiped.bip01_r_foot" z limit -15.00 35.00 0.00
	$animatedfriction 1.000 400.000 0.500 0.300 0.000
}


and console output from verbose in studiomdl…



Created command line: "C:\Program Files\Steam\steamapps\*******\sourcesdk\bin\source2009\bin\studiomdl.exe" -game "c:\program files\steam\steamapps\*******\half-life 2\hl2" -nop4 -verbose -vsi -nox360 C:\experiment\modelsrc\sara\mdldecompiler.qc

qdir:    "c:\experiment\modelsrc\sara\"
gamedir: "c:\program files\steam\steamapps\*******\half-life 2\hl2\"
g_path:  "C:\experiment\modelsrc\sara\mdldecompiler.qc"
Building binary model files...
Working on "mdldecompiler.qc"
SMD MODEL C:\experiment\modelsrc\sara/female_02_reference.smd
VTA MODEL C:\experiment\modelsrc\sara/mdldecompiler_expressions.vta
SMD MODEL C:\experiment\modelsrc\sara/lod1_female_02_reference.smd
SMD MODEL C:\experiment\modelsrc\sara/lod2_female_02_reference.smd
SMD MODEL C:\experiment\modelsrc\sara/lod3_female_02_reference.smd
SMD MODEL C:\experiment\modelsrc\sara/lod4_female_02_reference.smd
SMD MODEL C:\experiment\modelsrc\sara/lod5_female_02_reference.smd
Processing $shadowlod
SMD MODEL C:\experiment\modelsrc\sara/lod6_female_02_reference.smd
SMD MODEL C:\experiment\modelsrc\sara/ragdoll.smd
SMD MODEL C:\experiment\modelsrc\sara/phymodel.smd
Lod 1: vertexes: 187 (1 new)
Lod 2: vertexes: 190 (3 new)
Lod 3: vertexes: 192 (2 new)
Lod 4: vertexes: 198 (6 new)
Lod 5: vertexes: 201 (3 new)
Lod 1: vertexes: 974 (1 new)
Lod 2: vertexes: 977 (3 new)
Lod 3: vertexes: 983 (6 new)
Lod 4: vertexes: 991 (8 new)
Lod 5: vertexes: 998 (7 new)
Lod 1: vertexes: 2884 (6 new)
Lod 2: vertexes: 2922 (38 new)
Lod 3: vertexes: 3003 (81 new)
Lod 4: vertexes: 3061 (58 new)
Lod 5: vertexes: 3104 (43 new)
Max flex verts 518
Processing jointed collision model
ValveBiped.Bip01_Pelvis  (168 verts, 1 convex elements) volume: 810.11
ValveBiped.Bip01_Spine2  (216 verts, 1 convex elements) volume: 1244.65
ValveBiped.Bip01_Head1   (588 verts, 1 convex elements) volume: 331.44
ValveBiped.Bip01_L_UpperArm (168 verts, 1 convex elements) volume: 111.75
ValveBiped.Bip01_L_Forearm (168 verts, 1 convex elements) volume: 125.14
ValveBiped.Bip01_L_Hand  ( 78 verts, 1 convex elements) volume: 43.78
ValveBiped.Bip01_R_UpperArm (168 verts, 1 convex elements) volume: 112.93
ValveBiped.Bip01_R_Forearm (168 verts, 1 convex elements) volume: 126.42
ValveBiped.Bip01_R_Hand  ( 78 verts, 1 convex elements) volume: 43.78
ValveBiped.Bip01_L_Thigh (156 verts, 1 convex elements) volume: 370.16
ValveBiped.Bip01_L_Calf  (156 verts, 1 convex elements) volume: 277.29
ValveBiped.Bip01_L_Foot  ( 60 verts, 1 convex elements) volume: 141.09
ValveBiped.Bip01_R_Thigh (156 verts, 1 convex elements) volume: 371.04
ValveBiped.Bip01_R_Calf  (156 verts, 1 convex elements) volume: 276.71
ValveBiped.Bip01_R_Foot  ( 60 verts, 1 convex elements) volume: 141.02
Collision model completed.
---------------------
writing c:\program files\steam\steamapps\*******\half-life 2\hl2\models/Humans\Group02\Female_02.mdl:
bones        15472 bytes (60)
   animation       x       y       ips    angle
    @ragdoll    0.00    0.00 :    0.00 (  90.00) 0.1
animations    1160 bytes (1 anims) (3 frames) [0:00]
sequences      456 bytes (1 seq) 
ik/pose       8824 bytes
eyeballs       344 bytes (2 eyeballs)
flexes       81836 bytes (26 flexes)
textures       344 bytes
keyvalues        0 bytes
bone transforms     8224 bytes
Collision model volume 4527.30 in^3
collision        0 bytes
total       120992
---------------------
writing c:\program files\steam\steamapps\***********\half-life 2\hl2\models/Humans\Group02\Female_02.vvd:
vertices    148992 bytes (3104 vertices)
tangents     49664 bytes (3104 vertices)
total       198720 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\***********\half-life 2\hl2\models/Humans\Group02\Female_02.sw.vtx":
body parts:         8 bytes
models:            92 bytes
model LODs:        84 bytes
meshes:           315 bytes
strip groups:     975 bytes
strips:          1053 bytes
verts:          77400 bytes
indices:        69450 bytes
bone changes:      56 bytes
everything:    149385 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\***********\half-life 2\hl2\models/Humans\Group02\Female_02.dx80.vtx":
body parts:         8 bytes
models:            92 bytes
model LODs:        84 bytes
meshes:           315 bytes
strip groups:    1125 bytes
strips:          2403 bytes
verts:          84663 bytes
indices:        69450 bytes
bone changes:    6616 bytes
everything:    164708 bytes
---------------------
Generating optimized mesh "c:\program files\steam\steamapps\***********\half-life 2\hl2\models/Humans\Group02\Female_02.dx90.vtx":
body parts:         8 bytes
models:            92 bytes
model LODs:        84 bytes
meshes:           315 bytes
strip groups:     975 bytes
strips:          1161 bytes
verts:          77922 bytes
indices:        69450 bytes
bone changes:    3896 bytes
everything:    153855 bytes
---------------------
Generating .vsi stripping information...
No special stripping - the model is not a static prop.
Generated .vsi stripping information.

Completed "c:\program files\steam\steamapps\*********\half-life 2\hl2\models/Humans\Group02\Female_02.vsi"


On the topic of $includemodel, has anyone had any experience with L4D2 models? Ive been trying to get a custom boomer (just a small mesh edit) but for some reason I can’t get the animations to work.

Im trying
$includemodel “infected/anim_common.mdl”
$includemodel “infected/anim_boomer.mdl”

All animations list in model viewer (Im compiling for EP2) but the model does not move, with the exception of one animation where his right arm flails for a second.