This page is best read by those pretty familiar with garrysmod already, New and Junior Developers are NOT encourage to MODIFY these files without having a proper understanding of not only how source games handle their files but also how garrysmod itself handles its filesystem as modifying these files without proper due diligence can break the game in unexpected ways.
Modifying these files are not apart of the addon system which means there are very limited or no safeguards, Before doing anything ensure you have an unedited version of the file you can restore should your edits not be fixable.
What is the SourceScheme File
The SourceScheme.res
file found HERE this file is a Valve KeyValues format document that defines VGUI panels. Similar files include ChatScheme, ClientScheme and LoadingDialogVAC. There may be more but at the time of writing these are the other ones I see.
Why Customize it?
Above all else, there is absolutely no NEED to customize file. the game runs and functions perfectly with the regular file shipped to game. However with that being said, modifying these files can allow for some customization of panels you cant access through Derma. In this file that's most notably the Console and the Options Menu panels.
File Structure
The first value is the Scheme
key, this will be the root key in which all other keys will need to be stored.
Colors
The first subsection within the file, this will contain all the color variables that we will use in the following subsection of BaseSettings
The default colors contained within this section are
RGBA |
Preview |
Name |
255 255 255 255 |
|
White |
221 221 221 255 |
|
OffWhite |
190 190 190 255 |
|
DullWhite |
255 155 0 255 |
|
Orange |
0 0 0 128 |
|
TransparentBlack |
0 0 0 255 |
|
Black |
0 0 0 0 |
|
Blank |
108 111 114 250 |
|
GMod_BG_Opaque |
108 111 114 0 |
|
GMod_BG |
255 255 255 0 |
|
GMod_WhiteBlank |
157 194 80 255 |
|
SteamLightGreen |
79 79 79 255 |
|
AchievementsLightGrey |
55 55 55 255 |
|
AchievementsDarkGrey |
130 130 130 255 |
|
AchievementsInactiveFG |
Adding your own colors this key is simple just follow the formatting of the document.
BaseSettings
Here is where you can actually customize the color of the panels.
For Each Chunk of keys I break them out in a code block that will have enhanced descriptions and unknown keys commented out
Border
Border.Selection "Black"
Border.DarkSolid "40 40 40 255"
Border.Subtle "80 80 80 255"
Button
Button.TextColor "82 82 82 255"
Button.BgColor "227 227 227 255"
Button.ArmedTextColor "46 114 178 255"
Button.ArmedBgColor "240 240 240 255"
Button.DepressedTextColor "White"
Button.DepressedBgColor "84 178 245 255"
CheckButtons
CheckButton.TextColor "White"
CheckButton.SelectedTextColor "White"
CheckButton.BgColor "White"
CheckButton.Border1 "Border.Subtle"
CheckButton.Border2 "Border.Subtle"
CheckButton.Check "Black"
CheckButton.DisabledFgColor "Black"
CheckButton.HighlightFgColor "OffWhite"
CheckButton.ArmedBgColor "Blank"
CheckButton.DisabledBgColor "180 180 180 255"
ComboBoxButton
This references the arrow within the ComboBox and not the actual ComboBox
ComboBoxButton.ArrowColor "81 81 81 255"
ComboBoxButton.ArmedArrowColor "110 110 110 255"
ComboBoxButton.BgColor "GMod_WhiteBlank"
ComboBoxButton.DisabledBgColor "GMod_WhiteBlank"
Frames
Frame.TitleTextInsetX 16
Frame.ClientInsetX 8
Frame.ClientInsetY 6
Frame.BgColor "GMod_BG_Opaque"
Frame.OutOfFocusBgColor "97 100 102 240"
Frame.FocusTransitionEffectTime "0.3"
Frame.TransitionEffectTime "0.3"
Frame.AutoSnapRange "0"
FrameGrip.Color1 "200 200 200 196"
FrameGrip.Color2 "0 0 0 196"
FrameTitleButton.FgColor "200 200 200 196"
FrameTitleButton.BgColor "GMod_BG"
FrameTitleButton.DisabledFgColor "255 255 255 192"
FrameTitleButton.DisabledBgColor "GMod_BG"
FrameTitleBar.Font "UiBold"
FrameTitleBar.TextColor "255 255 255 204"
FrameTitleBar.BgColor "GMod_BG"
FrameTitleBar.DisabledTextColor "255 255 255 91"
FrameTitleBar.DisabledBgColor "GMod_BG"
FrameSystemButton.FgColor "Blank"
FrameSystemButton.BgColor "Blank"
FrameSystemButton.Icon ""
FrameSystemButton.DisabledIcon ""
Graph Panel
I could not locate this panel anywhere in my testing
Labels
Label.TextDullColor "DullWhite"
Label.TextColor "OffWhite"
Label.SelectedTextColor "White"
Label.BgColor "GMod_BG"
Label.DisabledFgColor1 "110 110 110 255"
Label.DisabledFgColor2 "50 50 50 255"
Menu
Menu.TextColor "80 80 80 255"
Menu.BgColor "233 233 233 255"
Menu.ArmedTextColor "White"
Menu.ArmedBgColor "132 183 241 255"
Menu.TextInset "6"
Panels
Panel.BgColor "108 111 114 0"
ProgressBar
ProgressBar.FgColor "White"
ProgressBar.BgColor "TransparentBlack"
PropertySheet
PropertySheet.TextColor "10 10 10 200"
PropertySheet.SelectedTextColor "10 10 10 255"
PropertySheet.TransitionEffectTime "0.25"
Radio Button
Could Not Locate
RichText
RichText.TextColor "OffWhite"
RichText.BgColor "TransparentBlack"
RichText.SelectedTextColor "White"
RichText.SelectedBgColor "0 168 255 204"
ScrollBar
ScrollBar.Wide 15
ScrollBarButton.FgColor "60 60 60 255"
ScrollBarButton.BgColor "207 207 207 255"
ScrollBarButton.ArmedFgColor "20 65 72 255"
ScrollBarButton.ArmedBgColor "210 237 255 255"
ScrollBarButton.DepressedFgColor "9 119 226 255"
ScrollBarButton.DepressedBgColor "31 207 248 255"
ScrollBarSlider.FgColor "220 220 220 255"
ScrollBarSlider.BgColor "184 184 184 229"
SectionedListPanel
SectionedListPanel.HeaderTextColor "50 50 50 255"
SectionedListPanel.HeaderBgColor "Blank"
SectionedListPanel.DividerColor "0 0 0 150"
SectionedListPanel.BrightTextColor "40 40 40 255"
SectionedListPanel.BgColor "White"
SectionedListPanel.SelectedTextColor "White"
SectionedListPanel.SelectedBgColor "0 168 255 204"
SectionedListPanel.OutOfFocusSelectedTextColor "Black"
SectionedListPanel.OutOfFocusSelectedBgColor "132 183 241 100"
Slider
Slider.NobColor "220 220 220 255"
Slider.TextColor "180 180 180 255"
Slider.TrackColor "184 184 184 229"
Slider.DisabledTextColor1 "110 110 110 255"
Slider.DisabledTextColor2 "50 50 50 255"
Text Entry
TextEntry.TextColor "10 10 10 255"
TextEntry.BgColor "White"
TextEntry.CursorColor "10 10 10 255"
TextEntry.DisabledTextColor "128 128 128 255"
TextEntry.DisabledBgColor "192 192 192 255"
TextEntry.SelectedTextColor "10 10 10 255"
TextEntry.SelectedBgColor "0 168 255 204"
TextEntry.OutOfFocusSelectedBgColor "132 183 241 100"
TextEntry.FocusEdgeColor "UNKNOWN"
ToggleButton
Could Not Locate
ToolTip
Tooltip.TextColor "110 102 60 255"
Tooltip.BgColor "249 238 181 255"
Rest of section (Unable to identify)
BitmapFontFiles
Contains a singular special bitmap font used by the UI buttons.
Source:
BitmapFontFiles
{
"Buttons" "materials/vgui/fonts/buttons_32.vbf"
}
Fonts
This is where all the fonts on Default Fonts are created. We strongly advise against changing the default ones in any way as some addons may use these. However you could potentially add your own for your own SourceScheme.res
Modifications, like changing the font of the console.
Borders
These keys have not been tested at the writing of this page. Although they should be relatively self explanatory.
Custom Font Files
Description provided in code
Source:
CustomFontFiles
{
"1" "resource/HALFLIFE2.ttf"
"2" "resource/HL2EP2.ttf"
"3" "resource/marlett.ttf"
}