First version of the SOurce SDK 2013
This commit is contained in:
1
sp/game/mod_episodic/cfg/chapter1.cfg
Normal file
1
sp/game/mod_episodic/cfg/chapter1.cfg
Normal file
@@ -0,0 +1 @@
|
||||
map sdk_vehicles
|
||||
1
sp/game/mod_episodic/cfg/chapter2.cfg
Normal file
1
sp/game/mod_episodic/cfg/chapter2.cfg
Normal file
@@ -0,0 +1 @@
|
||||
map sdk_vehicles
|
||||
1
sp/game/mod_episodic/cfg/chapter3.cfg
Normal file
1
sp/game/mod_episodic/cfg/chapter3.cfg
Normal file
@@ -0,0 +1 @@
|
||||
map sdk_vehicles
|
||||
377
sp/game/mod_episodic/detail.vbsp
Normal file
377
sp/game/mod_episodic/detail.vbsp
Normal file
@@ -0,0 +1,377 @@
|
||||
detail
|
||||
{
|
||||
|
||||
forest_floor_01
|
||||
//for Ep2
|
||||
{
|
||||
"density" "450.0"
|
||||
|
||||
Group1
|
||||
{
|
||||
"alpha" "0"
|
||||
Model1
|
||||
// Position 5 in sheet
|
||||
{
|
||||
"sprite" "187 176 151 151 1024"
|
||||
"spritesize" "0.5 0.0 14 14"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model2
|
||||
// Position 1 in sheet
|
||||
{
|
||||
"sprite" "21 15 151 150 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.01"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model3
|
||||
// Position 2 in sheet
|
||||
{
|
||||
"sprite" "186 16 150 151 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model4
|
||||
// Position 4 in sheet
|
||||
{
|
||||
"sprite" "22 178 148 147 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model5
|
||||
// Position 3 in sheet
|
||||
{
|
||||
"sprite" "350 14 148 151 1024"
|
||||
"spritesize" "0.5 0.0 17 17"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.05"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
Model6
|
||||
// Position 6 in sheet
|
||||
{
|
||||
"sprite" "348 176 148 146 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.05"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
Model7
|
||||
// Position 7 in sheet
|
||||
{
|
||||
"sprite" "21 337 150 170 1024"
|
||||
"spritesize" "0.5 0.0 12 18"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.05"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model8
|
||||
// Position 8 in sheet
|
||||
{
|
||||
"sprite" "185 337 152 152 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.05"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model9
|
||||
// Position 9 in the sheet
|
||||
{
|
||||
"sprite" "347 364 143 115 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.4"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Group2
|
||||
{
|
||||
|
||||
"alpha" "1"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
canal_reeds2
|
||||
{
|
||||
"density" "750.0"
|
||||
|
||||
|
||||
Group1
|
||||
{
|
||||
|
||||
"alpha" "0.0"
|
||||
}
|
||||
Group2
|
||||
{
|
||||
|
||||
"alpha" "0.2"
|
||||
}
|
||||
Group2a
|
||||
{
|
||||
|
||||
"alpha" "0.35"
|
||||
Model1
|
||||
{
|
||||
"sprite" "561 4 152 252 1024"
|
||||
"spritesize" "0.5 0.0 20 40"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.8"
|
||||
"detailOrientation" "2"
|
||||
//"upright" "1.0"
|
||||
//"model" "models/props_foliage/small_cattails.mdl"
|
||||
//"amount" "0.2"
|
||||
}
|
||||
}
|
||||
Group3
|
||||
{
|
||||
|
||||
"alpha" "0.75"
|
||||
Model1
|
||||
{
|
||||
"sprite" "561 4 152 252 1024"
|
||||
"spritesize" "0.5 0.0 10 30"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.6"
|
||||
"detailOrientation" "2"
|
||||
//"upright" "1.0"
|
||||
//"model" "models/props_foliage/small_cattails.mdl"
|
||||
//"amount" "0.2"
|
||||
}
|
||||
}
|
||||
Group4
|
||||
{
|
||||
"alpha" "1.0"
|
||||
|
||||
Model1
|
||||
{
|
||||
"sprite" "561 4 152 252 1024"
|
||||
"spritesize" "0.5 0.0 15 25"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.2"
|
||||
"detailOrientation" "2"
|
||||
|
||||
//"upright" "1.0"
|
||||
//"model" "models/props_foliage/small_cattails.mdl"
|
||||
//"amount" "0.2"
|
||||
}
|
||||
|
||||
Model2
|
||||
// Position 9 in the sheet
|
||||
{
|
||||
"sprite" "347 364 143 115 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.4"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model3
|
||||
// Position 3 in sheet
|
||||
{
|
||||
"sprite" "350 14 148 151 1024"
|
||||
"spritesize" "0.5 0.0 17 17"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.2"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model4
|
||||
// Position 8 in sheet
|
||||
{
|
||||
"sprite" "185 337 152 152 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.2"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
redgrass_alt
|
||||
//alt version for ep2
|
||||
{
|
||||
"density" "500.0"
|
||||
|
||||
Group1
|
||||
{
|
||||
"alpha" "0"
|
||||
|
||||
Model1
|
||||
// Position 1 in sheet
|
||||
{
|
||||
"sprite" "21 15 151 150 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model2
|
||||
// Position 3 in sheet
|
||||
{
|
||||
"sprite" "350 14 148 151 1024"
|
||||
"spritesize" "0.5 0.0 17 17"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model3
|
||||
// Position 6 in sheet
|
||||
{
|
||||
"sprite" "348 176 148 146 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model4
|
||||
// Position 7 in sheet
|
||||
{
|
||||
"sprite" "21 337 150 170 1024"
|
||||
"spritesize" "0.5 0.0 12 18"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model5
|
||||
// Position 8 in sheet
|
||||
{
|
||||
"sprite" "185 337 152 152 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.2"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model6
|
||||
// Position 9 in the sheet
|
||||
{
|
||||
"sprite" "347 364 143 115 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.4"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
}
|
||||
|
||||
Group2
|
||||
{
|
||||
|
||||
"alpha" "1"
|
||||
}
|
||||
}
|
||||
|
||||
citygrass_light
|
||||
{
|
||||
"density" "400.0"
|
||||
|
||||
Group1
|
||||
{
|
||||
"alpha" "1"
|
||||
|
||||
Model1
|
||||
// Position 9 in the sheet
|
||||
{
|
||||
"sprite" "347 364 143 115 1024"
|
||||
"spritesize" "0.5 0.0 32 32"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.6"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model2
|
||||
// Position 1 in sheet
|
||||
{
|
||||
"sprite" "21 15 151 150 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.05"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model3
|
||||
// Position 3 in sheet
|
||||
{
|
||||
"sprite" "350 14 148 151 1024"
|
||||
"spritesize" "0.5 0.0 17 17"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.05"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model4
|
||||
// Position 6 in sheet
|
||||
{
|
||||
"sprite" "348 176 148 146 1024"
|
||||
"spritesize" "0.5 0.0 18 18"
|
||||
"spriterandomscale" "0.3"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model5
|
||||
// Position 8 in sheet
|
||||
{
|
||||
"sprite" "185 337 152 152 1024"
|
||||
"spritesize" "0.5 0.0 16 16"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
Model6
|
||||
// Position 7 in sheet
|
||||
{
|
||||
"sprite" "21 337 150 170 1024"
|
||||
"spritesize" "0.5 0.0 12 18"
|
||||
"spriterandomscale" "0.2"
|
||||
"amount" "0.1"
|
||||
"detailOrientation" "2"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Group3
|
||||
{
|
||||
"alpha" "0.5"
|
||||
}
|
||||
|
||||
Group4
|
||||
{
|
||||
"alpha" "0.3"
|
||||
|
||||
}
|
||||
|
||||
Group5
|
||||
{
|
||||
"alpha" "0.0"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
79
sp/game/mod_episodic/gameinfo.txt
Normal file
79
sp/game/mod_episodic/gameinfo.txt
Normal file
@@ -0,0 +1,79 @@
|
||||
"GameInfo"
|
||||
{
|
||||
game "My First Episodic Mod"
|
||||
title "HALF-LIFE'"
|
||||
title2 ""
|
||||
|
||||
type singleplayer_only
|
||||
|
||||
FileSystem
|
||||
{
|
||||
SteamAppId 243730 // This sets the app ID in Steam
|
||||
|
||||
//
|
||||
// The code that loads this file automatically does a few things here:
|
||||
//
|
||||
// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
|
||||
// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
|
||||
// For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
|
||||
// 3. For the first "Game" search path, it adds a search path called "MOD".
|
||||
// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
|
||||
//
|
||||
|
||||
//
|
||||
// Search paths are relative to the base directory, which is where hl2.exe is found.
|
||||
//
|
||||
// |gameinfo_path| points at the directory where gameinfo.txt is.
|
||||
// We always want to mount that directory relative to gameinfo.txt, so
|
||||
// people can mount stuff in c:\mymod, and the main game resources are in
|
||||
// someplace like c:\program files\valve\steam\steamapps\half-life 2.
|
||||
//
|
||||
SearchPaths
|
||||
{
|
||||
// First, mount all user customizations. This will search for VPKs and subfolders
|
||||
// and mount them in alphabetical order. The easiest way to distribute a mod is to
|
||||
// pack up the custom content into a VPK. To "install" a mod, just drop it in this
|
||||
// folder.
|
||||
//
|
||||
// Note that this folder is scanned only when the game is booted.
|
||||
game+mod ep2/custom/*
|
||||
game+mod episodic/custom/*
|
||||
game+mod hl2/custom/*
|
||||
|
||||
// Now search loose files. We'll set the directory containing the gameinfo.txt file
|
||||
// as the first "mod" search path (after any user customizations). This is also the one
|
||||
// that's used when writing to the "mod" path.
|
||||
game+mod+mod_write+default_write_path |gameinfo_path|.
|
||||
gamebin |gameinfo_path|bin
|
||||
|
||||
// We search VPK files before ordinary folders, because most files will be found in
|
||||
// VPK and we can avoid making thousands of file system calls to attempt to open files
|
||||
// in folders where they don't exist. (Searching a VPK is much faster than making an operating
|
||||
// system call.)
|
||||
game_lv hl2/hl2_lv.vpk
|
||||
game+mod ep2/ep2_english.vpk
|
||||
game+mod ep2/ep2_pak.vpk
|
||||
game |all_source_engine_paths|episodic/ep1_english.vpk
|
||||
game |all_source_engine_paths|episodic/ep1_pak.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_english.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_pak.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_textures.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_sound_misc.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_misc.vpk
|
||||
platform |all_source_engine_paths|platform/platform_misc.vpk
|
||||
|
||||
// Add the HL2 directory as a game search path. This is also where where writes
|
||||
// to the "game" path go.
|
||||
game+game_write ep2
|
||||
|
||||
// Where the game's binaries are
|
||||
gamebin episodic/bin
|
||||
|
||||
// Last, mount in shared HL2 loose files
|
||||
game |all_source_engine_paths|episodic
|
||||
game |all_source_engine_paths|hl2
|
||||
platform |all_source_engine_paths|platform
|
||||
}
|
||||
}
|
||||
}
|
||||
127
sp/game/mod_episodic/lights.rad
Normal file
127
sp/game/mod_episodic/lights.rad
Normal file
@@ -0,0 +1,127 @@
|
||||
lights/fluorescentcool001a 189 231 232 350
|
||||
lights/fluorescentcool001b 236 255 182 350
|
||||
lights/fluorescentcool002a 189 231 232 400
|
||||
lights/fluorescentcool002b 236 255 182 400
|
||||
lights/fluorescentcool003a 189 231 232 300
|
||||
lights/fluorescentwarm001a 239 216 193 350
|
||||
lights/fluorescentwarm002a 239 216 193 400
|
||||
lights/fluorescentwhite001a 245 245 245 350
|
||||
lights/fluorescentwhite002a 245 245 245 400
|
||||
|
||||
|
||||
lights/hazzardred001a 228 37 0 300
|
||||
lights/hazzardyellow001a 250 215 74 300
|
||||
|
||||
lights/HIDcool001a 145 222 172 650
|
||||
lights/HIDcool001b 205 232 255 650
|
||||
lights/HIDwarm001a 255 201 116 650
|
||||
|
||||
lights/white001 250 240 205 100
|
||||
lights/white002 189 233 247 425
|
||||
lights/white003 232 246 190 350
|
||||
lights/white004 170 228 247 425
|
||||
lights/white005 234 235 220 375
|
||||
lights/white006 234 235 220 100
|
||||
|
||||
lights/blue001 166 180 196 200 166 180 196 100
|
||||
lights/blue002 141 176 203 200 141 176 203 100
|
||||
lights/red001 63 1 1 200 63 1 1 100
|
||||
|
||||
lights/white001_nochop 250 240 205 100
|
||||
lights/white002_nochop 189 233 247 425
|
||||
lights/white003_nochop 232 246 190 350
|
||||
lights/white004_nochop 170 228 247 425
|
||||
lights/white005_nochop 234 235 220 375
|
||||
lights/white006_nochop 234 235 220 100
|
||||
|
||||
lights/incandescentcool001a 235 235 235 300
|
||||
lights/incandescentwarm001a 250 226 129 300
|
||||
|
||||
|
||||
glass/glassscreen001a 172 192 161 225
|
||||
glass/glasspipe001f 214 72 44 200
|
||||
glass/glassscreen001c 172 192 161 225
|
||||
glass/glassscreen001d 211 187 134 225
|
||||
glass/glassblock001a 70 194 209 200
|
||||
composite/citadelfloor001a 103 143 203 200
|
||||
props/tvscreen006a 196 0 0 200
|
||||
shadertest/gooinglass 149 49 15 50
|
||||
|
||||
glass/glasswindow002e 189 233 247 425
|
||||
glass/glasswindow035a 145 222 172 100
|
||||
|
||||
dev/DEV_INTERIORLIGHT02B 151 176 204 225
|
||||
|
||||
plaster/plasterwall029h 189 223 227 125
|
||||
building_template/Building_Trainstation_Template001d 230 230 200 65
|
||||
building_template/Building_Trainstation_Template001e 230 230 200 150
|
||||
building_template/Building_Trainstation_window002d 230 230 200 300
|
||||
building_template/Building_Trainstation_window002e 230 230 200 300
|
||||
|
||||
lights/physgunlight 189 231 232 20
|
||||
|
||||
noshadow tree_deciduous_01a_branches.vmt
|
||||
noshadow tree_deciduous_01a_leaves.vmt
|
||||
noshadow tree_deciduous_01a_lod.vmt
|
||||
noshadow tree_deciduous_01a_lod-leaves.vmt
|
||||
|
||||
forcetextureshadow props_foliage/tree_dead01.mdl
|
||||
forcetextureshadow props_foliage/tree_dead02.mdl
|
||||
forcetextureshadow props_foliage/tree_dead03.mdl
|
||||
forcetextureshadow props_foliage/tree_dead04.mdl
|
||||
forcetextureshadow props_foliage/tree_dry01.mdl
|
||||
forcetextureshadow props_foliage/tree_dry02.mdl
|
||||
forcetextureshadow props_foliage/tree_pine_large.mdl
|
||||
forcetextureshadow props_foliage/tree_pine04.mdl
|
||||
forcetextureshadow props_foliage/tree_pine05.mdl
|
||||
forcetextureshadow props_foliage/tree_pine06.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_01a.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_02a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001b.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001c.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001d.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001e.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001g.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002b.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002c.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002d.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002e.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002f.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003b.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003d.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003e.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003f.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence004a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence004b.mdl
|
||||
forcetextureshadow props_forest/fence_barb_256.mdl
|
||||
forcetextureshadow props_forest/fence_barb_512.mdl
|
||||
forcetextureshadow props_forest/fence_border_128.mdl
|
||||
forcetextureshadow props_forest/fence_border_256.mdl
|
||||
forcetextureshadow props_forest/fence_border_512.mdl
|
||||
forcetextureshadow props_forest/fence_trail_128.mdl
|
||||
forcetextureshadow props_forest/fence_trail_256.mdl
|
||||
forcetextureshadow props_forest/fence_trail_512.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002b.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002c.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002d.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002e.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002f.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence001a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence001b.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002b.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002c.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002d.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002e.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence003a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence003b.mdl
|
||||
forcetextureshadow props_foliage/fern01.mdl
|
||||
forcetextureshadow props_foliage/ferns01.mdl
|
||||
forcetextureshadow props_foliage/ferns02.mdl
|
||||
forcetextureshadow props_foliage/ferns03.mdl
|
||||
forcetextureshadow props_forest/fern01.mdl
|
||||
forcetextureshadow props_forest/fern01lg.mdl
|
||||
BIN
sp/game/mod_episodic/maps/sdk_vehicles.bsp
Normal file
BIN
sp/game/mod_episodic/maps/sdk_vehicles.bsp
Normal file
Binary file not shown.
799
sp/game/mod_episodic/resource/ClientScheme.res
Normal file
799
sp/game/mod_episodic/resource/ClientScheme.res
Normal file
@@ -0,0 +1,799 @@
|
||||
///////////////////////////////////////////////////////////
|
||||
// Tracker scheme resource file
|
||||
//
|
||||
// sections:
|
||||
// Colors - all the colors used by the scheme
|
||||
// BaseSettings - contains settings for app to use to draw controls
|
||||
// Fonts - list of all the fonts used by app
|
||||
// Borders - description of all the borders
|
||||
//
|
||||
///////////////////////////////////////////////////////////
|
||||
Scheme
|
||||
{
|
||||
//////////////////////// COLORS ///////////////////////////
|
||||
// color details
|
||||
// this is a list of all the colors used by the scheme
|
||||
Colors
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////// BASE SETTINGS ////////////////////////
|
||||
//
|
||||
// default settings for all panels
|
||||
// controls use these to determine their settings
|
||||
BaseSettings
|
||||
{
|
||||
"FgColor" "255 220 0 100"
|
||||
"BgColor" "0 0 0 76"
|
||||
|
||||
"Panel.FgColor" "255 220 0 100"
|
||||
"Panel.BgColor" "0 0 0 76"
|
||||
|
||||
"BrightFg" "255 220 0 255"
|
||||
|
||||
"DamagedBg" "180 0 0 200"
|
||||
"DamagedFg" "180 0 0 230"
|
||||
"BrightDamagedFg" "255 0 0 255"
|
||||
|
||||
// weapon selection colors
|
||||
"SelectionNumberFg" "255 220 0 255"
|
||||
"SelectionTextFg" "255 220 0 255"
|
||||
"SelectionEmptyBoxBg" "0 0 0 80"
|
||||
"SelectionBoxBg" "0 0 0 80"
|
||||
"SelectionSelectedBoxBg" "0 0 0 80"
|
||||
|
||||
"ZoomReticleColor" "255 220 0 255"
|
||||
|
||||
// HL1-style HUD colors
|
||||
"Yellowish" "255 160 0 255"
|
||||
"Normal" "255 208 64 255"
|
||||
"Caution" "255 48 0 255"
|
||||
|
||||
// Top-left corner of the "Half-Life 2" on the main screen
|
||||
"Main.Title1.X" "76"
|
||||
"Main.Title1.Y" "145"
|
||||
"Main.Title1.Y_hidef" "130"
|
||||
"Main.Title1.Color" "255 255 255 255"
|
||||
|
||||
// Top-left corner of secondary title e.g. "DEMO" on the main screen
|
||||
"Main.Title2.X" "76"
|
||||
"Main.Title2.Y" "190"
|
||||
"Main.Title2.Y_hidef" "174"
|
||||
"Main.Title2.Color" "255 255 255 200"
|
||||
|
||||
// Top-left corner of the menu on the main screen
|
||||
"Main.Menu.X" "53"
|
||||
"Main.Menu.X_hidef" "76"
|
||||
"Main.Menu.Y" "240"
|
||||
|
||||
// Blank space to leave beneath the menu on the main screen
|
||||
"Main.BottomBorder" "32"
|
||||
}
|
||||
|
||||
//////////////////////// BITMAP FONT FILES /////////////////////////////
|
||||
//
|
||||
// Bitmap Fonts are ****VERY*** expensive static memory resources so they are purposely sparse
|
||||
BitmapFontFiles
|
||||
{
|
||||
// UI buttons, custom font, (256x64)
|
||||
"Buttons" "materials/vgui/fonts/buttons_32.vbf"
|
||||
}
|
||||
|
||||
|
||||
//////////////////////// FONTS /////////////////////////////
|
||||
//
|
||||
// describes all the fonts
|
||||
Fonts
|
||||
{
|
||||
// fonts are used in order that they are listed
|
||||
// fonts are used in order that they are listed
|
||||
"DebugFixed"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
// fonts are used in order that they are listed
|
||||
"DebugFixedSmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
// fonts listed later in the order will only be used if they fulfill a range not already filled
|
||||
// if a font fails to load then the subsequent fonts will replace
|
||||
Default
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
}
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "9"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "1 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "768 1023"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "1024 1199"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "1200 10000"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
"DefaultSmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "480 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "13"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "768 1023"
|
||||
"antialias" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "1024 1199"
|
||||
"antialias" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "1200 6000"
|
||||
"antialias" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Arial"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "0"
|
||||
}
|
||||
}
|
||||
"DefaultVerySmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "480 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "13"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "768 1023"
|
||||
"antialias" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1024 1199"
|
||||
"antialias" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1200 6000"
|
||||
"antialias" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "0"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"name" "Arial"
|
||||
"tall" "11"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "0"
|
||||
}
|
||||
}
|
||||
WeaponIcons
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "64"
|
||||
"tall_hidef" "58"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
WeaponIconsSelected
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "64"
|
||||
"tall_hidef" "58"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"blur" "5"
|
||||
"scanlines" "2"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
WeaponIconsSmall
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
Crosshairs
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "40" [!$OSX]
|
||||
"tall" "41" [$OSX]
|
||||
"weight" "0"
|
||||
"antialias" "0"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
"yres" "1 10000"
|
||||
}
|
||||
}
|
||||
QuickInfo
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "HL2cross"
|
||||
"tall" "57"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "HL2cross"
|
||||
"tall" "28" [!$OSX]
|
||||
"tall" "50" [$OSX]
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1" [!$OSX]
|
||||
}
|
||||
}
|
||||
HudNumbers
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32" [$WIN32]
|
||||
"tall" "38" [$X360]
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
SquadIcon [$X360]
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "50"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
HudNumbersGlow
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32" [$WIN32]
|
||||
"tall" "38" [$X360]
|
||||
"weight" "0"
|
||||
"blur" "4"
|
||||
"scanlines" "2"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
HudNumbersSmall
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2" [!$OSX]
|
||||
"name" "Helvetica Bold" [$OSX]
|
||||
"tall" "16" [$WIN32]
|
||||
"tall" "22" [$X360]
|
||||
"weight" "1000"
|
||||
"additive" "1"
|
||||
"antialias" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
HudSelectionNumbers
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "11"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HudHintTextLarge
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"bitmap" "1"
|
||||
"name" "Buttons"
|
||||
"scalex" "1.0"
|
||||
"scaley" "1.0"
|
||||
}
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Verdana" [!$OSX]
|
||||
"name" "Helvetica Bold" [$OSX]
|
||||
"tall" "14"
|
||||
"weight" "1000"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HudHintTextSmall
|
||||
{
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Verdana" [!$OSX]
|
||||
"name" "Helvetica" [$OSX]
|
||||
"tall" "11"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HudSelectionText
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "8"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "1 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "10"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "768 1023"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "16"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "1024 1199"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "17"
|
||||
"weight" "1000"
|
||||
"antialias" "1"
|
||||
"yres" "1200 10000"
|
||||
}
|
||||
}
|
||||
GameUIButtons
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"bitmap" "1"
|
||||
"name" "Buttons"
|
||||
"scalex" "0.63"
|
||||
"scaley" "0.63"
|
||||
"scalex_hidef" "1.0"
|
||||
"scaley_hidef" "1.0"
|
||||
}
|
||||
}
|
||||
BudgetLabel
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"outline" "1"
|
||||
}
|
||||
}
|
||||
DebugOverlay
|
||||
{
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"outline" "1"
|
||||
}
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "Tahoma"
|
||||
"tall" "18"
|
||||
"weight" "200"
|
||||
"outline" "1"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Normal"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "500"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Italic"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana Italic" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "500"
|
||||
"italic" "1"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Bold"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana Bold" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "900"
|
||||
}
|
||||
}
|
||||
"CloseCaption_BoldItalic"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana Bold Italic" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "900"
|
||||
"italic" "1"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Small"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana" [$OSX]
|
||||
"tall" "16" [!$OSX]
|
||||
"tall" "14" [$OSX]
|
||||
"tall_hidef" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
// this is the symbol font
|
||||
"Marlett"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Marlett"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
"symbol" "1"
|
||||
}
|
||||
}
|
||||
"Trebuchet24"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x007F" // Basic Latin
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
"Trebuchet18"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "18"
|
||||
"weight" "900"
|
||||
}
|
||||
}
|
||||
ClientTitleFont
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HL2EP2"
|
||||
"tall" "34"
|
||||
"tall_hidef" "48"
|
||||
"weight" "0"
|
||||
"additive" "0"
|
||||
"antialias" "1"
|
||||
"custom" "1" [$OSX]
|
||||
}
|
||||
}
|
||||
CreditsLogo
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "128"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
CreditsText
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "20"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
CreditsOutroLogos
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "48"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
CreditsOutroText
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana" [!$OSX]
|
||||
"name" "Courier Bold" [$OSX]
|
||||
"tall" "9"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
CenterPrintText
|
||||
{
|
||||
// note that this scales with the screen resolution
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS" [!$OSX]
|
||||
"name" "Helvetica" [$OSX]
|
||||
"tall" "18"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HDRDemoText
|
||||
{
|
||||
// note that this scales with the screen resolution
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
"AchievementNotification"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "14"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
"CommentaryDefault"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "480 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "13" [$WIN32]
|
||||
"tall" "20" [$X360]
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "768 1023"
|
||||
"antialias" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1024 1199"
|
||||
"antialias" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1200 6000"
|
||||
"antialias" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "900"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"name" "Arial"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "800"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////// CUSTOM FONT FILES /////////////////////////////
|
||||
//
|
||||
// specifies all the custom (non-system) font files that need to be loaded to service the above described fonts
|
||||
CustomFontFiles
|
||||
{
|
||||
"1" "resource/HALFLIFE2.ttf"
|
||||
"2" "resource/HL2crosshairs.ttf"
|
||||
"3" "resource/HL2EP2.ttf"
|
||||
}
|
||||
|
||||
}
|
||||
BIN
sp/game/mod_episodic/resource/HL2EP2.ttf
Normal file
BIN
sp/game/mod_episodic/resource/HL2EP2.ttf
Normal file
Binary file not shown.
BIN
sp/game/mod_episodic/resource/mod_episodic_english.txt
Normal file
BIN
sp/game/mod_episodic/resource/mod_episodic_english.txt
Normal file
Binary file not shown.
10
sp/game/mod_episodic/scripts/ChapterBackgrounds.txt
Normal file
10
sp/game/mod_episodic/scripts/ChapterBackgrounds.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
"chapters"
|
||||
{
|
||||
1 "ep2_background01"
|
||||
2 "ep2_background02"
|
||||
3 "ep2_background02"
|
||||
4 "ep2_background02a"
|
||||
5 "ep2_background02a"
|
||||
6 "ep2_background03"
|
||||
7 "ep2_background03"
|
||||
}
|
||||
722
sp/game/mod_episodic/scripts/HudLayout.res
Normal file
722
sp/game/mod_episodic/scripts/HudLayout.res
Normal file
@@ -0,0 +1,722 @@
|
||||
"Resource/HudLayout.res"
|
||||
{
|
||||
HudHealth [$WIN32]
|
||||
{
|
||||
"fieldName" "HudHealth"
|
||||
"xpos" "16"
|
||||
"ypos" "432"
|
||||
"wide" "102"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "20"
|
||||
"digit_xpos" "50"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
HudHealth [$X360]
|
||||
{
|
||||
"fieldName" "HudHealth"
|
||||
"xpos" "48"
|
||||
"ypos" "416"
|
||||
"wide" "115"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "18"
|
||||
"digit_xpos" "60"
|
||||
"digit_ypos" "-1"
|
||||
}
|
||||
|
||||
HudSuit [$WIN32]
|
||||
{
|
||||
"fieldName" "HudSuit"
|
||||
"xpos" "140"
|
||||
"ypos" "432"
|
||||
"wide" "108"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "20"
|
||||
"digit_xpos" "50"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
HudSuit [$X360]
|
||||
{
|
||||
"fieldName" "HudSuit"
|
||||
"xpos" "176"
|
||||
"ypos" "416"
|
||||
"wide" "117"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "18"
|
||||
"digit_xpos" "50"
|
||||
"digit_ypos" "-1"
|
||||
}
|
||||
|
||||
HudAmmo [$WIN32]
|
||||
{
|
||||
"fieldName" "HudAmmo"
|
||||
"xpos" "r150"
|
||||
"ypos" "432"
|
||||
"wide" "136"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "20"
|
||||
"digit_xpos" "44"
|
||||
"digit_ypos" "2"
|
||||
"digit2_xpos" "98"
|
||||
"digit2_ypos" "16"
|
||||
}
|
||||
HudAmmo [$X360]
|
||||
{
|
||||
"fieldName" "HudAmmo"
|
||||
"xpos" "r208"
|
||||
"ypos" "416"
|
||||
"wide" "160"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "18"
|
||||
"digit_xpos" "60"
|
||||
"digit_ypos" "-1"
|
||||
"digit2_xpos" "120"
|
||||
"digit2_ypos" "14"
|
||||
}
|
||||
|
||||
HudAmmoSecondary [$WIN32]
|
||||
{
|
||||
"fieldName" "HudAmmoSecondary"
|
||||
"xpos" "r76"
|
||||
"ypos" "432"
|
||||
"wide" "60"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "22"
|
||||
"digit_xpos" "36"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
HudAmmoSecondary [$X360]
|
||||
{
|
||||
"fieldName" "HudAmmoSecondary"
|
||||
"xpos" "r113"
|
||||
"ypos" "416"
|
||||
"wide" "65"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "22"
|
||||
"digit_xpos" "36"
|
||||
"digit_ypos" "-1"
|
||||
}
|
||||
|
||||
HudPosture [$WIN32]
|
||||
{
|
||||
"fieldName" "HudPosture"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "16"
|
||||
"ypos" "316"
|
||||
"tall" "36"
|
||||
"wide" "36"
|
||||
"font" "WeaponIconsSmall"
|
||||
"icon_xpos" "10"
|
||||
"icon_ypos" "0"
|
||||
}
|
||||
HudPosture [$X360]
|
||||
{
|
||||
"fieldName" "HudPosture"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "48"
|
||||
"ypos" "316"
|
||||
"tall" "36"
|
||||
"wide" "36"
|
||||
"font" "WeaponIconsSmall"
|
||||
"icon_xpos" "10"
|
||||
"icon_ypos" "2"
|
||||
}
|
||||
|
||||
HudSuitPower [$WIN32]
|
||||
{
|
||||
"fieldName" "HudSuitPower"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "16"
|
||||
"ypos" "396"
|
||||
"wide" "102"
|
||||
"tall" "26"
|
||||
|
||||
"AuxPowerLowColor" "255 0 0 220"
|
||||
"AuxPowerHighColor" "255 220 0 220"
|
||||
"AuxPowerDisabledAlpha" "70"
|
||||
|
||||
"BarInsetX" "8"
|
||||
"BarInsetY" "15"
|
||||
"BarWidth" "92"
|
||||
"BarHeight" "4"
|
||||
"BarChunkWidth" "6"
|
||||
"BarChunkGap" "3"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "4"
|
||||
"text2_xpos" "8"
|
||||
"text2_ypos" "22"
|
||||
"text2_gap" "10"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
HudSuitPower [$X360]
|
||||
{
|
||||
"fieldName" "HudSuitPower"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "48"
|
||||
"ypos" "370"
|
||||
"wide" "102"
|
||||
"tall" "26"
|
||||
|
||||
"AuxPowerLowColor" "255 100 0 220"
|
||||
"AuxPowerHighColor" "255 220 0 220"
|
||||
"AuxPowerDisabledAlpha" "70"
|
||||
|
||||
"BarInsetX" "8"
|
||||
"BarInsetY" "19"
|
||||
"BarWidth" "92"
|
||||
"BarHeight" "5"
|
||||
"BarChunkWidth" "6"
|
||||
"BarChunkGap" "3"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "4"
|
||||
"text2_xpos" "8"
|
||||
"text2_ypos" "25"
|
||||
"text2_gap" "12"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudFlashlight
|
||||
{
|
||||
"fieldName" "HudFlashlight"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "270" [$WIN32]
|
||||
"ypos" "444" [$WIN32]
|
||||
"xpos_hidef" "306" [$X360] // aligned to left
|
||||
"xpos_lodef" "c-18" [$X360] // centered in screen
|
||||
"ypos" "428" [$X360]
|
||||
"tall" "24"
|
||||
"wide" "36"
|
||||
"font" "WeaponIconsSmall"
|
||||
|
||||
"icon_xpos" "4"
|
||||
"icon_ypos" "-8"
|
||||
|
||||
"BarInsetX" "4"
|
||||
"BarInsetY" "18"
|
||||
"BarWidth" "28"
|
||||
"BarHeight" "2"
|
||||
"BarChunkWidth" "2"
|
||||
"BarChunkGap" "1"
|
||||
}
|
||||
|
||||
HudLocator
|
||||
{
|
||||
"fieldName" "HudLocator"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "c8" [$WIN32]
|
||||
"ypos" "r36" [$WIN32]
|
||||
"xpos" "c-32" [$X360]
|
||||
"ypos_hidef" "r52" [$X360]
|
||||
"ypos_lodef" "r95" [$X360] // 52 is aligned to bottom of HudSuit
|
||||
"wide" "64"
|
||||
"tall" "24"
|
||||
}
|
||||
|
||||
HudDamageIndicator
|
||||
{
|
||||
"fieldName" "HudDamageIndicator"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"DmgColorLeft" "255 0 0 0"
|
||||
"DmgColorRight" "255 0 0 0"
|
||||
|
||||
"dmg_xpos" "30"
|
||||
"dmg_ypos" "100"
|
||||
"dmg_wide" "36"
|
||||
"dmg_tall1" "240"
|
||||
"dmg_tall2" "200"
|
||||
}
|
||||
|
||||
HudZoom
|
||||
{
|
||||
"fieldName" "HudZoom"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"Circle1Radius" "66"
|
||||
"Circle2Radius" "74"
|
||||
"DashGap" "16"
|
||||
"DashHeight" "4" [$WIN32]
|
||||
"DashHeight" "6" [$X360]
|
||||
"BorderThickness" "88"
|
||||
}
|
||||
|
||||
HudWeaponSelection
|
||||
{
|
||||
"fieldName" "HudWeaponSelection"
|
||||
"ypos" "16" [$WIN32]
|
||||
"ypos" "32" [$X360]
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"SmallBoxSize" "32"
|
||||
"MediumBoxWide" "95"
|
||||
"MediumBoxWide_hidef" "78"
|
||||
"MediumBoxTall" "50"
|
||||
"MediumBoxTall_hidef" "50"
|
||||
"MediumBoxWide_lodef" "74"
|
||||
"MediumBoxTall_lodef" "50"
|
||||
"LargeBoxWide" "112"
|
||||
"LargeBoxTall" "80"
|
||||
"BoxGap" "8"
|
||||
"SelectionNumberXPos" "4"
|
||||
"SelectionNumberYPos" "4"
|
||||
"SelectionGrowTime" "0.4"
|
||||
"TextYPos" "64"
|
||||
}
|
||||
|
||||
HudCrosshair
|
||||
{
|
||||
"fieldName" "HudCrosshair"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudDeathNotice
|
||||
{
|
||||
"fieldName" "HudDeathNotice"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudVehicle
|
||||
{
|
||||
"fieldName" "HudVehicle"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
ScorePanel
|
||||
{
|
||||
"fieldName" "ScorePanel"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudTrain
|
||||
{
|
||||
"fieldName" "HudTrain"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudMOTD
|
||||
{
|
||||
"fieldName" "HudMOTD"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudMessage
|
||||
{
|
||||
"fieldName" "HudMessage"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudMenu
|
||||
{
|
||||
"fieldName" "HudMenu"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudCloseCaption
|
||||
{
|
||||
"fieldName" "HudCloseCaption"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "c-250"
|
||||
"ypos" "276" [$WIN32]
|
||||
"ypos_hidef" "236" [$X360]
|
||||
"ypos_lodef" "206" [$X360] //236
|
||||
"wide" "500"
|
||||
"tall" "136" [$WIN32]
|
||||
"tall" "176" [$X360]
|
||||
|
||||
"BgAlpha" "128"
|
||||
|
||||
"GrowTime" "0.25"
|
||||
"ItemHiddenTime" "0.2" // Nearly same as grow time so that the item doesn't start to show until growth is finished
|
||||
"ItemFadeInTime" "0.15" // Once ItemHiddenTime is finished, takes this much longer to fade in
|
||||
"ItemFadeOutTime" "0.3"
|
||||
"topoffset" "0" [$WIN32]
|
||||
"topoffset" "40" [$X360]
|
||||
}
|
||||
|
||||
HudChat
|
||||
{
|
||||
"fieldName" "HudChat"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "4"
|
||||
"tall" "4"
|
||||
}
|
||||
|
||||
HudHistoryResource [$WIN32]
|
||||
{
|
||||
"fieldName" "HudHistoryResource"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r252"
|
||||
"ypos" "40"
|
||||
"wide" "248"
|
||||
"tall" "320"
|
||||
|
||||
"history_gap" "56" [!$OS]
|
||||
"history_gap" "64" [$OSX]
|
||||
"icon_inset" "38"
|
||||
"text_inset" "36"
|
||||
"NumberFont" "HudNumbersSmall"
|
||||
}
|
||||
HudHistoryResource [$X360]
|
||||
{
|
||||
"fieldName" "HudHistoryResource"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r300"
|
||||
"ypos" "40"
|
||||
"wide" "248"
|
||||
"tall" "240"
|
||||
|
||||
"history_gap" "56"
|
||||
"icon_inset" "38"
|
||||
"text_inset" "36"
|
||||
"NumberFont" "HudNumbersSmall"
|
||||
}
|
||||
|
||||
HudGeiger
|
||||
{
|
||||
"fieldName" "HudGeiger"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HUDQuickInfo
|
||||
{
|
||||
"fieldName" "HUDQuickInfo"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudWeapon
|
||||
{
|
||||
"fieldName" "HudWeapon"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
HudAnimationInfo
|
||||
{
|
||||
"fieldName" "HudAnimationInfo"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudPredictionDump
|
||||
{
|
||||
"fieldName" "HudPredictionDump"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudHintDisplay
|
||||
{
|
||||
"fieldName" "HudHintDisplay"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"Alpha" "0" // Remove this to enable hint hud element
|
||||
"xpos" "r120" [$WIN32]
|
||||
"ypos" "r340" [$WIN32]
|
||||
"xpos" "r148" [$X360]
|
||||
"ypos" "r338" [$X360]
|
||||
"wide" "100"
|
||||
"tall" "200"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"text_xgap" "8"
|
||||
"text_ygap" "8"
|
||||
"TextColor" "255 170 0 220"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudHintKeyDisplay
|
||||
{
|
||||
"fieldName" "HudHintKeyDisplay"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "r120" [$WIN32]
|
||||
"ypos" "r340" [$WIN32]
|
||||
"xpos" "r148" [$X360]
|
||||
"ypos" "r338" [$X360]
|
||||
"wide" "100"
|
||||
"tall" "200"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"text_xgap" "8"
|
||||
"text_ygap" "8"
|
||||
"TextColor" "255 170 0 220"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
|
||||
HudSquadStatus [$WIN32]
|
||||
{
|
||||
"fieldName" "HudSquadStatus"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r120"
|
||||
"ypos" "380"
|
||||
"wide" "104"
|
||||
"tall" "46"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "34"
|
||||
"SquadIconColor" "255 220 0 160"
|
||||
"IconInsetX" "8"
|
||||
"IconInsetY" "0"
|
||||
"IconGap" "24"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
HudSquadStatus [$X360]
|
||||
{
|
||||
"fieldName" "HudSquadStatus"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r182"
|
||||
"ypos" "348"
|
||||
"wide" "134"
|
||||
"tall" "62"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "44"
|
||||
"SquadIconColor" "255 220 0 160"
|
||||
"IconInsetX" "8"
|
||||
"IconInsetY" "-4"
|
||||
"IconGap" "24"
|
||||
"IconFont" "SquadIcon"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudPoisonDamageIndicator [$WIN32]
|
||||
{
|
||||
"fieldName" "HudPoisonDamageIndicator"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "16"
|
||||
"ypos" "346"
|
||||
"wide" "136"
|
||||
"tall" "38"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"text_ygap" "14"
|
||||
"TextColor" "255 170 0 220"
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
HudPoisonDamageIndicator [$X360]
|
||||
{
|
||||
"fieldName" "HudPoisonDamageIndicator"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "48"
|
||||
"ypos" "264"
|
||||
"wide" "192"
|
||||
"tall" "46"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "6"
|
||||
"text_ygap" "16"
|
||||
"TextColor" "255 170 0 220"
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudCredits
|
||||
{
|
||||
"fieldName" "HudCredits"
|
||||
"TextFont" "Default"
|
||||
"visible" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
"TextColor" "255 255 255 192"
|
||||
|
||||
}
|
||||
|
||||
HUDAutoAim
|
||||
{
|
||||
"fieldName" "HUDAutoAim"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640" [$WIN32]
|
||||
"tall" "480" [$WIN32]
|
||||
"wide" "960" [$X360]
|
||||
"tall" "720" [$X360]
|
||||
}
|
||||
|
||||
HudCommentary
|
||||
{
|
||||
"fieldName" "HudCommentary"
|
||||
"xpos" "c-190"
|
||||
"ypos" "350"
|
||||
"wide" "380"
|
||||
"tall" "40"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"bar_xpos" "50"
|
||||
"bar_ypos" "20"
|
||||
"bar_height" "8"
|
||||
"bar_width" "320"
|
||||
"speaker_xpos" "50"
|
||||
"speaker_ypos" "8"
|
||||
"count_xpos_from_right" "10" // Counts from the right side
|
||||
"count_ypos" "8"
|
||||
|
||||
"icon_texture" "vgui/hud/icon_commentary"
|
||||
"icon_xpos" "0"
|
||||
"icon_ypos" "0"
|
||||
"icon_width" "40"
|
||||
"icon_height" "40"
|
||||
}
|
||||
|
||||
HudHDRDemo
|
||||
{
|
||||
"fieldName" "HudHDRDemo"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"Alpha" "255"
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"BorderColor" "0 0 0 255"
|
||||
"BorderLeft" "16"
|
||||
"BorderRight" "16"
|
||||
"BorderTop" "16"
|
||||
"BorderBottom" "64"
|
||||
"BorderCenter" "0"
|
||||
|
||||
"TextColor" "255 255 255 255"
|
||||
"LeftTitleY" "422"
|
||||
"RightTitleY" "422"
|
||||
}
|
||||
"HudChatHistory"
|
||||
{
|
||||
"ControlName" "RichText"
|
||||
"fieldName" "HudChatHistory"
|
||||
"xpos" "10"
|
||||
"ypos" "290"
|
||||
"wide" "300"
|
||||
"tall" "75"
|
||||
"wrap" "1"
|
||||
"autoResize" "1"
|
||||
"pinCorner" "1"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"labelText" ""
|
||||
"textAlignment" "south-west"
|
||||
"font" "Default"
|
||||
"maxchars" "-1"
|
||||
}
|
||||
|
||||
AchievementNotificationPanel
|
||||
{
|
||||
"fieldName" "AchievementNotificationPanel"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "180"
|
||||
"wide" "f10" [$WIN32]
|
||||
"wide" "f60" [$X360]
|
||||
"tall" "100"
|
||||
}
|
||||
}
|
||||
845
sp/game/mod_episodic/scripts/actbusy.txt
Normal file
845
sp/game/mod_episodic/scripts/actbusy.txt
Normal file
@@ -0,0 +1,845 @@
|
||||
// "act busy name" This is the name that a mapmaker must specify in the hint node.
|
||||
// {
|
||||
// "busy_anim" "Activity Name".
|
||||
// "entry_anim" "Activity Name"
|
||||
// "exit_anim" "Activity Name"
|
||||
// "busy_sequence" "Sequence Name". If specified, this is used over the activity name. Specify it in the hint node.
|
||||
// "entry_sequence" "Sequence Name". If specified, this is used over the entry anim.
|
||||
// "exit_sequence" "Sequence Name". If specified, this is used over the exit anim.
|
||||
// "min_time" "Minimum time to spend in this busy anim"
|
||||
// "max_time" "Maximum time to spend in this busy anim" 0 = only stop when interrupted by external event
|
||||
// "interrupts" One of:
|
||||
// "BA_INT_NONE" break out only when time runs out. No external influence will break me out.
|
||||
// "BA_INT_DANGER" break out of this anim only if threatened
|
||||
// "BA_INT_PLAYER" break out of this anim if I can see the player, or I'm threatened
|
||||
// "BA_INT_AMBUSH" someone please define this - I have no idea what it does
|
||||
// "BA_INT_COMBAT" break out of this anim if combat occurs in my line of sight (bullet hits, grenades, etc), -OR- the max time is reached
|
||||
//
|
||||
// "use_automovement" Set to 1, the NPC navigation system will be used as the actor animates, preventing them moving into solids. Should be used in
|
||||
// all cases except those where the actor will be interpenetrating another object (such as sitting on a chair).
|
||||
// }
|
||||
//
|
||||
//
|
||||
"ActBusy.txt"
|
||||
{
|
||||
"binoculars_idle"
|
||||
{
|
||||
"busy_sequence" "binoculars_idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_PLAYER"
|
||||
}
|
||||
"d2_coast03_PreBattle_Scan_Skies"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Scan_Skies"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Scan_Skies02"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Scan_Skies02"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Scan_Skies03"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Scan_Skies03"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Kneel_Idle"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Kneel_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Stand_Look"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Stand_Look"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_alert_01"
|
||||
{
|
||||
"busy_sequence" "idle_alert_01"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_alert_02"
|
||||
{
|
||||
"busy_sequence" "idle_alert_02"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_relaxed_01"
|
||||
{
|
||||
"busy_sequence" "idle_relaxed_01"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_relaxed_02"
|
||||
{
|
||||
"busy_sequence" "idle_relaxed_02"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_town05_Leon_Lean_Table_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_town05_Leon_Lean_Table_Idle"
|
||||
"entry_sequence" "d1_town05_Leon_Lean_Table_Entry"
|
||||
"exit_sequence" "d1_town05_Leon_Lean_Table_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
|
||||
"d1_t03_Sit_couch"
|
||||
{
|
||||
"busy_sequence" "d1_t03_Sit_couch"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_sit_couch_consoling"
|
||||
{
|
||||
"busy_sequence" "d1_t03_sit_couch_consoling"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"fear_reaction_Idle"
|
||||
{
|
||||
"busy_sequence" "fear_reaction_Idle"
|
||||
"entry_sequence" "fear_reaction"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"cower_Idle"
|
||||
{
|
||||
"busy_sequence" "cower_Idle"
|
||||
"entry_sequence" "cower"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_Sit_Bed"
|
||||
{
|
||||
"busy_sequence" "d1_t03_Sit_Bed"
|
||||
"entry_sequence" "d1_t03_Sit_Bed_Entry"
|
||||
"exit_sequence" "d1_t03_Sit_Bed_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"LineIdle01"
|
||||
{
|
||||
"busy_sequence" "LineIdle01"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_WatchBreen"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_WatchBreen"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t02_Plaza_Sit01_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Plaza_Sit01_Idle"
|
||||
"entry_sequence" "Idle_to_d1_t01_BreakRoom_Sit01"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit01_to_Idle"
|
||||
"min_time" "20.0"
|
||||
"max_time" "30.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"d1_t02_Plaza_Sit02"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Plaza_Sit02"
|
||||
"entry_sequence" "d1_t01_BreakRoom_Sit02_Entry"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit02_Exit"
|
||||
"min_time" "20.0"
|
||||
"max_time" "30.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"d1_t02_Playground_Cit2_Pockets"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Playground_Cit2_Pockets"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t02_Playground_Cit1_Arms_Crossed"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Playground_Cit1_Arms_Crossed"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_LookOutDoor"
|
||||
{
|
||||
"busy_sequence" "d1_t03_LookOutDoor"
|
||||
"entry_sequence" "d1_t03_LookOutDoor_Entry"
|
||||
"exit_sequence" "d1_t03_LookOutDoor_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_LookOutWindow"
|
||||
{
|
||||
"busy_sequence" "d1_t03_LookOutWindow"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_Tenements_Look_Out_Window_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t03_Tenements_Look_Out_Window_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_PreRaid_Peek_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t03_PreRaid_Peek_Idle"
|
||||
"exit_sequence" "d1_t03_Preraid_Peek_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_Clutch_Chainlink_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t01_Clutch_Chainlink_Idle"
|
||||
"entry_sequence" "d1_t01_Clutch_Chainlink_Entry"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_Sit01_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_Sit01_Idle"
|
||||
"entry_sequence" "Idle_to_d1_t01_BreakRoom_Sit01"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit01_to_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_Sit02"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_Sit02"
|
||||
"entry_sequence" "d1_t01_BreakRoom_Sit02_Entry"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit02_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_WatchClock_Sit"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_WatchClock_Sit"
|
||||
"entry_sequence" "d1_t01_BreakRoom_WatchClock_Sit_Entry"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"d1_t01_BreakRoom_WatchClock_Sit_MX"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_WatchClock_Sit_MX"
|
||||
"entry_sequence" "d1_t01_BreakRoom_WatchClock_Sit_Entry_MX"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"ACT_BUSY_LEAN_LEFT"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_LEAN_LEFT"
|
||||
"entry_anim" "ACT_BUSY_LEAN_LEFT_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_LEAN_LEFT_EXIT"
|
||||
"min_time" "10.0"
|
||||
"max_time" "20.0"
|
||||
"interrupts" "BA_INT_PLAYER"
|
||||
}
|
||||
"Lean_Left"
|
||||
{
|
||||
"busy_sequence" "Lean_Left"
|
||||
"entry_anim" "ACT_BUSY_LEAN_LEFT_ENTRY"
|
||||
"exit_sequence" "photo_react_startle"
|
||||
"min_time" "0"
|
||||
"max_time" "0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"ACT_BUSY_LEAN_BACK"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_LEAN_BACK"
|
||||
"entry_anim" "ACT_BUSY_LEAN_BACK_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_LEAN_BACK_EXIT"
|
||||
"min_time" "10.0"
|
||||
"max_time" "20.0"
|
||||
"interrupts" "BA_INT_PLAYER"
|
||||
}
|
||||
"lean_back"
|
||||
{
|
||||
"busy_sequence" "lean_back"
|
||||
"entry_anim" "ACT_BUSY_LEAN_BACK_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_LEAN_BACK_EXIT"
|
||||
"min_time" "0"
|
||||
"max_time" "0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"ACT_BUSY_SIT_GROUND"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_SIT_GROUND"
|
||||
"entry_anim" "ACT_BUSY_SIT_GROUND_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_SIT_GROUND_EXIT"
|
||||
"min_time" "20.0"
|
||||
"max_time" "30.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"ACT_BUSY_SIT_CHAIR"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_SIT_CHAIR"
|
||||
"entry_anim" "ACT_BUSY_SIT_CHAIR_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_SIT_CHAIR_EXIT"
|
||||
"min_time" "30.0"
|
||||
"max_time" "40.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"ACT_BUSY_STAND"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_STAND"
|
||||
"min_time" "10.0"
|
||||
"max_time" "20.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"ACT_BUSY_QUEUE"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_QUEUE"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"food_queue_front"
|
||||
{
|
||||
"busy_sequence" "lineIdle01"
|
||||
"exit_sequence" "takepackage"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitcouchfeet1"
|
||||
{ "busy_sequence" "sitcouchfeet1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitcouchknees1"
|
||||
{ "busy_sequence" "sitcouchknees1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitchairtable1"
|
||||
{ "busy_sequence" "sitchairtable1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitcouch1"
|
||||
{ "busy_sequence" "sitcouch1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitccouchtv1"
|
||||
{ "busy_sequence" "sitccouchtv1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"laycouch1"
|
||||
{ "busy_sequence" "laycouch1"
|
||||
"exit_sequence" "laycouch1_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"laycouch1"
|
||||
{
|
||||
"busy_sequence" "laycouch1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Sit_Chair02"
|
||||
{
|
||||
"busy_sequence" "Sit_Chair02"
|
||||
"entry_sequence" "Idle_to_Sit_Chair02"
|
||||
"exit_sequence" "Sit_Chair02_to_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Sit_Chair03"
|
||||
{
|
||||
"busy_sequence" "Sit_Chair03"
|
||||
"entry_sequence" "Idle_to_Sit_Chair03"
|
||||
"exit_sequence" "Sit_Chair03_to_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"drinker_sit_idle"
|
||||
{
|
||||
"busy_sequence" "drinker_sit_idle"
|
||||
"entry_sequence" "drinker_sit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"drinker_sit_idle_ss"
|
||||
{
|
||||
"busy_sequence" "drinker_sit_idle_ss"
|
||||
"entry_sequence" "drinker_sit_ss"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"railing_idle"
|
||||
{
|
||||
"busy_sequence" "railing_idle"
|
||||
//"entry_sequence" "railing_enter"
|
||||
"exit_sequence" "railing_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"D1_C01a_Mary_kneel"
|
||||
{
|
||||
"busy_sequence" "canals_mary_postidle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"D1_C03_Matt_sitground"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_SIT_GROUND"
|
||||
"entry_anim" "ACT_BUSY_SIT_GROUND_ENTRY"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Cover_R"
|
||||
{
|
||||
"busy_sequence" "Cover_R"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Cover_L"
|
||||
{
|
||||
"busy_sequence" "Cover_L"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Coverlow_R"
|
||||
{
|
||||
"busy_sequence" "Coverlow_R"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Coverlow_L"
|
||||
{
|
||||
"busy_sequence" "Coverlow_L"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//************ Soldier actbusy section *************************************
|
||||
//*****************************************************************************
|
||||
|
||||
|
||||
|
||||
"Cover_crouch"
|
||||
{
|
||||
"busy_sequence" "crouchidle_AB"
|
||||
"exit_sequence" "crouch_to_combat_stand"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Cover_crouch_B"
|
||||
{
|
||||
"busy_sequence" "crouchidle_AB"
|
||||
"exit_sequence" "crouchidle_ABexit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Signal_group"
|
||||
{
|
||||
"busy_sequence" "signal_group"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Idle_Alert"
|
||||
{
|
||||
"busy_sequence" "CombatIdle1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Signal_Advance"
|
||||
{
|
||||
"busy_sequence" "CombatIdle1"
|
||||
"exit_sequence" "signal_advance"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Right"
|
||||
{
|
||||
"busy_sequence" "leanwall_right_idle"
|
||||
"exit_sequence" "leanwall_right_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Corner_Right"
|
||||
{
|
||||
"busy_sequence" "leanwall_Corner_right_idle"
|
||||
"exit_sequence" "leanwall_Corner_right_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Left"
|
||||
{
|
||||
"busy_sequence" "leanwall_left_idle"
|
||||
"exit_sequence" "leanwall_left_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Left_B"
|
||||
{
|
||||
"busy_sequence" "leanwall_left_b_idle"
|
||||
"exit_sequence" "leanwall_left_b_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_A"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_A_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_A_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_B"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_B_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_B_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_C"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_C_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_C_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_D"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_D_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_D_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"core_control_console_type"
|
||||
{
|
||||
"busy_sequence" "console_type_loop"
|
||||
"entry_sequence" "console_type_entry"
|
||||
"exit_sequence" "console_type_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "120.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
//************ Metrocop actbusy section ************************************
|
||||
//*****************************************************************************
|
||||
|
||||
"Crouch_idle_pistol_A"
|
||||
{
|
||||
"busy_sequence" "Crouch_idle_pistol"
|
||||
"exit_sequence" "Crouch_to_shootpistol"
|
||||
"min_time" "1.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_COMBAT"
|
||||
}
|
||||
|
||||
"Crouch_idle_smg1_A"
|
||||
{
|
||||
"busy_sequence" "Crouch_idle_smg1"
|
||||
"exit_sequence" "Crouch_to_shootsmg1"
|
||||
"min_time" "1.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_COMBAT"
|
||||
}
|
||||
|
||||
"Idle_harrassidle_A"
|
||||
{
|
||||
"busy_sequence" "harrassidle"
|
||||
"min_time" "1.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_COMBAT"
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//************ Zombie actbusy section *nuugggh* *****************************
|
||||
//*****************************************************************************
|
||||
|
||||
"Zombie_Slump_A"
|
||||
{
|
||||
"busy_sequence" "slump_a"
|
||||
"exit_sequence" "slumprise_a"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_ZOMBIESLUMP"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
"Zombie_Slump_A2"
|
||||
{
|
||||
"busy_sequence" "slump_a"
|
||||
"exit_sequence" "slumprise_a2"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_ZOMBIESLUMP"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
"Zombie_Slump_B"
|
||||
{
|
||||
"busy_sequence" "slump_b"
|
||||
"exit_sequence" "slumprise_b"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_ZOMBIESLUMP"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
"Fastzombie_Slump_a"
|
||||
{
|
||||
"busy_sequence" "slump_a"
|
||||
"exit_sequence" "slumprise_a"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_ZOMBIESLUMP"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
"Fastzombie_Slump_b"
|
||||
{
|
||||
"busy_sequence" "slump_b"
|
||||
"exit_sequence" "slumprise_b"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_ZOMBIESLUMP"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
"Zombie_Slump_Unbreakable"
|
||||
{
|
||||
"busy_sequence" "slump_b"
|
||||
"exit_sequence" "slumprise_b"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
//************ Alyx *****************************
|
||||
//*****************************************************************************
|
||||
|
||||
|
||||
|
||||
"Alyx_fusebox_hack"
|
||||
{
|
||||
"busy_sequence" "alyx_actBusyPowerbox"
|
||||
"entry_sequence" "alyx_startPowerBox"
|
||||
"exit_sequence" "alyx_exitPowerBox"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
"use_automovement" "1"
|
||||
}
|
||||
|
||||
"Alyx_CrouchHide_01"
|
||||
{
|
||||
"busy_sequence" "CrouchHide_01"
|
||||
"entry_sequence" "CrouchHide_01_enter"
|
||||
"exit_sequence" "CrouchHide_01_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
|
||||
"Alyx_HideWall_AB"
|
||||
{
|
||||
"busy_sequence" "alyx_LeanWall"
|
||||
"entry_sequence" "alyx_HideWall"
|
||||
//"exit_sequence" "alyx_hackPowerBox"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
|
||||
"Alyx_Injured_WallLean"
|
||||
{
|
||||
"busy_sequence" "injured_rest1_idle"
|
||||
"entry_sequence" "injured_rest1_in"
|
||||
"exit_sequence" "injured_rest1_out"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"Alyx_Blindfire_Left"
|
||||
{
|
||||
"busy_sequence" "blindfire_left_action"
|
||||
"entry_sequence" "blindfire_left_entry"
|
||||
"exit_sequence" "blindfire_left_exit"
|
||||
"min_time" "12.0"
|
||||
"max_time" "12.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_Blindfire_Left_High"
|
||||
{
|
||||
"busy_sequence" "blindfire_left_high_action"
|
||||
"entry_sequence" "blindfire_left_entry"
|
||||
"exit_sequence" "blindfire_left_exit"
|
||||
"min_time" "12.0"
|
||||
"max_time" "12.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_Blindfire_Left_Low"
|
||||
{
|
||||
"busy_sequence" "blindfire_left_low_action"
|
||||
"entry_sequence" "blindfire_left_entry"
|
||||
"exit_sequence" "blindfire_left_exit"
|
||||
"min_time" "12.0"
|
||||
"max_time" "12.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
|
||||
"Alyx_Blindfire_Low"
|
||||
{
|
||||
"busy_sequence" "blindfire_low_action"
|
||||
"entry_sequence" "blindfire_low_entry"
|
||||
"exit_sequence" "blindfire_low_exit"
|
||||
"min_time" "10.0"
|
||||
"max_time" "10.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_Blindfire_Low_High"
|
||||
{
|
||||
"busy_sequence" "blindfire_low_high_action"
|
||||
"entry_sequence" "blindfire_low_entry"
|
||||
"exit_sequence" "blindfire_low_exit"
|
||||
"min_time" "10.0"
|
||||
"max_time" "10.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
|
||||
"Alyx_WallCover_Right"
|
||||
{
|
||||
"busy_sequence" "cover_right_action"
|
||||
"entry_sequence" "cover_right_entry"
|
||||
"exit_sequence" "cover_right_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_WallCover_Low"
|
||||
{
|
||||
"busy_sequence" "CrouchHide_01"
|
||||
"entry_sequence" "CrouchHide_01_enter"
|
||||
"exit_sequence" "CrouchHide_01_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_WallCover_Low_Timed"
|
||||
{
|
||||
"busy_sequence" "CrouchHide_01"
|
||||
"entry_sequence" "CrouchHide_01_enter"
|
||||
"exit_sequence" "CrouchHide_01_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "6.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_Guard_Low"
|
||||
{
|
||||
"busy_sequence" "crouch_aim_pistol"
|
||||
"entry_sequence" "stand_to_crouchshoot"
|
||||
"exit_sequence" "crouchshoot_to_stand"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_Guard_Low_Timed"
|
||||
{
|
||||
"busy_sequence" "crouch_aim_pistol"
|
||||
"entry_sequence" "stand_to_crouchshoot"
|
||||
"exit_sequence" "crouchshoot_to_stand"
|
||||
"min_time" "6.0"
|
||||
"max_time" "10.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
"Alyx_Guard"
|
||||
{
|
||||
"busy_sequence" "pistol_idle_aim"
|
||||
"entry_sequence" "pistol_idle_aim"
|
||||
"exit_sequence" "pistol_idle_aim"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_SIEGE_DEFENSE"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
298
sp/game/mod_episodic/scripts/credits.txt
Normal file
298
sp/game/mod_episodic/scripts/credits.txt
Normal file
@@ -0,0 +1,298 @@
|
||||
//Adrian: This file contains the credits info for both the Intro and outro.
|
||||
"credits.txt"
|
||||
{
|
||||
|
||||
//========================================================
|
||||
//These are the names used in the intro (trainride)
|
||||
//========================================================
|
||||
"IntroCreditsNames"
|
||||
{
|
||||
"V" "WeaponIcons"
|
||||
" " "CreditsText"
|
||||
" " "CreditsText"
|
||||
}
|
||||
|
||||
"CreditsParams"
|
||||
{
|
||||
"logo" "HALF-LIFE'"
|
||||
"logo2" "== episode two=="
|
||||
|
||||
"fadeintime" "2.5"
|
||||
"fadeouttime" "1"
|
||||
"fadeholdtime" "1.0"
|
||||
"nextfadetime" "1.0"
|
||||
"pausebetweenwaves" "1.0"
|
||||
"logotime" "1.0"
|
||||
"posx" "96"
|
||||
"posy" "360"
|
||||
|
||||
"color" "255 255 255 128"
|
||||
|
||||
// Outro Parameters
|
||||
"scrolltime" "80"
|
||||
"separation" "10"
|
||||
}
|
||||
|
||||
//========================================================
|
||||
//These are the names used in the outro (outland_12a)
|
||||
//========================================================
|
||||
"OutroCreditsNames"
|
||||
{
|
||||
"HALF-LIFE'" "ClientTitleFont"
|
||||
"== episode two==" "ClientTitleFont"
|
||||
" " "CreditsOutroText"
|
||||
"V" "CreditsOutroLogos"
|
||||
" " "CreditsOutroText"
|
||||
"Gautam Babbar" "CreditsOutroText"
|
||||
"Ted Backman" "CreditsOutroText"
|
||||
"Kelly Bailey" "CreditsOutroText"
|
||||
"Jeff Ballinger" "CreditsOutroText"
|
||||
"Aaron Barber" "CreditsOutroText"
|
||||
"Jeep Barnett" "CreditsOutroText"
|
||||
"Jeremy Bennett" "CreditsOutroText"
|
||||
"Dan Berger" "CreditsOutroText"
|
||||
"Yahn Bernier" "CreditsOutroText"
|
||||
"Ken Birdwell" "CreditsOutroText"
|
||||
"Derrick Birum" "CreditsOutroText"
|
||||
"Mike Blaszczak" "CreditsOutroText"
|
||||
"Iestyn Bleasdale-Shepherd" "CreditsOutroText"
|
||||
"Chris Bokitch" "CreditsOutroText"
|
||||
"Steve Bond" "CreditsOutroText"
|
||||
"Matt Boone" "CreditsOutroText"
|
||||
"Antoine Bourdon" "CreditsOutroText"
|
||||
"Jamaal Bradley" "CreditsOutroText"
|
||||
"Jason Brashill" "CreditsOutroText"
|
||||
"Charlie Brown" "CreditsOutroText"
|
||||
"Charlie Burgin" "CreditsOutroText"
|
||||
"Andrew Burke" "CreditsOutroText"
|
||||
"Augusta Butlin" "CreditsOutroText"
|
||||
"Julie Caldwell" "CreditsOutroText"
|
||||
"Dario Casali" "CreditsOutroText"
|
||||
"Chris Chin" "CreditsOutroText"
|
||||
"Jess Cliffe" "CreditsOutroText"
|
||||
"Phil Co" "CreditsOutroText"
|
||||
"John Cook" "CreditsOutroText"
|
||||
"Christen Coomer" "CreditsOutroText"
|
||||
"Greg Coomer" "CreditsOutroText"
|
||||
"Scott Dalton" "CreditsOutroText"
|
||||
"Kerry Davis" "CreditsOutroText"
|
||||
"Jason Deakins" "CreditsOutroText"
|
||||
"Joe Demers" "CreditsOutroText"
|
||||
"Steve Desilets" "CreditsOutroText"
|
||||
"Ariel Diaz" "CreditsOutroText"
|
||||
"Quintin Doroquez" "CreditsOutroText"
|
||||
"Jim Dose" "CreditsOutroText"
|
||||
"Chris Douglass" "CreditsOutroText"
|
||||
"Laura Dubuk" "CreditsOutroText"
|
||||
"Mike Dunkle" "CreditsOutroText"
|
||||
"Mike Durand" "CreditsOutroText"
|
||||
"Mike Dussault" "CreditsOutroText"
|
||||
"Dhabih Eng" "CreditsOutroText"
|
||||
"Katie Engel" "CreditsOutroText"
|
||||
"Chet Faliszek" "CreditsOutroText"
|
||||
"Adrian Finol" "CreditsOutroText"
|
||||
"Bill Fletcher" "CreditsOutroText"
|
||||
"Moby Francke" "CreditsOutroText"
|
||||
"Stephane Gaudette" "CreditsOutroText"
|
||||
"Kathy Gehrig" "CreditsOutroText"
|
||||
"Vitaliy Genkin" "CreditsOutroText"
|
||||
"Paul Graham" "CreditsOutroText"
|
||||
"Chris Green" "CreditsOutroText"
|
||||
"Chris Grinstead" "CreditsOutroText"
|
||||
"John Guthrie" "CreditsOutroText"
|
||||
"Aaron Halifax" "CreditsOutroText"
|
||||
"Reagan Halifax" "CreditsOutroText"
|
||||
"Leslie Hall" "CreditsOutroText"
|
||||
"Jeff Hameluck" "CreditsOutroText"
|
||||
"Joe Han" "CreditsOutroText"
|
||||
"Don Holden" "CreditsOutroText"
|
||||
"Jason Holtman" "CreditsOutroText"
|
||||
"Gray Horsfield" "CreditsOutroText"
|
||||
"Keith Huggins" "CreditsOutroText"
|
||||
"Jim Hughes" "CreditsOutroText"
|
||||
"Jon Huisingh" "CreditsOutroText"
|
||||
"Brian Jacobson" "CreditsOutroText"
|
||||
"Lars Jensvold" "CreditsOutroText"
|
||||
"Erik Johnson" "CreditsOutroText"
|
||||
"Jakob Jungels" "CreditsOutroText"
|
||||
"Rich Kaethler" "CreditsOutroText"
|
||||
"Steve Kalning" "CreditsOutroText"
|
||||
"Aaron Kearly" "CreditsOutroText"
|
||||
"Iikka Keranen" "CreditsOutroText"
|
||||
"David Kircher" "CreditsOutroText"
|
||||
"Eric Kirchmer" "CreditsOutroText"
|
||||
"Alden Kroll" "CreditsOutroText"
|
||||
"Marc Laidlaw" "CreditsOutroText"
|
||||
"Jeff Lane" "CreditsOutroText"
|
||||
"Tim Larkin" "CreditsOutroText"
|
||||
"Dan LeFree" "CreditsOutroText"
|
||||
"Isabelle LeMay" "CreditsOutroText"
|
||||
"Tom Leonard" "CreditsOutroText"
|
||||
"Jeff Lind" "CreditsOutroText"
|
||||
"Doug Lombardi" "CreditsOutroText"
|
||||
"Bianca Loomis" "CreditsOutroText"
|
||||
"Richard Lord" "CreditsOutroText"
|
||||
"Realm Lovejoy" "CreditsOutroText"
|
||||
"Randy Lundeen" "CreditsOutroText"
|
||||
"Scott Lynch" "CreditsOutroText"
|
||||
"Ido Magal" "CreditsOutroText"
|
||||
"Nick Maggiore" "CreditsOutroText"
|
||||
"John McCaskey" "CreditsOutroText"
|
||||
"Patrick McClard" "CreditsOutroText"
|
||||
"Steve McClure" "CreditsOutroText"
|
||||
"Hamish McKenzie" "CreditsOutroText"
|
||||
"Gary McTaggart" "CreditsOutroText"
|
||||
"Jason Mitchell" "CreditsOutroText"
|
||||
"Mike Morasky" "CreditsOutroText"
|
||||
"John Morello II" "CreditsOutroText"
|
||||
"Bryn Moslow" "CreditsOutroText"
|
||||
"Arsenio Navarro" "CreditsOutroText"
|
||||
"Gabe Newell" "CreditsOutroText"
|
||||
"Milton Ngan" "CreditsOutroText"
|
||||
"Jake Nicholson" "CreditsOutroText"
|
||||
"Martin Otten" "CreditsOutroText"
|
||||
"Nick Papineau" "CreditsOutroText"
|
||||
"Karen Prell" "CreditsOutroText"
|
||||
"Bay Raitt" "CreditsOutroText"
|
||||
"Tristan Reidford" "CreditsOutroText"
|
||||
"Alfred Reynolds" "CreditsOutroText"
|
||||
"Matt Rhoten" "CreditsOutroText"
|
||||
"Garret Rickey" "CreditsOutroText"
|
||||
"Dave Riller" "CreditsOutroText"
|
||||
"Elan Ruskin" "CreditsOutroText"
|
||||
"Matthew Russell" "CreditsOutroText"
|
||||
"Jason Ruymen" "CreditsOutroText"
|
||||
"David Sawyer" "CreditsOutroText"
|
||||
"Marc Scaparro" "CreditsOutroText"
|
||||
"Wade Schin" "CreditsOutroText"
|
||||
"Matthew Scott" "CreditsOutroText"
|
||||
"Aaron Seeler" "CreditsOutroText"
|
||||
"Jennifer Seeley" "CreditsOutroText"
|
||||
"Taylor Sherman" "CreditsOutroText"
|
||||
"Eric Smith" "CreditsOutroText"
|
||||
"Jeff Sorensen" "CreditsOutroText"
|
||||
"David Speyrer" "CreditsOutroText"
|
||||
"Jay Stelly" "CreditsOutroText"
|
||||
"Jeremy Stone" "CreditsOutroText"
|
||||
"Eric Strand" "CreditsOutroText"
|
||||
"Kim Swift" "CreditsOutroText"
|
||||
"Kelly Thornton" "CreditsOutroText"
|
||||
"Eric Twelker" "CreditsOutroText"
|
||||
"Carl Uhlman" "CreditsOutroText"
|
||||
"Doug Valente" "CreditsOutroText"
|
||||
"Bill Van Buren" "CreditsOutroText"
|
||||
"Gabe Van Engel" "CreditsOutroText"
|
||||
"Alex Vlachos" "CreditsOutroText"
|
||||
"Robin Walker" "CreditsOutroText"
|
||||
"Joshua Weier" "CreditsOutroText"
|
||||
"Andrea Wicklund" "CreditsOutroText"
|
||||
"Greg Winkler" "CreditsOutroText"
|
||||
"Erik Wolpaw" "CreditsOutroText"
|
||||
"Doug Wood" "CreditsOutroText"
|
||||
"Matt T. Wood" "CreditsOutroText"
|
||||
"Danika Wright" "CreditsOutroText"
|
||||
"Matt Wright" "CreditsOutroText"
|
||||
"Shawn Zabecki" "CreditsOutroText"
|
||||
"Torsten Zabka " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voices:" "CreditsOutroText"
|
||||
"Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
|
||||
"Merle Dandridge - Alyx Vance" "CreditsOutroText"
|
||||
"Tony Todd - Vortigaunt" "CreditsOutroText"
|
||||
"John Aylward - Dr. Arne Magnusson" "CreditsOutroText"
|
||||
"Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
|
||||
"Mike Shapiro - Gman" "CreditsOutroText"
|
||||
"Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
|
||||
"Adam Baldwin - Citizens\Misc. characters" "CreditsOutroText"
|
||||
"John Patrick Lowrie - Citizens\Misc. characters" "CreditsOutroText"
|
||||
"Mary Kae Irvin - Citizens\Misc. characters" "CreditsOutroText"
|
||||
"Ellen McLain - Overwatch" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voice Casting:" "CreditsOutroText"
|
||||
"Shana Landsburg and Teri Fiddleman" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voice Recording:" "CreditsOutroText"
|
||||
"Pure Audio, Seattle, WA" "CreditsOutroText"
|
||||
"LA Studios, LA, CA" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voice recording scheduling and logistics:" "CreditsOutroText"
|
||||
"Pat Cockburn, Pure Audio" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Translations:" "CreditsOutroText"
|
||||
"SDL" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Crack Legal Team:" "CreditsOutroText"
|
||||
"Liam Lavery" "CreditsOutroText"
|
||||
"Karl Quackenbush" "CreditsOutroText"
|
||||
"Kristen Boraas" "CreditsOutroText"
|
||||
"Kevin Rosenfield" "CreditsOutroText"
|
||||
"Alan Bruggeman" "CreditsOutroText"
|
||||
"Dennis Tessier" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Thanks to the following for the use of their faces:" "CreditsOutroText"
|
||||
"Jamil Mullen" "CreditsOutroText"
|
||||
"Larry 'The Count' Heard" "CreditsOutroText"
|
||||
"Ted Cohrt" "CreditsOutroText"
|
||||
"Roger Guay" "CreditsOutroText"
|
||||
"Frank Sheldon" "CreditsOutroText"
|
||||
"Paul Eenhoorn" "CreditsOutroText"
|
||||
"Travis Dunlop" "CreditsOutroText"
|
||||
"Daniel Dociu" "CreditsOutroText"
|
||||
"Art Min" "CreditsOutroText"
|
||||
"Van Crowder" "CreditsOutroText"
|
||||
"Joey Paresa" "CreditsOutroText"
|
||||
"Chau Luu" "CreditsOutroText"
|
||||
"Kim Harris-Jones" "CreditsOutroText"
|
||||
"Michael S. Smith" "CreditsOutroText"
|
||||
"Joe Cairo" "CreditsOutroText"
|
||||
"Naomi Cotton" "CreditsOutroText"
|
||||
"Sandro Consi" "CreditsOutroText"
|
||||
"Lakeetra Gilbert" "CreditsOutroText"
|
||||
"Erdin Grcic" "CreditsOutroText"
|
||||
"Kanisha Speyrer" "CreditsOutroText"
|
||||
"Warren Slough" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Special thanks to everyone at:" "CreditsOutroText"
|
||||
"Alienware" "CreditsOutroText"
|
||||
"ATI" "CreditsOutroText"
|
||||
"Dell" "CreditsOutroText"
|
||||
"Falcon Northwest" "CreditsOutroText"
|
||||
"Havok" "CreditsOutroText"
|
||||
"SOFTIMAGE" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"@" "CreditsOutroLogos"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
611
sp/game/mod_episodic/scripts/game_sounds_ambient_generic.txt
Normal file
611
sp/game/mod_episodic/scripts/game_sounds_ambient_generic.txt
Normal file
@@ -0,0 +1,611 @@
|
||||
// **************************************************************
|
||||
// HL2 ambient generic sounds for general use by level designers:
|
||||
// ambients, explosions, water, fire, weather, sirens etc.
|
||||
|
||||
"explode_1"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_1.wav"
|
||||
}
|
||||
|
||||
"explode_2"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_2.wav"
|
||||
}
|
||||
|
||||
"explode_3"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_3.wav"
|
||||
}
|
||||
|
||||
"explode_4"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_4.wav"
|
||||
}
|
||||
|
||||
"explode_5"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_5.wav"
|
||||
}
|
||||
|
||||
"explode_6"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_6.wav"
|
||||
}
|
||||
|
||||
"explode_7"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_7.wav"
|
||||
}
|
||||
|
||||
"explode_8"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_8.wav"
|
||||
}
|
||||
|
||||
"explode_9"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "95, 105"
|
||||
|
||||
"soundlevel" "SNDLVL_GUNFIRE"
|
||||
|
||||
"wave" "ambient/explosions/explode_9.wav"
|
||||
}
|
||||
|
||||
"fire_large"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
|
||||
"wave" "ambient/fire/fire_big_loop1.wav"
|
||||
}
|
||||
|
||||
"fire_medium"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "0.5"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
|
||||
"wave" "ambient/fire/fire_med_loop1.wav"
|
||||
}
|
||||
|
||||
|
||||
"Fire.Plasma"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "1.0"
|
||||
"soundlevel" "SNDLVL_60dB"
|
||||
|
||||
"wave" "ambient/fire/firebig.wav"
|
||||
}
|
||||
|
||||
"Splash.SplashSound"
|
||||
{
|
||||
"channel" "CHAN_AUTO"
|
||||
"volume" "0.75"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
"pitch" "90, 100"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/water/water_spray1.wav"
|
||||
"wave" "ambient/water/water_spray2.wav"
|
||||
"wave" "ambient/water/water_spray3.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"DoSpark"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.4,0.6"
|
||||
"pitch" "100,120"
|
||||
"soundlevel" "SNDLVL_70dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/energy/newspark01.wav"
|
||||
"wave" "ambient/energy/newspark02.wav"
|
||||
"wave" "ambient/energy/newspark03.wav"
|
||||
"wave" "ambient/energy/newspark04.wav"
|
||||
"wave" "ambient/energy/newspark05.wav"
|
||||
"wave" "ambient/energy/newspark06.wav"
|
||||
"wave" "ambient/energy/newspark07.wav"
|
||||
"wave" "ambient/energy/newspark08.wav"
|
||||
"wave" "ambient/energy/newspark09.wav"
|
||||
"wave" "ambient/energy/newspark10.wav"
|
||||
"wave" "ambient/energy/newspark11.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"LoudSpark"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.8,1.0"
|
||||
"soundlevel" "SNDLVL_80dB"
|
||||
"pitch" "100,120"
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/energy/newspark01.wav"
|
||||
"wave" "ambient/energy/newspark02.wav"
|
||||
"wave" "ambient/energy/newspark03.wav"
|
||||
"wave" "ambient/energy/newspark04.wav"
|
||||
"wave" "ambient/energy/newspark05.wav"
|
||||
"wave" "ambient/energy/newspark06.wav"
|
||||
"wave" "ambient/energy/newspark07.wav"
|
||||
"wave" "ambient/energy/newspark08.wav"
|
||||
"wave" "ambient/energy/newspark09.wav"
|
||||
"wave" "ambient/energy/newspark10.wav"
|
||||
"wave" "ambient/energy/newspark11.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"ReallyLoudSpark"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.8,1.0"
|
||||
"soundlevel" "SNDLVL_130dB"
|
||||
"pitch" "100,120"
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/energy/newspark01.wav"
|
||||
"wave" "ambient/energy/newspark02.wav"
|
||||
"wave" "ambient/energy/newspark03.wav"
|
||||
"wave" "ambient/energy/newspark04.wav"
|
||||
"wave" "ambient/energy/newspark05.wav"
|
||||
"wave" "ambient/energy/newspark06.wav"
|
||||
"wave" "ambient/energy/newspark07.wav"
|
||||
"wave" "ambient/energy/newspark08.wav"
|
||||
"wave" "ambient/energy/newspark09.wav"
|
||||
"wave" "ambient/energy/newspark10.wav"
|
||||
"wave" "ambient/energy/newspark11.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"ExtinguisherJet.TurnOn"
|
||||
{
|
||||
"channel" "CHAN_WEAPON"
|
||||
"volume" "VOL_NORM"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "weapons/extinguisher/fire1.wav"
|
||||
}
|
||||
|
||||
"ExtinguisherJet.TurnOff"
|
||||
{
|
||||
"channel" "CHAN_WEAPON"
|
||||
"volume" "VOL_NORM"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "weapons/extinguisher/release1.wav"
|
||||
}
|
||||
|
||||
|
||||
"ambient.steam01"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "0.4"
|
||||
"pitch" "100"
|
||||
"soundlevel" "SNDLVL_70dB"
|
||||
|
||||
"wave" "ambient/gas/steam_loop1.wav"
|
||||
}
|
||||
|
||||
"PhysicsCannister.ThrusterLoop"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/gas/cannister_loop.wav"
|
||||
}
|
||||
|
||||
// Electrical zap hits
|
||||
"ambient.electrical_zap_1"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap1.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_2"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap2.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_3"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap3.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_4"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap4.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_5"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap5.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_6"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap6.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_7"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap7.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_zap_8"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap8.wav"
|
||||
}
|
||||
"ambient.electrical_zap_9"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/energy/zap9.wav"
|
||||
}
|
||||
|
||||
"ambient.electrical_random_zap_1"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/energy/zap1.wav"
|
||||
"wave" "ambient/energy/zap2.wav"
|
||||
"wave" "ambient/energy/zap3.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"ambient.electrical_random_zap_2"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/energy/zap5.wav"
|
||||
"wave" "ambient/energy/zap6.wav"
|
||||
"wave" "ambient/energy/zap7.wav"
|
||||
"wave" "ambient/energy/zap8.wav"
|
||||
"wave" "ambient/energy/zap9.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"ambient.whoosh_huge_incoming1"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_huge1.wav"
|
||||
}
|
||||
|
||||
"ambient.whoosh_huge_incoming2"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_huge2.wav"
|
||||
}
|
||||
|
||||
"ambient.whoosh_huge_incoming3"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_huge3.wav"
|
||||
}
|
||||
|
||||
|
||||
"ambient.whoosh_huge_incoming4"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_huge4.wav"
|
||||
}
|
||||
|
||||
|
||||
"ambient.whoosh_huge_incoming5"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_huge5.wav"
|
||||
}
|
||||
|
||||
|
||||
|
||||
"ambient.whoosh_large_incoming1"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_large1.wav"
|
||||
}
|
||||
|
||||
"ambient.whoosh_large_incoming2"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_large2.wav"
|
||||
}
|
||||
"ambient.whoosh_large_incoming3"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_large3.wav"
|
||||
}
|
||||
"ambient.whoosh_large_incoming4"
|
||||
{
|
||||
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_large4.wav"
|
||||
}
|
||||
|
||||
"ambient.whoosh_medium_incoming1"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_medium1.wav"
|
||||
}
|
||||
|
||||
"ambient.whoosh_medium_incoming2"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_medium2.wav"
|
||||
}
|
||||
"ambient.whoosh_medium_incoming3"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_medium3.wav"
|
||||
}
|
||||
"ambient.whoosh_medium_incoming4"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_medium4.wav"
|
||||
}
|
||||
"ambient.whoosh_medium_incoming5"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_medium5.wav"
|
||||
}
|
||||
"ambient.whoosh_medium_incoming6"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "physics/nearmiss/whoosh_medium6.wav"
|
||||
}
|
||||
"ambient.rock_slide1"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/materials/rock1.wav"
|
||||
}
|
||||
"ambient.rock_slide2"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/materials/rock2.wav"
|
||||
}
|
||||
"ambient.rock_slide3"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/materials/rock3.wav"
|
||||
}
|
||||
"ambient.rock_slide4"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/materials/rock4.wav"
|
||||
}
|
||||
"ambient.rock_slide5"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "100"
|
||||
|
||||
"soundlevel" "SNDLVL_100DB"
|
||||
|
||||
"wave" "ambient/materials/rock5.wav"
|
||||
}
|
||||
107
sp/game/mod_episodic/scripts/hud_textures.txt
Normal file
107
sp/game/mod_episodic/scripts/hud_textures.txt
Normal file
@@ -0,0 +1,107 @@
|
||||
"sprites/640_hud"
|
||||
{
|
||||
TextureData
|
||||
{
|
||||
"arrow" [$WIN32]
|
||||
{
|
||||
"file" "sprites/arrow"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"autoaim_c" [$WIN32]
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "96"
|
||||
"y" "0"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"item_battery" [$WIN32]
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "*"
|
||||
}
|
||||
"item_healthkit" [$WIN32]
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "+"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"file" "sprites/qi_center"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "40"
|
||||
"height" "40"
|
||||
}
|
||||
"crosshair_left"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "("
|
||||
}
|
||||
"crosshair_right"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" ")"
|
||||
}
|
||||
"crosshair_left_full"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "["
|
||||
}
|
||||
"crosshair_right_full"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "]"
|
||||
}
|
||||
"crosshair_left_empty"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "{"
|
||||
}
|
||||
"crosshair_right_empty"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "}"
|
||||
}
|
||||
"crosshair_default"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"crosshair_xbox"
|
||||
{
|
||||
"file" "vgui/hud/xbox_reticle"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "64"
|
||||
"height" "64"
|
||||
}
|
||||
"viewhair"
|
||||
{
|
||||
"file" "sprites/hud/v_crosshair2"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"gunhair"
|
||||
{
|
||||
"file" "sprites/hud/v_crosshair1"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"plushair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
}
|
||||
}
|
||||
4794
sp/game/mod_episodic/scripts/npc_sounds_vortigaunt.txt
Normal file
4794
sp/game/mod_episodic/scripts/npc_sounds_vortigaunt.txt
Normal file
File diff suppressed because it is too large
Load Diff
501
sp/game/mod_episodic/scripts/propdata.txt
Normal file
501
sp/game/mod_episodic/scripts/propdata.txt
Normal file
@@ -0,0 +1,501 @@
|
||||
// "prop data name"
|
||||
// {
|
||||
// "property" "value"
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
//
|
||||
// "base" : Specify a base propdata class to derive from (base types can be found in propdata.txt)
|
||||
//
|
||||
// "blockLOS" : Override whether this prop should block NPC's Line-Of-Sight.
|
||||
// "AIWalkable" : Override whether AI should consider this prop as walkable on.
|
||||
// "dmg.bullets" : Mod damage done by bullets to this prop.
|
||||
// "dmg.club" : Mod damage done by clubs to this prop.
|
||||
// "dmg.explosive" : Mod damage done by explosives to this prop.
|
||||
// NOTE: Use damage modifiers to reflect differences between the amount of
|
||||
// damage that an object takes from different damage types. Don't
|
||||
// use them to reflect overall damage strength. i.e. Stone is resilient
|
||||
// to everything. To reflect this, increase the health of all stone
|
||||
// objects, don't set the damage modifiers lower.
|
||||
//
|
||||
// "damage_table" : Specify a custom physics impact damage table for this prop.
|
||||
// "health" : Amount of damage this prop should take before breaking.
|
||||
//
|
||||
// "explosive_damage" : Explosive damage done by this prop.
|
||||
// "explosive_radius" : Radius of the explosion caused by this prop when it breaks.
|
||||
// NOTE: If these two fields are specified for a prop, then the prop will automatically
|
||||
// create an explosion with the specified values when the prop is broken.
|
||||
//
|
||||
// "breakable_model" : The type of breakable gibs this prop should break into. This list is at the bottom of this file.
|
||||
// "breakable_count" : The number of breakable gibs to break into.
|
||||
// "allowstatic" : Allow this prop to be static as well as physically simulated.
|
||||
//
|
||||
//
|
||||
"PropData.txt"
|
||||
{
|
||||
|
||||
//=================================================================================
|
||||
// PAPER
|
||||
//=================================================================================
|
||||
// Base damage modifiers for paper objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Cardboard.Base"
|
||||
{
|
||||
"dmg.bullets" "0.5"
|
||||
"dmg.club" "1.25"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Cardboard / Paper blocks, less than 1 foot cubed.
|
||||
// i.e. small cardboard boxes, notepads, newspapers, thin books.
|
||||
"Cardboard.Small"
|
||||
{
|
||||
"base" "Cardboard.Base"
|
||||
"health" "10"
|
||||
}
|
||||
|
||||
// Cardboard / Paper blocks, less than 3 foot cubed.
|
||||
// i.e. cardboard boxes. thick books
|
||||
"Cardboard.Medium"
|
||||
{
|
||||
"base" "Cardboard.Base"
|
||||
"health" "20"
|
||||
}
|
||||
|
||||
// Large Cardboard / Paper blocks
|
||||
// i.e. solid cardboard boxes
|
||||
"Cardboard.Large"
|
||||
{
|
||||
"base" "Cardboard.Base"
|
||||
"health" "40"
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// CLOTH
|
||||
//=================================================================================
|
||||
// Base damage modifiers for cloth objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Cloth.Base"
|
||||
{
|
||||
"dmg.bullets" "0.5"
|
||||
"dmg.club" "0.75"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Small / thin cloth objects
|
||||
// i.e. shorts, shirts, pants.
|
||||
"Cloth.Small"
|
||||
{
|
||||
"base" "Cloth.Base"
|
||||
"health" "30"
|
||||
}
|
||||
|
||||
// Heavier cloth / leather objects
|
||||
// i.e. briefcases
|
||||
"Cloth.Medium"
|
||||
{
|
||||
"base" "Cloth.Base"
|
||||
"health" "50"
|
||||
}
|
||||
|
||||
// Large / thick cloth objects
|
||||
// i.e. armchairs, mattresses
|
||||
"Cloth.Large"
|
||||
{
|
||||
"base" "Cloth.Base"
|
||||
"health" "100"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// WOOD
|
||||
//=================================================================================
|
||||
// Base damage modifiers for wooden objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Wooden.Base"
|
||||
{
|
||||
"dmg.bullets" "0.75"
|
||||
"dmg.club" "2.0"
|
||||
"dmg.explosive" "1.5"
|
||||
|
||||
"breakable_model" "WoodChunks"
|
||||
"breakable_skin" "0"
|
||||
}
|
||||
|
||||
// Tiny Wooden pieces that should die in one hit
|
||||
// i.e splinters
|
||||
"Wooden.Tiny"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "6"
|
||||
|
||||
"breakable_count" "0"
|
||||
}
|
||||
|
||||
// Wooden blocks, less than 1 foot cubed.
|
||||
// i.e pieces of board, branches.
|
||||
"Wooden.Small"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "20"
|
||||
|
||||
"breakable_count" "2"
|
||||
}
|
||||
|
||||
// Wooden blocks, less than 3 foot cubed.
|
||||
// i.e boards, small crates, pallettes, ladders, chairs.
|
||||
"Wooden.Medium"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "30"
|
||||
|
||||
"breakable_count" "4"
|
||||
}
|
||||
|
||||
// Large wooden blocks, less than 5 foot cubed.
|
||||
// i.e Crates, benches.
|
||||
"Wooden.Large"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "50"
|
||||
|
||||
"breakable_count" "6"
|
||||
}
|
||||
|
||||
// Extra large wooden objects
|
||||
// i.e posts
|
||||
"Wooden.ExtraLarge"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "100"
|
||||
|
||||
"breakable_count" "8"
|
||||
}
|
||||
|
||||
// Huge wooden objects.
|
||||
// i.e Big Wardrobes, bookcases
|
||||
"Wooden.Huge"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "130"
|
||||
|
||||
"breakable_count" "10"
|
||||
}
|
||||
|
||||
// Unbreakable Huge wooden objects.
|
||||
// i.e Big Wardrobes, bookcases
|
||||
"Wooden_Unbreakable.Huge"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "0"
|
||||
|
||||
"breakable_count" "10"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// STONE
|
||||
//=================================================================================
|
||||
// Base damage modifiers for stone objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Stone.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
}
|
||||
|
||||
// Stone blocks, less than 1 foot cubed
|
||||
// i.e. cinderblocks, small rocks.
|
||||
"Stone.Small"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "50"
|
||||
}
|
||||
|
||||
// Medium stone blocks, less than 3 foot cubed
|
||||
// i.e. rubble chunks
|
||||
"Stone.Medium"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "100"
|
||||
}
|
||||
|
||||
// Large stone blocks, less than 5 foot cubed
|
||||
// i.e. big rubble chunks
|
||||
"Stone.Large"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "200"
|
||||
}
|
||||
|
||||
// Huge stone blocks, less than 5 foot cubed
|
||||
// i.e. enormous rubble chunks
|
||||
"Stone.Huge"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "400"
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// GLASS
|
||||
//=================================================================================
|
||||
// Base damage modifiers for glass objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Glass.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "0.1" // Trial: Get knocked around more than destroyed?
|
||||
}
|
||||
|
||||
// Glass blocks, less than 1 foot cubed
|
||||
// i.e. bottles, jugs, glasses.
|
||||
"Glass.Small"
|
||||
{
|
||||
"base" "Glass.Base"
|
||||
"health" "5"
|
||||
"damage_table" "glass"
|
||||
}
|
||||
|
||||
"Glass.Window"
|
||||
{
|
||||
"base" "Glass.Base"
|
||||
"dmg.explosive" "1.0" // Override base glass explosive behavior
|
||||
"dmg.bullets" "0.5"
|
||||
"health" "15"
|
||||
"damage_table" "glass"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// METAL
|
||||
//=================================================================================
|
||||
// Base damage modifiers for metal objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Metal.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
|
||||
"health" "0" // By default, metal objects aren't breakable
|
||||
}
|
||||
|
||||
// Small metal blocks, less than 1 foot cubed
|
||||
// i.e. tin cans, paint tins, metal buckets.
|
||||
"Metal.Small"
|
||||
{
|
||||
"base" "Metal.Base"
|
||||
}
|
||||
|
||||
// Medium metal objects.
|
||||
// i.e. wheelbarrows, metal boxes, bicycles, barrels, ladders, filing cabinets.
|
||||
"Metal.Medium"
|
||||
{
|
||||
"base" "Metal.Base"
|
||||
}
|
||||
|
||||
// Large metal objects.
|
||||
// i.e. ibeams, dumpsters, car bodies, refridgerators
|
||||
"Metal.Large"
|
||||
{
|
||||
"base" "Metal.Base"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// PLASTIC
|
||||
//=================================================================================
|
||||
// Base damage modifiers for plastic objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Plastic.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
"health" "0"
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 2 foot cubed
|
||||
// i.e. plastic cups, plastic milk crates, phones
|
||||
"Plastic.Small"
|
||||
{
|
||||
"base" "Plastic.Base"
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 4 foot cubed
|
||||
// i.e. plastic chairs, tables, barrels
|
||||
"Plastic.Medium"
|
||||
{
|
||||
"base" "Plastic.Base"
|
||||
}
|
||||
|
||||
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
|
||||
// i.e. computer equipment
|
||||
"Plastic.Large"
|
||||
{
|
||||
"base" "Plastic.Base"
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// ITEMS
|
||||
//=================================================================================
|
||||
// Base damage modifiers for items
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Item.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
|
||||
"health" "0" // By default, metal objects aren't breakable
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 2 foot cubed
|
||||
// i.e. plastic cups, plastic milk crates, phones
|
||||
"Item.Small"
|
||||
{
|
||||
"base" "Item.Base"
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 4 foot cubed
|
||||
// i.e. plastic chairs, tables, barrels
|
||||
"Item.Medium"
|
||||
{
|
||||
"base" "Item.Base"
|
||||
}
|
||||
|
||||
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
|
||||
// i.e. computer equipment
|
||||
"Item.Large"
|
||||
{
|
||||
"base" "Item.Base"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// POTTERY
|
||||
//=================================================================================
|
||||
// Base damage modifiers for pottery objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Pottery.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.25"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Pottery blocks, less than 2 foot cubed
|
||||
// i.e. flowerpots.
|
||||
"Pottery.Small"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "5"
|
||||
"damage_table" "glass"
|
||||
}
|
||||
|
||||
// Medium pottery objects
|
||||
// i.e. large flowerpots.
|
||||
"Pottery.Medium"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "40"
|
||||
}
|
||||
|
||||
// Large pottery objects
|
||||
// i.e. big chunks of wall plaster
|
||||
"Pottery.Large"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "70"
|
||||
}
|
||||
|
||||
// Huge pottery objects.
|
||||
// i.e. big ornate pottery vessels.
|
||||
"Pottery.Huge"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "100"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// FLESH
|
||||
//=================================================================================
|
||||
// Base damage modifiers for flesh objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Flesh.Base"
|
||||
{
|
||||
"dmg.bullets" "1.25"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Flesh blocks that should die in a single hit
|
||||
// i.e. fruit, food items, gibs.
|
||||
"Flesh.Tiny"
|
||||
{
|
||||
"base" "Flesh.Base"
|
||||
"health" "3"
|
||||
}
|
||||
|
||||
// Flesh blocks, less than 1 foot cubed
|
||||
// i.e. fruit, food items, gibs.
|
||||
"Flesh.Small"
|
||||
{
|
||||
"base" "Flesh.Base"
|
||||
"health" "10"
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// BREAKABLE DATA. NOT PROPDATA TYPES.
|
||||
//=================================================================================
|
||||
"BreakableModels"
|
||||
{
|
||||
// Sorted in order of smallest to largest
|
||||
|
||||
"WoodChunks"
|
||||
{
|
||||
"models\Gibs\wood_gib01e.mdl" "1"
|
||||
"models\Gibs\wood_gib01d.mdl" "1"
|
||||
"models\Gibs\wood_gib01c.mdl" "1"
|
||||
"models\Gibs\wood_gib01b.mdl" "1"
|
||||
"models\Gibs\wood_gib01a.mdl" "1"
|
||||
}
|
||||
"GlassChunks"
|
||||
{
|
||||
"models\Gibs\Glass_shard01.mdl" "1"
|
||||
"models\Gibs\Glass_shard02.mdl" "1"
|
||||
"models\Gibs\Glass_shard03.mdl" "1"
|
||||
"models\Gibs\Glass_shard04.mdl" "1"
|
||||
"models\Gibs\Glass_shard05.mdl" "1"
|
||||
"models\Gibs\Glass_shard06.mdl" "1"
|
||||
}
|
||||
"ConcreteChunks"
|
||||
{
|
||||
"models\props_debris\concrete_chunk08a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk09a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk03a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk07a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk09a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk02a.mdl" "1"
|
||||
}
|
||||
"MetalChunks"
|
||||
{
|
||||
"models\Gibs\metal_gib1.mdl" "1"
|
||||
"models\Gibs\metal_gib2.mdl" "1"
|
||||
"models\Gibs\metal_gib3.mdl" "1"
|
||||
"models\Gibs\metal_gib4.mdl" "1"
|
||||
"models\Gibs\metal_gib5.mdl" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
26
sp/game/mod_episodic/scripts/soundscapes_manifest.txt
Normal file
26
sp/game/mod_episodic/scripts/soundscapes_manifest.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
soundscapes_manifest
|
||||
{
|
||||
"file" "scripts/soundscapes.txt"
|
||||
|
||||
// List additional soundscape files here
|
||||
|
||||
"file" "scripts/soundscapes_lostcoast.txt"
|
||||
"file" "scripts/soundscapes_citadel_episodic.txt"
|
||||
"file" "scripts/soundscapes_city_episodic.txt"
|
||||
|
||||
"file" "scripts/soundscapes_canals.txt"
|
||||
"file" "scripts/soundscapes_klab.txt"
|
||||
"file" "scripts/soundscapes_elab.txt"
|
||||
"file" "scripts/soundscapes_streetwar.txt"
|
||||
"file" "scripts/soundscapes_citadel.txt"
|
||||
"file" "scripts/soundscapes_town.txt"
|
||||
"file" "scripts/soundscapes_coast.txt"
|
||||
"file" "scripts/soundscapes_prison.txt"
|
||||
"file" "scripts/soundscapes_trainyard.txt"
|
||||
|
||||
//episode 2
|
||||
"file" "scripts/soundscapes_silo.txt"
|
||||
"file" "scripts/soundscapes_outland.txt"
|
||||
"file" "scripts/soundscapes_outland2.txt"
|
||||
|
||||
}
|
||||
131
sp/game/mod_episodic/scripts/surfaceproperties_ep2.txt
Normal file
131
sp/game/mod_episodic/scripts/surfaceproperties_ep2.txt
Normal file
@@ -0,0 +1,131 @@
|
||||
// "surface group"
|
||||
// {
|
||||
// "property" "value"
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
// thickness: If this value is present, the material is not volumetrically solid
|
||||
// it means that the volume should be computed as the surface area times this
|
||||
// thickness (for automatic mass). The inside space beneath the thickness value is air.
|
||||
//
|
||||
// physics parameters are:
|
||||
// density: this is the material density in kg / m^3 (water is 1000)
|
||||
// elasticity: This is the collision elasticity (0 - 1.0, 0.01 is soft, 1.0 is hard)
|
||||
// friction: this is the physical friction (0 - 1.0, 0.01 is slick, 1.0 is totally rough)
|
||||
// dampening: this is the physical drag on an object when in contact with this surface (0 - x, 0 none to x a lot)
|
||||
//
|
||||
// !!! Do not edit the physics properties (especially density) without the proper references !!!
|
||||
//`
|
||||
// Sounds
|
||||
//
|
||||
// stepleft: footstep sound for left foot
|
||||
// stepright: footstep sound for right foot
|
||||
// impactsoft: Physical impact sound when hitting soft surfaces
|
||||
// impacthard: Physical impact sound when hitting hard surfaces
|
||||
// scrapesmooth: Looping physics friction sound (when scraping smooth surfaces)
|
||||
// scraperough: Looping physics friction sound (when scraping rough surfaces)
|
||||
// bulletimpact: bullet impact sound
|
||||
// gamematerial: game material index (can be a single letter or a number)
|
||||
//
|
||||
|
||||
// NOTE: The properties of "default" will get copied into EVERY material who does not
|
||||
// override them!!!
|
||||
//
|
||||
// "base" means to use the parameters from that material as a base.
|
||||
// "base" must appear as the first key in a material
|
||||
//
|
||||
|
||||
"cavern_rock"
|
||||
{
|
||||
"base" "rock"
|
||||
|
||||
"density" "700"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
"bulletimpact" "CavernRock.ImpactHard"
|
||||
"scraperough" "Rock.ImpactHard"
|
||||
"scrapesmooth" "Rock.ImpactSoft"
|
||||
"impacthard" "CavernRock.ImpactHard"
|
||||
"impactsoft" "CavernRock.ImpactSoft"
|
||||
|
||||
"gamematerial" "O"
|
||||
}
|
||||
|
||||
"advisor_shield"
|
||||
{
|
||||
"base" "rock"
|
||||
|
||||
"density" "700"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
"bulletimpact" "NPC_Advisor.shieldblock"
|
||||
"scraperough" "NPC_Advisor.shieldblock"
|
||||
"scrapesmooth" "NPC_Advisor.shieldblock"
|
||||
"impacthard" "NPC_Advisor.shieldblock"
|
||||
"impactsoft" "NPC_Advisor.shieldblock"
|
||||
|
||||
"gamematerial" "Z" // <--- Whatever you make the character index in decals.h
|
||||
}
|
||||
|
||||
"antlion_eggshell"
|
||||
{
|
||||
"base" "flesh"
|
||||
"bulletimpact" "Flesh.ImpactHard"
|
||||
"impacthard" "Flesh.ImpactHard"
|
||||
"impactsoft" "Flesh.ImpactHard"
|
||||
|
||||
"gamematerial" "E"
|
||||
}
|
||||
|
||||
|
||||
"hunter"
|
||||
{
|
||||
"base" "flesh"
|
||||
"gamematerial" "F"
|
||||
}
|
||||
|
||||
"jalopytire"
|
||||
{
|
||||
"base" "jeeptire"
|
||||
"elasticity" "0.1"
|
||||
}
|
||||
|
||||
"slidingrubbertire_jalopyfront"
|
||||
{
|
||||
"base" "jalopytire"
|
||||
"friction" "0.15"
|
||||
}
|
||||
|
||||
"slidingrubbertire_jalopyrear"
|
||||
{
|
||||
"base" "jalopytire"
|
||||
"friction" "0.15"
|
||||
}
|
||||
|
||||
"water"
|
||||
{
|
||||
"density" "1000"
|
||||
"elasticity" "0.1"
|
||||
"friction" "0.8"
|
||||
|
||||
"stepleft" "Water.StepLeft"
|
||||
"stepright" "Water.StepRight"
|
||||
"bulletimpact" "Water.BulletImpact"
|
||||
|
||||
"impacthard" "Water.ImpactHard"
|
||||
"impactsoft" "Water.ImpactSoft"
|
||||
|
||||
"audioreflectivity" "0.33"
|
||||
"audioroughnessfactor" "0.1"
|
||||
"audiohardnessfactor" "0.0"
|
||||
|
||||
"gamematerial" "S"
|
||||
}
|
||||
|
||||
"jalopy"
|
||||
{
|
||||
"base" "metal"
|
||||
"impacthard" "ATV_impact_medium"
|
||||
"impactsoft" "ATV_impact_medium"
|
||||
}
|
||||
|
||||
133
sp/game/mod_episodic/scripts/talker/npc_alyx.txt
Normal file
133
sp/game/mod_episodic/scripts/talker/npc_alyx.txt
Normal file
@@ -0,0 +1,133 @@
|
||||
//============================================================================================================
|
||||
// Alyx criteria
|
||||
criterion "IsAlyx" "classname" "npc_alyx" "required"
|
||||
//============================================================================================================
|
||||
|
||||
//============================================================================================================
|
||||
// Alyx Combat speech
|
||||
//============================================================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
criterion "ConceptTalkFoundPlayer" "Concept" "TLK_FOUNDPLAYER" required
|
||||
|
||||
response "AlyxIsBack"
|
||||
{
|
||||
// speak "*vo/episode_1/npc/alyx/al_greet_cit15.wav" // I'm the person who's telling you to get moving.
|
||||
}
|
||||
|
||||
rule AlyxIsBack
|
||||
{
|
||||
criteria IsAlyx IsEpisodic ConceptTalkFoundPlayer
|
||||
response AlyxIsBack
|
||||
}
|
||||
|
||||
response "AlyxDanger"
|
||||
{
|
||||
scene "scenes/npc/Alyx/getback01.vcd" respeakdelay 60
|
||||
scene "scenes/npc/Alyx/getback02.vcd" respeakdelay 60
|
||||
// scene "scenes/npc/Alyx/watchout01.vcd" WATCH OUT!!!
|
||||
// scene "scenes/npc/Alyx/watchout02.vcd" WATCH OUT!!!
|
||||
}
|
||||
rule AlyxDanger
|
||||
{
|
||||
criteria IsAlyx ConceptTalkDanger
|
||||
response AlyxDanger
|
||||
}
|
||||
|
||||
response AlyxShot
|
||||
{
|
||||
scene "scenes/npc/Alyx/gasp02.vcd"
|
||||
scene "scenes/npc/Alyx/gasp03.vcd"
|
||||
scene "scenes/npc/Alyx/hurt04.vcd"
|
||||
scene "scenes/npc/Alyx/hurt05.vcd"
|
||||
scene "scenes/npc/Alyx/hurt06.vcd"
|
||||
scene "scenes/npc/Alyx/hurt08.vcd"
|
||||
scene "scenes/npc/Alyx/uggh01.vcd"
|
||||
}
|
||||
|
||||
rule AlyxShot
|
||||
{
|
||||
criteria IsAlyx ConceptShot
|
||||
response AlyxShot
|
||||
}
|
||||
|
||||
|
||||
response AlyxEnemyDead
|
||||
{
|
||||
// scene "scenes/npc/Alyx/brutal02.vcd" respeakdelay 300
|
||||
}
|
||||
|
||||
rule AlyxEnemyDead
|
||||
{
|
||||
criteria IsAlyx ConceptEnemyDead
|
||||
response AlyxEnemyDead
|
||||
}
|
||||
|
||||
response AlyxHideAndReload
|
||||
{
|
||||
// scene "scenes/npc/Alyx/coverme01.vcd"
|
||||
// scene "scenes/npc/Alyx/coverme02.vcd"
|
||||
// scene "scenes/npc/Alyx/coverme03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxHideAndReload
|
||||
{
|
||||
criteria IsAlyx ConceptHideAndReload PlayerNear
|
||||
response AlyxHideAndReload
|
||||
}
|
||||
|
||||
response AlyxTalkPlayerPushed
|
||||
{
|
||||
// scene "scenes/npc/Alyx/excuseme01.vcd"
|
||||
// scene "scenes/npc/Alyx/excuseme02.vcd"
|
||||
// scene "scenes/npc/Alyx/excuseme03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxTalkPlayerPushed
|
||||
{
|
||||
criteria IsAlyx ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
|
||||
response AlyxTalkPlayerPushed
|
||||
}
|
||||
|
||||
// Removed - if okay, can just be deleted
|
||||
//response AlyxPlayerReload
|
||||
//{
|
||||
// scene "scenes/npc/Alyx/youreload01.vcd"
|
||||
// scene "scenes/npc/Alyx/youreload02.vcd"
|
||||
//}
|
||||
//
|
||||
//rule AlyxPlayerReload
|
||||
//{
|
||||
// criteria ConceptPlayerReload IsAlyx PlayerNear SeePlayer
|
||||
// response AlyxPlayerReload
|
||||
//}
|
||||
|
||||
response AlyxWatchOut
|
||||
{
|
||||
scene "scenes/npc/Alyx/lookout01.vcd"
|
||||
scene "scenes/npc/Alyx/lookout03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxWatchOut
|
||||
{
|
||||
criteria IsAlyx ConceptTalkWatchout
|
||||
response AlyxWatchout
|
||||
}
|
||||
|
||||
response AlyxPlayerDead
|
||||
{
|
||||
scene "scenes/npc/Alyx/ohno_startle01.vcd"
|
||||
scene "scenes/npc/Alyx/ohno_startle02.vcd"
|
||||
scene "scenes/npc/Alyx/ohno_startle03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxPlayerDead
|
||||
{
|
||||
criteria IsAlyx ConceptPlayerDead
|
||||
response AlyxWatchout
|
||||
matchonce
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//============================================================================================================
|
||||
1201
sp/game/mod_episodic/scripts/talker/npc_citizen.txt
Normal file
1201
sp/game/mod_episodic/scripts/talker/npc_citizen.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,484 @@
|
||||
//============================================================================================================
|
||||
// Commander mode criteria
|
||||
//============================================================================================================
|
||||
criterion "IsOnlySelected" "numselected" "1" required
|
||||
criterion "NotOnlySelected" "numselected" ">1" required
|
||||
criterion "Is_03_first" "name" "citizen_c17_03_first" required
|
||||
|
||||
criterion "UseRadio" "useradio" "1" required
|
||||
|
||||
criterion "SquadNearPlayer" "distancetoplayer" "<240" required
|
||||
criterion "SquadNotNearPlayer" "distancetoplayer" ">=240" required
|
||||
criterion "SquadNearCommandPoint" "commandpoint_dist_to_npc" "<240" required
|
||||
criterion "SquadNotNearCommandPoint" "commandpoint_dist_to_npc" ">=240" required
|
||||
criterion "CommandPointNearPlayer" "commandpoint_dist_to_player" "<144" required
|
||||
criterion "CommandPointNotNearPlayer" "commandpoint_dist_to_player" ">=144" required
|
||||
criterion "JoinSquadIndividual" "numjoining" "1" required
|
||||
criterion "JoinSquadMultiple" "numjoining" ">1" required
|
||||
criterion "TrailingReinforcement" "reinforcement" "1" required
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode selection speech
|
||||
//============================================================================================================
|
||||
response "CitizenSelected"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ok01.vcd"
|
||||
scene "scenes/npc/$gender01/ok02.vcd"
|
||||
scene "scenes/npc/$gender01/okimready01.vcd"
|
||||
scene "scenes/npc/$gender01/okimready02.vcd"
|
||||
scene "scenes/npc/$gender01/okimready03.vcd"
|
||||
scene "scenes/npc/$gender01/readywhenyouare01.vcd"
|
||||
scene "scenes/npc/$gender01/readywhenyouare02.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenSelected
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected
|
||||
response CitizenSelected
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenGroupSelectedRadio"
|
||||
{
|
||||
}
|
||||
|
||||
rule CitizenGroupSelectedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected NotOnlySelected UseRadio
|
||||
response CitizenGroupSelectedRadio
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenSoloSelectedRadio"
|
||||
{
|
||||
}
|
||||
|
||||
rule CitizenSoloSelectedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected UseRadio
|
||||
response CitizenSoloSelectedRadio
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode orders speech
|
||||
//============================================================================================================
|
||||
|
||||
response CitizenSquadNearToFarIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm04.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm04"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadNearToFarGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away03.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_away01"
|
||||
// speak "npc_citizen.squad_away02"
|
||||
// speak "npc_citizen.squad_away03"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToNearIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
//scene "scenes/npc/$gender01/squad_approach04.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_approach04"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToNearGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach04.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_approach01"
|
||||
// speak "npc_citizen.squad_approach02"
|
||||
// speak "npc_citizen.squad_approach03"
|
||||
// speak "npc_citizen.squad_approach04"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadNearToNear
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot02.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
scene "scenes/npc/$gender01/littlecorner01.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToFarIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm04.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm04"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToFarGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away03.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_away01"
|
||||
// speak "npc_citizen.squad_away02"
|
||||
// speak "npc_citizen.squad_away03"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadGeneral
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenCommanded
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded
|
||||
response CitizenSquadGeneral
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToFarIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadNearToFarIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToFarGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadNearToFarGroup
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToNearIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadFarToNearIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToNearGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadFarToNearGroup
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToNearIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded SquadNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadNearToNear
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToFarIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadFarToFarIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToFarGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadFarToFarGroup
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenCommandedRadio"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenCommandedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded UseRadio
|
||||
response CitizenCommandedRadio
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenCommandFailedRadio"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenCommandFailedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommandFailed UseRadio
|
||||
response CitizenCommandFailedRadio
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode follow speech
|
||||
//============================================================================================================
|
||||
response CitizenFollowGeneral
|
||||
{
|
||||
scene "scenes/npc/$gender01/leadtheway01.vcd"
|
||||
scene "scenes/npc/$gender01/leadtheway02.vcd"
|
||||
scene "scenes/npc/$gender01/leadon01.vcd"
|
||||
scene "scenes/npc/$gender01/leadon02.vcd"
|
||||
}
|
||||
|
||||
response CitizenFollowGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_follow01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow04.vcd"
|
||||
response CitizenFollowGeneral weight 2
|
||||
}
|
||||
|
||||
rule CitizenFollow
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStartFollow
|
||||
response CitizenFollowGeneral
|
||||
}
|
||||
|
||||
rule CitizenFollowGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStartFollow NotOnlySelected
|
||||
response CitizenFollowGroup
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode join speech
|
||||
//============================================================================================================
|
||||
|
||||
|
||||
// I'm not sure all these lines will play well when not coming up from behind, so I've made a distinction between trailing & non-trailing
|
||||
response CitizenJoinIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinIndividualTrailing
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinGroupTrailing
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
|
||||
}
|
||||
|
||||
rule CitizenJoinIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual
|
||||
response CitizenJoinIndividual
|
||||
}
|
||||
|
||||
rule CitizenJoinGroup
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple
|
||||
response CitizenJoinGroup
|
||||
}
|
||||
|
||||
rule CitizenJoinIndividualTrailing
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual TrailingReinforcement
|
||||
response CitizenJoinIndividualTrailing
|
||||
}
|
||||
|
||||
rule CitizenJoinGroupTrailing
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple TrailingReinforcement
|
||||
response CitizenJoinGroupTrailing
|
||||
}
|
||||
|
||||
response CitizenJoin_d3_c17_07
|
||||
{
|
||||
scene "scenes/Streetwar/tunnel/$gender01/d3_c17_07_tenant.vcd"
|
||||
}
|
||||
|
||||
rule CitizenJoin_d3_c17_07
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer
|
||||
"map" "d3_c17_07" required weight 1000
|
||||
response CitizenJoin_d3_c17_07
|
||||
matchonce
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode follow speech SPECIAL CASE: first citizen in d3_17_03
|
||||
//============================================================================================================
|
||||
response "CitizenFollow_First"
|
||||
{
|
||||
scene "scenes/npc/$gender01/abouttime01.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenFollow_First
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual Is_03_first
|
||||
response CitizenFollow_First
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenUnFollow"
|
||||
{
|
||||
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot02.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
scene "scenes/npc/$gender01/littlecorner01.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenUnFollow
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStopFollow
|
||||
response CitizenUnFollow
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
// For ep1_c17_05
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenDenyCommand"
|
||||
{
|
||||
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenDenyCommand
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDenyCommand
|
||||
response CitizenDenyCommand
|
||||
}
|
||||
|
||||
878
sp/game/mod_episodic/scripts/talker/npc_vortigaunt.txt
Normal file
878
sp/game/mod_episodic/scripts/talker/npc_vortigaunt.txt
Normal file
@@ -0,0 +1,878 @@
|
||||
//============================================================================================================
|
||||
// Vortigaunt criteria
|
||||
//============================================================================================================
|
||||
criterion "IsVortigaunt" "classname" "npc_vortigaunt" required
|
||||
criterion "VortigauntCure" concept" "VORT_CURE" required
|
||||
criterion "VortigauntCureStop" "concept" "VORT_CURESTOP" required
|
||||
criterion "VortigauntCureInterrupt" "concept" "VORT_CURE_INTERRUPT" required
|
||||
criterion "VortigauntAttack" "concept" "VORT_ATTACK" required
|
||||
criterion "VortigauntMad" "concept" "VORT_MAD" required
|
||||
criterion "VortigauntShot" "concept" "VORT_SHOT" required
|
||||
criterion "VortigauntPain" "concept" "VORT_PAIN" required
|
||||
criterion "VortigauntDie" "concept" "VORT_DIE" required
|
||||
criterion "VortigauntKill" "concept" "VORT_KILL" required
|
||||
criterion "VortigauntLineOfFire" "concept" "VORT_LINE_FIRE" required
|
||||
criterion "VortigauntPOk" "concept" "VORT_POK" required
|
||||
criterion "VortigauntExtractBugbait" "concept" "VORT_EXTRACT_START" required
|
||||
criterion "VortigauntExtractBugbaitFinish" "concept" "VORT_EXTRACT_FINISH" required
|
||||
criterion "VortNagKeepMovingOutland_11" "concept" "TLK_VortNag_KeepMoving" required
|
||||
criterion "NotUsedVortResponse01" "UsedVortResponse01" "!=1" "required" weight 0
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Level Plus Use
|
||||
//============================================================================================================
|
||||
response VortUseEverywhere
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_affirmed.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese05.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_beofservice.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_vort_chant21.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_certainly.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_vort_chant05.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_forthefm.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_freeman.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_vort_mant04.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_vort_livetoserve.vcd"
|
||||
}
|
||||
|
||||
|
||||
rule VortUseEverywhere
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkUse NotUsedVortResponse NotInCombat
|
||||
applycontext "UsedVortResponse:1:20"
|
||||
response VortUseEverywhere
|
||||
}
|
||||
|
||||
|
||||
response "VortTalkUse01"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_leadus.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_leadon.vcd"
|
||||
sequential
|
||||
norepeat
|
||||
}
|
||||
|
||||
rule VortTalkUse01
|
||||
{
|
||||
|
||||
criteria IsVortigaunt ConceptTalkUse IsMap_ep2_outland_01 NotUsedVortResponse01 NotUsedVortResponse NotInCombat
|
||||
applycontext "UsedVortResponse:1:20,UsedVortResponse01:1:30"
|
||||
response VortTalkUse01
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
response "VortLabUsedisable11"
|
||||
{
|
||||
scene "scenes\outland_11\vort_silo_maghonor02.vcd"
|
||||
scene "scenes\outland_11\vort_silo_maghonor03.vcd"
|
||||
scene "scenes\eli_lab\vort_elab_goaway.vcd"
|
||||
}
|
||||
|
||||
rule IsVortLabUseDisable11
|
||||
{
|
||||
criteria ConceptTalkUse IsVortLabUseDisable NPCIdle NotUsedVortResponse IsMap_ep2_outland_11
|
||||
applycontext "UsedVortResponse:1:20"
|
||||
response VortLabUsedisable11
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
criterion "IsNotVortNoticedHurt" "VortNoticedHurt" "!=1" required
|
||||
|
||||
response "VortNoticeHurt"
|
||||
{
|
||||
NOREPEAT
|
||||
scene "scenes/npc/vortigaunt/vort_combat_combined01.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_combat_combined02.vcd"
|
||||
}
|
||||
|
||||
rule VortNoticeHurt
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt NoRecentCombatShort IsMap_ep3_outland_03 IsNotVortNoticedHurt PlayerWounded
|
||||
applycontext "VortNoticedHurt:1:300"
|
||||
response VortNoticeHurt
|
||||
}
|
||||
|
||||
|
||||
//TLK_VORTIGAUNT_DISPEL
|
||||
|
||||
|
||||
response "VortAntlionCombatStart"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_alert_antlions.vcd" respeakdelay 30
|
||||
scene "scenes/npc/vortigaunt/vort_worry.vcd" respeakdelay 30
|
||||
scene "scenes/npc/vortigaunt/vort_alert.vcd" respeakdelay 0
|
||||
}
|
||||
|
||||
rule VortAntlionCombatStart
|
||||
{
|
||||
criteria IsVortigaunt ConceptStartCombat EnemyIsAntLion
|
||||
response VortAntlionCombatStart
|
||||
}
|
||||
|
||||
response "VortAntlionCombatStart2"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_worry.vcd" respeakdelay 30
|
||||
scene "scenes/npc/vortigaunt/vort_alert.vcd" respeakdelay 30
|
||||
}
|
||||
|
||||
rule VortAntlionCombatStart2
|
||||
{
|
||||
criteria IsVortigaunt ConceptStartCombat
|
||||
response VortAntlionCombatStart2
|
||||
}
|
||||
|
||||
response "VortAntlionAttack"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese03.vcd" respeakdelay 15
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese05.vcd" respeakdelay 15
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese09.vcd" respeakdelay 15
|
||||
}
|
||||
|
||||
rule VortAntlionAttack
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkAttacking
|
||||
applycontext "VortKill:1:10"
|
||||
response VortAntlionAttack
|
||||
}
|
||||
|
||||
|
||||
response "VortigauntPain"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese04.vcd" respeakdelay 30
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese07.vcd" respeakdelay 30
|
||||
scene "scenes/npc/vortigaunt/vort_vortigese08.vcd" respeakdelay 30
|
||||
}
|
||||
|
||||
rule VortigauntPain
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPain
|
||||
response VortigauntPain
|
||||
}
|
||||
|
||||
|
||||
criterion "contextvortkill" "VortKill" "1" required
|
||||
response "VortigauntRangedKill"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vort_returntoall.vcd" respeakdelay 15
|
||||
scene "scenes/npc/vortigaunt/vort_yes.vcd" respeakdelay 15
|
||||
scene "scenes/npc/vortigaunt/vort_tethercut.vcd" respeakdelay 15
|
||||
scene "scenes/npc/vortigaunt/vort_passon.vcd" respeakdelay 15
|
||||
scene "scenes/npc/vortigaunt/returnvoid.vcd" respeakdelay 15
|
||||
}
|
||||
|
||||
rule VortigauntRangedKill
|
||||
{
|
||||
criteria IsVortigaunt ConceptEnemyDead
|
||||
applycontext "VortKill:1:15"
|
||||
response VortigauntRangedKill
|
||||
}
|
||||
|
||||
|
||||
criterion "NotVortPostKill" "VortPostKill" "!=1" required
|
||||
response "VortCombatFun"
|
||||
{
|
||||
NOREPEAT
|
||||
scene "scenes/npc/vortigaunt/vort_prevail.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_goodfightwithus.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_killsformidable.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_goodtogether.vcd"
|
||||
|
||||
}
|
||||
rule VortCombatFun
|
||||
{
|
||||
criteria IsVortigaunt IsMap_ep3_outland_03 ConceptPlayerKilledNPC contextvortkill NotVortPostKill
|
||||
applycontext "VortPostKill:1:80"
|
||||
response VortCombatFun
|
||||
}
|
||||
|
||||
|
||||
criterion "NotVortCompliment" "VortCompliment" "!=1" required
|
||||
response "VortCombatCompliment"
|
||||
{
|
||||
|
||||
scene "scenes/npc/vortigaunt/vort_excellent.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_excellentshooting.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_excellentshot.vcd"
|
||||
scene "scenes/npc/vortigaunt/vort_exceptional.vcd"
|
||||
|
||||
}
|
||||
rule VortCombatCompliment
|
||||
{
|
||||
criteria IsVortigaunt ConceptPlayerKilledNPC ContextPlayer1Shot NotVortCompliment
|
||||
applycontext "VortCompliment:1:60"
|
||||
response VortCombatCompliment
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//response "Vort03Test"
|
||||
//{
|
||||
// scene "scenes/outland_02/vort_pre_revive_nag01.vcd"
|
||||
// scene "scenes/outland_02/vort_pre_revive_nag02.vcd"
|
||||
// scene "scenes/outland_02/vort_pre_revive_nag03.vcd"
|
||||
// scene "scenes/outland_02/vort_pre_revive_nag04.vcd"
|
||||
// scene "scenes/outland_02/vort_pre_revive_nag05.vcd"
|
||||
//}
|
||||
//
|
||||
//rule Vort03Test
|
||||
//{
|
||||
// criteria IsVortigaunt IsMap_ep3_outland_03 ConceptTalkLook
|
||||
// response Vort03Test
|
||||
//}
|
||||
|
||||
|
||||
|
||||
|
||||
criterion "VortsNagPlayerAlyxHealOutland02" "OUTLAND_02_VORTS_NAG_PLAYER" "1" required
|
||||
|
||||
|
||||
|
||||
response "NagPlayerHealAlyxVort"
|
||||
{
|
||||
scene "scenes/outland_02/vort_pre_revive_nag01.vcd"
|
||||
scene "scenes/outland_02/vort_pre_revive_nag02.vcd"
|
||||
scene "scenes/outland_02/vort_pre_revive_nag03.vcd"
|
||||
scene "scenes/outland_02/vort_pre_revive_nag04.vcd"
|
||||
scene "scenes/outland_02/vort_pre_revive_nag05.vcd"
|
||||
}
|
||||
|
||||
rule NagPlayerHealAlyxVort
|
||||
{
|
||||
criteria IsVortigaunt ConceptVortsNagPlayerAlyxHealOutland02
|
||||
response NagPlayerHealAlyxVort
|
||||
}
|
||||
|
||||
|
||||
criterion "VortAskingForHelp" "SaidProtectUs" "!=1" "required" weight 0
|
||||
response "VortUnderAttackVort"
|
||||
{
|
||||
scene "scenes/outland_02/vort_turret_weneedhelpcometous.vcd"
|
||||
scene "scenes/outland_02/vort_turret_weareunderattackdefendus.vcd"
|
||||
scene "scenes/outland_02/vort_turret_defendus.vcd"
|
||||
scene "scenes/outland_02/vort_turret_protectalyx.vcd"
|
||||
scene "scenes/outland_02/vort_turret_protectus.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortUnderAttackVort
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPain IsVortHealingAlyx VortAskingForHelp
|
||||
applycontext "SaidProtectUs:1:2,VortNeedsHelp:1:10"
|
||||
response VortUnderAttackVort
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
response "NagPlayerKeepMovingOutland_11Vort"
|
||||
{
|
||||
scene "scenes/outland_11/vort_fmadvance.vcd"
|
||||
scene "scenes/outland_11/vort_hastefm.vcd"
|
||||
scene "scenes/outland_11/vort_fmmustmove.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule NagPlayerKeepMovingOutland_11Vort
|
||||
{
|
||||
criteria IsVortigaunt PlayerNear VortNagKeepMovingOutland_11
|
||||
response NagPlayerKeepMovingOutland_11Vort
|
||||
}
|
||||
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Hello speech
|
||||
//============================================================================================================
|
||||
response "VortigauntHello"
|
||||
{
|
||||
// scene "scenes/npc/vortigaunt/wellmet.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/isitthefm.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/itisthefm.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/thefreeman.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/beofservice.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/greetingsfm.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/neuroprints.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/salute.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/trulyitis.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/takeus.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/webeofuse.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/corporeal.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/seebeforeoureye.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/morethanmeets.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/weknowyou.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/putaside.vcd" delay "3,3.5" speakonce
|
||||
// scene "scenes/npc/vortigaunt/mystery.vcd" delay "3,3.5" speakonce
|
||||
}
|
||||
rule VortigauntTlkHello
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkHello PlayerNear SeePlayer
|
||||
response VortigauntHello
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
rule VortigauntPlayerHello
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPHello
|
||||
response NullResponse
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Questions & Responses speech
|
||||
//============================================================================================================
|
||||
response "VortigauntQuestion"
|
||||
{
|
||||
// scene "scenes/npc/vortigaunt/vques01.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques02.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques03.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques04.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques05.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques06.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques07.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques08.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques09.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vques10.vcd" delay 1
|
||||
//
|
||||
}
|
||||
rule VortigauntTlkQuestion
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkQuestion
|
||||
response VortigauntQuestion
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntAnswer"
|
||||
{
|
||||
// scene "scenes/npc/vortigaunt/vanswer01.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer02.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer03.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer04.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer05.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer06.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer07.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer08.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer09.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer10.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer11.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer12.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer13.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer14.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer15.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer16.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer17.vcd" delay 1
|
||||
// scene "scenes/npc/vortigaunt/vanswer18.vcd" delay 1
|
||||
}
|
||||
|
||||
rule VortigauntTlkAnswer
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkAnswer
|
||||
response VortigauntAnswer
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntTalkUse"
|
||||
{
|
||||
sequential
|
||||
norepeat
|
||||
}
|
||||
|
||||
rule VortigauntTalkUse
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkUse
|
||||
response VortigauntTalkUse
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Combat speech
|
||||
//============================================================================================================
|
||||
response "VortigauntCure"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/allowrecharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/wewillcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/fmcanuse.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/here.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/acceptenergy.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/holdstill.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/acceptcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/weshare.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/prepare.vcd" defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntCure
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCure
|
||||
response VortigauntCure
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureStop"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/allwecanspare.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allfornow.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/thatisall.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/done.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/keepfmsafe.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntCureStop
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCureStop
|
||||
response VortigauntCureStop
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureInterrupt"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/holdorcantcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/hold.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/halt.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/fmstandstill.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/ifyoumove.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/movingtarget.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntCureInterrupt
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCureInterrupt
|
||||
response VortigauntCureInterrupt
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntAttack"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/tothevoid.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allinoneinall.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/giveover.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/weclaimyou.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/undeserving.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/satisfaction.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/regrettable.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allowme.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/livetoserve.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/returnvoid.vcd" defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntAttack
|
||||
{
|
||||
criteria IsVortigaunt VortigauntAttack
|
||||
response VortigauntAttack
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntMad"
|
||||
{
|
||||
// sentence "VORT_MAD" soundlevel "SNDLVL_NORM" delay "4"
|
||||
}
|
||||
rule VortigauntMad
|
||||
{
|
||||
criteria IsVortigaunt VortigauntMad
|
||||
response VortigauntMad
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntShot"
|
||||
|
||||
{
|
||||
// sentence "VORT_SHOT" soundlevel "SNDLVL_NORM" delay "4"
|
||||
}
|
||||
rule VortigauntShot
|
||||
{
|
||||
criteria IsVortigaunt VortigauntShot
|
||||
response VortigauntShot
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
//response "VortigauntPain"
|
||||
|
||||
//{
|
||||
// sentence "VORT_PAIN" defaultdelay
|
||||
//}
|
||||
|
||||
//rule VortigauntPain
|
||||
//{
|
||||
// criteria IsVortigaunt VortigauntPain
|
||||
// response VortigauntPain
|
||||
//}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntDie"
|
||||
|
||||
{
|
||||
// sentence "VORT_DIE" defaultdelay
|
||||
|
||||
}
|
||||
|
||||
rule VortigauntDie
|
||||
{
|
||||
criteria IsVortigaunt VortigauntDie
|
||||
response VortigauntDie
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntKill"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/forthefm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/forfreedom.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/tethercut.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/troubleus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/dreamed.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/energyempower.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/empowerus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/surge.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/yes.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/passon.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/nodenexus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/returntoall.vcd" delay 4
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntKill
|
||||
{
|
||||
criteria IsVortigaunt VortigauntKill
|
||||
response VortigauntKill
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntLineOfFire"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/cautionfm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/caution.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmbeware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/ware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmmustbeware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/warefm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fminway.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/standclear.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmmustmove.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/warningfm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/cannotfire.vcd" delay 4
|
||||
|
||||
}
|
||||
|
||||
rule VortigauntLineOfFire
|
||||
{
|
||||
criteria IsVortigaunt VortigauntLineOfFire
|
||||
response VortigauntLineOfFire
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPOk"
|
||||
|
||||
{
|
||||
// sentence "VORT_POK" soundlevel "SNDLVL_NORM" delay "2"
|
||||
}
|
||||
|
||||
rule VortigauntPOk
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPOk
|
||||
response VortigauntLineOfFire
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Misc speech
|
||||
//============================================================================================================
|
||||
response "VortigauntIdle"
|
||||
|
||||
{
|
||||
// scene "scenes/npc/vortigaunt/poet.vcd"
|
||||
// scene "scenes/npc/vortigaunt/hopeless.vcd"
|
||||
// scene "scenes/npc/vortigaunt/alldear.vcd"
|
||||
// scene "scenes/npc/vortigaunt/prevail.vcd"
|
||||
// scene "scenes/npc/vortigaunt/seenworse.vcd"
|
||||
// scene "scenes/npc/vortigaunt/persevere.vcd"
|
||||
// scene "scenes/npc/vortigaunt/worthless.vcd"
|
||||
// scene "scenes/npc/vortigaunt/whereto.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntTlkIdle
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkIdle
|
||||
response VortigauntIdle
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
rule VortigauntPlayerIdle
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPIdle
|
||||
response NullResponse
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntStare"
|
||||
|
||||
{
|
||||
// scene "scenes/npc/vortigaunt/optical.vcd"
|
||||
// scene "scenes/npc/vortigaunt/unclear.vcd"
|
||||
// scene "scenes/npc/vortigaunt/opaque.vcd"
|
||||
// scene "scenes/npc/vortigaunt/rememberus.vcd"
|
||||
// scene "scenes/npc/vortigaunt/stillhere.vcd"
|
||||
// scene "scenes/npc/vortigaunt/calm.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStare
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStare
|
||||
response VortigauntStare
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntOk"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/itishonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/wehonored.vcd"
|
||||
scene "scenes/npc/vortigaunt/ourhonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/honorfollow.vcd"
|
||||
scene "scenes/npc/vortigaunt/accompany.vcd"
|
||||
scene "scenes/npc/vortigaunt/gladly.vcd"
|
||||
scene "scenes/npc/vortigaunt/pleasure.vcd"
|
||||
scene "scenes/npc/vortigaunt/wefollowfm.vcd"
|
||||
scene "scenes/npc/vortigaunt/honorours.vcd"
|
||||
scene "scenes/npc/vortigaunt/gloriousend.vcd"
|
||||
scene "scenes/npc/vortigaunt/bodyyours.vcd"
|
||||
scene "scenes/npc/vortigaunt/allwehave.vcd"
|
||||
scene "scenes/npc/vortigaunt/weareyours.vcd"
|
||||
scene "scenes/npc/vortigaunt/dedicate.vcd"
|
||||
scene "scenes/npc/vortigaunt/mutual.vcd"
|
||||
scene "scenes/npc/vortigaunt/leadus.vcd"
|
||||
scene "scenes/npc/vortigaunt/onward.vcd"
|
||||
scene "scenes/npc/vortigaunt/forward.vcd"
|
||||
scene "scenes/npc/vortigaunt/propitious.vcd"
|
||||
scene "scenes/npc/vortigaunt/leadon.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmhonorsus.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmdoesushonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/yesforward.vcd"
|
||||
scene "scenes/npc/vortigaunt/wewillhelp.vcd"
|
||||
scene "scenes/npc/vortigaunt/assent.vcd"
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStartFollow
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStartFollow
|
||||
response VortigauntOk
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntWait"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/canconvince.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmknowsbest.vcd"
|
||||
scene "scenes/npc/vortigaunt/willremain.vcd"
|
||||
scene "scenes/npc/vortigaunt/fearfailed.vcd"
|
||||
scene "scenes/npc/vortigaunt/servebetterhere.vcd"
|
||||
scene "scenes/npc/vortigaunt/certainly.vcd"
|
||||
scene "scenes/npc/vortigaunt/herewestay.vcd"
|
||||
scene "scenes/npc/vortigaunt/asyouwish.vcd"
|
||||
scene "scenes/npc/vortigaunt/ourplacehere.vcd"
|
||||
scene "scenes/npc/vortigaunt/affirmed.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStopFollow
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStopFollow
|
||||
response VortigauntWait
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntStop"
|
||||
|
||||
{
|
||||
// sentence "VORT_STOP" delay "2,2.5" soundlevel "SNDLVL_NORM"
|
||||
}
|
||||
|
||||
rule VortigauntTlkStop
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStop
|
||||
response VortigauntStop
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntScared"
|
||||
|
||||
{
|
||||
// sentence "VORT_SCARED" delay "0,0.4"
|
||||
}
|
||||
|
||||
rule VortigauntTlkNoShoot
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkNoShoot
|
||||
response VortigauntScared
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureA"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREA" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt1
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt1
|
||||
response VortigauntCureA
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureB"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREB" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt2
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt2
|
||||
response VortigauntCureB
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureC"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREC" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt3
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt3
|
||||
response VortigauntCureC
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPQuest"
|
||||
|
||||
{
|
||||
// sentence "VORT_PQUEST" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntPlayerQuestion
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPQuestion
|
||||
response VortigauntPQuest
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntSmell"
|
||||
|
||||
{
|
||||
// sentence "VORT_SMELL" defaultdelay respeakdelay "60"
|
||||
}
|
||||
|
||||
rule VortigauntTlkSmell
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkSmell
|
||||
response VortigauntSmell
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntWound"
|
||||
|
||||
{
|
||||
// sentence "VORT_WOUND" speakonce defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkWound
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkWound
|
||||
response VortigauntWound
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntMortal"
|
||||
|
||||
{
|
||||
// sentence "VORT_MORTAL" speakonce defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkMortal
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkMortal
|
||||
response VortigauntMortal
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Leader speech (a vortigaunt that's leading the player somewhere)
|
||||
//============================================================================================================
|
||||
|
||||
response "VortigauntLeadStart"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/fmmustfollow.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntLeadStart
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadStart
|
||||
response VortigauntLeadStart
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntLeadCatchup"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/yesforward.vcd"
|
||||
scene "scenes/npc/vortigaunt/followfm.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntLeadCatchup
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadCatchup
|
||||
response VortigauntLeadCatchup
|
||||
}
|
||||
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt coast specific speech
|
||||
//============================================================================================================
|
||||
response "VortigauntExtractBugbait"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_extract01.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkExtractBugbait
|
||||
{
|
||||
criteria IsVortigaunt VortigauntExtractBugbait
|
||||
response VortigauntExtractBugbait
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntExtractBugbaitFinish"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_podsforyou01.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkExtractBugbaitFinish
|
||||
{
|
||||
criteria IsVortigaunt VortigauntExtractBugbaitFinish
|
||||
response VortigauntExtractBugbaitFinish
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntGetBugbait"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_podnag.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkLeadGetBugbait
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadMissingWeapon
|
||||
response VortigauntGetBugbait
|
||||
}
|
||||
|
||||
158
sp/game/mod_episodic/scripts/talker/response_rules.txt
Normal file
158
sp/game/mod_episodic/scripts/talker/response_rules.txt
Normal file
@@ -0,0 +1,158 @@
|
||||
|
||||
|
||||
// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
|
||||
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
|
||||
//
|
||||
// The format of this file is that there are five main types of commands:
|
||||
// 1) #include "filename" // This just causes the included scriptfile to be parsed and added to the database
|
||||
// 2) enumeration: this declares an enumerated type so that comparisons can be matched against the string versions of the type
|
||||
// 3) response: this specifies a response to issue. A response consists of a weighted set of options and can recursively reference
|
||||
// other responses by name
|
||||
// 4) criterion: This is a match condition
|
||||
// 5) rule: a rule consists of one or more criteria and a response
|
||||
//
|
||||
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
|
||||
// various entity I/O and keyfields. For instance, the following criteria set was created in a map with a train terminal
|
||||
// "speaker" entity wishing to fire random station announcements
|
||||
// concept = 'train_speaker' (weight 5.000000) ; the high level concept for the search request
|
||||
// map = 'terminal_pa' ; the name of the map
|
||||
// classname = 'speaker' ; the classname and name of the "speaking" entity
|
||||
// name = 'terminal_pa'
|
||||
// health = '10' ; the absolute health of the speaking entity
|
||||
// healthfrac = '0.000' ; the health fraction (health/maxhealth) of the speaking entity
|
||||
// playerhealth = '100' ; similar data related to the current player:
|
||||
// playerhealthfrac = '1.000'
|
||||
// playerweapon = 'none' ; the name of the weapon the player is carrying
|
||||
// playeractivity = 'ACT_WALK' ; animating activity of the player
|
||||
// playerspeed = '0.000' ; how fast the player is moving
|
||||
//
|
||||
// Based on such a criteria set, the system checks each rule against the set. To do this, each criterion of the rule is
|
||||
// given a numeric score as follows:
|
||||
// score = 0 if criteria doesn't match or, criterion weight * keyvaliue weight if it does match
|
||||
// The final score for a rule is the sum of all of the scores of its criteria. The best rule is the one with the highest
|
||||
// score. Once a best rule is selected, then a response is looked up based on the response definitions and the engine is
|
||||
// asked to dispatch that response.
|
||||
//
|
||||
// The specific syntax for the various keywords is as follows:
|
||||
//
|
||||
// ENUMERATIONS:
|
||||
//
|
||||
// enumeration <enumerationname>
|
||||
// {
|
||||
// "key1" "value1"
|
||||
// "key2" "value2"
|
||||
// ...etc.
|
||||
// }
|
||||
// The code and criteria refer to enumerations with square brackets and a double colon separator, e.g.:
|
||||
// [enumerationname::key1]
|
||||
//
|
||||
//
|
||||
// RESPONSES:
|
||||
//
|
||||
// Single line:
|
||||
// response <responsegroupname> [nodelay | defaultdelay | delay interval ] [speakonce] [noscene] [odds nnn] [respeakdelay interval] [soundlevel "SNDLVL_xxx"] [stop_on_nonidle] responsetype parameters
|
||||
// Multiple lines
|
||||
// response <responsegroupname>
|
||||
// {
|
||||
// [permitrepeats] ; optional parameter, by default we visit all responses in group before repeating any
|
||||
// [sequential] ; optional parameter, by default we randomly choose responses, but with this we walk through the list starting at the first and going to the last
|
||||
// [norepeat] ; Once we've run through all of the entries, disable the response group
|
||||
// responsetype1 parameters1 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] [ stop_on_nonidle ] weight nnn
|
||||
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] [ stop_on_nonidle ] weight nnn
|
||||
// etc.
|
||||
// }
|
||||
// Where:
|
||||
// interval = "startnumber,endnumber" or "number" (e.g., "2.8,3.2" or "3.2")
|
||||
// responsetype =:
|
||||
// speak ; it's an entry in sounds.txt
|
||||
// sentence ; it's a sentence name from sentences.txt
|
||||
// scene ; it's a .vcd file
|
||||
// response ; it's a reference to another response group by name
|
||||
// print ; print the text in developer 2 (for placeholder responses)
|
||||
// nodelay = an additional delay of 0 after speaking
|
||||
// defaultdelay = an additional delay of 2.8 to 3.2 seconds after speaking
|
||||
// delay interval = an additional delay based on a random sample from the interval after speaking
|
||||
// speakonce = don't use this response more than one time (default off)
|
||||
// noscene = For an NPC, play the sound immediately using EmitSound, don't play it through the scene system. Good for playing sounds on dying or dead NPCs.
|
||||
// odds = if this response is selected, if odds < 100, then there is a chance that nothing will be said (default 100)
|
||||
// respeakdelay = don't use this response again for at least this long (default 0)
|
||||
// soundlevel = use this soundlevel for the speak/sentence (default SNDLVL_TALKING)
|
||||
// weight = if there are multiple responses, this is a selection weighting so that certain responses are favored over others in the group (default 1)
|
||||
// displayfirst/displaylast : this should be the first/last item selected (ignores weight)
|
||||
// stop_on_nonidle = If this response starts a .vcd, and during that scene the NPC changes out of idle state (e.g. sees an enemy), stop the .vcd
|
||||
//
|
||||
// CRITERIA:
|
||||
//
|
||||
// criterion <criterionname> <matchkey> <matchvalue> weight nnn required
|
||||
// Where:
|
||||
// matchkey matches one of the criteria in the set as shown above
|
||||
// matchvalue is a string or number value or a range, the following are all valid:
|
||||
// "0" ; numeric match to value 0
|
||||
// "1" ; numeric match to value 1
|
||||
// "weapon_smg1" ; string match to weapon_smg1 string
|
||||
// "[npcstate::idle]" ; match enumeration by looking up numeric value
|
||||
// ">0" ; match if greater than zero
|
||||
// ">10,<=50" ; match if greater than ten and less than or equal to 50
|
||||
// ">0,<[npcstate::alert]" ; match if greater than zer and les then value of enumeration for alert
|
||||
// "!=0" ; match if not equal to zero
|
||||
// weight = floating point weighting for score assuming criteria match (default value 1.0)
|
||||
// required: if a rule has one or more criteria with the required flag set, then if any such criteria
|
||||
// fail, the entire rule receives a score of zero
|
||||
//
|
||||
// RULE:
|
||||
//
|
||||
// rule <rulename>
|
||||
// {
|
||||
// criteria name1 [name2 name3 etc.]
|
||||
// response responsegroupname [responsegroupname2 etc.]
|
||||
// [matchonce] ; optional parameter
|
||||
// [ <matchkey > <matchvalue> weight nnn required ]
|
||||
// }
|
||||
// Where:
|
||||
// criteria just lies one more more criterion names from above and response list one or more of the response
|
||||
// names from above (usually just one)
|
||||
// matchonce (off by default): means that the rule is deactivated after the first time it is matched
|
||||
// Note that additional "unnamed" criteria can be specified inline in the rule using the same syntax
|
||||
// as for defining a criterion, except for the criterion keyword and the criterion name keys
|
||||
//
|
||||
// Interaction with entity I/O system
|
||||
// CBaseEntity contains an inputfunc called "DispatchResponse" which accepts a string which is a concept name
|
||||
// Thus, a game entity can fire this input on another entity with a concept string and a criteria set will
|
||||
// be generated and searched against the entities current response system rule set.
|
||||
// Right now only the speaker entity and NPC_Talker derived NPCs have any response rules loaded
|
||||
// In addition, map placed entities have up to three "context" keypairs that can be specified.
|
||||
// They take the form: "key:value" (key, single colon separator, value)
|
||||
// When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the
|
||||
// criteria set passed to the rule system. Thus, map placed entities and triggers can specify their
|
||||
// own context keypairs and these can be hooked up to response rules to do map-specific and appropriate
|
||||
// responses
|
||||
// In addition, entity I/O can be used to add, remove and clear any such context keypairs via the
|
||||
// AddContext, RemoveContext, and ClearContext input functions.
|
||||
// AddContext takes a keypair of the "key:value" format, while RemoveContext take just the "key"
|
||||
// ClearContext removes all context keypairs
|
||||
// The game .dll code can enumerate context keypairs and change them via code based methods
|
||||
//
|
||||
// The player and the world have their context added with the string player or world as a prefix, e.g.:
|
||||
// "playerkey:value" or "worldkey:value" to differentiate world/player context from the context of the
|
||||
// responding entity.
|
||||
|
||||
// Base script
|
||||
#include "talker/response_criteria.txt"
|
||||
|
||||
// Test rules
|
||||
#include "talker/interjections.txt"
|
||||
|
||||
#include "talker/npc_combine.txt"
|
||||
#include "talker/response_k_lab.txt"
|
||||
#include "talker/response_eli_lab.txt"
|
||||
#include "talker/npc_vortigaunt.txt"
|
||||
#include "talker/npc_citizen.txt"
|
||||
#include "talker/npc_citizen_scenes.txt"
|
||||
//#include "talker/npc_grigori.txt"
|
||||
//#include "talker/npc_barney.txt"
|
||||
#include "talker/npc_alyx.txt"
|
||||
#include "talker/npc_alyx_episodic.txt"
|
||||
#include "talker/npc_alyx_episodic_scenes.txt"
|
||||
//#include "talker/npc_barney_episodic.txt"
|
||||
#include "talker/nags_Alyx.txt"
|
||||
#include "talker/npc_alyx_vehicle.txt"
|
||||
278
sp/game/mod_episodic/scripts/titles.txt
Normal file
278
sp/game/mod_episodic/scripts/titles.txt
Normal file
@@ -0,0 +1,278 @@
|
||||
//TITLES FOR HALF-LIFE 2
|
||||
// Position command $position x y
|
||||
// x & y are from 0 to 1 to be screen resolution independent
|
||||
// -1 means center in each dimension
|
||||
// Effect command $effect <effect number>
|
||||
// effect 0 is fade in/fade out
|
||||
// effect 1 is flickery credits
|
||||
// effect 2 is write out (training room)
|
||||
// Text color r g b command $color
|
||||
// fadein time fadeout time / hold time
|
||||
// $fadein (message fade in time - per character in effect 2)
|
||||
// $fadeout (message fade out time)
|
||||
// $holdtime (stay on the screen for this long)
|
||||
|
||||
//INTRO TITLES
|
||||
// All centered for now
|
||||
$position -1 -1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.01
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.25
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.5
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 1.5
|
||||
|
||||
|
||||
//INTRO CREDITS
|
||||
// Test values -- JAY
|
||||
// Lower left
|
||||
$position 0.1 0.8
|
||||
$effect 1
|
||||
// Final fade-in color
|
||||
$color 128 128 128
|
||||
// This is the highlight/flash color
|
||||
$color2 0 0 0
|
||||
$fadein 1.5
|
||||
$fadeout 0.5
|
||||
$holdtime 1.2
|
||||
|
||||
CR1
|
||||
{
|
||||
Testing 1
|
||||
}
|
||||
|
||||
CR2
|
||||
{
|
||||
Testing 2
|
||||
}
|
||||
|
||||
CR3
|
||||
{
|
||||
Testing 3
|
||||
}
|
||||
|
||||
|
||||
//INTRO TITLES
|
||||
// All centered for now
|
||||
$position -1 -1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.01
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.25
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.5
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 1.5
|
||||
|
||||
|
||||
GAMEOVER_ALLY
|
||||
{
|
||||
#HL2_GameOver_Ally
|
||||
}
|
||||
|
||||
GAMEOVER_OBJECT
|
||||
{
|
||||
#HL2_GameOver_Object
|
||||
}
|
||||
|
||||
GAMEOVER_TIMER
|
||||
{
|
||||
#HL2_GameOver_Timer
|
||||
}
|
||||
|
||||
GAMEOVER_STUCK
|
||||
{
|
||||
#HL2_GameOver_Stuck
|
||||
}
|
||||
|
||||
GAMEOVER_ALYXDEAD
|
||||
{
|
||||
#Episodic_GameOver_AlyxDead
|
||||
}
|
||||
|
||||
GAMEOVER_ALYXLEFT
|
||||
{
|
||||
#EP2_GameOver_AlyxLeft
|
||||
}
|
||||
|
||||
|
||||
$fadein 0.03
|
||||
$holdtime 9
|
||||
|
||||
|
||||
//CHAPTER TITLES
|
||||
|
||||
$fadein 0.01
|
||||
$holdtime 3.5
|
||||
$position -1 0.58
|
||||
|
||||
EP2_CHAPTER1_TITLE
|
||||
{
|
||||
#ep2_Chapter1_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER2_TITLE
|
||||
{
|
||||
#ep2_Chapter2_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER3_TITLE
|
||||
{
|
||||
#ep2_Chapter3_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER4_TITLE
|
||||
{
|
||||
#ep2_Chapter4_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER5_TITLE
|
||||
{
|
||||
#ep2_Chapter5_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER6_TITLE
|
||||
{
|
||||
#ep2_Chapter6_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER7_TITLE
|
||||
{
|
||||
#ep2_Chapter7_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER8_TITLE
|
||||
{
|
||||
#ep2_Chapter8_Title
|
||||
}
|
||||
|
||||
EP2_CHAPTER9_TITLE
|
||||
{
|
||||
#ep2_Chapter9_Title
|
||||
}
|
||||
|
||||
|
||||
// In-Game messages
|
||||
$position 0.1 0.1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.00
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.0
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 0.01
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 0.01
|
||||
|
||||
$boxsize 0.4
|
||||
$boxcolor 31 31 31 127
|
||||
|
||||
GAMESAVING_360
|
||||
{
|
||||
#HL2_Saving
|
||||
}
|
||||
|
||||
$position -1 0.65
|
||||
|
||||
GAMESAVING
|
||||
{
|
||||
#HL2_Saving
|
||||
}
|
||||
|
||||
// In-Game messages
|
||||
$position 0.1 0.1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.00
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.15
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 1.0
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 0.25
|
||||
|
||||
$boxsize 0.4
|
||||
$boxcolor 31 31 31 127
|
||||
|
||||
// The following message will clear any existing message of the given name
|
||||
$clearmessage GAMESAVING
|
||||
|
||||
GAMESAVED_360
|
||||
{
|
||||
#HL2_Saved
|
||||
}
|
||||
|
||||
$position -1 0.65
|
||||
|
||||
GAMESAVED
|
||||
{
|
||||
#HL2_Saved
|
||||
}
|
||||
|
||||
$clearmessage 0
|
||||
|
||||
// Game title
|
||||
// This is a placeholder to hold the effects controls for the "Half-Life" title
|
||||
$position -1 -1
|
||||
// Only effect 0 is supported for game title
|
||||
$effect 0
|
||||
// This is the final color
|
||||
$color 180 180 180
|
||||
// Not used color2
|
||||
$color2 0 0 0
|
||||
// This is the time it takes to fade in the title
|
||||
$fadein 1.0
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.0
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 1.5
|
||||
|
||||
$boxsize 0.0
|
||||
|
||||
GAMETITLE
|
||||
{
|
||||
Half-Life
|
||||
}
|
||||
|
||||
//HAZARD COURSE TEXT
|
||||
|
||||
// Test values -- JAY
|
||||
$position -1 0.65
|
||||
// Scan-out text effect
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 0 200 50
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.005
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.5
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.5
|
||||
// How long it takes to fade out the message after holding
|
||||
|
||||
$fadeout 1.5
|
||||
$position -1 0.65
|
||||
$position -1 0.3
|
||||
|
||||
40
sp/game/mod_episodic/scripts/vgui_screens.txt
Normal file
40
sp/game/mod_episodic/scripts/vgui_screens.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
"VGUI_Screens"
|
||||
{
|
||||
// This name here can be referenced from within a
|
||||
// vgui_screen entity to select this vgui panel
|
||||
"vgui_test_screen"
|
||||
{
|
||||
// The type indicates which type of panel to create
|
||||
// Coders will add new types as time goes by.
|
||||
// "vgui_screen_panel" is a generic panel type which can
|
||||
// read in .res files that have been built by VGUI's build mode dialog.
|
||||
"type" "vgui_screen_panel"
|
||||
|
||||
// These describe the dimensions of the screen *in pixels*
|
||||
"pixelswide" 480
|
||||
"pixelshigh" 240
|
||||
|
||||
// This is the name of the .res file to load up and apply to the vgui panel
|
||||
"resfile" "scripts/screens/vgui_test_screen.res"
|
||||
}
|
||||
"teleport_countdown_screen"
|
||||
{
|
||||
// Defined in c_info_teleporter_countdown.cpp
|
||||
"type" "teleport_countdown_screen"
|
||||
|
||||
// These describe the dimensions of the screen *in pixels*
|
||||
"pixelswide" 480
|
||||
"pixelshigh" 240
|
||||
|
||||
// This is the name of the .res file to load up and apply to the vgui panel
|
||||
"resfile" "scripts/screens/teleport_countdown_screen.res"
|
||||
}
|
||||
"jalopy_radar_panel"
|
||||
{
|
||||
"type" "jalopy_radar_panel"
|
||||
"pixelswide" "128"
|
||||
"pixelshigh" "128"
|
||||
"resfile" "scripts/screens/jalopy_radar_panel.res"
|
||||
}
|
||||
|
||||
}
|
||||
1
sp/game/mod_hl2/cfg/chapter1.cfg
Normal file
1
sp/game/mod_hl2/cfg/chapter1.cfg
Normal file
@@ -0,0 +1 @@
|
||||
map sdk_vehicles
|
||||
1
sp/game/mod_hl2/cfg/chapter2.cfg
Normal file
1
sp/game/mod_hl2/cfg/chapter2.cfg
Normal file
@@ -0,0 +1 @@
|
||||
map sdk_vehicles
|
||||
1
sp/game/mod_hl2/cfg/chapter3.cfg
Normal file
1
sp/game/mod_hl2/cfg/chapter3.cfg
Normal file
@@ -0,0 +1 @@
|
||||
map sdk_vehicles
|
||||
1384
sp/game/mod_hl2/detail.vbsp
Normal file
1384
sp/game/mod_hl2/detail.vbsp
Normal file
File diff suppressed because it is too large
Load Diff
72
sp/game/mod_hl2/gameinfo.txt
Normal file
72
sp/game/mod_hl2/gameinfo.txt
Normal file
@@ -0,0 +1,72 @@
|
||||
"GameInfo"
|
||||
{
|
||||
game "My First HL2 Mod"
|
||||
title "HALF-LIFE'"
|
||||
title2 ""
|
||||
|
||||
type singleplayer_only
|
||||
|
||||
FileSystem
|
||||
{
|
||||
SteamAppId 243730 // This sets the app ID in Steam. This is the Source SDK Base 2013 Singleplayer
|
||||
|
||||
//
|
||||
// The code that loads this file automatically does a few things here:
|
||||
//
|
||||
// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
|
||||
// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
|
||||
// For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
|
||||
// 3. For the first "Game" search path, it adds a search path called "MOD".
|
||||
// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
|
||||
//
|
||||
|
||||
//
|
||||
// Search paths are relative to the base directory, which is where hl2.exe is found.
|
||||
//
|
||||
// |gameinfo_path| points at the directory where gameinfo.txt is.
|
||||
// We always want to mount that directory relative to gameinfo.txt, so
|
||||
// people can mount stuff in c:\mymod, and the main game resources are in
|
||||
// someplace like c:\program files\valve\steam\steamapps\half-life 2.
|
||||
//
|
||||
SearchPaths
|
||||
{
|
||||
// First, mount all user customizations. This will search for VPKs and subfolders
|
||||
// and mount them in alphabetical order. The easiest way to distribute a mod is to
|
||||
// pack up the custom content into a VPK. To "install" a mod, just drop it in this
|
||||
// folder.
|
||||
//
|
||||
// Note that this folder is scanned only when the game is booted.
|
||||
game+mod hl2/custom/*
|
||||
|
||||
// Now search loose files. We'll set the directory containing the gameinfo.txt file
|
||||
// as the first "mod" search path (after any user customizations). This is also the one
|
||||
// that's used when writing to the "mod" path.
|
||||
game+mod+mod_write+default_write_path |gameinfo_path|.
|
||||
gamebin |gameinfo_path|bin
|
||||
|
||||
// We search VPK files before ordinary folders, because most files will be found in
|
||||
// VPK and we can avoid making thousands of file system calls to attempt to open files
|
||||
// in folders where they don't exist. (Searching a VPK is much faster than making an operating
|
||||
// system call.)
|
||||
game_lv hl2/hl2_lv.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_english.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_pak.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_textures.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_sound_misc.vpk
|
||||
game |all_source_engine_paths|hl2/hl2_misc.vpk
|
||||
platform |all_source_engine_paths|platform/platform_misc.vpk
|
||||
|
||||
// Add the HL2 directory as a game search path. This is also where where writes
|
||||
// to the "game" path go.
|
||||
game+game_write hl2
|
||||
|
||||
// Where the game's binaries are
|
||||
gamebin hl2_mod/bin
|
||||
|
||||
// Last, mount in shared HL2 loose files
|
||||
game |all_source_engine_paths|hl2
|
||||
platform |all_source_engine_paths|platform
|
||||
}
|
||||
}
|
||||
}
|
||||
182
sp/game/mod_hl2/lights.rad
Normal file
182
sp/game/mod_hl2/lights.rad
Normal file
@@ -0,0 +1,182 @@
|
||||
ldr: lights/fluorescentcool001a 189 231 232 350
|
||||
hdr: lights/fluorescentcool001a 189 231 232 175
|
||||
|
||||
ldr: lights/fluorescentcool001b 236 255 182 350
|
||||
hdr: lights/fluorescentcool001b 236 255 182 175
|
||||
|
||||
ldr: lights/fluorescentcool002a 189 231 232 400
|
||||
hdr: lights/fluorescentcool002a 189 231 232 200
|
||||
|
||||
ldr: lights/fluorescentcool002b 236 255 182 400
|
||||
hdr: lights/fluorescentcool002b 236 255 182 200
|
||||
|
||||
ldr: lights/fluorescentcool003a 189 231 232 300
|
||||
hdr: lights/fluorescentcool003a 189 231 232 150
|
||||
|
||||
ldr: lights/fluorescentwarm001a 239 216 193 350
|
||||
hdr: lights/fluorescentwarm001a 239 216 193 175
|
||||
|
||||
ldr: lights/fluorescentwarm002a 239 216 193 400
|
||||
hdr: lights/fluorescentwarm002a 239 216 193 200
|
||||
|
||||
ldr: lights/fluorescentwhite001a 245 245 245 350
|
||||
hdr: lights/fluorescentwhite001a 245 245 245 175
|
||||
|
||||
ldr: lights/fluorescentwhite002a 245 245 245 400
|
||||
hdr: lights/fluorescentwhite002a 245 245 245 200
|
||||
|
||||
ldr: lights/hazzardred001a 228 37 0 300
|
||||
hdr: lights/hazzardred001a 228 37 0 150
|
||||
|
||||
ldr: lights/hazzardyellow001a 250 215 74 300
|
||||
hdr: lights/hazzardyellow001a 250 215 74 150
|
||||
|
||||
ldr: lights/HIDcool001a 145 222 172 650
|
||||
hdr: lights/HIDcool001a 145 222 172 325
|
||||
|
||||
ldr: lights/HIDcool001b 205 232 255 650
|
||||
hdr: lights/HIDcool001b 205 232 255 325
|
||||
|
||||
ldr: lights/HIDwarm001a 255 201 116 650
|
||||
hdr: lights/HIDwarm001a 255 201 116 325
|
||||
|
||||
ldr: lights/white001 250 240 205 100
|
||||
hdr: lights/white001 250 240 205 50
|
||||
|
||||
ldr: lights/white002 189 233 247 425
|
||||
hdr: lights/white002 189 233 247 212
|
||||
|
||||
ldr: lights/white003 232 246 190 350
|
||||
hdr: lights/white003 232 246 190 175
|
||||
|
||||
ldr: lights/white004 170 228 247 425
|
||||
hdr: lights/white004 170 228 247 100
|
||||
|
||||
ldr: lights/white005 234 235 220 375
|
||||
hdr: lights/white005 234 235 220 187
|
||||
|
||||
ldr: lights/white006 234 235 220 100
|
||||
hdr: lights/white006 234 235 220 50
|
||||
|
||||
ldr: lights/white001_nochop 250 240 205 100
|
||||
hdr: lights/white001_nochop 250 240 205 50
|
||||
|
||||
ldr: lights/white002_nochop 189 233 247 425
|
||||
hdr: lights/white002_nochop 189 233 247 212
|
||||
|
||||
ldr: lights/white003_nochop 232 246 190 350
|
||||
hdr: lights/white003_nochop 232 246 190 175
|
||||
|
||||
ldr: lights/white004_nochop 170 228 247 425
|
||||
hdr: lights/white004_nochop 170 228 247 100
|
||||
|
||||
ldr: lights/white005_nochop 234 235 220 375
|
||||
hdr: lights/white005_nochop 234 235 220 187
|
||||
|
||||
ldr: lights/white006_nochop 234 235 220 100
|
||||
hdr: lights/white006_nochop 234 235 220 50
|
||||
|
||||
ldr: lights/incandescentcool001a 235 235 235 300
|
||||
hdr: lights/incandescentcool001a 235 235 235 150
|
||||
|
||||
ldr: lights/incandescentwarm001a 250 226 129 300
|
||||
hdr: lights/incandescentwarm001a 250 226 129 150
|
||||
|
||||
ldr: glass/glassscreen001a 172 192 161 225
|
||||
hdr: glass/glassscreen001a 172 192 161 112
|
||||
|
||||
ldr: glass/glasspipe001f 214 72 44 200
|
||||
hdr: glass/glasspipe001f 214 72 44 100
|
||||
|
||||
ldr: glass/glassscreen001c 172 192 161 225
|
||||
hdr: glass/glassscreen001c 172 192 161 112
|
||||
|
||||
ldr: glass/glassscreen001d 211 187 134 225
|
||||
hdr: glass/glassscreen001d 211 187 134 112
|
||||
|
||||
ldr: glass/glassblock001a 70 194 209 200
|
||||
hdr: glass/glassblock001a 70 194 209 100
|
||||
|
||||
ldr: composite/citadelfloor001a 103 143 203 200
|
||||
hdr: composite/citadelfloor001a 103 143 203 100
|
||||
|
||||
ldr: props/tvscreen006a 196 0 0 200
|
||||
hdr: props/tvscreen006a 196 0 0 100
|
||||
|
||||
ldr: shadertest/gooinglass 149 49 15 50
|
||||
hdr: shadertest/gooinglass 149 49 15 25
|
||||
|
||||
ldr: glass/glasswindow002e 189 233 247 425
|
||||
hdr: glass/glasswindow002e 189 233 247 212
|
||||
|
||||
ldr: glass/glasswindow035a 145 222 172 100
|
||||
hdr: glass/glasswindow035a 145 222 172 50
|
||||
|
||||
ldr: dev/DEV_INTERIORLIGHT02B 151 176 204 225
|
||||
hdr: dev/DEV_INTERIORLIGHT02B 151 176 204 112
|
||||
|
||||
ldr: plaster/plasterwall029h 189 223 227 125
|
||||
hdr: plaster/plasterwall029h 189 223 227 62
|
||||
|
||||
ldr: building_template/Building_Trainstation_Template001d 230 230 200 65
|
||||
hdr: building_template/Building_Trainstation_Template001d 230 230 200 32
|
||||
|
||||
ldr: building_template/Building_Trainstation_Template001e 230 230 200 150
|
||||
hdr: building_template/Building_Trainstation_Template001e 230 230 200 75
|
||||
|
||||
ldr: building_template/Building_Trainstation_window002d 230 230 200 300
|
||||
hdr: building_template/Building_Trainstation_window002d 230 230 200 150
|
||||
|
||||
ldr: building_template/Building_Trainstation_window002e 230 230 200 300
|
||||
hdr: building_template/Building_Trainstation_window002e 230 230 200 150
|
||||
|
||||
ldr: lights/physgunlight 189 231 232 20
|
||||
hdr: lights/physgunlight 189 231 232 10
|
||||
|
||||
noshadow tree_deciduous_01a_branches.vmt
|
||||
noshadow tree_deciduous_01a_leaves.vmt
|
||||
noshadow tree_deciduous_01a_lod.vmt
|
||||
noshadow tree_deciduous_01a_lod-leaves.vmt
|
||||
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002b.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002c.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002d.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002e.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence_notbarbed002f.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence001a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence001b.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002b.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002c.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002d.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence002e.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence003a.mdl
|
||||
forcetextureshadow props_wasteland/exterior_fence003b.mdl
|
||||
forcetextureshadow props_foliage/tree_cliff_01a.mdl
|
||||
forcetextureshadow props_foliage/tree_cliff_02a.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_01a-lod.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_01a.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_02a.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_03a.mdl
|
||||
forcetextureshadow props_foliage/tree_deciduous_03b.mdl
|
||||
forcetextureshadow props_foliage/tree_poplar_01.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001b.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001c.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001d.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001e.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence001g.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002b.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002c.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002d.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002e.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence002f.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003b.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003d.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003e.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence003f.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence004a.mdl
|
||||
forcetextureshadow props_wasteland/interior_fence004b.mdl
|
||||
BIN
sp/game/mod_hl2/maps/sdk_vehicles.bsp
Normal file
BIN
sp/game/mod_hl2/maps/sdk_vehicles.bsp
Normal file
Binary file not shown.
798
sp/game/mod_hl2/resource/ClientScheme.res
Normal file
798
sp/game/mod_hl2/resource/ClientScheme.res
Normal file
@@ -0,0 +1,798 @@
|
||||
///////////////////////////////////////////////////////////
|
||||
// Tracker scheme resource file
|
||||
//
|
||||
// sections:
|
||||
// Colors - all the colors used by the scheme
|
||||
// BaseSettings - contains settings for app to use to draw controls
|
||||
// Fonts - list of all the fonts used by app
|
||||
// Borders - description of all the borders
|
||||
//
|
||||
///////////////////////////////////////////////////////////
|
||||
Scheme
|
||||
{
|
||||
//////////////////////// COLORS ///////////////////////////
|
||||
// color details
|
||||
// this is a list of all the colors used by the scheme
|
||||
Colors
|
||||
{
|
||||
}
|
||||
|
||||
///////////////////// BASE SETTINGS ////////////////////////
|
||||
//
|
||||
// default settings for all panels
|
||||
// controls use these to determine their settings
|
||||
BaseSettings
|
||||
{
|
||||
"FgColor" "255 220 0 100"
|
||||
"BgColor" "0 0 0 76"
|
||||
|
||||
"Panel.FgColor" "255 220 0 100"
|
||||
"Panel.BgColor" "0 0 0 76"
|
||||
|
||||
"BrightFg" "255 220 0 255"
|
||||
|
||||
"DamagedBg" "180 0 0 200"
|
||||
"DamagedFg" "180 0 0 230"
|
||||
"BrightDamagedFg" "255 0 0 255"
|
||||
|
||||
// weapon selection colors
|
||||
"SelectionNumberFg" "255 220 0 255"
|
||||
"SelectionTextFg" "255 220 0 255"
|
||||
"SelectionEmptyBoxBg" "0 0 0 80"
|
||||
"SelectionBoxBg" "0 0 0 80"
|
||||
"SelectionSelectedBoxBg" "0 0 0 80"
|
||||
|
||||
"ZoomReticleColor" "255 220 0 255"
|
||||
|
||||
// HL1-style HUD colors
|
||||
"Yellowish" "255 160 0 255"
|
||||
"Normal" "255 208 64 255"
|
||||
"Caution" "255 48 0 255"
|
||||
|
||||
// Top-left corner of the "Half-Life 2" on the main screen
|
||||
"Main.Title1.X" "53"
|
||||
"Main.Title1.Y" "190"
|
||||
"Main.Title1.Y_hidef" "184"
|
||||
"Main.Title1.Color" "255 255 255 255"
|
||||
|
||||
// Top-left corner of secondary title e.g. "DEMO" on the main screen
|
||||
"Main.Title2.X" "291"
|
||||
"Main.Title2.Y" "207"
|
||||
"Main.Title2.Y_hidef" "242"
|
||||
"Main.Title2.Color" "255 255 255 200"
|
||||
|
||||
// Top-left corner of the menu on the main screen
|
||||
"Main.Menu.X" "53"
|
||||
"Main.Menu.X_hidef" "76"
|
||||
"Main.Menu.Y" "240"
|
||||
|
||||
// Blank space to leave beneath the menu on the main screen
|
||||
"Main.BottomBorder" "32"
|
||||
}
|
||||
|
||||
//////////////////////// BITMAP FONT FILES /////////////////////////////
|
||||
//
|
||||
// Bitmap Fonts are ****VERY*** expensive static memory resources so they are purposely sparse
|
||||
BitmapFontFiles
|
||||
{
|
||||
// UI buttons, custom font, (256x64)
|
||||
"Buttons" "materials/vgui/fonts/buttons_32.vbf"
|
||||
}
|
||||
|
||||
|
||||
//////////////////////// FONTS /////////////////////////////
|
||||
//
|
||||
// describes all the fonts
|
||||
Fonts
|
||||
{
|
||||
// fonts are used in order that they are listed
|
||||
// fonts are used in order that they are listed
|
||||
"DebugFixed"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
// fonts are used in order that they are listed
|
||||
"DebugFixedSmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
// fonts listed later in the order will only be used if they fulfill a range not already filled
|
||||
// if a font fails to load then the subsequent fonts will replace
|
||||
Default
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
}
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "9"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "1 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "768 1023"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "1024 1199"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "1200 10000"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
"DefaultSmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "480 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "13"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "768 1023"
|
||||
"antialias" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "1024 1199"
|
||||
"antialias" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F"
|
||||
"yres" "1200 6000"
|
||||
"antialias" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Arial"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "0"
|
||||
}
|
||||
}
|
||||
"DefaultVerySmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "480 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "13"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "768 1023"
|
||||
"antialias" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1024 1199"
|
||||
"antialias" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "0"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1200 6000"
|
||||
"antialias" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "0"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"name" "Arial"
|
||||
"tall" "11"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "0"
|
||||
}
|
||||
}
|
||||
WeaponIcons
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "64"
|
||||
"tall_hidef" "58"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
WeaponIconsSelected
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "64"
|
||||
"tall_hidef" "58"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"blur" "5"
|
||||
"scanlines" "2"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
WeaponIconsSmall
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
Crosshairs
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "40" [!$OSX]
|
||||
"tall" "41" [$OSX]
|
||||
"weight" "0"
|
||||
"antialias" "0"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
"yres" "1 10000"
|
||||
}
|
||||
}
|
||||
QuickInfo
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "HL2cross"
|
||||
"tall" "57"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "HL2cross"
|
||||
"tall" "28" [!$OSX]
|
||||
"tall" "50" [$OSX]
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1" [!$OSX]
|
||||
}
|
||||
}
|
||||
HudNumbers
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32" [$WIN32]
|
||||
"tall" "38" [$X360]
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
SquadIcon [$X360]
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "50"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
HudNumbersGlow
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32" [$WIN32]
|
||||
"tall" "38" [$X360]
|
||||
"weight" "0"
|
||||
"blur" "4"
|
||||
"scanlines" "2"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
HudNumbersSmall
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2" [!$OSX]
|
||||
"name" "Helvetica Bold" [$OSX]
|
||||
"tall" "16" [$WIN32]
|
||||
"tall" "22" [$X360]
|
||||
"weight" "1000"
|
||||
"additive" "1"
|
||||
"antialias" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
HudSelectionNumbers
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "11"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HudHintTextLarge
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"bitmap" "1"
|
||||
"name" "Buttons"
|
||||
"scalex" "1.0"
|
||||
"scaley" "1.0"
|
||||
}
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Verdana" [!$OSX]
|
||||
"name" "Helvetica Bold" [$OSX]
|
||||
"tall" "14"
|
||||
"weight" "1000"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HudHintTextSmall
|
||||
{
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Verdana" [!$OSX]
|
||||
"name" "Helvetica" [$OSX]
|
||||
"tall" "11"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HudSelectionText
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "8"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "1 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "10"
|
||||
"weight" "700"
|
||||
"antialias" "1"
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "768 1023"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "16"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"yres" "1024 1199"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "17"
|
||||
"weight" "1000"
|
||||
"antialias" "1"
|
||||
"yres" "1200 10000"
|
||||
}
|
||||
}
|
||||
GameUIButtons
|
||||
{
|
||||
"1" [$X360]
|
||||
{
|
||||
"bitmap" "1"
|
||||
"name" "Buttons"
|
||||
"scalex" "0.63"
|
||||
"scaley" "0.63"
|
||||
"scalex_hidef" "1.0"
|
||||
"scaley_hidef" "1.0"
|
||||
}
|
||||
}
|
||||
BudgetLabel
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"outline" "1"
|
||||
}
|
||||
}
|
||||
DebugOverlay
|
||||
{
|
||||
"1" [$WIN32]
|
||||
{
|
||||
"name" "Courier New"
|
||||
"tall" "14"
|
||||
"weight" "400"
|
||||
"outline" "1"
|
||||
}
|
||||
"1" [$X360]
|
||||
{
|
||||
"name" "Tahoma"
|
||||
"tall" "18"
|
||||
"weight" "200"
|
||||
"outline" "1"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Normal"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "500"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Italic"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana Italic" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "500"
|
||||
"italic" "1"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Bold"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana Bold" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "900"
|
||||
}
|
||||
}
|
||||
"CloseCaption_BoldItalic"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana Bold Italic" [$OSX]
|
||||
"tall" "26" [!$OSX]
|
||||
"tall" "24" [$OSX]
|
||||
"weight" "900"
|
||||
"italic" "1"
|
||||
}
|
||||
}
|
||||
"CloseCaption_Small"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Tahoma" [!$OSX]
|
||||
"name" "Verdana" [$OSX]
|
||||
"tall" "16" [!$OSX]
|
||||
"tall" "14" [$OSX]
|
||||
"tall_hidef" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
// this is the symbol font
|
||||
"Marlett"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Marlett"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
"symbol" "1"
|
||||
}
|
||||
}
|
||||
"Trebuchet24"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x007F" // Basic Latin
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
"Trebuchet18"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "18"
|
||||
"weight" "900"
|
||||
}
|
||||
}
|
||||
ClientTitleFont
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "32"
|
||||
"tall_hidef" "46"
|
||||
"weight" "0"
|
||||
"additive" "0"
|
||||
"antialias" "1"
|
||||
"custom" "1" [$OSX]
|
||||
}
|
||||
}
|
||||
CreditsLogo
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "128"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
CreditsText
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "20"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
CreditsOutroLogos
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "HalfLife2"
|
||||
"tall" "48"
|
||||
"weight" "0"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
"custom" "1"
|
||||
}
|
||||
}
|
||||
CreditsOutroText
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana" [!$OSX]
|
||||
"name" "Courier Bold" [$OSX]
|
||||
"tall" "9"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
CenterPrintText
|
||||
{
|
||||
// note that this scales with the screen resolution
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS" [!$OSX]
|
||||
"name" "Helvetica" [$OSX]
|
||||
"tall" "18"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
HDRDemoText
|
||||
{
|
||||
// note that this scales with the screen resolution
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
"additive" "1"
|
||||
}
|
||||
}
|
||||
"AchievementNotification"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Trebuchet MS"
|
||||
"tall" "14"
|
||||
"weight" "900"
|
||||
"antialias" "1"
|
||||
}
|
||||
}
|
||||
"CommentaryDefault"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "480 599"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "13" [$WIN32]
|
||||
"tall" "20" [$X360]
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "600 767"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "14"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "768 1023"
|
||||
"antialias" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "20"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1024 1199"
|
||||
"antialias" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
"yres" "1200 6000"
|
||||
"antialias" "1"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"name" "Verdana"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "900"
|
||||
}
|
||||
"7"
|
||||
{
|
||||
"name" "Arial"
|
||||
"tall" "12"
|
||||
"range" "0x0000 0x00FF"
|
||||
"weight" "800"
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//////////////////////// CUSTOM FONT FILES /////////////////////////////
|
||||
//
|
||||
// specifies all the custom (non-system) font files that need to be loaded to service the above described fonts
|
||||
CustomFontFiles
|
||||
{
|
||||
"1" "resource/HALFLIFE2.ttf"
|
||||
"2" "resource/HL2crosshairs.ttf"
|
||||
}
|
||||
|
||||
}
|
||||
BIN
sp/game/mod_hl2/resource/HL2EP2.ttf
Normal file
BIN
sp/game/mod_hl2/resource/HL2EP2.ttf
Normal file
Binary file not shown.
BIN
sp/game/mod_hl2/resource/mod_hl2_english.txt
Normal file
BIN
sp/game/mod_hl2/resource/mod_hl2_english.txt
Normal file
Binary file not shown.
19
sp/game/mod_hl2/scripts/ChapterBackgrounds.txt
Normal file
19
sp/game/mod_hl2/scripts/ChapterBackgrounds.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
"chapters"
|
||||
{
|
||||
1 "background01"
|
||||
2 "background01"
|
||||
3 "background02"
|
||||
4 "background02"
|
||||
5 "background03"
|
||||
6 "background03"
|
||||
7 "background04"
|
||||
8 "background04"
|
||||
9 "background05"
|
||||
9a "background05"
|
||||
10 "background06"
|
||||
11 "background06"
|
||||
12 "background07"
|
||||
13 "background07"
|
||||
14 "background07"
|
||||
15 "background07"
|
||||
}
|
||||
699
sp/game/mod_hl2/scripts/HudLayout.res
Normal file
699
sp/game/mod_hl2/scripts/HudLayout.res
Normal file
@@ -0,0 +1,699 @@
|
||||
"Resource/HudLayout.res"
|
||||
{
|
||||
HudHealth [$WIN32]
|
||||
{
|
||||
"fieldName" "HudHealth"
|
||||
"xpos" "16"
|
||||
"ypos" "432"
|
||||
"wide" "102"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "20"
|
||||
"digit_xpos" "50"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
HudHealth [$X360]
|
||||
{
|
||||
"fieldName" "HudHealth"
|
||||
"xpos" "48"
|
||||
"ypos" "416"
|
||||
"wide" "115"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "18"
|
||||
"digit_xpos" "60"
|
||||
"digit_ypos" "-1"
|
||||
}
|
||||
|
||||
HudSuit [$WIN32]
|
||||
{
|
||||
"fieldName" "HudSuit"
|
||||
"xpos" "140"
|
||||
"ypos" "432"
|
||||
"wide" "108"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "20"
|
||||
"digit_xpos" "50"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
HudSuit [$X360]
|
||||
{
|
||||
"fieldName" "HudSuit"
|
||||
"xpos" "176"
|
||||
"ypos" "416"
|
||||
"wide" "117"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "18"
|
||||
"digit_xpos" "50"
|
||||
"digit_ypos" "-1"
|
||||
}
|
||||
|
||||
HudAmmo [$WIN32]
|
||||
{
|
||||
"fieldName" "HudAmmo"
|
||||
"xpos" "r150"
|
||||
"ypos" "432"
|
||||
"wide" "136"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "20"
|
||||
"digit_xpos" "44"
|
||||
"digit_ypos" "2"
|
||||
"digit2_xpos" "98"
|
||||
"digit2_ypos" "16"
|
||||
}
|
||||
HudAmmo [$X360]
|
||||
{
|
||||
"fieldName" "HudAmmo"
|
||||
"xpos" "r208"
|
||||
"ypos" "416"
|
||||
"wide" "160"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "18"
|
||||
"digit_xpos" "60"
|
||||
"digit_ypos" "-1"
|
||||
"digit2_xpos" "120"
|
||||
"digit2_ypos" "14"
|
||||
}
|
||||
|
||||
HudAmmoSecondary [$WIN32]
|
||||
{
|
||||
"fieldName" "HudAmmoSecondary"
|
||||
"xpos" "r76"
|
||||
"ypos" "432"
|
||||
"wide" "60"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "22"
|
||||
"digit_xpos" "36"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
HudAmmoSecondary [$X360]
|
||||
{
|
||||
"fieldName" "HudAmmoSecondary"
|
||||
"xpos" "r113"
|
||||
"ypos" "416"
|
||||
"wide" "65"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "22"
|
||||
"digit_xpos" "36"
|
||||
"digit_ypos" "-1"
|
||||
}
|
||||
|
||||
HudSuitPower [$WIN32]
|
||||
{
|
||||
"fieldName" "HudSuitPower"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "16"
|
||||
"ypos" "396"
|
||||
"wide" "102"
|
||||
"tall" "26"
|
||||
|
||||
"AuxPowerLowColor" "255 0 0 220"
|
||||
"AuxPowerHighColor" "255 220 0 220"
|
||||
"AuxPowerDisabledAlpha" "70"
|
||||
|
||||
"BarInsetX" "8"
|
||||
"BarInsetY" "15"
|
||||
"BarWidth" "92"
|
||||
"BarHeight" "4"
|
||||
"BarChunkWidth" "6"
|
||||
"BarChunkGap" "3"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "4"
|
||||
"text2_xpos" "8"
|
||||
"text2_ypos" "22"
|
||||
"text2_gap" "10"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
HudSuitPower [$X360]
|
||||
{
|
||||
"fieldName" "HudSuitPower"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "48"
|
||||
"ypos" "370"
|
||||
"wide" "102"
|
||||
"tall" "26"
|
||||
|
||||
"AuxPowerLowColor" "255 100 0 220"
|
||||
"AuxPowerHighColor" "255 220 0 220"
|
||||
"AuxPowerDisabledAlpha" "70"
|
||||
|
||||
"BarInsetX" "8"
|
||||
"BarInsetY" "19"
|
||||
"BarWidth" "92"
|
||||
"BarHeight" "5"
|
||||
"BarChunkWidth" "6"
|
||||
"BarChunkGap" "3"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "4"
|
||||
"text2_xpos" "8"
|
||||
"text2_ypos" "25"
|
||||
"text2_gap" "12"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudPosture [$WIN32]
|
||||
{
|
||||
"fieldName" "HudPosture"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "16"
|
||||
"ypos" "316"
|
||||
"tall" "36"
|
||||
"wide" "36"
|
||||
"font" "WeaponIconsSmall"
|
||||
"icon_xpos" "10"
|
||||
"icon_ypos" "0"
|
||||
}
|
||||
HudPosture [$X360]
|
||||
{
|
||||
"fieldName" "HudPosture"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "48"
|
||||
"ypos" "316"
|
||||
"tall" "36"
|
||||
"wide" "36"
|
||||
"font" "WeaponIconsSmall"
|
||||
"icon_xpos" "10"
|
||||
"icon_ypos" "2"
|
||||
}
|
||||
|
||||
HudFlashlight
|
||||
{
|
||||
"fieldName" "HudFlashlight"
|
||||
"visible" "1"
|
||||
"PaintBackgroundType" "2"
|
||||
"xpos" "270" [$WIN32]
|
||||
"ypos" "444" [$WIN32]
|
||||
"xpos_hidef" "293" [$X360] // aligned to left
|
||||
"xpos_lodef" "c-18" [$X360] // centered in screen
|
||||
"ypos" "428" [$X360]
|
||||
"tall" "24"
|
||||
"wide" "36"
|
||||
"font" "WeaponIconsSmall"
|
||||
|
||||
"icon_xpos" "4"
|
||||
"icon_ypos" "-8"
|
||||
|
||||
"BarInsetX" "4"
|
||||
"BarInsetY" "18"
|
||||
"BarWidth" "28"
|
||||
"BarHeight" "2"
|
||||
"BarChunkWidth" "2"
|
||||
"BarChunkGap" "1"
|
||||
}
|
||||
HudDamageIndicator
|
||||
{
|
||||
"fieldName" "HudDamageIndicator"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"DmgColorLeft" "255 0 0 0"
|
||||
"DmgColorRight" "255 0 0 0"
|
||||
|
||||
"dmg_xpos" "30"
|
||||
"dmg_ypos" "100"
|
||||
"dmg_wide" "36"
|
||||
"dmg_tall1" "240"
|
||||
"dmg_tall2" "200"
|
||||
}
|
||||
|
||||
HudZoom
|
||||
{
|
||||
"fieldName" "HudZoom"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"Circle1Radius" "66"
|
||||
"Circle2Radius" "74"
|
||||
"DashGap" "16"
|
||||
"DashHeight" "4" [$WIN32]
|
||||
"DashHeight" "6" [$X360]
|
||||
"BorderThickness" "88"
|
||||
}
|
||||
HudWeaponSelection
|
||||
{
|
||||
"fieldName" "HudWeaponSelection"
|
||||
"ypos" "16" [$WIN32]
|
||||
"ypos" "32" [$X360]
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"SmallBoxSize" "32"
|
||||
"MediumBoxWide" "95"
|
||||
"MediumBoxWide_hidef" "78"
|
||||
"MediumBoxTall" "50"
|
||||
"MediumBoxTall_hidef" "50"
|
||||
"MediumBoxWide_lodef" "74"
|
||||
"MediumBoxTall_lodef" "50"
|
||||
"LargeBoxWide" "112"
|
||||
"LargeBoxTall" "80"
|
||||
"BoxGap" "8"
|
||||
"SelectionNumberXPos" "4"
|
||||
"SelectionNumberYPos" "4"
|
||||
"SelectionGrowTime" "0.4"
|
||||
"TextYPos" "64"
|
||||
}
|
||||
|
||||
HudCrosshair
|
||||
{
|
||||
"fieldName" "HudCrosshair"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudDeathNotice
|
||||
{
|
||||
"fieldName" "HudDeathNotice"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudVehicle
|
||||
{
|
||||
"fieldName" "HudVehicle"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
ScorePanel
|
||||
{
|
||||
"fieldName" "ScorePanel"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudTrain
|
||||
{
|
||||
"fieldName" "HudTrain"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudMOTD
|
||||
{
|
||||
"fieldName" "HudMOTD"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudMessage
|
||||
{
|
||||
"fieldName" "HudMessage"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "f0"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudMenu
|
||||
{
|
||||
"fieldName" "HudMenu"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudCloseCaption
|
||||
{
|
||||
"fieldName" "HudCloseCaption"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "c-250"
|
||||
"ypos" "276" [$WIN32]
|
||||
"ypos" "236" [$X360]
|
||||
"wide" "500"
|
||||
"tall" "136" [$WIN32]
|
||||
"tall" "176" [$X360]
|
||||
|
||||
"BgAlpha" "128"
|
||||
|
||||
"GrowTime" "0.25"
|
||||
"ItemHiddenTime" "0.2" // Nearly same as grow time so that the item doesn't start to show until growth is finished
|
||||
"ItemFadeInTime" "0.15" // Once ItemHiddenTime is finished, takes this much longer to fade in
|
||||
"ItemFadeOutTime" "0.3"
|
||||
"topoffset" "0" [$WIN32]
|
||||
"topoffset" "0" [$X360]
|
||||
}
|
||||
|
||||
HudChat
|
||||
{
|
||||
"fieldName" "HudChat"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "4"
|
||||
"tall" "4"
|
||||
}
|
||||
|
||||
HudHistoryResource [$WIN32]
|
||||
{
|
||||
"fieldName" "HudHistoryResource"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r252"
|
||||
"ypos" "40"
|
||||
"wide" "248"
|
||||
"tall" "320"
|
||||
|
||||
"history_gap" "56" [!$OSX]
|
||||
"history_gap" "64" [$OSX]
|
||||
"icon_inset" "38"
|
||||
"text_inset" "36"
|
||||
"text_inset" "26"
|
||||
"NumberFont" "HudNumbersSmall"
|
||||
}
|
||||
HudHistoryResource [$X360]
|
||||
{
|
||||
"fieldName" "HudHistoryResource"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r300"
|
||||
"ypos" "40"
|
||||
"wide" "248"
|
||||
"tall" "240"
|
||||
|
||||
"history_gap" "50"
|
||||
"icon_inset" "38"
|
||||
"text_inset" "36"
|
||||
"NumberFont" "HudNumbersSmall"
|
||||
}
|
||||
|
||||
HudGeiger
|
||||
{
|
||||
"fieldName" "HudGeiger"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HUDQuickInfo
|
||||
{
|
||||
"fieldName" "HUDQuickInfo"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudWeapon
|
||||
{
|
||||
"fieldName" "HudWeapon"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
HudAnimationInfo
|
||||
{
|
||||
"fieldName" "HudAnimationInfo"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudPredictionDump
|
||||
{
|
||||
"fieldName" "HudPredictionDump"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
HudHintDisplay
|
||||
{
|
||||
"fieldName" "HudHintDisplay"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "c-240"
|
||||
"ypos" "c60"
|
||||
"xpos" "r148" [$X360]
|
||||
"ypos" "r338" [$X360]
|
||||
"wide" "480"
|
||||
"tall" "100"
|
||||
"HintSize" "1"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"center_x" "0" // center text horizontally
|
||||
"center_y" "-1" // align text on the bottom
|
||||
"paintbackground" "0"
|
||||
}
|
||||
|
||||
HudHintKeyDisplay
|
||||
{
|
||||
"fieldName" "HudHintKeyDisplay"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "r120" [$WIN32]
|
||||
"ypos" "r340" [$WIN32]
|
||||
"xpos" "r148" [$X360]
|
||||
"ypos" "r338" [$X360]
|
||||
"wide" "100"
|
||||
"tall" "200"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"text_xgap" "8"
|
||||
"text_ygap" "8"
|
||||
"TextColor" "255 170 0 220"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
|
||||
HudSquadStatus [$WIN32]
|
||||
{
|
||||
"fieldName" "HudSquadStatus"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r120"
|
||||
"ypos" "380"
|
||||
"wide" "104"
|
||||
"tall" "46"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "34"
|
||||
"SquadIconColor" "255 220 0 160"
|
||||
"IconInsetX" "8"
|
||||
"IconInsetY" "0"
|
||||
"IconGap" "24"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
HudSquadStatus [$X360]
|
||||
{
|
||||
"fieldName" "HudSquadStatus"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r182"
|
||||
"ypos" "348"
|
||||
"wide" "134"
|
||||
"tall" "62"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "44"
|
||||
"SquadIconColor" "255 220 0 160"
|
||||
"IconInsetX" "8"
|
||||
"IconInsetY" "-4"
|
||||
"IconGap" "24"
|
||||
"IconFont" "SquadIcon"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudPoisonDamageIndicator [$WIN32]
|
||||
{
|
||||
"fieldName" "HudPoisonDamageIndicator"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "16"
|
||||
"ypos" "346"
|
||||
"wide" "136"
|
||||
"tall" "38"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"text_ygap" "14"
|
||||
"TextColor" "255 170 0 220"
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
HudPoisonDamageIndicator [$X360]
|
||||
{
|
||||
"fieldName" "HudPoisonDamageIndicator"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "48"
|
||||
"ypos" "264"
|
||||
"wide" "192"
|
||||
"tall" "46"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "6"
|
||||
"text_ygap" "16"
|
||||
"TextColor" "255 170 0 220"
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudCredits
|
||||
{
|
||||
"fieldName" "HudCredits"
|
||||
"TextFont" "Default"
|
||||
"visible" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
"TextColor" "255 255 255 192"
|
||||
|
||||
}
|
||||
|
||||
HUDAutoAim
|
||||
{
|
||||
"fieldName" "HUDAutoAim"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640" [$WIN32]
|
||||
"tall" "480" [$WIN32]
|
||||
"wide" "960" [$X360]
|
||||
"tall" "720" [$X360]
|
||||
}
|
||||
|
||||
HudCommentary
|
||||
{
|
||||
"fieldName" "HudCommentary"
|
||||
"xpos" "c-190"
|
||||
"ypos" "350"
|
||||
"wide" "380"
|
||||
"tall" "40"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"bar_xpos" "50"
|
||||
"bar_ypos" "20"
|
||||
"bar_height" "8"
|
||||
"bar_width" "320"
|
||||
"speaker_xpos" "50"
|
||||
"speaker_ypos" "8"
|
||||
"count_xpos_from_right" "10" // Counts from the right side
|
||||
"count_ypos" "8"
|
||||
|
||||
"icon_texture" "vgui/hud/icon_commentary"
|
||||
"icon_xpos" "0"
|
||||
"icon_ypos" "0"
|
||||
"icon_width" "40"
|
||||
"icon_height" "40"
|
||||
}
|
||||
|
||||
HudHDRDemo
|
||||
{
|
||||
"fieldName" "HudHDRDemo"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"Alpha" "255"
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"BorderColor" "0 0 0 255"
|
||||
"BorderLeft" "16"
|
||||
"BorderRight" "16"
|
||||
"BorderTop" "16"
|
||||
"BorderBottom" "64"
|
||||
"BorderCenter" "0"
|
||||
|
||||
"TextColor" "255 255 255 255"
|
||||
"LeftTitleY" "422"
|
||||
"RightTitleY" "422"
|
||||
}
|
||||
|
||||
AchievementNotificationPanel
|
||||
{
|
||||
"fieldName" "AchievementNotificationPanel"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "180"
|
||||
"wide" "f10" [$WIN32]
|
||||
"wide" "f60" [$X360]
|
||||
"tall" "100"
|
||||
}
|
||||
|
||||
CHudVote
|
||||
{
|
||||
"fieldName" "CHudVote"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"bgcolor_override" "0 0 0 0"
|
||||
"PaintBackgroundType" "0" // rounded corners
|
||||
}
|
||||
}
|
||||
624
sp/game/mod_hl2/scripts/actbusy.txt
Normal file
624
sp/game/mod_hl2/scripts/actbusy.txt
Normal file
@@ -0,0 +1,624 @@
|
||||
// "act busy name" This is the name that a mapmaker must specify in the hint node.
|
||||
// {
|
||||
// "busy_anim" "Activity Name".
|
||||
// "entry_anim" "Activity Name"
|
||||
// "exit_anim" "Activity Name"
|
||||
// "busy_sequence" "Sequence Name". If specified, this is used over the activity name. Specify it in the hint node.
|
||||
// "entry_sequence" "Sequence Name". If specified, this is used over the entry anim.
|
||||
// "exit_sequence" "Sequence Name". If specified, this is used over the exit anim.
|
||||
// "busy_sound" "Sound Name". If specified, the NPC will play this sound when it plays the busy anim/seq. Can be a GameSound name or a response rules concept.
|
||||
// "entry_sound" "Sound Name". If specified, the NPC will play this sound when it plays the entry anim/seq. Can be a GameSound name or a response rules concept.
|
||||
// "exit_sound" "Sound Name". If specified, the NPC will play this sound when it plays the exit anim/seq. Can be a GameSound name or a response rules concept.
|
||||
// "min_time" "Minimum time to spend in this busy anim"
|
||||
// "max_time" "Maximum time to spend in this busy anim" 0 = only stop when interrupted by external event
|
||||
// "interrupts" One of:
|
||||
// "BA_INT_NONE" break out only when time runs out. No external influence will break me out.
|
||||
// "BA_INT_DANGER" break out of this anim only if threatened
|
||||
// "BA_INT_PLAYER" break out of this anim if I can see the player, or I'm threatened
|
||||
// "BA_INT_AMBUSH" someone please define this - I have no idea what it does
|
||||
// "BA_INT_COMBAT" break out of this anim if combat occurs in my line of sight (bullet hits, grenades, etc), -OR- the max time is reached
|
||||
// }
|
||||
//
|
||||
//
|
||||
"ActBusy.txt"
|
||||
{
|
||||
"binoculars_idle"
|
||||
{
|
||||
"busy_sequence" "binoculars_idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_PLAYER"
|
||||
}
|
||||
"d2_coast03_PreBattle_Scan_Skies"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Scan_Skies"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Scan_Skies02"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Scan_Skies02"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Scan_Skies03"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Scan_Skies03"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Kneel_Idle"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Kneel_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d2_coast03_PreBattle_Stand_Look"
|
||||
{
|
||||
"busy_sequence" "d2_coast03_PreBattle_Stand_Look"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_alert_01"
|
||||
{
|
||||
"busy_sequence" "idle_alert_01"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_alert_02"
|
||||
{
|
||||
"busy_sequence" "idle_alert_02"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_relaxed_01"
|
||||
{
|
||||
"busy_sequence" "idle_relaxed_01"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"idle_relaxed_02"
|
||||
{
|
||||
"busy_sequence" "idle_relaxed_02"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_town05_Leon_Lean_Table_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_town05_Leon_Lean_Table_Idle"
|
||||
"entry_sequence" "d1_town05_Leon_Lean_Table_Entry"
|
||||
"exit_sequence" "d1_town05_Leon_Lean_Table_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
|
||||
"d1_t03_Sit_couch"
|
||||
{
|
||||
"busy_sequence" "d1_t03_Sit_couch"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_sit_couch_consoling"
|
||||
{
|
||||
"busy_sequence" "d1_t03_sit_couch_consoling"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"fear_reaction_Idle"
|
||||
{
|
||||
"busy_sequence" "fear_reaction_Idle"
|
||||
"entry_sequence" "fear_reaction"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"cower_Idle"
|
||||
{
|
||||
"busy_sequence" "cower_Idle"
|
||||
"entry_sequence" "cower"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_Sit_Bed"
|
||||
{
|
||||
"busy_sequence" "d1_t03_Sit_Bed"
|
||||
"entry_sequence" "d1_t03_Sit_Bed_Entry"
|
||||
"exit_sequence" "d1_t03_Sit_Bed_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"LineIdle01"
|
||||
{
|
||||
"busy_sequence" "LineIdle01"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_WatchBreen"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_WatchBreen"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t02_Plaza_Sit01_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Plaza_Sit01_Idle"
|
||||
"entry_sequence" "Idle_to_d1_t01_BreakRoom_Sit01"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit01_to_Idle"
|
||||
"min_time" "20.0"
|
||||
"max_time" "30.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"d1_t02_Plaza_Sit02"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Plaza_Sit02"
|
||||
"entry_sequence" "d1_t01_BreakRoom_Sit02_Entry"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit02_Exit"
|
||||
"min_time" "20.0"
|
||||
"max_time" "30.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"d1_t02_Playground_Cit2_Pockets"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Playground_Cit2_Pockets"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t02_Playground_Cit1_Arms_Crossed"
|
||||
{
|
||||
"busy_sequence" "d1_t02_Playground_Cit1_Arms_Crossed"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_LookOutDoor"
|
||||
{
|
||||
"busy_sequence" "d1_t03_LookOutDoor"
|
||||
"entry_sequence" "d1_t03_LookOutDoor_Entry"
|
||||
"exit_sequence" "d1_t03_LookOutDoor_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_LookOutWindow"
|
||||
{
|
||||
"busy_sequence" "d1_t03_LookOutWindow"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_Tenements_Look_Out_Window_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t03_Tenements_Look_Out_Window_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t03_PreRaid_Peek_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t03_PreRaid_Peek_Idle"
|
||||
"exit_sequence" "d1_t03_Preraid_Peek_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_Clutch_Chainlink_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t01_Clutch_Chainlink_Idle"
|
||||
"entry_sequence" "d1_t01_Clutch_Chainlink_Entry"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_Sit01_Idle"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_Sit01_Idle"
|
||||
"entry_sequence" "Idle_to_d1_t01_BreakRoom_Sit01"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit01_to_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_Sit02"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_Sit02"
|
||||
"entry_sequence" "d1_t01_BreakRoom_Sit02_Entry"
|
||||
"exit_sequence" "d1_t01_BreakRoom_Sit02_Exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_None"
|
||||
}
|
||||
"d1_t01_BreakRoom_WatchClock_Sit"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_WatchClock_Sit"
|
||||
"entry_sequence" "d1_t01_BreakRoom_WatchClock_Sit_Entry"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"d1_t01_BreakRoom_WatchClock_Sit_MX"
|
||||
{
|
||||
"busy_sequence" "d1_t01_BreakRoom_WatchClock_Sit_MX"
|
||||
"entry_sequence" "d1_t01_BreakRoom_WatchClock_Sit_Entry_MX"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"ACT_BUSY_LEAN_LEFT"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_LEAN_LEFT"
|
||||
"entry_anim" "ACT_BUSY_LEAN_LEFT_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_LEAN_LEFT_EXIT"
|
||||
"min_time" "10.0"
|
||||
"max_time" "20.0"
|
||||
"interrupts" "BA_INT_PLAYER"
|
||||
}
|
||||
"Lean_Left"
|
||||
{
|
||||
"busy_sequence" "Lean_Left"
|
||||
"entry_anim" "ACT_BUSY_LEAN_LEFT_ENTRY"
|
||||
"exit_sequence" "photo_react_startle"
|
||||
"min_time" "0"
|
||||
"max_time" "0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"ACT_BUSY_LEAN_BACK"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_LEAN_BACK"
|
||||
"entry_anim" "ACT_BUSY_LEAN_BACK_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_LEAN_BACK_EXIT"
|
||||
"min_time" "10.0"
|
||||
"max_time" "20.0"
|
||||
"interrupts" "BA_INT_PLAYER"
|
||||
}
|
||||
"lean_back"
|
||||
{
|
||||
"busy_sequence" "lean_back"
|
||||
"entry_anim" "ACT_BUSY_LEAN_BACK_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_LEAN_BACK_EXIT"
|
||||
"min_time" "0"
|
||||
"max_time" "0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"ACT_BUSY_SIT_GROUND"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_SIT_GROUND"
|
||||
"entry_anim" "ACT_BUSY_SIT_GROUND_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_SIT_GROUND_EXIT"
|
||||
"min_time" "20.0"
|
||||
"max_time" "30.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"ACT_BUSY_SIT_CHAIR"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_SIT_CHAIR"
|
||||
"entry_anim" "ACT_BUSY_SIT_CHAIR_ENTRY"
|
||||
"exit_anim" "ACT_BUSY_SIT_CHAIR_EXIT"
|
||||
"min_time" "30.0"
|
||||
"max_time" "40.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"ACT_BUSY_STAND"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_STAND"
|
||||
"min_time" "10.0"
|
||||
"max_time" "20.0"
|
||||
"interrupts" "BA_INT_DANGER"
|
||||
}
|
||||
"ACT_BUSY_QUEUE"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_QUEUE"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"food_queue_front"
|
||||
{
|
||||
"busy_sequence" "lineIdle01"
|
||||
"exit_sequence" "takepackage"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitcouchfeet1"
|
||||
{ "busy_sequence" "sitcouchfeet1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitcouchknees1"
|
||||
{ "busy_sequence" "sitcouchknees1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitchairtable1"
|
||||
{ "busy_sequence" "sitchairtable1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitcouch1"
|
||||
{ "busy_sequence" "sitcouch1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"sitccouchtv1"
|
||||
{ "busy_sequence" "sitccouchtv1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"laycouch1"
|
||||
{ "busy_sequence" "laycouch1"
|
||||
"exit_sequence" "laycouch1_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"laycouch1"
|
||||
{
|
||||
"busy_sequence" "laycouch1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Sit_Chair02"
|
||||
{
|
||||
"busy_sequence" "Sit_Chair02"
|
||||
"entry_sequence" "Idle_to_Sit_Chair02"
|
||||
"exit_sequence" "Sit_Chair02_to_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Sit_Chair03"
|
||||
{
|
||||
"busy_sequence" "Sit_Chair03"
|
||||
"entry_sequence" "Idle_to_Sit_Chair03"
|
||||
"exit_sequence" "Sit_Chair03_to_Idle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"drinker_sit_idle"
|
||||
{
|
||||
"busy_sequence" "drinker_sit_idle"
|
||||
"entry_sequence" "drinker_sit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"drinker_sit_idle_ss"
|
||||
{
|
||||
"busy_sequence" "drinker_sit_idle_ss"
|
||||
"entry_sequence" "drinker_sit_ss"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"railing_idle"
|
||||
{
|
||||
"busy_sequence" "railing_idle"
|
||||
//"entry_sequence" "railing_enter"
|
||||
"exit_sequence" "railing_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"D1_C01a_Mary_kneel"
|
||||
{
|
||||
"busy_sequence" "canals_mary_postidle"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"D1_C03_Matt_sitground"
|
||||
{
|
||||
"busy_anim" "ACT_BUSY_SIT_GROUND"
|
||||
"entry_anim" "ACT_BUSY_SIT_GROUND_ENTRY"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Cover_R"
|
||||
{
|
||||
"busy_sequence" "Cover_R"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Cover_L"
|
||||
{
|
||||
"busy_sequence" "Cover_L"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Coverlow_R"
|
||||
{
|
||||
"busy_sequence" "Coverlow_R"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
"Coverlow_L"
|
||||
{
|
||||
"busy_sequence" "Coverlow_L"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_NONE"
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//************ Soldier actbusy section *************************************
|
||||
//*****************************************************************************
|
||||
|
||||
|
||||
|
||||
"Cover_crouch"
|
||||
{
|
||||
"busy_sequence" "crouchidle_AB"
|
||||
"exit_sequence" "crouch_to_combat_stand"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Cover_crouch_B"
|
||||
{
|
||||
"busy_sequence" "crouchidle_AB"
|
||||
"exit_sequence" "crouchidle_ABexit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Signal_group"
|
||||
{
|
||||
"busy_sequence" "signal_group"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Idle_Alert"
|
||||
{
|
||||
"busy_sequence" "CombatIdle1"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"Signal_Advance"
|
||||
{
|
||||
"busy_sequence" "CombatIdle1"
|
||||
"exit_sequence" "signal_advance"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Right"
|
||||
{
|
||||
"busy_sequence" "leanwall_right_idle"
|
||||
"exit_sequence" "leanwall_right_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Corner_Right"
|
||||
{
|
||||
"busy_sequence" "leanwall_Corner_right_idle"
|
||||
"exit_sequence" "leanwall_Corner_right_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Left"
|
||||
{
|
||||
"busy_sequence" "leanwall_left_idle"
|
||||
"exit_sequence" "leanwall_left_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_Left_B"
|
||||
{
|
||||
"busy_sequence" "leanwall_left_b_idle"
|
||||
"exit_sequence" "leanwall_left_b_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_A"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_A_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_A_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_B"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_B_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_B_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_C"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_C_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_C_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
"LeanWall_CrouchLeft_D"
|
||||
{
|
||||
"busy_sequence" "leanwall_CrouchLeft_D_idle"
|
||||
"exit_sequence" "leanwall_CrouchLeft_D_exit"
|
||||
"min_time" "0.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_AMBUSH"
|
||||
}
|
||||
|
||||
//*****************************************************************************
|
||||
//************ Metrocop actbusy section ************************************
|
||||
//*****************************************************************************
|
||||
|
||||
"Crouch_idle_pistol_A"
|
||||
{
|
||||
"busy_sequence" "Crouch_idle_pistol"
|
||||
"exit_sequence" "Crouch_to_shootpistol"
|
||||
"min_time" "1.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_COMBAT"
|
||||
}
|
||||
|
||||
"Crouch_idle_smg1_A"
|
||||
{
|
||||
"busy_sequence" "Crouch_idle_smg1"
|
||||
"exit_sequence" "Crouch_to_shootsmg1"
|
||||
"min_time" "1.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_COMBAT"
|
||||
}
|
||||
|
||||
"Idle_harrassidle_A"
|
||||
{
|
||||
"busy_sequence" "harrassidle"
|
||||
"min_time" "1.0"
|
||||
"max_time" "0.0"
|
||||
"interrupts" "BA_INT_COMBAT"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
314
sp/game/mod_hl2/scripts/credits.txt
Normal file
314
sp/game/mod_hl2/scripts/credits.txt
Normal file
@@ -0,0 +1,314 @@
|
||||
//Adrian: This file contains the credits info for both the Intro and outro.
|
||||
"credits.txt"
|
||||
{
|
||||
|
||||
//========================================================
|
||||
//These are the names used in the intro (trainride)
|
||||
//========================================================
|
||||
"IntroCreditsNames"
|
||||
{
|
||||
"V" "WeaponIcons"
|
||||
" " "CreditsText"
|
||||
" " "CreditsText"
|
||||
"Viktor Antonov" "CreditsText"
|
||||
"Ted Backman" "CreditsText"
|
||||
"Kelly Bailey" "CreditsText"
|
||||
"Jeff Ballinger" "CreditsText"
|
||||
"Matt Bamberger" "CreditsText"
|
||||
"Aaron Barber" "CreditsText"
|
||||
"Yahn Bernier" "CreditsText"
|
||||
"Ken Birdwell" "CreditsText"
|
||||
"Derrick Birum" "CreditsText"
|
||||
"Chris Bokitch" "CreditsText"
|
||||
"Steve Bond" "CreditsText"
|
||||
"Matt Boone" "CreditsText"
|
||||
"Charlie Brown" "CreditsText"
|
||||
"Julie Caldwell" "CreditsText"
|
||||
"Dario Casali" "CreditsText"
|
||||
"Yvan Charpentier" "CreditsText"
|
||||
"Jess Cliffe" "CreditsText"
|
||||
"John Cook" "CreditsText"
|
||||
"Greg Coomer" "CreditsText"
|
||||
"Kellie Cosner" "CreditsText"
|
||||
"Scott Dalton" "CreditsText"
|
||||
"Kerry Davis" "CreditsText"
|
||||
"Jason Deakins" "CreditsText"
|
||||
"Ariel Diaz" "CreditsText"
|
||||
"Quintin Doroquez" "CreditsText"
|
||||
"Martha Draves" "CreditsText"
|
||||
"Laura Dubuk" "CreditsText"
|
||||
"Mike Dunkle" "CreditsText"
|
||||
"Mike Dussault" "CreditsText"
|
||||
"Rick Ellis" "CreditsText"
|
||||
"Dhabih Eng" "CreditsText"
|
||||
"Miles Estes" "CreditsText"
|
||||
"Adrian Finol" "CreditsText"
|
||||
"Bill Fletcher" "CreditsText"
|
||||
"Moby Francke" "CreditsText"
|
||||
"Pat Goodwin" "CreditsText"
|
||||
"Chris Green" "CreditsText"
|
||||
"Chris Grinstead" "CreditsText"
|
||||
"John Guthrie" "CreditsText"
|
||||
"Leslie Hall" "CreditsText"
|
||||
"Damarcus Holbrook" "CreditsText"
|
||||
"Tim Holt" "CreditsText"
|
||||
"Brian Jacobson" "CreditsText"
|
||||
"Erik Johnson" "CreditsText"
|
||||
"Jakob Jungels" "CreditsText"
|
||||
"Iikka Keranen" "CreditsText"
|
||||
"Eric Kirchmer" "CreditsText"
|
||||
"Marc Laidlaw" "CreditsText"
|
||||
"Jeff Lane" "CreditsText"
|
||||
"Tom Leonard" "CreditsText"
|
||||
"Doug Lombardi" "CreditsText"
|
||||
"Randy Lundeen" "CreditsText"
|
||||
"Scott Lynch" "CreditsText"
|
||||
"Ido Magal" "CreditsText"
|
||||
"Gary McTaggart" "CreditsText"
|
||||
"John Morello II" "CreditsText"
|
||||
"Bryn Moslow" "CreditsText"
|
||||
"Gabe Newell" "CreditsText"
|
||||
"Tri Nguyen" "CreditsText"
|
||||
"Jake Nicholson" "CreditsText"
|
||||
"Martin Otten" "CreditsText"
|
||||
"Kristen Perry" "CreditsText"
|
||||
"Bay Raitt" "CreditsText"
|
||||
"Alfred Reynolds" "CreditsText"
|
||||
"Dave Riller" "CreditsText"
|
||||
"Danika Rogers" "CreditsText"
|
||||
"David Sawyer" "CreditsText"
|
||||
"Aaron Seeler" "CreditsText"
|
||||
"Nick Shaffner" "CreditsText"
|
||||
"Taylor Sherman" "CreditsText"
|
||||
"Eric Smith" "CreditsText"
|
||||
"David Speyrer" "CreditsText"
|
||||
"Jay Stelly" "CreditsText"
|
||||
"Jeremy Stone" "CreditsText"
|
||||
"Mikel Thompson" "CreditsText"
|
||||
"Kelly Thornton" "CreditsText"
|
||||
"Carl Uhlman" "CreditsText"
|
||||
"Bill Van Buren" "CreditsText"
|
||||
"KayLee Vogt" "CreditsText"
|
||||
"Robin Walker" "CreditsText"
|
||||
"Josh Weier" "CreditsText"
|
||||
"Doug Wood" "CreditsText"
|
||||
"Matt T Wood" "CreditsText"
|
||||
"Matt Wright" "CreditsText"
|
||||
}
|
||||
|
||||
"CreditsParams"
|
||||
{
|
||||
"logo" "HALF-LIFE'"
|
||||
|
||||
"fadeintime" "2.5"
|
||||
"fadeouttime" "1"
|
||||
"fadeholdtime" "1.0"
|
||||
"nextfadetime" "1.0"
|
||||
"pausebetweenwaves" "1.0"
|
||||
"logotime" "1.0"
|
||||
"posx" "96"
|
||||
"posy" "360"
|
||||
|
||||
"color" "255 255 255 128"
|
||||
|
||||
//Outro Parameters
|
||||
"scrolltime" "158"
|
||||
"separation" "10"
|
||||
}
|
||||
|
||||
//========================================================
|
||||
//These are the names used in the outro (breen_01)
|
||||
//========================================================
|
||||
"OutroCreditsNames"
|
||||
{
|
||||
"HALF-LIFE'" "CreditsOutroLogos"
|
||||
" " "CreditsOutroText"
|
||||
"V" "CreditsOutroLogos"
|
||||
" " "CreditsOutroText"
|
||||
"Viktor Antonov" "CreditsOutroText"
|
||||
"Ted Backman" "CreditsOutroText"
|
||||
"Kelly Bailey" "CreditsOutroText"
|
||||
"Jeff Ballinger" "CreditsOutroText"
|
||||
"Matt Bamberger" "CreditsOutroText"
|
||||
"Aaron Barber" "CreditsOutroText"
|
||||
"Yahn Bernier" "CreditsOutroText"
|
||||
"Ken Birdwell" "CreditsOutroText"
|
||||
"Derrick Birum" "CreditsOutroText"
|
||||
"Chris Bokitch" "CreditsOutroText"
|
||||
"Steve Bond" "CreditsOutroText"
|
||||
"Matt Boone" "CreditsOutroText"
|
||||
"Charlie Brown" "CreditsOutroText"
|
||||
"Julie Caldwell" "CreditsOutroText"
|
||||
"Dario Casali" "CreditsOutroText"
|
||||
"Yvan Charpentier" "CreditsOutroText"
|
||||
"Jess Cliffe" "CreditsOutroText"
|
||||
"John Cook" "CreditsOutroText"
|
||||
"Greg Coomer" "CreditsOutroText"
|
||||
"Kellie Cosner" "CreditsOutroText"
|
||||
"Scott Dalton" "CreditsOutroText"
|
||||
"Kerry Davis" "CreditsOutroText"
|
||||
"Jason Deakins" "CreditsOutroText"
|
||||
"Ariel Diaz" "CreditsOutroText"
|
||||
"Quintin Doroquez" "CreditsOutroText"
|
||||
"Martha Draves" "CreditsOutroText"
|
||||
"Laura Dubuk" "CreditsOutroText"
|
||||
"Mike Dunkle" "CreditsOutroText"
|
||||
"Mike Dussault" "CreditsOutroText"
|
||||
"Rick Ellis" "CreditsOutroText"
|
||||
"Dhabih Eng" "CreditsOutroText"
|
||||
"Miles Estes" "CreditsOutroText"
|
||||
"Adrian Finol" "CreditsOutroText"
|
||||
"Bill Fletcher" "CreditsOutroText"
|
||||
"Moby Francke" "CreditsOutroText"
|
||||
"Pat Goodwin" "CreditsOutroText"
|
||||
"Chris Green" "CreditsOutroText"
|
||||
"Chris Grinstead" "CreditsOutroText"
|
||||
"John Guthrie" "CreditsOutroText"
|
||||
"Leslie Hall" "CreditsOutroText"
|
||||
"Damarcus Holbrook" "CreditsOutroText"
|
||||
"Tim Holt" "CreditsOutroText"
|
||||
"Brian Jacobson" "CreditsOutroText"
|
||||
"Erik Johnson" "CreditsOutroText"
|
||||
"Jakob Jungels" "CreditsOutroText"
|
||||
"Iikka Keranen" "CreditsOutroText"
|
||||
"Eric Kirchmer" "CreditsOutroText"
|
||||
"Marc Laidlaw" "CreditsOutroText"
|
||||
"Jeff Lane" "CreditsOutroText"
|
||||
"Tom Leonard" "CreditsOutroText"
|
||||
"Doug Lombardi" "CreditsOutroText"
|
||||
"Randy Lundeen" "CreditsOutroText"
|
||||
"Scott Lynch" "CreditsOutroText"
|
||||
"Ido Magal" "CreditsOutroText"
|
||||
"Gary McTaggart" "CreditsOutroText"
|
||||
"John Morello II" "CreditsOutroText"
|
||||
"Bryn Moslow" "CreditsOutroText"
|
||||
"Gabe Newell" "CreditsOutroText"
|
||||
"Tri Nguyen" "CreditsOutroText"
|
||||
"Jake Nicholson" "CreditsOutroText"
|
||||
"Martin Otten" "CreditsOutroText"
|
||||
"Kristen Perry" "CreditsOutroText"
|
||||
"Bay Raitt" "CreditsOutroText"
|
||||
"Alfred Reynolds" "CreditsOutroText"
|
||||
"Dave Riller" "CreditsOutroText"
|
||||
"Danika Rogers" "CreditsOutroText"
|
||||
"David Sawyer" "CreditsOutroText"
|
||||
"Aaron Seeler" "CreditsOutroText"
|
||||
"Nick Shaffner" "CreditsOutroText"
|
||||
"Taylor Sherman" "CreditsOutroText"
|
||||
"Eric Smith" "CreditsOutroText"
|
||||
"David Speyrer" "CreditsOutroText"
|
||||
"Jay Stelly" "CreditsOutroText"
|
||||
"Jeremy Stone" "CreditsOutroText"
|
||||
"Mikel Thompson" "CreditsOutroText"
|
||||
"Kelly Thornton" "CreditsOutroText"
|
||||
"Carl Uhlman" "CreditsOutroText"
|
||||
"Bill Van Buren" "CreditsOutroText"
|
||||
"KayLee Vogt" "CreditsOutroText"
|
||||
"Robin Walker" "CreditsOutroText"
|
||||
"Josh Weier" "CreditsOutroText"
|
||||
"Doug Wood" "CreditsOutroText"
|
||||
"Matt T. Wood" "CreditsOutroText"
|
||||
"Matt Wright" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voices:" "CreditsOutroText"
|
||||
"Robert Guillaume - Dr. Eli Vance" "CreditsOutroText"
|
||||
"Robert Culp - Dr. Wallace Breen" "CreditsOutroText"
|
||||
"Lou Gossett, Jr. - Vortigaunt" "CreditsOutroText"
|
||||
"Michelle Forbes - Dr. Judith Mossman" "CreditsOutroText"
|
||||
"Merle Dandridge - Alyx Vance" "CreditsOutroText"
|
||||
"Mike Shapiro - Barney Calhoun" "CreditsOutroText"
|
||||
"Mike Shapiro - Gman" "CreditsOutroText"
|
||||
"Harry S. Robins - Dr. Isaac Kleiner" "CreditsOutroText"
|
||||
"Jim French - Father Grigori" "CreditsOutroText"
|
||||
"John Patrick Lowrie - Citizens\Misc. characters" "CreditsOutroText"
|
||||
"Mary Kae Irvin - Citizens\Misc. characters" "CreditsOutroText"
|
||||
"Ellen McLain - Overwatch" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voice Casting:" "CreditsOutroText"
|
||||
"Shana Landsburg\Teri Fiddleman" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voice Recording:" "CreditsOutroText"
|
||||
"Pure Audio, Seattle, WA" "CreditsOutroText"
|
||||
"LA Studios, LA, CA" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Voice recording scheduling and logistics:" "CreditsOutroText"
|
||||
"Pat Cockburn, Pure Audio" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Translations:" "CreditsOutroText"
|
||||
"SDL" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Crack Legal Team:" "CreditsOutroText"
|
||||
"Liam Lavery" "CreditsOutroText"
|
||||
"Jason Holtman" "CreditsOutroText"
|
||||
"Karl Quackenbush" "CreditsOutroText"
|
||||
"Kristen Boraas" "CreditsOutroText"
|
||||
"Kevin Rosenfield" "CreditsOutroText"
|
||||
"Alan Bruggeman" "CreditsOutroText"
|
||||
"Dennis Tessier" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Thanks to the following for the use of their faces:" "CreditsOutroText"
|
||||
"Jamil Mullen" "CreditsOutroText"
|
||||
"Art Min" "CreditsOutroText"
|
||||
"Larry 'The Count' Heard" "CreditsOutroText"
|
||||
"Ted Cohrt" "CreditsOutroText"
|
||||
"Roger Guay" "CreditsOutroText"
|
||||
"Frank Sheldon" "CreditsOutroText"
|
||||
"Travis Dunlop" "CreditsOutroText"
|
||||
"Daniel Dociu" "CreditsOutroText"
|
||||
"Van Crowder" "CreditsOutroText"
|
||||
"Joey Paresa" "CreditsOutroText"
|
||||
"Chau Luu" "CreditsOutroText"
|
||||
"Kim Harris-Jones" "CreditsOutroText"
|
||||
"Michael S. Smith" "CreditsOutroText"
|
||||
"Joe Cairo" "CreditsOutroText"
|
||||
"Naomi Cotton" "CreditsOutroText"
|
||||
"Sandro Consi" "CreditsOutroText"
|
||||
"Lakeetra Gilbert" "CreditsOutroText"
|
||||
"Erdin Grcic" "CreditsOutroText"
|
||||
"Kanisha Speyrer" "CreditsOutroText"
|
||||
"Warren Slough" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"Special thanks to everyone at:" "CreditsOutroText"
|
||||
"Alienware" "CreditsOutroText"
|
||||
"ATI" "CreditsOutroText"
|
||||
"Dell" "CreditsOutroText"
|
||||
"Falcon Northwest" "CreditsOutroText"
|
||||
"Havok" "CreditsOutroText"
|
||||
"SOFTIMAGE" "CreditsOutroText"
|
||||
"and Don Kemmis, SLK Technologies" "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
" " "CreditsOutroText"
|
||||
"v" "CreditsOutroText"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
124
sp/game/mod_hl2/scripts/hud_textures.txt
Normal file
124
sp/game/mod_hl2/scripts/hud_textures.txt
Normal file
@@ -0,0 +1,124 @@
|
||||
"sprites/640_hud"
|
||||
{
|
||||
TextureData
|
||||
{
|
||||
"arrow" [$WIN32]
|
||||
{
|
||||
"file" "sprites/arrow"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"autoaim_c" [$WIN32]
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "96"
|
||||
"y" "0"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"item_battery" [$WIN32]
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "*"
|
||||
}
|
||||
"item_healthkit" [$WIN32]
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "+"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"file" "sprites/qi_center"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "40"
|
||||
"height" "40"
|
||||
}
|
||||
"crosshair_left"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "("
|
||||
}
|
||||
"crosshair_right"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" ")"
|
||||
}
|
||||
"crosshair_left_full"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "["
|
||||
}
|
||||
"crosshair_right_full"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "]"
|
||||
}
|
||||
"crosshair_left_empty"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "{"
|
||||
}
|
||||
"crosshair_right_empty"
|
||||
{
|
||||
"font" "QuickInfo"
|
||||
"character" "}"
|
||||
}
|
||||
"crosshair_default"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"crosshair_xbox"
|
||||
{
|
||||
"file" "vgui/hud/xbox_reticle"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "64"
|
||||
"height" "64"
|
||||
}
|
||||
"viewhair"
|
||||
{
|
||||
"file" "sprites/hud/v_crosshair2"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"gunhair"
|
||||
{
|
||||
"file" "sprites/hud/v_crosshair1"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"plushair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
|
||||
"ico_friend_indicator"
|
||||
{
|
||||
"file" "vgui/ico_friend_indicator_alone"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"ico_friend_indicator_avatar"
|
||||
{
|
||||
"file" "vgui/ico_friend_indicator_scoreboard"
|
||||
"x" "-1"
|
||||
"y" "-1"
|
||||
"width" "57"
|
||||
"height" "36"
|
||||
}
|
||||
}
|
||||
}
|
||||
2332
sp/game/mod_hl2/scripts/npc_sounds_vortigaunt.txt
Normal file
2332
sp/game/mod_hl2/scripts/npc_sounds_vortigaunt.txt
Normal file
File diff suppressed because it is too large
Load Diff
491
sp/game/mod_hl2/scripts/propdata.txt
Normal file
491
sp/game/mod_hl2/scripts/propdata.txt
Normal file
@@ -0,0 +1,491 @@
|
||||
// "prop data name"
|
||||
// {
|
||||
// "property" "value"
|
||||
// ...
|
||||
// }
|
||||
//
|
||||
//
|
||||
// "base" : Specify a base propdata class to derive from (base types can be found in propdata.txt)
|
||||
//
|
||||
// "blockLOS" : Override whether this prop should block NPC's Line-Of-Sight.
|
||||
// "AIWalkable" : Override whether AI should consider this prop as walkable on.
|
||||
// "dmg.bullets" : Mod damage done by bullets to this prop.
|
||||
// "dmg.club" : Mod damage done by clubs to this prop.
|
||||
// "dmg.explosive" : Mod damage done by explosives to this prop.
|
||||
// NOTE: Use damage modifiers to reflect differences between the amount of
|
||||
// damage that an object takes from different damage types. Don't
|
||||
// use them to reflect overall damage strength. i.e. Stone is resilient
|
||||
// to everything. To reflect this, increase the health of all stone
|
||||
// objects, don't set the damage modifiers lower.
|
||||
//
|
||||
// "damage_table" : Specify a custom physics impact damage table for this prop.
|
||||
// "health" : Amount of damage this prop should take before breaking.
|
||||
//
|
||||
// "explosive_damage" : Explosive damage done by this prop.
|
||||
// "explosive_radius" : Radius of the explosion caused by this prop when it breaks.
|
||||
// NOTE: If these two fields are specified for a prop, then the prop will automatically
|
||||
// create an explosion with the specified values when the prop is broken.
|
||||
//
|
||||
// "breakable_model" : The type of breakable gibs this prop should break into. This list is at the bottom of this file.
|
||||
// "breakable_count" : The number of breakable gibs to break into.
|
||||
// "allowstatic" : Allow this prop to be static as well as physically simulated.
|
||||
//
|
||||
//
|
||||
"PropData.txt"
|
||||
{
|
||||
|
||||
//=================================================================================
|
||||
// PAPER
|
||||
//=================================================================================
|
||||
// Base damage modifiers for paper objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Cardboard.Base"
|
||||
{
|
||||
"dmg.bullets" "0.5"
|
||||
"dmg.club" "1.25"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Cardboard / Paper blocks, less than 1 foot cubed.
|
||||
// i.e. small cardboard boxes, notepads, newspapers, thin books.
|
||||
"Cardboard.Small"
|
||||
{
|
||||
"base" "Cardboard.Base"
|
||||
"health" "10"
|
||||
}
|
||||
|
||||
// Cardboard / Paper blocks, less than 3 foot cubed.
|
||||
// i.e. cardboard boxes. thick books
|
||||
"Cardboard.Medium"
|
||||
{
|
||||
"base" "Cardboard.Base"
|
||||
"health" "20"
|
||||
}
|
||||
|
||||
// Large Cardboard / Paper blocks
|
||||
// i.e. solid cardboard boxes
|
||||
"Cardboard.Large"
|
||||
{
|
||||
"base" "Cardboard.Base"
|
||||
"health" "40"
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// CLOTH
|
||||
//=================================================================================
|
||||
// Base damage modifiers for cloth objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Cloth.Base"
|
||||
{
|
||||
"dmg.bullets" "0.5"
|
||||
"dmg.club" "0.75"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Small / thin cloth objects
|
||||
// i.e. shorts, shirts, pants.
|
||||
"Cloth.Small"
|
||||
{
|
||||
"base" "Cloth.Base"
|
||||
"health" "30"
|
||||
}
|
||||
|
||||
// Heavier cloth / leather objects
|
||||
// i.e. briefcases
|
||||
"Cloth.Medium"
|
||||
{
|
||||
"base" "Cloth.Base"
|
||||
"health" "50"
|
||||
}
|
||||
|
||||
// Large / thick cloth objects
|
||||
// i.e. armchairs, mattresses
|
||||
"Cloth.Large"
|
||||
{
|
||||
"base" "Cloth.Base"
|
||||
"health" "100"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// WOOD
|
||||
//=================================================================================
|
||||
// Base damage modifiers for wooden objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Wooden.Base"
|
||||
{
|
||||
"dmg.bullets" "0.75"
|
||||
"dmg.club" "2.0"
|
||||
"dmg.explosive" "1.5"
|
||||
|
||||
"breakable_model" "WoodChunks"
|
||||
"breakable_skin" "0"
|
||||
}
|
||||
|
||||
// Tiny Wooden pieces that should die in one hit
|
||||
// i.e splinters
|
||||
"Wooden.Tiny"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "6"
|
||||
|
||||
"breakable_count" "0"
|
||||
}
|
||||
|
||||
// Wooden blocks, less than 1 foot cubed.
|
||||
// i.e pieces of board, branches.
|
||||
"Wooden.Small"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "20"
|
||||
|
||||
"breakable_count" "2"
|
||||
}
|
||||
|
||||
// Wooden blocks, less than 3 foot cubed.
|
||||
// i.e boards, small crates, pallettes, ladders, chairs.
|
||||
"Wooden.Medium"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "30"
|
||||
|
||||
"breakable_count" "4"
|
||||
}
|
||||
|
||||
// Large wooden blocks, less than 5 foot cubed.
|
||||
// i.e Crates, benches.
|
||||
"Wooden.Large"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "50"
|
||||
|
||||
"breakable_count" "6"
|
||||
}
|
||||
|
||||
// Extra large wooden objects
|
||||
// i.e posts
|
||||
"Wooden.ExtraLarge"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "100"
|
||||
|
||||
"breakable_count" "8"
|
||||
}
|
||||
|
||||
// Huge wooden objects.
|
||||
// i.e Big Wardrobes, bookcases
|
||||
"Wooden.Huge"
|
||||
{
|
||||
"base" "Wooden.Base"
|
||||
"health" "130"
|
||||
|
||||
"breakable_count" "10"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// STONE
|
||||
//=================================================================================
|
||||
// Base damage modifiers for stone objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Stone.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
}
|
||||
|
||||
// Stone blocks, less than 1 foot cubed
|
||||
// i.e. cinderblocks, small rocks.
|
||||
"Stone.Small"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "50"
|
||||
}
|
||||
|
||||
// Medium stone blocks, less than 3 foot cubed
|
||||
// i.e. rubble chunks
|
||||
"Stone.Medium"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "100"
|
||||
}
|
||||
|
||||
// Large stone blocks, less than 5 foot cubed
|
||||
// i.e. big rubble chunks
|
||||
"Stone.Large"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "200"
|
||||
}
|
||||
|
||||
// Huge stone blocks, less than 5 foot cubed
|
||||
// i.e. enormous rubble chunks
|
||||
"Stone.Huge"
|
||||
{
|
||||
"base" "Stone.Base"
|
||||
"health" "400"
|
||||
}
|
||||
|
||||
//=================================================================================
|
||||
// GLASS
|
||||
//=================================================================================
|
||||
// Base damage modifiers for glass objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Glass.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "0.1" // Trial: Get knocked around more than destroyed?
|
||||
}
|
||||
|
||||
// Glass blocks, less than 1 foot cubed
|
||||
// i.e. bottles, jugs, glasses.
|
||||
"Glass.Small"
|
||||
{
|
||||
"base" "Glass.Base"
|
||||
"health" "5"
|
||||
"damage_table" "glass"
|
||||
}
|
||||
|
||||
"Glass.Window"
|
||||
{
|
||||
"base" "Glass.Base"
|
||||
"dmg.explosive" "1.0" // Override base glass explosive behavior
|
||||
"dmg.bullets" "0.5"
|
||||
"health" "15"
|
||||
"damage_table" "glass"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// METAL
|
||||
//=================================================================================
|
||||
// Base damage modifiers for metal objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Metal.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
|
||||
"health" "0" // By default, metal objects aren't breakable
|
||||
}
|
||||
|
||||
// Small metal blocks, less than 1 foot cubed
|
||||
// i.e. tin cans, paint tins, metal buckets.
|
||||
"Metal.Small"
|
||||
{
|
||||
"base" "Metal.Base"
|
||||
}
|
||||
|
||||
// Medium metal objects.
|
||||
// i.e. wheelbarrows, metal boxes, bicycles, barrels, ladders, filing cabinets.
|
||||
"Metal.Medium"
|
||||
{
|
||||
"base" "Metal.Base"
|
||||
}
|
||||
|
||||
// Large metal objects.
|
||||
// i.e. ibeams, dumpsters, car bodies, refridgerators
|
||||
"Metal.Large"
|
||||
{
|
||||
"base" "Metal.Base"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// PLASTIC
|
||||
//=================================================================================
|
||||
// Base damage modifiers for plastic objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Plastic.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
"health" "0"
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 2 foot cubed
|
||||
// i.e. plastic cups, plastic milk crates, phones
|
||||
"Plastic.Small"
|
||||
{
|
||||
"base" "Plastic.Base"
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 4 foot cubed
|
||||
// i.e. plastic chairs, tables, barrels
|
||||
"Plastic.Medium"
|
||||
{
|
||||
"base" "Plastic.Base"
|
||||
}
|
||||
|
||||
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
|
||||
// i.e. computer equipment
|
||||
"Plastic.Large"
|
||||
{
|
||||
"base" "Plastic.Base"
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// ITEMS
|
||||
//=================================================================================
|
||||
// Base damage modifiers for items
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Item.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.0"
|
||||
|
||||
"health" "0" // By default, metal objects aren't breakable
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 2 foot cubed
|
||||
// i.e. plastic cups, plastic milk crates, phones
|
||||
"Item.Small"
|
||||
{
|
||||
"base" "Item.Base"
|
||||
}
|
||||
|
||||
// Plastic blocks, less than 4 foot cubed
|
||||
// i.e. plastic chairs, tables, barrels
|
||||
"Item.Medium"
|
||||
{
|
||||
"base" "Item.Base"
|
||||
}
|
||||
|
||||
// Large Plastic objects, or medium objects with mixes of plastic & metal that you still want destructable
|
||||
// i.e. computer equipment
|
||||
"Item.Large"
|
||||
{
|
||||
"base" "Item.Base"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// POTTERY
|
||||
//=================================================================================
|
||||
// Base damage modifiers for pottery objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Pottery.Base"
|
||||
{
|
||||
"dmg.bullets" "1.0"
|
||||
"dmg.club" "1.25"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Pottery blocks, less than 2 foot cubed
|
||||
// i.e. flowerpots.
|
||||
"Pottery.Small"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "5"
|
||||
"damage_table" "glass"
|
||||
}
|
||||
|
||||
// Medium pottery objects
|
||||
// i.e. large flowerpots.
|
||||
"Pottery.Medium"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "40"
|
||||
}
|
||||
|
||||
// Large pottery objects
|
||||
// i.e. big chunks of wall plaster
|
||||
"Pottery.Large"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "70"
|
||||
}
|
||||
|
||||
// Huge pottery objects.
|
||||
// i.e. big ornate pottery vessels.
|
||||
"Pottery.Huge"
|
||||
{
|
||||
"base" "Pottery.Base"
|
||||
"health" "100"
|
||||
}
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// FLESH
|
||||
//=================================================================================
|
||||
// Base damage modifiers for flesh objects
|
||||
// DON'T USE THIS FOR A PROP. USE THE NON.BASE ONES.
|
||||
"Flesh.Base"
|
||||
{
|
||||
"dmg.bullets" "1.25"
|
||||
"dmg.club" "1.0"
|
||||
"dmg.explosive" "1.5"
|
||||
}
|
||||
|
||||
// Flesh blocks that should die in a single hit
|
||||
// i.e. fruit, food items, gibs.
|
||||
"Flesh.Tiny"
|
||||
{
|
||||
"base" "Flesh.Base"
|
||||
"health" "3"
|
||||
}
|
||||
|
||||
// Flesh blocks, less than 1 foot cubed
|
||||
// i.e. fruit, food items, gibs.
|
||||
"Flesh.Small"
|
||||
{
|
||||
"base" "Flesh.Base"
|
||||
"health" "10"
|
||||
}
|
||||
|
||||
|
||||
|
||||
//=================================================================================
|
||||
// BREAKABLE DATA. NOT PROPDATA TYPES.
|
||||
//=================================================================================
|
||||
"BreakableModels"
|
||||
{
|
||||
// Sorted in order of smallest to largest
|
||||
|
||||
"WoodChunks"
|
||||
{
|
||||
"models\Gibs\wood_gib01e.mdl" "1"
|
||||
"models\Gibs\wood_gib01d.mdl" "1"
|
||||
"models\Gibs\wood_gib01c.mdl" "1"
|
||||
"models\Gibs\wood_gib01b.mdl" "1"
|
||||
"models\Gibs\wood_gib01a.mdl" "1"
|
||||
}
|
||||
"GlassChunks"
|
||||
{
|
||||
"models\Gibs\Glass_shard01.mdl" "1"
|
||||
"models\Gibs\Glass_shard02.mdl" "1"
|
||||
"models\Gibs\Glass_shard03.mdl" "1"
|
||||
"models\Gibs\Glass_shard04.mdl" "1"
|
||||
"models\Gibs\Glass_shard05.mdl" "1"
|
||||
"models\Gibs\Glass_shard06.mdl" "1"
|
||||
}
|
||||
"ConcreteChunks"
|
||||
{
|
||||
"models\props_debris\concrete_chunk08a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk09a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk03a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk07a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk09a.mdl" "1"
|
||||
"models\props_debris\concrete_chunk02a.mdl" "1"
|
||||
}
|
||||
"MetalChunks"
|
||||
{
|
||||
"models\Gibs\metal_gib1.mdl" "1"
|
||||
"models\Gibs\metal_gib2.mdl" "1"
|
||||
"models\Gibs\metal_gib3.mdl" "1"
|
||||
"models\Gibs\metal_gib4.mdl" "1"
|
||||
"models\Gibs\metal_gib5.mdl" "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
16
sp/game/mod_hl2/scripts/soundscapes_manifest.txt
Normal file
16
sp/game/mod_hl2/scripts/soundscapes_manifest.txt
Normal file
@@ -0,0 +1,16 @@
|
||||
soundscaples_manifest
|
||||
{
|
||||
"file" "scripts/soundscapes.txt"
|
||||
|
||||
// List additional soundscape files here
|
||||
|
||||
"file" "scripts/soundscapes_canals.txt"
|
||||
"file" "scripts/soundscapes_klab.txt"
|
||||
"file" "scripts/soundscapes_elab.txt"
|
||||
"file" "scripts/soundscapes_streetwar.txt"
|
||||
"file" "scripts/soundscapes_citadel.txt"
|
||||
"file" "scripts/soundscapes_town.txt"
|
||||
"file" "scripts/soundscapes_coast.txt"
|
||||
"file" "scripts/soundscapes_prison.txt"
|
||||
"file" "scripts/soundscapes_trainyard.txt"
|
||||
}
|
||||
17
sp/game/mod_hl2/scripts/surfaceproperties_manifest.txt
Normal file
17
sp/game/mod_hl2/scripts/surfaceproperties_manifest.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
// Override this file in your mod directory so you can load the base HL2 file as well
|
||||
// as new properties.
|
||||
// NOTE: Listing a property twice (e.g. in separate files) means that
|
||||
// the values in the second definition will override the first definition
|
||||
|
||||
// NOTE: Each file must have a unique name. The physics system does not understand mods and will not
|
||||
// parse the same file (compared by name) twice.
|
||||
|
||||
surfaceproperties_manifest
|
||||
{
|
||||
"file" "scripts/surfaceproperties.txt"
|
||||
|
||||
// List additional surface property files here:
|
||||
"file" "scripts/surfaceproperties_hl2.txt"
|
||||
|
||||
|
||||
}
|
||||
120
sp/game/mod_hl2/scripts/talker/npc_alyx.txt
Normal file
120
sp/game/mod_hl2/scripts/talker/npc_alyx.txt
Normal file
@@ -0,0 +1,120 @@
|
||||
//============================================================================================================
|
||||
// Alyx criteria
|
||||
criterion "IsAlyx" "classname" "npc_alyx" "required"
|
||||
//============================================================================================================
|
||||
|
||||
//============================================================================================================
|
||||
// Alyx Combat speech
|
||||
//============================================================================================================
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
response "AlyxDanger"
|
||||
{
|
||||
scene "scenes/npc/Alyx/getback01.vcd"
|
||||
scene "scenes/npc/Alyx/getback02.vcd"
|
||||
scene "scenes/npc/Alyx/getdown01.vcd"
|
||||
scene "scenes/npc/Alyx/watchout01.vcd"
|
||||
scene "scenes/npc/Alyx/watchout02.vcd"
|
||||
}
|
||||
rule AlyxDanger
|
||||
{
|
||||
criteria IsAlyx ConceptTalkDanger
|
||||
response AlyxDanger
|
||||
}
|
||||
|
||||
response AlyxShot
|
||||
{
|
||||
scene "scenes/npc/Alyx/gasp02.vcd"
|
||||
scene "scenes/npc/Alyx/gasp03.vcd"
|
||||
scene "scenes/npc/Alyx/hurt04.vcd"
|
||||
scene "scenes/npc/Alyx/hurt05.vcd"
|
||||
scene "scenes/npc/Alyx/hurt06.vcd"
|
||||
scene "scenes/npc/Alyx/hurt08.vcd"
|
||||
scene "scenes/npc/Alyx/uggh01.vcd"
|
||||
}
|
||||
|
||||
rule AlyxShot
|
||||
{
|
||||
criteria IsAlyx ConceptShot
|
||||
response AlyxShot
|
||||
}
|
||||
|
||||
|
||||
response AlyxEnemyDead
|
||||
{
|
||||
scene "scenes/npc/Alyx/brutal02.vcd" respeakdelay 300
|
||||
}
|
||||
|
||||
rule AlyxEnemyDead
|
||||
{
|
||||
criteria IsAlyx ConceptEnemyDead
|
||||
response AlyxEnemyDead
|
||||
}
|
||||
|
||||
response AlyxHideAndReload
|
||||
{
|
||||
scene "scenes/npc/Alyx/coverme01.vcd"
|
||||
scene "scenes/npc/Alyx/coverme02.vcd"
|
||||
scene "scenes/npc/Alyx/coverme03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxHideAndReload
|
||||
{
|
||||
criteria IsAlyx ConceptHideAndReload PlayerNear
|
||||
response AlyxHideAndReload
|
||||
}
|
||||
|
||||
response AlyxTalkPlayerPushed
|
||||
{
|
||||
scene "scenes/npc/Alyx/excuseme01.vcd"
|
||||
scene "scenes/npc/Alyx/excuseme02.vcd"
|
||||
scene "scenes/npc/Alyx/excuseme03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxTalkPlayerPushed
|
||||
{
|
||||
criteria IsAlyx ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
|
||||
response AlyxTalkPlayerPushed
|
||||
}
|
||||
|
||||
response AlyxPlayerReload
|
||||
{
|
||||
scene "scenes/npc/Alyx/youreload01.vcd"
|
||||
scene "scenes/npc/Alyx/youreload02.vcd"
|
||||
}
|
||||
|
||||
rule AlyxPlayerReload
|
||||
{
|
||||
criteria ConceptPlayerReload IsAlyx PlayerNear SeePlayer
|
||||
response AlyxPlayerReload
|
||||
}
|
||||
|
||||
response AlyxWatchOut
|
||||
{
|
||||
scene "scenes/npc/Alyx/lookout01.vcd"
|
||||
scene "scenes/npc/Alyx/lookout03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxWatchOut
|
||||
{
|
||||
criteria IsAlyx ConceptTalkWatchout
|
||||
response AlyxWatchout
|
||||
}
|
||||
|
||||
response AlyxPlayerDead
|
||||
{
|
||||
scene "scenes/npc/Alyx/ohno_startle01.vcd"
|
||||
scene "scenes/npc/Alyx/ohno_startle02.vcd"
|
||||
scene "scenes/npc/Alyx/ohno_startle03.vcd"
|
||||
}
|
||||
|
||||
rule AlyxPlayerDead
|
||||
{
|
||||
criteria IsAlyx ConceptPlayerDead
|
||||
response AlyxWatchout
|
||||
matchonce
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//============================================================================================================
|
||||
915
sp/game/mod_hl2/scripts/talker/npc_citizen.txt
Normal file
915
sp/game/mod_hl2/scripts/talker/npc_citizen.txt
Normal file
@@ -0,0 +1,915 @@
|
||||
//============================================================================================================
|
||||
// Citizen criteria
|
||||
//============================================================================================================
|
||||
criterion "IsCitizen" "classname" "npc_citizen" "required"
|
||||
criterion "IsRPGUser" "attacking_with_weapon" "weapon_rpg" required
|
||||
criterion "EnemyIsSniper" "enemy" "npc_sniper" required
|
||||
criterion "EnemyIsStrider" "enemy" "npc_strider" required
|
||||
criterion "HurtByFire" "hurt_by_fire" "1" required
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Hello speech
|
||||
//============================================================================================================
|
||||
response "CitizenHello"
|
||||
{
|
||||
scene "scenes/npc/$gender01/abouttime01.vcd"
|
||||
scene "scenes/npc/$gender01/abouttime02.vcd"
|
||||
scene "scenes/npc/$gender01/ahgordon01.vcd"
|
||||
scene "scenes/npc/$gender01/ahgordon02.vcd"
|
||||
scene "scenes/npc/$gender01/docfreeman01.vcd"
|
||||
scene "scenes/npc/$gender01/docfreeman02.vcd"
|
||||
scene "scenes/npc/$gender01/freeman.vcd"
|
||||
scene "scenes/npc/$gender01/hellodrfm01.vcd"
|
||||
scene "scenes/npc/$gender01/hellodrfm02.vcd"
|
||||
scene "scenes/npc/$gender01/heydoc01.vcd"
|
||||
scene "scenes/npc/$gender01/heydoc02.vcd"
|
||||
scene "scenes/npc/$gender01/hi01.vcd"
|
||||
scene "scenes/npc/$gender01/hi02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenHello
|
||||
{
|
||||
criteria IsCitizen ConceptTalkHello IsGordonCriminal NPCIdle PlayerNear SeePlayer
|
||||
response CitizenHello
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Idle speech
|
||||
//============================================================================================================
|
||||
response "CitizenTalkStare"
|
||||
{
|
||||
scene "scenes/npc/$gender01/doingsomething.vcd"
|
||||
scene "scenes/npc/$gender01/getgoingsoon.vcd"
|
||||
scene "scenes/npc/$gender01/waitingsomebody.vcd"
|
||||
}
|
||||
|
||||
rule CitizenTalkStare
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStare IsGordonCriminal NPCIdle
|
||||
response CitizenTalkStare
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenTalkPlayerPushed"
|
||||
{
|
||||
scene "scenes/npc/$gender01/sorryfm01.vcd"
|
||||
scene "scenes/npc/$gender01/sorryfm02.vcd"
|
||||
scene "scenes/npc/$gender01/sorrydoc01.vcd"
|
||||
scene "scenes/npc/$gender01/sorrydoc02.vcd"
|
||||
scene "scenes/npc/$gender01/sorrydoc04.vcd"
|
||||
scene "scenes/npc/$gender01/excuseme01.vcd"
|
||||
scene "scenes/npc/$gender01/excuseme02.vcd"
|
||||
scene "scenes/npc/$gender01/pardonme01.vcd"
|
||||
scene "scenes/npc/$gender01/pardonme02.vcd"
|
||||
scene "scenes/npc/$gender01/sorry01.vcd"
|
||||
scene "scenes/npc/$gender01/sorry02.vcd"
|
||||
scene "scenes/npc/$gender01/sorry03.vcd"
|
||||
scene "scenes/npc/$gender01/outofyourway01.vcd"
|
||||
scene "scenes/npc/$gender01/outofyourway02.vcd"
|
||||
scene "scenes/npc/$gender01/whoops01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenTalkPlayerPushed
|
||||
{
|
||||
criteria IsCitizen ConceptTalkPlayerPushed SeenByPlayer NoRecentCombat
|
||||
response CitizenTalkPlayerPushed
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Questions & Responses speech
|
||||
//============================================================================================================
|
||||
response "CitizenQuestion"
|
||||
{
|
||||
scene "scenes/npc/$gender01/question01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question05.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question06.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question07.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question08.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question09.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question10.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question11.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question12.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question13.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question14.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question15.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question16.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question17.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question18.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question19.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question20.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question21.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question22.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question23.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question25.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question26.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question27.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question28.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question29.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question30.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/question31.vcd" delay 1
|
||||
}
|
||||
|
||||
rule CitizenQuestion
|
||||
{
|
||||
criteria IsCitizen ConceptTalkQuestion IsGordonCriminal PlayerAlive
|
||||
response CitizenQuestion
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenAnswer"
|
||||
{
|
||||
scene "scenes/npc/$gender01/answer01.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer02.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer03.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer04.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer05.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer07.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer08.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer09.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer10.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer11.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer12.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer13.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer14.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer15.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer16.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer17.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer18.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer19.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer20.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer21.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer22.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer23.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer24.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer25.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer26.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer27.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer28.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer29.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer30.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer31.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer32.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer33.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer34.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer35.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer36.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer37.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer38.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer39.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/answer40.vcd" delay 2
|
||||
}
|
||||
//---------------------
|
||||
rule CitizenAnswer
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAnswer IsGordonCriminal PlayerAlive
|
||||
response CitizenAnswer
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Questions & Responses with Vortigaunts in Scene
|
||||
//============================================================================================================
|
||||
response "CitizenQuestionVort"
|
||||
{
|
||||
scene "scenes/npc/$gender01/vquestion01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion05.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion06.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/vquestion07.vcd" delay 1
|
||||
|
||||
}
|
||||
|
||||
rule CitizenQuestionVort
|
||||
{
|
||||
criteria IsCitizen ConceptTalkQuestionVort IsGordonCriminal NPCIdle PlayerAlive
|
||||
response CitizenQuestionVort
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenAnswerVort"
|
||||
{
|
||||
scene "scenes/npc/$gender01/vanswer01.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer02.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer03.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer04.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer05.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer06.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer07.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer08.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer09.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer10.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer11.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer12.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer13.vcd" delay 2
|
||||
scene "scenes/npc/$gender01/vanswer14.vcd" delay 2
|
||||
|
||||
}
|
||||
|
||||
rule CitizenAnswerVort
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAnswerVort IsGordonCriminal NPCIdle PlayerAlive
|
||||
response CitizenAnswerVort
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Mourning the player's death
|
||||
//============================================================================================================
|
||||
|
||||
response "CitizenMournQ"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gordead_ques01.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques02.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques03a.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques03b.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques04.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques05.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques06.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques07.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques08.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques09.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques10.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques11.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques12.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques13.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques14.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques15.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques16.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ques17.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMournQ
|
||||
{
|
||||
criteria IsCitizen ConceptTalkQuestion IsGordonCriminal PlayerDead
|
||||
response CitizenMournQ
|
||||
matchonce
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenMournA"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gordead_ans01.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans02.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans03.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans04.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans05.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans06.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans07.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans08.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans09.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans10.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans11.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans12.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans13.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans14.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans15.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans16.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans17.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans18.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans19.vcd"
|
||||
scene "scenes/npc/$gender01/gordead_ans20.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMournA
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAnswer IsGordonCriminal PlayerDead
|
||||
response CitizenMournA
|
||||
matchonce
|
||||
}
|
||||
|
||||
response "CitizenMournAll"
|
||||
{
|
||||
response CitizenMournQ
|
||||
response CitizenMournA
|
||||
}
|
||||
|
||||
rule CitizenMourn
|
||||
{
|
||||
criteria IsCitizen ConceptPlayerDead IsGordonCriminal PlayerDead
|
||||
response CitizenMournAll
|
||||
matchonce
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
response "CitizenHeal"
|
||||
{
|
||||
scene "scenes/npc/$gender01/health01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/health05.vcd" delay 1
|
||||
}
|
||||
|
||||
rule CitizenHeal
|
||||
{
|
||||
criteria IsCitizen ConceptTalkHeal
|
||||
response CitizenHeal
|
||||
}
|
||||
//---------------------------
|
||||
response "CitizenGiveAmmo"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ammo01.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo02.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo03.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo04.vcd" delay 1
|
||||
scene "scenes/npc/$gender01/ammo05.vcd" delay 1
|
||||
}
|
||||
|
||||
rule CitizenGiveAmmo
|
||||
{
|
||||
criteria IsCitizen ConceptTalkGiveAmmo
|
||||
response CitizenGiveAmmo
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Combat speech
|
||||
//============================================================================================================
|
||||
response "CitizenDanger"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/watchout.vcd" weight 1
|
||||
scene "scenes/npc/$gender01/uhoh.vcd" weight 1.1
|
||||
scene "scenes/npc/$gender01/lookoutfm01.vcd" weight .9
|
||||
scene "scenes/npc/$gender01/startle01.vcd" weight 1.1
|
||||
scene "scenes/npc/$gender01/startle02.vcd" weight 1.1
|
||||
scene "scenes/npc/$gender01/getdown02.vcd" weight 1
|
||||
}
|
||||
|
||||
rule CitizenDanger
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger
|
||||
response CitizenDanger
|
||||
}
|
||||
|
||||
response CitizenDangerBig
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/strider_run.vcd"
|
||||
scene "scenes/npc/$gender01/gethellout.vcd"
|
||||
response CitizenDanger weight 12 // 6 * 2
|
||||
}
|
||||
|
||||
rule CitizenDangerBig
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger EnemyIsStrider
|
||||
response CitizenDangerBig
|
||||
}
|
||||
|
||||
response "CitizenMortarDanger"
|
||||
{
|
||||
scene "scenes/npc/$gender01/watchout.vcd"
|
||||
scene "scenes/npc/$gender01/headsup01.vcd"
|
||||
scene "scenes/npc/$gender01/getdown02.vcd"
|
||||
scene "scenes/npc/$gender01/headsup02.vcd"
|
||||
scene "scenes/npc/$gender01/incoming02.vcd"
|
||||
scene "scenes/npc/$gender01/takecover02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMortarDanger
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger EnemyIsMortar
|
||||
response CitizenMortarDanger
|
||||
}
|
||||
|
||||
response "CitizenSniperDanger"
|
||||
{
|
||||
scene "scenes/npc/$gender01/uhoh.vcd"
|
||||
scene "scenes/npc/$gender01/startle01.vcd"
|
||||
scene "scenes/npc/$gender01/startle02.vcd"
|
||||
scene "scenes/npc/$gender01/getdown02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenSniperDanger
|
||||
{
|
||||
criteria IsCitizen ConceptTalkDanger EnemyIsSniper
|
||||
response CitizenSniperDanger
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Reloads Weapon
|
||||
//============================================================================================================
|
||||
response "CitizenHideAndReload"
|
||||
{
|
||||
scene "scenes/npc/$gender01/coverwhilereload01.vcd"
|
||||
scene "scenes/npc/$gender01/coverwhilereload02.vcd"
|
||||
scene "scenes/npc/$gender01/gottareload01.vcd"
|
||||
// print "Gotta reload!"
|
||||
}
|
||||
|
||||
rule CitizenHideAndReload
|
||||
{
|
||||
criteria IsCitizen ConceptHideAndReload
|
||||
response CitizenHideAndReload
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Reminds Player to Reload
|
||||
//============================================================================================================
|
||||
response "CitizenPlayerReload"
|
||||
{
|
||||
scene "scenes/npc/$gender01/dontforgetreload01.vcd"
|
||||
scene "scenes/npc/$gender01/reloadfm01.vcd"
|
||||
scene "scenes/npc/$gender01/reloadfm02.vcd"
|
||||
scene "scenes/npc/$gender01/youdbetterreload01.vcd"
|
||||
// print "You better reload, Doc."
|
||||
}
|
||||
|
||||
rule CitizenPlayerReload
|
||||
{
|
||||
criteria ConceptPlayerReload IsCitizen PlayerNear SeePlayer
|
||||
response CitizenPlayerReload
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenNewWeapon"
|
||||
{
|
||||
scene "scenes/npc/$gender01/nice.vcd"
|
||||
scene "scenes/npc/$gender01/nice01.vcd"
|
||||
scene "scenes/npc/$gender01/nice02.vcd"
|
||||
scene "scenes/npc/$gender01/thislldonicely.vcd"
|
||||
scene "scenes/npc/$gender01/yeah01.vcd"
|
||||
scene "scenes/npc/$gender01/fantastic01.vcd"
|
||||
scene "scenes/npc/$gender01/fantastic02.vcd"
|
||||
scene "scenes/npc/$gender01/finally.vcd"
|
||||
scene "scenes/npc/$gender01/oneforme.vcd"
|
||||
scene "scenes/npc/$gender01/evenodds.vcd"
|
||||
}
|
||||
|
||||
rule CitizenNewWeapon
|
||||
{
|
||||
criteria IsCitizen ConceptNewWeapon
|
||||
response CitizenNewWeapon
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response CitizenOuch
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/ow01.vcd"
|
||||
scene "scenes/npc/$gender01/ow02.vcd"
|
||||
speak npc_citizen.die weight 9 // there are nine waves in there
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenMortalWound
|
||||
{
|
||||
scene "scenes/npc/$gender01/imhurt01.vcd"
|
||||
scene "scenes/npc/$gender01/imhurt02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenMortalWound
|
||||
{
|
||||
criteria IsCitizen ConceptTalkMortal
|
||||
response CitizenMortalWound
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
rule CitizenWound
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWound
|
||||
response CitizenOuch
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenWoundFire
|
||||
{
|
||||
scene "scenes/npc/$gender01/ow01.vcd"
|
||||
scene "scenes/npc/$gender01/no01.vcd"
|
||||
scene "scenes/npc/$gender01/no02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWoundFire
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWound HurtByFire
|
||||
response CitizenWoundFire
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenShotArm"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/myarm01.vcd"
|
||||
scene "scenes/npc/$gender01/myarm02.vcd"
|
||||
response CitizenOuch weight 8
|
||||
}
|
||||
|
||||
rule CitizenShotArm
|
||||
{
|
||||
criteria IsCitizen ConceptShot ShotInArm
|
||||
response CitizenShotArm
|
||||
}
|
||||
|
||||
response "CitizenShotLeg"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/myleg01.vcd"
|
||||
scene "scenes/npc/$gender01/myleg02.vcd"
|
||||
response CitizenOuch weight 8
|
||||
}
|
||||
|
||||
|
||||
rule CitizenShotLeg
|
||||
{
|
||||
criteria IsCitizen ConceptShot ShotInLeg
|
||||
response CitizenShotLeg
|
||||
}
|
||||
|
||||
response "CitizenShotGut"
|
||||
{
|
||||
permitrepeats
|
||||
scene "scenes/npc/$gender01/mygut01.vcd"
|
||||
scene "scenes/npc/$gender01/mygut02.vcd"
|
||||
scene "scenes/npc/$gender01/hitingut01.vcd"
|
||||
scene "scenes/npc/$gender01/hitingut02.vcd"
|
||||
response CitizenOuch weight 16
|
||||
}
|
||||
|
||||
rule CitizenShotGut
|
||||
{
|
||||
criteria IsCitizen ConceptShot ShotInGut
|
||||
response CitizenShotGut
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response CitizenWatchOut
|
||||
{
|
||||
scene "scenes/npc/$gender01/lookoutfm01.vcd"
|
||||
scene "scenes/npc/$gender01/lookoutfm02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOut
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
response CitizenWatchout
|
||||
}
|
||||
|
||||
response CitizenWatchOutUp
|
||||
{
|
||||
scene "scenes/npc/$gender01/upthere01.vcd"
|
||||
scene "scenes/npc/$gender01/upthere02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOutUp
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
"dangerloc" "above" required
|
||||
response CitizenWatchOutUp
|
||||
}
|
||||
|
||||
response CitizenWatchOutBehind
|
||||
{
|
||||
scene "scenes/npc/$gender01/behindyou01.vcd"
|
||||
scene "scenes/npc/$gender01/behindyou02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOutBehind
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
"dangerloc" "behind" required
|
||||
response CitizenWatchOutBehind
|
||||
}
|
||||
|
||||
response CitizenWatchOutFar
|
||||
{
|
||||
scene "scenes/npc/$gender01/overthere01.vcd"
|
||||
scene "scenes/npc/$gender01/overthere02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenWatchOutFar
|
||||
{
|
||||
criteria IsCitizen ConceptTalkWatchout
|
||||
"dangerloc" "far" required
|
||||
response CitizenWatchOutFar
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenEnemyDead"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gotone01.vcd"
|
||||
scene "scenes/npc/$gender01/gotone02.vcd"
|
||||
// scene "scenes/npc/$gender01/likethemapples.vcd"
|
||||
scene "scenes/npc/$gender01/likethat.vcd"
|
||||
}
|
||||
|
||||
rule CitizenEnemyDead
|
||||
{
|
||||
criteria IsCitizen ConceptEnemyDead
|
||||
response CitizenEnemyDead
|
||||
rescenedelay 3
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenNoShoot"
|
||||
{
|
||||
scene "scenes/npc/$gender01/onyourside.vcd"
|
||||
scene "scenes/npc/$gender01/stopitfm.vcd"
|
||||
scene "scenes/npc/$gender01/watchwhat.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenNoShoot
|
||||
{
|
||||
criteria IsCitizen ConceptTalkNoShoot
|
||||
response CitizenNoShoot
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenBetrayed"
|
||||
{
|
||||
scene "scenes/npc/$gender01/heretohelp01.vcd"
|
||||
scene "scenes/npc/$gender01/heretohelp02.vcd"
|
||||
scene "scenes/npc/$gender01/wetrustedyou01.vcd"
|
||||
scene "scenes/npc/$gender01/wetrustedyou02.vcd"
|
||||
scene "scenes/npc/$gender01/notthemanithought01.vcd"
|
||||
scene "scenes/npc/$gender01/notthemanithought02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenBetrayed
|
||||
{
|
||||
criteria IsCitizen ConceptTalkBetrayed
|
||||
response CitizenBetrayed
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenAllyKilled"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ohno.vcd"
|
||||
scene "scenes/npc/$gender01/goodgod.vcd"
|
||||
scene "scenes/npc/$gender01/startle01.vcd"
|
||||
scene "scenes/npc/$gender01/startle02.vcd"
|
||||
scene "scenes/npc/$gender01/no01.vcd"
|
||||
scene "scenes/npc/$gender01/no02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenAllyKilled
|
||||
{
|
||||
criteria IsCitizen ConceptTalkAllyKilled
|
||||
response CitizenAllyKilled
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenCombineGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/combine01.vcd"
|
||||
scene "scenes/npc/$gender01/combine02.vcd"
|
||||
}
|
||||
|
||||
response CitizenCombine
|
||||
{
|
||||
response CitizenCombineGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatCombine
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_combine_s required
|
||||
response CitizenCombine
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenHeadcrabGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/headcrabs01.vcd"
|
||||
scene "scenes/npc/$gender01/headcrabs02.vcd"
|
||||
}
|
||||
|
||||
response CitizenHeadcrab
|
||||
{
|
||||
response CitizenHeadcrabGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatHeadcrab
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_headcrab required
|
||||
response CitizenHeadcrab
|
||||
}
|
||||
|
||||
rule CitizenStartCombatHeadcrabFast
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_headcrab_fast required
|
||||
response CitizenHeadcrab
|
||||
}
|
||||
|
||||
rule CitizenStartCombatHeadcrabBlack
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_headcrab_black required
|
||||
response CitizenHeadcrab
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenZombieGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/zombies01.vcd"
|
||||
scene "scenes/npc/$gender01/zombies02.vcd"
|
||||
}
|
||||
|
||||
response CitizenZombie
|
||||
{
|
||||
response CitizenZombieGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombie
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_zombie required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombieTorso
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_zombie_torso required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombieFast
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_fastzombie required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
rule CitizenStartCombatZombiePoison
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_poisonzombie required
|
||||
response CitizenZombie
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenScannersGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/scanners01.vcd"
|
||||
scene "scenes/npc/$gender01/scanners02.vcd"
|
||||
}
|
||||
|
||||
response CitizenScanners
|
||||
{
|
||||
response CitizenScannersGroup respeakdelay 300
|
||||
}
|
||||
|
||||
|
||||
rule CitizenStartCombatScanners
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_cscanner required
|
||||
response CitizenScanners
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenStrider
|
||||
{
|
||||
scene "scenes/npc/$gender01/strider.vcd" respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatStrider
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_strider required
|
||||
response CitizenStrider
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response CitizenManhacksGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/itsamanhack01.vcd"
|
||||
scene "scenes/npc/$gender01/itsamanhack02.vcd"
|
||||
scene "scenes/npc/$gender01/herecomehacks01.vcd"
|
||||
scene "scenes/npc/$gender01/herecomehacks02.vcd"
|
||||
scene "scenes/npc/$gender01/thehacks01.vcd"
|
||||
scene "scenes/npc/$gender01/thehacks02.vcd"
|
||||
scene "scenes/npc/$gender01/hacks01.vcd"
|
||||
scene "scenes/npc/$gender01/hacks02.vcd"
|
||||
}
|
||||
|
||||
response CitizenManhacks
|
||||
{
|
||||
response CitizenManhacksGroup respeakdelay 300
|
||||
}
|
||||
|
||||
rule CitizenStartCombatManhacks
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_manhack required
|
||||
response CitizenManhacks
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
|
||||
response "CitizenMetroGroup"
|
||||
{
|
||||
scene "scenes/npc/$gender01/cps01.vcd"
|
||||
scene "scenes/npc/$gender01/cps02.vcd"
|
||||
scene "scenes/npc/$gender01/civilprotection01.vcd"
|
||||
scene "scenes/npc/$gender01/civilprotection02.vcd"
|
||||
}
|
||||
|
||||
response CitizenMetro
|
||||
{
|
||||
response CitizenMetroGroup respeakdelay 300
|
||||
}
|
||||
|
||||
|
||||
rule CitizenStartCombatMetro
|
||||
{
|
||||
criteria IsCitizen ConceptStartCombat
|
||||
enemy npc_metropolice required
|
||||
response CitizenMetro
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen misc speech
|
||||
//============================================================================================================
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenFiringRPG"
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
rule CitizenFiringRPG
|
||||
{
|
||||
criteria IsCitizen IsRPGUser
|
||||
response CitizenFiringRPG
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen Leader speech (a citizen that's leading the player somewhere)
|
||||
//============================================================================================================
|
||||
response "CitizenLeadWaitOver"
|
||||
{
|
||||
scene "scenes/npc/$gender01/gotone02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenLeadWaitOver
|
||||
{
|
||||
criteria ConceptLeadWaitOver
|
||||
response CitizenLeadWaitOver
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenLeadAttractPlayer"
|
||||
{
|
||||
scene "scenes/npc/$gender01/overhere01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenLeadAttractPlayer
|
||||
{
|
||||
criteria IsCitizen ConceptLeadAttractPlayer
|
||||
response CitizenLeadAttractPlayer
|
||||
}
|
||||
|
||||
response "CitizenSeeCombine"
|
||||
{
|
||||
scene "scenes/npc/$gender01/combine01.vcd"
|
||||
}
|
||||
|
||||
rule CitizenSeeCombine
|
||||
{
|
||||
criteria IsCitizen ConceptSeeCombine
|
||||
response CitizenSeeCombine
|
||||
respeakdelay 45
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Citizen responding to the player 'attacking' them with a physics object
|
||||
//============================================================================================================
|
||||
response "CitizenPlayerPhysAttack"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenPlayerPhysAttack
|
||||
{
|
||||
criteria IsCitizen ConceptTalkPlayerPhysAttack
|
||||
response CitizenPlayerPhysAttack
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
#include "talker/npc_citizen_commandermode.txt"
|
||||
#include "talker/npc_citizen_terminal.txt"
|
||||
#include "talker/npc_citizen_tenement.txt"
|
||||
#include "talker/npc_citizen_coast.txt"
|
||||
#include "talker/npc_citizen_canals.txt"
|
||||
#include "talker/npc_citizen_c17.txt"
|
||||
467
sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt
Normal file
467
sp/game/mod_hl2/scripts/talker/npc_citizen_commandermode.txt
Normal file
@@ -0,0 +1,467 @@
|
||||
//============================================================================================================
|
||||
// Commander mode criteria
|
||||
//============================================================================================================
|
||||
criterion "IsOnlySelected" "numselected" "1" required
|
||||
criterion "NotOnlySelected" "numselected" ">1" required
|
||||
criterion "Is_03_first" "name" "citizen_c17_03_first" required
|
||||
|
||||
criterion "UseRadio" "useradio" "1" required
|
||||
|
||||
criterion "SquadNearPlayer" "distancetoplayer" "<240" required
|
||||
criterion "SquadNotNearPlayer" "distancetoplayer" ">=240" required
|
||||
criterion "SquadNearCommandPoint" "commandpoint_dist_to_npc" "<240" required
|
||||
criterion "SquadNotNearCommandPoint" "commandpoint_dist_to_npc" ">=240" required
|
||||
criterion "CommandPointNearPlayer" "commandpoint_dist_to_player" "<144" required
|
||||
criterion "CommandPointNotNearPlayer" "commandpoint_dist_to_player" ">=144" required
|
||||
criterion "JoinSquadIndividual" "numjoining" "1" required
|
||||
criterion "JoinSquadMultiple" "numjoining" ">1" required
|
||||
criterion "TrailingReinforcement" "reinforcement" "1" required
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode selection speech
|
||||
//============================================================================================================
|
||||
response "CitizenSelected"
|
||||
{
|
||||
scene "scenes/npc/$gender01/ok01.vcd"
|
||||
scene "scenes/npc/$gender01/ok02.vcd"
|
||||
scene "scenes/npc/$gender01/okimready01.vcd"
|
||||
scene "scenes/npc/$gender01/okimready02.vcd"
|
||||
scene "scenes/npc/$gender01/okimready03.vcd"
|
||||
scene "scenes/npc/$gender01/readywhenyouare01.vcd"
|
||||
scene "scenes/npc/$gender01/readywhenyouare02.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenSelected
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected
|
||||
response CitizenSelected
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenGroupSelectedRadio"
|
||||
{
|
||||
}
|
||||
|
||||
rule CitizenGroupSelectedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected NotOnlySelected UseRadio
|
||||
response CitizenGroupSelectedRadio
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenSoloSelectedRadio"
|
||||
{
|
||||
}
|
||||
|
||||
rule CitizenSoloSelectedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkSelected UseRadio
|
||||
response CitizenSoloSelectedRadio
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode orders speech
|
||||
//============================================================================================================
|
||||
|
||||
response CitizenSquadNearToFarIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm04.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm04"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadNearToFarGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away03.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_away01"
|
||||
// speak "npc_citizen.squad_away02"
|
||||
// speak "npc_citizen.squad_away03"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToNearIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
//scene "scenes/npc/$gender01/squad_approach04.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_approach04"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToNearGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_approach04.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_approach01"
|
||||
// speak "npc_citizen.squad_approach02"
|
||||
// speak "npc_citizen.squad_approach03"
|
||||
// speak "npc_citizen.squad_approach04"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadNearToNear
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot02.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
scene "scenes/npc/$gender01/littlecorner01.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToFarIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm04.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm04"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadFarToFarGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_away03.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
// speak "npc_citizen.squad_away01"
|
||||
// speak "npc_citizen.squad_away02"
|
||||
// speak "npc_citizen.squad_away03"
|
||||
scene "scenes/npc/$gender01/letsgo01.vcd"
|
||||
scene "scenes/npc/$gender01/letsgo02.vcd"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
response CitizenSquadGeneral
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_affirm01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm05.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm06.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm07.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm08.vcd"
|
||||
scene "scenes/npc/$gender01/squad_affirm09.vcd"
|
||||
// speak "npc_citizen.squad_affirm01"
|
||||
// speak "npc_citizen.squad_affirm02"
|
||||
// speak "npc_citizen.squad_affirm03"
|
||||
// speak "npc_citizen.squad_affirm05"
|
||||
// speak "npc_citizen.squad_affirm06"
|
||||
// speak "npc_citizen.squad_affirm07"
|
||||
// speak "npc_citizen.squad_affirm08"
|
||||
// speak "npc_citizen.squad_affirm09"
|
||||
scene "scenes/npc/$gender01/yougotit02.vcd"
|
||||
}
|
||||
|
||||
rule CitizenCommanded
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded
|
||||
response CitizenSquadGeneral
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToFarIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadNearToFarIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToFarGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadNearToFarGroup
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToNearIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadFarToNearIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToNearGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadFarToNearGroup
|
||||
}
|
||||
|
||||
rule CitizenCommandedNearToNearIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded SquadNearPlayer CommandPointNearPlayer
|
||||
response CitizenSquadNearToNear
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToFarIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded IsOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadFarToFarIndividual
|
||||
}
|
||||
|
||||
rule CitizenCommandedFarToFarGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded NotOnlySelected SquadNotNearPlayer CommandPointNotNearPlayer
|
||||
response CitizenSquadFarToFarGroup
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenCommandedRadio"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenCommandedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommanded UseRadio
|
||||
response CitizenCommandedRadio
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenCommandFailedRadio"
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
rule CitizenCommandFailedRadio
|
||||
{
|
||||
criteria IsCitizen ConceptTalkCommandFailed UseRadio
|
||||
response CitizenCommandFailedRadio
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode follow speech
|
||||
//============================================================================================================
|
||||
response CitizenFollowGeneral
|
||||
{
|
||||
scene "scenes/npc/$gender01/leadtheway01.vcd"
|
||||
scene "scenes/npc/$gender01/leadtheway02.vcd"
|
||||
scene "scenes/npc/$gender01/leadon01.vcd"
|
||||
scene "scenes/npc/$gender01/leadon02.vcd"
|
||||
}
|
||||
|
||||
response CitizenFollowGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_follow01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_follow04.vcd"
|
||||
response CitizenFollowGeneral weight 2
|
||||
}
|
||||
|
||||
rule CitizenFollow
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStartFollow
|
||||
response CitizenFollowGeneral
|
||||
}
|
||||
|
||||
rule CitizenFollowGroup
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStartFollow NotOnlySelected
|
||||
response CitizenFollowGroup
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode join speech
|
||||
//============================================================================================================
|
||||
|
||||
|
||||
// I'm not sure all these lines will play well when not coming up from behind, so I've made a distinction between trailing & non-trailing
|
||||
response CitizenJoinIndividual
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinGroup
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinIndividualTrailing
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_single04.vcd"
|
||||
}
|
||||
|
||||
response CitizenJoinGroupTrailing
|
||||
{
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group01.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group02.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group03.vcd"
|
||||
scene "scenes/npc/$gender01/squad_reinforce_group04.vcd"
|
||||
}
|
||||
|
||||
rule CitizenJoinIndividual
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual
|
||||
response CitizenJoinIndividual
|
||||
}
|
||||
|
||||
rule CitizenJoinGroup
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple
|
||||
response CitizenJoinGroup
|
||||
}
|
||||
|
||||
rule CitizenJoinIndividualTrailing
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual TrailingReinforcement
|
||||
response CitizenJoinIndividualTrailing
|
||||
}
|
||||
|
||||
rule CitizenJoinGroupTrailing
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadMultiple TrailingReinforcement
|
||||
response CitizenJoinGroupTrailing
|
||||
}
|
||||
|
||||
response CitizenJoin_d3_c17_07
|
||||
{
|
||||
scene "scenes/Streetwar/tunnel/$gender01/d3_c17_07_tenant.vcd"
|
||||
}
|
||||
|
||||
rule CitizenJoin_d3_c17_07
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer
|
||||
"map" "d3_c17_07" required weight 1000
|
||||
response CitizenJoin_d3_c17_07
|
||||
matchonce
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Commander mode follow speech SPECIAL CASE: first citizen in d3_17_03
|
||||
//============================================================================================================
|
||||
response "CitizenFollow_First"
|
||||
{
|
||||
scene "scenes/npc/$gender01/abouttime01.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenFollow_First
|
||||
{
|
||||
criteria IsCitizen ConceptJoinPlayer JoinSquadIndividual Is_03_first
|
||||
response CitizenFollow_First
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "CitizenUnFollow"
|
||||
{
|
||||
|
||||
scene "scenes/npc/$gender01/illstayhere01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot01.vcd"
|
||||
scene "scenes/npc/$gender01/holddownspot02.vcd"
|
||||
scene "scenes/npc/$gender01/imstickinghere01.vcd"
|
||||
scene "scenes/npc/$gender01/littlecorner01.vcd"
|
||||
|
||||
}
|
||||
|
||||
rule CitizenUnFollow
|
||||
{
|
||||
criteria IsCitizen ConceptTalkStopFollow
|
||||
response CitizenUnFollow
|
||||
}
|
||||
|
||||
635
sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt
Normal file
635
sp/game/mod_hl2/scripts/talker/npc_vortigaunt.txt
Normal file
@@ -0,0 +1,635 @@
|
||||
//============================================================================================================
|
||||
// Vortigaunt criteria
|
||||
//============================================================================================================
|
||||
criterion "IsVortigaunt" "classname" "npc_vortigaunt" required
|
||||
|
||||
criterion "VortigauntCure" concept" "VORT_CURE" required
|
||||
criterion "VortigauntCureStop" "concept" "VORT_CURESTOP" required
|
||||
criterion "VortigauntCureInterrupt" "concept" "VORT_CURE_INTERRUPT" required
|
||||
criterion "VortigauntAttack" "concept" "VORT_ATTACK" required
|
||||
criterion "VortigauntMad" "concept" "VORT_MAD" required
|
||||
criterion "VortigauntShot" "concept" "VORT_SHOT" required
|
||||
criterion "VortigauntPain" "concept" "VORT_PAIN" required
|
||||
criterion "VortigauntDie" "concept" "VORT_DIE" required
|
||||
criterion "VortigauntKill" "concept" "VORT_KILL" required
|
||||
criterion "VortigauntLineOfFire" "concept" "VORT_LINE_FIRE" required
|
||||
criterion "VortigauntPOk" "concept" "VORT_POK" required
|
||||
criterion "VortigauntExtractBugbait" "concept" "VORT_EXTRACT_START" required
|
||||
criterion "VortigauntExtractBugbaitFinish" "concept" "VORT_EXTRACT_FINISH" required
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Hello speech
|
||||
//============================================================================================================
|
||||
response "VortigauntHello"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/wellmet.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/isitthefm.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/itisthefm.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/thefreeman.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/beofservice.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/greetingsfm.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/neuroprints.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/salute.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/trulyitis.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/takeus.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/webeofuse.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/corporeal.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/seebeforeoureye.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/morethanmeets.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/weknowyou.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/putaside.vcd" delay "3,3.5" speakonce
|
||||
scene "scenes/npc/vortigaunt/mystery.vcd" delay "3,3.5" speakonce
|
||||
}
|
||||
rule VortigauntTlkHello
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkHello PlayerNear SeePlayer
|
||||
response VortigauntHello
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
rule VortigauntPlayerHello
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPHello
|
||||
response NullResponse
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Questions & Responses speech
|
||||
//============================================================================================================
|
||||
response "VortigauntQuestion"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vques01.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques02.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques03.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques04.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques05.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques06.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques07.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques08.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques09.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vques10.vcd" delay 1
|
||||
|
||||
}
|
||||
rule VortigauntTlkQuestion
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkQuestion
|
||||
response VortigauntQuestion
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntAnswer"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/vanswer01.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer02.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer03.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer04.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer05.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer06.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer07.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer08.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer09.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer10.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer11.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer12.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer13.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer14.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer15.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer16.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer17.vcd" delay 1
|
||||
scene "scenes/npc/vortigaunt/vanswer18.vcd" delay 1
|
||||
}
|
||||
|
||||
rule VortigauntTlkAnswer
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkAnswer
|
||||
response VortigauntAnswer
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntTalkUse"
|
||||
{
|
||||
sequential
|
||||
norepeat
|
||||
// scene "scenes/npc/vortigaunt/vmono_01.vcd" defaultdelay
|
||||
// scene "scenes/npc/vortigaunt/vmono_02.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_03.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_04.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_05.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_06.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_07.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_08.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_09.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_10.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_11.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_12.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_13.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_14.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_15.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_16.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_17.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_18.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_19.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_20.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_21.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_22.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_23.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_24.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_25.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_26.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_27.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_28.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_29.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/vmono_30.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTalkUse
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkUse
|
||||
response VortigauntTalkUse
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Combat speech
|
||||
//============================================================================================================
|
||||
response "VortigauntCure"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/allowrecharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/wewillcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/fmcanuse.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/here.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/acceptenergy.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/holdstill.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/acceptcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/weshare.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/prepare.vcd" defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntCure
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCure
|
||||
response VortigauntCure
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureStop"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/allwecanspare.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allfornow.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/thatisall.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/done.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/keepfmsafe.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntCureStop
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCureStop
|
||||
response VortigauntCureStop
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureInterrupt"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/holdorcantcharge.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/hold.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/halt.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/fmstandstill.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/ifyoumove.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/movingtarget.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntCureInterrupt
|
||||
{
|
||||
criteria IsVortigaunt VortigauntCureInterrupt
|
||||
response VortigauntCureInterrupt
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntAttack"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/tothevoid.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allinoneinall.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/giveover.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/weclaimyou.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/undeserving.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/satisfaction.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/regrettable.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/allowme.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/livetoserve.vcd" defaultdelay
|
||||
scene "scenes/npc/vortigaunt/returnvoid.vcd" defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntAttack
|
||||
{
|
||||
criteria IsVortigaunt VortigauntAttack
|
||||
response VortigauntAttack
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntMad"
|
||||
{
|
||||
// sentence "VORT_MAD" soundlevel "SNDLVL_NORM" delay "4"
|
||||
}
|
||||
rule VortigauntMad
|
||||
{
|
||||
criteria IsVortigaunt VortigauntMad
|
||||
response VortigauntMad
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntShot"
|
||||
|
||||
{
|
||||
// sentence "VORT_SHOT" soundlevel "SNDLVL_NORM" delay "4"
|
||||
}
|
||||
rule VortigauntShot
|
||||
{
|
||||
criteria IsVortigaunt VortigauntShot
|
||||
response VortigauntShot
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPain"
|
||||
|
||||
{
|
||||
// sentence "VORT_PAIN" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntPain
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPain
|
||||
response VortigauntPain
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntDie"
|
||||
|
||||
{
|
||||
// sentence "VORT_DIE" defaultdelay
|
||||
|
||||
}
|
||||
|
||||
rule VortigauntDie
|
||||
{
|
||||
criteria IsVortigaunt VortigauntDie
|
||||
response VortigauntDie
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntKill"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/forthefm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/forfreedom.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/tethercut.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/troubleus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/dreamed.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/energyempower.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/empowerus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/surge.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/yes.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/passon.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/nodenexus.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/returntoall.vcd" delay 4
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntKill
|
||||
{
|
||||
criteria IsVortigaunt VortigauntKill
|
||||
response VortigauntKill
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntLineOfFire"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/cautionfm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/caution.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmbeware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/ware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmmustbeware.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/warefm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fminway.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/standclear.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/fmmustmove.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/warningfm.vcd" delay 4
|
||||
scene "scenes/npc/vortigaunt/cannotfire.vcd" delay 4
|
||||
|
||||
}
|
||||
|
||||
rule VortigauntLineOfFire
|
||||
{
|
||||
criteria IsVortigaunt VortigauntLineOfFire
|
||||
response VortigauntLineOfFire
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPOk"
|
||||
|
||||
{
|
||||
// sentence "VORT_POK" soundlevel "SNDLVL_NORM" delay "2"
|
||||
}
|
||||
|
||||
rule VortigauntPOk
|
||||
{
|
||||
criteria IsVortigaunt VortigauntPOk
|
||||
response VortigauntLineOfFire
|
||||
}
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Misc speech
|
||||
//============================================================================================================
|
||||
response "VortigauntIdle"
|
||||
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/poet.vcd"
|
||||
scene "scenes/npc/vortigaunt/hopeless.vcd"
|
||||
scene "scenes/npc/vortigaunt/alldear.vcd"
|
||||
scene "scenes/npc/vortigaunt/prevail.vcd"
|
||||
scene "scenes/npc/vortigaunt/seenworse.vcd"
|
||||
scene "scenes/npc/vortigaunt/persevere.vcd"
|
||||
scene "scenes/npc/vortigaunt/worthless.vcd"
|
||||
scene "scenes/npc/vortigaunt/whereto.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntTlkIdle
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkIdle
|
||||
response VortigauntIdle
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
rule VortigauntPlayerIdle
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPIdle
|
||||
response NullResponse
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntStare"
|
||||
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/optical.vcd"
|
||||
scene "scenes/npc/vortigaunt/unclear.vcd"
|
||||
scene "scenes/npc/vortigaunt/opaque.vcd"
|
||||
scene "scenes/npc/vortigaunt/rememberus.vcd"
|
||||
scene "scenes/npc/vortigaunt/stillhere.vcd"
|
||||
scene "scenes/npc/vortigaunt/calm.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStare
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStare
|
||||
response VortigauntStare
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntOk"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/itishonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/wehonored.vcd"
|
||||
scene "scenes/npc/vortigaunt/ourhonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/honorfollow.vcd"
|
||||
scene "scenes/npc/vortigaunt/accompany.vcd"
|
||||
scene "scenes/npc/vortigaunt/gladly.vcd"
|
||||
scene "scenes/npc/vortigaunt/pleasure.vcd"
|
||||
scene "scenes/npc/vortigaunt/wefollowfm.vcd"
|
||||
scene "scenes/npc/vortigaunt/honorours.vcd"
|
||||
scene "scenes/npc/vortigaunt/gloriousend.vcd"
|
||||
scene "scenes/npc/vortigaunt/bodyyours.vcd"
|
||||
scene "scenes/npc/vortigaunt/allwehave.vcd"
|
||||
scene "scenes/npc/vortigaunt/weareyours.vcd"
|
||||
scene "scenes/npc/vortigaunt/dedicate.vcd"
|
||||
scene "scenes/npc/vortigaunt/mutual.vcd"
|
||||
scene "scenes/npc/vortigaunt/leadus.vcd"
|
||||
scene "scenes/npc/vortigaunt/onward.vcd"
|
||||
scene "scenes/npc/vortigaunt/forward.vcd"
|
||||
scene "scenes/npc/vortigaunt/propitious.vcd"
|
||||
scene "scenes/npc/vortigaunt/leadon.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmhonorsus.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmdoesushonor.vcd"
|
||||
scene "scenes/npc/vortigaunt/yesforward.vcd"
|
||||
scene "scenes/npc/vortigaunt/wewillhelp.vcd"
|
||||
scene "scenes/npc/vortigaunt/assent.vcd"
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStartFollow
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStartFollow
|
||||
response VortigauntOk
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntWait"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/canconvince.vcd"
|
||||
scene "scenes/npc/vortigaunt/fmknowsbest.vcd"
|
||||
scene "scenes/npc/vortigaunt/willremain.vcd"
|
||||
scene "scenes/npc/vortigaunt/fearfailed.vcd"
|
||||
scene "scenes/npc/vortigaunt/servebetterhere.vcd"
|
||||
scene "scenes/npc/vortigaunt/certainly.vcd"
|
||||
scene "scenes/npc/vortigaunt/herewestay.vcd"
|
||||
scene "scenes/npc/vortigaunt/asyouwish.vcd"
|
||||
scene "scenes/npc/vortigaunt/ourplacehere.vcd"
|
||||
scene "scenes/npc/vortigaunt/affirmed.vcd"
|
||||
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkStopFollow
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStopFollow
|
||||
response VortigauntWait
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntStop"
|
||||
|
||||
{
|
||||
// sentence "VORT_STOP" delay "2,2.5" soundlevel "SNDLVL_NORM"
|
||||
}
|
||||
|
||||
rule VortigauntTlkStop
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkStop
|
||||
response VortigauntStop
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntScared"
|
||||
|
||||
{
|
||||
// sentence "VORT_SCARED" delay "0,0.4"
|
||||
}
|
||||
|
||||
rule VortigauntTlkNoShoot
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkNoShoot
|
||||
response VortigauntScared
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureA"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREA" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt1
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt1
|
||||
response VortigauntCureA
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureB"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREB" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt2
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt2
|
||||
response VortigauntCureB
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntCureC"
|
||||
|
||||
{
|
||||
// sentence "VORT_CUREC" defaultdelay speakonce
|
||||
}
|
||||
|
||||
rule VortigauntPlayerHurt3
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPlayerHurt3
|
||||
response VortigauntCureC
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntPQuest"
|
||||
|
||||
{
|
||||
// sentence "VORT_PQUEST" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntPlayerQuestion
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkPQuestion
|
||||
response VortigauntPQuest
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntSmell"
|
||||
|
||||
{
|
||||
// sentence "VORT_SMELL" defaultdelay respeakdelay "60"
|
||||
}
|
||||
|
||||
rule VortigauntTlkSmell
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkSmell
|
||||
response VortigauntSmell
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntWound"
|
||||
|
||||
{
|
||||
// sentence "VORT_WOUND" speakonce defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkWound
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkWound
|
||||
response VortigauntWound
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntMortal"
|
||||
|
||||
{
|
||||
// sentence "VORT_MORTAL" speakonce defaultdelay
|
||||
}
|
||||
|
||||
|
||||
rule VortigauntTlkMortal
|
||||
{
|
||||
criteria IsVortigaunt ConceptTalkMortal
|
||||
response VortigauntMortal
|
||||
}
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt Leader speech (a vortigaunt that's leading the player somewhere)
|
||||
//============================================================================================================
|
||||
|
||||
response "VortigauntLeadStart"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/fmmustfollow.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntLeadStart
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadStart
|
||||
response VortigauntLeadStart
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntLeadCatchup"
|
||||
{
|
||||
scene "scenes/npc/vortigaunt/yesforward.vcd"
|
||||
scene "scenes/npc/vortigaunt/followfm.vcd"
|
||||
}
|
||||
|
||||
rule VortigauntLeadCatchup
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadCatchup
|
||||
response VortigauntLeadCatchup
|
||||
}
|
||||
|
||||
|
||||
|
||||
//============================================================================================================
|
||||
// Vortigaunt coast specific speech
|
||||
//============================================================================================================
|
||||
response "VortigauntExtractBugbait"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_extract01.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkExtractBugbait
|
||||
{
|
||||
criteria IsVortigaunt VortigauntExtractBugbait
|
||||
response VortigauntExtractBugbait
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntExtractBugbaitFinish"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_podsforyou01.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkExtractBugbaitFinish
|
||||
{
|
||||
criteria IsVortigaunt VortigauntExtractBugbaitFinish
|
||||
response VortigauntExtractBugbaitFinish
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
response "VortigauntGetBugbait"
|
||||
{
|
||||
scene "scenes/coast/bugbait/vort_podnag.vcd" defaultdelay
|
||||
}
|
||||
|
||||
rule VortigauntTlkLeadGetBugbait
|
||||
{
|
||||
criteria IsVortigaunt ConceptLeadMissingWeapon
|
||||
response VortigauntGetBugbait
|
||||
}
|
||||
262
sp/game/mod_hl2/scripts/talker/response_rules.txt
Normal file
262
sp/game/mod_hl2/scripts/talker/response_rules.txt
Normal file
@@ -0,0 +1,262 @@
|
||||
// This is the base rule script file for the AI response system for Expressive AI's who speak based on certain "Concepts"
|
||||
// You can think of a concept as a high level state that the code is trying to convey, such as say hello, or say you're mad, etc.
|
||||
//
|
||||
// The format of this file is that there are five main types of commands:
|
||||
// 1) #include "filename" // This just causes the included scriptfile to be parsed and added to the database
|
||||
// 2) enumeration: this declares an enumerated type so that comparisons can be matched against the string versions of the type
|
||||
// 3) response: this specifies a response to issue. A response consists of a weighted set of options and can recursively reference
|
||||
// other responses by name
|
||||
// 4) criterion: This is a match condition
|
||||
// 5) rule: a rule consists of one or more criteria and a response
|
||||
//
|
||||
// In general, the system is presented with a criteria set, which is a set of key value pairs generated by the game code and
|
||||
// various entity I/O and keyfields. For instance, the following criteria set was created in a map with a train terminal
|
||||
// "speaker" entity wishing to fire random station announcements
|
||||
// concept = 'train_speaker' (weight 5.000000) ; the high level concept for the search request
|
||||
// map = 'terminal_pa' ; the name of the map
|
||||
// classname = 'speaker' ; the classname and name of the "speaking" entity
|
||||
// name = 'terminal_pa'
|
||||
// health = '10' ; the absolute health of the speaking entity
|
||||
// healthfrac = '0.000' ; the health fraction (health/maxhealth) of the speaking entity
|
||||
// playerhealth = '100' ; similar data related to the current player:
|
||||
// playerhealthfrac = '1.000'
|
||||
// playerweapon = 'none' ; the name of the weapon the player is carrying
|
||||
// playeractivity = 'ACT_WALK' ; animating activity of the player
|
||||
// playerspeed = '0.000' ; how fast the player is moving
|
||||
//
|
||||
// Based on such a criteria set, the system checks each rule against the set. To do this, each criterion of the rule is
|
||||
// given a numeric score as follows:
|
||||
// score = 0 if criteria doesn't match or, criterion weight * keyvaliue weight if it does match
|
||||
// The final score for a rule is the sum of all of the scores of its criteria. The best rule is the one with the highest
|
||||
// score. Once a best rule is selected, then a response is looked up based on the response definitions and the engine is
|
||||
// asked to dispatch that response.
|
||||
//
|
||||
// The specific syntax for the various keywords is as follows:
|
||||
//
|
||||
// ENUMERATIONS:
|
||||
//
|
||||
// enumeration <enumerationname>
|
||||
// {
|
||||
// "key1" "value1"
|
||||
// "key2" "value2"
|
||||
// ...etc.
|
||||
// }
|
||||
// The code and criteria refer to enumerations with square brackets and a double colon separator, e.g.:
|
||||
// [enumerationname::key1]
|
||||
//
|
||||
//
|
||||
// RESPONSES:
|
||||
//
|
||||
// Single line:
|
||||
// response <responsegroupname> [nodelay | defaultdelay | delay interval ] [speakonce] [noscene] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] responsetype parameters
|
||||
// Multiple lines
|
||||
// response <responsegroupname>
|
||||
// {
|
||||
// [permitrepeats] ; optional parameter, by default we visit all responses in group before repeating any
|
||||
// [sequential] ; optional parameter, by default we randomly choose responses, but with this we walk through the list starting at the first and going to the last
|
||||
// [norepeat] ; Once we've run through all of the entries, disable the response group
|
||||
// responsetype1 parameters1 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
|
||||
// responsetype2 parameters2 [nodelay | defaultdelay | delay interval ] [speakonce] [odds nnn] [respeakdelay interval] [soundelvel "SNDLVL_xxx"] [displayfirst] [ displaylast ] weight nnn
|
||||
// etc.
|
||||
// }
|
||||
// Where:
|
||||
// interval = "startnumber,endnumber" or "number" (e.g., "2.8,3.2" or "3.2")
|
||||
// responsetype =:
|
||||
// speak ; it's an entry in sounds.txt
|
||||
// sentence ; it's a sentence name from sentences.txt
|
||||
// scene ; it's a .vcd file
|
||||
// response ; it's a reference to another response group by name
|
||||
// print ; print the text in developer 2 (for placeholder responses)
|
||||
// nodelay = an additional delay of 0 after speaking
|
||||
// defaultdelay = an additional delay of 2.8 to 3.2 seconds after speaking
|
||||
// delay interval = an additional delay based on a random sample from the interval after speaking
|
||||
// speakonce = don't use this response more than one time (default off)
|
||||
// noscene = For an NPC, play the sound immediately using EmitSound, don't play it through the scene system. Good for playing sounds on dying or dead NPCs.
|
||||
// odds = if this response is selected, if odds < 100, then there is a chance that nothing will be said (default 100)
|
||||
// respeakdelay = don't use this response again for at least this long (default 0)
|
||||
// soundlevel = use this soundlevel for the speak/sentence (default SNDLVL_TALKING)
|
||||
// weight = if there are multiple responses, this is a selection weighting so that certain responses are favored over others in the group (default 1)
|
||||
// displayfirst/displaylast : this should be the first/last item selected (ignores weight)
|
||||
//
|
||||
// CRITERIA:
|
||||
//
|
||||
// criterion <criterionname> <matchkey> <matchvalue> weight nnn required
|
||||
// Where:
|
||||
// matchkey matches one of the criteria in the set as shown above
|
||||
// matchvalue is a string or number value or a range, the following are all valid:
|
||||
// "0" ; numeric match to value 0
|
||||
// "1" ; numeric match to value 1
|
||||
// "weapon_smg1" ; string match to weapon_smg1 string
|
||||
// "[npcstate::idle]" ; match enumeration by looking up numeric value
|
||||
// ">0" ; match if greater than zero
|
||||
// ">10,<=50" ; match if greater than ten and less than or equal to 50
|
||||
// ">0,<[npcstate::alert]" ; match if greater than zer and les then value of enumeration for alert
|
||||
// "!=0" ; match if not equal to zero
|
||||
// weight = floating point weighting for score assuming criteria match (default value 1.0)
|
||||
// required: if a rule has one or more criteria with the required flag set, then if any such criteria
|
||||
// fail, the entire rule receives a score of zero
|
||||
//
|
||||
// RULE:
|
||||
//
|
||||
// rule <rulename>
|
||||
// {
|
||||
// criteria name1 [name2 name3 etc.]
|
||||
// response responsegroupname [responsegroupname2 etc.]
|
||||
// [matchonce] ; optional parameter
|
||||
// [ <matchkey > <matchvalue> weight nnn required ]
|
||||
// }
|
||||
// Where:
|
||||
// criteria just lies one more more criterion names from above and response list one or more of the response
|
||||
// names from above (usually just one)
|
||||
// matchonce (off by default): means that the rule is deactivated after the first time it is matched
|
||||
// Note that additional "unnamed" criteria can be specified inline in the rule using the same syntax
|
||||
// as for defining a criterion, except for the criterion keyword and the criterion name keys
|
||||
//
|
||||
// Interaction with entity I/O system
|
||||
// CBaseEntity contains an inputfunc called "DispatchResponse" which accepts a string which is a concept name
|
||||
// Thus, a game entity can fire this input on another entity with a concept string and a criteria set will
|
||||
// be generated and searched against the entities current response system rule set.
|
||||
// Right now only the speaker entity and NPC_Talker derived NPCs have any response rules loaded
|
||||
// In addition, map placed entities have up to three "context" keypairs that can be specified.
|
||||
// They take the form: "key:value" (key, single colon separator, value)
|
||||
// When an entity with any such context keypairs is asked to dispatch a response, the keypairs are added to the
|
||||
// criteria set passed to the rule system. Thus, map placed entities and triggers can specify their
|
||||
// own context keypairs and these can be hooked up to response rules to do map-specific and appropriate
|
||||
// responses
|
||||
// In addition, entity I/O can be used to add, remove and clear any such context keypairs via the
|
||||
// AddContext, RemoveContext, and ClearContext input functions.
|
||||
// AddContext takes a keypair of the "key:value" format, while RemoveContext take just the "key"
|
||||
// ClearContext removes all context keypairs
|
||||
// The game .dll code can enumerate context keypairs and change them via code based methods
|
||||
//
|
||||
// The player and the world have their context added with the string player or world as a prefix, e.g.:
|
||||
// "playerkey:value" or "worldkey:value" to differentiate world/player context from the context of the
|
||||
// responding entity.
|
||||
|
||||
// Base script
|
||||
enumeration "NPCState"
|
||||
{
|
||||
"None" "0"
|
||||
"Idle" "1"
|
||||
"Alert" "2"
|
||||
"Combat" "3"
|
||||
"Scripted" "4"
|
||||
"PlayDead" "5"
|
||||
"Dead" "6"
|
||||
}
|
||||
|
||||
response "NullResponse"
|
||||
|
||||
// Question / Answer concepts
|
||||
criterion "ConceptTalkAnswer" "Concept" "TLK_ANSWER" required weight 1
|
||||
criterion "ConceptTalkQuestion" "Concept" "TLK_QUESTION" required // weight 1 implied
|
||||
criterion "ConceptTalkAnswerCitizen" "Concept" "TLK_ANSWER_CIT" required weight 1
|
||||
criterion "ConceptTalkQuestionCitizen" "Concept" "TLK_QUESTION_CIT" required
|
||||
criterion "ConceptTalkAnswerVort" "Concept" "TLK_ANSWER_VORT" required weight 1
|
||||
criterion "ConceptTalkQuestionVort" "Concept" "TLK_QUESTION_VORT" required
|
||||
|
||||
// General concepts
|
||||
criterion "ConceptTalkIdle" "Concept" "TLK_IDLE" required
|
||||
criterion "ConceptTalkStare" "Concept" "TLK_STARE" required
|
||||
criterion "ConceptTalkUse" "Concept" "TLK_USE" required
|
||||
criterion "ConceptTalkStartFollow" "Concept" "TLK_STARTFOLLOW" required
|
||||
criterion "ConceptTalkStopFollow" "Concept" "TLK_STOPFOLLOW" required
|
||||
criterion "ConceptTalkStop" "Concept" "TLK_STOP" required
|
||||
criterion "ConceptTalkNoShoot" "Concept" "TLK_NOSHOOT" required
|
||||
criterion "ConceptTalkHello" "Concept" "TLK_HELLO" required
|
||||
criterion "ConceptTalkPHello" "Concept" "TLK_PHELLO" required
|
||||
criterion "ConceptTalkPIdle" "Concept" "TLK_PIDLE" required
|
||||
criterion "ConceptTalkPQuestion" "Concept" "TLK_PQUESTION" required
|
||||
criterion "ConceptTalkPlayerHurt1" "Concept" "TLK_PLHURT1" required
|
||||
criterion "ConceptTalkPlayerHurt2" "Concept" "TLK_PLHURT2" required
|
||||
criterion "ConceptTalkPlayerHurt3" "Concept" "TLK_PLHURT3" required
|
||||
criterion "ConceptTalkPlayerPushed" "Concept" "TLK_PLPUSH" required
|
||||
criterion "ConceptTalkSmell" "Concept" "TLK_SMELL" required
|
||||
criterion "ConceptTalkWound" "Concept" "TLK_WOUND" required
|
||||
criterion "ConceptTalkMortal" "Concept" "TLK_MORTAL" required
|
||||
criterion "ConceptTalkDanger" "Concept" "TLK_DANGER" required
|
||||
criterion "ConceptTalkResume" "Concept" "TLK_RESUME" required
|
||||
criterion "ConceptTalkHeal" "Concept" "TLK_HEAL" required
|
||||
criterion "ConceptTalkTourGuideStayPut" "Concept" "TLK_TGSTAYPUT" required
|
||||
criterion "ConceptTalkTourGuideFind" "Concept" "TLK_TGFIND" required
|
||||
criterion "ConceptTalkTourGuideSeek" "Concept" "TLK_TGSEEK" required
|
||||
criterion "ConceptTalkTourGuideLostYou" "Concept" "TLK_TGLOSTYOU" required
|
||||
criterion "ConceptTalkTourGuideCatchUp" "Concept" "TLK_TGCATCHUP" required
|
||||
criterion "ConceptTalkTourGuideEndTour" "Concept" "TLK_TGENDTOUR" required
|
||||
criterion "ConceptTalkSelected" "Concept" "TLK_SELECTED" required
|
||||
criterion "ConceptTalkCommanded" "Concept" "TLK_COMMANDED" required
|
||||
criterion "ConceptTalkCommandFailed" "Concept" "TLK_COMMAND_FAILED" required
|
||||
criterion "ConceptTalkBetrayed" "Concept" "TLK_BETRAYED" required
|
||||
criterion "ConceptTalkGiveAmmo" "Concept" "TLK_GIVEAMMO" required
|
||||
criterion "ConceptTalkAllyKilled" "Concept" "TLK_ALLY_KILLED" required
|
||||
criterion "ConceptSeeCombine" "Concept" "TLK_SEE_COMBINE" required
|
||||
criterion "ConceptEnemyDead" "Concept" "TLK_ENEMY_DEAD" required
|
||||
criterion "ConceptTalkWatchOut" "Concept" "TLK_WATCHOUT" required
|
||||
criterion "ConceptTalkAttacking" "Concept" "TLK_ATTACKING" required
|
||||
criterion "ConceptTalkDeath" "Concept" "TLK_DEATH" required
|
||||
criterion "ConceptTalkHelpMe" "Concept" "TLK_HELP_ME" required
|
||||
criterion "ConceptTalkPlayerPhysAttack" "Concept" "TLK_PLYR_PHYSATK" required
|
||||
criterion "ConceptDissolveScream" "Concept" "TLK_DISSOLVESCREAM" required
|
||||
criterion "ConceptElectrocuteScream" "Concept" "TLK_ELECTROCUTESCREAM" required
|
||||
criterion "ConceptNewWeapon" "Concept" "TLK_NEWWEAPON" required
|
||||
criterion "ConceptShot" "Concept" "TLK_SHOT" required
|
||||
criterion "ConceptPlayerReload" "Concept" "TLK_PLRELOAD" required
|
||||
criterion "ConceptPlayerDead" "Concept" "TLK_PLDEAD" required
|
||||
criterion "ConceptHideAndReload" "Concept" "TLK_HIDEANDRELOAD" required
|
||||
criterion "ConceptStartCombat" "Concept" "TLK_STARTCOMBAT" required
|
||||
criterion "ConceptJoinPlayer" "Concept" "TLK_JOINPLAYER" required
|
||||
|
||||
// Lead behavior
|
||||
criterion "ConceptLeadStart" "Concept" "TLK_LEAD_START" required // Spoken once when the NPC first starts to lead the player
|
||||
criterion "ConceptLeadWaitOver" "Concept" "TLK_LEAD_WAITOVER" required // Spoken when the player arrives at an NPC waiting to lead the player
|
||||
criterion "ConceptLeadAttractPlayer" "Concept" "TLK_LEAD_ATTRACTPLAYER" required // Nag spoken by a NPC waiting to lead the player, trying to attract the player
|
||||
criterion "ConceptLeadCatchup" "Concept" "TLK_LEAD_CATCHUP" required // Spoken by the NPC when the player's lagging behind
|
||||
criterion "ConceptLeadComingBack" "Concept" "TLK_LEAD_COMINGBACK" required // Spoken when the NPC comes back to find a lost player
|
||||
criterion "ConceptLeadRetrieve" "Concept" "TLK_LEAD_RETRIEVE" required // Spoken when the NPC has come back to the player, and is now resuming the lead
|
||||
criterion "ConceptLeadArrival" "Concept" "TLK_LEAD_ARRIVAL" required // Spoken when the leading NPC reaches the target point
|
||||
criterion "ConceptLeadSuccess" "Concept" "TLK_LEAD_SUCCESS" required // Spoken when the player and the leading NPC have both reached the target point
|
||||
criterion "ConceptLeadMissingWeapon" "Concept" "TLK_LEAD_MISSING_WEAPON" required // Spoken when the NPC refuses to lead the player because he's missing a weapon
|
||||
|
||||
// Citizen responses
|
||||
criterion "ConceptCRPlayerShotGunship" "Concept" "TLK_CITIZEN_RESPONSE_SHOT_GUNSHIP" required
|
||||
criterion "ConceptCRPlayerKilledGunship" "Concept" "TLK_CITIZEN_RESPONSE_KILLEd_GUNSHIP" required
|
||||
criterion "ConceptCRVitalNPCDied" "Concept" "TLK_VITALNPC_DIED" required
|
||||
|
||||
criterion "PlayerAlive" "PlayerHealth" ">0" required
|
||||
criterion "PlayerDead" "PlayerHealth" "<=0" required
|
||||
criterion "PlayerWounded" "PlayerHealthFrac" ">0,<=.5"
|
||||
criterion "NPCAlive" "Health" ">0" required
|
||||
criterion "NPCAlert" "NPCState" ">=[NPCState::Idle],<[NPCState::Alert]"
|
||||
criterion "NPCIdle" "NPCState" "[NPCState::Idle]" required
|
||||
criterion "PlayerNear" "distancetoplayer" "<500" required
|
||||
criterion "SeePlayer" "seeplayer" "1" required
|
||||
criterion "SeenByPlayer" "seenbyplayer" "1" required
|
||||
criterion "NoRecentCombat" "timesincecombat" ">25" required
|
||||
|
||||
criterion "ShotInLeg" "shotloc" "leg" required weight 0
|
||||
criterion "ShotInArm" "shotloc" "arm" required weight 0
|
||||
criterion "ShotInGut" "shotloc" "gut" required weight 0
|
||||
|
||||
criterion "EnemyIsMortar" "enemy" "func_tankmortar" required
|
||||
|
||||
criterion "NotUsedVortResponse" "UsedVortResponse" "!=1" "required" weight 0
|
||||
criterion "IsVortLabUseDisable" "VortLab_Enable" "0" weight 2 required
|
||||
|
||||
// Global states
|
||||
criterion "IsGordonCriminal" "gordon_precriminal" "0" required
|
||||
criterion "IsGordonPreCriminal" "gordon_precriminal" "1" required
|
||||
|
||||
criterion "IsMap_d3_c17_09" "map" "d3_c17_09" "required"
|
||||
|
||||
// Test rules
|
||||
#include "talker/interjections.txt"
|
||||
|
||||
#include "talker/npc_combine.txt"
|
||||
#include "talker/response_k_lab.txt"
|
||||
#include "talker/response_eli_lab.txt"
|
||||
#include "talker/npc_vortigaunt.txt"
|
||||
#include "talker/npc_citizen.txt"
|
||||
#include "talker/npc_grigori.txt"
|
||||
#include "talker/npc_barney.txt"
|
||||
#include "talker/npc_alyx.txt"
|
||||
|
||||
294
sp/game/mod_hl2/scripts/titles.txt
Normal file
294
sp/game/mod_hl2/scripts/titles.txt
Normal file
@@ -0,0 +1,294 @@
|
||||
//TITLES FOR HALF-LIFE 2
|
||||
// Position command $position x y
|
||||
// x & y are from 0 to 1 to be screen resolution independent
|
||||
// -1 means center in each dimension
|
||||
// Effect command $effect <effect number>
|
||||
// effect 0 is fade in/fade out
|
||||
// effect 1 is flickery credits
|
||||
// effect 2 is write out (training room)
|
||||
// Text color r g b command $color
|
||||
// fadein time fadeout time / hold time
|
||||
// $fadein (message fade in time - per character in effect 2)
|
||||
// $fadeout (message fade out time)
|
||||
// $holdtime (stay on the screen for this long)
|
||||
|
||||
//INTRO TITLES
|
||||
// All centered for now
|
||||
$position -1 -1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.01
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.25
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.5
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 1.5
|
||||
|
||||
|
||||
//INTRO CREDITS
|
||||
// Test values -- JAY
|
||||
// Lower left
|
||||
$position 0.1 0.8
|
||||
$effect 1
|
||||
// Final fade-in color
|
||||
$color 128 128 128
|
||||
// This is the highlight/flash color
|
||||
$color2 0 0 0
|
||||
$fadein 1.5
|
||||
$fadeout 0.5
|
||||
$holdtime 1.2
|
||||
|
||||
CR1
|
||||
{
|
||||
Testing 1
|
||||
}
|
||||
|
||||
CR2
|
||||
{
|
||||
Testing 2
|
||||
}
|
||||
|
||||
CR3
|
||||
{
|
||||
Testing 3
|
||||
}
|
||||
|
||||
|
||||
//INTRO TITLES
|
||||
// All centered for now
|
||||
$position -1 -1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.01
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.25
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.5
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 1.5
|
||||
|
||||
|
||||
GAMEOVER_ALLY
|
||||
{
|
||||
#HL2_GameOver_Ally
|
||||
}
|
||||
|
||||
GAMEOVER_OBJECT
|
||||
{
|
||||
#HL2_GameOver_Object
|
||||
}
|
||||
|
||||
GAMEOVER_TIMER
|
||||
{
|
||||
#HL2_GameOver_Timer
|
||||
}
|
||||
|
||||
GAMEOVER_STUCK
|
||||
{
|
||||
#HL2_GameOver_Stuck
|
||||
}
|
||||
|
||||
|
||||
$fadein 0.03
|
||||
$holdtime 9
|
||||
|
||||
|
||||
//CHAPTER TITLES
|
||||
|
||||
$fadein 0.01
|
||||
$holdtime 3.5
|
||||
$position -1 0.58
|
||||
|
||||
CHAPTER1_TITLE
|
||||
{
|
||||
#HL2_Chapter1_Title
|
||||
}
|
||||
|
||||
CHAPTER2_TITLE
|
||||
{
|
||||
#HL2_Chapter2_Title
|
||||
}
|
||||
|
||||
CHAPTER3_TITLE
|
||||
{
|
||||
#HL2_Chapter3_Title
|
||||
}
|
||||
|
||||
CHAPTER4_TITLE
|
||||
{
|
||||
#HL2_Chapter4_Title
|
||||
}
|
||||
|
||||
CHAPTER5_TITLE
|
||||
{
|
||||
#HL2_Chapter5_Title
|
||||
}
|
||||
|
||||
CHAPTER6_TITLE
|
||||
{
|
||||
#HL2_Chapter6_Title
|
||||
}
|
||||
|
||||
CHAPTER7_TITLE
|
||||
{
|
||||
#HL2_Chapter7_Title
|
||||
}
|
||||
|
||||
CHAPTER8_TITLE
|
||||
{
|
||||
#HL2_Chapter8_Title
|
||||
}
|
||||
|
||||
CHAPTER9_TITLE
|
||||
{
|
||||
#HL2_Chapter9_Title
|
||||
}
|
||||
|
||||
CHAPTER9A_TITLE
|
||||
{
|
||||
#HL2_Chapter9a_Title
|
||||
}
|
||||
|
||||
|
||||
CHAPTER10_TITLE
|
||||
{
|
||||
#HL2_Chapter10_Title
|
||||
}
|
||||
|
||||
CHAPTER11_TITLE
|
||||
{
|
||||
#HL2_Chapter11_Title
|
||||
}
|
||||
|
||||
CHAPTER12_TITLE
|
||||
{
|
||||
#HL2_Chapter12_Title
|
||||
}
|
||||
|
||||
CHAPTER13_TITLE
|
||||
{
|
||||
#HL2_Chapter13_Title
|
||||
}
|
||||
|
||||
|
||||
// In-Game messages
|
||||
$position 0.1 0.1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.00
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.15
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 1.0
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 0.25
|
||||
|
||||
$boxsize 0.4
|
||||
$boxcolor 31 31 31 127
|
||||
|
||||
GAMESAVING_360
|
||||
{
|
||||
#HL2_Saved
|
||||
}
|
||||
|
||||
$position -1 0.65
|
||||
|
||||
GAMESAVING
|
||||
{
|
||||
#HL2_Saved
|
||||
}
|
||||
|
||||
// In-Game messages
|
||||
$position 0.1 0.1
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 240 110 0
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.00
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.15
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 1.0
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 0.25
|
||||
|
||||
$boxsize 0.4
|
||||
$boxcolor 31 31 31 127
|
||||
|
||||
// The following message will clear any existing message of the given name
|
||||
$clearmessage GAMESAVING
|
||||
|
||||
GAMESAVED_360
|
||||
{
|
||||
#HL2_Saved
|
||||
}
|
||||
|
||||
$position -1 0.65
|
||||
|
||||
GAMESAVED
|
||||
{
|
||||
#HL2_Saved
|
||||
}
|
||||
|
||||
$clearmessage 0
|
||||
|
||||
// Game title
|
||||
// This is a placeholder to hold the effects controls for the "Half-Life" title
|
||||
$position -1 -1
|
||||
// Only effect 0 is supported for game title
|
||||
$effect 0
|
||||
// This is the final color
|
||||
$color 180 180 180
|
||||
// Not used color2
|
||||
$color2 0 0 0
|
||||
// This is the time it takes to fade in the title
|
||||
$fadein 1.0
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.0
|
||||
// How long it takes to fade out the message after holding
|
||||
$fadeout 1.5
|
||||
|
||||
$boxsize 0.0
|
||||
|
||||
GAMETITLE
|
||||
{
|
||||
Half-Life
|
||||
}
|
||||
|
||||
//HAZARD COURSE TEXT
|
||||
|
||||
// Test values -- JAY
|
||||
$position -1 0.65
|
||||
// Scan-out text effect
|
||||
$effect 2
|
||||
// This is the final color
|
||||
$color 100 100 100
|
||||
// This is the highlight color
|
||||
$color2 0 200 50
|
||||
// This is the time it takes to fade each character
|
||||
$fadein 0.005
|
||||
// This is the amount of time the highlight lags behind the leading edge of the text
|
||||
$fxtime 0.5
|
||||
// How long to hold the message on the screen (after it scans out)
|
||||
$holdtime 3.5
|
||||
// How long it takes to fade out the message after holding
|
||||
|
||||
$fadeout 1.5
|
||||
$position -1 0.65
|
||||
$position -1 0.3
|
||||
|
||||
42
sp/game/mod_hl2/scripts/vgui_screens.txt
Normal file
42
sp/game/mod_hl2/scripts/vgui_screens.txt
Normal file
@@ -0,0 +1,42 @@
|
||||
"VGUI_Screens"
|
||||
{
|
||||
// This name here can be referenced from within a
|
||||
// vgui_screen entity to select this vgui panel
|
||||
"vgui_test_screen"
|
||||
{
|
||||
// The type indicates which type of panel to create
|
||||
// Coders will add new types as time goes by.
|
||||
// "vgui_screen_panel" is a generic panel type which can
|
||||
// read in .res files that have been built by VGUI's build mode dialog.
|
||||
"type" "vgui_screen_panel"
|
||||
|
||||
// These describe the dimensions of the screen *in pixels*
|
||||
"pixelswide" 480
|
||||
"pixelshigh" 240
|
||||
|
||||
// This is the name of the .res file to load up and apply to the vgui panel
|
||||
"resfile" "scripts/screens/vgui_test_screen.res"
|
||||
}
|
||||
|
||||
"teleport_countdown_screen"
|
||||
{
|
||||
// Defined in c_info_teleporter_countdown.cpp
|
||||
"type" "teleport_countdown_screen"
|
||||
|
||||
// These describe the dimensions of the screen *in pixels*
|
||||
"pixelswide" 480
|
||||
"pixelshigh" 240
|
||||
|
||||
// This is the name of the .res file to load up and apply to the vgui panel
|
||||
"resfile" "scripts/screens/teleport_countdown_screen.res"
|
||||
}
|
||||
|
||||
"slideshow_display_screen"
|
||||
{
|
||||
"type" "slideshow_display_screen"
|
||||
"pixelswide" 256
|
||||
"pixelshigh" 128
|
||||
"acceptsinput" 0
|
||||
"resfile" "scripts/screens/slideshow_display_screen.res"
|
||||
}
|
||||
}
|
||||
234
sp/src/EverythingSP_SDK-2010.sln
Normal file
234
sp/src/EverythingSP_SDK-2010.sln
Normal file
@@ -0,0 +1,234 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2)", "game\client\client_hl2-2010.vcxproj", "{09E5D61D-4897-7B98-288B-C87442D14BFF}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939} = {F69B3672-C5E8-CD1A-257F-253A25B5B939}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2)", "game\server\server_hl2-2010.vcxproj", "{C3EE918E-6836-5578-1FA2-5703048552B9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mathlib", "mathlib\mathlib-2010.vcxproj", "{BAB92FF0-D72A-D7E5-1988-74628D39B94F}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tier1", "tier1\tier1-2010.vcxproj", "{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Captioncompiler", "utils\captioncompiler\captioncompiler-2010.vcxproj", "{E85D01E5-DA1B-00A2-5D72-A9B6DEA9A995}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Glview", "utils\glview\glview-2010.vcxproj", "{DC76828F-1DD4-7E83-371E-EA4058FEE050}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Height2normal", "utils\height2normal\height2normal-2010.vcxproj", "{129A563E-9F48-79D9-E0C5-EE2DAF7FEAB7}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Motionmapper", "utils\motionmapper\motionmapper-2010.vcxproj", "{C805838C-256D-6672-3417-589B6AF7D95E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Phonemeextractor", "utils\phonemeextractor\phonemeextractor-2010.vcxproj", "{079933D6-F849-3176-49FC-D50E4B461AC4}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QC_Eyes", "utils\qc_eyes\qc_eyes-2010.vcxproj", "{EA02FAE0-2A4F-C7C8-6176-5DEDA8E139E9}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Serverplugin_empty", "utils\serverplugin_sample\serverplugin_empty-2010.vcxproj", "{394B82B6-3999-E576-5458-2D2EB4229509}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tgadiff", "utils\tgadiff\tgadiff-2010.vcxproj", "{C6A1B4E3-DFD8-CD7B-5CBF-D3267A96FF21}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vbsp", "utils\vbsp\vbsp-2010.vcxproj", "{E4F39B89-9731-571D-B69D-C1B8FE56C056}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vice", "utils\vice\vice-2010.vcxproj", "{03F753C0-8BA5-FF2B-D7D2-EE230B4683B1}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vrad_dll", "utils\vrad\vrad_dll-2010.vcxproj", "{90A78BD4-2532-39D9-6D34-7A3C2648508C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vrad_launcher", "utils\vrad_launcher\vrad_launcher-2010.vcxproj", "{0B6929D0-4447-E035-E47A-EBFCE557D5B3}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939} = {F69B3672-C5E8-CD1A-257F-253A25B5B939}
|
||||
{90A78BD4-2532-39D9-6D34-7A3C2648508C} = {90A78BD4-2532-39D9-6D34-7A3C2648508C}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vtf2tga", "utils\vtf2tga\vtf2tga-2010.vcxproj", "{6B017447-F682-A137-8DF4-4608281F2C9F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vtfdiff", "utils\vtfdiff\vtfdiff-2010.vcxproj", "{81EE9F71-4DFD-8670-B3EA-7B4E931E9845}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vvis_dll", "utils\vvis\vvis_dll-2010.vcxproj", "{AC70A841-561F-4DAE-7864-E50541AD99ED}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Vvis_launcher", "utils\vvis_launcher\vvis_launcher-2010.vcxproj", "{E3E2CF1C-9EE4-3173-C39F-D0D4F5483CB6}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{AC70A841-561F-4DAE-7864-E50541AD99ED} = {AC70A841-561F-4DAE-7864-E50541AD99ED}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vgui_controls", "vgui2\vgui_controls\vgui_controls-2010.vcxproj", "{F69B3672-C5E8-CD1A-257F-253A25B5B939}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (Episodic)", "game\client\client_episodic-2010.vcxproj", "{353A799F-E73F-7A69-07AD-B2AD57F3B775}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939} = {F69B3672-C5E8-CD1A-257F-253A25B5B939}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (Episodic)", "game\server\server_episodic-2010.vcxproj", "{7855B476-B6D4-535D-F7A9-D623245F8B07}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.Build.0 = Release|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.Build.0 = Release|Win32
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{BAB92FF0-D72A-D7E5-1988-74628D39B94F}.Release|Win32.Build.0 = Release|Win32
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}.Release|Win32.Build.0 = Release|Win32
|
||||
{E85D01E5-DA1B-00A2-5D72-A9B6DEA9A995}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E85D01E5-DA1B-00A2-5D72-A9B6DEA9A995}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E85D01E5-DA1B-00A2-5D72-A9B6DEA9A995}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E85D01E5-DA1B-00A2-5D72-A9B6DEA9A995}.Release|Win32.Build.0 = Release|Win32
|
||||
{DC76828F-1DD4-7E83-371E-EA4058FEE050}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DC76828F-1DD4-7E83-371E-EA4058FEE050}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DC76828F-1DD4-7E83-371E-EA4058FEE050}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DC76828F-1DD4-7E83-371E-EA4058FEE050}.Release|Win32.Build.0 = Release|Win32
|
||||
{129A563E-9F48-79D9-E0C5-EE2DAF7FEAB7}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{129A563E-9F48-79D9-E0C5-EE2DAF7FEAB7}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{129A563E-9F48-79D9-E0C5-EE2DAF7FEAB7}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{129A563E-9F48-79D9-E0C5-EE2DAF7FEAB7}.Release|Win32.Build.0 = Release|Win32
|
||||
{C805838C-256D-6672-3417-589B6AF7D95E}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C805838C-256D-6672-3417-589B6AF7D95E}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C805838C-256D-6672-3417-589B6AF7D95E}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C805838C-256D-6672-3417-589B6AF7D95E}.Release|Win32.Build.0 = Release|Win32
|
||||
{079933D6-F849-3176-49FC-D50E4B461AC4}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{079933D6-F849-3176-49FC-D50E4B461AC4}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{079933D6-F849-3176-49FC-D50E4B461AC4}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{079933D6-F849-3176-49FC-D50E4B461AC4}.Release|Win32.Build.0 = Release|Win32
|
||||
{EA02FAE0-2A4F-C7C8-6176-5DEDA8E139E9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EA02FAE0-2A4F-C7C8-6176-5DEDA8E139E9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EA02FAE0-2A4F-C7C8-6176-5DEDA8E139E9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EA02FAE0-2A4F-C7C8-6176-5DEDA8E139E9}.Release|Win32.Build.0 = Release|Win32
|
||||
{394B82B6-3999-E576-5458-2D2EB4229509}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{394B82B6-3999-E576-5458-2D2EB4229509}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{394B82B6-3999-E576-5458-2D2EB4229509}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{394B82B6-3999-E576-5458-2D2EB4229509}.Release|Win32.Build.0 = Release|Win32
|
||||
{C6A1B4E3-DFD8-CD7B-5CBF-D3267A96FF21}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C6A1B4E3-DFD8-CD7B-5CBF-D3267A96FF21}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C6A1B4E3-DFD8-CD7B-5CBF-D3267A96FF21}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C6A1B4E3-DFD8-CD7B-5CBF-D3267A96FF21}.Release|Win32.Build.0 = Release|Win32
|
||||
{E4F39B89-9731-571D-B69D-C1B8FE56C056}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E4F39B89-9731-571D-B69D-C1B8FE56C056}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E4F39B89-9731-571D-B69D-C1B8FE56C056}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E4F39B89-9731-571D-B69D-C1B8FE56C056}.Release|Win32.Build.0 = Release|Win32
|
||||
{03F753C0-8BA5-FF2B-D7D2-EE230B4683B1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{03F753C0-8BA5-FF2B-D7D2-EE230B4683B1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{03F753C0-8BA5-FF2B-D7D2-EE230B4683B1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{03F753C0-8BA5-FF2B-D7D2-EE230B4683B1}.Release|Win32.Build.0 = Release|Win32
|
||||
{90A78BD4-2532-39D9-6D34-7A3C2648508C}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{90A78BD4-2532-39D9-6D34-7A3C2648508C}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{90A78BD4-2532-39D9-6D34-7A3C2648508C}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{90A78BD4-2532-39D9-6D34-7A3C2648508C}.Release|Win32.Build.0 = Release|Win32
|
||||
{0B6929D0-4447-E035-E47A-EBFCE557D5B3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{0B6929D0-4447-E035-E47A-EBFCE557D5B3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{0B6929D0-4447-E035-E47A-EBFCE557D5B3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{0B6929D0-4447-E035-E47A-EBFCE557D5B3}.Release|Win32.Build.0 = Release|Win32
|
||||
{6B017447-F682-A137-8DF4-4608281F2C9F}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6B017447-F682-A137-8DF4-4608281F2C9F}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6B017447-F682-A137-8DF4-4608281F2C9F}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6B017447-F682-A137-8DF4-4608281F2C9F}.Release|Win32.Build.0 = Release|Win32
|
||||
{81EE9F71-4DFD-8670-B3EA-7B4E931E9845}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{81EE9F71-4DFD-8670-B3EA-7B4E931E9845}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{81EE9F71-4DFD-8670-B3EA-7B4E931E9845}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{81EE9F71-4DFD-8670-B3EA-7B4E931E9845}.Release|Win32.Build.0 = Release|Win32
|
||||
{AC70A841-561F-4DAE-7864-E50541AD99ED}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{AC70A841-561F-4DAE-7864-E50541AD99ED}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{AC70A841-561F-4DAE-7864-E50541AD99ED}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{AC70A841-561F-4DAE-7864-E50541AD99ED}.Release|Win32.Build.0 = Release|Win32
|
||||
{E3E2CF1C-9EE4-3173-C39F-D0D4F5483CB6}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{E3E2CF1C-9EE4-3173-C39F-D0D4F5483CB6}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{E3E2CF1C-9EE4-3173-C39F-D0D4F5483CB6}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{E3E2CF1C-9EE4-3173-C39F-D0D4F5483CB6}.Release|Win32.Build.0 = Release|Win32
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.Build.0 = Release|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.Build.0 = Release|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
26
sp/src/Game_Episodic-2010.sln
Normal file
26
sp/src/Game_Episodic-2010.sln
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (Episodic)", "game\client\client_episodic-2010.vcxproj", "{353A799F-E73F-7A69-07AD-B2AD57F3B775}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (Episodic)", "game\server\server_episodic-2010.vcxproj", "{7855B476-B6D4-535D-F7A9-D623245F8B07}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.Build.0 = Release|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
26
sp/src/Game_HL2-2010.sln
Normal file
26
sp/src/Game_HL2-2010.sln
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2)", "game\client\client_hl2-2010.vcxproj", "{09E5D61D-4897-7B98-288B-C87442D14BFF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2)", "game\server\server_hl2-2010.vcxproj", "{C3EE918E-6836-5578-1FA2-5703048552B9}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.Build.0 = Release|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
121
sp/src/common/GameUI/IGameUI.h
Normal file
121
sp/src/common/GameUI/IGameUI.h
Normal file
@@ -0,0 +1,121 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef IGAMEUI_H
|
||||
#define IGAMEUI_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "interface.h"
|
||||
#include "vgui/IPanel.h"
|
||||
|
||||
#if !defined( _X360 )
|
||||
#include "xbox/xboxstubs.h"
|
||||
#endif
|
||||
|
||||
// reasons why the user can't connect to a game server
|
||||
enum ESteamLoginFailure
|
||||
{
|
||||
STEAMLOGINFAILURE_NONE,
|
||||
STEAMLOGINFAILURE_BADTICKET,
|
||||
STEAMLOGINFAILURE_NOSTEAMLOGIN,
|
||||
STEAMLOGINFAILURE_VACBANNED,
|
||||
STEAMLOGINFAILURE_LOGGED_IN_ELSEWHERE
|
||||
};
|
||||
|
||||
enum ESystemNotify
|
||||
{
|
||||
SYSTEMNOTIFY_STORAGEDEVICES_CHANGED,
|
||||
SYSTEMNOTIFY_USER_SIGNEDIN,
|
||||
SYSTEMNOTIFY_USER_SIGNEDOUT,
|
||||
SYSTEMNOTIFY_XUIOPENING,
|
||||
SYSTEMNOTIFY_XUICLOSED,
|
||||
SYSTEMNOTIFY_INVITE_SHUTDOWN, // Cross-game invite is causing us to shutdown
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: contains all the functions that the GameUI dll exports
|
||||
//-----------------------------------------------------------------------------
|
||||
abstract_class IGameUI
|
||||
{
|
||||
public:
|
||||
// initialization/shutdown
|
||||
virtual void Initialize( CreateInterfaceFn appFactory ) = 0;
|
||||
virtual void PostInit() = 0;
|
||||
|
||||
// connect to other interfaces at the same level (gameui.dll/server.dll/client.dll)
|
||||
virtual void Connect( CreateInterfaceFn gameFactory ) = 0;
|
||||
|
||||
virtual void Start() = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
virtual void RunFrame() = 0;
|
||||
|
||||
// notifications
|
||||
virtual void OnGameUIActivated() = 0;
|
||||
virtual void OnGameUIHidden() = 0;
|
||||
|
||||
// OLD: Use OnConnectToServer2
|
||||
virtual void OLD_OnConnectToServer(const char *game, int IP, int port) = 0;
|
||||
|
||||
virtual void OnDisconnectFromServer_OLD( uint8 eSteamLoginFailure, const char *username ) = 0;
|
||||
virtual void OnLevelLoadingStarted(bool bShowProgressDialog) = 0;
|
||||
virtual void OnLevelLoadingFinished(bool bError, const char *failureReason, const char *extendedReason) = 0;
|
||||
|
||||
// level loading progress, returns true if the screen needs updating
|
||||
virtual bool UpdateProgressBar(float progress, const char *statusText) = 0;
|
||||
// Shows progress desc, returns previous setting... (used with custom progress bars )
|
||||
virtual bool SetShowProgressText( bool show ) = 0;
|
||||
|
||||
// !!!!!!!!!members added after "GameUI011" initial release!!!!!!!!!!!!!!!!!!!
|
||||
virtual void ShowNewGameDialog( int chapter ) = 0;
|
||||
|
||||
// Xbox 360
|
||||
virtual void SessionNotification( const int notification, const int param = 0 ) = 0;
|
||||
virtual void SystemNotification( const int notification ) = 0;
|
||||
virtual void ShowMessageDialog( const uint nType, vgui::Panel *pOwner ) = 0;
|
||||
virtual void UpdatePlayerInfo( uint64 nPlayerId, const char *pName, int nTeam, byte cVoiceState, int nPlayersNeeded, bool bHost ) = 0;
|
||||
virtual void SessionSearchResult( int searchIdx, void *pHostData, XSESSION_SEARCHRESULT *pResult, int ping ) = 0;
|
||||
virtual void OnCreditsFinished( void ) = 0;
|
||||
|
||||
// inserts specified panel as background for level load dialog
|
||||
virtual void SetLoadingBackgroundDialog( vgui::VPANEL panel ) = 0;
|
||||
|
||||
// Bonus maps interfaces
|
||||
virtual void BonusMapUnlock( const char *pchFileName = NULL, const char *pchMapName = NULL ) = 0;
|
||||
virtual void BonusMapComplete( const char *pchFileName = NULL, const char *pchMapName = NULL ) = 0;
|
||||
virtual void BonusMapChallengeUpdate( const char *pchFileName, const char *pchMapName, const char *pchChallengeName, int iBest ) = 0;
|
||||
virtual void BonusMapChallengeNames( char *pchFileName, char *pchMapName, char *pchChallengeName ) = 0;
|
||||
virtual void BonusMapChallengeObjectives( int &iBronze, int &iSilver, int &iGold ) = 0;
|
||||
virtual void BonusMapDatabaseSave( void ) = 0;
|
||||
virtual int BonusMapNumAdvancedCompleted( void ) = 0;
|
||||
virtual void BonusMapNumMedals( int piNumMedals[ 3 ] ) = 0;
|
||||
|
||||
virtual void OnConnectToServer2(const char *game, int IP, int connectionPort, int queryPort) = 0;
|
||||
|
||||
// X360 Storage device validation:
|
||||
// returns true right away if storage device has been previously selected.
|
||||
// otherwise returns false and will set the variable pointed by pStorageDeviceValidated to 1
|
||||
// once the storage device is selected by user.
|
||||
virtual bool ValidateStorageDevice( int *pStorageDeviceValidated ) = 0;
|
||||
|
||||
virtual void SetProgressOnStart() = 0;
|
||||
virtual void OnDisconnectFromServer( uint8 eSteamLoginFailure ) = 0;
|
||||
|
||||
virtual void OnConfirmQuit( void ) = 0;
|
||||
|
||||
virtual bool IsMainMenuVisible( void ) = 0;
|
||||
|
||||
// Client DLL is providing us with a panel that it wants to replace the main menu with
|
||||
virtual void SetMainMenuOverride( vgui::VPANEL panel ) = 0;
|
||||
// Client DLL is telling us that a main menu command was issued, probably from its custom main menu panel
|
||||
virtual void SendMainMenuCommand( const char *pszCommand ) = 0;
|
||||
};
|
||||
|
||||
#define GAMEUI_INTERFACE_VERSION "GameUI011"
|
||||
|
||||
#endif // IGAMEUI_H
|
||||
103
sp/src/common/compiledcaptionswap.cpp
Normal file
103
sp/src/common/compiledcaptionswap.cpp
Normal file
@@ -0,0 +1,103 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Swap a compiled caption file.
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#include "utlbuffer.h"
|
||||
#include "byteswap.h"
|
||||
#include "filesystem.h"
|
||||
#include "tier2/fileutils.h"
|
||||
#include "captioncompiler.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
BEGIN_BYTESWAP_DATADESC( CompiledCaptionHeader_t )
|
||||
DEFINE_FIELD( magic, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( version, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( numblocks, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( blocksize, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( directorysize, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( dataoffset, FIELD_INTEGER ),
|
||||
END_BYTESWAP_DATADESC()
|
||||
|
||||
BEGIN_BYTESWAP_DATADESC( CaptionLookup_t )
|
||||
DEFINE_FIELD( hash, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( blockNum, FIELD_INTEGER ),
|
||||
DEFINE_FIELD( offset, FIELD_SHORT ),
|
||||
DEFINE_FIELD( length, FIELD_SHORT ),
|
||||
END_BYTESWAP_DATADESC()
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Swap a compiled closecaption file
|
||||
//-----------------------------------------------------------------------------
|
||||
bool SwapClosecaptionFile( void *pData )
|
||||
{
|
||||
CByteswap swap;
|
||||
swap.ActivateByteSwapping( true );
|
||||
|
||||
CompiledCaptionHeader_t *pHdr = (CompiledCaptionHeader_t*)pData;
|
||||
|
||||
if ( IsX360() )
|
||||
{
|
||||
// pre-swap file header
|
||||
swap.SwapFieldsToTargetEndian( pHdr );
|
||||
}
|
||||
|
||||
if ( pHdr->magic != COMPILED_CAPTION_FILEID || pHdr->version != COMPILED_CAPTION_VERSION )
|
||||
{
|
||||
// bad data
|
||||
return false;
|
||||
}
|
||||
|
||||
// lookup headers
|
||||
pData = (byte*)pData + sizeof(CompiledCaptionHeader_t);
|
||||
swap.SwapFieldsToTargetEndian( (CaptionLookup_t*)pData, pHdr->directorysize );
|
||||
|
||||
// unicode data
|
||||
pData = (byte*)pHdr + pHdr->dataoffset;
|
||||
swap.SwapBufferToTargetEndian( (wchar_t*)pData, (wchar_t*)pData, pHdr->numblocks * pHdr->blocksize / sizeof(wchar_t) );
|
||||
|
||||
if ( IsPC() )
|
||||
{
|
||||
// post-swap file header
|
||||
swap.SwapFieldsToTargetEndian( pHdr );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
#if defined( CLIENT_DLL )
|
||||
//-----------------------------------------------------------------------------
|
||||
// Callback for UpdateOrCreate - generates .360 file
|
||||
//-----------------------------------------------------------------------------
|
||||
static bool CaptionCreateCallback( const char *pSourceName, const char *pTargetName, const char *pPathID, void *pExtraData )
|
||||
{
|
||||
// Generate the file
|
||||
CUtlBuffer buf;
|
||||
bool bOk = g_pFullFileSystem->ReadFile( pSourceName, pPathID, buf );
|
||||
if ( bOk )
|
||||
{
|
||||
bOk = SwapClosecaptionFile( buf.Base() );
|
||||
if ( bOk )
|
||||
{
|
||||
bOk = g_pFullFileSystem->WriteFile( pTargetName, pPathID, buf );
|
||||
}
|
||||
else
|
||||
{
|
||||
Warning( "Failed to create %s\n", pTargetName );
|
||||
}
|
||||
}
|
||||
return bOk;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Calls utility function UpdateOrCreate
|
||||
//-----------------------------------------------------------------------------
|
||||
int UpdateOrCreateCaptionFile( const char *pSourceName, char *pTargetName, int maxLen, bool bForce )
|
||||
{
|
||||
return ::UpdateOrCreate( pSourceName, pTargetName, maxLen, "GAME", CaptionCreateCallback, bForce );
|
||||
}
|
||||
#endif
|
||||
370
sp/src/common/hl2orange.spa.h
Normal file
370
sp/src/common/hl2orange.spa.h
Normal file
@@ -0,0 +1,370 @@
|
||||
////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// hl2orange.spa.h
|
||||
//
|
||||
// Auto-generated on Thursday, 13 September 2007 at 16:59:17
|
||||
// XLAST project version 1.0.402.0
|
||||
// SPA Compiler version 2.0.6274.0
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __THE_ORANGE_BOX_SPA_H__
|
||||
#define __THE_ORANGE_BOX_SPA_H__
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
//
|
||||
// Title info
|
||||
//
|
||||
|
||||
#define TITLEID_THE_ORANGE_BOX 0x4541080F
|
||||
|
||||
//
|
||||
// Context ids
|
||||
//
|
||||
// These values are passed as the dwContextId to XUserSetContext.
|
||||
//
|
||||
|
||||
#define CONTEXT_CHAPTER_HL2 0
|
||||
#define CONTEXT_SCENARIO 1
|
||||
#define CONTEXT_GAME 2
|
||||
#define CONTEXT_CHAPTER_EP1 3
|
||||
#define CONTEXT_CHAPTER_EP2 4
|
||||
#define CONTEXT_CHAPTER_PORTAL 5
|
||||
|
||||
//
|
||||
// Context values
|
||||
//
|
||||
// These values are passed as the dwContextValue to XUserSetContext.
|
||||
//
|
||||
|
||||
// Values for CONTEXT_CHAPTER_HL2
|
||||
|
||||
#define CONTEXT_CHAPTER_HL2_POINT_INSERTION 0
|
||||
#define CONTEXT_CHAPTER_HL2_A_RED_LETTER_DAY 1
|
||||
#define CONTEXT_CHAPTER_HL2_ROUTE_KANAL 2
|
||||
#define CONTEXT_CHAPTER_HL2_WATER_HAZARD 3
|
||||
#define CONTEXT_CHAPTER_HL2_BLACK_MESA_EAST 4
|
||||
#define CONTEXT_CHAPTER_HL2_RAVENHOLM 5
|
||||
#define CONTEXT_CHAPTER_HL2_HIGHWAY_17 6
|
||||
#define CONTEXT_CHAPTER_HL2_SANDTRAPS 7
|
||||
#define CONTEXT_CHAPTER_HL2_NOVA_PROSPEKT 8
|
||||
#define CONTEXT_CHAPTER_HL2_ENTANGLEMENT 9
|
||||
#define CONTEXT_CHAPTER_HL2_ANTICITIZEN_ONE 10
|
||||
#define CONTEXT_CHAPTER_HL2_FOLLOW_FREEMAN 11
|
||||
#define CONTEXT_CHAPTER_HL2_OUR_BENEFACTORS 12
|
||||
#define CONTEXT_CHAPTER_HL2_DARK_ENERGY 13
|
||||
|
||||
// Values for CONTEXT_SCENARIO
|
||||
|
||||
#define CONTEXT_SCENARIO_CTF_2FORT 0
|
||||
#define CONTEXT_SCENARIO_CP_DUSTBOWL 1
|
||||
#define CONTEXT_SCENARIO_CP_GRANARY 2
|
||||
#define CONTEXT_SCENARIO_CP_WELL 3
|
||||
#define CONTEXT_SCENARIO_CP_GRAVELPIT 4
|
||||
#define CONTEXT_SCENARIO_TC_HYDRO 5
|
||||
#define CONTEXT_SCENARIO_CTF_CLOAK 6
|
||||
#define CONTEXT_SCENARIO_CP_CLOAK 7
|
||||
|
||||
// Values for CONTEXT_GAME
|
||||
|
||||
#define CONTEXT_GAME_GAME_HALF_LIFE_2 0
|
||||
#define CONTEXT_GAME_GAME_EPISODE_ONE 1
|
||||
#define CONTEXT_GAME_GAME_EPISODE_TWO 2
|
||||
#define CONTEXT_GAME_GAME_PORTAL 3
|
||||
#define CONTEXT_GAME_GAME_TEAM_FORTRESS 4
|
||||
|
||||
// Values for CONTEXT_CHAPTER_EP1
|
||||
|
||||
#define CONTEXT_CHAPTER_EP1_UNDUE_ALARM 0
|
||||
#define CONTEXT_CHAPTER_EP1_DIRECT_INTERVENTION 1
|
||||
#define CONTEXT_CHAPTER_EP1_LOWLIFE 2
|
||||
#define CONTEXT_CHAPTER_EP1_URBAN_FLIGHT 3
|
||||
#define CONTEXT_CHAPTER_EP1_EXIT_17 4
|
||||
|
||||
// Values for CONTEXT_CHAPTER_EP2
|
||||
|
||||
#define CONTEXT_CHAPTER_EP2_TO_THE_WHITE_FOREST 0
|
||||
#define CONTEXT_CHAPTER_EP2_THIS_VORTAL_COIL 1
|
||||
#define CONTEXT_CHAPTER_EP2_FREEMAN_PONTIFEX 2
|
||||
#define CONTEXT_CHAPTER_EP2_RIDING_SHOTGUN 3
|
||||
#define CONTEXT_CHAPTER_EP2_UNDER_THE_RADAR 4
|
||||
#define CONTEXT_CHAPTER_EP2_OUR_MUTUAL_FIEND 5
|
||||
#define CONTEXT_CHAPTER_EP2_T_MINUS_ONE 6
|
||||
|
||||
// Values for CONTEXT_CHAPTER_PORTAL
|
||||
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_00 0
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_04 1
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_08 2
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_10 3
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_13 4
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_14 5
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_15 6
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_16 7
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_17 8
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_18 9
|
||||
#define CONTEXT_CHAPTER_PORTAL_TESTCHAMBER_19 10
|
||||
|
||||
// Values for X_CONTEXT_PRESENCE
|
||||
|
||||
#define CONTEXT_PRESENCE_TF_CP 0
|
||||
#define CONTEXT_PRESENCE_TF_CTF_LOSING 1
|
||||
#define CONTEXT_PRESENCE_TF_CTF_TIED 2
|
||||
#define CONTEXT_PRESENCE_TF_CTF_WINNING 3
|
||||
#define CONTEXT_PRESENCE_APPCHOOSER 4
|
||||
#define CONTEXT_PRESENCE_MENU 5
|
||||
#define CONTEXT_PRESENCE_EP1_INGAME 6
|
||||
#define CONTEXT_PRESENCE_HL2_INGAME 7
|
||||
#define CONTEXT_PRESENCE_EP2_INGAME 8
|
||||
#define CONTEXT_PRESENCE_PORTAL_INGAME 9
|
||||
#define CONTEXT_PRESENCE_COMMENTARY 10
|
||||
#define CONTEXT_PRESENCE_IDLE 11
|
||||
|
||||
// Values for X_CONTEXT_GAME_MODE
|
||||
|
||||
#define CONTEXT_GAME_MODE_MULTIPLAYER 0
|
||||
#define CONTEXT_GAME_MODE_SINGLEPLAYER 1
|
||||
|
||||
//
|
||||
// Property ids
|
||||
//
|
||||
// These values are passed as the dwPropertyId value to XUserSetProperty
|
||||
// and as the dwPropertyId value in the XUSER_PROPERTY structure.
|
||||
//
|
||||
|
||||
#define PROPERTY_CAPS_OWNED 0x10000000
|
||||
#define PROPERTY_CAPS_TOTAL 0x10000001
|
||||
#define PROPERTY_PLAYER_TEAM_SCORE 0x10000002
|
||||
#define PROPERTY_OPPONENT_TEAM_SCORE 0x10000003
|
||||
#define PROPERTY_FLAG_CAPTURE_LIMIT 0x1000000B
|
||||
#define PROPERTY_NUMBER_OF_ROUNDS 0x1000000C
|
||||
#define PROPERTY_GAME_SIZE 0x1000000D
|
||||
#define PROPERTY_AUTOBALANCE 0x1000000E
|
||||
#define PROPERTY_PRIVATE_SLOTS 0x1000000F
|
||||
#define PROPERTY_MAX_GAME_TIME 0x10000010
|
||||
#define PROPERTY_NUMBER_OF_KILLS 0x10000011
|
||||
#define PROPERTY_DAMAGE_DEALT 0x10000012
|
||||
#define PROPERTY_PLAY_TIME 0x10000013
|
||||
#define PROPERTY_POINT_CAPTURES 0x10000014
|
||||
#define PROPERTY_POINT_DEFENSES 0x10000015
|
||||
#define PROPERTY_DOMINATIONS 0x10000016
|
||||
#define PROPERTY_REVENGE 0x10000017
|
||||
#define PROPERTY_BUILDINGS_DESTROYED 0x10000019
|
||||
#define PROPERTY_HEADSHOTS 0x1000001A
|
||||
#define PROPERTY_HEALTH_POINTS_HEALED 0x1000001B
|
||||
#define PROPERTY_INVULNS 0x1000001C
|
||||
#define PROPERTY_KILL_ASSISTS 0x1000001D
|
||||
#define PROPERTY_BACKSTABS 0x1000001E
|
||||
#define PROPERTY_HEALTH_POINTS_LEACHED 0x1000001F
|
||||
#define PROPERTY_BUILDINGS_BUILT 0x10000020
|
||||
#define PROPERTY_SENTRY_KILLS 0x10000021
|
||||
#define PROPERTY_TELEPORTS 0x10000022
|
||||
#define PROPERTY_KILLS 0x10000023
|
||||
#define PROPERTY_NUMBER_OF_TEAMS 0x10000025
|
||||
#define PROPERTY_TEAM_RED 0x10000026
|
||||
#define PROPERTY_TEAM_BLUE 0x10000027
|
||||
#define PROPERTY_TEAM_SPECTATOR 0x10000028
|
||||
#define PROPERTY_TEAM 0x10000029
|
||||
#define PROPERTY_WIN_LIMIT 0x1000002A
|
||||
#define PROPERTY_RANKING_TEST 0x2000000A
|
||||
#define PROPERTY_POINTS_SCORED 0x20000018
|
||||
|
||||
//
|
||||
// Achievement ids
|
||||
//
|
||||
// These values are used in the dwAchievementId member of the
|
||||
// XUSER_ACHIEVEMENT structure that is used with
|
||||
// XUserWriteAchievements and XUserCreateAchievementEnumerator.
|
||||
//
|
||||
|
||||
#define ACHIEVEMENT_HLX_KILL_ENEMIES_WITHPHYSICS 43
|
||||
#define ACHIEVEMENT_HLX_KILL_ENEMY_WITHHOPPERMINE 44
|
||||
#define ACHIEVEMENT_HLX_KILL_ENEMIES_WITHMANHACK 45
|
||||
#define ACHIEVEMENT_HLX_KILL_SOLDIER_WITHHISGRENADE 46
|
||||
#define ACHIEVEMENT_HLX_KILL_ENEMIES_WITHONEENERGYBALL 47
|
||||
#define ACHIEVEMENT_HLX_KILL_ELITESOLDIER_WITHHISENERGYBALL 48
|
||||
#define ACHIEVEMENT_EPX_GET_ZOMBINEGRENADE 50
|
||||
#define ACHIEVEMENT_EPX_KILL_ZOMBIES_WITHFLARES 51
|
||||
#define ACHIEVEMENT_HL2_HIT_CANCOP_WITHCAN 52
|
||||
#define ACHIEVEMENT_HL2_PUT_CANINTRASH 53
|
||||
#define ACHIEVEMENT_HL2_ESCAPE_APARTMENTRAID 54
|
||||
#define ACHIEVEMENT_HL2_BREAK_MINITELEPORTER 55
|
||||
#define ACHIEVEMENT_HL2_GET_CROWBAR 56
|
||||
#define ACHIEVEMENT_HL2_KILL_BARNACLESWITHBARREL 57
|
||||
#define ACHIEVEMENT_HL2_GET_AIRBOAT 58
|
||||
#define ACHIEVEMENT_HL2_GET_AIRBOATGUN 60
|
||||
#define ACHIEVEMENT_HL2_FIND_VORTIGAUNTCAVE 61
|
||||
#define ACHIEVEMENT_HL2_KILL_CHOPPER 62
|
||||
#define ACHIEVEMENT_HL2_FIND_HEVFACEPLATE 63
|
||||
#define ACHIEVEMENT_HL2_GET_GRAVITYGUN 64
|
||||
#define ACHIEVEMENT_HL2_MAKEABASKET 65
|
||||
#define ACHIEVEMENT_HL2_BEAT_RAVENHOLM_NOWEAPONS 66
|
||||
#define ACHIEVEMENT_HL2_BEAT_CEMETERY 67
|
||||
#define ACHIEVEMENT_HL2_KILL_ENEMIES_WITHCRANE 68
|
||||
#define ACHIEVEMENT_HL2_PIN_SOLDIER_TOBILLBOARD 69
|
||||
#define ACHIEVEMENT_HL2_KILL_ODESSAGUNSHIP 70
|
||||
#define ACHIEVEMENT_HL2_KILL_THREEGUNSHIPS 71
|
||||
#define ACHIEVEMENT_HL2_BEAT_DONTTOUCHSAND 72
|
||||
#define ACHIEVEMENT_HL2_KILL_ENEMIES_WITHANTLIONS 74
|
||||
#define ACHIEVEMENT_HL2_KILL_ENEMY_WITHTOILET 75
|
||||
#define ACHIEVEMENT_HL2_BEAT_TURRETSTANDOFF2 76
|
||||
#define ACHIEVEMENT_HL2_BEAT_TOXICTUNNEL 78
|
||||
#define ACHIEVEMENT_HL2_BEAT_PLAZASTANDOFF 79
|
||||
#define ACHIEVEMENT_HL2_KILL_ALLC1709SNIPERS 80
|
||||
#define ACHIEVEMENT_HL2_BEAT_SUPRESSIONDEVICE 81
|
||||
#define ACHIEVEMENT_HL2_BEAT_C1713STRIDERSTANDOFF 82
|
||||
#define ACHIEVEMENT_HL2_BEAT_GAME 84
|
||||
#define ACHIEVEMENT_HL2_FIND_ALLLAMBDAS 86
|
||||
#define ACHIEVEMENT_EP1_BEAT_MAINELEVATOR 87
|
||||
#define ACHIEVEMENT_EP1_BEAT_CITADELCORE 88
|
||||
#define ACHIEVEMENT_EP1_BEAT_CITADELCORE_NOSTALKERKILLS 89
|
||||
#define ACHIEVEMENT_EP1_KILL_ANTLIONS_WITHCARS 90
|
||||
#define ACHIEVEMENT_EP1_BEAT_GARAGEELEVATORSTANDOFF 91
|
||||
#define ACHIEVEMENT_EP1_KILL_ENEMIES_WITHSNIPERALYX 92
|
||||
#define ACHIEVEMENT_EP1_BEAT_HOSPITALATTICGUNSHIP 93
|
||||
#define ACHIEVEMENT_EP1_BEAT_CITIZENESCORT_NOCITIZENDEATHS 94
|
||||
#define ACHIEVEMENT_EP1_BEAT_GAME 95
|
||||
#define ACHIEVEMENT_EP1_BEAT_GAME_ONEBULLET 96
|
||||
#define ACHIEVEMENT_EP2_KILL_POISONANTLION 97
|
||||
#define ACHIEVEMENT_EP2_KILL_ALLGRUBS 98
|
||||
#define ACHIEVEMENT_EP2_BREAK_ALLWEBS 99
|
||||
#define ACHIEVEMENT_EP2_BEAT_ANTLIONINVASION 100
|
||||
#define ACHIEVEMENT_EP2_BEAT_ANTLIONGUARDS 101
|
||||
#define ACHIEVEMENT_EP2_KILL_ENEMIES_WITHCAR 102
|
||||
#define ACHIEVEMENT_EP2_BEAT_HUNTERAMBUSH 103
|
||||
#define ACHIEVEMENT_EP2_KILL_CHOPPER_NOMISSES 104
|
||||
#define ACHIEVEMENT_EP2_KILL_COMBINECANNON 105
|
||||
#define ACHIEVEMENT_EP2_FIND_ALLRADARCACHES 106
|
||||
#define ACHIEVEMENT_EP2_BEAT_ROCKETCACHEPUZZLE 107
|
||||
#define ACHIEVEMENT_EP2_BEAT_RACEWITHDOG 108
|
||||
#define ACHIEVEMENT_EP2_BEAT_WHITEFORESTINN 109
|
||||
#define ACHIEVEMENT_EP2_PUT_ITEMINROCKET 110
|
||||
#define ACHIEVEMENT_EP2_BEAT_MISSILESILO2 111
|
||||
#define ACHIEVEMENT_EP2_BEAT_OUTLAND12_NOBUILDINGSDESTROYED 112
|
||||
#define ACHIEVEMENT_EP2_BEAT_GAME 113
|
||||
#define ACHIEVEMENT_EP2_KILL_HUNTER_WITHFLECHETTES 114
|
||||
#define ACHIEVEMENT_PORTAL_GET_PORTALGUNS 115
|
||||
#define ACHIEVEMENT_PORTAL_KILL_COMPANIONCUBE 116
|
||||
#define ACHIEVEMENT_PORTAL_ESCAPE_TESTCHAMBERS 117
|
||||
#define ACHIEVEMENT_PORTAL_BEAT_GAME 118
|
||||
#define ACHIEVEMENT_PORTAL_INFINITEFALL 119
|
||||
#define ACHIEVEMENT_PORTAL_LONGJUMP 120
|
||||
#define ACHIEVEMENT_PORTAL_BEAT_2ADVANCEDMAPS 121
|
||||
#define ACHIEVEMENT_PORTAL_BEAT_4ADVANCEDMAPS 122
|
||||
#define ACHIEVEMENT_PORTAL_BEAT_6ADVANCEDMAPS 123
|
||||
#define ACHIEVEMENT_PORTAL_GET_ALLBRONZE 124
|
||||
#define ACHIEVEMENT_PORTAL_GET_ALLSILVER 125
|
||||
#define ACHIEVEMENT_PORTAL_GET_ALLGOLD 126
|
||||
#define ACHIEVEMENT_TF_GET_TURRETKILLS 127
|
||||
#define ACHIEVEMENT_TF_KILL_NEMESIS 128
|
||||
#define ACHIEVEMENT_TF_GET_CONSECUTIVEKILLS_NODEATHS 129
|
||||
#define ACHIEVEMENT_TF_GET_HEALED_BYENEMY 130
|
||||
#define ACHIEVEMENT_TF_PLAY_GAME_FRIENDSONLY 131
|
||||
#define ACHIEVEMENT_TF_WIN_MULTIPLEGAMES 132
|
||||
#define ACHIEVEMENT_TF_GET_MULTIPLEKILLS 133
|
||||
#define ACHIEVEMENT_TF_WIN_2FORT_NOENEMYCAPS 134
|
||||
#define ACHIEVEMENT_TF_WIN_WELL_MINIMUMTIME 135
|
||||
#define ACHIEVEMENT_TF_WIN_HYDRO_NOENEMYCAPS 136
|
||||
#define ACHIEVEMENT_TF_WIN_DUSTBOWL_NOENEMYCAPS 137
|
||||
#define ACHIEVEMENT_TF_WIN_GRAVELPIT_NOENEMYCAPS 138
|
||||
#define ACHIEVEMENT_TF_PLAY_GAME_EVERYCLASS 139
|
||||
#define ACHIEVEMENT_TF_PLAY_GAME_EVERYMAP 140
|
||||
#define ACHIEVEMENT_TF_GET_HEALPOINTS 141
|
||||
#define ACHIEVEMENT_TF_BURN_PLAYERSINMINIMIMTIME 142
|
||||
#define ACHIEVEMENT_HL2_DISINTEGRATE_SOLDIERSINFIELD 143
|
||||
#define ACHIEVEMENT_HL2_FOLLOW_FREEMAN 144
|
||||
#define ACHIEVEMENT_TF_GET_HEADSHOTS 145
|
||||
#define ACHIEVEMENT_PORTAL_DETACH_ALL_CAMERAS 146
|
||||
#define ACHIEVEMENT_PORTAL_HIT_TURRET_WITH_TURRET 148
|
||||
|
||||
#ifndef _XBOX
|
||||
#define ACHIEVEMENT_PORTAL_TRANSMISSION_RECEIVED 149
|
||||
#define ACHIEVEMENT_TF_GENERAL_KILL_ENEMIES_AFTER_TELEPORTING 150
|
||||
#endif // _XBOX
|
||||
|
||||
#define ACHIEVEMENT_TF_LAST_ORANGEBOX 150
|
||||
|
||||
//
|
||||
// Stats view ids
|
||||
//
|
||||
// These are used in the dwViewId member of the XUSER_STATS_SPEC structure
|
||||
// passed to the XUserReadStats* and XUserCreateStatsEnumerator* functions.
|
||||
//
|
||||
|
||||
// Skill leaderboards for ranked game modes
|
||||
|
||||
#define STATS_VIEW_SKILL_RANKED_MULTIPLAYER 0xFFFF0000
|
||||
#define STATS_VIEW_SKILL_RANKED_SINGLEPLAYER 0xFFFF0001
|
||||
|
||||
// Skill leaderboards for unranked (standard) game modes
|
||||
|
||||
#define STATS_VIEW_SKILL_STANDARD_MULTIPLAYER 0xFFFE0000
|
||||
#define STATS_VIEW_SKILL_STANDARD_SINGLEPLAYER 0xFFFE0001
|
||||
|
||||
// Title defined leaderboards
|
||||
|
||||
#define STATS_VIEW_PLAYER_MAX_UNRANKED 1
|
||||
#define STATS_VIEW_PLAYER_MAX_RANKED 2
|
||||
|
||||
//
|
||||
// Stats view column ids
|
||||
//
|
||||
// These ids are used to read columns of stats views. They are specified in
|
||||
// the rgwColumnIds array of the XUSER_STATS_SPEC structure. Rank, rating
|
||||
// and gamertag are not retrieved as custom columns and so are not included
|
||||
// in the following definitions. They can be retrieved from each row's
|
||||
// header (e.g., pStatsResults->pViews[x].pRows[y].dwRank, etc.).
|
||||
//
|
||||
|
||||
// Column ids for PLAYER_MAX_UNRANKED
|
||||
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_POINTS_SCORED 2
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_KILLS 3
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_POINTS_CAPPED 1
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_DAMAGE_DEALT 4
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_PLAY_TIME 5
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_POINT_DEFENSES 6
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_DOMINATIONS 7
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_REVENGE 8
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_BUILDINGS_DESTROYED 9
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_HEADSHOTS 10
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_HEALTH_POINTS_HEALED 11
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_INVULNS 12
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_KILL_ASSISTS 13
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_BACKSTABS 14
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_HEALTH_POINTS_LEACHED 15
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_BUILDINGS_BUILT 16
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_SENTRY_KILLS 17
|
||||
#define STATS_COLUMN_PLAYER_MAX_UNRANKED_TELEPORTS 18
|
||||
|
||||
// Column ids for PLAYER_MAX_RANKED
|
||||
|
||||
#define STATS_COLUMN_PLAYER_MAX_RANKED_POINTS_SCORED 2
|
||||
|
||||
//
|
||||
// Matchmaking queries
|
||||
//
|
||||
// These values are passed as the dwProcedureIndex parameter to
|
||||
// XSessionSearch to indicate which matchmaking query to run.
|
||||
//
|
||||
|
||||
#define SESSION_MATCH_QUERY_PLAYER_MATCH 0
|
||||
|
||||
//
|
||||
// Gamer pictures
|
||||
//
|
||||
// These ids are passed as the dwPictureId parameter to XUserAwardGamerTile.
|
||||
//
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // __THE_ORANGE_BOX_SPA_H__
|
||||
|
||||
|
||||
217
sp/src/common/language.cpp
Normal file
217
sp/src/common/language.cpp
Normal file
@@ -0,0 +1,217 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: languages definition
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#include "language.h"
|
||||
#include "tier0/dbg.h"
|
||||
#include "tier1/strtools.h"
|
||||
|
||||
// NOTE: This has to be the last file included!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
|
||||
struct Language_t
|
||||
{
|
||||
const char *m_pchName;
|
||||
const char *m_pchShortName;
|
||||
const char *m_pchVGUILocalizationName;
|
||||
const char *m_pchICUName; // used by osx; ISO-639-1 + ISO-3166-1 alpha-2. http://userguide.icu-project.org/locale/examples
|
||||
ELanguage m_ELanguage;
|
||||
int m_LanguageCodeID;
|
||||
};
|
||||
|
||||
|
||||
// REVIEW
|
||||
// es_ES - use new world spanish country code instead?
|
||||
// zh_CN - validate that SC date formats come through
|
||||
// bt_BR - assume we should use Brazilian rather than Iberian portguese
|
||||
|
||||
static const Language_t s_LanguageNames[] =
|
||||
{
|
||||
{ "None", "none", "None", "none", k_Lang_None, 0 },
|
||||
{ "English", "english", "#GameUI_Language_English", "en_US", k_Lang_English, 1033 },
|
||||
{ "German", "german", "#GameUI_Language_German", "de_DE", k_Lang_German, 1031 } ,
|
||||
{ "French", "french", "#GameUI_Language_French", "fr_FR", k_Lang_French, 1036 } ,
|
||||
{ "Italian", "italian", "#GameUI_Language_Italian", "it_IT", k_Lang_Italian, 1040 } ,
|
||||
{ "Korean", "koreana", "#GameUI_Language_Korean", "ko_KR", k_Lang_Korean, 1042 } ,
|
||||
{ "Spanish", "spanish", "#GameUI_Language_Spanish", "es_ES", k_Lang_Spanish, 1034 },
|
||||
{ "Simplified_Chinese", "schinese", "#GameUI_Language_Simplified_Chinese", "zh_CN", k_Lang_Simplified_Chinese, 2052 },
|
||||
{ "Traditional_Chinese", "tchinese", "#GameUI_Language_Traditional_Chinese", "zh_TW", k_Lang_Traditional_Chinese, 1028 },
|
||||
{ "Russian", "russian", "#GameUI_Language_Russian", "ru_RU", k_Lang_Russian, 1049 } ,
|
||||
{ "Thai", "thai", "#GameUI_Language_Thai", "th_TH", k_Lang_Thai, 1054 } ,
|
||||
{ "Japanese", "japanese", "#GameUI_Language_Japanese", "ja_JP", k_Lang_Japanese, 1041 } ,
|
||||
{ "Portuguese", "portuguese", "#GameUI_Language_Portuguese", "pt_PT", k_Lang_Portuguese, 2070 } ,
|
||||
{ "Polish", "polish", "#GameUI_Language_Polish", "pl_PL", k_Lang_Polish, 1045 } ,
|
||||
{ "Danish", "danish", "#GameUI_Language_Danish", "da_DK", k_Lang_Danish, 1030 } ,
|
||||
{ "Dutch", "dutch", "#GameUI_Language_Dutch", "nl_NL", k_Lang_Dutch, 1043 } ,
|
||||
{ "Finnish", "finnish", "#GameUI_Language_Finnish", "fi_FI", k_Lang_Finnish, 1035 } ,
|
||||
{ "Norwegian", "norwegian", "#GameUI_Language_Norwegian", "no_NO", k_Lang_Norwegian, 1044 } ,
|
||||
{ "Swedish", "swedish", "#GameUI_Language_Swedish", "sv_SE", k_Lang_Swedish, 1053 } ,
|
||||
{ "Romanian", "romanian", "#GameUI_Language_Romanian", "ro_RO", k_Lang_Romanian, 1048 } ,
|
||||
{ "Turkish", "turkish", "#GameUI_Language_Turkish", "tr_TR", k_Lang_Turkish, 1055 } ,
|
||||
{ "Hungarian", "hungarian", "#GameUI_Language_Hungarian", "hu_HU", k_Lang_Hungarian, 1038 } ,
|
||||
{ "Czech", "czech", "#GameUI_Language_Czech", "cs_CZ", k_Lang_Czech, 1029 } ,
|
||||
{ "Brazilian", "brazilian", "#GameUI_Language_Brazilian", "pt_BR", k_Lang_Brazilian, 1046 } ,
|
||||
{ "Bulgarian", "bulgarian", "#GameUI_Language_Bulgarian", "bg_BG", k_Lang_Bulgarian, 1026 } ,
|
||||
{ "Greek", "greek", "#GameUI_Language_Greek", "el_GR", k_Lang_Greek, 1032 },
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: translate language enum into closests windows language code ID
|
||||
//-----------------------------------------------------------------------------
|
||||
int GetLanguageCodeID(ELanguage eLang)
|
||||
{
|
||||
for ( uint iLang = 0; iLang < Q_ARRAYSIZE(s_LanguageNames); ++iLang )
|
||||
{
|
||||
if ( s_LanguageNames[iLang].m_ELanguage == eLang )
|
||||
return s_LanguageNames[iLang].m_LanguageCodeID;
|
||||
}
|
||||
|
||||
// default to English
|
||||
return 1033;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: find the language by name
|
||||
//-----------------------------------------------------------------------------
|
||||
ELanguage PchLanguageToELanguage( const char *pchShortName, ELanguage eDefault )
|
||||
{
|
||||
Assert( Q_ARRAYSIZE(s_LanguageNames) == k_Lang_MAX + 1 );
|
||||
if ( !pchShortName )
|
||||
return eDefault;
|
||||
|
||||
for ( uint iLang = 0; iLang < Q_ARRAYSIZE(s_LanguageNames); ++iLang )
|
||||
{
|
||||
if ( !Q_stricmp( pchShortName, s_LanguageNames[iLang].m_pchShortName ) )
|
||||
{
|
||||
return s_LanguageNames[iLang].m_ELanguage;
|
||||
}
|
||||
}
|
||||
|
||||
// return default
|
||||
return eDefault;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: find the language by ICU short code
|
||||
//-----------------------------------------------------------------------------
|
||||
ELanguage PchLanguageICUCodeToELanguage( const char *pchICUCode, ELanguage eDefault )
|
||||
{
|
||||
Assert( Q_ARRAYSIZE(s_LanguageNames) == k_Lang_MAX + 1 );
|
||||
if ( !pchICUCode )
|
||||
return eDefault;
|
||||
|
||||
// Match to no more than the param length so either a short 'en' or
|
||||
// full 'zh-Hant' can match
|
||||
int nLen = Q_strlen( pchICUCode );
|
||||
|
||||
// we only have 5 character ICU codes so this should be enough room
|
||||
char rchCleanedCode[ 6 ];
|
||||
Q_strncpy( rchCleanedCode, pchICUCode, Q_ARRAYSIZE( rchCleanedCode ) );
|
||||
if( nLen >= 3 && rchCleanedCode[ 2 ] == '-' )
|
||||
{
|
||||
rchCleanedCode[ 2 ] = '_';
|
||||
}
|
||||
|
||||
for ( uint iLang = 0; iLang < Q_ARRAYSIZE(s_LanguageNames); ++iLang )
|
||||
{
|
||||
if ( !Q_strnicmp( rchCleanedCode, s_LanguageNames[iLang].m_pchICUName, nLen ) )
|
||||
{
|
||||
return s_LanguageNames[iLang].m_ELanguage;
|
||||
}
|
||||
}
|
||||
|
||||
// return default
|
||||
return eDefault;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: return the short string name used for this language by SteamUI
|
||||
//-----------------------------------------------------------------------------
|
||||
const char *GetLanguageShortName( ELanguage eLang )
|
||||
{
|
||||
COMPILE_TIME_ASSERT( Q_ARRAYSIZE(s_LanguageNames) == k_Lang_MAX + 1 );
|
||||
if ( s_LanguageNames[ eLang + 1 ].m_ELanguage == eLang )
|
||||
{
|
||||
Assert( eLang + 1 < ARRAYSIZE(s_LanguageNames) );
|
||||
return s_LanguageNames[ eLang + 1 ].m_pchShortName;
|
||||
}
|
||||
|
||||
Assert( !"enum ELanguage order mismatched from Language_t s_LanguageNames, fix it!" );
|
||||
return s_LanguageNames[0].m_pchShortName;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: return the ICU code used for this language by SteamUI
|
||||
//-----------------------------------------------------------------------------
|
||||
const char *GetLanguageICUName( ELanguage eLang )
|
||||
{
|
||||
COMPILE_TIME_ASSERT( Q_ARRAYSIZE(s_LanguageNames) == k_Lang_MAX + 1 );
|
||||
if ( s_LanguageNames[ eLang + 1 ].m_ELanguage == eLang )
|
||||
{
|
||||
Assert( eLang + 1 < ARRAYSIZE(s_LanguageNames) );
|
||||
return s_LanguageNames[ eLang + 1 ].m_pchICUName;
|
||||
}
|
||||
|
||||
Assert( !"enum ELanguage order mismatched from Language_t s_LanguageNames, fix it!" );
|
||||
return s_LanguageNames[0].m_pchICUName;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: return the CLocale name that works with setlocale()
|
||||
//-----------------------------------------------------------------------------
|
||||
const char *GetLangugeCLocaleName( ELanguage eLang )
|
||||
{
|
||||
if ( eLang == k_Lang_None )
|
||||
return "";
|
||||
|
||||
#ifdef _WIN32
|
||||
// table for Win32 is here: http://msdn.microsoft.com/en-us/library/hzz3tw78(v=VS.80).aspx
|
||||
// shortname works except for chinese
|
||||
|
||||
switch ( eLang )
|
||||
{
|
||||
case k_Lang_Simplified_Chinese:
|
||||
return "chs"; // or "chinese-simplified"
|
||||
case k_Lang_Traditional_Chinese:
|
||||
return "cht"; // or "chinese-traditional"
|
||||
case k_Lang_Korean:
|
||||
return "korean"; // steam likes "koreana" for the name for some reason.
|
||||
default:
|
||||
return GetLanguageShortName( eLang );
|
||||
}
|
||||
|
||||
#else
|
||||
switch ( eLang )
|
||||
{
|
||||
case k_Lang_Simplified_Chinese:
|
||||
case k_Lang_Traditional_Chinese:
|
||||
return "zh_CN";
|
||||
default:
|
||||
;
|
||||
}
|
||||
|
||||
// ICU codes work on linux/osx
|
||||
return GetLanguageICUName( eLang );
|
||||
#endif
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: return the short string name used for this language by SteamUI
|
||||
//-----------------------------------------------------------------------------
|
||||
const char *GetLanguageVGUILocalization( ELanguage eLang )
|
||||
{
|
||||
COMPILE_TIME_ASSERT( Q_ARRAYSIZE(s_LanguageNames) == k_Lang_MAX + 1 );
|
||||
if ( s_LanguageNames[ eLang + 1 ].m_ELanguage == eLang )
|
||||
{
|
||||
Assert( eLang + 1 < ARRAYSIZE(s_LanguageNames) );
|
||||
return s_LanguageNames[ eLang + 1 ].m_pchVGUILocalizationName;
|
||||
}
|
||||
|
||||
Assert( !"enum ELanguage order mismatched from Language_t s_LanguageNames, fix it!" );
|
||||
return s_LanguageNames[0].m_pchVGUILocalizationName;
|
||||
}
|
||||
|
||||
55
sp/src/common/language.h
Normal file
55
sp/src/common/language.h
Normal file
@@ -0,0 +1,55 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: represent a canonical list of the languages we support,
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#ifndef LANG_H
|
||||
#define LANG_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// if you change this enum also change language.cpp:s_LanguageNames
|
||||
enum ELanguage
|
||||
{
|
||||
k_Lang_None = -1,
|
||||
k_Lang_First = 0,
|
||||
k_Lang_English = 0,
|
||||
k_Lang_German,
|
||||
k_Lang_French,
|
||||
k_Lang_Italian,
|
||||
k_Lang_Korean,
|
||||
k_Lang_Spanish,
|
||||
k_Lang_Simplified_Chinese,
|
||||
k_Lang_Traditional_Chinese,
|
||||
k_Lang_Russian,
|
||||
k_Lang_Thai,
|
||||
k_Lang_Japanese,
|
||||
k_Lang_Portuguese,
|
||||
k_Lang_Polish,
|
||||
k_Lang_Danish,
|
||||
k_Lang_Dutch,
|
||||
k_Lang_Finnish,
|
||||
k_Lang_Norwegian,
|
||||
k_Lang_Swedish,
|
||||
k_Lang_Romanian,
|
||||
k_Lang_Turkish,
|
||||
k_Lang_Hungarian,
|
||||
k_Lang_Czech,
|
||||
k_Lang_Brazilian,
|
||||
k_Lang_Bulgarian,
|
||||
k_Lang_Greek,
|
||||
k_Lang_MAX
|
||||
};
|
||||
|
||||
#define FOR_EACH_LANGUAGE( eLang ) for ( int eLang = (int)k_Lang_First; eLang < k_Lang_MAX; ++eLang )
|
||||
|
||||
ELanguage PchLanguageToELanguage(const char *pchShortName, ELanguage eDefault = k_Lang_English);
|
||||
ELanguage PchLanguageICUCodeToELanguage( const char *pchICUCode, ELanguage eDefault = k_Lang_English );
|
||||
const char *GetLanguageShortName( ELanguage eLang );
|
||||
const char *GetLanguageICUName( ELanguage eLang );
|
||||
const char *GetLanguageVGUILocalization( ELanguage eLang );
|
||||
const char *GetLanguageName( ELanguage eLang );
|
||||
|
||||
#endif /* LANG_H */
|
||||
49
sp/src/common/proto_version.h
Normal file
49
sp/src/common/proto_version.h
Normal file
@@ -0,0 +1,49 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//=============================================================================//
|
||||
#if !defined( PROTO_VERSION_H )
|
||||
#define PROTO_VERSION_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// The current network protocol version. Changing this makes clients and servers incompatible
|
||||
#define PROTOCOL_VERSION 24
|
||||
|
||||
#define DEMO_BACKWARDCOMPATABILITY
|
||||
|
||||
// For backward compatibility of demo files (NET_MAX_PAYLOAD_BITS went away)
|
||||
#define PROTOCOL_VERSION_23 23
|
||||
|
||||
// For backward compatibility of demo files (sound index bits used to = 13 )
|
||||
#define PROTOCOL_VERSION_22 22
|
||||
|
||||
// For backward compatibility of demo files (before the special DSP was shipped to public)
|
||||
#define PROTOCOL_VERSION_21 21
|
||||
|
||||
// For backward compatibility of demo files (old-style dynamic model loading)
|
||||
#define PROTOCOL_VERSION_20 20
|
||||
|
||||
// For backward compatibility of demo files (post Halloween sound flag extra bit)
|
||||
#define PROTOCOL_VERSION_19 19
|
||||
|
||||
// For backward compatibility of demo files (pre Halloween sound flag extra bit)
|
||||
#define PROTOCOL_VERSION_18 18
|
||||
|
||||
// For backward compatibility of demo files (MD5 in map version)
|
||||
#define PROTOCOL_VERSION_17 17
|
||||
|
||||
// For backward compatibility of demo files (create string tables compression flag)
|
||||
#define PROTOCOL_VERSION_14 14
|
||||
|
||||
// For backward compatibility of demo files
|
||||
#define PROTOCOL_VERSION_12 12
|
||||
|
||||
// The PROTOCOL_VERSION when replay shipped to public
|
||||
#define PROTOCOL_VERSION_REPLAY 16
|
||||
|
||||
#endif
|
||||
35
sp/src/common/qlimits.h
Normal file
35
sp/src/common/qlimits.h
Normal file
@@ -0,0 +1,35 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef QLIMITS_H
|
||||
#define QLIMITS_H
|
||||
|
||||
#if defined( _WIN32 )
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// DATA STRUCTURE INFO
|
||||
|
||||
#define MAX_NUM_ARGVS 50
|
||||
|
||||
// SYSTEM INFO
|
||||
#define MAX_QPATH 96 // max length of a game pathname
|
||||
#define MAX_OSPATH 260 // max length of a filesystem pathname
|
||||
|
||||
#define ON_EPSILON 0.1 // point on plane side epsilon
|
||||
|
||||
|
||||
// Resource counts;
|
||||
#define MAX_MODEL_INDEX_BITS 11 // sent as a short
|
||||
#define MAX_MODELS (1<<MAX_MODEL_INDEX_BITS)
|
||||
|
||||
#define MAX_GENERIC_INDEX_BITS 9
|
||||
#define MAX_GENERIC (1<<MAX_GENERIC_INDEX_BITS)
|
||||
#define MAX_DECAL_INDEX_BITS 9
|
||||
#define MAX_BASE_DECALS (1<<MAX_DECAL_INDEX_BITS)
|
||||
|
||||
#endif // QLIMITS_H
|
||||
27
sp/src/common/randoverride.cpp
Normal file
27
sp/src/common/randoverride.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
#if !defined(_STATIC_LINKED) || defined(_SHARED_LIB)
|
||||
|
||||
#include "stdlib.h"
|
||||
#include "vstdlib/random.h"
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
#ifdef GNUC
|
||||
#define __cdecl
|
||||
#endif
|
||||
|
||||
void __cdecl srand(unsigned int)
|
||||
{
|
||||
}
|
||||
|
||||
int __cdecl rand()
|
||||
{
|
||||
return RandomInt( 0, VALVE_RAND_MAX );
|
||||
}
|
||||
|
||||
#endif // !_STATIC_LINKED || _SHARED_LIB
|
||||
43
sp/src/common/replay/basereplayserializeable.h
Normal file
43
sp/src/common/replay/basereplayserializeable.h
Normal file
@@ -0,0 +1,43 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef REPLAYSERIALIIZEABLE_H
|
||||
#define REPLAYSERIALIIZEABLE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "replay/ireplayserializeable.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CBaseReplaySerializeable : public IReplaySerializeable
|
||||
{
|
||||
public:
|
||||
CBaseReplaySerializeable();
|
||||
|
||||
virtual void SetHandle( ReplayHandle_t h );
|
||||
virtual ReplayHandle_t GetHandle() const;
|
||||
virtual bool Read( KeyValues *pIn );
|
||||
virtual void Write( KeyValues *pOut );
|
||||
virtual const char *GetFilename() const;
|
||||
virtual const char *GetFullFilename() const;
|
||||
virtual const char *GetDebugName() const;
|
||||
virtual void SetLocked( bool bLocked );
|
||||
virtual bool IsLocked() const;
|
||||
virtual void OnDelete();
|
||||
virtual void OnUnload();
|
||||
virtual void OnAddedToDirtyList();
|
||||
|
||||
private:
|
||||
ReplayHandle_t m_hThis;
|
||||
bool m_bLocked;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // REPLAYSERIALIIZEABLE_H
|
||||
64
sp/src/common/replay/iclientreplay.h
Normal file
64
sp/src/common/replay/iclientreplay.h
Normal file
@@ -0,0 +1,64 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef ICLIENTREPLAY_H
|
||||
#define ICLIENTREPLAY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define CLIENT_REPLAY_INTERFACE_VERSION "ClientReplay001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayFactory;
|
||||
class IReplayScreenshotSystem;
|
||||
class IReplayPerformancePlaybackHandler;
|
||||
class KeyValues;
|
||||
class IReplayCamera;
|
||||
class CReplayPerformance;
|
||||
struct RenderMovieParams_t;
|
||||
class IGameEvent;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Allows the replay and engine DLL's to talk to the client.
|
||||
//
|
||||
class IClientReplay : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual uint64 GetServerSessionId() = 0;
|
||||
virtual bool CacheReplayRagdolls( const char* pFilename, int nStartTick ) = 0; // Cache replay ragdolls
|
||||
virtual IReplayScreenshotSystem *GetReplayScreenshotSystem() = 0; // Get the client's replay screenshot system
|
||||
virtual IReplayPerformancePlaybackHandler *GetPerformancePlaybackHandler() = 0;
|
||||
virtual IReplayCamera *GetReplayCamera() = 0;
|
||||
virtual void DisplayReplayMessage( const char *pLocalizeStr, bool bUrgent, bool bDlg, const char *pSound ) = 0;
|
||||
virtual void DisplayReplayMessage( const wchar_t *pText, bool bUrgent, bool bDlg, const char *pSound ) = 0;
|
||||
virtual void InitPerformanceEditor( ReplayHandle_t hReplay ) = 0;
|
||||
virtual void HidePerformanceEditor() = 0;
|
||||
virtual bool ShouldRender() = 0;
|
||||
virtual void PlaySound( const char *pSound ) = 0;
|
||||
virtual void UploadOgsData( KeyValues *pData, bool bIncludeTimeField ) = 0;
|
||||
virtual bool ShouldCompletePendingReplay( IGameEvent *pEvent ) = 0;
|
||||
|
||||
virtual void OnSaveReplay( ReplayHandle_t hNewReplay, bool bShowInputDlg ) = 0;
|
||||
virtual void OnDeleteReplay( ReplayHandle_t hReplay ) = 0; // Called before replay is actually removed from the replay manager
|
||||
virtual void OnPlaybackComplete( ReplayHandle_t hReplay, int iPerformance ) = 0;
|
||||
virtual void OnRenderStart() = 0;
|
||||
virtual void OnRenderComplete( const RenderMovieParams_t &RenderParams, bool bCancelled, bool bSuccess, bool bShowBrowser ) = 0;
|
||||
virtual bool OnConfirmQuit() = 0;
|
||||
virtual bool OnEndOfReplayReached() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // ICLIENTREPLAY_H
|
||||
58
sp/src/common/replay/iclientreplaycontext.h
Normal file
58
sp/src/common/replay/iclientreplaycontext.h
Normal file
@@ -0,0 +1,58 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef ICLIENTREPLAYCONTEXT_H
|
||||
#define ICLIENTREPLAYCONTEXT_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "replay/ireplaycontext.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define REPLAYHISTORYMANAGER_INTERFACE_VERSION_CLIENT "VENGINE_CLIENT_REPLAY_HISTORY_MANAGER_001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
class CReplayPerformance;
|
||||
class IReplayManager;
|
||||
class IReplayMovieManager;
|
||||
class IReplayMovieRenderer;
|
||||
class IReplayScreenshotManager;
|
||||
class IReplayPerformanceManager;
|
||||
class IReplayPerformanceController;
|
||||
class IReplayRenderQueue;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IClientReplayContext : public IReplayContext
|
||||
{
|
||||
public:
|
||||
virtual CReplay *GetReplay( ReplayHandle_t hReplay ) = 0; // Shorthand to GetReplayManager()->GetReplay()
|
||||
virtual IReplayManager *GetReplayManager() = 0;
|
||||
virtual IReplayMovieRenderer *GetMovieRenderer() = 0;
|
||||
virtual IReplayMovieManager *GetMovieManager() = 0;
|
||||
virtual IReplayScreenshotManager *GetScreenshotManager() = 0;
|
||||
virtual IReplayPerformanceManager *GetPerformanceManager() = 0;
|
||||
virtual IReplayPerformanceController *GetPerformanceController() = 0;
|
||||
virtual IReplayRenderQueue *GetRenderQueue() = 0;
|
||||
virtual void SetMovieRenderer( IReplayMovieRenderer *pRenderer ) = 0; // Set to be the panel that renders replay movies, or NULL when nothing is rendering
|
||||
virtual void OnSignonStateFull() = 0;
|
||||
virtual void OnClientSideDisconnect() = 0; // Called when client disconnects
|
||||
virtual void PlayReplay( ReplayHandle_t hReplay, int iPerformance, bool bPlaySound ) = 0; // Play the given replay, from spawn tick to death tick
|
||||
virtual bool ReconstructReplayIfNecessary( CReplay *pReplay ) = 0;
|
||||
virtual void OnPlayerSpawn() = 0; // Called on the client when player is spawned
|
||||
virtual void OnPlayerClassChanged() = 0; // Called when the player's class changes - we use this instead of an event for immediacy
|
||||
virtual void GetPlaybackTimes( float &flOutTime, float &flOutLength, const CReplay *pReplay, const CReplayPerformance *pPerformance ) = 0; // Calculate the current time and length of a replay or performance - takes in tick and out tick into account for performances - flCurTime should be gpGlobals->curtime. pPerformance can be NULL.
|
||||
virtual uint64 GetServerSessionId( ReplayHandle_t hReplay ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // ICLIENTREPLAYCONTEXT_H
|
||||
104
sp/src/common/replay/iclientreplayhistorymanager.h
Normal file
104
sp/src/common/replay/iclientreplayhistorymanager.h
Normal file
@@ -0,0 +1,104 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef ICLIENTREPLAYHISTORYMANAGER_H
|
||||
#define ICLIENTREPLAYHISTORYMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "replay/replayhandle.h"
|
||||
#include "replay/screenshot.h"
|
||||
#include "interface.h"
|
||||
#include "qlimits.h"
|
||||
#include "convar.h"
|
||||
#include "engine/http.h"
|
||||
#include "tier1/utllinkedlist.h"
|
||||
#include "tier1/checksum_crc.h"
|
||||
#include <time.h>
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayDownloadGroup;
|
||||
class IReplayDownloadGroupHelper;
|
||||
class CDmxElement;
|
||||
class KeyValues;
|
||||
struct CaptureScreenshotParams_t;
|
||||
struct RenderMovieParams_t;
|
||||
class CBaseReplay;
|
||||
class CReplay;
|
||||
class IReplayMovieRenderer;
|
||||
class IReplayMovieManager;
|
||||
class IReplayMovie;
|
||||
class IReplayPerformanceManager;
|
||||
class IGameEvent;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IClientReplayHistoryManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual bool Init( CreateInterfaceFn fnCreateFactory ) = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
virtual void Think() = 0;
|
||||
|
||||
virtual bool IsInitialized() const = 0;
|
||||
virtual bool Commit( CBaseReplay *pNewReplay ) = 0;
|
||||
|
||||
virtual void Save() = 0; // Write the entire index and any replays/groups/movies that are marked as dirty
|
||||
virtual void FlagReplayForFlush( CBaseReplay *pReplay, bool bForceImmediateWrite ) = 0; // Mark the given replay as dirty - flush to disk at the next opportunity (see CBaseReplayHistoryManager::FlushThink())
|
||||
|
||||
virtual void Nuke() = 0;
|
||||
|
||||
virtual void DeleteReplay( ReplayHandle_t hReplay, bool bNotifyUI ) = 0;
|
||||
virtual CBaseReplay *GetReplay( ReplayHandle_t hReplay ) = 0;
|
||||
|
||||
virtual const char *GetBaseDirectory() = 0; // Returns full directory to wherever replays.dmx lives, e.g. c:\program files (x86)\steam\steamapps\someuser\team fortress 2\game\tf\replays\client\ (or server\) - NOTE: includes trailing slash
|
||||
virtual const char *GetReplaysSubDir() = 0; // Returns "client" or "server"
|
||||
|
||||
// For loop through all replays - indices should not be cached
|
||||
virtual int GetReplayCount() const = 0;
|
||||
// virtual CBaseReplay *GetReplayAtIndex( int nIndex ) = 0;
|
||||
|
||||
virtual const char *GetFullReplayPath() = 0; // Get c:\...\game\tf\replays\<client or server>\
|
||||
|
||||
// Client-specific
|
||||
virtual int GetAdjustedDeathTick( CReplay *pReplay ) = 0;
|
||||
virtual void FlagDownloadGroupForFlush( IReplayDownloadGroup *pGroup, bool bForceImmediate ) = 0;
|
||||
virtual void FlagMovieForFlush( IReplayMovie *pMovie, bool bForceImmediate ) = 0; // Flag the movie for flush - if pMovie is NULL, mark the index for flush
|
||||
virtual void SetMovieRenderer( IReplayMovieRenderer *pRenderer ) = 0; // Set to be the panel that renders replay movies, or NULL when nothing is rendering
|
||||
virtual bool ShouldGameRenderView() = 0; // Called from V_RenderView() to determine whether the game should render - used during movie rendering
|
||||
virtual int GetUnrenderedReplayCount() = 0; // Get the number of unrendered replays
|
||||
virtual void UpdateCurrentReplayDataFromServer() = 0; // Updates start tick, current file url, demo filename
|
||||
virtual void LinkReplayToDownloadGroup() = 0;
|
||||
virtual void CaptureScreenshot( CaptureScreenshotParams_t ¶ms ) = 0; // Schedules a screenshot capture at flDelay seconds in the future
|
||||
virtual void DoCaptureScreenshot() = 0; // Takes the screenshot right now
|
||||
virtual bool ShouldCaptureScreenshot() = 0; // Is screenshot scheduled to be taken right now?
|
||||
virtual void GetUnpaddedScreenshotSize( int &nWidth, int &nHeight ) = 0; // Get the dimensions for a screenshot if we take one right now, based on replay_screenshotresolution and the current aspect ratio
|
||||
virtual void DeleteScreenshotsForReplay( CReplay *pReplay ) = 0; // Deletes all screenshots associated with the given replay
|
||||
virtual void PlayReplay( ReplayHandle_t hReplay ) = 0; // Play the given replay, from spawn tick to death tick
|
||||
virtual void RenderMovie( RenderMovieParams_t const& params ) = 0; // Renders the given replay - or if params.hReplay is -1, render all unrendered replays
|
||||
virtual void CompleteRender( bool bSuccess ) = 0;
|
||||
virtual void OnClientSideDisconnect() = 0; // Called when client disconnects
|
||||
virtual void OnSignonStateFull() = 0;
|
||||
virtual void OnPlayerSpawn() = 0; // Called on the client when player is spawned
|
||||
virtual void OnPlayerClassChanged() = 0; // Called when the player's class changes - we use this instead of an event for immediacy
|
||||
virtual void OnReplayRecordingCvarChanged() = 0; // Called (on client only) when replay_recording is set to 1
|
||||
virtual void OnGroupDeleted() = 0;
|
||||
virtual CReplay *GetPlayingReplay() = 0; // Get the currently playing replay, otherwise NULL if one isn't playing
|
||||
virtual CReplay *GetReplayForCurrentLife() = 0; // Gets the current replay (constant from local player spawn until next spawn/disconnect/exit)
|
||||
virtual bool IsRendering() = 0; // Are we currently rendering a movie?
|
||||
virtual void CancelRender() = 0; // If we're currently rendering, cancel
|
||||
virtual IReplayMovieManager *GetMovieManager() = 0;
|
||||
virtual IReplayMovieRenderer *GetMovieRenderer() = 0;
|
||||
virtual const RenderMovieParams_t *GetRenderSettings() = 0;
|
||||
virtual IReplayDownloadGroupHelper *GetDownloadGroupHelper() = 0;
|
||||
virtual IReplayPerformanceManager *GetPerformanceManager() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // ICLIENTREPLAYHISTORYMANAGER_H
|
||||
116
sp/src/common/replay/ienginereplay.h
Normal file
116
sp/src/common/replay/ienginereplay.h
Normal file
@@ -0,0 +1,116 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IENGINEREPLAY_H
|
||||
#define IENGINEREPLAY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define ENGINE_REPLAY_INTERFACE_VERSION "EngineReplay001"
|
||||
|
||||
#if !defined( DEDICATED )
|
||||
# define ENGINE_REPLAY_CLIENT_INTERFACE_VERSION "EngineClientReplay001"
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IServer;
|
||||
class INetChannel;
|
||||
class IReplayServer;
|
||||
class IClientEntityList;
|
||||
class IClientReplay;
|
||||
struct demoheader_t;
|
||||
class CGlobalVarsBase;
|
||||
class IDemoBuffer;
|
||||
class CBaseRecordingSessionBlock;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Allows the replay, client & server DLL's to talk to the engine
|
||||
//
|
||||
class IEngineReplay : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual bool IsSupportedModAndPlatform() = 0;
|
||||
|
||||
virtual float GetHostTime() = 0;
|
||||
virtual int GetHostTickCount() = 0;
|
||||
virtual int TimeToTicks( float flTime ) = 0;
|
||||
virtual float TicksToTime( int nTick ) = 0;
|
||||
|
||||
virtual bool ReadDemoHeader( const char *pFilename, demoheader_t &header ) = 0;
|
||||
virtual const char *GetGameDir() = 0;
|
||||
virtual void Cbuf_AddText( const char *pCmd ) = 0;
|
||||
virtual void Cbuf_Execute() = 0;
|
||||
virtual void Host_Disconnect( bool bShowMainMenu ) = 0;
|
||||
virtual void HostState_Shutdown() = 0;
|
||||
virtual const char *GetModDir() = 0;
|
||||
|
||||
virtual bool CopyFile( const char *pSource, const char *pDest ) = 0;
|
||||
|
||||
virtual bool LZSS_Compress( char *pDest, unsigned int *pDestLen, const char *pSource, unsigned int nSourceLen ) = 0;
|
||||
virtual bool LZSS_Decompress( char *pDest, unsigned int *pDestLen, const char *pSource, unsigned int nSourceLen ) = 0;
|
||||
|
||||
virtual bool MD5_HashBuffer( unsigned char pDigest[16], const unsigned char *pBuffer, int nSize, unsigned int pSeed[4] ) = 0;
|
||||
|
||||
// Server-specific
|
||||
virtual IReplayServer *GetReplayServer() = 0;
|
||||
virtual IServer *GetReplayServerAsIServer() = 0;
|
||||
virtual IServer *GetGameServer() = 0;
|
||||
virtual bool GetSessionRecordBuffer( uint8 **ppSessionBuffer, int *pSize ) = 0;
|
||||
virtual bool IsDedicated() = 0;
|
||||
virtual void ResetReplayRecordBuffer() = 0;
|
||||
virtual demoheader_t *GetReplayDemoHeader() = 0;
|
||||
virtual void RecalculateTags() = 0;
|
||||
virtual bool NET_GetHostnameAsIP( const char *pHostname, char *pOut, int nOutSize ) = 0;
|
||||
};
|
||||
|
||||
//
|
||||
// Allows the replay and client DLL's to talk to the engine
|
||||
//
|
||||
#if !defined( DEDICATED )
|
||||
class IEngineClientReplay : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual INetChannel *GetNetChannel() = 0;
|
||||
virtual bool IsConnected() = 0;
|
||||
virtual bool IsListenServer() = 0;
|
||||
virtual float GetLastServerTickTime() = 0;
|
||||
virtual const char *GetLevelName() = 0;
|
||||
virtual const char *GetLevelNameShort() = 0;
|
||||
virtual int GetPlayerSlot() = 0;
|
||||
virtual bool IsPlayingReplayDemo() = 0;
|
||||
virtual IClientEntityList *GetClientEntityList() = 0;
|
||||
virtual IClientReplay *GetClientReplayInt() = 0;
|
||||
virtual uint32 GetClientSteamID() = 0;
|
||||
virtual void Con_NPrintf( int nPos, PRINTF_FORMAT_STRING const char *pFormat, ... ) = 0;
|
||||
virtual CGlobalVarsBase *GetClientGlobalVars() = 0;
|
||||
virtual void VGui_PlaySound( const char *pSound ) = 0;
|
||||
virtual void EngineVGui_ConfirmQuit() = 0;
|
||||
virtual int GetScreenWidth() = 0;
|
||||
virtual int GetScreenHeight() = 0;
|
||||
virtual bool IsDemoPlayingBack() = 0;
|
||||
virtual bool IsGamePathValidAndSafeForDownload( const char *pGamePath ) = 0;
|
||||
virtual bool IsInGame() = 0;
|
||||
|
||||
virtual void InitSoundRecord() = 0;
|
||||
|
||||
virtual void Wave_CreateTmpFile( const char *pFilename ) = 0;
|
||||
virtual void Wave_AppendTmpFile( const char *pFilename, void *pBuffer, int nNumSamples ) = 0;
|
||||
virtual void Wave_FixupTmpFile( const char *pFilename ) = 0;
|
||||
|
||||
};
|
||||
#endif // !defined( DEDICATED )
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IENGINEREPLAY_H
|
||||
46
sp/src/common/replay/iqueryablereplayitem.h
Normal file
46
sp/src/common/replay/iqueryablereplayitem.h
Normal file
@@ -0,0 +1,46 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IQUERYABLEREPLAYITEM_H
|
||||
#define IQUERYABLEREPLAYITEM_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "iqueryablereplayitem.h"
|
||||
#include "replay/replayhandle.h"
|
||||
#include "replay/replaytime.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
typedef int QueryableReplayItemHandle_t;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IQueryableReplayItem : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual const CReplayTime &GetItemDate() const = 0;
|
||||
virtual bool IsItemRendered() const = 0;
|
||||
virtual CReplay *GetItemReplay() = 0;
|
||||
virtual ReplayHandle_t GetItemReplayHandle() const = 0;
|
||||
virtual QueryableReplayItemHandle_t GetItemHandle() const = 0; // Get the handle of this item
|
||||
virtual const wchar_t *GetItemTitle() const = 0;
|
||||
virtual void SetItemTitle( const wchar_t *pTitle ) = 0;
|
||||
virtual float GetItemLength() const = 0;
|
||||
virtual void *GetUserData() = 0;
|
||||
virtual void SetUserData( void *pUserData ) = 0;
|
||||
virtual bool IsItemAMovie() const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IQUERYABLEREPLAYITEM_H
|
||||
27
sp/src/common/replay/irecordingsession.h
Normal file
27
sp/src/common/replay/irecordingsession.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IRECORDINGSESSION_H
|
||||
#define IRECORDINGSESSION_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CBaseRecordingSessionBlock;
|
||||
|
||||
class IRecordingSession : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void AddBlock( CBaseRecordingSessionBlock *pBlock ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IRECORDINGSESSION_H
|
||||
30
sp/src/common/replay/irecordingsessionblockmanager.h
Normal file
30
sp/src/common/replay/irecordingsessionblockmanager.h
Normal file
@@ -0,0 +1,30 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IRECORDINGSESSIONBLOCKMANAGER_H
|
||||
#define IRECORDINGSESSIONBLOCKMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IRecordingSessionBlockManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual CBaseRecordingSessionBlock *GetBlock( ReplayHandle_t hBlock ) = 0;
|
||||
virtual void DeleteBlock( CBaseRecordingSessionBlock *pBlock ) = 0;
|
||||
virtual void UnloadBlock( CBaseRecordingSessionBlock *pBlock ) = 0;
|
||||
virtual const char *GetBlockPath() const = 0;
|
||||
virtual void LoadBlockFromFileName( const char *pFilename, IRecordingSession *pSession ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IRECORDINGSESSIONBLOCKMANAGER_H
|
||||
33
sp/src/common/replay/irecordingsessionmanager.h
Normal file
33
sp/src/common/replay/irecordingsessionmanager.h
Normal file
@@ -0,0 +1,33 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IRECORDINGSESSIONMANAGER_H
|
||||
#define IRECORDINGSESSIONMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CBaseRecordingSession;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IRecordingSessionManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual CBaseRecordingSession *FindSession( ReplayHandle_t hSession ) = 0;
|
||||
virtual const CBaseRecordingSession *FindSession( ReplayHandle_t hSession ) const = 0;
|
||||
virtual void FlagSessionForFlush( CBaseRecordingSession *pSession, bool bForceImmediate ) = 0;
|
||||
virtual int GetServerStartTickForSession( ReplayHandle_t hSession ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IRECORDINGSESSIONMANAGER_H
|
||||
25
sp/src/common/replay/ireplaycamera.h
Normal file
25
sp/src/common/replay/ireplaycamera.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#ifndef IREPLAYCAMERA_H
|
||||
#define IREPLAYCAMERA_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayCamera : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void ClearOverrideView() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYCAMERA_H
|
||||
47
sp/src/common/replay/ireplaycontext.h
Normal file
47
sp/src/common/replay/ireplaycontext.h
Normal file
@@ -0,0 +1,47 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYCONTEXT_H
|
||||
#define IREPLAYCONTEXT_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IRecordingSessionManager;
|
||||
class IRecordingSessionBlockManager;
|
||||
class IRecordingSession;
|
||||
class IReplayErrorSystem;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayContext : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual bool Init( CreateInterfaceFn fnCreateFactory ) = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
virtual void Think() = 0;
|
||||
|
||||
virtual bool IsInitialized() const = 0;
|
||||
|
||||
virtual const char *GetRelativeBaseDir() const = 0; // Returns path to wherever the index .dmx lives relative to the game path, e.g. "replay\client\"
|
||||
virtual const char *GetBaseDir() const = 0; // Returns full directory to wherever the index .dmx lives, e.g. c:\program files (x86)\steam\steamapps\<username>\team fortress 2\tf\replays\<client|server>\ -- NOTE: includes trailing slash
|
||||
virtual const char *GetReplaySubDir() const = 0; // Returns "client" or "server"
|
||||
|
||||
virtual IReplayErrorSystem *GetErrorSystem() = 0;
|
||||
virtual IRecordingSessionManager *GetRecordingSessionManager() = 0;
|
||||
virtual IRecordingSessionBlockManager *GetRecordingSessionBlockManager() = 0;
|
||||
virtual IRecordingSession *GetRecordingSession( ReplayHandle_t hSession ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYCONTEXT_H
|
||||
42
sp/src/common/replay/ireplaydemoplayer.h
Normal file
42
sp/src/common/replay/ireplaydemoplayer.h
Normal file
@@ -0,0 +1,42 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYDEMOPLAYER_H
|
||||
#define IREPLAYDEMOPLAYER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replay.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define INTERFACEVERSION_REPLAYDEMOPLAYER "ReplayDemoPlayer001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Interface for replay demo player
|
||||
//
|
||||
class IReplayDemoPlayer : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void PlayReplay( ReplayHandle_t hReplay, int iPerformance ) = 0;
|
||||
virtual void PlayNextReplay() = 0;
|
||||
virtual void ClearReplayList() = 0;
|
||||
virtual void AddReplayToList( ReplayHandle_t hReplay, int iPerformance ) = 0;
|
||||
virtual CReplay *GetCurrentReplay() = 0;
|
||||
virtual CReplayPerformance *GetCurrentPerformance() = 0; // The playing replay, or NULL if playing the original replay
|
||||
virtual void PauseReplay() = 0;
|
||||
virtual bool IsReplayPaused() = 0;
|
||||
virtual void ResumeReplay() = 0;
|
||||
virtual void OnSignonStateFull() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYDEMOPLAYER_H
|
||||
33
sp/src/common/replay/ireplayerrorsystem.h
Normal file
33
sp/src/common/replay/ireplayerrorsystem.h
Normal file
@@ -0,0 +1,33 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYERRORSYSYTEM_H
|
||||
#define IREPLAYERRORSYSYTEM_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class KeyValues;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Replay error system
|
||||
//
|
||||
class IReplayErrorSystem : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void AddErrorFromTokenName( const char *pToken ) = 0;
|
||||
virtual void AddFormattedErrorFromTokenName( const char *pFormatToken, KeyValues *pFormatArgs ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYERRORSYSYTEM_H
|
||||
31
sp/src/common/replay/ireplayfactory.h
Normal file
31
sp/src/common/replay/ireplayfactory.h
Normal file
@@ -0,0 +1,31 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYFACTORY_H
|
||||
#define IREPLAYFACTORY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayFactory : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual CReplay *Create() = 0;
|
||||
};
|
||||
|
||||
#define INTERFACE_VERSION_REPLAY_FACTORY "IReplayFactory001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYFACTORY_H
|
||||
42
sp/src/common/replay/ireplaymanager.h
Normal file
42
sp/src/common/replay/ireplaymanager.h
Normal file
@@ -0,0 +1,42 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYMANAGER_H
|
||||
#define IREPLAYMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
#include "utllinkedlist.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
class IQueryableReplayItem;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual CReplay *GetReplay( ReplayHandle_t hReplay ) = 0;
|
||||
virtual CReplay *GetPlayingReplay() = 0;
|
||||
virtual CReplay *GetReplayForCurrentLife() = 0;
|
||||
virtual void FlagReplayForFlush( CReplay *pReplay, bool bForceImmediate ) = 0;
|
||||
virtual void DeleteReplay( ReplayHandle_t hReplay, bool bNotifyUI ) = 0;
|
||||
virtual int GetReplayCount() const = 0;
|
||||
virtual int GetUnrenderedReplayCount() = 0; // Get the number of unrendered replays
|
||||
virtual void GetReplays( CUtlLinkedList< CReplay *, int > &lstReplays ) = 0;
|
||||
virtual void GetReplaysAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstReplays ) = 0;
|
||||
virtual float GetDownloadProgress( const CReplay *pReplay ) = 0;
|
||||
virtual const char *GetReplaysDir() const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYMANAGER_H
|
||||
42
sp/src/common/replay/ireplaymovie.h
Normal file
42
sp/src/common/replay/ireplaymovie.h
Normal file
@@ -0,0 +1,42 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYMOVIE_H
|
||||
#define IREPLAYMOVIE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "iqueryablereplayitem.h"
|
||||
#include "replay/rendermovieparams.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayMovie : public IQueryableReplayItem
|
||||
{
|
||||
public:
|
||||
virtual ReplayHandle_t GetMovieHandle() const = 0;
|
||||
virtual ReplayHandle_t GetReplayHandle() const = 0;
|
||||
virtual const ReplayRenderSettings_t &GetRenderSettings() = 0;
|
||||
virtual void GetFrameDimensions( int &nWidth, int &nHeight ) = 0;
|
||||
virtual void SetIsRendered( bool bIsRendered ) = 0;
|
||||
virtual void SetMovieFilename( const char *pFilename ) = 0;
|
||||
virtual const char *GetMovieFilename() const = 0;
|
||||
virtual void SetMovieTitle( const wchar_t *pTitle ) = 0;
|
||||
virtual void SetRenderTime( float flRenderTime ) = 0;
|
||||
virtual float GetRenderTime() const = 0;
|
||||
virtual void CaptureRecordTime() = 0;
|
||||
virtual void SetLength( float flLength ) = 0;
|
||||
|
||||
virtual bool IsUploaded() const = 0;
|
||||
virtual void SetUploaded( bool bUploaded ) = 0;
|
||||
virtual void SetUploadURL( const char *pURL ) = 0;
|
||||
virtual const char *GetUploadURL() const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYMOVIE_H
|
||||
56
sp/src/common/replay/ireplaymoviemanager.h
Normal file
56
sp/src/common/replay/ireplaymoviemanager.h
Normal file
@@ -0,0 +1,56 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYMOVIEMANAGER_H
|
||||
#define IREPLAYMOVIEMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "utlstring.h"
|
||||
#include "utllinkedlist.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayMovie;
|
||||
class CReplay;
|
||||
struct RenderMovieParams_t;
|
||||
class IQueryableReplayItem;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayMovieManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual int GetMovieCount() = 0;
|
||||
virtual void GetMovieList( CUtlLinkedList< IReplayMovie * > &list ) = 0; // Fills the list with all movies
|
||||
virtual IReplayMovie *GetMovie( ReplayHandle_t hMovie ) = 0;
|
||||
virtual IReplayMovie *CreateAndAddMovie( ReplayHandle_t hReplay ) = 0; // Creates and adds a movie based on the given replay
|
||||
virtual void DeleteMovie( ReplayHandle_t hMovie ) = 0; // Delete a movie
|
||||
virtual int GetNumMoviesDependentOnReplay( const CReplay *pReplay ) = 0; // Get the number of movies that depend on the given replay
|
||||
virtual void GetCachedMovieTitleAndClear( wchar_t *pOut, int nOutBufLength ) = 0; // TODO: This is a hack - fix this
|
||||
virtual void SetPendingMovie( IReplayMovie *pMovie ) = 0;
|
||||
virtual IReplayMovie *GetPendingMovie() = 0;
|
||||
virtual void FlagMovieForFlush( IReplayMovie *pMovie, bool bImmediate ) = 0;
|
||||
virtual void GetMoviesAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstMovies ) = 0;
|
||||
virtual const char *GetRenderDir() const = 0;
|
||||
virtual const char *GetRawExportDir() const = 0;
|
||||
|
||||
// TODO: Is this the best place for code that actually manages rendering?
|
||||
virtual bool IsRendering() const = 0;
|
||||
virtual bool RenderingCancelled() const = 0;
|
||||
virtual void RenderMovie( RenderMovieParams_t const& params ) = 0; // Renders the given replay - or if params.hReplay is -1, render all unrendered replays
|
||||
virtual void RenderNextMovie() = 0;
|
||||
virtual void CompleteRender( bool bSuccess, bool bShowBrowser ) = 0;
|
||||
virtual void CancelRender() = 0;
|
||||
virtual void ClearRenderCancelledFlag() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYMOVIEMANAGER_H
|
||||
33
sp/src/common/replay/ireplaymovierenderer.h
Normal file
33
sp/src/common/replay/ireplaymovierenderer.h
Normal file
@@ -0,0 +1,33 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYMOVIERENDERER_H
|
||||
#define IREPLAYMOVIERENDERER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayMovie;
|
||||
struct RenderMovieParams_t;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayMovieRenderer : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual bool SetupRenderer( RenderMovieParams_t ¶ms, IReplayMovie *pMovie ) = 0;
|
||||
virtual void ShutdownRenderer() = 0;
|
||||
virtual void RenderVideo() = 0;
|
||||
virtual void RenderAudio( unsigned char *pBuffer, int nSize, int nNumSamples ) = 0;
|
||||
|
||||
virtual void SetAudioSyncFrame( bool isSync = false ) = 0;
|
||||
virtual bool IsAudioSyncFrame() = 0;
|
||||
virtual float GetRecordingFrameDuration() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYMOVIERENDERER_H
|
||||
107
sp/src/common/replay/ireplayperformancecontroller.h
Normal file
107
sp/src/common/replay/ireplayperformancecontroller.h
Normal file
@@ -0,0 +1,107 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYPERFORMANCECONTROLLER_H
|
||||
#define IREPLAYPERFORMANCECONTROLLER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "tier1/strtools.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayPerformanceEditor;
|
||||
class CReplay;
|
||||
class Vector;
|
||||
class QAngle;
|
||||
class CReplayPerformance;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
// These values are what we use to represent
|
||||
|
||||
struct SetViewParams_t
|
||||
{
|
||||
SetViewParams_t() { V_memset( this, 0, sizeof( SetViewParams_t ) ); }
|
||||
SetViewParams_t( float flTime, Vector *pOrigin, QAngle *pAngles, float flFov, float flAccel,
|
||||
float flSpeed, float flRotFilter )
|
||||
: m_flTime( flTime ),
|
||||
m_pOrigin( pOrigin ),
|
||||
m_pAngles( pAngles ),
|
||||
m_flFov( flFov ),
|
||||
m_flAccel( flAccel ),
|
||||
m_flSpeed( flSpeed ),
|
||||
m_flRotationFilter( flRotFilter )
|
||||
{
|
||||
}
|
||||
|
||||
float m_flTime;
|
||||
Vector *m_pOrigin;
|
||||
QAngle *m_pAngles;
|
||||
float m_flFov;
|
||||
|
||||
// Right now only used for updating UI during playback:
|
||||
float m_flAccel;
|
||||
float m_flSpeed;
|
||||
float m_flRotationFilter;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayPerformanceController : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void SetEditor( IReplayPerformanceEditor *pEditor ) = 0;
|
||||
|
||||
virtual bool IsPlaybackDataLeft() = 0;
|
||||
|
||||
virtual void StartRecording( CReplay *pReplay, bool bSnip ) = 0;
|
||||
virtual void NotifyRewinding() = 0;
|
||||
|
||||
virtual void Stop() = 0;
|
||||
virtual bool SaveAsync() = 0;
|
||||
virtual bool SaveAsAsync( const wchar *pTitle ) = 0;
|
||||
|
||||
virtual bool IsSaving() const = 0;
|
||||
|
||||
virtual void SaveThink() = 0;
|
||||
|
||||
virtual bool GetLastSaveStatus() const = 0;
|
||||
|
||||
virtual bool IsRecording() const = 0;
|
||||
virtual bool IsPlaying() const = 0;
|
||||
|
||||
virtual bool IsDirty() const = 0;
|
||||
virtual void NotifyDirty() = 0;
|
||||
|
||||
virtual CReplayPerformance *GetPerformance() = 0;
|
||||
virtual CReplayPerformance *GetSavedPerformance() = 0;
|
||||
virtual bool HasSavedPerformance() = 0;
|
||||
|
||||
virtual void NotifyPauseState( bool bPaused ) = 0;
|
||||
|
||||
virtual void ClearRewinding() = 0;
|
||||
|
||||
virtual void OnSignonStateFull() = 0;
|
||||
|
||||
virtual float GetPlaybackTimeScale() const = 0;
|
||||
|
||||
//
|
||||
// Recorder-specific:
|
||||
//
|
||||
virtual void AddEvent_Camera_Change_FirstPerson( float flTime, int nEntityIndex ) = 0;
|
||||
virtual void AddEvent_Camera_Change_ThirdPerson( float flTime, int nEntityIndex ) = 0;
|
||||
virtual void AddEvent_Camera_Change_Free( float flTime ) = 0;
|
||||
virtual void AddEvent_Camera_ChangePlayer( float flTime, int nEntIndex ) = 0;
|
||||
virtual void AddEvent_Camera_SetView( const SetViewParams_t ¶ms ) = 0;
|
||||
virtual void AddEvent_TimeScale( float flTime, float flScale ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPERFORMANCECONTROLLER_H
|
||||
33
sp/src/common/replay/ireplayperformanceeditor.h
Normal file
33
sp/src/common/replay/ireplayperformanceeditor.h
Normal file
@@ -0,0 +1,33 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYPERFORMANCEEDITOR_H
|
||||
#define IREPLAYPERFORMANCEEDITOR_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Interface to allow the replay DLL to talk to the actual UI.
|
||||
//
|
||||
class IReplayPerformanceEditor : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual CReplay *GetReplay() = 0;
|
||||
virtual void OnRewindComplete() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPERFORMANCEEDITOR_H
|
||||
36
sp/src/common/replay/ireplayperformancemanager.h
Normal file
36
sp/src/common/replay/ireplayperformancemanager.h
Normal file
@@ -0,0 +1,36 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYPERFORMANCEMANAGER_H
|
||||
#define IREPLAYPERFORMANCEMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplayPerformance;
|
||||
class CReplay;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayPerformanceManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual CReplayPerformance *CreatePerformance( CReplay *pReplay ) = 0;
|
||||
virtual void DeletePerformance( CReplayPerformance *pPerformance ) = 0;
|
||||
|
||||
virtual const char *GetRelativePath() const = 0;
|
||||
virtual const char *GetFullPath() const = 0;
|
||||
|
||||
virtual const char *GeneratePerformanceFilename( CReplay *pReplay ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPERFORMANCEMANAGER_H
|
||||
36
sp/src/common/replay/ireplayperformanceplaybackhandler.h
Normal file
36
sp/src/common/replay/ireplayperformanceplaybackhandler.h
Normal file
@@ -0,0 +1,36 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYPERFORMANCEPLAYBACKHANDLER_H
|
||||
#define IREPLAYPERFORMANCEPLAYBACKHANDLER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/ireplayperformancecontroller.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class Vector;
|
||||
class QAngle;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayPerformancePlaybackHandler : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void OnEvent_Camera_Change_FirstPerson( float flTime, int nEntityIndex ) = 0;
|
||||
virtual void OnEvent_Camera_Change_ThirdPerson( float flTime, int nEntityIndex ) = 0;
|
||||
virtual void OnEvent_Camera_Change_Free( float flTime ) = 0;
|
||||
virtual void OnEvent_Camera_ChangePlayer( float flTime, int nEntIndex ) = 0;
|
||||
virtual void OnEvent_Camera_SetView( const SetViewParams_t ¶ms ) = 0;
|
||||
virtual void OnEvent_TimeScale( float flTime, float flScale ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPERFORMANCEPLAYBACKHANDLER_H
|
||||
33
sp/src/common/replay/ireplayperformanceplayer.h
Normal file
33
sp/src/common/replay/ireplayperformanceplayer.h
Normal file
@@ -0,0 +1,33 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYPERFORMANCEPLAYER_H
|
||||
#define IREPLAYPERFORMANCEPLAYER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
class CReplayPerformance;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayPerformancePlayer : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void BeginPerformancePlay( CReplayPerformance *pPerformance ) = 0;
|
||||
virtual void EndPerformancePlay() = 0;
|
||||
|
||||
virtual bool IsPlaying() const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPERFORMANCEPLAYER_H
|
||||
49
sp/src/common/replay/ireplayperformancerecorder.h
Normal file
49
sp/src/common/replay/ireplayperformancerecorder.h
Normal file
@@ -0,0 +1,49 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYPERFORMANCERECORDER_H
|
||||
#define IREPLAYPERFORMANCERECORDER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
class Vector;
|
||||
class QAngle;
|
||||
class CReplayPerformance;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayPerformanceRecorder : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void BeginPerformanceRecord( CReplay *pReplay ) = 0;
|
||||
virtual void EndPerformanceRecord() = 0;
|
||||
|
||||
virtual void NotifyPauseState( bool bPaused ) = 0;
|
||||
|
||||
virtual CReplayPerformance *GetPerformance() = 0;
|
||||
virtual bool IsRecording() const = 0;
|
||||
|
||||
virtual void SnipAtTime( float flTime ) = 0;
|
||||
virtual void NotifySkipping() = 0;
|
||||
virtual void ClearSkipping() = 0;
|
||||
|
||||
virtual void AddEvent_Camera_Change_FirstPerson( float flTime, int nEntityIndex ) = 0;
|
||||
virtual void AddEvent_Camera_Change_ThirdPerson( float flTime, int nEntityIndex ) = 0;
|
||||
virtual void AddEvent_Camera_Change_Free( float flTime ) = 0;
|
||||
virtual void AddEvent_Camera_ChangePlayer( float flTime, int nEntIndex ) = 0;
|
||||
virtual void AddEvent_Camera_SetView( float flTime, const Vector& origin, const QAngle &angles, float fov ) = 0;
|
||||
virtual void AddEvent_Slowmo( float flTime, float flScale ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPERFORMANCERECORDER_H
|
||||
41
sp/src/common/replay/ireplayplayercache.h
Normal file
41
sp/src/common/replay/ireplayplayercache.h
Normal file
@@ -0,0 +1,41 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#ifndef IREPLAYPLAYERCACHE_H
|
||||
#define IREPLAYPLAYERCACHE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define REPLAYPLAYERCACHE_INTERFACE_VERSION "VENGINE_REPLAY_PLAYER_CACHE_001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayPlayerCache : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual bool Init() = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
virtual void SetupPlayer( int nEntIndex ) = 0;
|
||||
virtual void DeletePlayerEntry( int nEntIndex ) = 0;
|
||||
|
||||
virtual bool PlayerHasCacheEntry( int nEntIndex ) = 0;
|
||||
|
||||
virtual void SetPlayerClass( int nEntIndex, const char *pPlayerClass ) = 0;
|
||||
virtual void SetPlayerSpawnTick( int nEntIndex, int nTick ) = 0;
|
||||
virtual void SetPlayerDeathTick( int nEntIndex, int nTick ) = 0;
|
||||
|
||||
virtual const char *GetPlayerClass( int nEntIndex ) = 0;
|
||||
virtual int GetPlayerSpawnTick( int nEntIndex ) = 0;
|
||||
virtual int GetPlayerDeathTick( int nEntIndex ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYPLAYERCACHE_H
|
||||
32
sp/src/common/replay/ireplayrenderqueue.h
Normal file
32
sp/src/common/replay/ireplayrenderqueue.h
Normal file
@@ -0,0 +1,32 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYRENDERQUEUE_H
|
||||
#define IREPLAYRENDERQUEUE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplayRenderQueue : IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void Add( ReplayHandle_t hReplay, int iPerformance ) = 0;
|
||||
virtual void Remove( ReplayHandle_t hReplay, int iPerformance ) = 0;
|
||||
virtual void Clear() = 0;
|
||||
|
||||
virtual int GetCount() const = 0;
|
||||
virtual bool GetEntryData( int iIndex, ReplayHandle_t *pHandleOut, int *pPerformanceOut ) const = 0;
|
||||
virtual bool IsInQueue( ReplayHandle_t hReplay, int iPerformance ) const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYRENDERQUEUE_H
|
||||
32
sp/src/common/replay/ireplayscreenshotmanager.h
Normal file
32
sp/src/common/replay/ireplayscreenshotmanager.h
Normal file
@@ -0,0 +1,32 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYSCREENSHOTMANAGER_H
|
||||
#define IREPLAYSCREENSHOTMANAGER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
struct CaptureScreenshotParams_t;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayScreenshotManager : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void CaptureScreenshot( CaptureScreenshotParams_t& params ) = 0;
|
||||
virtual void GetUnpaddedScreenshotSize( int &nOutWidth, int &nOutHeight ) = 0;
|
||||
virtual void DeleteScreenshotsForReplay( CReplay *pReplay ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYSCREENSHOTMANAGER_H
|
||||
34
sp/src/common/replay/ireplayscreenshotsystem.h
Normal file
34
sp/src/common/replay/ireplayscreenshotsystem.h
Normal file
@@ -0,0 +1,34 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYSCREENSHOTSYSTEM_H
|
||||
#define IREPLAYSCREENSHOTSYSTEM_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
struct WriteReplayScreenshotParams_t;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Implementation lives in the client - allows replay to tell the client to grab a
|
||||
// screenshot or update the cache.
|
||||
//
|
||||
class IReplayScreenshotSystem : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void WriteReplayScreenshot( WriteReplayScreenshotParams_t ¶ms ) = 0;
|
||||
virtual void UpdateReplayScreenshotCache() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYSCREENSHOTSYSTEM_H
|
||||
48
sp/src/common/replay/ireplayserializeable.h
Normal file
48
sp/src/common/replay/ireplayserializeable.h
Normal file
@@ -0,0 +1,48 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYSERIALIIZEABLE_H
|
||||
#define IREPLAYSERIALIIZEABLE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
#include "replay/replayhandle.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class KeyValues;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplaySerializeable : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void SetHandle( ReplayHandle_t h ) = 0;
|
||||
virtual ReplayHandle_t GetHandle() const = 0;
|
||||
|
||||
virtual bool Read( KeyValues *pIn ) = 0;
|
||||
virtual void Write( KeyValues *pOut ) = 0;
|
||||
|
||||
virtual const char *GetSubKeyTitle() const = 0;
|
||||
virtual const char *GetFilename() const = 0;
|
||||
virtual const char *GetPath() const = 0;
|
||||
|
||||
virtual const char *GetFullFilename() const = 0;
|
||||
|
||||
virtual void SetLocked( bool bLocked ) = 0;
|
||||
virtual bool IsLocked() const = 0;
|
||||
|
||||
virtual void OnDelete() = 0;
|
||||
virtual void OnUnload() = 0;
|
||||
|
||||
virtual const char *GetDebugName() const = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYSERIALIIZEABLE_H
|
||||
48
sp/src/common/replay/ireplayserver.h
Normal file
48
sp/src/common/replay/ireplayserver.h
Normal file
@@ -0,0 +1,48 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef IREPLAYSERVER_H
|
||||
#define IREPLAYSERVER_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class IServer;
|
||||
class IReplayDirector;
|
||||
class IGameEvent;
|
||||
struct netadr_s;
|
||||
class CServerReplay;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Interface the Replay module exposes to the engine
|
||||
//-----------------------------------------------------------------------------
|
||||
#define INTERFACEVERSION_REPLAYSERVER "ReplayServer001"
|
||||
|
||||
class IReplayServer : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual ~IReplayServer() {}
|
||||
|
||||
virtual IServer *GetBaseServer() = 0; // get Replay base server interface
|
||||
virtual IReplayDirector *GetDirector() = 0; // get director interface
|
||||
virtual int GetReplaySlot() = 0; // return entity index-1 of Replay in game
|
||||
virtual float GetOnlineTime() = 0; // seconds since broadcast started
|
||||
virtual void BroadcastEvent(IGameEvent *event) = 0; // send a director command to all specs
|
||||
virtual bool IsRecording() = 0;
|
||||
virtual void StartRecording() = 0;
|
||||
virtual void StopRecording() = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
27
sp/src/common/replay/ireplaysessionrecorder.h
Normal file
27
sp/src/common/replay/ireplaysessionrecorder.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYSESSIONRECORDER_H
|
||||
#define IREPLAYSESSIONRECORDER_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplaySessionRecorder : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void StartRecording() = 0;
|
||||
virtual void StopRecording( bool bAborting ) = 0;
|
||||
virtual void SetCurrentRecordingStartTick( int nStartTick ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYSESSIONRECORDER_H
|
||||
60
sp/src/common/replay/ireplaysystem.h
Normal file
60
sp/src/common/replay/ireplaysystem.h
Normal file
@@ -0,0 +1,60 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef IREPLAYSYSTEM_H
|
||||
#define IREPLAYSYSTEM_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "appframework/IAppSystem.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IClientReplayContext;
|
||||
class IServerReplayContext;
|
||||
class IGameEvent;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
abstract_class IReplaySystem : public IAppSystem
|
||||
{
|
||||
public:
|
||||
// IAppSystem:
|
||||
virtual bool Connect( CreateInterfaceFn fnFactory ) = 0;
|
||||
virtual void Disconnect() = 0;
|
||||
virtual InitReturnVal_t Init() = 0;
|
||||
virtual void Shutdown() = 0;
|
||||
|
||||
// To be called client- & server-side
|
||||
virtual void Think() = 0;
|
||||
virtual bool IsReplayEnabled() = 0;
|
||||
virtual bool IsRecording() = 0;
|
||||
|
||||
// To be called client-side only - on dedicated servers, only subs defined
|
||||
virtual bool CL_Init( CreateInterfaceFn fnClientFactory ) = 0;
|
||||
virtual void CL_Shutdown() = 0;
|
||||
virtual void CL_Render() = 0;
|
||||
virtual IClientReplayContext *CL_GetContext() = 0;
|
||||
|
||||
// To be called server-side only
|
||||
virtual bool SV_Init( CreateInterfaceFn fnFactory ) = 0;
|
||||
virtual void SV_Shutdown() = 0;
|
||||
virtual void SV_EndRecordingSession( bool bForceSynchronousPublish = false ) = 0;
|
||||
virtual void SV_SendReplayEvent( const char *pEventName, int nClientSlot ) = 0;
|
||||
virtual void SV_SendReplayEvent( IGameEvent *pEvent, int nClientSlot ) = 0;
|
||||
virtual bool SV_ShouldBeginRecording( bool bIsInWaitingForPlayers ) = 0;
|
||||
virtual void SV_NotifyReplayRequested() = 0;
|
||||
virtual IServerReplayContext *SV_GetContext() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define REPLAY_INTERFACE_VERSION "ReplaySystem001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // IREPLAYSYSTEM_H
|
||||
27
sp/src/common/replay/iserverengine.h
Normal file
27
sp/src/common/replay/iserverengine.h
Normal file
@@ -0,0 +1,27 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef ISERVERENGINE_H
|
||||
#define ISERVERENGINE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayServerEngine : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void EndReplayRecordingSession() = 0;
|
||||
virtual bool IsReplayRecording() = 0;
|
||||
virtual bool IsReplay() = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // ISERVERENGINE_H
|
||||
37
sp/src/common/replay/iserverreplay.h
Normal file
37
sp/src/common/replay/iserverreplay.h
Normal file
@@ -0,0 +1,37 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef ISERVERREPLAY_H
|
||||
#define ISERVERREPLAY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "interface.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define SERVER_REPLAY_INTERFACE_VERSION "ServerReplay001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayFactory;
|
||||
class KeyValues;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
//
|
||||
// Allows the replay DLL to talk to the server
|
||||
//
|
||||
class IServerReplay : public IBaseInterface
|
||||
{
|
||||
public:
|
||||
virtual void UploadOgsData( KeyValues *pData, bool bIncludeTimeField ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // ISERVERREPLAY_H
|
||||
38
sp/src/common/replay/iserverreplaycontext.h
Normal file
38
sp/src/common/replay/iserverreplaycontext.h
Normal file
@@ -0,0 +1,38 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef ISERVERREPLAYCONTEXT_H
|
||||
#define ISERVERREPLAYCONTEXT_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "replay/ireplaycontext.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IGameEvent;
|
||||
class IReplaySessionRecorder;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define REPLAYHISTORYMANAGER_INTERFACE_VERSION_SERVER "VENGINE_SERVER_REPLAY_HISTORY_MANAGER_001"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IServerReplayContext : public IReplayContext
|
||||
{
|
||||
public:
|
||||
virtual void FlagForConVarSanityCheck() = 0; // Checks replay_enable / replay_local_fileserver_path / replay_downloadurlport / replay_downloadurlpath
|
||||
virtual IGameEvent *CreateReplaySessionInfoEvent() = 0; // Create "replay_sessioninfo" event w/ appropriate fields filled in
|
||||
virtual IReplaySessionRecorder *GetSessionRecorder() = 0;
|
||||
virtual const char *GetLocalFileServerPath() const = 0; // Returns the local path where session blocks and such should be published for download
|
||||
virtual void CreateSessionOnClient( int nClientSlot ) = 0;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // ISERVERREPLAYCONTEXT_H
|
||||
63
sp/src/common/replay/performance.h
Normal file
63
sp/src/common/replay/performance.h
Normal file
@@ -0,0 +1,63 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef REPLAYPERFORMANCE_H
|
||||
#define REPLAYPERFORMANCE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "shared_defs.h"
|
||||
#include "qlimits.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay;
|
||||
class KeyValues;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplayPerformance
|
||||
{
|
||||
public:
|
||||
CReplayPerformance( CReplay *pReplay );
|
||||
|
||||
inline bool HasInTick() const { return m_nTickIn >= 0; }
|
||||
inline bool HasOutTick() const { return m_nTickOut >= 0; }
|
||||
|
||||
inline int GetTickIn() const { return m_nTickIn; }
|
||||
inline int GetTickOut() const { return m_nTickOut; }
|
||||
|
||||
void Copy( const CReplayPerformance *pSrc );
|
||||
void CopyTicks( const CReplayPerformance *pSrc );
|
||||
|
||||
void SetFilename( const char *pFilename );
|
||||
const char *GetFullPerformanceFilename();
|
||||
|
||||
void AutoNameIfHasNoTitle( const char *pMapName );
|
||||
void SetTitle( const wchar_t *pTitle );
|
||||
|
||||
// NOTE: Doesn't copy exactly - gets a valid filename for the returned performance.
|
||||
CReplayPerformance *MakeCopy() const;
|
||||
|
||||
void Read( KeyValues *pIn );
|
||||
void Write( KeyValues *pOut );
|
||||
|
||||
// NOTE: Any changes made here should be reflected in the copy constructor
|
||||
// (which is called from MakeCopy()).
|
||||
wchar_t m_wszTitle[MAX_TAKE_TITLE_LENGTH];
|
||||
char m_szBaseFilename[ MAX_OSPATH ];
|
||||
CReplay *m_pReplay;
|
||||
int m_nTickIn;
|
||||
int m_nTickOut;
|
||||
|
||||
private:
|
||||
CReplayPerformance( const CReplayPerformance *pPerformance );
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // REPLAYPERFORMANCE_H
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user