mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-01-27 06:07:56 +03:00
First version of the SOurce SDK 2013
This commit is contained in:
commit
39ed87570b
43
LICENSE
Normal file
43
LICENSE
Normal file
@ -0,0 +1,43 @@
|
||||
SOURCE 1 SDK LICENSE
|
||||
|
||||
Source SDK Copyright© Valve Corp.
|
||||
|
||||
THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE
|
||||
CORPORATION (“Valve”). PLEASE READ IT BEFORE DOWNLOADING OR USING
|
||||
THE SOURCE ENGINE SDK (“SDK”). BY DOWNLOADING AND/OR USING THE
|
||||
SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO
|
||||
THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.
|
||||
|
||||
You may, free of charge, download and use the SDK to develop a modified Valve game
|
||||
running on the Source engine. You may distribute your modified Valve game in source and
|
||||
object code form, but only for free. Terms of use for Valve games are found in the Steam
|
||||
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
|
||||
|
||||
You may copy, modify, and distribute the SDK and any modifications you make to the
|
||||
SDK in source and object code form, but only for free. Any distribution of this SDK must
|
||||
include this LICENSE file and thirdpartylegalnotices.txt.
|
||||
|
||||
Any distribution of the SDK or a substantial portion of the SDK must include the above
|
||||
copyright notice and the following:
|
||||
|
||||
DISCLAIMER OF WARRANTIES. THE SOURCE SDK AND ANY
|
||||
OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED
|
||||
“AS IS”. VALVE AND ITS SUPPLIERS DISCLAIM ALL
|
||||
WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
|
||||
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
|
||||
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
||||
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
|
||||
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
|
||||
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
|
||||
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
|
||||
If you would like to use the SDK for a commercial purpose, please contact Valve at
|
||||
sourceengine@valvesoftware.com.
|
43
README
Normal file
43
README
Normal file
@ -0,0 +1,43 @@
|
||||
SOURCE 1 SDK LICENSE
|
||||
|
||||
Source SDK Copyright© Valve Corp.
|
||||
|
||||
THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE
|
||||
CORPORATION (“Valve”). PLEASE READ IT BEFORE DOWNLOADING OR USING
|
||||
THE SOURCE ENGINE SDK (“SDK”). BY DOWNLOADING AND/OR USING THE
|
||||
SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO
|
||||
THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.
|
||||
|
||||
You may, free of charge, download and use the SDK to develop a modified Valve game
|
||||
running on the Source engine. You may distribute your modified Valve game in source and
|
||||
object code form, but only for free. Terms of use for Valve games are found in the Steam
|
||||
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
|
||||
|
||||
You may copy, modify, and distribute the SDK and any modifications you make to the
|
||||
SDK in source and object code form, but only for free. Any distribution of this SDK must
|
||||
include this LICENSE file and thirdpartylegalnotices.txt.
|
||||
|
||||
Any distribution of the SDK or a substantial portion of the SDK must include the above
|
||||
copyright notice and the following:
|
||||
|
||||
DISCLAIMER OF WARRANTIES. THE SOURCE SDK AND ANY
|
||||
OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED
|
||||
“AS IS”. VALVE AND ITS SUPPLIERS DISCLAIM ALL
|
||||
WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
|
||||
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
|
||||
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
||||
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
|
||||
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
|
||||
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
|
||||
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
|
||||
If you would like to use the SDK for a commercial purpose, please contact Valve at
|
||||
sourceengine@valvesoftware.com.
|
84
mp/game/mod_hl2mp/GameInfo.txt
Normal file
84
mp/game/mod_hl2mp/GameInfo.txt
Normal file
@ -0,0 +1,84 @@
|
||||
"GameInfo"
|
||||
{
|
||||
game "My First HL2MP Mod"
|
||||
title "HALF+LIFE'"
|
||||
title2 "deathmatch mod"
|
||||
type multiplayer_only
|
||||
nomodels 0
|
||||
nohimodel 1
|
||||
nocrosshair 1
|
||||
hidden_maps
|
||||
{
|
||||
"test_speakers" 1
|
||||
"test_hardware" 1
|
||||
}
|
||||
|
||||
|
||||
FileSystem
|
||||
{
|
||||
SteamAppId 243730
|
||||
|
||||
//
|
||||
// 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 hl2mp/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 hl2mp/hl2mp_english.vpk
|
||||
game+mod hl2mp/hl2mp_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 hl2mp
|
||||
|
||||
// Where the game's binaries are
|
||||
gamebin hl2mp/bin
|
||||
|
||||
// Last, mount in shared HL2 loose files
|
||||
game |all_source_engine_paths|hl2mp
|
||||
game |all_source_engine_paths|hl2
|
||||
platform |all_source_engine_paths|platform
|
||||
}
|
||||
}
|
||||
}
|
BIN
mp/game/mod_hl2mp/maps/dm_lockdown.bsp
Normal file
BIN
mp/game/mod_hl2mp/maps/dm_lockdown.bsp
Normal file
Binary file not shown.
1583
mp/game/mod_hl2mp/resource/ClientScheme.res
Normal file
1583
mp/game/mod_hl2mp/resource/ClientScheme.res
Normal file
File diff suppressed because it is too large
Load Diff
48
mp/game/mod_hl2mp/resource/GameMenu.res
Normal file
48
mp/game/mod_hl2mp/resource/GameMenu.res
Normal file
@ -0,0 +1,48 @@
|
||||
"GameMenu"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_ResumeGame"
|
||||
"command" "ResumeGame"
|
||||
"OnlyInGame" "1"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_Disconnect"
|
||||
"command" "Disconnect"
|
||||
"OnlyInGame" "1"
|
||||
}
|
||||
"3"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_PlayerList"
|
||||
"command" "OpenPlayerListDialog"
|
||||
"OnlyInGame" "1"
|
||||
}
|
||||
"4"
|
||||
{
|
||||
"label" ""
|
||||
"command" ""
|
||||
"OnlyInGame" "1"
|
||||
}
|
||||
"5"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_FindServers"
|
||||
"command" "OpenServerBrowser"
|
||||
}
|
||||
"6"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_CreateServer"
|
||||
"command" "OpenCreateMultiplayerGameDialog"
|
||||
}
|
||||
"10"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_Options"
|
||||
"command" "OpenOptionsDialog"
|
||||
}
|
||||
"11"
|
||||
{
|
||||
"label" "#GameUI_GameMenu_Quit"
|
||||
"command" "Quit"
|
||||
}
|
||||
}
|
||||
|
800
mp/game/mod_hl2mp/resource/ObjectControlPanelScheme.res
Normal file
800
mp/game/mod_hl2mp/resource/ObjectControlPanelScheme.res
Normal file
@ -0,0 +1,800 @@
|
||||
///////////////////////////////////////////////////////////
|
||||
// Object Control Panel 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
|
||||
//
|
||||
// hit ctrl-alt-shift-R in the app to reload this file
|
||||
//
|
||||
///////////////////////////////////////////////////////////
|
||||
Scheme
|
||||
{
|
||||
//////////////////////// COLORS ///////////////////////////
|
||||
// color details
|
||||
// this is a list of all the colors used by the scheme
|
||||
Colors
|
||||
{
|
||||
// base colors
|
||||
"BaseText" "48 192 192 255" // used in text windows, lists
|
||||
"BrightBaseText" "155 255 255 255" // brightest text
|
||||
"DimBaseText" "150 159 142 255" // dim base text
|
||||
|
||||
"LabelDimText" "160 170 149 255" // slight modification on above, used for info text
|
||||
// could be just removed and use DimBaseText?
|
||||
|
||||
"ControlText" "48 192 192 255" // used in all text controls
|
||||
"BrightControlText" "64 224 224 255" // use for selected controls
|
||||
"DisabledText1" "32 128 128 255" // disabled text
|
||||
"DisabledText2" "30 30 30 255" // overlay color for disabled text (to give that inset look)
|
||||
|
||||
// background colors
|
||||
"ControlBG" "76 88 68 255" // background color of controls
|
||||
"ControlDarkBG" "90 106 80 255" // darker background color; used for background of scrollbars
|
||||
"WindowBG" "62 70 55 255" // background color of text edit panes (chat, text entries, etc.)
|
||||
"SelectionBG" "149 136 49 255" // background color of any selected text or menu item
|
||||
|
||||
// title colors
|
||||
"TitleText" "255 255 255 255"
|
||||
"TitleDimText" "120 132 114 255"
|
||||
"TitleBG" "76 88 68 0"
|
||||
"TitleDimBG" "76 88 68 0"
|
||||
|
||||
// border colors
|
||||
"BorderBright" "136 145 128 255" // the lit side of a control
|
||||
"BorderDark" "45 49 40 255" // the dark/unlit side of a control
|
||||
"BorderSelection" "0 0 0 255" // the additional border color for displaying the default/selected button
|
||||
}
|
||||
|
||||
///////////////////// BASE SETTINGS ////////////////////////
|
||||
//
|
||||
// default settings for all panels
|
||||
// controls use these to determine their settings
|
||||
BaseSettings
|
||||
{
|
||||
"FgColor" "ControlText"
|
||||
"BgColor" "ControlBG"
|
||||
"LabelBgColor" "ControlBG"
|
||||
"SubPanelBgColor" "ControlBG"
|
||||
|
||||
"DisabledFgColor1" "DisabledText1"
|
||||
"DisabledFgColor2" "DisabledText2" // set this to the BgColor if you don't want it to draw
|
||||
|
||||
"TitleBarFgColor" "TitleText"
|
||||
"TitleBarDisabledFgColor" "TitleDimText"
|
||||
"TitleBarBgColor" "TitleBG"
|
||||
"TitleBarDisabledBgColor" "TitleDimBG"
|
||||
|
||||
// "TitleBarIcon" "resource/icon_steam"
|
||||
// "TitleBarDisabledIcon" "resource/icon_steam_disabled"
|
||||
"TitleBarIcon" "resource/icon_hlicon1"
|
||||
"TitleBarDisabledIcon" "resource/icon_hlicon2"
|
||||
|
||||
"TitleButtonFgColor" "BorderBright"
|
||||
"TitleButtonBgColor" "ControlBG"
|
||||
"TitleButtonDisabledFgColor" "TitleDimText"
|
||||
"TitleButtonDisabledBgColor" "TitleDimBG"
|
||||
|
||||
"TextCursorColor" "BaseText" // color of the blinking text cursor in text entries
|
||||
"URLTextColor" "BrightBaseText" // color that URL's show up in chat window
|
||||
|
||||
Menu
|
||||
{
|
||||
"FgColor" "DimBaseText"
|
||||
"BgColor" "ControlBG"
|
||||
"ArmedFgColor" "BrightBaseText"
|
||||
"ArmedBgColor" "SelectionBG"
|
||||
"DividerColor" "BorderDark"
|
||||
|
||||
"TextInset" "6"
|
||||
}
|
||||
|
||||
MenuButton // the little arrow on the side of boxes that triggers drop down menus
|
||||
{
|
||||
"ButtonArrowColor" "DimBaseText" // color of arrows
|
||||
"ButtonBgColor" "WindowBG" // bg color of button. same as background color of text edit panes
|
||||
|
||||
"ArmedArrowColor" "BrightBaseText" // color of arrow when mouse is over button
|
||||
"ArmedBgColor" "DimBaseText" // bg color of button when mouse is over button
|
||||
}
|
||||
|
||||
Slider
|
||||
{
|
||||
"SliderFgColor" "ControlText" // handle with which the slider is grabbed
|
||||
"SliderBgColor" "ControlDarkBG" // area behind handle
|
||||
"SliderTickColor" "ControlText" // slider tick's color
|
||||
"SliderTickLabelColor" "ControlText" // color of labels at the ends of the slider tick
|
||||
}
|
||||
|
||||
ScrollBarSlider
|
||||
{
|
||||
"BgColor" "ControlBG" // this isn't really used
|
||||
|
||||
"ScrollBarSliderFgColor" "ControlBG" // handle with which the slider is grabbed
|
||||
"ScrollBarSliderBgColor" "ControlDarkBG" // area behind handle
|
||||
|
||||
"ButtonFgColor" "DimBaseText" // color of arrows
|
||||
}
|
||||
|
||||
|
||||
// text edit windows
|
||||
"WindowFgColor" "BaseText" // off-white
|
||||
"WindowBgColor" "WindowBG"
|
||||
"WindowDisabledFgColor" "DimBaseText"
|
||||
"WindowDisabledBgColor" "66 80 60 255" // background of chat conversation
|
||||
|
||||
"SelectionFgColor" "255 255 255 255" // fg color of selected text
|
||||
"SelectionBgColor" "SelectionBG"
|
||||
"ListSelectionFgColor" "255 255 255 255" //
|
||||
|
||||
"ListBgColor" "62 70 55 255" // background of server browser control, etc
|
||||
"BuddyListBgColor" "62 70 55 255" // background of buddy list pane
|
||||
|
||||
// App-specific stuff
|
||||
"ChatBgColor" "WindowBgColor"
|
||||
|
||||
// status selection
|
||||
"StatusSelectFgColor" "BrightBaseText"
|
||||
"StatusSelectFgColor2" "BrightControlText" // this is the color of the friends status
|
||||
|
||||
// checkboxes
|
||||
"CheckButtonBorder1" "BorderDark" // the left checkbutton border
|
||||
"CheckButtonBorder2" "BorderBright" // the right checkbutton border
|
||||
"CheckButtonCheck" "0 0 0 255" // color of the check itself
|
||||
"CheckBgColor" "158 168 150 255"
|
||||
|
||||
// buttons (default fg/bg colors are used if these are not set)
|
||||
// "ButtonArmedFgColor"
|
||||
// "ButtonArmedBgColor"
|
||||
// "ButtonDepressedFgColor" "BrightControlText"
|
||||
// "ButtonDepressedBgColor"
|
||||
|
||||
// buddy buttons
|
||||
BuddyButton
|
||||
{
|
||||
"FgColor1" "ControlText"
|
||||
"FgColor2" "117 134 102 255"
|
||||
|
||||
"ArmedFgColor1" "BrightBaseText"
|
||||
"ArmedFgColor2" "BrightBaseText"
|
||||
"ArmedBgColor" "SelectionBG"
|
||||
}
|
||||
|
||||
Chat
|
||||
{
|
||||
"TextColor" "BrightControlText"
|
||||
"SelfTextColor" "BaseText"
|
||||
"SeperatorTextColor" "DimBaseText"
|
||||
}
|
||||
|
||||
"SectionTextColor" "BrightControlText" // text color for IN-GAME, ONLINE, OFFLINE sections of buddy list
|
||||
"SectionDividerColor" "BorderDark" // color of line that runs under section name in buddy list
|
||||
|
||||
// TF2 HUD
|
||||
"HudStatusBgColor" "0 0 0 64"
|
||||
"HudStatusSelectedBgColor" "0 0 0 192"
|
||||
}
|
||||
|
||||
//
|
||||
//////////////////////// FONTS /////////////////////////////
|
||||
//
|
||||
// describes all the fonts
|
||||
Fonts
|
||||
{
|
||||
// fonts are used in order that they are listed
|
||||
// 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"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "32"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
"DefaultUnderline"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "32"
|
||||
"weight" "900"
|
||||
"underline" "1"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
"DefaultSmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
"DefaultVerySmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "18"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
|
||||
"DefaultLarge"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "48"
|
||||
"weight" "0"
|
||||
"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"
|
||||
"range" "0x0000 0x007F" // Basic Latin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
//////////////////// BORDERS //////////////////////////////
|
||||
//
|
||||
// describes all the border types
|
||||
Borders
|
||||
{
|
||||
BaseBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"4"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonDisabledBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonDepressedBorder
|
||||
{
|
||||
"inset" "1 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScrollBarButtonBorder
|
||||
{
|
||||
"inset" "2 2 0 0"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ButtonBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TabBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TabActiveBorder
|
||||
{
|
||||
"inset" "0 0 1 0"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "ControlBG"
|
||||
"offset" "6 2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ToolTipBorder
|
||||
{
|
||||
"inset" "0 0 1 0"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// this is the border used for default buttons (the button that gets pressed when you hit enter)
|
||||
ButtonKeyFocusBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ButtonDepressedBorder
|
||||
{
|
||||
"inset" "2 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ComboBoxBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MenuBorder
|
||||
{
|
||||
"inset" "1 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
800
mp/game/mod_hl2mp/resource/PDAControlPanelScheme.res
Normal file
800
mp/game/mod_hl2mp/resource/PDAControlPanelScheme.res
Normal file
@ -0,0 +1,800 @@
|
||||
///////////////////////////////////////////////////////////
|
||||
// Object Control Panel 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
|
||||
//
|
||||
// hit ctrl-alt-shift-R in the app to reload this file
|
||||
//
|
||||
///////////////////////////////////////////////////////////
|
||||
Scheme
|
||||
{
|
||||
//////////////////////// COLORS ///////////////////////////
|
||||
// color details
|
||||
// this is a list of all the colors used by the scheme
|
||||
Colors
|
||||
{
|
||||
// base colors
|
||||
"BaseText" "48 192 192 255" // used in text windows, lists
|
||||
"BrightBaseText" "155 255 255 255" // brightest text
|
||||
"DimBaseText" "150 159 142 255" // dim base text
|
||||
|
||||
"LabelDimText" "160 170 149 255" // slight modification on above, used for info text
|
||||
// could be just removed and use DimBaseText?
|
||||
|
||||
"ControlText" "48 192 192 255" // used in all text controls
|
||||
"BrightControlText" "64 224 224 255" // use for selected controls
|
||||
"DisabledText1" "32 128 128 255" // disabled text
|
||||
"DisabledText2" "30 30 30 255" // overlay color for disabled text (to give that inset look)
|
||||
|
||||
// background colors
|
||||
"ControlBG" "76 88 68 255" // background color of controls
|
||||
"ControlDarkBG" "90 106 80 255" // darker background color; used for background of scrollbars
|
||||
"WindowBG" "62 70 55 255" // background color of text edit panes (chat, text entries, etc.)
|
||||
"SelectionBG" "149 136 49 255" // background color of any selected text or menu item
|
||||
|
||||
// title colors
|
||||
"TitleText" "255 255 255 255"
|
||||
"TitleDimText" "120 132 114 255"
|
||||
"TitleBG" "76 88 68 0"
|
||||
"TitleDimBG" "76 88 68 0"
|
||||
|
||||
// border colors
|
||||
"BorderBright" "136 145 128 255" // the lit side of a control
|
||||
"BorderDark" "45 49 40 255" // the dark/unlit side of a control
|
||||
"BorderSelection" "0 0 0 255" // the additional border color for displaying the default/selected button
|
||||
}
|
||||
|
||||
///////////////////// BASE SETTINGS ////////////////////////
|
||||
//
|
||||
// default settings for all panels
|
||||
// controls use these to determine their settings
|
||||
BaseSettings
|
||||
{
|
||||
"FgColor" "ControlText"
|
||||
"BgColor" "ControlBG"
|
||||
"LabelBgColor" "ControlBG"
|
||||
"SubPanelBgColor" "ControlBG"
|
||||
|
||||
"DisabledFgColor1" "DisabledText1"
|
||||
"DisabledFgColor2" "DisabledText2" // set this to the BgColor if you don't want it to draw
|
||||
|
||||
"TitleBarFgColor" "TitleText"
|
||||
"TitleBarDisabledFgColor" "TitleDimText"
|
||||
"TitleBarBgColor" "TitleBG"
|
||||
"TitleBarDisabledBgColor" "TitleDimBG"
|
||||
|
||||
// "TitleBarIcon" "resource/icon_steam"
|
||||
// "TitleBarDisabledIcon" "resource/icon_steam_disabled"
|
||||
"TitleBarIcon" "resource/icon_hlicon1"
|
||||
"TitleBarDisabledIcon" "resource/icon_hlicon2"
|
||||
|
||||
"TitleButtonFgColor" "BorderBright"
|
||||
"TitleButtonBgColor" "ControlBG"
|
||||
"TitleButtonDisabledFgColor" "TitleDimText"
|
||||
"TitleButtonDisabledBgColor" "TitleDimBG"
|
||||
|
||||
"TextCursorColor" "BaseText" // color of the blinking text cursor in text entries
|
||||
"URLTextColor" "BrightBaseText" // color that URL's show up in chat window
|
||||
|
||||
Menu
|
||||
{
|
||||
"FgColor" "DimBaseText"
|
||||
"BgColor" "ControlBG"
|
||||
"ArmedFgColor" "BrightBaseText"
|
||||
"ArmedBgColor" "SelectionBG"
|
||||
"DividerColor" "BorderDark"
|
||||
|
||||
"TextInset" "6"
|
||||
}
|
||||
|
||||
MenuButton // the little arrow on the side of boxes that triggers drop down menus
|
||||
{
|
||||
"ButtonArrowColor" "DimBaseText" // color of arrows
|
||||
"ButtonBgColor" "WindowBG" // bg color of button. same as background color of text edit panes
|
||||
|
||||
"ArmedArrowColor" "BrightBaseText" // color of arrow when mouse is over button
|
||||
"ArmedBgColor" "DimBaseText" // bg color of button when mouse is over button
|
||||
}
|
||||
|
||||
Slider
|
||||
{
|
||||
"SliderFgColor" "ControlText" // handle with which the slider is grabbed
|
||||
"SliderBgColor" "ControlDarkBG" // area behind handle
|
||||
"SliderTickColor" "ControlText" // slider tick's color
|
||||
"SliderTickLabelColor" "ControlText" // color of labels at the ends of the slider tick
|
||||
}
|
||||
|
||||
ScrollBarSlider
|
||||
{
|
||||
"BgColor" "ControlBG" // this isn't really used
|
||||
|
||||
"ScrollBarSliderFgColor" "ControlBG" // handle with which the slider is grabbed
|
||||
"ScrollBarSliderBgColor" "ControlDarkBG" // area behind handle
|
||||
|
||||
"ButtonFgColor" "DimBaseText" // color of arrows
|
||||
}
|
||||
|
||||
|
||||
// text edit windows
|
||||
"WindowFgColor" "BaseText" // off-white
|
||||
"WindowBgColor" "WindowBG"
|
||||
"WindowDisabledFgColor" "DimBaseText"
|
||||
"WindowDisabledBgColor" "66 80 60 255" // background of chat conversation
|
||||
|
||||
"SelectionFgColor" "255 255 255 255" // fg color of selected text
|
||||
"SelectionBgColor" "SelectionBG"
|
||||
"ListSelectionFgColor" "255 255 255 255" //
|
||||
|
||||
"ListBgColor" "62 70 55 255" // background of server browser control, etc
|
||||
"BuddyListBgColor" "62 70 55 255" // background of buddy list pane
|
||||
|
||||
// App-specific stuff
|
||||
"ChatBgColor" "WindowBgColor"
|
||||
|
||||
// status selection
|
||||
"StatusSelectFgColor" "BrightBaseText"
|
||||
"StatusSelectFgColor2" "BrightControlText" // this is the color of the friends status
|
||||
|
||||
// checkboxes
|
||||
"CheckButtonBorder1" "BorderDark" // the left checkbutton border
|
||||
"CheckButtonBorder2" "BorderBright" // the right checkbutton border
|
||||
"CheckButtonCheck" "0 0 0 255" // color of the check itself
|
||||
"CheckBgColor" "158 168 150 255"
|
||||
|
||||
// buttons (default fg/bg colors are used if these are not set)
|
||||
// "ButtonArmedFgColor"
|
||||
// "ButtonArmedBgColor"
|
||||
// "ButtonDepressedFgColor" "BrightControlText"
|
||||
// "ButtonDepressedBgColor"
|
||||
|
||||
// buddy buttons
|
||||
BuddyButton
|
||||
{
|
||||
"FgColor1" "ControlText"
|
||||
"FgColor2" "117 134 102 255"
|
||||
|
||||
"ArmedFgColor1" "BrightBaseText"
|
||||
"ArmedFgColor2" "BrightBaseText"
|
||||
"ArmedBgColor" "SelectionBG"
|
||||
}
|
||||
|
||||
Chat
|
||||
{
|
||||
"TextColor" "BrightControlText"
|
||||
"SelfTextColor" "BaseText"
|
||||
"SeperatorTextColor" "DimBaseText"
|
||||
}
|
||||
|
||||
"SectionTextColor" "BrightControlText" // text color for IN-GAME, ONLINE, OFFLINE sections of buddy list
|
||||
"SectionDividerColor" "BorderDark" // color of line that runs under section name in buddy list
|
||||
|
||||
// TF2 HUD
|
||||
"HudStatusBgColor" "0 0 0 64"
|
||||
"HudStatusSelectedBgColor" "0 0 0 192"
|
||||
}
|
||||
|
||||
//
|
||||
//////////////////////// FONTS /////////////////////////////
|
||||
//
|
||||
// describes all the fonts
|
||||
Fonts
|
||||
{
|
||||
// fonts are used in order that they are listed
|
||||
// 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"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "32"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
"DefaultUnderline"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "32"
|
||||
"weight" "900"
|
||||
"underline" "1"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
"DefaultSmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "24"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
"DefaultVerySmall"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "18"
|
||||
"weight" "900"
|
||||
"range" "0x0000 0x017F" // Basic Latin, Latin-1 Supplement, Latin Extended-A
|
||||
}
|
||||
}
|
||||
|
||||
"DefaultLarge"
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"name" "Impact"
|
||||
"tall" "48"
|
||||
"weight" "0"
|
||||
"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"
|
||||
"range" "0x0000 0x007F" // Basic Latin
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
//////////////////// BORDERS //////////////////////////////
|
||||
//
|
||||
// describes all the border types
|
||||
Borders
|
||||
{
|
||||
BaseBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"4"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonDisabledBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BgColor"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonDepressedBorder
|
||||
{
|
||||
"inset" "1 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScrollBarButtonBorder
|
||||
{
|
||||
"inset" "2 2 0 0"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ButtonBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TabBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TabActiveBorder
|
||||
{
|
||||
"inset" "0 0 1 0"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "ControlBG"
|
||||
"offset" "6 2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ToolTipBorder
|
||||
{
|
||||
"inset" "0 0 1 0"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// this is the border used for default buttons (the button that gets pressed when you hit enter)
|
||||
ButtonKeyFocusBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderSelection"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ButtonDepressedBorder
|
||||
{
|
||||
"inset" "2 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ComboBoxBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MenuBorder
|
||||
{
|
||||
"inset" "1 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderBright"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "BorderDark"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1210
mp/game/mod_hl2mp/resource/TrackerScheme.res
Normal file
1210
mp/game/mod_hl2mp/resource/TrackerScheme.res
Normal file
File diff suppressed because it is too large
Load Diff
BIN
mp/game/mod_hl2mp/resource/mod_hl2mp_english.txt
Normal file
BIN
mp/game/mod_hl2mp/resource/mod_hl2mp_english.txt
Normal file
Binary file not shown.
51
mp/game/mod_hl2mp/resource/modevents.res
Normal file
51
mp/game/mod_hl2mp/resource/modevents.res
Normal file
@ -0,0 +1,51 @@
|
||||
//=========== (C) Copyright 1999 Valve, L.L.C. All rights reserved. ===========
|
||||
//
|
||||
// The copyright to the contents herein is the property of Valve, L.L.C.
|
||||
// The contents may be used and/or copied only with the written permission of
|
||||
// Valve, L.L.C., or in accordance with the terms and conditions stipulated in
|
||||
// the agreement/contract under which the contents have been supplied.
|
||||
//=============================================================================
|
||||
|
||||
// No spaces in event names, max length 32
|
||||
// All strings are case sensitive
|
||||
//
|
||||
// valid data key types are:
|
||||
// string : a zero terminated string
|
||||
// bool : unsigned int, 1 bit
|
||||
// byte : unsigned int, 8 bit
|
||||
// short : signed int, 16 bit
|
||||
// long : signed int, 32 bit
|
||||
// float : float, 32 bit
|
||||
// local : any data, but not networked to clients
|
||||
//
|
||||
// following key names are reserved:
|
||||
// local : if set to 1, event is not networked to clients
|
||||
// unreliable : networked, but unreliable
|
||||
// suppress : never fire this event
|
||||
// time : firing server time
|
||||
// eventid : holds the event ID
|
||||
|
||||
"modevents"
|
||||
{
|
||||
"player_death" // a game event, name may be 32 charaters long
|
||||
{
|
||||
"userid" "short" // user ID who died
|
||||
"attacker" "short" // user ID who killed
|
||||
"weapon" "string" // weapon name killed used
|
||||
}
|
||||
|
||||
"teamplay_round_start" // round restart
|
||||
{
|
||||
"full_reset" "bool" // is this a full reset of the map
|
||||
}
|
||||
|
||||
"spec_target_updated"
|
||||
{
|
||||
}
|
||||
|
||||
"achievement_earned"
|
||||
{
|
||||
"player" "byte" // entindex of the player
|
||||
"achievement" "short" // achievement ID
|
||||
}
|
||||
}
|
4
mp/game/mod_hl2mp/scripts/ChapterBackgrounds.txt
Normal file
4
mp/game/mod_hl2mp/scripts/ChapterBackgrounds.txt
Normal file
@ -0,0 +1,4 @@
|
||||
"chapters"
|
||||
{
|
||||
1 "background01"
|
||||
}
|
640
mp/game/mod_hl2mp/scripts/HudAnimations.txt
Normal file
640
mp/game/mod_hl2mp/scripts/HudAnimations.txt
Normal file
@ -0,0 +1,640 @@
|
||||
// sample animation script
|
||||
//
|
||||
//
|
||||
// commands:
|
||||
// Animate <panel name> <variable> <target value> <interpolator> <start time> <duration>
|
||||
// variables:
|
||||
// FgColor
|
||||
// BgColor
|
||||
// Position
|
||||
// Size
|
||||
// Blur (hud panels only)
|
||||
// TextColor (hud panels only)
|
||||
// Ammo2Color (hud panels only)
|
||||
// Alpha (hud weapon selection only)
|
||||
// SelectionAlpha (hud weapon selection only)
|
||||
// TextScan (hud weapon selection only)
|
||||
//
|
||||
// interpolator:
|
||||
// Linear
|
||||
// Accel - starts moving slow, ends fast
|
||||
// Deaccel - starts moving fast, ends slow
|
||||
//
|
||||
// RunEvent <event name> <start time>
|
||||
// starts another even running at the specified time
|
||||
//
|
||||
// StopEvent <event name> <start time>
|
||||
// stops another event that is current running at the specified time
|
||||
//
|
||||
// StopAnimation <panel name> <variable> <start time>
|
||||
// stops all animations refering to the specified variable in the specified panel
|
||||
//
|
||||
// StopPanelAnimations <panel name> <start time>
|
||||
// stops all active animations operating on the specified panel
|
||||
//
|
||||
//
|
||||
// Useful game console commands:
|
||||
// cl_Animationinfo <hudelement name> or <panelname>
|
||||
// displays all the animatable variables for the hud element
|
||||
//
|
||||
|
||||
|
||||
event LevelInit
|
||||
{
|
||||
}
|
||||
|
||||
event FadeOutTeamLine
|
||||
{
|
||||
// make the display visible
|
||||
Animate TeamDisplay Alpha "0" Linear 0.0 0.25
|
||||
}
|
||||
|
||||
event FadeInTeamLine
|
||||
{
|
||||
// make the display visible
|
||||
Animate TeamDisplay Alpha "255" Linear 0.0 0.5
|
||||
}
|
||||
|
||||
event OpenWeaponSelectionMenu
|
||||
{
|
||||
StopEvent CloseWeaponSelectionMenu 0.0
|
||||
StopEvent WeaponPickup 0.0
|
||||
StopEvent FadeOutWeaponSelectionMenu 0.0
|
||||
|
||||
// make the display visible
|
||||
Animate HudWeaponSelection Alpha "128" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection SelectionAlpha "255" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection FgColor "FgColor" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection TextScan "1" Linear 0.0 0.1
|
||||
}
|
||||
|
||||
event CloseWeaponSelectionMenu
|
||||
{
|
||||
// hide the whole thing near immediately
|
||||
Animate HudWeaponSelection FgColor "0 0 0 0" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection TextColor "0 0 0 0" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection Alpha "0" Linear 0.0 0.1
|
||||
Animate HudWeaponSelection SelectionAlpha "0" Linear 0.0 0.1
|
||||
}
|
||||
|
||||
event FadeOutWeaponSelectionMenu
|
||||
{
|
||||
// slowly hide the whole thing
|
||||
Animate HudWeaponSelection FgColor "0 0 0 0" Linear 0.0 1.5
|
||||
Animate HudWeaponSelection TextColor "0 0 0 0" Linear 0.0 1.5
|
||||
Animate HudWeaponSelection Alpha "0" Linear 0.0 1.5
|
||||
Animate HudWeaponSelection SelectionAlpha "0" Linear 0.0 1.5
|
||||
}
|
||||
|
||||
event SuitAuxPowerMax
|
||||
{
|
||||
// hide the suit power
|
||||
Animate HudSuitPower BgColor "0 0 0 0" Linear 0.0 0.4
|
||||
Animate HudSuitPower AuxPowerColor "0 0 0 0" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerNotMax
|
||||
{
|
||||
// show suit power
|
||||
Animate HudSuitPower BgColor "BgColor" Linear 0.0 0.4
|
||||
Animate HudSuitPower AuxPowerColor "255 220 0 220" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerDecreasedBelow25
|
||||
{
|
||||
// make color red
|
||||
Animate HudSuitPower AuxPowerColor "255 0 0 220" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerIncreasedAbove25
|
||||
{
|
||||
// make colr bright
|
||||
Animate HudSuitPower AuxPowerColor "255 220 0 220" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerNoItemsActive
|
||||
{
|
||||
// resize the aux power to be the smallest size
|
||||
Animate HudSuitPower Size "102 26" Linear 0.0 0.4
|
||||
Animate HudSuitPower Position "16 400" Linear 0.0 0.4
|
||||
// Animate HudSuitPower text_xpos "8" Linear 0.0 0.4
|
||||
// Animate HudSuitPower text_ypos "15" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerOneItemActive
|
||||
{
|
||||
// resize the aux power to fit one item
|
||||
Animate HudSuitPower Size "102 36" Linear 0.0 0.4
|
||||
Animate HudSuitPower Position "16 390" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerTwoItemsActive
|
||||
{
|
||||
// resize the aux power to fit two items
|
||||
Animate HudSuitPower Size "102 46" Linear 0.0 0.4
|
||||
Animate HudSuitPower Position "16 380" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitAuxPowerThreeItemsActive
|
||||
{
|
||||
// resize the aux power to fit three items
|
||||
Animate HudSuitPower Size "102 56" Linear 0.0 0.4
|
||||
Animate HudSuitPower Position "16 370" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event SuitFlashlightOn
|
||||
{
|
||||
Animate HudFlashlight TextColor "255 220 0 255" Linear 0.0 0.1
|
||||
Animate HudFlashlight TextColor "255 220 0 160" Deaccel 0.1 0.75
|
||||
Animate HudFlashlight BgColor "BgColor" Linear 0.0 0.75
|
||||
}
|
||||
|
||||
event SuitFlashlightOff
|
||||
{
|
||||
StopEvent SuitFlashlightOn 0.0
|
||||
Animate HudFlashlight TextColor "0 0 0 0" Linear 0.0 0.4
|
||||
Animate HudFlashlight BgColor "0 0 0 0" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event HudTakeDamageFront
|
||||
{
|
||||
}
|
||||
|
||||
event HudTakeDamageLeft
|
||||
{
|
||||
Animate HudDamageIndicator DmgColorLeft "255 88 0 200" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgColorLeft "255 0 0 200" Linear 0.0 0.3
|
||||
Animate HudDamageIndicator DmgColorLeft "255 0 0 0" Deaccel 0.3 0.5
|
||||
}
|
||||
|
||||
event HudTakeDamageRight
|
||||
{
|
||||
Animate HudDamageIndicator DmgColorRight "255 88 0 200" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgColorRight "255 0 0 200" Linear 0.0 0.3
|
||||
Animate HudDamageIndicator DmgColorRight "255 0 0 0" Deaccel 0.3 0.5
|
||||
}
|
||||
|
||||
event HudTakeDamageBehind
|
||||
{
|
||||
RunEvent HudTakeDamageLeft 0.0
|
||||
RunEvent HudTakeDamageRight 0.0
|
||||
}
|
||||
|
||||
event HudTakeDamageHighLeft
|
||||
{
|
||||
Animate HudDamageIndicator DmgHighColorLeft "255 88 0 255" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgHighColorLeft "255 0 0 200" Linear 0.0 0.4
|
||||
Animate HudDamageIndicator DmgHighColorLeft "255 0 0 0" Deaccel 0.4 2.4
|
||||
}
|
||||
|
||||
event HudTakeDamageHighRight
|
||||
{
|
||||
Animate HudDamageIndicator DmgHighColorRight "255 88 0 255" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgHighColorRight "255 0 0 200" Linear 0.0 0.4
|
||||
Animate HudDamageIndicator DmgHighColorRight "255 0 0 0" Deaccel 0.4 2.4
|
||||
}
|
||||
|
||||
event HudTakeDamageHigh
|
||||
{
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 88 0 200" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 0 0 200" Linear 0.0 0.4
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 0 0 0" Deaccel 0.4 2.4
|
||||
}
|
||||
|
||||
event HudTakeDamageDrown
|
||||
{
|
||||
RunEvent HudTakeDamageBehind 0.0
|
||||
}
|
||||
|
||||
event HudTakeDamagePoison
|
||||
{
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 236 128 240" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 236 128 0" Deaccel 0.4 0.8
|
||||
}
|
||||
|
||||
event HudTakeDamageBurn
|
||||
{
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 0 0 200" Linear 0.0 0.0
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 0 0 0" Deaccel 0.2 0.4
|
||||
}
|
||||
|
||||
event HudTakeDamageRadiation
|
||||
{
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 255 255 128" Deaccel 0.0 0.1
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 255 255 0" Deaccel 0.1 0.4
|
||||
RunEvent HudTakeDamageBehind 0.0
|
||||
}
|
||||
|
||||
event HudPlayerDeath
|
||||
{
|
||||
StopEvent HealthLoop 0.0
|
||||
StopEvent HealthPulse 0.0
|
||||
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 0 0 8" Deaccel 0.1 0.2
|
||||
Animate HudDamageIndicator DmgFullscreenColor "255 0 0 48" Deaccel 0.3 4.0
|
||||
}
|
||||
|
||||
event HealthIncreasedAbove20
|
||||
{
|
||||
StopEvent HealthLoop 0.0
|
||||
StopEvent HealthPulse 0.0
|
||||
StopEvent HealthLow 0.0
|
||||
|
||||
Animate HudHealth BgColor "BgColor" Linear 0.0 0.0
|
||||
|
||||
Animate HudHealth TextColor "FgColor" Linear 0.0 0.04
|
||||
Animate HudHealth FgColor "FgColor" Linear 0.0 0.03
|
||||
|
||||
Animate HudHealth Blur "3" Linear 0.0 0.1
|
||||
Animate HudHealth Blur "0" Deaccel 0.1 2.0
|
||||
}
|
||||
|
||||
event HealthIncreasedBelow20
|
||||
{
|
||||
Animate HudHealth FgColor "BrightFg" Linear 0.0 0.25
|
||||
Animate HudHealth FgColor "FgColor" Linear 0.3 0.75
|
||||
|
||||
Animate HudHealth Blur "3" Linear 0.0 0.1
|
||||
Animate HudHealth Blur "0" Deaccel 0.1 2.0
|
||||
}
|
||||
|
||||
event SuitPowerIncreasedAbove20
|
||||
{
|
||||
StopEvent SuitLoop 0.0
|
||||
StopEvent SuitPulse 0.0
|
||||
StopEvent SuitPowerZero 0.0
|
||||
|
||||
Animate HudSuit Alpha "255" Linear 0.0 0.0
|
||||
|
||||
Animate HudSuit BgColor "BgColor" Linear 0.0 0.0
|
||||
|
||||
Animate HudSuit TextColor "FgColor" Linear 0.0 0.05
|
||||
Animate HudSuit FgColor "FgColor" Linear 0.0 0.05
|
||||
|
||||
Animate HudSuit Blur "3" Linear 0.0 0.1
|
||||
Animate HudSuit Blur "0" Deaccel 0.1 2.0
|
||||
}
|
||||
|
||||
|
||||
event SuitPowerIncreasedBelow20
|
||||
{
|
||||
StopEvent SuitPowerZero 0.0
|
||||
Animate HudSuit Alpha "255" Linear 0.0 0.0
|
||||
|
||||
Animate HudSuit FgColor "BrightFg" Linear 0.0 0.25
|
||||
Animate HudSuit FgColor "FgColor" Linear 0.3 0.75
|
||||
|
||||
Animate HudSuit Blur "3" Linear 0.0 0.1
|
||||
Animate HudSuit Blur "0" Deaccel 0.1 2.0
|
||||
}
|
||||
|
||||
event SuitPowerZero
|
||||
{
|
||||
StopEvent SuitLoop 0.0
|
||||
StopEvent SuitPulse 0.0
|
||||
StopEvent SuitArmorLow 0.0
|
||||
StopEvent SuitDamageTaken 0.0
|
||||
|
||||
Animate HudSuit Alpha "0" Linear 0.0 0.4
|
||||
}
|
||||
|
||||
event TestMovement
|
||||
{
|
||||
Animate HudHealth Position "256 120" Linear 0.0 2.0
|
||||
Animate HudHealth Size "128 24" Linear 0.0 1.5
|
||||
}
|
||||
|
||||
event HealthDamageTaken
|
||||
{
|
||||
Animate HudHealth FgColor "BrightFg" Linear 0.0 0.25
|
||||
Animate HudHealth FgColor "FgColor" Linear 0.3 0.75
|
||||
|
||||
Animate HudHealth Blur "3" Linear 0.0 0.1
|
||||
Animate HudHealth Blur "0" Deaccel 0.1 2.0
|
||||
|
||||
Animate HudHealth TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudHealth TextColor "FgColor" Deaccel 0.1 1.2
|
||||
}
|
||||
|
||||
event SuitDamageTaken
|
||||
{
|
||||
Animate HudSuit FgColor "BrightFg" Linear 0.0 0.25
|
||||
Animate HudSuit FgColor "FgColor" Linear 0.3 0.75
|
||||
|
||||
Animate HudSuit Blur "3" Linear 0.0 0.1
|
||||
Animate HudSuit Blur "0" Deaccel 0.1 2.0
|
||||
|
||||
Animate HudSuit TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudSuit TextColor "FgColor" Deaccel 0.1 1.2
|
||||
}
|
||||
|
||||
// health has been damaged to below 20%
|
||||
event HealthLow
|
||||
{
|
||||
StopEvent HealthDamageTaken 0.0
|
||||
StopEvent HealthPulse 0.0
|
||||
StopEvent HealthLoop 0.0
|
||||
|
||||
Animate HudHealth BgColor "DamagedBg" Linear 0.0 0.1
|
||||
Animate HudHealth BgColor "BgColor" Deaccel 0.1 1.75
|
||||
|
||||
Animate HudHealth FgColor "BrightFg" Linear 0.0 0.2
|
||||
Animate HudHealth FgColor "DamagedFg" Linear 0.2 1.2
|
||||
|
||||
Animate HudHealth TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudHealth TextColor "DamagedFg" Linear 0.1 1.2
|
||||
|
||||
Animate HudHealth Blur "5" Linear 0.0 0.1
|
||||
Animate HudHealth Blur "3" Deaccel 0.1 0.9
|
||||
|
||||
RunEvent HealthPulse 1.0
|
||||
}
|
||||
|
||||
event HealthPulse
|
||||
{
|
||||
Animate HudHealth Blur "5" Linear 0.0 0.1
|
||||
Animate HudHealth Blur "2" Deaccel 0.1 0.8
|
||||
Animate HudHealth TextColor "BrightDamagedFg" Linear 0.0 0.1
|
||||
Animate HudHealth TextColor "DamagedFg" Deaccel 0.1 0.8
|
||||
Animate HudHealth BgColor "100 0 0 80" Linear 0.0 0.1
|
||||
Animate HudHealth BgColor "BgColor" Deaccel 0.1 0.8
|
||||
|
||||
RunEvent HealthLoop 0.8
|
||||
}
|
||||
|
||||
// call to loop HealthPulse
|
||||
event HealthLoop
|
||||
{
|
||||
RunEvent HealthPulse 0.0
|
||||
}
|
||||
|
||||
|
||||
// suit armor has been damaged to below 20%
|
||||
event SuitArmorLow
|
||||
{
|
||||
StopEvent SuitDamageTaken 0.0
|
||||
StopEvent SuitPulse 0.0
|
||||
StopEvent SuitLoop 0.0
|
||||
|
||||
// removing this effect -- matching it to the event for normal suit damage
|
||||
// so, there will be no special indication (redness, flashing)
|
||||
// in the hud that the suit armor is low
|
||||
|
||||
// Animate HudSuit BgColor "DamagedBg" Linear 0.0 0.1
|
||||
// Animate HudSuit BgColor "BgColor" Deaccel 0.1 1.75
|
||||
|
||||
Animate HudSuit FgColor "BrightFg" Linear 0.0 0.25
|
||||
Animate HudSuit FgColor "FgColor" Linear 0.3 0.75
|
||||
|
||||
Animate HudSuit Blur "3" Linear 0.0 0.1
|
||||
Animate HudSuit Blur "0" Deaccel 0.1 2.0
|
||||
|
||||
Animate HudSuit TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudSuit TextColor "FgColor" Deaccel 0.1 1.2
|
||||
|
||||
// RunEvent SuitPulse 1.0
|
||||
}
|
||||
|
||||
event SuitPulse
|
||||
// this even no longer gets called
|
||||
{
|
||||
Animate HudSuit Blur "5" Linear 0.0 0.1
|
||||
Animate HudSuit Blur "2" Deaccel 0.1 0.8
|
||||
Animate HudSuit TextColor "BrightDamagedFg" Linear 0.0 0.1
|
||||
Animate HudSuit TextColor "DamagedFg" Deaccel 0.1 0.8
|
||||
Animate HudSuit BgColor "100 0 0 80" Linear 0.0 0.1
|
||||
Animate HudSuit BgColor "BgColor" Deaccel 0.1 0.8
|
||||
RunEvent SuitLoop 0.8
|
||||
}
|
||||
|
||||
event SuitLoop
|
||||
{
|
||||
// this event no longer gets called
|
||||
RunEvent SuitPulse 0.0
|
||||
}
|
||||
|
||||
// ammo has been picked up
|
||||
event AmmoIncreased
|
||||
{
|
||||
Animate HudAmmo FgColor "BrightFg" Linear 0.0 0.15
|
||||
Animate HudAmmo FgColor "FgColor" Deaccel 0.15 1.5
|
||||
Animate HudAmmo Blur "5" Linear 0.0 0.0
|
||||
Animate HudAmmo Blur "0" Accel 0.01 1.5
|
||||
}
|
||||
|
||||
// ammo has been decreased, but there is still some remaining
|
||||
event AmmoDecreased
|
||||
{
|
||||
StopEvent AmmoIncreased 0.0
|
||||
|
||||
Animate HudAmmo Blur "7" Linear 0.0 0.0
|
||||
Animate HudAmmo Blur "0" Deaccel 0.1 1.5
|
||||
|
||||
Animate HudAmmo TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudAmmo TextColor "FgColor" Deaccel 0.1 0.75
|
||||
}
|
||||
|
||||
// primary ammo is zero
|
||||
event AmmoEmpty
|
||||
{
|
||||
Animate Hudammo FgColor "BrightDamagedFg" Linear 0.0 0.2
|
||||
Animate Hudammo FgColor "DamagedFg" Accel 0.2 1.2
|
||||
}
|
||||
|
||||
// ammo2 is the total ammo for a weapon that uses clip ammo
|
||||
event Ammo2Increased
|
||||
{
|
||||
Animate Hudammo ammo2color "BrightFg" Linear 0.0 0.2
|
||||
Animate Hudammo ammo2color "FgColor" Accel 0.2 1.2
|
||||
}
|
||||
|
||||
// total ammo has been decreased, but there is still some remaining
|
||||
event Ammo2Decreased
|
||||
{
|
||||
Animate Hudammo ammo2color "BrightFg" Linear 0.0 0.2
|
||||
Animate Hudammo ammo2color "FgColor" Accel 0.2 1.2
|
||||
}
|
||||
|
||||
// total ammo is zero
|
||||
event Ammo2Empty
|
||||
{
|
||||
Animate Hudammo ammo2color "BrightDamagedFg" Linear 0.0 0.2
|
||||
Animate Hudammo ammo2color "DamagedFg" Accel 0.2 1.2
|
||||
}
|
||||
|
||||
event AmmoSecondaryIncreased
|
||||
{
|
||||
Animate HudAmmoSecondary FgColor "BrightFg" Linear 0.0 0.15
|
||||
Animate HudAmmoSecondary FgColor "FgColor" Deaccel 0.15 1.5
|
||||
Animate HudAmmoSecondary Blur "5" Linear 0.0 0.0
|
||||
Animate HudAmmoSecondary Blur "0" Accel 0.01 1.5
|
||||
}
|
||||
|
||||
event AmmoSecondaryDecreased
|
||||
{
|
||||
StopEvent AmmoSecondaryIncreased 0.0
|
||||
|
||||
Animate HudAmmoSecondary Blur "7" Linear 0.0 0.0
|
||||
Animate HudAmmoSecondary Blur "0" Deaccel 0.1 1.5
|
||||
|
||||
Animate HudAmmoSecondary TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudAmmoSecondary TextColor "FgColor" Deaccel 0.1 0.75
|
||||
}
|
||||
|
||||
event AmmoSecondaryEmpty
|
||||
{
|
||||
Animate HudAmmoSecondary FgColor "BrightDamagedFg" Linear 0.0 0.2
|
||||
Animate HudAmmoSecondary FgColor "DamagedFg" Accel 0.2 1.2
|
||||
Animate HudAmmoSecondary Blur "7" Linear 0.0 0.0
|
||||
Animate HudAmmoSecondary Blur "0" Deaccel 0.1 1.5
|
||||
|
||||
}
|
||||
|
||||
// current weapon has been changed
|
||||
event WeaponChanged
|
||||
{
|
||||
Animate HudAmmo BgColor "250 220 0 80" Linear 0.0 0.1
|
||||
Animate HudAmmo BgColor "BgColor" Deaccel 0.1 1.0
|
||||
Animate HudAmmo FgColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudAmmo FgColor "FgColor" Linear 0.2 1.5
|
||||
}
|
||||
|
||||
// ran if we just changed to a weapon that needs clip ammo
|
||||
event WeaponUsesClips
|
||||
{
|
||||
Animate HudAmmo Position "r150 432" Deaccel 0.0 0.4
|
||||
Animate HudAmmo Size "132 36" Deaccel 0.0 0.4
|
||||
}
|
||||
|
||||
// ran if we just changed to a weapon that does not use clip ammo
|
||||
event WeaponDoesNotUseClips
|
||||
{
|
||||
Animate HudAmmo Position "r118 432" Deaccel 0.0 0.4
|
||||
Animate HudAmmo Size "100 36" Deaccel 0.0 0.4
|
||||
}
|
||||
|
||||
event WeaponUsesSecondaryAmmo
|
||||
{
|
||||
StopAnimation HudAmmo Position 0.0
|
||||
StopAnimation HudAmmo Size 0.0
|
||||
StopPanelAnimations HudAmmoSecondary 0.0
|
||||
|
||||
Animate HudAmmoSecondary BgColor "250 220 0 60" Linear 0.0 0.1
|
||||
Animate HudAmmoSecondary BgColor "BgColor" Deaccel 0.1 1.0
|
||||
Animate HudAmmoSecondary FgColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudAmmoSecondary FgColor "FgColor" Linear 0.2 1.5
|
||||
Animate HudAmmoSecondary Alpha 255 Linear 0.0 0.1
|
||||
|
||||
Animate HudAmmo Position "r222 432" Deaccel 0.0 0.5
|
||||
Animate HudAmmo Size "132 36" Deaccel 0.0 0.4
|
||||
}
|
||||
|
||||
event WeaponDoesNotUseSecondaryAmmo
|
||||
{
|
||||
StopPanelAnimations HudAmmoSecondary 0.0
|
||||
Animate HudAmmoSecondary FgColor "0 0 0 0" Linear 0.0 0.4
|
||||
Animate HudAmmoSecondary BgColor "0 0 0 0" Linear 0.0 0.4
|
||||
Animate HudAmmoSecondary Alpha 0 Linear 0.0 0.1
|
||||
}
|
||||
|
||||
event CraneMagnetFlash
|
||||
{
|
||||
Animate HudCraneMagnet TextColor "255 220 0 255" Linear 0.0 0.1
|
||||
Animate HudCraneMagnet TextColor "255 220 0 160" Deaccel 0.1 0.3
|
||||
Animate HudCraneMagnet TextColor "255 170 0 220" Deaccel 0.4 0.3
|
||||
Animate HudCraneMagnet TextColor "255 220 0 255" Linear 0.8 0.2
|
||||
}
|
||||
|
||||
event HintMessageShow
|
||||
{
|
||||
// show the hints
|
||||
Animate HudHintDisplay Alpha 255 Linear 0.0 0.5
|
||||
|
||||
// flash text
|
||||
Animate HudHintDisplay FgColor "FgColor" Linear 0.0 0.01
|
||||
Animate HudHintDisplay FgColor "255 220 0 255" Linear 0.5 0.2
|
||||
Animate HudHintDisplay FgColor "FgColor" Linear 0.7 0.2
|
||||
Animate HudHintDisplay FgColor "255 220 0 255" Linear 1.5 0.2
|
||||
Animate HudHintDisplay FgColor "FgColor" Linear 1.7 0.2
|
||||
|
||||
// hide the panel after a while
|
||||
Animate HudHintDisplay Alpha 0 Linear 12.0 1.0
|
||||
}
|
||||
|
||||
event HintMessageHide
|
||||
{
|
||||
Animate HudHintDisplay Alpha 0 Linear 0.0 0.5
|
||||
}
|
||||
|
||||
event SquadMemberAdded
|
||||
{
|
||||
StopEvent SquadMemberDied 0.0
|
||||
StopEvent SquadMemberLeft 0.0
|
||||
|
||||
// add in the squad member, brighter then normal color
|
||||
Animate HudSquadStatus LastMemberColor "255 220 0 255" Linear 0.0 0.3
|
||||
Animate HudSquadStatus LastMemberColor "255 220 0 160" Linear 0.3 0.3
|
||||
}
|
||||
|
||||
event SquadMemberLeft
|
||||
{
|
||||
StopEvent SquadMemberDied 0.0
|
||||
StopEvent SquadMemberAdded 0.0
|
||||
|
||||
// fade out the icon
|
||||
Animate HudSquadStatus LastMemberColor "255 220 0 0" Linear 0.0 0.5
|
||||
}
|
||||
|
||||
event SquadMemberDied
|
||||
{
|
||||
StopEvent SquadMemberAdded 0.0
|
||||
StopEvent SquadMemberLeft 0.0
|
||||
|
||||
// flash red, hold, then disappear
|
||||
Animate HudSquadStatus LastMemberColor "255 0 0 255" Linear 0.0 0.5
|
||||
Animate HudSquadStatus LastMemberColor "255 0 0 0" Linear 2.0 2.0
|
||||
}
|
||||
|
||||
event SquadMembersFollowing
|
||||
{
|
||||
StopEvent SquadMembersStationed 0.0
|
||||
Animate HudSquadStatus SquadTextColor "255 220 0 255" Linear 0.0 0.2
|
||||
Animate HudSquadStatus SquadTextColor "255 220 0 160" Linear 0.2 0.4
|
||||
}
|
||||
|
||||
event SquadMembersStationed
|
||||
{
|
||||
StopEvent SquadMembersFollowing 0.0
|
||||
Animate HudSquadStatus SquadTextColor "255 220 0 160" Linear 0.5 0.5
|
||||
}
|
||||
|
||||
event PoisonDamageTaken
|
||||
{
|
||||
Animate HudPoisonDamageIndicator Alpha 255 Linear 0.0 1.0
|
||||
RunEvent PoisonLoop 0.0
|
||||
}
|
||||
|
||||
event PoisonDamageCured
|
||||
{
|
||||
StopEvent PoisonDamageTaken 0.0
|
||||
StopEvent PoisonLoop 0.0
|
||||
StopEvent PoisonPulse 0.0
|
||||
Animate HudPoisonDamageIndicator Alpha 0 Linear 0.0 1.0
|
||||
}
|
||||
|
||||
event PoisonPulse
|
||||
{
|
||||
Animate HudPoisonDamageIndicator TextColor "BrightFg" Linear 0.0 0.1
|
||||
Animate HudPoisonDamageIndicator TextColor "FgColor" Deaccel 0.1 0.8
|
||||
Animate HudPoisonDamageIndicator BgColor "100 0 0 80" Linear 0.0 0.1
|
||||
Animate HudPoisonDamageIndicator BgColor "BgColor" Deaccel 0.1 0.8
|
||||
|
||||
RunEvent PoisonLoop 0.8
|
||||
}
|
||||
|
||||
// call to loop PoisonLoop
|
||||
event PoisonLoop
|
||||
{
|
||||
RunEvent PoisonPulse 0.0
|
||||
}
|
505
mp/game/mod_hl2mp/scripts/HudLayout.res
Normal file
505
mp/game/mod_hl2mp/scripts/HudLayout.res
Normal file
@ -0,0 +1,505 @@
|
||||
"Resource/HudLayout.res"
|
||||
{
|
||||
HudHealth
|
||||
{
|
||||
"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"
|
||||
}
|
||||
|
||||
TargetID
|
||||
{
|
||||
"fieldName" "TargetID"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
}
|
||||
|
||||
TeamDisplay
|
||||
{
|
||||
"fieldName" "TeamDisplay"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "16"
|
||||
"ypos" "415"
|
||||
"wide" "200"
|
||||
"tall" "60"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "4"
|
||||
}
|
||||
|
||||
HudVoiceSelfStatus
|
||||
{
|
||||
"fieldName" "HudVoiceSelfStatus"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r43"
|
||||
"ypos" "355"
|
||||
"wide" "24"
|
||||
"tall" "24"
|
||||
}
|
||||
|
||||
HudVoiceStatus
|
||||
{
|
||||
"fieldName" "HudVoiceStatus"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r145"
|
||||
"ypos" "0"
|
||||
"wide" "145"
|
||||
"tall" "400"
|
||||
|
||||
"item_wide" "135"
|
||||
|
||||
"show_avatar" "0"
|
||||
|
||||
"show_dead_icon" "1"
|
||||
"dead_xpos" "1"
|
||||
"dead_ypos" "0"
|
||||
"dead_wide" "16"
|
||||
"dead_tall" "16"
|
||||
|
||||
"show_voice_icon" "1"
|
||||
"icon_ypos" "0"
|
||||
"icon_xpos" "15"
|
||||
"icon_tall" "16"
|
||||
"icon_wide" "16"
|
||||
|
||||
"text_xpos" "33"
|
||||
}
|
||||
|
||||
HudSuit
|
||||
{
|
||||
"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"
|
||||
}
|
||||
|
||||
HudAmmo
|
||||
{
|
||||
"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"
|
||||
}
|
||||
|
||||
HudAmmoSecondary
|
||||
{
|
||||
"fieldName" "HudAmmoSecondary"
|
||||
"xpos" "r76"
|
||||
"ypos" "432"
|
||||
"wide" "60"
|
||||
"tall" "36"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
|
||||
"digit_xpos" "10"
|
||||
"digit_ypos" "2"
|
||||
}
|
||||
|
||||
HudSuitPower
|
||||
{
|
||||
"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"
|
||||
}
|
||||
|
||||
HudFlashlight
|
||||
{
|
||||
"fieldName" "HudFlashlight"
|
||||
"visible" "0"
|
||||
"enabled" "1"
|
||||
"xpos" "16"
|
||||
"ypos" "370"
|
||||
"wide" "102"
|
||||
"tall" "20"
|
||||
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "6"
|
||||
"TextColor" "255 170 0 220"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
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"
|
||||
"BorderThickness" "88"
|
||||
}
|
||||
|
||||
HudWeaponSelection
|
||||
{
|
||||
"fieldName" "HudWeaponSelection"
|
||||
"ypos" "16"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"SmallBoxSize" "32"
|
||||
"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"
|
||||
"xpos" "r640"
|
||||
"ypos" "12"
|
||||
"wide" "628"
|
||||
"tall" "468"
|
||||
|
||||
"MaxDeathNotices" "4"
|
||||
"LineHeight" "22"
|
||||
"RightJustify" "1" // If 1, draw notices from the right
|
||||
|
||||
"TextFont" "Default"
|
||||
}
|
||||
|
||||
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"
|
||||
"wide" "500"
|
||||
"tall" "136"
|
||||
|
||||
"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"
|
||||
|
||||
}
|
||||
|
||||
HudHistoryResource
|
||||
{
|
||||
"fieldName" "HudHistoryResource"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "r252"
|
||||
"ypos" "40"
|
||||
"wide" "248"
|
||||
"tall" "320"
|
||||
|
||||
"history_gap" "56"
|
||||
"icon_inset" "28"
|
||||
"text_inset" "26"
|
||||
"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" "r120"
|
||||
"ypos" "r340"
|
||||
"wide" "100"
|
||||
"tall" "200"
|
||||
"text_xpos" "8"
|
||||
"text_ypos" "8"
|
||||
"text_xgap" "8"
|
||||
"text_ygap" "8"
|
||||
"TextColor" "255 170 0 220"
|
||||
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
HudSquadStatus
|
||||
{
|
||||
"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"
|
||||
}
|
||||
|
||||
HudPoisonDamageIndicator
|
||||
{
|
||||
"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"
|
||||
}
|
||||
HudCredits
|
||||
{
|
||||
"fieldName" "HudCredits"
|
||||
"TextFont" "Default"
|
||||
"visible" "1"
|
||||
"xpos" "0"
|
||||
"ypos" "0"
|
||||
"wide" "640"
|
||||
"tall" "480"
|
||||
"TextColor" "255 255 255 192"
|
||||
|
||||
}
|
||||
"HudChat"
|
||||
{
|
||||
"ControlName" "EditablePanel"
|
||||
"fieldName" "HudChat"
|
||||
"visible" "1"
|
||||
"enabled" "1"
|
||||
"xpos" "10"
|
||||
"ypos" "275"
|
||||
"wide" "320"
|
||||
"tall" "120"
|
||||
"PaintBackgroundType" "2"
|
||||
}
|
||||
|
||||
AchievementNotificationPanel
|
||||
{
|
||||
"fieldName" "AchievementNotificationPanel"
|
||||
"visible" "0"
|
||||
"enabled" "0"
|
||||
}
|
||||
|
||||
HudHintKeyDisplay
|
||||
{
|
||||
"fieldName" "HudHintKeyDisplay"
|
||||
"visible" "0"
|
||||
"enabled" "0"
|
||||
}
|
||||
|
||||
HUDAutoAim
|
||||
{
|
||||
"fieldName" "HUDAutoAim"
|
||||
"visible" "0"
|
||||
"enabled" "0"
|
||||
}
|
||||
|
||||
HudHDRDemo
|
||||
{
|
||||
"fieldName" "HudHDRDemo"
|
||||
"visible" "0"
|
||||
"enabled" "0"
|
||||
}
|
||||
|
||||
HudCommentary
|
||||
{
|
||||
"fieldName" "HudCommentary"
|
||||
"visible" "0"
|
||||
"enabled" "0"
|
||||
}
|
||||
|
||||
"CHudVote"
|
||||
{
|
||||
"fieldName" "CHudVote"
|
||||
"visible" "0"
|
||||
"enabled" "0"
|
||||
}
|
||||
}
|
594
mp/game/mod_hl2mp/scripts/LauncherScheme.res
Normal file
594
mp/game/mod_hl2mp/scripts/LauncherScheme.res
Normal file
@ -0,0 +1,594 @@
|
||||
// Tracker scheme resource file
|
||||
Scheme
|
||||
{
|
||||
// default settings for all panels
|
||||
BaseSettings
|
||||
{
|
||||
"sc_primary1" "102 102 153 255"
|
||||
"sc_primary2" "192 192 172 128"
|
||||
"sc_primary3" "204 204 255 255"
|
||||
"sc_secondary1" "63 63 63 255"
|
||||
"sc_secondary2" "153 153 153 255"
|
||||
"sc_secondary3" "204 204 204 255"
|
||||
"sc_user" "0 0 0 255"
|
||||
|
||||
"FgColor" "220 220 255 255"
|
||||
"BgColor" "0 0 0 255"
|
||||
|
||||
"DisabledFgColor1" "80 80 80 255"
|
||||
"DisabledFgColor2" "40 40 40 255" // set this to the BgColor if you don't want it to draw
|
||||
|
||||
"TitleBarFgColor" "0 0 0 255"
|
||||
"TitleBarDisabledFgColor" "150 150 150 255"
|
||||
"TitleBarBgColor" "180 120 0 255"
|
||||
"TitleBarDisabledBgColor" "99 99 99 255"
|
||||
|
||||
"TitleBarIcon" "icon_tracker"
|
||||
"TitleBarDisabledIcon" "icon_tracker_disabled"
|
||||
|
||||
"TitleButtonFgColor" "97 64 0 255"
|
||||
"TitleButtonBgColor" "197 131 0 255"
|
||||
"TitleButtonDisabledFgColor" "0 0 0 255"
|
||||
"TitleButtonDisabledBgColor" "99 99 99 255"
|
||||
|
||||
"TextCursorColor" "0 0 0 255"
|
||||
|
||||
Menu
|
||||
{
|
||||
"FgColor" "150 150 150 255"
|
||||
"BgColor" "70 70 70 255"
|
||||
"ArmedFgColor" "255 183 0 255"
|
||||
"ArmedBgColor" "134 91 19 255"
|
||||
"DividerColor" "56 56 56 255"
|
||||
|
||||
"TextInset" "6" //!! not working yet
|
||||
}
|
||||
|
||||
ScrollBar
|
||||
{
|
||||
"BgColor" "80 80 80 255"
|
||||
"SliderBgColor" "0 0 00 0"
|
||||
}
|
||||
|
||||
// text edit windows
|
||||
"WindowFgColor" "220 220 255 255"
|
||||
"WindowBgColor" "0 0 0 64"
|
||||
"WindowDisabledFgColor" "150 150 150 255"
|
||||
"WindowDisabledBgColor" "80 80 80 255"
|
||||
|
||||
// App-specific stuff
|
||||
|
||||
// status selection
|
||||
"StatusSelectFgColor" "255 255 255 255"
|
||||
"StatusSelectFgColor2" "121 121 121 255"
|
||||
|
||||
// buddy buttons
|
||||
BuddyButton
|
||||
{
|
||||
"FgColor1" "255 183 0 255"
|
||||
"FgColor2" "157 105 0 255"
|
||||
|
||||
"ArmedFgColor1" "255 183 0 255"
|
||||
"ArmedFgColor2" "255 183 0 255"
|
||||
"ArmedBgColor" "134 91 19 255"
|
||||
}
|
||||
|
||||
"SectionTextColor" "121 121 121 255"
|
||||
"SectionDividerColor" "56 56 56 255"
|
||||
|
||||
// TF2 HUD
|
||||
"HudStatusBgColor" "0 0 0 64"
|
||||
"HudStatusSelectedBgColor "0 0 0 192"
|
||||
}
|
||||
|
||||
// describes all the fonts
|
||||
Fonts
|
||||
{
|
||||
"Default"
|
||||
{
|
||||
"name" "Tahoma"
|
||||
"tall" "16"
|
||||
"weight" "500"
|
||||
}
|
||||
|
||||
"DefaultSmall"
|
||||
{
|
||||
"name" "Tahoma"
|
||||
"tall" "12"
|
||||
"weight" "0"
|
||||
}
|
||||
|
||||
// this is the symbol font
|
||||
"Marlett"
|
||||
{
|
||||
"name" "Marlett"
|
||||
"tall" "14"
|
||||
"weight" "0"
|
||||
}
|
||||
}
|
||||
|
||||
// describes all the images used
|
||||
Images
|
||||
{
|
||||
"icon_tracker"
|
||||
{
|
||||
"filename" "resource/icon_tracker"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_tracker_disabled"
|
||||
{
|
||||
"filename" "resource/icon_tracker_disabled"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_tray"
|
||||
{
|
||||
"filename" "resource/icon_tracker"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_away"
|
||||
{
|
||||
"filename" "resource/icon_away"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_busy"
|
||||
{
|
||||
"filename" "resource/icon_busy"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_online"
|
||||
{
|
||||
"filename" "resource/icon_blank"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_offline"
|
||||
{
|
||||
"filename" "resource/icon_blank"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_connecting"
|
||||
{
|
||||
"filename" "resource/icon_blank"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_message"
|
||||
{
|
||||
"filename" "resource/icon_message"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
"icon_blank"
|
||||
{
|
||||
"filename" "resource/icon_blank"
|
||||
"width" "16"
|
||||
"height" "16"
|
||||
}
|
||||
}
|
||||
|
||||
// describes all the border types
|
||||
Borders
|
||||
{
|
||||
BaseBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonBorder
|
||||
{
|
||||
"inset" "2 2 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "255 170 0 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "97 64 0 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "255 170 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "97 64 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonDisabledBorder
|
||||
{
|
||||
"inset" "2 2 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "79 79 79 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "79 79 79 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TitleButtonDepressedBorder
|
||||
{
|
||||
"inset" "3 3 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "97 64 0 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "255 170 0 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "97 64 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "255 170 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ScrollBarButtonBorder
|
||||
{
|
||||
"inset" "2 2 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "79 79 79 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "79 79 79 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ButtonBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// this is the border used for default buttons (the button that gets pressed when you hit enter)
|
||||
ButtonKeyFocusBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "0 0 0 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
"2"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ButtonDepressedBorder
|
||||
{
|
||||
"inset" "2 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ComboBoxBorder
|
||||
{
|
||||
"inset" "0 0 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MenuBorder
|
||||
{
|
||||
"inset" "1 1 1 1"
|
||||
Left
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 1"
|
||||
}
|
||||
}
|
||||
|
||||
Right
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "1 0"
|
||||
}
|
||||
}
|
||||
|
||||
Top
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "99 99 99 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
|
||||
Bottom
|
||||
{
|
||||
"1"
|
||||
{
|
||||
"color" "43 43 43 255"
|
||||
"offset" "0 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
2
mp/game/mod_hl2mp/scripts/game.txt
Normal file
2
mp/game/mod_hl2mp/scripts/game.txt
Normal file
@ -0,0 +1,2 @@
|
||||
// Game specific definitions
|
||||
"$game" "HL2MP"
|
332
mp/game/mod_hl2mp/scripts/game_sounds_player.txt
Normal file
332
mp/game/mod_hl2mp/scripts/game_sounds_player.txt
Normal file
@ -0,0 +1,332 @@
|
||||
"HL2Player.SprintNoPower"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_60dB"
|
||||
|
||||
"wave" "player/suit_denydevice.wav"
|
||||
}
|
||||
|
||||
"HL2Player.SprintStart"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.9"
|
||||
"soundlevel" "SNDLVL_60dB"
|
||||
|
||||
"wave" "player/suit_sprint.wav"
|
||||
}
|
||||
|
||||
"HL2Player.FlashLightOn"
|
||||
{
|
||||
"channel" "CHAN_WEAPON"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"wave" "items/flashlight1.wav"
|
||||
}
|
||||
|
||||
"HL2Player.FlashLightOff"
|
||||
{
|
||||
"channel" "CHAN_WEAPON"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"wave" "items/flashlight1.wav"
|
||||
}
|
||||
|
||||
"HL2Player.PickupWeapon"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "items/ammo_pickup.wav"
|
||||
}
|
||||
|
||||
"HL2Player.TrainUse"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "plats/train_use1.wav"
|
||||
}
|
||||
|
||||
"HL2Player.Use"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.4"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "common/wpn_select.wav"
|
||||
}
|
||||
|
||||
"HL2Player.UseNPC"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.4"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "common/wpn_select.wav"
|
||||
}
|
||||
|
||||
"HL2Player.UseDeny"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.4"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "common/wpn_denyselect.wav"
|
||||
}
|
||||
|
||||
"HL2Player.BurnPain"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.5"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/pl_burnpain1.wav"
|
||||
"wave" "player/pl_burnpain2.wav"
|
||||
"wave" "player/pl_burnpain3.wav"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// SHARED player sounds
|
||||
|
||||
"Player.Death"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/pl_pain5.wav"
|
||||
"wave" "player/pl_pain6.wav"
|
||||
"wave" "player/pl_pain7.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.PlasmaDamage"
|
||||
{
|
||||
"channel" "CHAN_BODY"
|
||||
"volume" "0.5"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "player/general/flesh_burn.wav"
|
||||
}
|
||||
|
||||
"Player.SonicDamage"
|
||||
{
|
||||
"channel" "CHAN_BODY"
|
||||
"volume" "0.7"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/pl_pain5.wav"
|
||||
"wave" "player/pl_pain6.wav"
|
||||
"wave" "player/pl_pain7.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.DrownStart"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "1.0"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
"pitch" "90,110"
|
||||
|
||||
"wave" "player/pl_drown1.wav"
|
||||
}
|
||||
|
||||
"Player.Swim"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "0.5"
|
||||
"pitch" "PITCH_NORM"
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/footsteps/wade5.wav"
|
||||
"wave" "player/footsteps/wade6.wav"
|
||||
"wave" "player/footsteps/wade7.wav"
|
||||
"wave" "player/footsteps/wade8.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.FallDamage"
|
||||
{
|
||||
"channel" "CHAN_AUTO"
|
||||
"volume" "0.75"
|
||||
"pitch" "90,110"
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/pl_fallpain1.wav"
|
||||
"wave" "player/pl_fallpain3.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.FallGib"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.75"
|
||||
"pitch" "90,110"
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "physics/body/body_medium_break2.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.DrownContinue"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "1.0"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
"pitch" "90,110"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/pl_drown1.wav"
|
||||
"wave" "player/pl_drown2.wav"
|
||||
"wave" "player/pl_drown3.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.Wade"
|
||||
{
|
||||
"channel" "CHAN_BODY"
|
||||
"volume" "0.25"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/footsteps/wade5.wav"
|
||||
"wave" "player/footsteps/wade6.wav"
|
||||
"wave" "player/footsteps/wade7.wav"
|
||||
"wave" "player/footsteps/wade8.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Player.AmbientUnderWater"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"volume" "0.22"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "ambient/water/underwater.wav"
|
||||
}
|
||||
|
||||
"Player.UseTrain"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "plats/train_use1.wav"
|
||||
}
|
||||
|
||||
"Player.UseDeny"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.4"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
|
||||
"wave" "common/wpn_select.wav"
|
||||
}
|
||||
|
||||
"Player.PickupWeapon"
|
||||
{
|
||||
"channel" "CHAN_ITEM"
|
||||
"volume" "0.8"
|
||||
"soundlevel" "SNDLVL_75dB"
|
||||
"pitch" "95,105"
|
||||
"wave" "items/ammo_pickup.wav"
|
||||
}
|
||||
|
||||
|
||||
"Geiger.BeepLow"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"soundlevel" "SNDLVL_NONE"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/geiger1.wav"
|
||||
"wave" "player/geiger2.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"Geiger.BeepHigh"
|
||||
{
|
||||
"channel" "CHAN_STATIC"
|
||||
"soundlevel" "SNDLVL_NONE"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "player/geiger2.wav"
|
||||
"wave" "player/geiger3.wav"
|
||||
}
|
||||
}
|
||||
|
||||
//HL2MP
|
||||
|
||||
"NPC_MetroPolice.Die"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.500"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"soundlevel" "SNDLVL_80dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "npc/metropolice/die1.wav"
|
||||
"wave" "npc/metropolice/die2.wav"
|
||||
"wave" "npc/metropolice/die3.wav"
|
||||
"wave" "npc/metropolice/die4.wav"
|
||||
}
|
||||
}
|
||||
|
||||
"NPC_CombineS.Die"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "0.500"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"soundlevel" "SNDLVL_80dB"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "npc/combine_soldier/die1.wav"
|
||||
"wave" "npc/combine_soldier/die2.wav"
|
||||
"wave" "npc/combine_soldier/die3.wav"
|
||||
}
|
||||
}
|
||||
"NPC_Citizen.die"
|
||||
{
|
||||
"channel" "CHAN_VOICE"
|
||||
"volume" "VOL_NORM"
|
||||
"pitch" "PITCH_NORM"
|
||||
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "*vo/npc/$gender01/pain07.wav"
|
||||
"wave" "*vo/npc/$gender01/pain08.wav"
|
||||
"wave" "*vo/npc/$gender01/pain09.wav"
|
||||
}
|
||||
}
|
1567
mp/game/mod_hl2mp/scripts/game_sounds_weapons.txt
Normal file
1567
mp/game/mod_hl2mp/scripts/game_sounds_weapons.txt
Normal file
File diff suppressed because it is too large
Load Diff
69
mp/game/mod_hl2mp/scripts/kb_act.lst
Normal file
69
mp/game/mod_hl2mp/scripts/kb_act.lst
Normal file
@ -0,0 +1,69 @@
|
||||
"blank" "=========================="
|
||||
"blank" "#Valve_Movement_Title"
|
||||
"blank" "=========================="
|
||||
"+forward" "#Valve_Move_Forward"
|
||||
"+back" "#Valve_Move_Back"
|
||||
"+moveleft" "#Valve_Move_Left"
|
||||
"+moveright" "#Valve_Move_Right"
|
||||
"+speed" "#Valve_Sprint"
|
||||
"+jump" "#Valve_Jump"
|
||||
"+duck" "#Valve_Duck"
|
||||
"blank" "=========================="
|
||||
"blank" "#Valve_Combat_Title"
|
||||
"blank" "=========================="
|
||||
"+attack" "#Valve_Primary_Attack"
|
||||
"+attack2" "#Valve_Secondary_Attack"
|
||||
"+reload" "#Valve_Reload_Weapon"
|
||||
"+use" "#Valve_Use_Items"
|
||||
"phys_swap" "#Valve_Gravity_Gun"
|
||||
"impulse 100" "#Valve_Flashlight"
|
||||
"+zoom" "#Valve_Suit_Zoom"
|
||||
"slot1" "#Valve_Weapon_Category_1"
|
||||
"slot2" "#Valve_Weapon_Category_2"
|
||||
"slot3" "#Valve_Weapon_Category_3"
|
||||
"slot4" "#Valve_Weapon_Category_4"
|
||||
"slot5" "#Valve_Weapon_Category_5"
|
||||
"slot6" "#Valve_Weapon_Category_6"
|
||||
"invnext" "#Valve_Next_Weapon"
|
||||
"invprev" "#Valve_Previous_Weapon"
|
||||
"lastinv" "#Valve_Last_Weapon_Used"
|
||||
"use weapon_crowbar;use weapon_stunstick" "#HL2_Crowbar_Menu"
|
||||
"use weapon_physcannon" "#HL2_GravityGun_Menu"
|
||||
"use weapon_pistol" "#HL2_Pistol_Menu"
|
||||
"use weapon_357" "#HL2_357Handgun_Menu"
|
||||
"use weapon_smg1" "#HL2_SMG1_Menu"
|
||||
"use weapon_ar2" "#HL2_Pulse_Rifle_Menu"
|
||||
"use weapon_shotgun" "#HL2_Shotgun_Menu"
|
||||
"use weapon_crossbow" "#HL2_Crossbow_Menu"
|
||||
"use weapon_frag" "#HL2_Grenade_Menu"
|
||||
"use weapon_rpg" "#HL2_RPG_Menu"
|
||||
"use weapon_SLAM" "#HL2_SLAM_Menu"
|
||||
"blank" "=========================="
|
||||
"blank" "#Valve_Communication_Title"
|
||||
"blank" "=========================="
|
||||
"+voicerecord" "#Valve_Use_Voice_Communication"
|
||||
"messagemode" "#Valve_Chat_Message"
|
||||
"messagemode2" "#Valve_Team_Message"
|
||||
"blank" "=========================="
|
||||
"blank" "#Valve_Miscellaneous_Title"
|
||||
"blank" "=========================="
|
||||
"jpeg" "#Valve_Take_Screen_Shot"
|
||||
"+showscores" "#Valve_Display_Scores"
|
||||
"impulse 201" "#Valve_Spray_Logo"
|
||||
"pause" "#Valve_Pause_Game"
|
||||
"quit" "#Valve_Quit_Game"
|
||||
"timeleft" "Time Left in Round"
|
||||
"askconnect_accept" "#Valve_Accept_Redirect"
|
||||
"blank" "=========================="
|
||||
"blank" "#Valve_Miscellaneous_Keyboard_Keys_Title"
|
||||
"blank" "=========================="
|
||||
"+walk" "#Valve_Walk"
|
||||
"+left" "#Valve_Turn_Left"
|
||||
"+right" "#Valve_Turn_Right"
|
||||
"+moveup" "#Valve_Swim_Up"
|
||||
"+movedown" "#Valve_Swim_Down"
|
||||
"+lookup" "#Valve_Look_Up"
|
||||
"+lookdown" "#Valve_Look_Down"
|
||||
"+strafe" "#Valve_Strafe_Modifier"
|
||||
"+klook" "#Valve_Keyboard_Look_Modifier"
|
||||
|
59
mp/game/mod_hl2mp/scripts/kb_def.lst
Normal file
59
mp/game/mod_hl2mp/scripts/kb_def.lst
Normal file
@ -0,0 +1,59 @@
|
||||
"w" "+forward"
|
||||
"UPARROW" "+forward"
|
||||
"s" "+back"
|
||||
"DOWNARROW" "+back"
|
||||
"LEFTARROW" "+left"
|
||||
"RIGHTARROW" "+right"
|
||||
"a" "+moveleft"
|
||||
"," "+moveleft"
|
||||
"d" "+moveright"
|
||||
"." "+moveright"
|
||||
"SPACE" "+jump"
|
||||
"CTRL" "+duck"
|
||||
"TAB" "+showscores"
|
||||
"e" "+use"
|
||||
"v" "+moveup"
|
||||
"'" "+moveup"
|
||||
"c" "impulse 50"
|
||||
"/" "+movedown"
|
||||
"PGUP" "+lookup"
|
||||
"PGDN" "+lookdown"
|
||||
"END" "centerview"
|
||||
"z" "+strafe"
|
||||
"INS" "+klook"
|
||||
";" "+mlook"
|
||||
"r" "+reload"
|
||||
"ALT" "+walk"
|
||||
"SHIFT" "+speed"
|
||||
"MOUSE1" "+attack"
|
||||
"ENTER" "+attack"
|
||||
"MOUSE2" "+attack2"
|
||||
"\\" "+attack2"
|
||||
"f" "impulse 100"
|
||||
"1" "slot1"
|
||||
"2" "slot2"
|
||||
"3" "slot3"
|
||||
"4" "slot4"
|
||||
"5" "slot5"
|
||||
"6" "slot6"
|
||||
"MWHEELUP" "invprev"
|
||||
"[" "invprev"
|
||||
"MWHEELDOWN" "invnext"
|
||||
"]" "invnext"
|
||||
"q" "lastinv"
|
||||
"F5" "jpeg"
|
||||
"F6" "save quick"
|
||||
"F7" "load quick"
|
||||
"F10" "quit prompt"
|
||||
"PAUSE" "pause"
|
||||
"ESCAPE" "escape"
|
||||
"~" "toggleconsole"
|
||||
"`" "toggleconsole"
|
||||
"+" "sizeup"
|
||||
"=" "sizeup"
|
||||
"-" "sizedown"
|
||||
"t" "impulse 201"
|
||||
"y" "messagemode"
|
||||
"u" "messagemode2"
|
||||
"g" "dropprimary"
|
||||
"z" "+zoom"
|
256
mp/game/mod_hl2mp/scripts/kb_keys.lst
Normal file
256
mp/game/mod_hl2mp/scripts/kb_keys.lst
Normal file
@ -0,0 +1,256 @@
|
||||
0 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
1 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
2 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
3 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
4 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
5 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
6 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
7 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
8 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
9 "TAB" "TAB" DEFAULTCOLOR
|
||||
10 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
11 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
12 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
13 "ENTER" "ENTER" DEFAULTCOLOR
|
||||
14 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
15 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
16 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
17 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
18 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
19 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
20 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
21 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
22 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
23 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
24 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
25 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
26 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
27 "ESCAPE" "ESCAPE" DEFAULTCOLOR
|
||||
28 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
29 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
30 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
31 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
32 "SPACE" "SPACE" DEFAULTCOLOR
|
||||
33 "!" "!" DEFAULTCOLOR
|
||||
34 """ """ DEFAULTCOLOR
|
||||
35 "#" "#" DEFAULTCOLOR
|
||||
36 "$" "$" DEFAULTCOLOR
|
||||
37 "BACKSPACE" "BACKSPACE" DEFAULTCOLOR
|
||||
38 "&" "&" DEFAULTCOLOR
|
||||
39 "'" "'" DEFAULTCOLOR
|
||||
40 "(" "(" DEFAULTCOLOR
|
||||
41 ")" ")" DEFAULTCOLOR
|
||||
42 "*" "*" DEFAULTCOLOR
|
||||
43 "+" "+" DEFAULTCOLOR
|
||||
44 "," "," DEFAULTCOLOR
|
||||
45 "-" "-" DEFAULTCOLOR
|
||||
46 "." "." DEFAULTCOLOR
|
||||
47 "/" "/" DEFAULTCOLOR
|
||||
48 "0" "0" DEFAULTCOLOR
|
||||
49 "1" "1" DEFAULTCOLOR
|
||||
50 "2" "2" DEFAULTCOLOR
|
||||
51 "3" "3" DEFAULTCOLOR
|
||||
52 "4" "4" DEFAULTCOLOR
|
||||
53 "5" "5" DEFAULTCOLOR
|
||||
54 "6" "6" DEFAULTCOLOR
|
||||
55 "7" "7" DEFAULTCOLOR
|
||||
56 "8" "8" DEFAULTCOLOR
|
||||
57 "9" "9" DEFAULTCOLOR
|
||||
58 ":" ":" DEFAULTCOLOR
|
||||
59 ";" ";" DEFAULTCOLOR
|
||||
60 "<" "<" DEFAULTCOLOR
|
||||
61 "=" "=" DEFAULTCOLOR
|
||||
62 ">" ">" DEFAULTCOLOR
|
||||
63 "?" "?" DEFAULTCOLOR
|
||||
64 "@" "@" DEFAULTCOLOR
|
||||
65 "A" "A" DEFAULTCOLOR
|
||||
66 "B" "B" DEFAULTCOLOR
|
||||
67 "C" "C" DEFAULTCOLOR
|
||||
68 "D" "D" DEFAULTCOLOR
|
||||
69 "E" "E" DEFAULTCOLOR
|
||||
70 "F" "F" DEFAULTCOLOR
|
||||
71 "G" "G" DEFAULTCOLOR
|
||||
72 "H" "H" DEFAULTCOLOR
|
||||
73 "I" "I" DEFAULTCOLOR
|
||||
74 "J" "J" DEFAULTCOLOR
|
||||
75 "K" "K" DEFAULTCOLOR
|
||||
76 "L" "L" DEFAULTCOLOR
|
||||
77 "M" "M" DEFAULTCOLOR
|
||||
78 "N" "N" DEFAULTCOLOR
|
||||
79 "O" "O" DEFAULTCOLOR
|
||||
80 "P" "P" DEFAULTCOLOR
|
||||
81 "Q" "Q" DEFAULTCOLOR
|
||||
82 "R" "R" DEFAULTCOLOR
|
||||
83 "S" "S" DEFAULTCOLOR
|
||||
84 "T" "T" DEFAULTCOLOR
|
||||
85 "U" "U" DEFAULTCOLOR
|
||||
86 "V" "V" DEFAULTCOLOR
|
||||
87 "W" "W" DEFAULTCOLOR
|
||||
88 "X" "X" DEFAULTCOLOR
|
||||
89 "Y" "Y" DEFAULTCOLOR
|
||||
90 "Z" "Z" DEFAULTCOLOR
|
||||
91 "[" "[" DEFAULTCOLOR
|
||||
92 "\" "\" DEFAULTCOLOR
|
||||
93 "]" "]" DEFAULTCOLOR
|
||||
94 "^" "^" DEFAULTCOLOR
|
||||
95 "_" "_" DEFAULTCOLOR
|
||||
96 "`" "`" DEFAULTCOLOR
|
||||
97 "a" "a" DEFAULTCOLOR
|
||||
98 "b" "b" DEFAULTCOLOR
|
||||
99 "c" "c" DEFAULTCOLOR
|
||||
100 "d" "d" DEFAULTCOLOR
|
||||
101 "e" "e" DEFAULTCOLOR
|
||||
102 "f" "f" DEFAULTCOLOR
|
||||
103 "g" "g" DEFAULTCOLOR
|
||||
104 "h" "h" DEFAULTCOLOR
|
||||
105 "i" "i" DEFAULTCOLOR
|
||||
106 "j" "j" DEFAULTCOLOR
|
||||
107 "k" "k" DEFAULTCOLOR
|
||||
108 "l" "l" DEFAULTCOLOR
|
||||
109 "m" "m" DEFAULTCOLOR
|
||||
110 "n" "n" DEFAULTCOLOR
|
||||
111 "o" "o" DEFAULTCOLOR
|
||||
112 "p" "p" DEFAULTCOLOR
|
||||
113 "q" "q" DEFAULTCOLOR
|
||||
114 "r" "r" DEFAULTCOLOR
|
||||
115 "s" "s" DEFAULTCOLOR
|
||||
116 "t" "t" DEFAULTCOLOR
|
||||
117 "u" "u" DEFAULTCOLOR
|
||||
118 "v" "v" DEFAULTCOLOR
|
||||
119 "w" "w" DEFAULTCOLOR
|
||||
120 "x" "x" DEFAULTCOLOR
|
||||
121 "y" "y" DEFAULTCOLOR
|
||||
122 "z" "z" DEFAULTCOLOR
|
||||
123 "{" "{" DEFAULTCOLOR
|
||||
124 "|" "|" DEFAULTCOLOR
|
||||
125 "}" "}" DEFAULTCOLOR
|
||||
126 "~" "~" DEFAULTCOLOR
|
||||
127 "BACKSPACE" "BACKSPACE" DEFAULTCOLOR
|
||||
128 "UPARROW" "UPARROW" DEFAULTCOLOR
|
||||
129 "DOWNARROW" "DOWNARROW" DEFAULTCOLOR
|
||||
130 "LEFTARROW" "LEFTARROW" DEFAULTCOLOR
|
||||
131 "RIGHTARROW" "RIGHTARROW" DEFAULTCOLOR
|
||||
132 "ALT" "ALT" DEFAULTCOLOR
|
||||
133 "CTRL" "CTRL" DEFAULTCOLOR
|
||||
134 "SHIFT" "SHIFT" DEFAULTCOLOR
|
||||
135 "F1" "F1" DEFAULTCOLOR
|
||||
136 "F2" "F2" DEFAULTCOLOR
|
||||
137 "F3" "F3" DEFAULTCOLOR
|
||||
138 "F4" "F4" DEFAULTCOLOR
|
||||
139 "F5" "F5" DEFAULTCOLOR
|
||||
140 "F6" "F6" DEFAULTCOLOR
|
||||
141 "F7" "F7" DEFAULTCOLOR
|
||||
142 "F8" "F8" DEFAULTCOLOR
|
||||
143 "F9" "F9" DEFAULTCOLOR
|
||||
144 "F10" "F10" DEFAULTCOLOR
|
||||
145 "F11" "F11" DEFAULTCOLOR
|
||||
146 "F12" "F12" DEFAULTCOLOR
|
||||
147 "INS" "INS" DEFAULTCOLOR
|
||||
148 "DEL" "DEL" DEFAULTCOLOR
|
||||
149 "PGDN" "PGDN" DEFAULTCOLOR
|
||||
150 "PGUP" "PGUP" DEFAULTCOLOR
|
||||
151 "HOME" "HOME" DEFAULTCOLOR
|
||||
152 "END" "END" DEFAULTCOLOR
|
||||
153 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
154 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
155 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
156 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
157 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
158 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
159 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
160 "KP_HOME" "KP_HOME" DEFAULTCOLOR
|
||||
161 "KP_UPARROW" "KP_UPARROW" DEFAULTCOLOR
|
||||
162 "KP_PGUP" "KP_PGUP" DEFAULTCOLOR
|
||||
163 "KP_LEFTARROW" "KP_LEFTARROW" DEFAULTCOLOR
|
||||
164 "KP_5" "KP_5" DEFAULTCOLOR
|
||||
165 "KP_RIGHTARROW" "KP_RIGHTARROW" DEFAULTCOLOR
|
||||
166 "KP_END" "KP_END" DEFAULTCOLOR
|
||||
167 "KP_DOWNARROW" "KP_DOWNARROW" DEFAULTCOLOR
|
||||
168 "KP_PGDN" "KP_PGDN" DEFAULTCOLOR
|
||||
169 "KP_ENTER" "KP_ENTER" DEFAULTCOLOR
|
||||
170 "KP_INS" "KP_INS" DEFAULTCOLOR
|
||||
171 "KP_DEL" "KP_DEL" DEFAULTCOLOR
|
||||
172 "KP_SLASH" "KP_SLASH" DEFAULTCOLOR
|
||||
173 "KP_MINUS" "KP_MINUS" DEFAULTCOLOR
|
||||
174 "KP_PLUS" "KP_PLUS" DEFAULTCOLOR
|
||||
175 "CAPSLOCK" "CAPSLOCK" DEFAULTCOLOR
|
||||
176 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
177 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
178 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
179 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
180 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
181 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
182 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
183 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
184 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
185 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
186 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
187 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
188 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
189 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
190 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
191 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
192 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
193 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
194 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
195 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
196 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
197 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
198 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
199 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
200 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR1
|
||||
201 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
202 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
203 "JOY1" "JOY1" COLOR 255 0 0
|
||||
204 "JOY2" "JOY2" COLOR 255 0 0
|
||||
205 "JOY3" "JOY3" COLOR 255 0 0
|
||||
206 "JOY4" "JOY4" COLOR 255 0 0
|
||||
207 "AUX1" "AUX1" DEFAULTCOLOR
|
||||
208 "AUX2" "AUX2" DEFAULTCOLOR
|
||||
209 "AUX3" "AUX3" DEFAULTCOLOR
|
||||
210 "AUX4" "AUX4" DEFAULTCOLOR
|
||||
211 "AUX5" "AUX5" DEFAULTCOLOR
|
||||
212 "AUX6" "AUX6" DEFAULTCOLOR
|
||||
213 "AUX7" "AUX7" DEFAULTCOLOR
|
||||
214 "AUX8" "AUX8" DEFAULTCOLOR
|
||||
215 "AUX9" "AUX9" DEFAULTCOLOR
|
||||
216 "AUX10" "AUX10" DEFAULTCOLOR
|
||||
217 "AUX11" "AUX11" DEFAULTCOLOR
|
||||
218 "AUX12" "AUX12" DEFAULTCOLOR
|
||||
219 "AUX13" "AUX13" DEFAULTCOLOR
|
||||
220 "AUX14" "AUX14" DEFAULTCOLOR
|
||||
221 "AUX15" "AUX15" DEFAULTCOLOR
|
||||
222 "AUX16" "AUX16" DEFAULTCOLOR
|
||||
223 "AUX17" "AUX17" DEFAULTCOLOR
|
||||
224 "AUX18" "AUX18" DEFAULTCOLOR
|
||||
225 "AUX19" "AUX19" DEFAULTCOLOR
|
||||
226 "AUX20" "AUX20" DEFAULTCOLOR
|
||||
227 "AUX21" "AUX21" DEFAULTCOLOR
|
||||
228 "AUX22" "AUX22" DEFAULTCOLOR
|
||||
229 "AUX23" "AUX23" DEFAULTCOLOR
|
||||
230 "AUX24" "AUX24" DEFAULTCOLOR
|
||||
231 "AUX25" "AUX25" DEFAULTCOLOR
|
||||
232 "AUX26" "AUX26" DEFAULTCOLOR
|
||||
233 "AUX27" "AUX27" DEFAULTCOLOR
|
||||
234 "AUX28" "AUX28" DEFAULTCOLOR
|
||||
235 "AUX29" "AUX29" DEFAULTCOLOR
|
||||
236 "AUX30" "AUX30" DEFAULTCOLOR
|
||||
237 "AUX31" "AUX31" DEFAULTCOLOR
|
||||
238 "AUX32" "AUX32" DEFAULTCOLOR
|
||||
239 "MWHEELDOWN" "MWHEELDOWN" DEFAULTCOLOR
|
||||
240 "MWHEELUP" "MWHEELUP" DEFAULTCOLOR
|
||||
241 "MOUSE1" "MOUSE1" COLOR 0 255 255
|
||||
242 "MOUSE2" "MOUSE2" COLOR 0 255 255
|
||||
243 "MOUSE3" "MOUSE3" COLOR 0 255 255
|
||||
244 "MOUSE4" "MOUSE4" COLOR 0 255 255
|
||||
245 "MOUSE5" "MOUSE5" COLOR 0 255 255
|
||||
246 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
247 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
248 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
249 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
250 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
251 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
252 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
253 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
254 "<UNKNOWN KEYNUM>" "<UNKNOWN KEYNUM>" DEFAULTCOLOR
|
||||
255 "PAUSE" "PAUSE" DEFAULTCOLOR
|
76
mp/game/mod_hl2mp/scripts/launcher.txt
Normal file
76
mp/game/mod_hl2mp/scripts/launcher.txt
Normal file
@ -0,0 +1,76 @@
|
||||
// keys with $ are to be substituted in the value strings where they occur
|
||||
// They must occur before any values that reference them since this file is
|
||||
// parsed in order
|
||||
|
||||
// Substitutions $game is swapped with the text string specified
|
||||
#include "scripts/game.txt"
|
||||
|
||||
"loading" "Loading $game..."
|
||||
|
||||
"nummasters" "2"
|
||||
"master0" "half-life.east.won.net:27010"
|
||||
"master1" "half-life.west.won.net:27010"
|
||||
//"master0" "127.0.0.1:27010"
|
||||
//"master1" "127.0.0.1:27010"
|
||||
|
||||
// Actual text labels ( note that all $key strings in the value field will be
|
||||
// substituted as noted above ).
|
||||
"label_console" "Go to $game console"
|
||||
"label_quit" "Quit playing $game"
|
||||
"label_newgame" "Start a new game"
|
||||
"label_loadgame" "Load a saved game"
|
||||
"label_videomode" "Change video mode"
|
||||
"label_configuration" "Configuration"
|
||||
"label_langame" "Connect to games on your LAN"
|
||||
"label_internetgame" "Connect to internet games"
|
||||
"label_multiplayergame" "Multiplayer games"
|
||||
|
||||
"dialog_main_header" "$game"
|
||||
"dialog_videomode_header" "Video Mode"
|
||||
"dialog_newgame_header" "New Game"
|
||||
"dialog_loadgame_header" "Load Game"
|
||||
"dialog_configuration_header" "Configuration"
|
||||
"dialog_controls_header" "Controls"
|
||||
"dialog_lan_header" "Lan"
|
||||
"dialog_internet_header" "Internet Games"
|
||||
"dialog_multiplayer_header" "Multiplayer"
|
||||
|
||||
"button_done" "Done"
|
||||
"button_ok" "OK"
|
||||
"button_cancel" "Cancel"
|
||||
"button_yes" "Yes"
|
||||
"button_no" "No"
|
||||
"button_newgame" "New Game"
|
||||
"button_videomode" "Video Mode"
|
||||
"button_console" "Console"
|
||||
"button_quit" "Quit"
|
||||
"button_loadgame" "Load Game"
|
||||
"button_easy" "Easy"
|
||||
"button_medium" "Medium"
|
||||
"button_hard" "Hard"
|
||||
"button_configuration" "Configuration"
|
||||
"button_controls" "Controls"
|
||||
"button_usedefaults" "Use Defaults"
|
||||
"button_advancedcontrols" "Adv Controls"
|
||||
"button_delete" "Delete"
|
||||
"button_load" "Load"
|
||||
"button_langame" "Lan"
|
||||
"button_internetgame" "Internet Game"
|
||||
"button_connect" "Connect"
|
||||
"button_refresh" "Refresh"
|
||||
"button_multiplayergame" "Multiplayer"
|
||||
"button_update" "Update"
|
||||
|
||||
"keybinding_action" "Action"
|
||||
"keybinding_keybutton" "Key / button"
|
||||
"keybinding_alternate" "Alternate"
|
||||
"keybinding_prompt" "Press a button or key"
|
||||
|
||||
"loadgame_time" "Time"
|
||||
"loadgame_game" "Game"
|
||||
"loadgame_elapsed" "Elapsed Time"
|
||||
|
||||
"langame_address" "Address"
|
||||
"langame_gamedir" "Game"
|
||||
"langame_map" "Map"
|
||||
"langame_ping" "Ping"
|
228
mp/game/mod_hl2mp/scripts/mod_textures.txt
Normal file
228
mp/game/mod_hl2mp/scripts/mod_textures.txt
Normal file
@ -0,0 +1,228 @@
|
||||
"sprites/640_hud"
|
||||
{
|
||||
TextureData
|
||||
{
|
||||
"d_crowbar"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "0"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_9mmhandgun"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "16"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_357"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "32"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_9mmAR"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "48"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_shotgun"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "64"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_bolt"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "80"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_crossbow"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "80"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_rpg_rocket"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "96"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_gauss"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "112"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_egon"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "128"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_hornet"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "144"
|
||||
"width" "48"
|
||||
"height" "16"
|
||||
}
|
||||
"d_grenade"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "160"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_satchel"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "176"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_tripmine"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "192"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_snark"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "208"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_skull"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "224"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"d_tracktrain"
|
||||
{
|
||||
"file" "sprites/640hud1"
|
||||
"x" "192"
|
||||
"y" "240"
|
||||
"width" "32"
|
||||
"height" "16"
|
||||
}
|
||||
"death_357"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "."
|
||||
}
|
||||
"death_ar2"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "2"
|
||||
}
|
||||
"death_crossbow_bolt"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "1"
|
||||
}
|
||||
"death_smg1"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "/"
|
||||
}
|
||||
"death_shotgun"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "0"
|
||||
}
|
||||
"death_rpg_missile"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "3"
|
||||
}
|
||||
"death_grenade_frag"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "4"
|
||||
}
|
||||
"death_pistol"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "-"
|
||||
}
|
||||
"death_physics"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "9"
|
||||
}
|
||||
"death_combine_ball"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "8"
|
||||
}
|
||||
"death_smg1_grenade"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "7"
|
||||
}
|
||||
"death_stunstick"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "!"
|
||||
}
|
||||
"death_slam"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "*"
|
||||
}
|
||||
"death_crowbar"
|
||||
{
|
||||
"font" "HL2MPTypeDeath"
|
||||
"character" "6"
|
||||
}
|
||||
"voice_player"
|
||||
{
|
||||
"file" "voice/icntlk_sv"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"voice_self"
|
||||
{
|
||||
"file" "voice/icntlk_local"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
}
|
||||
}
|
276
mp/game/mod_hl2mp/scripts/soundscapes_labs.txt
Normal file
276
mp/game/mod_hl2mp/scripts/soundscapes_labs.txt
Normal file
@ -0,0 +1,276 @@
|
||||
|
||||
|
||||
"labs_mp"
|
||||
{
|
||||
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" ".12"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/machines/lab_loop1.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" ".4"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/machines/combine_shield_loop3.wav"
|
||||
"position" "0"
|
||||
// tele snd
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" ".3"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/atmosphere/noise2.wav"
|
||||
"position" "0"
|
||||
// tele snd
|
||||
}
|
||||
|
||||
"playrandom"
|
||||
{
|
||||
"time" "8, 15"
|
||||
"volume" "0.3,0.5"
|
||||
"pitch" "100"
|
||||
"soundlevel" "SNDLVL_NORM"
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "npc/headcrab/alert1.wav"
|
||||
"wave" "npc/headcrab/idle1.wav"
|
||||
"wave" "npc/headcrab/idle2.wav"
|
||||
"wave" "npc/headcrab/idle3.wav"
|
||||
|
||||
|
||||
}
|
||||
"position" "1"
|
||||
// lamarr
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"under_boiler"
|
||||
{
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.2"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/atmosphere/ambience5.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.07"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/atmosphere/underground.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.06"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/machines/thumper_amb.wav"
|
||||
}
|
||||
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" ".08"
|
||||
"pitch" "85"
|
||||
"wave" "ambient/gas/steam_loop1.wav"
|
||||
"position" "1"
|
||||
// Steam pipe
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"under_tunnels"
|
||||
{
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.1"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/atmosphere/cargo_hold2.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.2"
|
||||
"pitch" "80"
|
||||
"wave" "ambient/wind/wind_tunnel1.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" ".08"
|
||||
"pitch" "85"
|
||||
"wave" "ambient/gas/steam_loop1.wav"
|
||||
"position" "0"
|
||||
// Steam pipe
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
"under_basement1"
|
||||
{
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.07"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/atmosphere/cargo_hold2.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.2"
|
||||
"pitch" "80"
|
||||
"wave" "ambient/wind/wind_tunnel1.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.15"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/wind/wasteland_wind.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.1"
|
||||
"pitch" "90"
|
||||
"wave" "ambient/atmosphere/quiet_cellblock_amb.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" ".08"
|
||||
"pitch" "85"
|
||||
"wave" "ambient/gas/steam_loop1.wav"
|
||||
"position" "0"
|
||||
// Steam pipe
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
"combine_tunnel"
|
||||
{
|
||||
|
||||
"dsp" "1"
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.3"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/levels/citadel/citadel_drone_loop6.wav"
|
||||
}
|
||||
|
||||
|
||||
|
||||
"playrandom"
|
||||
{
|
||||
"time" "8, 30"
|
||||
"volume" "0.05,0.1"
|
||||
"pitch" "90,110"
|
||||
"soundlevel" "SNDLVL_140dB"
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "ambient/levels/citadel/strange_talk1.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk3.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk4.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk5.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk6.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk7.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk8.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk9.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk10.wav"
|
||||
"wave" "ambient/levels/citadel/strange_talk11.wav"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
"playrandom"
|
||||
{
|
||||
"time" "20, 35"
|
||||
"volume" "0.08,0.15"
|
||||
"pitch" "90,110"
|
||||
"soundlevel" "SNDLVL_140dB"
|
||||
"position" "0"
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "npc/combine_soldier/vo/weaponsoffsafeprepforcontact.wav"
|
||||
"wave" "npc/combine_soldier/vo/teamdeployedandscanning.wav"
|
||||
"wave" "npc/combine_soldier/vo/unitismovingin.wav"
|
||||
"wave" "npc/combine_soldier/vo/sweepingin.wav"
|
||||
"wave" "npc/combine_soldier/vo/targetcompromisedmovein.wav"
|
||||
"wave" "npc/combine_soldier/vo/stabilizationteamhassector.wav"
|
||||
"wave" "npc/combine_soldier/vo/overwatchrequestreinforcement.wav"
|
||||
"wave" "npc/combine_soldier/vo/overwatchtarget1sterilized.wav"
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
"playrandom"
|
||||
{
|
||||
"time" "45, 120"
|
||||
"volume" "0.01,0.1"
|
||||
"pitch" "90,115"
|
||||
"soundlevel" "SNDLVL_140dB"
|
||||
"rndwave"
|
||||
{
|
||||
"wave" "*ambient/levels/citadel/citadel_ambient_voices1.wav"
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.08"
|
||||
"pitch" "100"
|
||||
"wave" "ambient/atmosphere/underground.wav"
|
||||
}
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.25"
|
||||
"pitch" "80"
|
||||
"wave" "ambient/wind/wind_tunnel1.wav"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
18
mp/game/mod_hl2mp/scripts/soundscapes_manifest.txt
Normal file
18
mp/game/mod_hl2mp/scripts/soundscapes_manifest.txt
Normal file
@ -0,0 +1,18 @@
|
||||
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"
|
||||
"file" "scripts/soundscapes_labs.txt"
|
||||
"file" "scripts/soundscapes_strike.txt"
|
||||
}
|
1457
mp/game/mod_hl2mp/scripts/soundscapes_streetwar.txt
Normal file
1457
mp/game/mod_hl2mp/scripts/soundscapes_streetwar.txt
Normal file
File diff suppressed because it is too large
Load Diff
53
mp/game/mod_hl2mp/scripts/soundscapes_strike.txt
Normal file
53
mp/game/mod_hl2mp/scripts/soundscapes_strike.txt
Normal file
@ -0,0 +1,53 @@
|
||||
"strike_ware"
|
||||
{
|
||||
"dsp" "1"
|
||||
// The ambient sounds of the warehouse
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.1"
|
||||
"pitch" "100"
|
||||
"soundlevel" "SNDLVL_90dB"
|
||||
"wave" "ambient/atmosphere/ambience_base.wav"
|
||||
}
|
||||
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.15"
|
||||
"wave" "ambient/atmosphere/indoor2.wav"
|
||||
"pitch" "100"
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
"strike_outside"
|
||||
{
|
||||
|
||||
|
||||
"playlooping"
|
||||
{
|
||||
"volume" "0.25"
|
||||
"wave" "ambient/wind/wind1.wav"
|
||||
"pitch" "100"
|
||||
}
|
||||
|
||||
|
||||
"playsoundscape"
|
||||
{
|
||||
"name" "d1_canals.util_tunnel_windgusts"
|
||||
"volume" "0.7"
|
||||
}
|
||||
|
||||
"playsoundscape"
|
||||
{
|
||||
"name" "d1_canals.util_birds"
|
||||
"volume" "0.25"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
62
mp/game/mod_hl2mp/scripts/weapon_357.txt
Normal file
62
mp/game/mod_hl2mp/scripts/weapon_357.txt
Normal file
@ -0,0 +1,62 @@
|
||||
// 357
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_357Handgun"
|
||||
"viewmodel" "models/weapons/v_357.mdl"
|
||||
"playermodel" "models/weapons/w_357.mdl"
|
||||
"anim_prefix" "python"
|
||||
"bucket" "1"
|
||||
"bucket_position" "1"
|
||||
|
||||
"clip_size" "6"
|
||||
"default_clip" "6"
|
||||
"primary_ammo" "357"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "7"
|
||||
"item_flags" "0"
|
||||
|
||||
"damage" "75"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"empty" "Weapon_Pistol.Empty"
|
||||
"single_shot" "Weapon_357.Single"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "e"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "e"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "q"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
78
mp/game/mod_hl2mp/scripts/weapon_ar2.txt
Normal file
78
mp/game/mod_hl2mp/scripts/weapon_ar2.txt
Normal file
@ -0,0 +1,78 @@
|
||||
// Assault Rifle 2
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Pulse_Rifle"
|
||||
"viewmodel" "models/weapons/v_irifle.mdl"
|
||||
"playermodel" "models/weapons/w_irifle.mdl"
|
||||
"anim_prefix" "ar2"
|
||||
"bucket" "2"
|
||||
"bucket_position" "1"
|
||||
|
||||
"clip_size" "30"
|
||||
"default_clip" "60"
|
||||
|
||||
"clip2_size" "-1"
|
||||
"default_clip2" "-1"
|
||||
|
||||
"primary_ammo" "AR2"
|
||||
"secondary_ammo" "AR2AltFire"
|
||||
|
||||
"weight" "5"
|
||||
"item_flags" "0"
|
||||
"damage" "11"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"special1" "Weapon_CombineGuard.Special1"
|
||||
"empty" "Weapon_IRifle.Empty"
|
||||
"double_shot" "Weapon_IRifle.Single"
|
||||
"reload" "Weapon_AR2.Reload"
|
||||
"single_shot" "Weapon_AR2.Single"
|
||||
|
||||
// NPC SECTION
|
||||
"single_shot_npc" "Weapon_AR2.NPC_Single"
|
||||
"reload_npc" "Weapon_AR2.NPC_Reload"
|
||||
"double_shot_npc" "Weapon_AR2.NPC_Double"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "l"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "l"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "u"
|
||||
}
|
||||
"ammo2"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "z"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
77
mp/game/mod_hl2mp/scripts/weapon_crossbow.txt
Normal file
77
mp/game/mod_hl2mp/scripts/weapon_crossbow.txt
Normal file
@ -0,0 +1,77 @@
|
||||
// Crossbow
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Crossbow"
|
||||
"viewmodel" "models/weapons/v_crossbow.mdl"
|
||||
"playermodel" "models/weapons/w_crossbow.mdl"
|
||||
"anim_prefix" "bow"
|
||||
"bucket" "3"
|
||||
"bucket_position" "1"
|
||||
|
||||
"clip_size" "1"
|
||||
"default_clip" "5"
|
||||
"primary_ammo" "XBowBolt"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "6"
|
||||
"item_flags" "0"
|
||||
|
||||
"damage" "100"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"single_shot" "Weapon_Crossbow.Single"
|
||||
"reload" "Weapon_Crossbow.Reload"
|
||||
"special1" "Weapon_Crossbow.BoltElectrify"
|
||||
"special2" "Weapon_Crossbow.BoltFly"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "g"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "g"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "w"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "96"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"zoom"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"zoom_autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "24"
|
||||
"y" "112"
|
||||
"width" "104"
|
||||
"height" "16"
|
||||
}
|
||||
}
|
||||
}
|
68
mp/game/mod_hl2mp/scripts/weapon_crowbar.txt
Normal file
68
mp/game/mod_hl2mp/scripts/weapon_crowbar.txt
Normal file
@ -0,0 +1,68 @@
|
||||
// Crowbar
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Crowbar"
|
||||
"viewmodel" "models/weapons/v_crowbar.mdl"
|
||||
"playermodel" "models/weapons/w_crowbar.mdl"
|
||||
"anim_prefix" "crowbar"
|
||||
"bucket" "0"
|
||||
"bucket_position" "0"
|
||||
|
||||
"clip_size" "-1"
|
||||
"primary_ammo" "None"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "0"
|
||||
"item_flags" "0"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"single_shot" "Weapon_Crowbar.Single"
|
||||
"melee_hit" "Weapon_Crowbar.Melee_Hit"
|
||||
"melee_hit_world" "Weapon_Crowbar.Melee_HitWorld"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "c"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "c"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "c"
|
||||
}
|
||||
"ammo2"
|
||||
{
|
||||
"file" "sprites/640hud7"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
69
mp/game/mod_hl2mp/scripts/weapon_cubemap.txt
Normal file
69
mp/game/mod_hl2mp/scripts/weapon_cubemap.txt
Normal file
@ -0,0 +1,69 @@
|
||||
// Cubemap visualization tool
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Cubemap"
|
||||
"viewmodel" "models/shadertest/envballs.mdl"
|
||||
"playermodel" "models/shadertest/envballs.mdl"
|
||||
"anim_prefix" "envballs"
|
||||
"bucket" "2"
|
||||
"bucket_position" "2"
|
||||
|
||||
"clip_size" "-1"
|
||||
"clip2_size" "-1"
|
||||
|
||||
"default_clip" "-1"
|
||||
"default_clip2" "-1"
|
||||
|
||||
"primary_ammo" "None"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "0"
|
||||
"item_flags" "0"
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"file" "sprites/w_icons1"
|
||||
"x" "128"
|
||||
"y" "128"
|
||||
"width" "128"
|
||||
"height" "64"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"file" "sprites/w_icons1b"
|
||||
"x" "128"
|
||||
"y" "128"
|
||||
"width" "128"
|
||||
"height" "64"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"file" "sprites/a_icons1"
|
||||
"x" "55"
|
||||
"y" "60"
|
||||
"width" "73"
|
||||
"height" "15"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
63
mp/game/mod_hl2mp/scripts/weapon_frag.txt
Normal file
63
mp/game/mod_hl2mp/scripts/weapon_frag.txt
Normal file
@ -0,0 +1,63 @@
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Grenade"
|
||||
"viewmodel" "models/weapons/v_grenade.mdl"
|
||||
"playermodel" "models/weapons/w_grenade.mdl"
|
||||
"anim_prefix" "Grenade"
|
||||
"bucket" "4"
|
||||
"bucket_position" "0"
|
||||
|
||||
"clip_size" "-1"
|
||||
"clip2_size" "-1"
|
||||
"default_clip" "1"
|
||||
"default_clip2" "-1"
|
||||
|
||||
"primary_ammo" "grenade"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "1"
|
||||
"item_flags" "18" // ITEM_FLAG_NOAUTORELOAD | ITEM_FLAG_EXHAUSTIBLE
|
||||
"damage" "150"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"special1" "WeaponFrag.Roll"
|
||||
"double_shot" "common/null.wav"
|
||||
"single_shot" "common/null.wav"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "k"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "k"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "v"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
78
mp/game/mod_hl2mp/scripts/weapon_physcannon.txt
Normal file
78
mp/game/mod_hl2mp/scripts/weapon_physcannon.txt
Normal file
@ -0,0 +1,78 @@
|
||||
// Physics Gun
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_GravityGun"
|
||||
"viewmodel" "models/weapons/v_physcannon.mdl"
|
||||
"playermodel" "models/weapons/w_Physics.mdl"
|
||||
"anim_prefix" "gauss"
|
||||
"bucket" "0"
|
||||
"bucket_position" "2"
|
||||
"clip_size" "0"
|
||||
"clip2_size" "0"
|
||||
"primary_ammo" "None"
|
||||
"secondary_ammo" "None"
|
||||
"default_clip" "0"
|
||||
"default_clip2" "0"
|
||||
"weight" "0"
|
||||
"autoswitchto" "0"
|
||||
"autoswitchfrom" "0"
|
||||
"item_flags" "2"
|
||||
|
||||
SoundData
|
||||
{
|
||||
// launch held object
|
||||
"single_shot" "Weapon_PhysCannon.Launch"
|
||||
// Ignore?
|
||||
"reload" "Weapon_PhysCannon.Charge"
|
||||
// dry fire - no target
|
||||
"empty" "Weapon_PhysCannon.DryFire"
|
||||
// pick up object
|
||||
"special1" "Weapon_PhysCannon.Pickup"
|
||||
// open claws, target object
|
||||
"special2" "Weapon_PhysCannon.OpenClaws"
|
||||
// close claws, target out of range/invalid
|
||||
"melee_hit" "Weapon_PhysCannon.CloseClaws"
|
||||
// drop object
|
||||
"melee_miss" "Weapon_PhysCannon.Drop"
|
||||
// too heavy
|
||||
"special3" "Weapon_PhysCannon.TooHeavy"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "m"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "m"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"file" "sprites/a_icons1"
|
||||
"x" "0"
|
||||
"y" "0"
|
||||
"width" "32"
|
||||
"height" "32"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
67
mp/game/mod_hl2mp/scripts/weapon_pistol.txt
Normal file
67
mp/game/mod_hl2mp/scripts/weapon_pistol.txt
Normal file
@ -0,0 +1,67 @@
|
||||
// Pistol
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Pistol"
|
||||
"viewmodel" "models/weapons/v_pistol.mdl"
|
||||
"playermodel" "models/weapons/w_pistol.mdl"
|
||||
"anim_prefix" "pistol"
|
||||
"bucket" "1"
|
||||
"bucket_position" "0"
|
||||
|
||||
"clip_size" "18"
|
||||
"primary_ammo" "Pistol"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "2"
|
||||
"item_flags" "0"
|
||||
"damage" "8"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
|
||||
"reload" "Weapon_Pistol.Reload"
|
||||
"reload_npc" "Weapon_Pistol.NPC_Reload"
|
||||
"empty" "Weapon_Pistol.Empty"
|
||||
"single_shot" "Weapon_Pistol.Single"
|
||||
"single_shot_npc" "Weapon_Pistol.NPC_Single"
|
||||
"special1" "Weapon_Pistol.Special1"
|
||||
"special2" "Weapon_Pistol.Special2"
|
||||
"burst" "Weapon_Pistol.Burst"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "d"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "d"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "p"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
70
mp/game/mod_hl2mp/scripts/weapon_rpg.txt
Normal file
70
mp/game/mod_hl2mp/scripts/weapon_rpg.txt
Normal file
@ -0,0 +1,70 @@
|
||||
// Missile Launcher
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_RPG"
|
||||
"viewmodel" "models/weapons/v_rpg.mdl"
|
||||
"playermodel" "models/weapons/w_rocket_launcher.mdl"
|
||||
"anim_prefix" "missile launcher"
|
||||
"bucket" "4"
|
||||
"bucket_position" "1"
|
||||
"autoswitchfrom" "1"
|
||||
|
||||
"clip_size" "-1"
|
||||
"clip2_size" "-1"
|
||||
"default_clip" "3"
|
||||
"default_clip2" "-1"
|
||||
|
||||
"primary_ammo" "rpg_round"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "0"
|
||||
"item_flags" "0"
|
||||
"damage" "150"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"single_shot" "Weapon_RPG.Single"
|
||||
"single_shot_npc" "Weapon_RPG.NPC_Single"
|
||||
//Laser on
|
||||
"special1" "Weapon_RPG.LaserOn"
|
||||
//Laser off
|
||||
"special2" "Weapon_RPG.LaserOff"
|
||||
"empty" "Weapon_SMG1.Empty"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "i"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "i"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "x"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
67
mp/game/mod_hl2mp/scripts/weapon_shotgun.txt
Normal file
67
mp/game/mod_hl2mp/scripts/weapon_shotgun.txt
Normal file
@ -0,0 +1,67 @@
|
||||
// Shotgun
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_Shotgun"
|
||||
"viewmodel" "models/weapons/v_shotgun.mdl"
|
||||
"playermodel" "models/weapons/w_shotgun.mdl"
|
||||
"anim_prefix" "shotgun"
|
||||
"bucket" "3"
|
||||
"bucket_position" "0"
|
||||
|
||||
"clip_size" "6"
|
||||
"primary_ammo" "Buckshot"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "4"
|
||||
"item_flags" "0"
|
||||
"damage" "9"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
|
||||
"empty" "Weapon_Shotgun.Empty"
|
||||
"reload" "Weapon_Shotgun.Reload"
|
||||
"special1" "Weapon_Shotgun.Special1"
|
||||
"single_shot" "Weapon_Shotgun.Single"
|
||||
"double_shot" "Weapon_Shotgun.Double"
|
||||
// NPC WEAPON SOUNDS
|
||||
"reload_npc" "Weapon_Shotgun.NPC_Reload"
|
||||
"single_shot_npc" "Weapon_Shotgun.NPC_Single"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "b"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "b"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "s"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
56
mp/game/mod_hl2mp/scripts/weapon_slam.txt
Normal file
56
mp/game/mod_hl2mp/scripts/weapon_slam.txt
Normal file
@ -0,0 +1,56 @@
|
||||
// Slam
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_SLAM"
|
||||
"viewmodel" "models/weapons/v_slam.mdl"
|
||||
"playermodel" "models/weapons/w_slam.mdl"
|
||||
"anim_prefix" "slam"
|
||||
"bucket" "4"
|
||||
"bucket_position" "2"
|
||||
|
||||
"clip_size" "3"
|
||||
"primary_ammo" "None"
|
||||
"secondary_ammo" "slam"
|
||||
"default_clip2" "3"
|
||||
|
||||
"weight" "1"
|
||||
"item_flags" "2"
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "o"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "o"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "o"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
77
mp/game/mod_hl2mp/scripts/weapon_smg1.txt
Normal file
77
mp/game/mod_hl2mp/scripts/weapon_smg1.txt
Normal file
@ -0,0 +1,77 @@
|
||||
// Small Machine Gun 1
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_SMG1"
|
||||
"viewmodel" "models/weapons/v_smg1.mdl"
|
||||
"playermodel" "models/weapons/w_smg1.mdl" //FIXME:
|
||||
"anim_prefix" "smg2"
|
||||
"bucket" "2"
|
||||
"bucket_position" "0"
|
||||
|
||||
"clip_size" "45"
|
||||
"clip2_size" "-1"
|
||||
|
||||
"default_clip" "45"
|
||||
"default_clip2" "-1"
|
||||
|
||||
"primary_ammo" "SMG1"
|
||||
"secondary_ammo" "SMG1_Grenade"
|
||||
|
||||
"weight" "3"
|
||||
"item_flags" "0"
|
||||
"damage" "5"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
"reload" "Weapon_SMG1.Reload"
|
||||
"reload_npc" "Weapon_SMG1.NPC_Reload"
|
||||
"empty" "Weapon_SMG1.Empty"
|
||||
"single_shot" "Weapon_SMG1.Single"
|
||||
"single_shot_npc" "Weapon_SMG1.NPC_Single"
|
||||
"special1" "Weapon_SMG1.Special1"
|
||||
"special2" "Weapon_SMG1.Special2"
|
||||
"double_shot" "Weapon_SMG1.Double"
|
||||
"burst" "Weapon_SMG1.Burst"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "a"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "a"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "r"
|
||||
}
|
||||
"ammo2"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "t"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"font" "Crosshairs"
|
||||
"character" "Q"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
73
mp/game/mod_hl2mp/scripts/weapon_stunstick.txt
Normal file
73
mp/game/mod_hl2mp/scripts/weapon_stunstick.txt
Normal file
@ -0,0 +1,73 @@
|
||||
// stunstick
|
||||
|
||||
WeaponData
|
||||
{
|
||||
// Weapon data is loaded by both the Game and Client DLLs.
|
||||
"printname" "#HL2_StunBaton"
|
||||
"viewmodel" "models/weapons/v_stunstick.mdl"
|
||||
"playermodel" "models/weapons/w_stunbaton.mdl"
|
||||
"anim_prefix" "stunbaton"
|
||||
"bucket" "0"
|
||||
"bucket_position" "1"
|
||||
|
||||
"clip_size" "-1"
|
||||
"primary_ammo" "None"
|
||||
"secondary_ammo" "None"
|
||||
|
||||
"weight" "0"
|
||||
"item_flags" "0"
|
||||
|
||||
// Sounds for the weapon. There is a max of 16 sounds per category (i.e. max 16 "single_shot" sounds)
|
||||
SoundData
|
||||
{
|
||||
|
||||
"single_shot" "Weapon_StunStick.Swing"
|
||||
"melee_miss" "Weapon_StunStick.Melee_Miss"
|
||||
"melee_hit" "Weapon_StunStick.Melee_Hit"
|
||||
"melee_hit_world" "Weapon_StunStick.Melee_HitWorld"
|
||||
}
|
||||
|
||||
// Weapon Sprite data is loaded by the Client DLL.
|
||||
TextureData
|
||||
{
|
||||
"weapon"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "n"
|
||||
}
|
||||
"weapon_s"
|
||||
{
|
||||
"font" "WeaponIconsSelected"
|
||||
"character" "n"
|
||||
}
|
||||
"ammo"
|
||||
{
|
||||
"font" "WeaponIcons"
|
||||
"character" "n"
|
||||
}
|
||||
"ammo2"
|
||||
{
|
||||
"file" "sprites/640hud7"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"crosshair"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "0"
|
||||
"y" "48"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
"autoaim"
|
||||
{
|
||||
"file" "sprites/crosshairs"
|
||||
"x" "48"
|
||||
"y" "72"
|
||||
"width" "24"
|
||||
"height" "24"
|
||||
}
|
||||
}
|
||||
}
|
246
mp/src/EverythingMP_SDK-2010.sln
Normal file
246
mp/src/EverythingMP_SDK-2010.sln
Normal file
@ -0,0 +1,246 @@
|
||||
|
||||
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}") = "Client (HL2MP)", "game\client\client_hl2mp-2010.vcxproj", "{17BCE59A-9037-EC8D-433E-F81339E2F1BA}"
|
||||
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}") = "Server (HL2MP)", "game\server\server_hl2mp-2010.vcxproj", "{33B7DFDC-BECB-3678-1190-6C951E393EB3}"
|
||||
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}"
|
||||
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
|
||||
{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
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.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
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.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
mp/src/Game_HL2MP-2010.sln
Normal file
26
mp/src/Game_HL2MP-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 (HL2MP)", "game\client\client_hl2mp-2010.vcxproj", "{17BCE59A-9037-EC8D-433E-F81339E2F1BA}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2MP)", "game\server\server_hl2mp-2010.vcxproj", "{33B7DFDC-BECB-3678-1190-6C951E393EB3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.Build.0 = Release|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
121
mp/src/common/GameUI/IGameUI.h
Normal file
121
mp/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
mp/src/common/compiledcaptionswap.cpp
Normal file
103
mp/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
mp/src/common/hl2orange.spa.h
Normal file
370
mp/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
mp/src/common/language.cpp
Normal file
217
mp/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
mp/src/common/language.h
Normal file
55
mp/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
mp/src/common/proto_version.h
Normal file
49
mp/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
mp/src/common/qlimits.h
Normal file
35
mp/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
mp/src/common/randoverride.cpp
Normal file
27
mp/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
mp/src/common/replay/basereplayserializeable.h
Normal file
43
mp/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
mp/src/common/replay/iclientreplay.h
Normal file
64
mp/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
mp/src/common/replay/iclientreplaycontext.h
Normal file
58
mp/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
mp/src/common/replay/iclientreplayhistorymanager.h
Normal file
104
mp/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
mp/src/common/replay/ienginereplay.h
Normal file
116
mp/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
mp/src/common/replay/iqueryablereplayitem.h
Normal file
46
mp/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
mp/src/common/replay/irecordingsession.h
Normal file
27
mp/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
mp/src/common/replay/irecordingsessionblockmanager.h
Normal file
30
mp/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
mp/src/common/replay/irecordingsessionmanager.h
Normal file
33
mp/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
mp/src/common/replay/ireplaycamera.h
Normal file
25
mp/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
mp/src/common/replay/ireplaycontext.h
Normal file
47
mp/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
mp/src/common/replay/ireplaydemoplayer.h
Normal file
42
mp/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
mp/src/common/replay/ireplayerrorsystem.h
Normal file
33
mp/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
mp/src/common/replay/ireplayfactory.h
Normal file
31
mp/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
mp/src/common/replay/ireplaymanager.h
Normal file
42
mp/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
mp/src/common/replay/ireplaymovie.h
Normal file
42
mp/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
mp/src/common/replay/ireplaymoviemanager.h
Normal file
56
mp/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
mp/src/common/replay/ireplaymovierenderer.h
Normal file
33
mp/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
mp/src/common/replay/ireplayperformancecontroller.h
Normal file
107
mp/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
mp/src/common/replay/ireplayperformanceeditor.h
Normal file
33
mp/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
mp/src/common/replay/ireplayperformancemanager.h
Normal file
36
mp/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
mp/src/common/replay/ireplayperformanceplaybackhandler.h
Normal file
36
mp/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
mp/src/common/replay/ireplayperformanceplayer.h
Normal file
33
mp/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
mp/src/common/replay/ireplayperformancerecorder.h
Normal file
49
mp/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
mp/src/common/replay/ireplayplayercache.h
Normal file
41
mp/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
mp/src/common/replay/ireplayrenderqueue.h
Normal file
32
mp/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
mp/src/common/replay/ireplayscreenshotmanager.h
Normal file
32
mp/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
mp/src/common/replay/ireplayscreenshotsystem.h
Normal file
34
mp/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
mp/src/common/replay/ireplayserializeable.h
Normal file
48
mp/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
mp/src/common/replay/ireplayserver.h
Normal file
48
mp/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
mp/src/common/replay/ireplaysessionrecorder.h
Normal file
27
mp/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
mp/src/common/replay/ireplaysystem.h
Normal file
60
mp/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
mp/src/common/replay/iserverengine.h
Normal file
27
mp/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
mp/src/common/replay/iserverreplay.h
Normal file
37
mp/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
mp/src/common/replay/iserverreplaycontext.h
Normal file
38
mp/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
mp/src/common/replay/performance.h
Normal file
63
mp/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
|
62
mp/src/common/replay/rendermovieparams.h
Normal file
62
mp/src/common/replay/rendermovieparams.h
Normal file
@ -0,0 +1,62 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef RENDERMOVIEPARAMS_H
|
||||
#define RENDERMOVIEPARAMS_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "tier1/utlstring.h"
|
||||
#include "tier1/strtools.h"
|
||||
#include "replay/replayhandle.h"
|
||||
#include "replay/shared_defs.h"
|
||||
#include "video/ivideoservices.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
typedef unsigned int MovieHandle_t;
|
||||
|
||||
struct RenderMovieParams_t
|
||||
{
|
||||
inline RenderMovieParams_t() : m_iPerformance( -1 ) { V_memset( this, 0, sizeof( RenderMovieParams_t ) ); m_Settings.m_FPS.SetFPS( 0, false ); }
|
||||
|
||||
ReplayHandle_t m_hReplay;
|
||||
int m_iPerformance; // -1 for default view, otherwise this is an index into the replay's m_vecPerformances vector.
|
||||
wchar_t m_wszTitle[MAX_REPLAY_TITLE_LENGTH];
|
||||
char m_szVideoPreset[64];
|
||||
char m_szExtension[16]; // File extension
|
||||
bool m_bQuitWhenFinished;
|
||||
bool m_bExportRaw; // Export movie as raw TGA frames and a .WAV
|
||||
float m_flEngineFps;
|
||||
|
||||
struct ReplayRenderSettings_t
|
||||
{
|
||||
uint16 m_nWidth;
|
||||
uint16 m_nHeight;
|
||||
int8 m_nMotionBlurQuality; // [0,MAX_MOTION_BLUR_QUALITY]
|
||||
VideoFrameRate_t m_FPS; // Actual framerate can be calculated with m_FPS.GetFps()
|
||||
VideoEncodeCodec_t m_Codec;
|
||||
bool m_bMotionBlurEnabled; // Motion blur enabled?
|
||||
bool m_bAAEnabled; // Antialiasing enabled?
|
||||
int8 m_nEncodingQuality; // [0,100]
|
||||
bool m_bRaw; // This movie was exported as raw TGA frames and a .WAV file?
|
||||
}
|
||||
m_Settings;
|
||||
};
|
||||
|
||||
typedef RenderMovieParams_t::ReplayRenderSettings_t ReplayRenderSettings_t;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define MAX_DOF_QUALITY 2
|
||||
#define MAX_MOTION_BLUR_QUALITY 3
|
||||
#define SUBPIXEL_JITTER_SAMPLES 16
|
||||
#define CHEAP_DOF_SAMPLES 4
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // RENDERMOVIEPARAMS_H
|
146
mp/src/common/replay/replay.h
Normal file
146
mp/src/common/replay/replay.h
Normal file
@ -0,0 +1,146 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef REPLAY_H
|
||||
#define REPLAY_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "replay/iqueryablereplayitem.h"
|
||||
#include "replay/replaytime.h"
|
||||
#include "replay/basereplayserializeable.h"
|
||||
#include "qlimits.h"
|
||||
#include "utlstring.h"
|
||||
#include "utlvector.h"
|
||||
#include "replay/shared_defs.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IReplayDownloadEventHandler;
|
||||
class CReplayScreenshot;
|
||||
class CReplayPerformance;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplay : public CBaseReplaySerializeable,
|
||||
public IQueryableReplayItem
|
||||
{
|
||||
typedef CBaseReplaySerializeable BaseClass;
|
||||
|
||||
public:
|
||||
enum ReplayStatus_t
|
||||
{
|
||||
REPLAYSTATUS_INVALID,
|
||||
REPLAYSTATUS_ERROR,
|
||||
REPLAYSTATUS_DOWNLOADPHASE, // Multiple sub-states during download state
|
||||
REPLAYSTATUS_READYTOCONVERT, // Download is complete, ready to convert
|
||||
REPLAYSTATUS_RENDERING, // Currently rendering the file
|
||||
REPLAYSTATUS_RENDERED,
|
||||
REPLAYSTATUS_MAX
|
||||
};
|
||||
|
||||
CReplay();
|
||||
virtual ~CReplay() {}
|
||||
|
||||
//
|
||||
// IReplaySerializeable
|
||||
//
|
||||
virtual const char *GetSubKeyTitle() const;
|
||||
virtual const char *GetPath() const;
|
||||
virtual void OnDelete();
|
||||
virtual bool Read( KeyValues *pIn );
|
||||
virtual void Write( KeyValues *pOut );
|
||||
|
||||
virtual void DumpGameSpecificData() const {}
|
||||
|
||||
virtual void Update() {}
|
||||
|
||||
// Hooks to allow replays to setup event listeners, etc.
|
||||
virtual void OnBeginRecording() {}
|
||||
virtual void OnEndRecording() {}
|
||||
|
||||
// Called when a replay is "completed"
|
||||
virtual void OnComplete();
|
||||
|
||||
// Should we allow this replay to be deleted?
|
||||
virtual bool ShouldAllowDelete() const { return true; }
|
||||
|
||||
void AutoNameTitleIfEmpty();
|
||||
|
||||
void AddScreenshot( int nWidth, int nHeight, const char *pBaseFilename );
|
||||
|
||||
bool HasReconstructedReplay() const;
|
||||
bool IsSignificantBlock( int iBlockReconstruction ) const; // Does this replay care about the given block?
|
||||
|
||||
CReplayPerformance *AddNewPerformance( bool bGenTitle = true, bool bGenFilename = true );
|
||||
void AddPerformance( KeyValues *pIn );
|
||||
void AddPerformance( CReplayPerformance *pPerformance );
|
||||
|
||||
// Accessors:
|
||||
inline int GetScreenshotCount() const { return m_vecScreenshots.Count(); }
|
||||
inline const CReplayScreenshot *GetScreenshot( int i ) const { return m_vecScreenshots[ i ]; }
|
||||
bool IsDownloaded() const;
|
||||
inline int GetPerformanceCount() const { return m_vecPerformances.Count(); }
|
||||
CReplayPerformance *GetPerformance( int i );
|
||||
const CReplayPerformance *GetPerformance( int i ) const;
|
||||
inline bool HasPerformance( CReplayPerformance *pPerformance ) { return m_vecPerformances.Find( pPerformance ) != m_vecPerformances.InvalidIndex(); }
|
||||
bool FindPerformance( CReplayPerformance *pPerformance, int &iResult );
|
||||
CReplayPerformance *GetPerformanceWithTitle( const wchar_t *pTitle );
|
||||
inline const char *GetMapName() const { return m_szMapName; }
|
||||
inline int GetSpawnTick() const { return m_nSpawnTick; }
|
||||
inline int GetDeathTick() const { return m_nDeathTick; }
|
||||
|
||||
// IQueryableReplayItem implementation:
|
||||
virtual const CReplayTime &GetItemDate() const;
|
||||
virtual bool IsItemRendered() const;
|
||||
virtual CReplay *GetItemReplay();
|
||||
virtual ReplayHandle_t GetItemReplayHandle() const;
|
||||
virtual QueryableReplayItemHandle_t GetItemHandle() const;
|
||||
virtual const wchar_t *GetItemTitle() const;
|
||||
virtual void SetItemTitle( const wchar_t *pTitle );
|
||||
virtual float GetItemLength() const;
|
||||
virtual void *GetUserData();
|
||||
virtual void SetUserData( void* pUserData );
|
||||
virtual bool IsItemAMovie() const;
|
||||
|
||||
// Non-persistent data
|
||||
mutable IReplayDownloadEventHandler *m_pDownloadEventHandler; // Implemented by replay browser - the reason we've got one per replay rather than
|
||||
// one per download group is because the browser needs to receive events per-thumbnail
|
||||
bool m_bSaved; // True as soon as the replay is saved to disk for the first time
|
||||
bool m_bRequestedByUser; // Did the user request to save this replay?
|
||||
bool m_bComplete; // Indicates whether the replay is done recording - this should be false
|
||||
// until the player dies, the round ends, or the level changes
|
||||
void *m_pUserData;
|
||||
float m_flNextUpdateTime;
|
||||
bool m_bDirty;
|
||||
|
||||
// Persistent data
|
||||
ReplayHandle_t m_hSession; // The recording session in which this replay was recorded
|
||||
char m_szMapName[MAX_OSPATH];
|
||||
ReplayStatus_t m_nStatus;
|
||||
const char* m_pFileURL; // In the form <protocol>://<server address>:<port number>/path/file - points to the string in the download group
|
||||
wchar_t m_wszTitle[MAX_REPLAY_TITLE_LENGTH];
|
||||
CUtlString m_strKilledBy; // Name of player who killed, if any
|
||||
int m_nDeathTime;
|
||||
int m_nSpawnTick;
|
||||
int m_nDeathTick;
|
||||
float m_flLength; // The length of the entire replay, including the post-death time, in seconds
|
||||
bool m_bRendered; // Has the replay been rendered yet?
|
||||
int m_nPlayerSlot; // Player slot (+1), used to determine which player recorded the demo during playback
|
||||
int m_nPostDeathRecordTime; // replay_postdeathrecordtime at the time of record
|
||||
CUtlVector< CReplayScreenshot * > m_vecScreenshots;
|
||||
CUtlVector< CReplayPerformance * > m_vecPerformances;
|
||||
int m_iMaxSessionBlockRequired; // The maximum session block required to reconstruct a viewable .dem file from spawn tick until length
|
||||
CReplayTime m_RecordTime; // Contains time/date when spawn tick was recorded
|
||||
float m_flStartTime; // Start time (uses engine's host_time)
|
||||
CUtlString m_strReconstructedFilename;
|
||||
bool m_bSavedDuringThisSession;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // REPLAY_H
|
25
mp/src/common/replay/replayhandle.h
Normal file
25
mp/src/common/replay/replayhandle.h
Normal file
@ -0,0 +1,25 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef REPLAYHANDLE_H
|
||||
#define REPLAYHANDLE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
typedef uint32 ReplayHandle_t;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define REPLAY_HANDLE_INVALID ( (ReplayHandle_t)-1 )
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // REPLAYHANDLE_H
|
21
mp/src/common/replay/replaylib.h
Normal file
21
mp/src/common/replay/replaylib.h
Normal file
@ -0,0 +1,21 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef REPLAYLIB_H
|
||||
#define REPLAYLIB_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class IClientReplayContext;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
bool ReplayLib_Init( const char *pGameDir, IClientReplayContext *pClientReplayContext );
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // REPLAYLIB_H
|
57
mp/src/common/replay/replaytime.h
Normal file
57
mp/src/common/replay/replaytime.h
Normal file
@ -0,0 +1,57 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef REPLAYTIME_H
|
||||
#define REPLAYTIME_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class KeyValues;
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "vgui/ILocalize.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplayTime
|
||||
{
|
||||
public:
|
||||
CReplayTime();
|
||||
|
||||
void InitDateAndTimeToNow();
|
||||
|
||||
void Read( KeyValues *pIn );
|
||||
void Write( KeyValues *pOut );
|
||||
|
||||
// Modifiers:
|
||||
void SetDate( int nDay, int nMonth, int nYear );
|
||||
void SetTime( int nHour, int nMin, int nSec );
|
||||
inline void SetRawDate( int nRawDate ) { m_fDate = nRawDate; }
|
||||
inline void SetRawTime( int nRawTime ) { m_fTime = nRawTime; }
|
||||
|
||||
// Accessors:
|
||||
void GetTime( int &nHour, int &nMin, int &nSec ) const;
|
||||
void GetDate( int &nDay, int &nMonth, int &nYear ) const;
|
||||
|
||||
static const char *FormatTimeString( int nSecs );
|
||||
static const char *FormatPreciseTimeString( float flSecs );
|
||||
static const wchar_t *GetLocalizedMonth( vgui::ILocalize *pLocalize, int nMonth );
|
||||
static const wchar_t *GetLocalizedDay( vgui::ILocalize *pLocalize, int nDay );
|
||||
static const wchar_t *GetLocalizedYear( vgui::ILocalize *pLocalize, int nYear );
|
||||
static const wchar_t *GetLocalizedTime( vgui::ILocalize *pLocalize, int nHour, int nMin, int nSec );
|
||||
static const wchar_t *GetLocalizedDate( vgui::ILocalize *pLocalize, int nDay, int nMonth, int nYear,
|
||||
int *pHour = NULL, int *pMin = NULL, int *pSec = NULL, bool bForceFullFormat = false ); // bForceFullFormat true will keep from returning "today" or "yesterday"
|
||||
static const wchar_t *GetLocalizedDate( vgui::ILocalize *pLocalize, const CReplayTime &t, bool bForceFullFormat = false );
|
||||
|
||||
int m_fDate; // Representation of a date (bitfield)
|
||||
int m_fTime; // Representation of time (bitfield)
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // REPLAYTIME_H
|
43
mp/src/common/replay/replayutils.h
Normal file
43
mp/src/common/replay/replayutils.h
Normal file
@ -0,0 +1,43 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#ifndef REPLAYUTILS_H
|
||||
#define REPLAYUTILS_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "utlstring.h"
|
||||
|
||||
void Replay_GetFirstAvailableFilename( char *pDst, int nDstLen, const char *pIdealFilename, const char *pExt,
|
||||
const char *pFilePath, int nStartIndex );
|
||||
|
||||
void Replay_ConstructReplayFilenameString( CUtlString &strOut, const char *pReplaySubDir, const char *pFilename, const char *pGameDir );
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Util function, copied from src/engine/common.cpp
|
||||
//----------------------------------------------------------------------------------------
|
||||
char *Replay_va( PRINTF_FORMAT_STRING const char *format, ... );
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Return the base dir, e.g. "c:\...\game\tf\replays\"
|
||||
//----------------------------------------------------------------------------------------
|
||||
const char *Replay_GetBaseDir();
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Set the game directory (only to be called from ReplayLib_Init())
|
||||
//----------------------------------------------------------------------------------------
|
||||
void Replay_SetGameDir( const char *pGameDir );
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Return the base dir, e.g. "c:\...\game\tf\replays\"
|
||||
//----------------------------------------------------------------------------------------
|
||||
const char *Replay_GetGameDir();
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
// Get a name of the format "<map>: <current date & time>" - used for replays and takes.
|
||||
//----------------------------------------------------------------------------------------
|
||||
void Replay_GetAutoName( OUT_Z_BYTECAP(nDestSizeInBytes) wchar_t *pDest, int nDestSizeInBytes, const char *pMapName );
|
||||
|
||||
#endif // REPLAY_H
|
72
mp/src/common/replay/screenshot.h
Normal file
72
mp/src/common/replay/screenshot.h
Normal file
@ -0,0 +1,72 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef SCREENSHOT_H
|
||||
#define SCREENSHOT_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "replay/basereplayserializeable.h"
|
||||
#include "mathlib/vector.h"
|
||||
#include "qlimits.h"
|
||||
#include "strtools.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define SUBDIR_SCREENSHOTS "screenshots"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
class CReplayScreenshot : public CBaseReplaySerializeable
|
||||
{
|
||||
public:
|
||||
inline CReplayScreenshot( int nWidth = 0, int nHeight = 0, const char *pBaseFilename = NULL )
|
||||
: m_nWidth( nWidth ), m_nHeight( nHeight )
|
||||
{
|
||||
if ( pBaseFilename )
|
||||
{
|
||||
V_strncpy( m_szBaseFilename, pBaseFilename, sizeof( m_szBaseFilename ) );
|
||||
}
|
||||
}
|
||||
|
||||
virtual bool Read( KeyValues *pIn );
|
||||
virtual void Write( KeyValues *pOut );
|
||||
virtual const char *GetSubKeyTitle() const;
|
||||
virtual const char *GetPath() const;
|
||||
|
||||
int m_nWidth; // Screenshot width (does not include power-of-2 padding)
|
||||
int m_nHeight; // Screenshot height (does not include power-of-2 padding)
|
||||
char m_szBaseFilename[ MAX_OSPATH ];
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
struct CaptureScreenshotParams_t // To be passed from the client into IReplayHistoryManager::CaptureScreenshot()
|
||||
{
|
||||
float m_flDelay; // Delay from now (in seconds) when we will take the screenshot
|
||||
int m_nEntity; // Should be 0 if no camera adjustment is needed, otherwise should be the index of the entity index from which m_posCamera will be based
|
||||
Vector m_posCamera; // Local position, relative to entity's index (if m_nEntity > 0) for camera position
|
||||
QAngle m_angCamera; // World angles of camera - used if m_bUseCameraAngles is true
|
||||
bool m_bUseCameraAngles; // Should we use m_angCamera - m_nEntity can't be 0
|
||||
bool m_bIgnoreMinTimeBetweenScreenshots; // Force screenshot, regardless of replay_mintimebetweenscreenshots?
|
||||
bool m_bPrimary; // Only set to true for the primary screenshot, which is taken when the user saves their replay
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
struct WriteReplayScreenshotParams_t // Passed from the engine into the client to take a screenshot
|
||||
{
|
||||
const char *m_pFilename;
|
||||
int m_nWidth;
|
||||
int m_nHeight;
|
||||
Vector *m_pOrigin; // Perspective origin from which to render. Can be NULL
|
||||
QAngle *m_pAngles; // Perspective angles from which to render. Can be NULL
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // SCREENSHOT_H
|
73
mp/src/common/replay/shared_defs.h
Normal file
73
mp/src/common/replay/shared_defs.h
Normal file
@ -0,0 +1,73 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
//=======================================================================================//
|
||||
|
||||
#ifndef SHARED_DEFS_H
|
||||
#define SHARED_DEFS_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#include "platform.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define SUBDIR_REPLAY "replay"
|
||||
#define SUBDIR_REPLAYS "replays"
|
||||
#define SUBDIR_SESSIONS "sessions"
|
||||
#define SUBDIR_BLOCKS "blocks"
|
||||
#define SUBDIR_CLIENT "client"
|
||||
#define SUBDIR_MOVIES "movies"
|
||||
#define SUBDIR_PERFORMANCES "edits"
|
||||
#define SUBDIR_SERVER "server"
|
||||
#define SUBDIR_RENDERED "rendered"
|
||||
#define SUBDIR_TMP "tmp"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define BLOCK_FILE_EXTENSION "block"
|
||||
#define GENERIC_FILE_EXTENSION "dmx"
|
||||
#define DEMO_FILE_EXTENSION "dem"
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define MOVIE_HANDLE_BASE 10000 // 10,000
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define BUILD_CURL ( defined( WIN32 ) && !defined( _X360 ) ) || defined( POSIX )
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define MIN_SERVER_DUMP_INTERVAL 10
|
||||
#define MAX_SERVER_DUMP_INTERVAL 30
|
||||
|
||||
#define DOWNLOAD_TIMEOUT_THRESHOLD 90 // Timeout for a replay download - if no blocks
|
||||
// are added or updated after this many seconds,
|
||||
// the replay will be put in the error state.
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define MAX_TIMES_TO_SHOW_REPLAY_WELCOME_DLG 1
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define MAX_SESSIONNAME_LENGTH 260
|
||||
#define MAX_REPLAY_TITLE_LENGTH 256
|
||||
#define MAX_TAKE_TITLE_LENGTH 256
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define DEFAULT_COMPRESSOR_TYPE COMPRESSORTYPE_BZ2
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#define JOB_FAILED ( (JobStatus_t) -1 )
|
||||
|
||||
#define DOWNLOAD_MAX_SIZE ( 8 * 1024 * 1024 ) // 8 MB
|
||||
|
||||
//----------------------------------------------------------------------------------------
|
||||
|
||||
#endif // SHARED_DEFS_H
|
3135
mp/src/common/studiobyteswap.cpp
Normal file
3135
mp/src/common/studiobyteswap.cpp
Normal file
File diff suppressed because it is too large
Load Diff
38
mp/src/common/studiobyteswap.h
Normal file
38
mp/src/common/studiobyteswap.h
Normal file
@ -0,0 +1,38 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: StudioMDL byteswapping functions.
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================
|
||||
#ifndef STUDIOBYTESWAP_H
|
||||
#define STUDIOBYTESWAP_H
|
||||
|
||||
#if defined(_WIN32)
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "byteswap.h"
|
||||
struct studiohdr_t;
|
||||
class IPhysicsCollision;
|
||||
|
||||
namespace StudioByteSwap
|
||||
{
|
||||
typedef bool (*CompressFunc_t)( const void *pInput, int inputSize, void **pOutput, int *pOutputSize );
|
||||
|
||||
//void SetTargetBigEndian( bool bigEndian );
|
||||
void ActivateByteSwapping( bool bActivate );
|
||||
void SourceIsNative( bool bActivate );
|
||||
void SetVerbose( bool bVerbose );
|
||||
void SetCollisionInterface( IPhysicsCollision *pPhysicsCollision );
|
||||
|
||||
int ByteswapStudioFile( const char *pFilename, void *pOutBase, const void *pFileBase, int fileSize, studiohdr_t *pHdr, CompressFunc_t pCompressFunc = NULL );
|
||||
int ByteswapPHY( void *pOutBase, const void *pFileBase, int fileSize );
|
||||
int ByteswapANI( studiohdr_t* pHdr, void *pOutBase, const void *pFileBase, int filesize );
|
||||
int ByteswapVVD( void *pOutBase, const void *pFileBase, int fileSize );
|
||||
int ByteswapVTX( void *pOutBase, const void *pFileBase, int fileSize );
|
||||
int ByteswapMDL( void *pOutBase, const void *pFileBase, int fileSize );
|
||||
|
||||
#define BYTESWAP_ALIGNMENT_PADDING 4096
|
||||
}
|
||||
|
||||
#endif // STUDIOBYTESWAP_H
|
237
mp/src/common/xbox/xboxstubs.h
Normal file
237
mp/src/common/xbox/xboxstubs.h
Normal file
@ -0,0 +1,237 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Win32 replacements for XBox.
|
||||
//
|
||||
//=============================================================================
|
||||
|
||||
#if !defined( XBOXSTUBS_H ) && !defined( _X360 )
|
||||
#define XBOXSTUBS_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "tier0/platform.h"
|
||||
|
||||
// Content creation/open flags
|
||||
#define XCONTENTFLAG_NONE 0x00
|
||||
#define XCONTENTFLAG_CREATENEW 0x00
|
||||
#define XCONTENTFLAG_CREATEALWAYS 0x00
|
||||
#define XCONTENTFLAG_OPENEXISTING 0x00
|
||||
#define XCONTENTFLAG_OPENALWAYS 0x00
|
||||
#define XCONTENTFLAG_TRUNCATEEXISTING 0x00
|
||||
|
||||
// Content attributes
|
||||
#define XCONTENTFLAG_NOPROFILE_TRANSFER 0x00
|
||||
#define XCONTENTFLAG_NODEVICE_TRANSFER 0x00
|
||||
#define XCONTENTFLAG_STRONG_SIGNED 0x00
|
||||
#define XCONTENTFLAG_ALLOWPROFILE_TRANSFER 0x00
|
||||
#define XCONTENTFLAG_MOVEONLY_TRANSFER 0x00
|
||||
|
||||
// Console device ports
|
||||
#define XDEVICE_PORT0 0
|
||||
#define XDEVICE_PORT1 1
|
||||
#define XDEVICE_PORT2 2
|
||||
#define XDEVICE_PORT3 3
|
||||
#define XUSER_MAX_COUNT 4
|
||||
#define XUSER_INDEX_NONE 0x000000FE
|
||||
|
||||
#define XBX_CLR_DEFAULT 0xFF000000
|
||||
#define XBX_CLR_WARNING 0x0000FFFF
|
||||
#define XBX_CLR_ERROR 0x000000FF
|
||||
|
||||
#define XBOX_MINBORDERSAFE 0
|
||||
#define XBOX_MAXBORDERSAFE 0
|
||||
|
||||
typedef enum
|
||||
{
|
||||
XK_NULL,
|
||||
XK_BUTTON_UP,
|
||||
XK_BUTTON_DOWN,
|
||||
XK_BUTTON_LEFT,
|
||||
XK_BUTTON_RIGHT,
|
||||
XK_BUTTON_START,
|
||||
XK_BUTTON_BACK,
|
||||
XK_BUTTON_STICK1,
|
||||
XK_BUTTON_STICK2,
|
||||
XK_BUTTON_A,
|
||||
XK_BUTTON_B,
|
||||
XK_BUTTON_X,
|
||||
XK_BUTTON_Y,
|
||||
XK_BUTTON_LEFT_SHOULDER,
|
||||
XK_BUTTON_RIGHT_SHOULDER,
|
||||
XK_BUTTON_LTRIGGER,
|
||||
XK_BUTTON_RTRIGGER,
|
||||
XK_STICK1_UP,
|
||||
XK_STICK1_DOWN,
|
||||
XK_STICK1_LEFT,
|
||||
XK_STICK1_RIGHT,
|
||||
XK_STICK2_UP,
|
||||
XK_STICK2_DOWN,
|
||||
XK_STICK2_LEFT,
|
||||
XK_STICK2_RIGHT,
|
||||
XK_MAX_KEYS,
|
||||
} xKey_t;
|
||||
|
||||
//typedef enum
|
||||
//{
|
||||
// XVRB_NONE, // off
|
||||
// XVRB_ERROR, // fatal error
|
||||
// XVRB_ALWAYS, // no matter what
|
||||
// XVRB_WARNING, // non-fatal warnings
|
||||
// XVRB_STATUS, // status reports
|
||||
// XVRB_ALL,
|
||||
//} xverbose_e;
|
||||
|
||||
typedef unsigned short WORD;
|
||||
#ifndef POSIX
|
||||
typedef unsigned long DWORD;
|
||||
typedef void* HANDLE;
|
||||
typedef unsigned __int64 ULONGLONG;
|
||||
#endif
|
||||
|
||||
#ifdef POSIX
|
||||
typedef DWORD COLORREF;
|
||||
#endif
|
||||
|
||||
#ifndef INVALID_HANDLE_VALUE
|
||||
#define INVALID_HANDLE_VALUE ((HANDLE)-1)
|
||||
#endif
|
||||
|
||||
// typedef struct {
|
||||
// IN_ADDR ina; // IP address (zero if not static/DHCP)
|
||||
// IN_ADDR inaOnline; // Online IP address (zero if not online)
|
||||
// WORD wPortOnline; // Online port
|
||||
// BYTE abEnet[6]; // Ethernet MAC address
|
||||
// BYTE abOnline[20]; // Online identification
|
||||
// } XNADDR;
|
||||
|
||||
typedef int XNADDR;
|
||||
typedef uint64 XUID;
|
||||
|
||||
typedef struct {
|
||||
BYTE ab[8]; // xbox to xbox key identifier
|
||||
} XNKID;
|
||||
|
||||
typedef struct {
|
||||
BYTE ab[16]; // xbox to xbox key exchange key
|
||||
} XNKEY;
|
||||
|
||||
typedef struct _XSESSION_INFO
|
||||
{
|
||||
XNKID sessionID; // 8 bytes
|
||||
XNADDR hostAddress; // 36 bytes
|
||||
XNKEY keyExchangeKey; // 16 bytes
|
||||
} XSESSION_INFO, *PXSESSION_INFO;
|
||||
|
||||
typedef struct _XUSER_DATA
|
||||
{
|
||||
BYTE type;
|
||||
|
||||
union
|
||||
{
|
||||
int nData; // XUSER_DATA_TYPE_INT32
|
||||
int64 i64Data; // XUSER_DATA_TYPE_INT64
|
||||
double dblData; // XUSER_DATA_TYPE_DOUBLE
|
||||
struct // XUSER_DATA_TYPE_UNICODE
|
||||
{
|
||||
uint cbData; // Includes null-terminator
|
||||
char * pwszData;
|
||||
} string;
|
||||
float fData; // XUSER_DATA_TYPE_FLOAT
|
||||
struct // XUSER_DATA_TYPE_BINARY
|
||||
{
|
||||
uint cbData;
|
||||
char * pbData;
|
||||
} binary;
|
||||
};
|
||||
} XUSER_DATA, *PXUSER_DATA;
|
||||
|
||||
typedef struct _XUSER_PROPERTY
|
||||
{
|
||||
DWORD dwPropertyId;
|
||||
XUSER_DATA value;
|
||||
} XUSER_PROPERTY, *PXUSER_PROPERTY;
|
||||
|
||||
typedef struct _XUSER_CONTEXT
|
||||
{
|
||||
DWORD dwContextId;
|
||||
DWORD dwValue;
|
||||
} XUSER_CONTEXT, *PXUSER_CONTEXT;
|
||||
|
||||
typedef struct _XSESSION_SEARCHRESULT
|
||||
{
|
||||
XSESSION_INFO info;
|
||||
DWORD dwOpenPublicSlots;
|
||||
DWORD dwOpenPrivateSlots;
|
||||
DWORD dwFilledPublicSlots;
|
||||
DWORD dwFilledPrivateSlots;
|
||||
DWORD cProperties;
|
||||
DWORD cContexts;
|
||||
PXUSER_PROPERTY pProperties;
|
||||
PXUSER_CONTEXT pContexts;
|
||||
} XSESSION_SEARCHRESULT, *PXSESSION_SEARCHRESULT;
|
||||
|
||||
typedef struct _XSESSION_SEARCHRESULT_HEADER
|
||||
{
|
||||
DWORD dwSearchResults;
|
||||
XSESSION_SEARCHRESULT *pResults;
|
||||
} XSESSION_SEARCHRESULT_HEADER, *PXSESSION_SEARCHRESULT_HEADER;
|
||||
|
||||
typedef struct _XSESSION_REGISTRANT
|
||||
{
|
||||
uint64 qwMachineID;
|
||||
DWORD bTrustworthiness;
|
||||
DWORD bNumUsers;
|
||||
XUID *rgUsers;
|
||||
|
||||
} XSESSION_REGISTRANT;
|
||||
|
||||
typedef struct _XSESSION_REGISTRATION_RESULTS
|
||||
{
|
||||
DWORD wNumRegistrants;
|
||||
XSESSION_REGISTRANT *rgRegistrants;
|
||||
} XSESSION_REGISTRATION_RESULTS, *PXSESSION_REGISTRATION_RESULTS;
|
||||
|
||||
typedef struct {
|
||||
BYTE bFlags;
|
||||
BYTE bReserved;
|
||||
WORD cProbesXmit;
|
||||
WORD cProbesRecv;
|
||||
WORD cbData;
|
||||
BYTE * pbData;
|
||||
WORD wRttMinInMsecs;
|
||||
WORD wRttMedInMsecs;
|
||||
DWORD dwUpBitsPerSec;
|
||||
DWORD dwDnBitsPerSec;
|
||||
} XNQOSINFO;
|
||||
|
||||
typedef struct {
|
||||
uint cxnqos;
|
||||
uint cxnqosPending;
|
||||
XNQOSINFO axnqosinfo[1];
|
||||
} XNQOS;
|
||||
|
||||
#define XSESSION_CREATE_HOST 0
|
||||
#define XUSER_DATA_TYPE_INT32 0
|
||||
#define XSESSION_CREATE_USES_ARBITRATION 0
|
||||
#define XNET_QOS_LISTEN_ENABLE 0
|
||||
#define XNET_QOS_LISTEN_DISABLE 0
|
||||
#define XNET_QOS_LISTEN_SET_DATA 0
|
||||
|
||||
FORCEINLINE void XBX_ProcessEvents() {}
|
||||
FORCEINLINE unsigned int XBX_GetSystemTime() { return 0; }
|
||||
FORCEINLINE int XBX_GetPrimaryUserId() { return 0; }
|
||||
FORCEINLINE void XBX_SetPrimaryUserId( DWORD idx ) {}
|
||||
FORCEINLINE int XBX_GetStorageDeviceId() { return 0; }
|
||||
FORCEINLINE void XBX_SetStorageDeviceId( DWORD idx ) {}
|
||||
FORCEINLINE const char *XBX_GetLanguageString() { return ""; }
|
||||
FORCEINLINE bool XBX_IsLocalized() { return false; }
|
||||
|
||||
#define XCONTENT_MAX_DISPLAYNAME_LENGTH 128
|
||||
#define XCONTENT_MAX_FILENAME_LENGTH 42
|
||||
|
||||
#define XBX_INVALID_STORAGE_ID ((DWORD) -1)
|
||||
#define XBX_STORAGE_DECLINED ((DWORD) -2)
|
||||
|
||||
#endif // XBOXSTUBS_H
|
949
mp/src/devtools/bin/fxc_prep.pl
Normal file
949
mp/src/devtools/bin/fxc_prep.pl
Normal file
@ -0,0 +1,949 @@
|
||||
BEGIN {use File::Basename; push @INC, dirname($0); }
|
||||
require "valve_perl_helpers.pl";
|
||||
|
||||
sub ReadInputFile
|
||||
{
|
||||
local( $filename ) = shift;
|
||||
local( *INPUT );
|
||||
local( @output );
|
||||
open INPUT, "<$filename" || die;
|
||||
|
||||
local( $line );
|
||||
local( $linenum ) = 1;
|
||||
while( $line = <INPUT> )
|
||||
{
|
||||
# print "LINE: $line";
|
||||
# $line =~ s/\n//g;
|
||||
# local( $postfix ) = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
|
||||
# $postfix .= "; LINEINFO($filename)($linenum)\n";
|
||||
if( $line =~ m/\#include\s+\"(.*)\"/i )
|
||||
{
|
||||
push @output, &ReadInputFile( $1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
# push @output, $line . $postfix;
|
||||
push @output, $line;
|
||||
}
|
||||
$linenum++;
|
||||
}
|
||||
|
||||
close INPUT;
|
||||
# print "-----------------\n";
|
||||
# print @output;
|
||||
# print "-----------------\n";
|
||||
return @output;
|
||||
}
|
||||
|
||||
$dynamic_compile = defined $ENV{"dynamic_shaders"} && $ENV{"dynamic_shaders"} != 0;
|
||||
$generateListingFile = 0;
|
||||
$spewCombos = 0;
|
||||
|
||||
@startTimes = times;
|
||||
$startTime = time;
|
||||
|
||||
$g_produceCppClasses = 1;
|
||||
$g_produceCompiledVcs = 1;
|
||||
|
||||
while( 1 )
|
||||
{
|
||||
$fxc_filename = shift;
|
||||
if( $fxc_filename =~ m/-source/ )
|
||||
{
|
||||
shift;
|
||||
}
|
||||
elsif( $fxc_filename =~ m/-nv3x/i )
|
||||
{
|
||||
$nvidia = 1;
|
||||
}
|
||||
elsif( $fxc_filename =~ m/-ps20a/i )
|
||||
{
|
||||
$ps2a = 1;
|
||||
}
|
||||
elsif( $fxc_filename =~ m/-x360/i )
|
||||
{
|
||||
# enable x360
|
||||
$g_x360 = 1;
|
||||
}
|
||||
elsif( $fxc_filename =~ m/-novcs/i )
|
||||
{
|
||||
$g_produceCompiledVcs = 0;
|
||||
}
|
||||
elsif( $fxc_filename =~ m/-nocpp/i )
|
||||
{
|
||||
$g_produceCppClasses = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
last;
|
||||
}
|
||||
}
|
||||
|
||||
$argstring = $fxc_filename;
|
||||
$fxc_basename = $fxc_filename;
|
||||
$fxc_basename =~ s/^.*-----//;
|
||||
$fxc_filename =~ s/-----.*$//;
|
||||
|
||||
$debug = 0;
|
||||
$forcehalf = 0;
|
||||
|
||||
sub ToUpper
|
||||
{
|
||||
local( $in ) = shift;
|
||||
$in =~ tr/a-z/A-Z/;
|
||||
return $in;
|
||||
}
|
||||
|
||||
sub CreateCCodeToSpewDynamicCombo
|
||||
{
|
||||
local( $out ) = "";
|
||||
|
||||
$out .= "\t\tOutputDebugString( \"src:$fxc_filename vcs:$fxc_basename dynamic index\" );\n";
|
||||
$out .= "\t\tchar tmp[128];\n";
|
||||
$out .= "\t\tint shaderID = ";
|
||||
local( $scale ) = 1;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @dynamicDefineNames[$i];
|
||||
local( $varname ) = "m_n" . $name;
|
||||
$out .= "( $scale * $varname ) + ";
|
||||
$scale *= $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1;
|
||||
}
|
||||
$out .= "0;\n";
|
||||
if( scalar( @dynamicDefineNames ) + scalar( @staticDefineNames ) > 0 )
|
||||
{
|
||||
$out .= "\t\tint nCombo = shaderID;\n";
|
||||
}
|
||||
|
||||
my $type = GetShaderType( $fxc_filename );
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$out .= "\t\tint n$dynamicDefineNames[$i] = nCombo % ";
|
||||
$out .= ( $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1 ) + $dynamicDefineMin[$i];
|
||||
$out .= ";\n";
|
||||
|
||||
$out .= "\t\tsprintf( tmp, \"\%d\", n$dynamicDefineNames[$i] );\n";
|
||||
$out .= "\t\tOutputDebugString( \" $dynamicDefineNames[$i]";
|
||||
$out .= "=\" );\n";
|
||||
$out .= "\t\tOutputDebugString( tmp );\n";
|
||||
|
||||
$out .= "\t\tnCombo = nCombo / " . ( $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1 ) . ";\n";
|
||||
$out .= "\n";
|
||||
}
|
||||
$out .= "\t\tOutputDebugString( \"\\n\" );\n";
|
||||
return $out;
|
||||
}
|
||||
|
||||
sub CreateCCodeToSpewStaticCombo
|
||||
{
|
||||
local( $out ) = "";
|
||||
|
||||
$out .= "\t\tOutputDebugString( \"src:$fxc_filename vcs:$fxc_basename static index\" );\n";
|
||||
$out .= "\t\tchar tmp[128];\n";
|
||||
$out .= "\t\tint shaderID = ";
|
||||
|
||||
local( $scale ) = 1;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$scale *= $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1;
|
||||
}
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @staticDefineNames[$i];
|
||||
local( $varname ) = "m_n" . $name;
|
||||
$out .= "( $scale * $varname ) + ";
|
||||
$scale *= $staticDefineMax[$i] - $staticDefineMin[$i] + 1;
|
||||
}
|
||||
$out .= "0;\n";
|
||||
|
||||
# $out .= "\t\tsprintf( tmp, \"\%d\\n\", shaderID );\n";
|
||||
# $out .= "\t\tOutputDebugString( tmp );\n\n";
|
||||
if( scalar( @staticDefineNames ) + scalar( @staticDefineNames ) > 0 )
|
||||
{
|
||||
$out .= "\t\tint nCombo = shaderID;\n";
|
||||
}
|
||||
|
||||
my $type = GetShaderType( $fxc_filename );
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$out .= "\t\tnCombo = nCombo / " . ( $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1 ) . ";\n";
|
||||
}
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
$out .= "\t\tint n$staticDefineNames[$i] = nCombo % ";
|
||||
$out .= ( $staticDefineMax[$i] - $staticDefineMin[$i] + 1 ) + $staticDefineMin[$i];
|
||||
$out .= ";\n";
|
||||
|
||||
$out .= "\t\tsprintf( tmp, \"\%d\", n$staticDefineNames[$i] );\n";
|
||||
$out .= "\t\tOutputDebugString( \" $staticDefineNames[$i]";
|
||||
$out .= "=\" );\n";
|
||||
$out .= "\t\tOutputDebugString( tmp );\n";
|
||||
|
||||
$out .= "\t\tnCombo = nCombo / " . ( $staticDefineMax[$i] - $staticDefineMin[$i] + 1 ) . ";\n";
|
||||
$out .= "\n";
|
||||
}
|
||||
$out .= "\t\tOutputDebugString( \"\\n\" );\n";
|
||||
return $out;
|
||||
}
|
||||
|
||||
sub WriteHelperVar
|
||||
{
|
||||
local( $name ) = shift;
|
||||
local( $min ) = shift;
|
||||
local( $max ) = shift;
|
||||
local( $varname ) = "m_n" . $name;
|
||||
local( $boolname ) = "m_b" . $name;
|
||||
push @outputHeader, "private:\n";
|
||||
push @outputHeader, "\tint $varname;\n";
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
push @outputHeader, "\tbool $boolname;\n";
|
||||
push @outputHeader, "#endif\n";
|
||||
push @outputHeader, "public:\n";
|
||||
# int version of set function
|
||||
push @outputHeader, "\tvoid Set" . $name . "( int i )\n";
|
||||
push @outputHeader, "\t{\n";
|
||||
push @outputHeader, "\t\tAssert( i >= $min && i <= $max );\n";
|
||||
push @outputHeader, "\t\t$varname = i;\n";
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
push @outputHeader, "\t\t$boolname = true;\n";
|
||||
push @outputHeader, "#endif\n";
|
||||
push @outputHeader, "\t}\n";
|
||||
# bool version of set function
|
||||
push @outputHeader, "\tvoid Set" . $name . "( bool i )\n";
|
||||
push @outputHeader, "\t{\n";
|
||||
# push @outputHeader, "\t\tAssert( i >= $min && i <= $max );\n";
|
||||
push @outputHeader, "\t\t$varname = i ? 1 : 0;\n";
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
push @outputHeader, "\t\t$boolname = true;\n";
|
||||
push @outputHeader, "#endif\n";
|
||||
push @outputHeader, "\t}\n";
|
||||
}
|
||||
|
||||
sub WriteStaticBoolExpression
|
||||
{
|
||||
local( $prefix ) = shift;
|
||||
local( $operator ) = shift;
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
if( $i )
|
||||
{
|
||||
push @outputHeader, " $operator ";
|
||||
}
|
||||
local( $name ) = @staticDefineNames[$i];
|
||||
local( $boolname ) = "m_b" . $name;
|
||||
push @outputHeader, "$prefix$boolname";
|
||||
}
|
||||
push @outputHeader, ";\n";
|
||||
}
|
||||
|
||||
sub WriteDynamicBoolExpression
|
||||
{
|
||||
local( $prefix ) = shift;
|
||||
local( $operator ) = shift;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
if( $i )
|
||||
{
|
||||
push @outputHeader, " $operator ";
|
||||
}
|
||||
local( $name ) = @dynamicDefineNames[$i];
|
||||
local( $boolname ) = "m_b" . $name;
|
||||
push @outputHeader, "$prefix$boolname";
|
||||
}
|
||||
push @outputHeader, ";\n";
|
||||
}
|
||||
|
||||
sub WriteDynamicHelperClasses
|
||||
{
|
||||
local( $basename ) = $fxc_basename;
|
||||
$basename =~ tr/A-Z/a-z/;
|
||||
local( $classname ) = $basename . "_Dynamic_Index";
|
||||
push @outputHeader, "class $classname\n";
|
||||
push @outputHeader, "{\n";
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$name = $dynamicDefineNames[$i];
|
||||
$min = $dynamicDefineMin[$i];
|
||||
$max = $dynamicDefineMax[$i];
|
||||
&WriteHelperVar( $name, $min, $max );
|
||||
}
|
||||
push @outputHeader, "public:\n";
|
||||
# push @outputHeader, "void SetPixelShaderIndex( IShaderAPI *pShaderAPI ) { pShaderAPI->SetPixelShaderIndex( GetIndex() ); }\n";
|
||||
push @outputHeader, "\t$classname()\n";
|
||||
push @outputHeader, "\t{\n";
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @dynamicDefineNames[$i];
|
||||
local( $boolname ) = "m_b" . $name;
|
||||
local( $varname ) = "m_n" . $name;
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
push @outputHeader, "\t\t$boolname = false;\n";
|
||||
push @outputHeader, "#endif // _DEBUG\n";
|
||||
push @outputHeader, "\t\t$varname = 0;\n";
|
||||
}
|
||||
push @outputHeader, "\t}\n";
|
||||
push @outputHeader, "\tint GetIndex()\n";
|
||||
push @outputHeader, "\t{\n";
|
||||
push @outputHeader, "\t\t// Asserts to make sure that we aren't using any skipped combinations.\n";
|
||||
foreach $skip (@perlskipcodeindividual)
|
||||
{
|
||||
# can't do this static and dynamic can see each other.
|
||||
# $skip =~ s/\$/m_n/g;
|
||||
# $skip =~ s/defined//g;
|
||||
# push @outputHeader, "\t\tAssert( !( $skip ) );\n";
|
||||
# print "\t\tAssert( !( $skip ) );\n";
|
||||
}
|
||||
push @outputHeader, "\t\t// Asserts to make sure that we are setting all of the combination vars.\n";
|
||||
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
if( scalar( @dynamicDefineNames ) > 0 )
|
||||
{
|
||||
push @outputHeader, "\t\tbool bAllDynamicVarsDefined = ";
|
||||
WriteDynamicBoolExpression( "", "&&" );
|
||||
}
|
||||
if( scalar( @dynamicDefineNames ) > 0 )
|
||||
{
|
||||
push @outputHeader, "\t\tAssert( bAllDynamicVarsDefined );\n";
|
||||
}
|
||||
push @outputHeader, "#endif // _DEBUG\n";
|
||||
|
||||
if( $spewCombos && scalar( @dynamicDefineNames ) )
|
||||
{
|
||||
push @outputHeader, &CreateCCodeToSpewDynamicCombo();
|
||||
}
|
||||
push @outputHeader, "\t\treturn ";
|
||||
local( $scale ) = 1;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @dynamicDefineNames[$i];
|
||||
local( $varname ) = "m_n" . $name;
|
||||
push @outputHeader, "( $scale * $varname ) + ";
|
||||
$scale *= $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1;
|
||||
}
|
||||
push @outputHeader, "0;\n";
|
||||
push @outputHeader, "\t}\n";
|
||||
push @outputHeader, "};\n";
|
||||
push @outputHeader, "\#define shaderDynamicTest_" . $basename . " ";
|
||||
my $prefix;
|
||||
my $shaderType = &GetShaderType( $fxc_filename );
|
||||
if( $shaderType =~ m/^vs/i )
|
||||
{
|
||||
$prefix = "vsh_";
|
||||
}
|
||||
else
|
||||
{
|
||||
$prefix = "psh_";
|
||||
}
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @dynamicDefineNames[$i];
|
||||
push @outputHeader, $prefix . "forgot_to_set_dynamic_" . $name . " + ";
|
||||
}
|
||||
push @outputHeader, "0\n";
|
||||
}
|
||||
|
||||
sub WriteStaticHelperClasses
|
||||
{
|
||||
local( $basename ) = $fxc_basename;
|
||||
$basename =~ tr/A-Z/a-z/;
|
||||
local( $classname ) = $basename . "_Static_Index";
|
||||
push @outputHeader, "#include \"shaderlib/cshader.h\"\n";
|
||||
push @outputHeader, "class $classname\n";
|
||||
push @outputHeader, "{\n";
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
$name = $staticDefineNames[$i];
|
||||
$min = $staticDefineMin[$i];
|
||||
$max = $staticDefineMax[$i];
|
||||
&WriteHelperVar( $name, $min, $max );
|
||||
}
|
||||
push @outputHeader, "public:\n";
|
||||
# push @outputHeader, "void SetShaderIndex( IShaderShadow *pShaderShadow ) { pShaderShadow->SetPixelShaderIndex( GetIndex() ); }\n";
|
||||
push @outputHeader, "\t$classname( )\n";
|
||||
push @outputHeader, "\t{\n";
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @staticDefineNames[$i];
|
||||
local( $boolname ) = "m_b" . $name;
|
||||
local( $varname ) = "m_n" . $name;
|
||||
if ( length( $staticDefineInit{$name} ) )
|
||||
{
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
push @outputHeader, "\t\t$boolname = true;\n";
|
||||
push @outputHeader, "#endif // _DEBUG\n";
|
||||
push @outputHeader, "\t\t$varname = $staticDefineInit{$name};\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
push @outputHeader, "\t\t$boolname = false;\n";
|
||||
push @outputHeader, "#endif // _DEBUG\n";
|
||||
push @outputHeader, "\t\t$varname = 0;\n";
|
||||
}
|
||||
}
|
||||
push @outputHeader, "\t}\n";
|
||||
push @outputHeader, "\tint GetIndex()\n";
|
||||
push @outputHeader, "\t{\n";
|
||||
push @outputHeader, "\t\t// Asserts to make sure that we aren't using any skipped combinations.\n";
|
||||
foreach $skip (@perlskipcodeindividual)
|
||||
{
|
||||
$skip =~ s/\$/m_n/g;
|
||||
# push @outputHeader, "\t\tAssert( !( $skip ) );\n";
|
||||
}
|
||||
push @outputHeader, "\t\t// Asserts to make sure that we are setting all of the combination vars.\n";
|
||||
|
||||
push @outputHeader, "#ifdef _DEBUG\n";
|
||||
if( scalar( @staticDefineNames ) > 0 )
|
||||
{
|
||||
push @outputHeader, "\t\tbool bAllStaticVarsDefined = ";
|
||||
WriteStaticBoolExpression( "", "&&" );
|
||||
|
||||
}
|
||||
if( scalar( @staticDefineNames ) > 0 )
|
||||
{
|
||||
push @outputHeader, "\t\tAssert( bAllStaticVarsDefined );\n";
|
||||
}
|
||||
push @outputHeader, "#endif // _DEBUG\n";
|
||||
|
||||
if( $spewCombos && scalar( @staticDefineNames ) )
|
||||
{
|
||||
push @outputHeader, &CreateCCodeToSpewStaticCombo();
|
||||
}
|
||||
push @outputHeader, "\t\treturn ";
|
||||
local( $scale ) = 1;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$scale *= $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1;
|
||||
}
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @staticDefineNames[$i];
|
||||
local( $varname ) = "m_n" . $name;
|
||||
push @outputHeader, "( $scale * $varname ) + ";
|
||||
$scale *= $staticDefineMax[$i] - $staticDefineMin[$i] + 1;
|
||||
}
|
||||
push @outputHeader, "0;\n";
|
||||
push @outputHeader, "\t}\n";
|
||||
push @outputHeader, "};\n";
|
||||
push @outputHeader, "\#define shaderStaticTest_" . $basename . " ";
|
||||
my $prefix;
|
||||
my $shaderType = &GetShaderType( $fxc_filename );
|
||||
if( $shaderType =~ m/^vs/i )
|
||||
{
|
||||
$prefix = "vsh_";
|
||||
}
|
||||
else
|
||||
{
|
||||
$prefix = "psh_";
|
||||
}
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
local( $name ) = @staticDefineNames[$i];
|
||||
push @outputHeader, $prefix . "forgot_to_set_static_" . $name . " + " unless (length($staticDefineInit{$name} ));
|
||||
}
|
||||
push @outputHeader, "0\n";
|
||||
}
|
||||
|
||||
sub GetNewMainName
|
||||
{
|
||||
local( $shadername ) = shift;
|
||||
local( $combo ) = shift;
|
||||
local( $i );
|
||||
$shadername =~ s/\./_/g;
|
||||
local( $name ) = $shadername;
|
||||
for( $i = 0; $i < scalar( @defineNames ); $i++ )
|
||||
{
|
||||
local( $val ) = ( $combo % ( $defineMax[$i] - $defineMin[$i] + 1 ) ) + $defineMin[$i];
|
||||
$name .= "_" . $defineNames[$i] . "_" . $val;
|
||||
$combo = $combo / ( $defineMax[$i] - $defineMin[$i] + 1 );
|
||||
}
|
||||
# return $name;
|
||||
return "main";
|
||||
}
|
||||
|
||||
sub RenameMain
|
||||
{
|
||||
local( $shadername ) = shift;
|
||||
local( $combo ) = shift;
|
||||
local( $name ) = &GetNewMainName( $shadername, $combo );
|
||||
return "/Dmain=$name /E$name ";
|
||||
}
|
||||
|
||||
sub GetShaderType
|
||||
{
|
||||
local( $shadername ) = shift; # hack - use global variables
|
||||
$shadername = $fxc_basename;
|
||||
if( $shadername =~ m/ps30/i )
|
||||
{
|
||||
if( $debug )
|
||||
{
|
||||
return "ps_3_sw";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "ps_3_0";
|
||||
}
|
||||
}
|
||||
elsif( $shadername =~ m/ps20b/i )
|
||||
{
|
||||
return "ps_2_b";
|
||||
}
|
||||
elsif( $shadername =~ m/ps20/i )
|
||||
{
|
||||
if( $debug )
|
||||
{
|
||||
return "ps_2_sw";
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $ps2a )
|
||||
{
|
||||
return "ps_2_a";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "ps_2_0";
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif( $shadername =~ m/ps14/i )
|
||||
{
|
||||
return "ps_1_4";
|
||||
}
|
||||
elsif( $shadername =~ m/ps11/i )
|
||||
{
|
||||
return "ps_1_1";
|
||||
}
|
||||
elsif( $shadername =~ m/vs30/i )
|
||||
{
|
||||
if( $debug )
|
||||
{
|
||||
return "vs_3_sw";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "vs_3_0";
|
||||
}
|
||||
}
|
||||
elsif( $shadername =~ m/vs20/i )
|
||||
{
|
||||
if( $debug )
|
||||
{
|
||||
return "vs_2_sw";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "vs_2_0";
|
||||
}
|
||||
}
|
||||
elsif( $shadername =~ m/vs14/i )
|
||||
{
|
||||
return "vs_1_1";
|
||||
}
|
||||
elsif( $shadername =~ m/vs11/i )
|
||||
{
|
||||
return "vs_1_1";
|
||||
}
|
||||
else
|
||||
{
|
||||
die "\n\nSHADERNAME = $shadername\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub CalcNumCombos
|
||||
{
|
||||
local( $i, $numCombos );
|
||||
$numCombos = 1;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$numCombos *= $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1;
|
||||
}
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
$numCombos *= $staticDefineMax[$i] - $staticDefineMin[$i] + 1;
|
||||
}
|
||||
return $numCombos;
|
||||
}
|
||||
|
||||
sub CalcNumDynamicCombos
|
||||
{
|
||||
local( $i, $numCombos );
|
||||
$numCombos = 1;
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$numCombos *= $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1;
|
||||
}
|
||||
return $numCombos;
|
||||
}
|
||||
|
||||
sub CreateCFuncToCreateCompileCommandLine
|
||||
{
|
||||
local( $out ) = "";
|
||||
|
||||
$out .= "\t\tOutputDebugString( \"compiling src:$fxc_filename vcs:$fxc_basename \" );\n";
|
||||
$out .= "\t\tchar tmp[128];\n";
|
||||
$out .= "\t\tsprintf( tmp, \"\%d\\n\", shaderID );\n";
|
||||
$out .= "\t\tOutputDebugString( tmp );\n";
|
||||
$out .= "\t\tstatic PrecompiledShaderByteCode_t byteCode;\n";
|
||||
if( scalar( @dynamicDefineNames ) + scalar( @staticDefineNames ) > 0 )
|
||||
{
|
||||
$out .= "\t\tint nCombo = shaderID;\n";
|
||||
}
|
||||
|
||||
# $out .= "\tvoid BuildCompileCommandLine( int nCombo, char *pResult, int maxLength )\n";
|
||||
# $out .= "\t{\n";
|
||||
$out .= "\t\tD3DXMACRO ";
|
||||
$out .= "defineMacros";
|
||||
$out .= "[";
|
||||
$out .= scalar( @dynamicDefineNames ) + scalar( @staticDefineNames ) + 1; # add 1 for null termination
|
||||
$out .= "];\n";
|
||||
if( scalar( @dynamicDefineNames ) + scalar( @staticDefineNames ) > 0 )
|
||||
{
|
||||
$out .= "\t\tchar tmpStringBuf[1024];\n";
|
||||
$out .= "\t\tchar *pTmpString = tmpStringBuf;\n\n";
|
||||
}
|
||||
|
||||
local( $i );
|
||||
my $type = GetShaderType( $fxc_filename );
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); $i++ )
|
||||
{
|
||||
$out .= "\t\tsprintf( pTmpString, \"%d\", nCombo % ";
|
||||
$out .= ( $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1 ) + $dynamicDefineMin[$i];
|
||||
$out .= " );\n";
|
||||
$out .= "\t\tdefineMacros";
|
||||
$out .= "[";
|
||||
$out .= $i;
|
||||
$out .= "]";
|
||||
$out .= "\.Name = ";
|
||||
$out .= "\"$dynamicDefineNames[$i]\";\n";
|
||||
|
||||
$out .= "\t\tint n$dynamicDefineNames[$i] = nCombo % ";
|
||||
$out .= ( $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1 ) + $dynamicDefineMin[$i];
|
||||
$out .= ";\n";
|
||||
$out .= "\t\tUNUSED( n$dynamicDefineNames[$i] );\n";
|
||||
|
||||
$out .= "\t\tdefineMacros";
|
||||
$out .= "[";
|
||||
$out .= $i;
|
||||
$out .= "]";
|
||||
$out .= "\.Definition = ";
|
||||
$out .= "pTmpString;\n";
|
||||
$out .= "\t\tpTmpString += strlen( pTmpString ) + 1;\n";
|
||||
|
||||
$out .= "\t\tsprintf( tmp, \"\%d\", n$dynamicDefineNames[$i] );\n";
|
||||
$out .= "\t\tOutputDebugString( \" $dynamicDefineNames[$i]";
|
||||
$out .= "=\" );\n";
|
||||
$out .= "\t\tOutputDebugString( tmp );\n";
|
||||
|
||||
$out .= "\t\tnCombo = nCombo / " . ( $dynamicDefineMax[$i] - $dynamicDefineMin[$i] + 1 ) . ";\n";
|
||||
$out .= "\n";
|
||||
}
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); $i++ )
|
||||
{
|
||||
$out .= "\t\tsprintf( pTmpString, \"%d\", nCombo % ";
|
||||
$out .= ( $staticDefineMax[$i] - $staticDefineMin[$i] + 1 ) + $staticDefineMin[$i];
|
||||
$out .= " );\n";
|
||||
$out .= "\t\tdefineMacros";
|
||||
$out .= "[";
|
||||
$out .= $i + scalar( @dynamicDefineNames );
|
||||
$out .= "]";
|
||||
$out .= "\.Name = ";
|
||||
$out .= "\"$staticDefineNames[$i]\";\n";
|
||||
|
||||
$out .= "\t\tint n$staticDefineNames[$i] = nCombo % ";
|
||||
$out .= ( $staticDefineMax[$i] - $staticDefineMin[$i] + 1 ) + $staticDefineMin[$i];
|
||||
$out .= ";\n";
|
||||
$out .= "\t\tUNUSED( n$staticDefineNames[$i] );\n";
|
||||
|
||||
$out .= "\t\tdefineMacros";
|
||||
$out .= "[";
|
||||
$out .= $i + scalar( @dynamicDefineNames );
|
||||
$out .= "]";
|
||||
$out .= "\.Definition = ";
|
||||
$out .= "pTmpString;\n";
|
||||
$out .= "\t\tpTmpString += strlen( pTmpString ) + 1;\n";
|
||||
|
||||
$out .= "\t\tsprintf( tmp, \"\%d\", n$staticDefineNames[$i] );\n";
|
||||
$out .= "\t\tOutputDebugString( \" $staticDefineNames[$i]";
|
||||
$out .= "=\" );\n";
|
||||
$out .= "\t\tOutputDebugString( tmp );\n";
|
||||
|
||||
$out .= "\t\tnCombo = nCombo / " . ( $staticDefineMax[$i] - $staticDefineMin[$i] + 1 ) . ";\n";
|
||||
$out .= "\n";
|
||||
}
|
||||
|
||||
$out .= "\t\tOutputDebugString( \"\\n\" );\n";
|
||||
|
||||
$cskipcode = $perlskipcode;
|
||||
$cskipcode =~ s/\$/n/g;
|
||||
$out .= "\t\tif( $cskipcode )\n\t\t{\n";
|
||||
$out .= "\t\t\tstatic char blah[4] = { 0, 0, 0, 0 };\n";
|
||||
$out .= "\t\t\tbyteCode.m_pRawData = blah;\n";
|
||||
$out .= "\t\t\tbyteCode.m_nSizeInBytes = 4;\n";
|
||||
$out .= "\t\t\treturn byteCode;\n";
|
||||
$out .= "\t\t}\n";
|
||||
|
||||
|
||||
|
||||
$out .= "\t\t// Must null terminate macros.\n";
|
||||
$out .= "\t\tdefineMacros[";
|
||||
$out .= scalar( @dynamicDefineNames ) + scalar( @staticDefineNames );
|
||||
$out .= "]";
|
||||
$out .= ".Name = NULL;\n";
|
||||
$out .= "\t\tdefineMacros[";
|
||||
$out .= scalar( @dynamicDefineNames ) + scalar( @staticDefineNames );
|
||||
$out .= "]";
|
||||
$out .= ".Definition = NULL;\n\n";
|
||||
|
||||
|
||||
$out .= "\t\tLPD3DXBUFFER pShader; // NOTE: THESE LEAK!!!\n";
|
||||
$out .= "\t\tLPD3DXBUFFER pErrorMessages; // NOTE: THESE LEAK!!!\n";
|
||||
$out .= "\t\tHRESULT hr = D3DXCompileShaderFromFile( \"u:\\\\hl2_e3_2004\\\\src_e3_2004\\\\materialsystem\\\\stdshaders\\\\$fxc_filename\",\n\t\t\tdefineMacros,\n\t\t\tNULL, // LPD3DXINCLUDE \n\t\t\t\"main\",\n\t\t\t\"$type\",\n\t\t\t0, // DWORD Flags\n\t\t\t&pShader,\n\t\t\t&pErrorMessages,\n\t\t\tNULL // LPD3DXCONSTANTTABLE *ppConstantTable\n\t\t\t );\n";
|
||||
$out .= "\t\tif( hr != D3D_OK )\n";
|
||||
$out .= "\t\t{\n";
|
||||
$out .= "\t\t\tconst char *pErrorMessageString = ( const char * )pErrorMessages->GetBufferPointer();\n";
|
||||
$out .= "\t\t\tOutputDebugString( pErrorMessageString );\n";
|
||||
$out .= "\t\t\tOutputDebugString( \"\\n\" );\n";
|
||||
$out .= "\t\t\tAssert( 0 );\n";
|
||||
$out .= "\t\t\tstatic char blah[4] = { 0, 0, 0, 0 };\n";
|
||||
$out .= "\t\t\tbyteCode.m_pRawData = blah;\n";
|
||||
$out .= "\t\t\tbyteCode.m_nSizeInBytes = 4;\n";
|
||||
$out .= "\t\t}\n";
|
||||
$out .= "\t\telse\n";
|
||||
$out .= "\t\t{\n";
|
||||
$out .= "\t\t\tbyteCode.m_pRawData = pShader->GetBufferPointer();\n";
|
||||
$out .= "\t\t\tbyteCode.m_nSizeInBytes = pShader->GetBufferSize();\n";
|
||||
$out .= "\t\t}\n";
|
||||
$out .= "\t\treturn byteCode;\n";
|
||||
return $out;
|
||||
}
|
||||
|
||||
#print "--------\n";
|
||||
|
||||
if ( $g_x360 )
|
||||
{
|
||||
$fxctmp = "fxctmp9_360_tmp";
|
||||
}
|
||||
else
|
||||
{
|
||||
$fxctmp = "fxctmp9_tmp";
|
||||
}
|
||||
|
||||
if( !stat $fxctmp )
|
||||
{
|
||||
mkdir $fxctmp, 0777 || die $!;
|
||||
}
|
||||
|
||||
# suck in an input file (using includes)
|
||||
#print "$fxc_filename...";
|
||||
@fxc = ReadInputFile( $fxc_filename );
|
||||
|
||||
# READ THE TOP OF THE FILE TO FIND SHADER COMBOS
|
||||
foreach $line ( @fxc )
|
||||
{
|
||||
$line="" if ($g_x360 && ($line=~/\[PC\]/)); # line marked as [PC] when building for x360
|
||||
$line="" if (($g_x360 == 0) && ($line=~/\[XBOX\]/)); # line marked as [XBOX] when building for pc
|
||||
|
||||
if ( $fxc_basename =~ m/_ps(\d+\w?)$/i )
|
||||
{
|
||||
my $psver = $1;
|
||||
$line="" if (($line =~/\[ps\d+\w?\]/i) && ($line!~/\[ps$psver\]/i)); # line marked for a version of compiler and not what we build
|
||||
}
|
||||
if ( $fxc_basename =~ m/_vs(\d+\w?)$/i )
|
||||
{
|
||||
my $vsver = $1;
|
||||
$line="" if (($line =~/\[vs\d+\w?\]/i) && ($line!~/\[vs$vsver\]/i)); # line marked for a version of compiler and not what we build
|
||||
}
|
||||
|
||||
my $init_expr;
|
||||
|
||||
$init_expr = $1 if ( $line=~/\[\=([^\]]+)\]/); # parse default init expression for combos
|
||||
|
||||
$line=~s/\[[^\[\]]*\]//; # cut out all occurrences of
|
||||
# square brackets and whatever is
|
||||
# inside all these modifications
|
||||
# to the line are seen later when
|
||||
# processing skips and centroids
|
||||
|
||||
next if( $line =~ m/^\s*$/ );
|
||||
|
||||
if( $line =~ m/^\s*\/\/\s*STATIC\s*\:\s*\"(.*)\"\s+\"(\d+)\.\.(\d+)\"/ )
|
||||
{
|
||||
local( $name, $min, $max );
|
||||
$name = $1;
|
||||
$min = $2;
|
||||
$max = $3;
|
||||
# print STDERR "STATIC: \"$name\" \"$min..$max\"\n";
|
||||
push @staticDefineNames, $name;
|
||||
push @staticDefineMin, $min;
|
||||
push @staticDefineMax, $max;
|
||||
$staticDefineInit{$name}=$init_expr;
|
||||
}
|
||||
elsif( $line =~ m/^\s*\/\/\s*DYNAMIC\s*\:\s*\"(.*)\"\s+\"(\d+)\.\.(\d+)\"/ )
|
||||
{
|
||||
local( $name, $min, $max );
|
||||
$name = $1;
|
||||
$min = $2;
|
||||
$max = $3;
|
||||
# print STDERR "DYNAMIC: \"$name\" \"$min..$max\"\n";
|
||||
push @dynamicDefineNames, $name;
|
||||
push @dynamicDefineMin, $min;
|
||||
push @dynamicDefineMax, $max;
|
||||
}
|
||||
}
|
||||
# READ THE WHOLE FILE AND FIND SKIP STATEMENTS
|
||||
foreach $line ( @fxc )
|
||||
{
|
||||
if( $line =~ m/^\s*\/\/\s*SKIP\s*\s*\:\s*(.*)$/ )
|
||||
{
|
||||
# print $1 . "\n";
|
||||
$perlskipcode .= "(" . $1 . ")||";
|
||||
push @perlskipcodeindividual, $1;
|
||||
}
|
||||
}
|
||||
|
||||
if( defined $perlskipcode )
|
||||
{
|
||||
$perlskipcode .= "0";
|
||||
$perlskipcode =~ s/\n//g;
|
||||
}
|
||||
else
|
||||
{
|
||||
$perlskipcode = "0";
|
||||
}
|
||||
|
||||
# READ THE WHOLE FILE AND FIND CENTROID STATEMENTS
|
||||
foreach $line ( @fxc )
|
||||
{
|
||||
if( $line =~ m/^\s*\/\/\s*CENTROID\s*\:\s*TEXCOORD(\d+)\s*$/ )
|
||||
{
|
||||
$centroidEnable{$1} = 1;
|
||||
# print "CENTROID: $1\n";
|
||||
}
|
||||
}
|
||||
|
||||
if( $spewCombos )
|
||||
{
|
||||
push @outputHeader, "#include \"windows.h\"\n";
|
||||
}
|
||||
|
||||
#push @outputHeader, "\#include \"shaderlib\\baseshader.h\"\n";
|
||||
#push @outputHeader, "IShaderDynamicAPI *CBaseShader::s_pShaderAPI;\n";
|
||||
|
||||
# Go ahead an compute the mask of samplers that need to be centroid sampled
|
||||
$centroidMask = 0;
|
||||
foreach $centroidRegNum ( keys( %centroidEnable ) )
|
||||
{
|
||||
# print "THING: $samplerName $centroidRegNum\n";
|
||||
$centroidMask += 1 << $centroidRegNum;
|
||||
}
|
||||
|
||||
#printf "0x%x\n", $centroidMask;
|
||||
|
||||
$numCombos = &CalcNumCombos();
|
||||
#print "$numCombos combos\n";
|
||||
|
||||
|
||||
if( $g_produceCompiledVcs && !$dynamic_compile )
|
||||
{
|
||||
open FOUT, ">>filelistgen.txt" || die "can't open filelistgen.txt";
|
||||
|
||||
print FOUT "**** generated by fxc_prep.pl ****\n";
|
||||
print FOUT "#BEGIN " . $fxc_basename . "\n";
|
||||
print FOUT "$fxc_filename" . "\n";
|
||||
print FOUT "#DEFINES-D:\n";
|
||||
for( $i = 0; $i < scalar( @dynamicDefineNames ); \$i++ )
|
||||
{
|
||||
print FOUT "$dynamicDefineNames[$i]=";
|
||||
print FOUT $dynamicDefineMin[$i];
|
||||
print FOUT "..";
|
||||
print FOUT $dynamicDefineMax[$i];
|
||||
print FOUT "\n";
|
||||
}
|
||||
print FOUT "#DEFINES-S:\n";
|
||||
for( $i = 0; $i < scalar( @staticDefineNames ); \$i++ )
|
||||
{
|
||||
print FOUT "$staticDefineNames[$i]=";
|
||||
print FOUT $staticDefineMin[$i];
|
||||
print FOUT "..";
|
||||
print FOUT $staticDefineMax[$i];
|
||||
print FOUT "\n";
|
||||
}
|
||||
print FOUT "#SKIP:\n";
|
||||
print FOUT "$perlskipcode\n";
|
||||
print FOUT "#COMMAND:\n";
|
||||
# first line
|
||||
print FOUT "fxc.exe ";
|
||||
print FOUT "/DTOTALSHADERCOMBOS=$numCombos ";
|
||||
print FOUT "/DCENTROIDMASK=$centroidMask ";
|
||||
print FOUT "/DNUMDYNAMICCOMBOS=" . &CalcNumDynamicCombos() . " ";
|
||||
print FOUT "/DFLAGS=0x0 "; # Nothing here for now.
|
||||
print FOUT "\n";
|
||||
#defines go here
|
||||
# second line
|
||||
print FOUT &RenameMain( $fxc_filename, $i );
|
||||
print FOUT "/T" . &GetShaderType( $fxc_filename ) . " ";
|
||||
print FOUT "/DSHADER_MODEL_" . &ToUpper( &GetShaderType( $fxc_filename ) ) . "=1 ";
|
||||
if( $nvidia )
|
||||
{
|
||||
print FOUT "/DNV3X=1 "; # enable NV3X codepath
|
||||
}
|
||||
if ( $g_x360 )
|
||||
{
|
||||
print FOUT "/D_X360=1 "; # shaders can identify X360 centric code
|
||||
# print FOUT "/Xbe:2- "; # use the less-broken old back end
|
||||
}
|
||||
if( $debug )
|
||||
{
|
||||
print FOUT "/Od "; # disable optimizations
|
||||
print FOUT "/Zi "; # enable debug info
|
||||
}
|
||||
# print FOUT "/Zi "; # enable debug info
|
||||
print FOUT "/nologo ";
|
||||
# print FOUT "/Fhtmpshader.h ";
|
||||
print FOUT "/Foshader.o ";
|
||||
print FOUT "$fxc_filename";
|
||||
print FOUT ">output.txt 2>&1";
|
||||
print FOUT "\n";
|
||||
#end of command line
|
||||
print FOUT "#END\n";
|
||||
print FOUT "**** end ****\n";
|
||||
|
||||
close FOUT;
|
||||
}
|
||||
|
||||
if ( $g_produceCppClasses )
|
||||
{
|
||||
# Write out the C++ helper class for picking shader combos
|
||||
&WriteStaticHelperClasses();
|
||||
&WriteDynamicHelperClasses();
|
||||
my $incfilename = "$fxctmp\\$fxc_basename" . ".inc";
|
||||
&WriteFile( $incfilename, join( "", @outputHeader ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
if( $generateListingFile )
|
||||
{
|
||||
my $listFileName = "$fxctmp/$fxc_basename" . ".lst";
|
||||
print "writing $listFileName\n";
|
||||
if( !open FILE, ">$listFileName" )
|
||||
{
|
||||
die;
|
||||
}
|
||||
print FILE @listingOutput;
|
||||
close FILE;
|
||||
}
|
||||
|
||||
|
||||
@endTimes = times;
|
||||
|
||||
$endTime = time;
|
||||
|
||||
#printf "Elapsed user time: %.2f seconds!\n", $endTimes[0] - $startTimes[0];
|
||||
#printf "Elapsed system time: %.2f seconds!\n", $endTimes[1] - $startTimes[1];
|
||||
#printf "Elapsed child user time: %.2f seconds!\n", $endTimes[2] - $startTimes[2];
|
||||
#printf "Elapsed child system time: %.2f seconds!\n", $endTimes[3] - $startTimes[3];
|
||||
|
||||
#printf "Elapsed total time: %.2f seconds!\n", $endTime - $startTime;
|
||||
|
BIN
mp/src/devtools/bin/linux/ccache
Normal file
BIN
mp/src/devtools/bin/linux/ccache
Normal file
Binary file not shown.
BIN
mp/src/devtools/bin/osx32/ccache
Normal file
BIN
mp/src/devtools/bin/osx32/ccache
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user