srctools.mdl
Parses Source models, to extract metadata.
-
class
srctools.mdl.
Flags
(value) Bases:
Flag
Flags for studio models.
-
autogenerated_hitbox
= 1
-
uses_env_cubemap
= 2
-
force_opaque
= 4
-
translucent_twopass
= 8
-
static_prop
= 16
-
uses_fb_texture
= 32
-
hasshadowlod
= 64
-
uses_bumpmapping
= 128
-
use_shadowlod_materials
= 256
-
no_forced_fade
= 2048
-
force_phoneme_crossfade
= 4096
-
constant_directional_light_dot
= 8192
-
flexes_converted
= 16384
-
built_in_preview_mode
= 32768
-
ambient_boost
= 65536
-
do_not_cast_shadows
= 131072
-
cast_texture_shadows
= 262144
-
-
class
srctools.mdl.
Model
(filesystem: FileSystem, file: File) Represents parts of Source models.
This does not parse the animation or geometry data, only other metadata.
-
class
srctools.mdl.
AnimEventTypes
(value) Bases:
Flag
Categories of animation events.
-
NONE
= 0
-
SERVER
= 1
-
SCRIPTED
= 2
-
SHARED
= 4
-
WEAPON
= 8
-
CLIENT
= 16
-
FACEPOSER
= 32
-
-
class
srctools.mdl.
AnimEvents
(value) Bases:
Enum
The types of events in models.
0 - 999 is “specific” / new string-based type. 1000 - 1999 is for scripted events. 2000 - 2999 is shared events. 3000 - 4999 is weapon events. 5000+ is clientside events.
-
AE_EMPTY
= 0
-
AE_NPC_LEFTFOOT
= 1
-
AE_NPC_RIGHTFOOT
= 2
-
AE_NPC_BODYDROP_LIGHT
= 3
-
AE_NPC_BODYDROP_HEAVY
= 4
-
AE_NPC_SWISHSOUND
= 5
-
AE_NPC_180TURN
= 6
-
AE_NPC_ITEM_PICKUP
= 7
-
AE_NPC_WEAPON_DROP
= 8
-
AE_NPC_WEAPON_SET_SEQUENCE_NAME
= 9
-
AE_NPC_WEAPON_SET_SEQUENCE_NUMBER
= 10
-
AE_NPC_WEAPON_SET_ACTIVITY
= 11 Alias:
AE_NPC_HOLSTER
-
AE_NPC_DRAW
= 12
-
AE_NPC_WEAPON_FIRE
= 13
-
AE_CL_PLAYSOUND
= 14
-
AE_SV_PLAYSOUND
= 15
-
AE_CL_STOPSOUND
= 16
-
AE_START_SCRIPTED_EFFECT
= 17
-
AE_STOP_SCRIPTED_EFFECT
= 18
-
AE_CLIENT_EFFECT_ATTACH
= 19
-
AE_MUZZLEFLASH
= 20
-
AE_NPC_MUZZLEFLASH
= 21
-
AE_THUMPER_THUMP
= 22
-
AE_AMMOCRATE_PICKUP_AMMO
= 23
-
AE_NPC_RAGDOLL
= 24
-
AE_NPC_ADDGESTURE
= 25
-
AE_NPC_RESTARTGESTURE
= 26
-
AE_NPC_ATTACK_BROADCAST
= 27
-
AE_NPC_HURT_INTERACTION_PARTNER
= 28
-
AE_NPC_SET_INTERACTION_CANTDIE
= 29
-
AE_SV_DUSTTRAIL
= 30
-
AE_CL_CREATE_PARTICLE_EFFECT
= 31
-
AE_RAGDOLL
= 32
-
AE_CL_ENABLE_BODYGROUP
= 33
-
AE_CL_DISABLE_BODYGROUP
= 34
-
AE_CL_BODYGROUP_SET_VALUE
= 35
-
AE_CL_BODYGROUP_SET_VALUE_CMODEL_WPN
= 36
-
AE_WPN_PRIMARYATTACK
= 37
-
AE_WPN_INCREMENTAMMO
= 38
-
AE_WPN_HIDE
= 39
-
AE_WPN_UNHIDE
= 40
-
AE_WPN_PLAYWPNSOUND
= 41
-
AE_RD_ROBOT_POP_PANELS_OFF
= 42
-
AE_TAUNT_ENABLE_MOVE
= 43
-
AE_TAUNT_DISABLE_MOVE
= 44
-
AE_ASW_FOOTSTEP
= 45
-
AE_MARINE_FOOTSTEP
= 46
-
AE_MARINE_RELOAD_SOUND_A
= 47
-
AE_MARINE_RELOAD_SOUND_B
= 48
-
AE_MARINE_RELOAD_SOUND_C
= 49
-
AE_REMOVE_CLIENT_AIM
= 50
-
AE_MELEE_DAMAGE
= 51
-
AE_MELEE_START_COLLISION_DAMAGE
= 52
-
AE_MELEE_STOP_COLLISION_DAMAGE
= 53
-
AE_SCREEN_SHAKE
= 54
-
AE_START_DETECTING_COMBO
= 55
-
AE_STOP_DETECTING_COMBO
= 56
-
AE_COMBO_TRANSITION
= 57 Alias:
AE_ALLOW_MOVEMENT
-
AE_SKILL_EVENT
= 59
-
AE_TUG_INCAP
= 60
-
SCRIPT_EVENT_DEAD
= 1000
-
SCRIPT_EVENT_NOINTERRUPT
= 1001
-
SCRIPT_EVENT_CANINTERRUPT
= 1002
-
SCRIPT_EVENT_FIREEVENT
= 1003
-
SCRIPT_EVENT_SOUND
= 1004
-
SCRIPT_EVENT_SENTENCE
= 1005
-
SCRIPT_EVENT_INAIR
= 1006
-
SCRIPT_EVENT_ENDANIMATION
= 1007
-
SCRIPT_EVENT_SOUND_VOICE
= 1008
-
SCRIPT_EVENT_SENTENCE_RND1
= 1009
-
SCRIPT_EVENT_NOT_DEAD
= 1010
-
SCRIPT_EVENT_EMPHASIS
= 1011
-
SCRIPT_EVENT_BODYGROUPON
= 1020
-
SCRIPT_EVENT_BODYGROUPOFF
= 1021
-
SCRIPT_EVENT_BODYGROUPTEMP
= 1022
-
SCRIPT_EVENT_FIRE_INPUT
= 1100
-
NPC_EVENT_BODYDROP_LIGHT
= 2001
-
NPC_EVENT_BODYDROP_HEAVY
= 2002
-
NPC_EVENT_SWISHSOUND
= 2010
-
NPC_EVENT_180TURN
= 2020
-
NPC_EVENT_ITEM_PICKUP
= 2040
-
NPC_EVENT_WEAPON_DROP
= 2041
-
NPC_EVENT_WEAPON_SET_SEQUENCE_NAME
= 2042
-
NPC_EVENT_WEAPON_SET_SEQUENCE_NUMBER
= 2043
-
NPC_EVENT_WEAPON_SET_ACTIVITY
= 2044
-
NPC_EVENT_LEFTFOOT
= 2050
-
NPC_EVENT_RIGHTFOOT
= 2051
-
NPC_EVENT_OPEN_DOOR
= 2060
-
EVENT_WEAPON_MELEE_HIT
= 3001
-
EVENT_WEAPON_SMG1
= 3002
-
EVENT_WEAPON_MELEE_SWISH
= 3003
-
EVENT_WEAPON_SHOTGUN_FIRE
= 3004
-
EVENT_WEAPON_THROW
= 3005
-
EVENT_WEAPON_AR1
= 3006
-
EVENT_WEAPON_AR2
= 3007
-
EVENT_WEAPON_HMG1
= 3008
-
EVENT_WEAPON_SMG2
= 3009
-
EVENT_WEAPON_MISSILE_FIRE
= 3010
-
EVENT_WEAPON_SNIPER_RIFLE_FIRE
= 3011
-
EVENT_WEAPON_AR2_GRENADE
= 3012
-
EVENT_WEAPON_THROW2
= 3013
-
EVENT_WEAPON_PISTOL_FIRE
= 3014
-
EVENT_WEAPON_RELOAD
= 3015
-
EVENT_WEAPON_THROW3
= 3016
-
EVENT_WEAPON_RELOAD_SOUND
= 3017
-
EVENT_WEAPON_RELOAD_FILL_CLIP
= 3018
-
EVENT_WEAPON_SMG1_BURST1
= 3101
-
EVENT_WEAPON_SMG1_BURSTN
= 3102
-
EVENT_WEAPON_AR2_ALTFIRE
= 3103
-
EVENT_WEAPON_SEQUENCE_FINISHED
= 3900
-
CL_EVENT_MUZZLEFLASH0
= 5001
-
CL_EVENT_MUZZLEFLASH1
= 5011
-
CL_EVENT_MUZZLEFLASH2
= 5021
-
CL_EVENT_MUZZLEFLASH3
= 5031
-
CL_EVENT_SPARK0
= 5002
-
CL_EVENT_NPC_MUZZLEFLASH0
= 5003
-
CL_EVENT_NPC_MUZZLEFLASH1
= 5013
-
CL_EVENT_NPC_MUZZLEFLASH2
= 5023
-
CL_EVENT_NPC_MUZZLEFLASH3
= 5033
-
CL_EVENT_SOUND
= 5004
-
CL_EVENT_EJECTBRASS1
= 6001
-
CL_EVENT_DISPATCHEFFECT0
= 9001
-
CL_EVENT_DISPATCHEFFECT1
= 9011
-
CL_EVENT_DISPATCHEFFECT2
= 9021
-
CL_EVENT_DISPATCHEFFECT3
= 9031
-
CL_EVENT_DISPATCHEFFECT4
= 9041
-
CL_EVENT_DISPATCHEFFECT5
= 9051
-
CL_EVENT_DISPATCHEFFECT6
= 9061
-
CL_EVENT_DISPATCHEFFECT7
= 9071
-
CL_EVENT_DISPATCHEFFECT8
= 9081
-
CL_EVENT_DISPATCHEFFECT9
= 9091
-
CL_EVENT_SPRITEGROUP_CREATE
= 6002
-
CL_EVENT_SPRITEGROUP_DESTROY
= 6003
-
CL_EVENT_FOOTSTEP_LEFT
= 6004
-
CL_EVENT_FOOTSTEP_RIGHT
= 6005
-
CL_EVENT_MFOOTSTEP_LEFT
= 6006
-
CL_EVENT_MFOOTSTEP_RIGHT
= 6007
-
CL_EVENT_MFOOTSTEP_LEFT_LOUD
= 6008
-
CL_EVENT_MFOOTSTEP_RIGHT_LOUD
= 6009
-
CSS_FOOT_WATER_SPLASH
= 7001
-
CSS_FOOT_WATER_RIPPLE
= 7002
-
CSGO_FOOT_JUMP
= 4001
-
CSGO_FOOT_WALK
= 4002
-
-
class
srctools.mdl.
IncludedMDL
(label: str, filename: str) Additional model files to load animations from.
-
class
srctools.mdl.
SeqEvent
() An event that occurs at some point in an animation sequence.