From 491f66c5b20171ba07ba584a7790fcb76684f5bb Mon Sep 17 00:00:00 2001
From: Blixibon <acj3017@gmail.com>
Date: Sat, 2 Oct 2021 13:14:30 -0500
Subject: [PATCH] Added some missing QCI files for NPC animations

---
 modelsrc/DefaultHolster.qci | 77 +++++++++++++++++++++++++++++++++++++
 modelsrc/OnFirePolice.qci   | 17 ++++++++
 modelsrc/PoliceFlinches.qci | 22 +++++++++++
 3 files changed, 116 insertions(+)
 create mode 100644 modelsrc/DefaultHolster.qci
 create mode 100644 modelsrc/OnFirePolice.qci
 create mode 100644 modelsrc/PoliceFlinches.qci

diff --git a/modelsrc/DefaultHolster.qci b/modelsrc/DefaultHolster.qci
new file mode 100644
index 0000000..ce1aa18
--- /dev/null
+++ b/modelsrc/DefaultHolster.qci
@@ -0,0 +1,77 @@
+
+// Requires "hl2mp_ported_anims/weaponmacros.qci"
+
+
+
+// This file should be included while in the desired animation folder via $pushd
+
+// These animations must also be the same name as Alyx's sequences so they override them.
+
+$makeweapongesturep weapon_draw_gesture "weapon_draw_gesture.smd" 5 20 35
+$append weapon_draw_gesture {
+	fps 45
+	activity "ACT_ARM" 1
+	{ event AE_NPC_DRAW 14 "" }
+}
+$append weapon_draw_gesturearms {
+	// This is needed for some reason
+	rotateto -90
+}
+
+$makeweapongesturep weapon_holster_gesture "weapon_holster_gesture.smd" 10 25 40
+$append weapon_holster_gesture {
+	fps 45
+	activity "ACT_DISARM" 1
+	{ event AE_NPC_HOLSTER 23 "" }
+}
+$append weapon_holster_gesturearms {
+	// This is needed for some reason
+	rotateto -90
+}
+
+
+
+//$weightlist "HolsterWeightlist" {
+//	"ValveBiped.Bip01_Pelvis" 0
+//	"ValveBiped.Bip01_Spine" 1
+//	//"ValveBiped.Bip01_Spine1" 1
+//	//"ValveBiped.Bip01_Spine2" 1
+//	//"ValveBiped.Bip01_Spine4" 1
+//	//"ValveBiped.Bip01_L_Clavicle" 1
+//	"ValveBiped.Bip01_L_UpperArm" 1
+//	"ValveBiped.Bip01_L_Forearm" 1
+//	"ValveBiped.Bip01_L_Hand" 1
+//	//"ValveBiped.Bip01_R_Clavicle" 1
+//	"ValveBiped.Bip01_R_UpperArm" 1
+//	"ValveBiped.Bip01_R_Forearm" 1
+//	"ValveBiped.Bip01_R_Hand" 1
+//}
+
+//$sequence "weapon_draw_gesture" {
+//	"weapon_draw_gesture.smd"
+//	activity "ACT_ARM" 1
+//	{ event AE_NPC_DRAW 14 "" }
+//	fadein 0.35
+//	fadeout 0.2
+//	fps 45
+//	ikrule "rhand" release
+//	ikrule "lhand" release
+//	ikrule "rfoot" release
+//	ikrule "lfoot" release
+//	weightlist "HolsterWeightlist"
+//}
+//
+//$sequence "weapon_holster_gesture" {
+//	"weapon_holster_gesture.smd"
+//	activity "ACT_DISARM" 1
+//	{ event AE_NPC_HOLSTER 23 "" }
+//	fadein 0.2
+//	fadeout 0.2
+//	//blendlayer "smgholster_gesture" 0 0.25 0.75 1.0 spline
+//	fps 45
+//	ikrule "rhand" release
+//	ikrule "lhand" release
+//	ikrule "rfoot" release
+//	ikrule "lfoot" release
+//	weightlist "HolsterWeightlist"
+//}
diff --git a/modelsrc/OnFirePolice.qci b/modelsrc/OnFirePolice.qci
new file mode 100644
index 0000000..bac3f75
--- /dev/null
+++ b/modelsrc/OnFirePolice.qci
@@ -0,0 +1,17 @@
+// 
+// Animations for metrocops being on fire.
+// It burns.
+// 
+
+$sequence "idleonfire" {
+	"police_animations_anims\idleonfire.smd"
+	activity "ACT_IDLE_ON_FIRE" 1
+	loop
+}
+
+$sequence "moveonfire" {
+	"police_animations_anims\moveonfire.smd"
+	activity "ACT_RUN_ON_FIRE" 1
+	loop
+	walkframe 66 LX LY
+}
diff --git a/modelsrc/PoliceFlinches.qci b/modelsrc/PoliceFlinches.qci
new file mode 100644
index 0000000..21809e7
--- /dev/null
+++ b/modelsrc/PoliceFlinches.qci
@@ -0,0 +1,22 @@
+
+// 
+// Metrocop flinches.
+// 
+
+$pushd "police_animations_anims"
+
+$definemacro MakePoliceFlinchGest name file activity \\
+$sequence $name$ $file$ subtract flinch_gesture 0 delta { \\
+	activity $activity$ 1 \\
+	fps 30 \\
+} \\
+
+$MakePoliceFlinchGest flinch_gesture "a_flinch_gesture" "ACT_GESTURE_SMALL_FLINCH"
+$MakePoliceFlinchGest flinchheadgest1 "a_flinch_head_gesture1" "ACT_GESTURE_FLINCH_HEAD"
+$MakePoliceFlinchGest flinchheadgest2 "a_flinch_head_gesture2" "ACT_GESTURE_FLINCH_HEAD"
+$MakePoliceFlinchGest flinchgutgest1 "a_flinch_gut_gesture1" "ACT_GESTURE_FLINCH_STOMACH"
+$MakePoliceFlinchGest flinchgutgest2 "a_flinch_gut_gesture2" "ACT_GESTURE_FLINCH_STOMACH"
+$MakePoliceFlinchGest flinchlarmgest "a_flinch_larm_gesture" "ACT_GESTURE_FLINCH_LEFTARM"
+$MakePoliceFlinchGest flinchrarmgest "a_flinch_rarm_gesture" "ACT_GESTURE_FLINCH_RIGHTARM"
+
+$popd