wip
This commit is contained in:
parent
302741d427
commit
86be867a00
@ -1,2 +0,0 @@
|
|||||||
`define bEnableCallstack false
|
|
||||||
`define bEnableDebug false
|
|
@ -1,7 +1,4 @@
|
|||||||
Class ClassicStyle extends KF2Style;
|
class ClassicStyle extends KF2Style;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
function RenderFramedWindow(KFGUI_FloatingWindow P)
|
function RenderFramedWindow(KFGUI_FloatingWindow P)
|
||||||
{
|
{
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
class CustomRanks extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config array<RankInfo> Rank;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
local RankInfo ExampleRank;
|
|
||||||
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
// Example rank for player(s)
|
|
||||||
ExampleRank.ID = 0;
|
|
||||||
ExampleRank.Rank = "YAS Creator";
|
|
||||||
ExampleRank.TextColor.R = 130;
|
|
||||||
ExampleRank.TextColor.G = 250;
|
|
||||||
ExampleRank.TextColor.B = 235;
|
|
||||||
ExampleRank.OverrideAdminRank = false;
|
|
||||||
default.Rank.AddItem(ExampleRank);
|
|
||||||
|
|
||||||
// Example rank for steam group members
|
|
||||||
ExampleRank.ID = 1;
|
|
||||||
ExampleRank.Rank = "MSK-GS";
|
|
||||||
ExampleRank.TextColor.R = 130;
|
|
||||||
ExampleRank.TextColor.G = 250;
|
|
||||||
ExampleRank.TextColor.B = 130;
|
|
||||||
ExampleRank.OverrideAdminRank = false;
|
|
||||||
default.Rank.AddItem(ExampleRank);
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,9 +1,6 @@
|
|||||||
Class GUIStyleBase extends Object
|
class GUIStyleBase extends Object
|
||||||
abstract;
|
abstract;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var Texture2D ItemTex;
|
var Texture2D ItemTex;
|
||||||
var array<Texture2D> BorderTextures, ArrowTextures, ButtonTextures, TabTextures, ItemBoxTextures, PerkBox, CheckBoxTextures, ProgressBarTextures, SliderTextures;
|
var array<Texture2D> BorderTextures, ArrowTextures, ButtonTextures, TabTextures, ItemBoxTextures, PerkBox, CheckBoxTextures, ProgressBarTextures, SliderTextures;
|
||||||
var Texture2D ScrollTexture, FavoriteIcon, BankNoteIcon;
|
var Texture2D ScrollTexture, FavoriteIcon, BankNoteIcon;
|
||||||
@ -14,7 +11,7 @@ var() byte MaxFontScale;
|
|||||||
var float DefaultHeight; // Default font text size.
|
var float DefaultHeight; // Default font text size.
|
||||||
var transient Canvas Canvas;
|
var transient Canvas Canvas;
|
||||||
var transient KF2GUIController Owner;
|
var transient KF2GUIController Owner;
|
||||||
var transient YASHUD HUDOwner;
|
var transient YAS_HUD HUDOwner;
|
||||||
|
|
||||||
var Font MainFont, NumberFont, InfiniteFont;
|
var Font MainFont, NumberFont, InfiniteFont;
|
||||||
var Color BlurColor, BlurColor2;
|
var Color BlurColor, BlurColor2;
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
Class KF2GUIController extends Info
|
class KF2GUIController extends Info
|
||||||
transient;
|
transient;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() class<GUIStyleBase> DefaultStyle;
|
var() class<GUIStyleBase> DefaultStyle;
|
||||||
|
|
||||||
var PlayerController PlayerOwner;
|
var PlayerController PlayerOwner;
|
||||||
var YASHUD HUDOwner;
|
var YAS_HUD HUDOwner;
|
||||||
var transient KF2GUIInput CustomInput;
|
var transient KF2GUIInput CustomInput;
|
||||||
var transient PlayerInput BackupInput;
|
var transient PlayerInput BackupInput;
|
||||||
var transient GameViewportClient ClientViewport;
|
var transient GameViewportClient ClientViewport;
|
||||||
@ -67,7 +64,7 @@ simulated function PostBeginPlay()
|
|||||||
{
|
{
|
||||||
PlayerOwner = PlayerController(Owner);
|
PlayerOwner = PlayerController(Owner);
|
||||||
ClientViewport = LocalPlayer(PlayerOwner.Player).ViewportClient;
|
ClientViewport = LocalPlayer(PlayerOwner.Player).ViewportClient;
|
||||||
HUDOwner = YASHUD(PlayerOwner.myHUD);
|
HUDOwner = YAS_HUD(PlayerOwner.myHUD);
|
||||||
|
|
||||||
CurrentStyle = new (None) DefaultStyle;
|
CurrentStyle = new (None) DefaultStyle;
|
||||||
CurrentStyle.InitStyle();
|
CurrentStyle.InitStyle();
|
||||||
@ -448,7 +445,7 @@ simulated function KFGUI_Base InitializeHUDWidget(class<KFGUI_Base> GUIClass)
|
|||||||
{
|
{
|
||||||
local KFGUI_Base Widget;
|
local KFGUI_Base Widget;
|
||||||
|
|
||||||
if (GUIClass == None)
|
if (GUIclass == None)
|
||||||
return None;
|
return None;
|
||||||
|
|
||||||
Widget = New(None) GUIClass;
|
Widget = New(None) GUIClass;
|
||||||
@ -471,7 +468,7 @@ simulated function KFGUI_Page OpenMenu(class<KFGUI_Page> MenuClass)
|
|||||||
local int i;
|
local int i;
|
||||||
local KFGUI_Page M;
|
local KFGUI_Page M;
|
||||||
|
|
||||||
if (MenuClass == None)
|
if (Menuclass == None)
|
||||||
return None;
|
return None;
|
||||||
|
|
||||||
if (KeyboardFocus != None)
|
if (KeyboardFocus != None)
|
||||||
@ -489,7 +486,7 @@ simulated function KFGUI_Page OpenMenu(class<KFGUI_Page> MenuClass)
|
|||||||
if (MenuClass.Default.bUnique)
|
if (MenuClass.Default.bUnique)
|
||||||
{
|
{
|
||||||
for (i=0; i < ActiveMenus.Length; ++i)
|
for (i=0; i < ActiveMenus.Length; ++i)
|
||||||
if (ActiveMenus[i].Class == MenuClass)
|
if (ActiveMenus[i].class == MenuClass)
|
||||||
{
|
{
|
||||||
if (i > 0 && ActiveMenus[i].BringPageToFront() ) // Sort it upfront.
|
if (i > 0 && ActiveMenus[i].BringPageToFront() ) // Sort it upfront.
|
||||||
{
|
{
|
||||||
@ -504,7 +501,7 @@ simulated function KFGUI_Page OpenMenu(class<KFGUI_Page> MenuClass)
|
|||||||
if (MenuClass.Default.bPersistant)
|
if (MenuClass.Default.bPersistant)
|
||||||
{
|
{
|
||||||
for (i=0; i < PersistentMenus.Length; ++i)
|
for (i=0; i < PersistentMenus.Length; ++i)
|
||||||
if (PersistentMenus[i].Class == MenuClass)
|
if (PersistentMenus[i].class == MenuClass)
|
||||||
{
|
{
|
||||||
M = PersistentMenus[i];
|
M = PersistentMenus[i];
|
||||||
PersistentMenus.Remove(i, 1);
|
PersistentMenus.Remove(i, 1);
|
||||||
@ -532,7 +529,7 @@ simulated function CloseMenu(class<KFGUI_Page> MenuClass, optional bool bCloseAl
|
|||||||
local int i, j;
|
local int i, j;
|
||||||
local KFGUI_Page M;
|
local KFGUI_Page M;
|
||||||
|
|
||||||
if (!bCloseAll && MenuClass == None)
|
if (!bCloseAll && Menuclass == None)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (KeyboardFocus != None)
|
if (KeyboardFocus != None)
|
||||||
@ -544,7 +541,7 @@ simulated function CloseMenu(class<KFGUI_Page> MenuClass, optional bool bCloseAl
|
|||||||
}
|
}
|
||||||
for (i=(ActiveMenus.Length-1); i >= 0; --i)
|
for (i=(ActiveMenus.Length-1); i >= 0; --i)
|
||||||
{
|
{
|
||||||
if (bCloseAll || ActiveMenus[i].Class == MenuClass)
|
if (bCloseAll || ActiveMenus[i].class == MenuClass)
|
||||||
{
|
{
|
||||||
M = ActiveMenus[i];
|
M = ActiveMenus[i];
|
||||||
ActiveMenus.Remove(i, 1);
|
ActiveMenus.Remove(i, 1);
|
||||||
@ -628,7 +625,7 @@ simulated final function bool MenuIsOpen(optional class<KFGUI_Page> MenuClass)
|
|||||||
local int i;
|
local int i;
|
||||||
|
|
||||||
for (i=(ActiveMenus.Length-1); i >= 0; --i)
|
for (i=(ActiveMenus.Length-1); i >= 0; --i)
|
||||||
if (MenuClass == None || ActiveMenus[i].Class == MenuClass)
|
if (Menuclass == None || ActiveMenus[i].class == MenuClass)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
// Input while in a menu.
|
// Input while in a menu.
|
||||||
class KF2GUIInput extends KFPlayerInput;
|
class KF2GUIInput extends KFPlayerInput;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
var KF2GUIController ControllerOwner;
|
var KF2GUIController ControllerOwner;
|
||||||
var PlayerInput BaseInput;
|
var PlayerInput BaseInput;
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KF2Style extends GUIStyleBase;
|
class KF2Style extends GUIStyleBase;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var Texture2D LoadedTex[2];
|
var Texture2D LoadedTex[2];
|
||||||
const TOOLTIP_BORDER=4;
|
const TOOLTIP_BORDER=4;
|
||||||
|
@ -2,10 +2,6 @@
|
|||||||
class KFColorHelper extends Object
|
class KFColorHelper extends Object
|
||||||
transient;
|
transient;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
struct HSVColour
|
struct HSVColour
|
||||||
{
|
{
|
||||||
var() float H, S, V, A;
|
var() float H, S, V, A;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// Ugly hack to draw ontop of flash UI!
|
// Ugly hack to draw ontop of flash UI!
|
||||||
Class KFGUIConsoleHack extends Console;
|
class KFGUIConsoleHack extends Console;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var KF2GUIController OutputObject;
|
var KF2GUIController OutputObject;
|
||||||
|
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
// Menu system written by Marco.
|
// Menu system written by Marco.
|
||||||
Class KFGUI_Base extends Object
|
class KFGUI_Base extends Object
|
||||||
abstract;
|
abstract;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
var KF2GUIController Owner;
|
var KF2GUIController Owner;
|
||||||
var YASHUD HUDOwner;
|
var YAS_HUD HUDOwner;
|
||||||
var KFGUI_Base ParentComponent; // Parent component if any.
|
var KFGUI_Base ParentComponent; // Parent component if any.
|
||||||
var transient Canvas Canvas;
|
var transient Canvas Canvas;
|
||||||
|
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
Class KFGUI_Button extends KFGUI_Clickable;
|
class KFGUI_Button extends KFGUI_Clickable;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
var() Canvas.CanvasIcon OverlayTexture;
|
var() Canvas.CanvasIcon OverlayTexture;
|
||||||
var() string ButtonText, GamepadButtonName;
|
var() string ButtonText, GamepadButtonName;
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
class KFGUI_CategoryButton extends KFGUI_Button;
|
class KFGUI_CategoryButton extends KFGUI_Button;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
var transient bool bOpened;
|
var transient bool bOpened;
|
||||||
var Texture2D Icon;
|
var Texture2D Icon;
|
||||||
var Color IconColor;
|
var Color IconColor;
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
class KFGUI_CategoryList extends KFGUI_ComponentList;
|
class KFGUI_CategoryList extends KFGUI_ComponentList;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
// Broken, does not work correctly when closing a menu and re-opening it if a category is open
|
// Broken, does not work correctly when closing a menu and re-opening it if a category is open
|
||||||
struct FCategoryItems
|
struct FCategoryItems
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
Class KFGUI_CheckBox extends KFGUI_EditControl;
|
class KFGUI_CheckBox extends KFGUI_EditControl;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
var() Texture CheckMark, CheckDisabled, CheckIdle, CheckFocus, CheckClicked;
|
var() Texture CheckMark, CheckDisabled, CheckIdle, CheckFocus, CheckClicked;
|
||||||
var() bool bForceUniform, bChecked;
|
var() bool bForceUniform, bChecked;
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
Class KFGUI_Clickable extends KFGUI_Base
|
class KFGUI_Clickable extends KFGUI_Base
|
||||||
abstract;
|
abstract;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
|
|
||||||
var() int IntIndex; // More user variables.
|
var() int IntIndex; // More user variables.
|
||||||
var() string ToolTip;
|
var() string ToolTip;
|
||||||
|
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
class KFGUI_ColorSlider extends KFGUI_MultiComponent;
|
class KFGUI_ColorSlider extends KFGUI_MultiComponent;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var KFGUI_Slider RSlider, GSlider, BSlider, ASlider;
|
var KFGUI_Slider RSlider, GSlider, BSlider, ASlider;
|
||||||
var KFGUI_TextLable TextLable, RedLabel, GreenLabel, BlueLabel, AlphaLabel, RedValue, GreenValue, BlueValue, AlphaValue;
|
var KFGUI_TextLable TextLable, RedLabel, GreenLabel, BlueLabel, AlphaLabel, RedValue, GreenValue, BlueValue, AlphaValue;
|
||||||
var KFGUI_ComponentList SettingsBox;
|
var KFGUI_ComponentList SettingsBox;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// Columned list box (only for text lines).
|
// Columned list box (only for text lines).
|
||||||
Class KFGUI_ColumnList extends KFGUI_List;
|
class KFGUI_ColumnList extends KFGUI_List;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
struct FColumnItem
|
struct FColumnItem
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// Do not use this on your own, it is used by ColumnList
|
// Do not use this on your own, it is used by ColumnList
|
||||||
Class KFGUI_ColumnTop extends KFGUI_Base;
|
class KFGUI_ColumnTop extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() float ColumnMinSize; // Minimum pixels width allowed.
|
var() float ColumnMinSize; // Minimum pixels width allowed.
|
||||||
var KFGUI_ColumnList ListOwner;
|
var KFGUI_ColumnList ListOwner;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_ComboBox extends KFGUI_EditControl;
|
class KFGUI_ComboBox extends KFGUI_EditControl;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var KFGUI_ComboSelector Selection;
|
var KFGUI_ComboSelector Selection;
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_ComboSelector extends KFGUI_Clickable;
|
class KFGUI_ComboSelector extends KFGUI_Clickable;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var KFGUI_ComboBox Combo;
|
var KFGUI_ComboBox Combo;
|
||||||
var int CurrentRow, OldRow;
|
var int CurrentRow, OldRow;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// List box with components as items.
|
// List box with components as items.
|
||||||
Class KFGUI_ComponentList extends KFGUI_List;
|
class KFGUI_ComponentList extends KFGUI_List;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var int VisRange[2];
|
var int VisRange[2];
|
||||||
var() int NumColumns;
|
var() int NumColumns;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_EditBox extends KFGUI_Clickable;
|
class KFGUI_EditBox extends KFGUI_Clickable;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var enum eTextCase
|
var enum eTextCase
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_EditControl extends KFGUI_Clickable;
|
class KFGUI_EditControl extends KFGUI_Clickable;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var export editinline KFGUI_TextLable TextLable;
|
var export editinline KFGUI_TextLable TextLable;
|
||||||
var transient float TextHeight, TextScale;
|
var transient float TextHeight, TextScale;
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
Class KFGUI_FloatingWindow extends KFGUI_Page
|
class KFGUI_FloatingWindow extends KFGUI_Page
|
||||||
abstract;
|
abstract;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() string WindowTitle; // Title of this window.
|
var() string WindowTitle; // Title of this window.
|
||||||
var float DragOffset[2], OpenAnimSpeed;
|
var float DragOffset[2], OpenAnimSpeed;
|
||||||
var KFGUI_FloatingWindowHeader HeaderComp;
|
var KFGUI_FloatingWindowHeader HeaderComp;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_FloatingWindowHeader extends KFGUI_Base;
|
class KFGUI_FloatingWindowHeader extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var bool bDragWindow;
|
var bool bDragWindow;
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_Frame extends KFGUI_FloatingWindow;
|
class KFGUI_Frame extends KFGUI_FloatingWindow;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() float EdgeSize[4]; // Pixels wide for edges (left, top, right, bottom).
|
var() float EdgeSize[4]; // Pixels wide for edges (left, top, right, bottom).
|
||||||
var() float HeaderSize[2]; // Pixels wide for edges (left, top).
|
var() float HeaderSize[2]; // Pixels wide for edges (left, top).
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_Image extends KFGUI_Base;
|
class KFGUI_Image extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var enum eImageStyle
|
var enum eImageStyle
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// List box with custom render code for the items.
|
// List box with custom render code for the items.
|
||||||
Class KFGUI_List extends KFGUI_MultiComponent;
|
class KFGUI_List extends KFGUI_MultiComponent;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() bool bDrawBackground, bHideScrollbar, bUseFocusSound;
|
var() bool bDrawBackground, bHideScrollbar, bUseFocusSound;
|
||||||
var() protectedwrite int ListCount;
|
var() protectedwrite int ListCount;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_ListHorz extends KFGUI_MultiComponent;
|
class KFGUI_ListHorz extends KFGUI_MultiComponent;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() bool bDrawBackground, bHideScrollbar, bUseFocusSound;
|
var() bool bDrawBackground, bHideScrollbar, bUseFocusSound;
|
||||||
var() protected int ListCount;
|
var() protected int ListCount;
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
Class KFGUI_ListItem extends Object
|
class KFGUI_ListItem extends Object
|
||||||
transient;
|
transient;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var KFGUI_ListItem Next;
|
var KFGUI_ListItem Next;
|
||||||
var array<string> Columns, SortColumns;
|
var array<string> Columns, SortColumns;
|
||||||
var int Index, Value;
|
var int Index, Value;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_MultiComponent extends KFGUI_Base;
|
class KFGUI_MultiComponent extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() export editinline array<KFGUI_Base> Components;
|
var() export editinline array<KFGUI_Base> Components;
|
||||||
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
Class KFGUI_Page extends KFGUI_MultiComponent
|
class KFGUI_Page extends KFGUI_MultiComponent
|
||||||
abstract;
|
abstract;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() byte FrameOpacity; // Transperancy of the frame.
|
var() byte FrameOpacity; // Transperancy of the frame.
|
||||||
var() bool bPersistant, // Reuse the same menu object throughout the level.
|
var() bool bPersistant, // Reuse the same menu object throughout the level.
|
||||||
bUnique, // If calling OpenMenu multiple times with same menu class, only open one instance of it.
|
bUnique, // If calling OpenMenu multiple times with same menu class, only open one instance of it.
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
class KFGUI_ProgressBar extends KFGUI_Base;
|
class KFGUI_ProgressBar extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var Texture BarBack;
|
var Texture BarBack;
|
||||||
var Texture BarTop;
|
var Texture BarTop;
|
||||||
var Color BarColor;
|
var Color BarColor;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_RightClickMenu extends KFGUI_Clickable;
|
class KFGUI_RightClickMenu extends KFGUI_Clickable;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
struct FRowItem
|
struct FRowItem
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
Class KFGUI_ScrollBarBase extends KFGUI_Clickable
|
class KFGUI_ScrollBarBase extends KFGUI_Clickable
|
||||||
abstract;
|
abstract;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() int MinRange, MaxRange, ScrollStride, PageStep;
|
var() int MinRange, MaxRange, ScrollStride, PageStep;
|
||||||
var() float ButtonScale; // Button width (scaled by default font height).
|
var() float ButtonScale; // Button width (scaled by default font height).
|
||||||
var int CurrentScroll;
|
var int CurrentScroll;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_ScrollBarH extends KFGUI_ScrollBarBase;
|
class KFGUI_ScrollBarH extends KFGUI_ScrollBarBase;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_ScrollBarV extends KFGUI_ScrollBarBase;
|
class KFGUI_ScrollBarV extends KFGUI_ScrollBarBase;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
class KFGUI_Slider extends KFGUI_MultiComponent;
|
class KFGUI_Slider extends KFGUI_MultiComponent;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var KFGUI_ScrollBarH ScrollBar;
|
var KFGUI_ScrollBarH ScrollBar;
|
||||||
|
|
||||||
var int MinValue, MaxValue;
|
var int MinValue, MaxValue;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
// Same as SwitchComponent, but with buttons.
|
// Same as SwitchComponent, but with buttons.
|
||||||
Class KFGUI_SwitchMenuBar extends KFGUI_MultiComponent;
|
class KFGUI_SwitchMenuBar extends KFGUI_MultiComponent;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var array<KFGUI_Base> SubPages;
|
var array<KFGUI_Base> SubPages;
|
||||||
var() byte ButtonPosition; // 0 = top, 1 = bottom, 2 = left, 3 = right
|
var() byte ButtonPosition; // 0 = top, 1 = bottom, 2 = left, 3 = right
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_TextField extends KFGUI_MultiComponent;
|
class KFGUI_TextField extends KFGUI_MultiComponent;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
enum ETextFieldStyles
|
enum ETextFieldStyles
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_TextLable extends KFGUI_Base;
|
class KFGUI_TextLable extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() protected string Text;
|
var() protected string Text;
|
||||||
var() color TextColor;
|
var() color TextColor;
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_TextScroll extends KFGUI_TextField;
|
class KFGUI_TextScroll extends KFGUI_TextField;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var float ScrollSpeed;
|
var float ScrollSpeed;
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
Class KFGUI_Tooltip extends KFGUI_Base;
|
class KFGUI_Tooltip extends KFGUI_Base;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var() array<string> Lines;
|
var() array<string> Lines;
|
||||||
var() Canvas.FontRenderInfo TextFontInfo;
|
var() Canvas.FontRenderInfo TextFontInfo;
|
||||||
|
@ -1,32 +0,0 @@
|
|||||||
class PlayerRankRelations extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config array<RankRelation> Relation;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
local RankRelation ExamplePlayer;
|
|
||||||
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
// Example player
|
|
||||||
ExamplePlayer.ObjectID = "76561198001617867"; // GenZmeY SteamID64
|
|
||||||
ExamplePlayer.RankID = 0;
|
|
||||||
default.Relation.AddItem(ExamplePlayer);
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,472 +0,0 @@
|
|||||||
class ScoreboardStyle extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
// Box shapes
|
|
||||||
var config int EdgeSize;
|
|
||||||
var config int ShapeServerNameBox;
|
|
||||||
var config int ShapeGameInfoBox;
|
|
||||||
var config int ShapeWaveInfoBox;
|
|
||||||
var config int ShapePlayersCountBox;
|
|
||||||
var config int ShapeHeaderBox;
|
|
||||||
var config int ShapeStateHealthBoxTopPlayer;
|
|
||||||
var config int ShapeStateHealthBoxMidPlayer;
|
|
||||||
var config int ShapeStateHealthBoxBottomPlayer;
|
|
||||||
var config int ShapePlayerBoxTopPlayer;
|
|
||||||
var config int ShapePlayerBoxMidPlayer;
|
|
||||||
var config int ShapePlayerBoxBottomPlayer;
|
|
||||||
var config int ShapeStatsBoxTopPlayer;
|
|
||||||
var config int ShapeStatsBoxMidPlayer;
|
|
||||||
var config int ShapeStatsBoxBottomPlayer;
|
|
||||||
|
|
||||||
// Server box
|
|
||||||
var config ColorRGBA ServerNameBoxColor;
|
|
||||||
var config ColorRGBA ServerNameTextColor;
|
|
||||||
|
|
||||||
// Game info box
|
|
||||||
var config ColorRGBA GameInfoBoxColor;
|
|
||||||
var config ColorRGBA GameInfoTextColor;
|
|
||||||
|
|
||||||
// Wave info box
|
|
||||||
var config ColorRGBA WaveBoxColor;
|
|
||||||
var config ColorRGBA WaveTextColor;
|
|
||||||
|
|
||||||
// Player count box
|
|
||||||
var config ColorRGBA PlayerCountBoxColor;
|
|
||||||
var config ColorRGBA PlayerCountTextColor;
|
|
||||||
|
|
||||||
// Header box
|
|
||||||
var config ColorRGBA ListHeaderBoxColor;
|
|
||||||
var config ColorRGBA ListHeaderTextColor;
|
|
||||||
|
|
||||||
// State box
|
|
||||||
var config ColorRGBA StateBoxColorLobby;
|
|
||||||
var config ColorRGBA StateBoxColorReady;
|
|
||||||
var config ColorRGBA StateBoxColorNotReady;
|
|
||||||
var config ColorRGBA StateBoxColorSpectator;
|
|
||||||
var config ColorRGBA StateBoxColorDead;
|
|
||||||
var config ColorRGBA StateBoxColorNone;
|
|
||||||
var config ColorRGBA StateBoxColorHealthLow;
|
|
||||||
var config ColorRGBA StateBoxColorHealthMid;
|
|
||||||
var config ColorRGBA StateBoxColorHealthHigh;
|
|
||||||
|
|
||||||
// Player box
|
|
||||||
var config ColorRGBA PlayerOwnerBoxColor;
|
|
||||||
var config ColorRGBA PlayerBoxColor;
|
|
||||||
|
|
||||||
// Stats box
|
|
||||||
var config ColorRGBA StatsOwnerBoxColor;
|
|
||||||
var config ColorRGBA StatsBoxColor;
|
|
||||||
|
|
||||||
// State text
|
|
||||||
var config ColorRGBA StateTextColorLobby;
|
|
||||||
var config ColorRGBA StateTextColorReady;
|
|
||||||
var config ColorRGBA StateTextColorNotReady;
|
|
||||||
var config ColorRGBA StateTextColorSpectator;
|
|
||||||
var config ColorRGBA StateTextColorDead;
|
|
||||||
var config ColorRGBA StateTextColorNone;
|
|
||||||
var config ColorRGBA StateTextColorHealthLow;
|
|
||||||
var config ColorRGBA StateTextColorHealthMid;
|
|
||||||
var config ColorRGBA StateTextColorHealthHigh;
|
|
||||||
|
|
||||||
// Rank text
|
|
||||||
var config ColorRGBA RankTextColor;
|
|
||||||
|
|
||||||
// Player text
|
|
||||||
var config ColorRGBA PlayerNameTextColor;
|
|
||||||
|
|
||||||
// Level text
|
|
||||||
var config ColorRGBA LevelTextColorLow;
|
|
||||||
var config ColorRGBA LevelTextColorMid;
|
|
||||||
var config ColorRGBA LevelTextColorHigh;
|
|
||||||
|
|
||||||
// Perk text
|
|
||||||
var config ColorRGBA ZedTextColor;
|
|
||||||
var config ColorRGBA PerkNoneTextColor;
|
|
||||||
var config ColorRGBA PerkBerserkerTextColor;
|
|
||||||
var config ColorRGBA PerkCommandoTextColor;
|
|
||||||
var config ColorRGBA PerkSupportTextColor;
|
|
||||||
var config ColorRGBA PerkFieldMedicTextColor;
|
|
||||||
var config ColorRGBA PerkDemolitionistTextColor;
|
|
||||||
var config ColorRGBA PerkFirebugTextColor;
|
|
||||||
var config ColorRGBA PerkGunslingerTextColor;
|
|
||||||
var config ColorRGBA PerkSharpshooterTextColor;
|
|
||||||
var config ColorRGBA PerkSwatTextColor;
|
|
||||||
var config ColorRGBA PerkSurvivalistTextColor;
|
|
||||||
|
|
||||||
// Dosh text
|
|
||||||
var config ColorRGBA DoshTextColorLow;
|
|
||||||
var config ColorRGBA DoshTextColorMid;
|
|
||||||
var config ColorRGBA DoshTextColorHigh;
|
|
||||||
|
|
||||||
// Kills text
|
|
||||||
var config ColorRGBA KillsTextColorLow;
|
|
||||||
var config ColorRGBA KillsTextColorMid;
|
|
||||||
var config ColorRGBA KillsTextColorHigh;
|
|
||||||
|
|
||||||
// Assists text
|
|
||||||
var config ColorRGBA AssistsTextColorLow;
|
|
||||||
var config ColorRGBA AssistsTextColorMid;
|
|
||||||
var config ColorRGBA AssistsTextColorHigh;
|
|
||||||
|
|
||||||
// Ping text
|
|
||||||
var config ColorRGBA PingTextColorNone;
|
|
||||||
var config ColorRGBA PingTextColorLow;
|
|
||||||
var config ColorRGBA PingTextColorMid;
|
|
||||||
var config ColorRGBA PingTextColorHigh;
|
|
||||||
|
|
||||||
// Other settings
|
|
||||||
var config bool bShowPingBars;
|
|
||||||
var config bool bHealthBoxSmoothColorChange;
|
|
||||||
var config bool bHealthTextSmoothColorChange;
|
|
||||||
var config bool bLevelTextSmoothColorChange;
|
|
||||||
var config bool bDoshTextSmoothColorChange;
|
|
||||||
var config bool bKillsTextSmoothColorChange;
|
|
||||||
var config bool bAssistsTextSmoothColorChange;
|
|
||||||
var config bool bPingTextSmoothColorChange;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
local YASStyle DefaultStyle;
|
|
||||||
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
WriteSettings(DefaultSettings());
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
default.AssistsTextColorHigh = DefaultStyle.AssistsTextColorHigh;
|
|
||||||
default.AssistsTextColorLow = DefaultStyle.AssistsTextColorLow;
|
|
||||||
default.AssistsTextColorMid = DefaultStyle.AssistsTextColorMid;
|
|
||||||
default.bAssistsTextSmoothColorChange = DefaultStyle.AssistsTextSmoothColorChange;
|
|
||||||
default.bDoshTextSmoothColorChange = DefaultStyle.DoshTextSmoothColorChange;
|
|
||||||
default.bHealthBoxSmoothColorChange = DefaultStyle.HealthBoxSmoothColorChange;
|
|
||||||
default.bHealthTextSmoothColorChange = DefaultStyle.HealthTextSmoothColorChange;
|
|
||||||
default.bKillsTextSmoothColorChange = DefaultStyle.KillsTextSmoothColorChange;
|
|
||||||
default.bLevelTextSmoothColorChange = DefaultStyle.LevelTextSmoothColorChange;
|
|
||||||
default.bPingTextSmoothColorChange = DefaultStyle.PingTextSmoothColorChange;
|
|
||||||
default.bShowPingBars = DefaultStyle.ShowPingBars;
|
|
||||||
default.DoshTextColorHigh = DefaultStyle.DoshTextColorHigh;
|
|
||||||
default.DoshTextColorLow = DefaultStyle.DoshTextColorLow;
|
|
||||||
default.DoshTextColorMid = DefaultStyle.DoshTextColorMid;
|
|
||||||
default.KillsTextColorHigh = DefaultStyle.KillsTextColorHigh;
|
|
||||||
default.KillsTextColorLow = DefaultStyle.KillsTextColorLow;
|
|
||||||
default.KillsTextColorMid = DefaultStyle.KillsTextColorMid;
|
|
||||||
default.LevelTextColorHigh = DefaultStyle.LevelTextColorHigh;
|
|
||||||
default.LevelTextColorLow = DefaultStyle.LevelTextColorLow;
|
|
||||||
default.LevelTextColorMid = DefaultStyle.LevelTextColorMid;
|
|
||||||
default.PerkBerserkerTextColor = DefaultStyle.PerkBerserkerTextColor;
|
|
||||||
default.PerkCommandoTextColor = DefaultStyle.PerkCommandoTextColor;
|
|
||||||
default.PerkDemolitionistTextColor = DefaultStyle.PerkDemolitionistTextColor;
|
|
||||||
default.PerkFieldMedicTextColor = DefaultStyle.PerkFieldMedicTextColor;
|
|
||||||
default.PerkFirebugTextColor = DefaultStyle.PerkFirebugTextColor;
|
|
||||||
default.PerkGunslingerTextColor = DefaultStyle.PerkGunslingerTextColor;
|
|
||||||
default.PerkNoneTextColor = DefaultStyle.PerkNoneTextColor;
|
|
||||||
default.PerkSharpshooterTextColor = DefaultStyle.PerkSharpshooterTextColor;
|
|
||||||
default.PerkSupportTextColor = DefaultStyle.PerkSupportTextColor;
|
|
||||||
default.PerkSurvivalistTextColor = DefaultStyle.PerkSurvivalistTextColor;
|
|
||||||
default.PerkSwatTextColor = DefaultStyle.PerkSwatTextColor;
|
|
||||||
default.StateBoxColorDead = DefaultStyle.StateBoxColorDead;
|
|
||||||
default.StateBoxColorNone = DefaultStyle.StateBoxColorNone;
|
|
||||||
default.StateBoxColorHealthHigh = DefaultStyle.StateBoxColorHealthHigh;
|
|
||||||
default.StateBoxColorHealthLow = DefaultStyle.StateBoxColorHealthLow;
|
|
||||||
default.StateBoxColorHealthMid = DefaultStyle.StateBoxColorHealthMid;
|
|
||||||
default.StateBoxColorLobby = DefaultStyle.StateBoxColorLobby;
|
|
||||||
default.StateBoxColorNotReady = DefaultStyle.StateBoxColorNotReady;
|
|
||||||
default.StateBoxColorReady = DefaultStyle.StateBoxColorReady;
|
|
||||||
default.StateBoxColorSpectator = DefaultStyle.StateBoxColorSpectator;
|
|
||||||
default.StateTextColorNone = DefaultStyle.StateTextColorNone;
|
|
||||||
default.StateTextColorHealthHigh = DefaultStyle.StateTextColorHealthHigh;
|
|
||||||
default.StateTextColorHealthLow = DefaultStyle.StateTextColorHealthLow;
|
|
||||||
default.StateTextColorHealthMid = DefaultStyle.StateTextColorHealthMid;
|
|
||||||
default.StatsOwnerBoxColor = DefaultStyle.StatsOwnerBoxColor;
|
|
||||||
default.ShapeStateHealthBoxTopPlayer = DefaultStyle.ShapeStateHealthBoxTopPlayer;
|
|
||||||
default.ShapeStateHealthBoxMidPlayer = DefaultStyle.ShapeStateHealthBoxMidPlayer;
|
|
||||||
default.ShapeStateHealthBoxBottomPlayer = DefaultStyle.ShapeStateHealthBoxBottomPlayer;
|
|
||||||
default.PingTextColorNone = DefaultStyle.PingTextColorNone;
|
|
||||||
|
|
||||||
WriteSettings(Settings());
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASStyle DefaultSettings()
|
|
||||||
{
|
|
||||||
local YASStyle Settings;
|
|
||||||
|
|
||||||
`callstack_static("DefaultSettings");
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASStyle Settings()
|
|
||||||
{
|
|
||||||
local YASStyle Settings;
|
|
||||||
|
|
||||||
`callstack_static("Settings");
|
|
||||||
|
|
||||||
// Box shapes
|
|
||||||
Settings.EdgeSize = default.EdgeSize;
|
|
||||||
Settings.ShapeServerNameBox = default.ShapeServerNameBox;
|
|
||||||
Settings.ShapeGameInfoBox = default.ShapeGameInfoBox;
|
|
||||||
Settings.ShapeWaveInfoBox = default.ShapeWaveInfoBox;
|
|
||||||
Settings.ShapePlayersCountBox = default.ShapePlayersCountBox;
|
|
||||||
Settings.ShapeHeaderBox = default.ShapeHeaderBox;
|
|
||||||
Settings.ShapeStateHealthBoxTopPlayer = default.ShapeStateHealthBoxTopPlayer;
|
|
||||||
Settings.ShapeStateHealthBoxMidPlayer = default.ShapeStateHealthBoxMidPlayer;
|
|
||||||
Settings.ShapeStateHealthBoxBottomPlayer = default.ShapeStateHealthBoxBottomPlayer;
|
|
||||||
Settings.ShapePlayerBoxTopPlayer = default.ShapePlayerBoxTopPlayer;
|
|
||||||
Settings.ShapePlayerBoxMidPlayer = default.ShapePlayerBoxMidPlayer;
|
|
||||||
Settings.ShapePlayerBoxBottomPlayer = default.ShapePlayerBoxBottomPlayer;
|
|
||||||
Settings.ShapeStatsBoxTopPlayer = default.ShapeStatsBoxTopPlayer;
|
|
||||||
Settings.ShapeStatsBoxMidPlayer = default.ShapeStatsBoxMidPlayer;
|
|
||||||
Settings.ShapeStatsBoxBottomPlayer = default.ShapeStatsBoxBottomPlayer;
|
|
||||||
|
|
||||||
// Server box
|
|
||||||
Settings.ServerNameBoxColor = default.ServerNameBoxColor;
|
|
||||||
Settings.ServerNameTextColor = default.ServerNameTextColor;
|
|
||||||
|
|
||||||
// Game info box
|
|
||||||
Settings.GameInfoBoxColor = default.GameInfoBoxColor;
|
|
||||||
Settings.GameInfoTextColor = default.GameInfoTextColor;
|
|
||||||
|
|
||||||
// Wave info box
|
|
||||||
Settings.WaveBoxColor = default.WaveBoxColor;
|
|
||||||
Settings.WaveTextColor = default.WaveTextColor;
|
|
||||||
|
|
||||||
// Player count box
|
|
||||||
Settings.PlayerCountBoxColor = default.PlayerCountBoxColor;
|
|
||||||
Settings.PlayerCountTextColor = default.PlayerCountTextColor;
|
|
||||||
|
|
||||||
// Header box
|
|
||||||
Settings.ListHeaderBoxColor = default.ListHeaderBoxColor;
|
|
||||||
Settings.ListHeaderTextColor = default.ListHeaderTextColor;
|
|
||||||
|
|
||||||
// State box
|
|
||||||
Settings.StateBoxColorLobby = default.StateBoxColorLobby;
|
|
||||||
Settings.StateBoxColorReady = default.StateBoxColorReady;
|
|
||||||
Settings.StateBoxColorNotReady = default.StateBoxColorNotReady;
|
|
||||||
Settings.StateBoxColorSpectator = default.StateBoxColorSpectator;
|
|
||||||
Settings.StateBoxColorDead = default.StateBoxColorDead;
|
|
||||||
Settings.StateBoxColorNone = default.StateBoxColorNone;
|
|
||||||
Settings.StateBoxColorHealthLow = default.StateBoxColorHealthLow;
|
|
||||||
Settings.StateBoxColorHealthMid = default.StateBoxColorHealthMid;
|
|
||||||
Settings.StateBoxColorHealthHigh = default.StateBoxColorHealthHigh;
|
|
||||||
|
|
||||||
// Player box
|
|
||||||
Settings.PlayerOwnerBoxColor = default.PlayerOwnerBoxColor;
|
|
||||||
Settings.PlayerBoxColor = default.PlayerBoxColor;
|
|
||||||
|
|
||||||
// Stats box
|
|
||||||
Settings.StatsOwnerBoxColor = default.StatsOwnerBoxColor;
|
|
||||||
Settings.StatsBoxColor = default.StatsBoxColor;
|
|
||||||
|
|
||||||
// State text
|
|
||||||
Settings.StateTextColorLobby = default.StateTextColorLobby;
|
|
||||||
Settings.StateTextColorReady = default.StateTextColorReady;
|
|
||||||
Settings.StateTextColorNotReady = default.StateTextColorNotReady;
|
|
||||||
Settings.StateTextColorSpectator = default.StateTextColorSpectator;
|
|
||||||
Settings.StateTextColorDead = default.StateTextColorDead;
|
|
||||||
Settings.StateTextColorNone = default.StateTextColorNone;
|
|
||||||
Settings.StateTextColorHealthLow = default.StateTextColorHealthLow;
|
|
||||||
Settings.StateTextColorHealthMid = default.StateTextColorHealthMid;
|
|
||||||
Settings.StateTextColorHealthHigh = default.StateTextColorHealthHigh;
|
|
||||||
|
|
||||||
// Rank text
|
|
||||||
Settings.RankTextColor = default.RankTextColor;
|
|
||||||
|
|
||||||
// Player text
|
|
||||||
Settings.PlayerNameTextColor = default.PlayerNameTextColor;
|
|
||||||
|
|
||||||
// Level text
|
|
||||||
Settings.LevelTextColorLow = default.LevelTextColorLow;
|
|
||||||
Settings.LevelTextColorMid = default.LevelTextColorMid;
|
|
||||||
Settings.LevelTextColorHigh = default.LevelTextColorHigh;
|
|
||||||
|
|
||||||
// Perk text
|
|
||||||
Settings.ZedTextColor = default.ZedTextColor;
|
|
||||||
Settings.PerkNoneTextColor = default.PerkNoneTextColor;
|
|
||||||
Settings.PerkBerserkerTextColor = default.PerkBerserkerTextColor;
|
|
||||||
Settings.PerkCommandoTextColor = default.PerkCommandoTextColor;
|
|
||||||
Settings.PerkSupportTextColor = default.PerkSupportTextColor;
|
|
||||||
Settings.PerkFieldMedicTextColor = default.PerkFieldMedicTextColor;
|
|
||||||
Settings.PerkDemolitionistTextColor = default.PerkDemolitionistTextColor;
|
|
||||||
Settings.PerkFirebugTextColor = default.PerkFirebugTextColor;
|
|
||||||
Settings.PerkGunslingerTextColor = default.PerkGunslingerTextColor;
|
|
||||||
Settings.PerkSharpshooterTextColor = default.PerkSharpshooterTextColor;
|
|
||||||
Settings.PerkSwatTextColor = default.PerkSwatTextColor;
|
|
||||||
Settings.PerkSurvivalistTextColor = default.PerkSurvivalistTextColor;
|
|
||||||
|
|
||||||
// Dosh text
|
|
||||||
Settings.DoshTextColorLow = default.DoshTextColorLow;
|
|
||||||
Settings.DoshTextColorMid = default.DoshTextColorMid;
|
|
||||||
Settings.DoshTextColorHigh = default.DoshTextColorHigh;
|
|
||||||
|
|
||||||
// Kills text
|
|
||||||
Settings.KillsTextColorLow = default.KillsTextColorLow;
|
|
||||||
Settings.KillsTextColorMid = default.KillsTextColorMid;
|
|
||||||
Settings.KillsTextColorHigh = default.KillsTextColorHigh;
|
|
||||||
|
|
||||||
// Assists text
|
|
||||||
Settings.AssistsTextColorLow = default.AssistsTextColorLow;
|
|
||||||
Settings.AssistsTextColorMid = default.AssistsTextColorMid;
|
|
||||||
Settings.AssistsTextColorHigh = default.AssistsTextColorHigh;
|
|
||||||
|
|
||||||
// Ping text
|
|
||||||
Settings.PingTextColorNone = default.PingTextColorNone;
|
|
||||||
Settings.PingTextColorLow = default.PingTextColorLow;
|
|
||||||
Settings.PingTextColorMid = default.PingTextColorMid;
|
|
||||||
Settings.PingTextColorHigh = default.PingTextColorHigh;
|
|
||||||
|
|
||||||
// Other settings
|
|
||||||
Settings.ShowPingBars = default.bShowPingBars;
|
|
||||||
Settings.HealthBoxSmoothColorChange = default.bHealthBoxSmoothColorChange;
|
|
||||||
Settings.HealthTextSmoothColorChange = default.bHealthTextSmoothColorChange;
|
|
||||||
Settings.LevelTextSmoothColorChange = default.bLevelTextSmoothColorChange;
|
|
||||||
Settings.DoshTextSmoothColorChange = default.bDoshTextSmoothColorChange;
|
|
||||||
Settings.KillsTextSmoothColorChange = default.bKillsTextSmoothColorChange;
|
|
||||||
Settings.AssistsTextSmoothColorChange = default.bAssistsTextSmoothColorChange;
|
|
||||||
Settings.PingTextSmoothColorChange = default.bPingTextSmoothColorChange;
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function WriteSettings(YASStyle Settings)
|
|
||||||
{
|
|
||||||
`callstack_static("WriteSettings");
|
|
||||||
|
|
||||||
// Box shapes
|
|
||||||
default.EdgeSize = Settings.EdgeSize;
|
|
||||||
default.ShapeServerNameBox = Settings.ShapeServerNameBox;
|
|
||||||
default.ShapeGameInfoBox = Settings.ShapeGameInfoBox;
|
|
||||||
default.ShapeWaveInfoBox = Settings.ShapeWaveInfoBox;
|
|
||||||
default.ShapePlayersCountBox = Settings.ShapePlayersCountBox;
|
|
||||||
default.ShapeHeaderBox = Settings.ShapeHeaderBox;
|
|
||||||
default.ShapeStateHealthBoxTopPlayer = Settings.ShapeStateHealthBoxTopPlayer;
|
|
||||||
default.ShapeStateHealthBoxMidPlayer = Settings.ShapeStateHealthBoxMidPlayer;
|
|
||||||
default.ShapeStateHealthBoxBottomPlayer = Settings.ShapeStateHealthBoxBottomPlayer;
|
|
||||||
default.ShapePlayerBoxTopPlayer = Settings.ShapePlayerBoxTopPlayer;
|
|
||||||
default.ShapePlayerBoxMidPlayer = Settings.ShapePlayerBoxMidPlayer;
|
|
||||||
default.ShapePlayerBoxBottomPlayer = Settings.ShapePlayerBoxBottomPlayer;
|
|
||||||
default.ShapeStatsBoxTopPlayer = Settings.ShapeStatsBoxTopPlayer;
|
|
||||||
default.ShapeStatsBoxMidPlayer = Settings.ShapeStatsBoxMidPlayer;
|
|
||||||
default.ShapeStatsBoxBottomPlayer = Settings.ShapeStatsBoxBottomPlayer;
|
|
||||||
|
|
||||||
// Server box
|
|
||||||
default.ServerNameBoxColor = Settings.ServerNameBoxColor;
|
|
||||||
default.ServerNameTextColor = Settings.ServerNameTextColor;
|
|
||||||
|
|
||||||
// Game info box
|
|
||||||
default.GameInfoBoxColor = Settings.GameInfoBoxColor;
|
|
||||||
default.GameInfoTextColor = Settings.GameInfoTextColor;
|
|
||||||
|
|
||||||
// Wave info box
|
|
||||||
default.WaveBoxColor = Settings.WaveBoxColor;
|
|
||||||
default.WaveTextColor = Settings.WaveTextColor;
|
|
||||||
|
|
||||||
// Player count box
|
|
||||||
default.PlayerCountBoxColor = Settings.PlayerCountBoxColor;
|
|
||||||
default.PlayerCountTextColor = Settings.PlayerCountTextColor;
|
|
||||||
|
|
||||||
// Header box
|
|
||||||
default.ListHeaderBoxColor = Settings.ListHeaderBoxColor;
|
|
||||||
default.ListHeaderTextColor = Settings.ListHeaderTextColor;
|
|
||||||
|
|
||||||
// State box
|
|
||||||
default.StateBoxColorLobby = Settings.StateBoxColorLobby;
|
|
||||||
default.StateBoxColorReady = Settings.StateBoxColorReady;
|
|
||||||
default.StateBoxColorNotReady = Settings.StateBoxColorNotReady;
|
|
||||||
default.StateBoxColorSpectator = Settings.StateBoxColorSpectator;
|
|
||||||
default.StateBoxColorDead = Settings.StateBoxColorDead;
|
|
||||||
default.StateBoxColorNone = Settings.StateBoxColorNone;
|
|
||||||
default.StateBoxColorHealthLow = Settings.StateBoxColorHealthLow;
|
|
||||||
default.StateBoxColorHealthMid = Settings.StateBoxColorHealthMid;
|
|
||||||
default.StateBoxColorHealthHigh = Settings.StateBoxColorHealthHigh;
|
|
||||||
|
|
||||||
// Player box
|
|
||||||
default.PlayerOwnerBoxColor = Settings.PlayerOwnerBoxColor;
|
|
||||||
default.PlayerBoxColor = Settings.PlayerBoxColor;
|
|
||||||
|
|
||||||
// Stats box
|
|
||||||
default.StatsOwnerBoxColor = Settings.StatsOwnerBoxColor;
|
|
||||||
default.StatsBoxColor = Settings.StatsBoxColor;
|
|
||||||
|
|
||||||
// State text
|
|
||||||
default.StateTextColorLobby = Settings.StateTextColorLobby;
|
|
||||||
default.StateTextColorReady = Settings.StateTextColorReady;
|
|
||||||
default.StateTextColorNotReady = Settings.StateTextColorNotReady;
|
|
||||||
default.StateTextColorSpectator = Settings.StateTextColorSpectator;
|
|
||||||
default.StateTextColorDead = Settings.StateTextColorDead;
|
|
||||||
default.StateTextColorNone = Settings.StateTextColorNone;
|
|
||||||
default.StateTextColorHealthLow = Settings.StateTextColorHealthLow;
|
|
||||||
default.StateTextColorHealthMid = Settings.StateTextColorHealthMid;
|
|
||||||
default.StateTextColorHealthHigh = Settings.StateTextColorHealthHigh;
|
|
||||||
|
|
||||||
// Rank text
|
|
||||||
default.RankTextColor = Settings.RankTextColor;
|
|
||||||
|
|
||||||
// Player text
|
|
||||||
default.PlayerNameTextColor = Settings.PlayerNameTextColor;
|
|
||||||
|
|
||||||
// Level text
|
|
||||||
default.LevelTextColorLow = Settings.LevelTextColorLow;
|
|
||||||
default.LevelTextColorMid = Settings.LevelTextColorMid;
|
|
||||||
default.LevelTextColorHigh = Settings.LevelTextColorHigh;
|
|
||||||
|
|
||||||
// Perk text
|
|
||||||
default.ZedTextColor = Settings.ZedTextColor;
|
|
||||||
default.PerkNoneTextColor = Settings.PerkNoneTextColor;
|
|
||||||
default.PerkBerserkerTextColor = Settings.PerkBerserkerTextColor;
|
|
||||||
default.PerkCommandoTextColor = Settings.PerkCommandoTextColor;
|
|
||||||
default.PerkSupportTextColor = Settings.PerkSupportTextColor;
|
|
||||||
default.PerkFieldMedicTextColor = Settings.PerkFieldMedicTextColor;
|
|
||||||
default.PerkDemolitionistTextColor = Settings.PerkDemolitionistTextColor;
|
|
||||||
default.PerkFirebugTextColor = Settings.PerkFirebugTextColor;
|
|
||||||
default.PerkGunslingerTextColor = Settings.PerkGunslingerTextColor;
|
|
||||||
default.PerkSharpshooterTextColor = Settings.PerkSharpshooterTextColor;
|
|
||||||
default.PerkSwatTextColor = Settings.PerkSwatTextColor;
|
|
||||||
default.PerkSurvivalistTextColor = Settings.PerkSurvivalistTextColor;
|
|
||||||
|
|
||||||
// Dosh text
|
|
||||||
default.DoshTextColorLow = Settings.DoshTextColorLow;
|
|
||||||
default.DoshTextColorMid = Settings.DoshTextColorMid;
|
|
||||||
default.DoshTextColorHigh = Settings.DoshTextColorHigh;
|
|
||||||
|
|
||||||
// Kills text
|
|
||||||
default.KillsTextColorLow = Settings.KillsTextColorLow;
|
|
||||||
default.KillsTextColorMid = Settings.KillsTextColorMid;
|
|
||||||
default.KillsTextColorHigh = Settings.KillsTextColorHigh;
|
|
||||||
|
|
||||||
// Assists text
|
|
||||||
default.AssistsTextColorLow = Settings.AssistsTextColorLow;
|
|
||||||
default.AssistsTextColorMid = Settings.AssistsTextColorMid;
|
|
||||||
default.AssistsTextColorHigh = Settings.AssistsTextColorHigh;
|
|
||||||
|
|
||||||
// Ping text
|
|
||||||
default.PingTextColorNone = Settings.PingTextColorNone;
|
|
||||||
default.PingTextColorLow = Settings.PingTextColorLow;
|
|
||||||
default.PingTextColorMid = Settings.PingTextColorMid;
|
|
||||||
default.PingTextColorHigh = Settings.PingTextColorHigh;
|
|
||||||
|
|
||||||
// Other settings
|
|
||||||
default.bShowPingBars = Settings.ShowPingBars;
|
|
||||||
default.bHealthBoxSmoothColorChange = Settings.HealthBoxSmoothColorChange;
|
|
||||||
default.bHealthTextSmoothColorChange = Settings.HealthTextSmoothColorChange;
|
|
||||||
default.bLevelTextSmoothColorChange = Settings.LevelTextSmoothColorChange;
|
|
||||||
default.bDoshTextSmoothColorChange = Settings.DoshTextSmoothColorChange;
|
|
||||||
default.bKillsTextSmoothColorChange = Settings.KillsTextSmoothColorChange;
|
|
||||||
default.bAssistsTextSmoothColorChange = Settings.AssistsTextSmoothColorChange;
|
|
||||||
default.bPingTextSmoothColorChange = Settings.PingTextSmoothColorChange;
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultProperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
class ScoreboardStyleClient extends ScoreboardStyle
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config bool bEnabled;
|
|
||||||
|
|
||||||
defaultProperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
class SettingsHealth extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config int Low;
|
|
||||||
var config int High;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
case 1:
|
|
||||||
WriteSettings(DefaultSettings());
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsHealth DefaultSettings()
|
|
||||||
{
|
|
||||||
local YASSettingsHealth Settings;
|
|
||||||
|
|
||||||
`callstack_static("DefaultSettings");
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsHealth Settings()
|
|
||||||
{
|
|
||||||
local YASSettingsHealth Settings;
|
|
||||||
|
|
||||||
`callstack_static("Settings");
|
|
||||||
|
|
||||||
Settings.Low = default.Low;
|
|
||||||
Settings.High = default.High;
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function WriteSettings(YASSettingsHealth Settings)
|
|
||||||
{
|
|
||||||
`callstack_static("WriteSettings");
|
|
||||||
|
|
||||||
default.Low = Settings.Low;
|
|
||||||
default.High = Settings.High;
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,76 +0,0 @@
|
|||||||
class SettingsLevel extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config int Normal_Low;
|
|
||||||
var config int Normal_High;
|
|
||||||
var config int Hard_Low;
|
|
||||||
var config int Hard_High;
|
|
||||||
var config int Suicide_Low;
|
|
||||||
var config int Suicide_High;
|
|
||||||
var config int HellOnEarth_Low;
|
|
||||||
var config int HellOnEarth_High;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
case 1:
|
|
||||||
WriteSettings(DefaultSettings());
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsLevel DefaultSettings()
|
|
||||||
{
|
|
||||||
local YASSettingsLevel Settings;
|
|
||||||
|
|
||||||
`callstack_static("DefaultSettings");
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsLevel Settings()
|
|
||||||
{
|
|
||||||
local YASSettingsLevel Settings;
|
|
||||||
|
|
||||||
`callstack_static("Settings");
|
|
||||||
|
|
||||||
Settings.Low [0] = default.Normal_Low;
|
|
||||||
Settings.High[0] = default.Normal_High;
|
|
||||||
Settings.Low [1] = default.Hard_Low;
|
|
||||||
Settings.High[1] = default.Hard_High;
|
|
||||||
Settings.Low [2] = default.Suicide_Low;
|
|
||||||
Settings.High[2] = default.Suicide_High;
|
|
||||||
Settings.Low [3] = default.HellOnEarth_Low;
|
|
||||||
Settings.High[3] = default.HellOnEarth_High;
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function WriteSettings(YASSettingsLevel Settings)
|
|
||||||
{
|
|
||||||
`callstack_static("WriteSettings");
|
|
||||||
|
|
||||||
default.Normal_Low = Settings.Low [0];
|
|
||||||
default.Normal_High = Settings.High[0];
|
|
||||||
default.Hard_Low = Settings.Low [1];
|
|
||||||
default.Hard_High = Settings.High[1];
|
|
||||||
default.Suicide_Low = Settings.Low [2];
|
|
||||||
default.Suicide_High = Settings.High[2];
|
|
||||||
default.HellOnEarth_Low = Settings.Low [3];
|
|
||||||
default.HellOnEarth_High = Settings.High[3];
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
class SettingsPing extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config int Low;
|
|
||||||
var config int High;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
case 1:
|
|
||||||
WriteSettings(DefaultSettings());
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsPing DefaultSettings()
|
|
||||||
{
|
|
||||||
local YASSettingsPing Settings;
|
|
||||||
|
|
||||||
`callstack_static("DefaultSettings");
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsPing Settings()
|
|
||||||
{
|
|
||||||
local YASSettingsPing Settings;
|
|
||||||
|
|
||||||
`callstack_static("Settings");
|
|
||||||
|
|
||||||
Settings.Low = default.Low;
|
|
||||||
Settings.High = default.High;
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function WriteSettings(YASSettingsPing Settings)
|
|
||||||
{
|
|
||||||
`callstack_static("WriteSettings");
|
|
||||||
|
|
||||||
default.Low = Settings.Low;
|
|
||||||
default.High = Settings.High;
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,32 +0,0 @@
|
|||||||
class SteamGroupRankRelations extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config array<RankRelation> Relation;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
local RankRelation ExampleSteamGroup;
|
|
||||||
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
// Example steam group
|
|
||||||
ExampleSteamGroup.ObjectID = "103582791465384046"; // MSK-GS SteamID64
|
|
||||||
ExampleSteamGroup.RankID = 1;
|
|
||||||
default.Relation.AddItem(ExampleSteamGroup);
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
class SystemAdminRank extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config string Rank;
|
|
||||||
var config ColorRGBA TextColor;
|
|
||||||
var config Fields ApplyColorToFields;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
WriteSettings(DefaultSettings());
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsAdmin DefaultSettings()
|
|
||||||
{
|
|
||||||
local YASSettingsAdmin Settings;
|
|
||||||
|
|
||||||
`callstack_static("DefaultSettings");
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsAdmin Settings()
|
|
||||||
{
|
|
||||||
local YASSettingsAdmin Settings;
|
|
||||||
|
|
||||||
`callstack_static("Settings");
|
|
||||||
|
|
||||||
Settings.Rank = default.Rank;
|
|
||||||
Settings.TextColor = default.TextColor;
|
|
||||||
Settings.ApplyColorToFields = default.ApplyColorToFields;
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function WriteSettings(YASSettingsAdmin Settings)
|
|
||||||
{
|
|
||||||
`callstack_static("WriteSettings");
|
|
||||||
|
|
||||||
default.Rank = Settings.Rank;
|
|
||||||
default.TextColor = Settings.TextColor;
|
|
||||||
default.ApplyColorToFields = Settings.ApplyColorToFields;
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
@ -1,62 +0,0 @@
|
|||||||
class SystemPlayerRank extends Object
|
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
var config string Rank;
|
|
||||||
var config ColorRGBA TextColor;
|
|
||||||
var config Fields ApplyColorToFields;
|
|
||||||
|
|
||||||
public static function InitConfig(int ConfigVersion)
|
|
||||||
{
|
|
||||||
`callstack_static("InitConfig");
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
WriteSettings(DefaultSettings());
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
|
|
||||||
case 2147483647:
|
|
||||||
StaticSaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsPlayer DefaultSettings()
|
|
||||||
{
|
|
||||||
local YASSettingsPlayer Settings;
|
|
||||||
|
|
||||||
`callstack_static("DefaultSettings");
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function YASSettingsPlayer Settings()
|
|
||||||
{
|
|
||||||
local YASSettingsPlayer Settings;
|
|
||||||
|
|
||||||
`callstack_static("Settings");
|
|
||||||
|
|
||||||
Settings.Rank = default.Rank;
|
|
||||||
Settings.TextColor = default.TextColor;
|
|
||||||
Settings.ApplyColorToFields = default.ApplyColorToFields;
|
|
||||||
|
|
||||||
return Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function WriteSettings(YASSettingsPlayer Settings)
|
|
||||||
{
|
|
||||||
`callstack_static("WriteSettings");
|
|
||||||
|
|
||||||
default.Rank = Settings.Rank;
|
|
||||||
default.TextColor = Settings.TextColor;
|
|
||||||
default.ApplyColorToFields = Settings.ApplyColorToFields;
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
202
YAS/Classes/YAS.uc
Normal file
202
YAS/Classes/YAS.uc
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
class YAS extends Info
|
||||||
|
config(YAS);
|
||||||
|
|
||||||
|
const LatestVersion = 1;
|
||||||
|
|
||||||
|
//const CfgExampleConfig = class'ExampleConfig';
|
||||||
|
|
||||||
|
var private config int Version;
|
||||||
|
var private config E_LogLevel LogLevel;
|
||||||
|
|
||||||
|
var private KFGameInfo KFGI;
|
||||||
|
var private KFGameInfo_Survival KFGIS;
|
||||||
|
var private KFGameInfo_Endless KFGIE;
|
||||||
|
var private KFGameReplicationInfo KFGRI;
|
||||||
|
|
||||||
|
var private Array<YAS_RepInfo> RepInfos;
|
||||||
|
|
||||||
|
public simulated function bool SafeDestroy()
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
return (bPendingDelete || bDeleteMe || Destroy());
|
||||||
|
}
|
||||||
|
|
||||||
|
public event PreBeginPlay()
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (WorldInfo.NetMode == NM_Client)
|
||||||
|
{
|
||||||
|
`Log_Fatal("NetMode == NM_Client");
|
||||||
|
SafeDestroy();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Super.PreBeginPlay();
|
||||||
|
|
||||||
|
PreInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
public event PostBeginPlay()
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (bPendingDelete || bDeleteMe) return;
|
||||||
|
|
||||||
|
Super.PostBeginPlay();
|
||||||
|
|
||||||
|
PostInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function PreInit()
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (Version == `NO_CONFIG)
|
||||||
|
{
|
||||||
|
LogLevel = LL_Info;
|
||||||
|
SaveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
//CfgExampleConfig.static.InitConfig(Version, LatestVersion);
|
||||||
|
|
||||||
|
switch (Version)
|
||||||
|
{
|
||||||
|
case `NO_CONFIG:
|
||||||
|
`Log_Info("Config created");
|
||||||
|
|
||||||
|
case MaxInt:
|
||||||
|
`Log_Info("Config updated to version" @ LatestVersion);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LatestVersion:
|
||||||
|
`Log_Info("Config is up-to-date");
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
`Log_Warn("The config version is higher than the current version (are you using an old mutator?)");
|
||||||
|
`Log_Warn("Config version is" @ Version @ "but current version is" @ LatestVersion);
|
||||||
|
`Log_Warn("The config version will be changed to" @ LatestVersion);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (LatestVersion != Version)
|
||||||
|
{
|
||||||
|
Version = LatestVersion;
|
||||||
|
SaveConfig();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (LogLevel == LL_WrongLevel)
|
||||||
|
{
|
||||||
|
LogLevel = LL_Info;
|
||||||
|
`Log_Warn("Wrong 'LogLevel', return to default value");
|
||||||
|
SaveConfig();
|
||||||
|
}
|
||||||
|
`Log_Base("LogLevel:" @ LogLevel);
|
||||||
|
|
||||||
|
//ExampleConfig = CfgExampleConfig.static.Load(LogLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function PostInit()
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (WorldInfo == None || WorldInfo.Game == None)
|
||||||
|
{
|
||||||
|
SetTimer(1.0f, false, nameof(PostInit));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
KFGI = KFGameInfo(WorldInfo.Game);
|
||||||
|
if (KFGI == None)
|
||||||
|
{
|
||||||
|
`Log_Fatal("Incompatible gamemode:" @ WorldInfo.Game);
|
||||||
|
SafeDestroy();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
KFGI.HUDType = class'YAS_HUD';
|
||||||
|
|
||||||
|
if (KFGI.GameReplicationInfo == None)
|
||||||
|
{
|
||||||
|
SetTimer(1.0f, false, nameof(PostInit));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
KFGRI = KFGameReplicationInfo(KFGI.GameReplicationInfo);
|
||||||
|
if (KFGRI == None)
|
||||||
|
{
|
||||||
|
`Log_Fatal("Incompatible Replication info:" @ KFGI.GameReplicationInfo);
|
||||||
|
SafeDestroy();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
KFGIS = KFGameInfo_Survival(KFGI);
|
||||||
|
KFGIE = KFGameInfo_Endless(KFGI);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function NotifyLogin(Controller C)
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (!CreateRepInfo(C))
|
||||||
|
{
|
||||||
|
`Log_Error("Can't create RepInfo for:" @ C);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function NotifyLogout(Controller C)
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (!DestroyRepInfo(C))
|
||||||
|
{
|
||||||
|
`Log_Error("Can't destroy RepInfo of:" @ C);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function bool CreateRepInfo(Controller C)
|
||||||
|
{
|
||||||
|
local YAS_RepInfo RepInfo;
|
||||||
|
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (C == None) return false;
|
||||||
|
|
||||||
|
RepInfo = Spawn(class'YAS_RepInfo', C);
|
||||||
|
|
||||||
|
if (RepInfo == None) return false;
|
||||||
|
|
||||||
|
// Do something
|
||||||
|
|
||||||
|
RepInfos.AddItem(RepInfo);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function bool DestroyRepInfo(Controller C)
|
||||||
|
{
|
||||||
|
local YAS_RepInfo RepInfo;
|
||||||
|
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
if (C == None) return false;
|
||||||
|
|
||||||
|
foreach RepInfos(RepInfo)
|
||||||
|
{
|
||||||
|
if (RepInfo.Owner == C)
|
||||||
|
{
|
||||||
|
RepInfos.RemoveItem(RepInfo);
|
||||||
|
RepInfo.SafeDestroy();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
DefaultProperties
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
4
YAS/Classes/YAS.upkg
Normal file
4
YAS/Classes/YAS.upkg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Flags]
|
||||||
|
AllowDownload=True
|
||||||
|
ClientOptional=False
|
||||||
|
ServerSideOnly=False
|
@ -1,212 +1,60 @@
|
|||||||
class YASMut extends KFMutator
|
class YASMut extends KFMutator;
|
||||||
dependson(Types)
|
|
||||||
config(YAS);
|
var private YAS YAS;
|
||||||
|
|
||||||
`include(Build.uci)
|
public simulated function bool SafeDestroy()
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
const CurrentVersion = 2;
|
|
||||||
|
|
||||||
var config int ConfigVersion;
|
|
||||||
|
|
||||||
var private OnlineSubsystem Steamworks;
|
|
||||||
|
|
||||||
var private array<YASRepInfo> RepInfos;
|
|
||||||
var private array<UIDRankRelation> UIDRankRelationsPlayers;
|
|
||||||
var private array<UIDRankRelation> UIDRankRelationsSteamGroups;
|
|
||||||
var private array<UIDRankRelation> UIDRankRelationsActive;
|
|
||||||
var private YASSettings Settings;
|
|
||||||
|
|
||||||
function PostBeginPlay()
|
|
||||||
{
|
{
|
||||||
`callstack();
|
return (bPendingDelete || bDeleteMe || Destroy());
|
||||||
|
|
||||||
Super.PostBeginPlay();
|
|
||||||
|
|
||||||
WorldInfo.Game.HUDType = class'YASHUD';
|
|
||||||
Steamworks = class'GameEngine'.static.GetOnlineSubsystem();
|
|
||||||
|
|
||||||
InitConfig();
|
|
||||||
|
|
||||||
LoadRelations();
|
|
||||||
|
|
||||||
Settings.Style = class'ScoreboardStyle'.static.Settings();
|
|
||||||
Settings.Admin = class'SystemAdminRank'.static.Settings();
|
|
||||||
Settings.Player = class'SystemPlayerRank'.static.Settings();
|
|
||||||
Settings.Health = class'SettingsHealth'.static.Settings();
|
|
||||||
Settings.Ping = class'SettingsPing'.static.Settings();
|
|
||||||
Settings.Level = class'SettingsLevel'.static.Settings();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function NotifyLogin(Controller C)
|
public event PreBeginPlay()
|
||||||
{
|
{
|
||||||
`callstack();
|
Super.PreBeginPlay();
|
||||||
|
|
||||||
CreateRepInfo(C);
|
if (WorldInfo.NetMode == NM_Client) return;
|
||||||
|
|
||||||
|
foreach WorldInfo.DynamicActors(class'YAS', YAS)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YAS == None)
|
||||||
|
{
|
||||||
|
YAS = WorldInfo.Spawn(class'YAS');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (YAS == None)
|
||||||
|
{
|
||||||
|
`Log_Base("FATAL: Can't Spawn 'YAS'");
|
||||||
|
SafeDestroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function AddMutator(Mutator Mut)
|
||||||
|
{
|
||||||
|
if (Mut == Self) return;
|
||||||
|
|
||||||
|
if (Mut.Class == Class)
|
||||||
|
Mut.Destroy();
|
||||||
|
else
|
||||||
|
Super.AddMutator(Mut);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function NotifyLogin(Controller C)
|
||||||
|
{
|
||||||
|
YAS.NotifyLogin(C);
|
||||||
|
|
||||||
Super.NotifyLogin(C);
|
Super.NotifyLogin(C);
|
||||||
}
|
}
|
||||||
|
|
||||||
function NotifyLogout(Controller C)
|
public function NotifyLogout(Controller C)
|
||||||
{
|
{
|
||||||
`callstack();
|
YAS.NotifyLogout(C);
|
||||||
|
|
||||||
DestroyRepInfo(C);
|
|
||||||
|
|
||||||
Super.NotifyLogout(C);
|
Super.NotifyLogout(C);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function bool IsUID(String ID)
|
DefaultProperties
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
return (Left(ID, 2) ~= "0x");
|
|
||||||
}
|
|
||||||
|
|
||||||
private function InitConfig()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (ConfigVersion == 0) SaveConfig(); // because I want the main settings to be at the beginning of the config :)
|
|
||||||
|
|
||||||
class'ScoreboardStyle'.static.InitConfig(ConfigVersion);
|
|
||||||
class'SystemAdminRank'.static.InitConfig(ConfigVersion);
|
|
||||||
class'SystemPlayerRank'.static.InitConfig(ConfigVersion);
|
|
||||||
class'SettingsHealth'.static.InitConfig(ConfigVersion);
|
|
||||||
class'SettingsPing'.static.InitConfig(ConfigVersion);
|
|
||||||
class'SettingsLevel'.static.InitConfig(ConfigVersion);
|
|
||||||
class'CustomRanks'.static.InitConfig(ConfigVersion);
|
|
||||||
class'PlayerRankRelations'.static.InitConfig(ConfigVersion);
|
|
||||||
class'SteamGroupRankRelations'.static.InitConfig(ConfigVersion);
|
|
||||||
|
|
||||||
switch (ConfigVersion)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
case 1:
|
|
||||||
case 2147483647:
|
|
||||||
`info("Config updated to version"@CurrentVersion);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CurrentVersion:
|
|
||||||
`info("Config is up-to-date");
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
`warning("The config version is higher than the current version (are you using an old mutator?)");
|
|
||||||
`warning("Config version is"@ConfigVersion@"but current version is"@CurrentVersion);
|
|
||||||
`warning("The config version will be changed to "@CurrentVersion);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ConfigVersion != CurrentVersion)
|
|
||||||
{
|
|
||||||
ConfigVersion = CurrentVersion;
|
|
||||||
SaveConfig();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function LoadRelations()
|
|
||||||
{
|
|
||||||
local RankRelation Player, SteamGroup;
|
|
||||||
local UIDRankRelation UIDInfo;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
foreach class'PlayerRankRelations'.default.Relation(Player)
|
|
||||||
{
|
|
||||||
UIDInfo.RankID = Player.RankID;
|
|
||||||
if (IsUID(Player.ObjectID) && Steamworks.StringToUniqueNetId(Player.ObjectID, UIDInfo.UID))
|
|
||||||
{
|
|
||||||
if (UIDRankRelationsPlayers.Find('Uid', UIDInfo.UID) == INDEX_NONE)
|
|
||||||
UIDRankRelationsPlayers.AddItem(UIDInfo);
|
|
||||||
}
|
|
||||||
else if (Steamworks.Int64ToUniqueNetId(Player.ObjectID, UIDInfo.UID))
|
|
||||||
{
|
|
||||||
if (UIDRankRelationsPlayers.Find('Uid', UIDInfo.UID) == INDEX_NONE)
|
|
||||||
UIDRankRelationsPlayers.AddItem(UIDInfo);
|
|
||||||
}
|
|
||||||
else `warning("Can't add player:"@Player.ObjectID);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach class'SteamGroupRankRelations'.default.Relation(SteamGroup)
|
|
||||||
{
|
|
||||||
UIDInfo.RankID = SteamGroup.RankID;
|
|
||||||
if (IsUID(SteamGroup.ObjectID) && Steamworks.StringToUniqueNetId(SteamGroup.ObjectID, UIDInfo.UID))
|
|
||||||
{
|
|
||||||
if (UIDRankRelationsPlayers.Find('Uid', UIDInfo.UID) == INDEX_NONE)
|
|
||||||
UIDRankRelationsPlayers.AddItem(UIDInfo);
|
|
||||||
}
|
|
||||||
else if (Steamworks.Int64ToUniqueNetId(SteamGroup.ObjectID, UIDInfo.UID))
|
|
||||||
{
|
|
||||||
if (UIDRankRelationsSteamGroups.Find('Uid', UIDInfo.UID) == INDEX_NONE)
|
|
||||||
UIDRankRelationsSteamGroups.AddItem(UIDInfo);
|
|
||||||
}
|
|
||||||
else `warning("Can't add steamgroup:"@SteamGroup.ObjectID);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private function CreateRepInfo(Controller C)
|
|
||||||
{
|
|
||||||
local YASRepInfo RepInfo;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (C == None) return;
|
|
||||||
|
|
||||||
RepInfo = Spawn(class'YASRepInfo', C);
|
|
||||||
|
|
||||||
RepInfo.Mut = Self;
|
|
||||||
RepInfo.Settings = Settings;
|
|
||||||
|
|
||||||
RepInfos.AddItem(RepInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function DestroyRepInfo(Controller C)
|
|
||||||
{
|
|
||||||
local YASRepInfo RepInfo;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (C == None) return;
|
|
||||||
|
|
||||||
foreach RepInfos(RepInfo)
|
|
||||||
{
|
|
||||||
if (RepInfo.Owner == C)
|
|
||||||
{
|
|
||||||
RepInfos.RemoveItem(RepInfo);
|
|
||||||
RepInfo.Destroy();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function UpdatePlayerRank(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
local YASRepInfo RepInfo;
|
|
||||||
local int Index;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
Index = UIDRankRelationsActive.Find('UID', Rel.UID);
|
|
||||||
if (Index != INDEX_NONE)
|
|
||||||
UIDRankRelationsActive[Index] = Rel;
|
|
||||||
else
|
|
||||||
UIDRankRelationsActive.AddItem(Rel);
|
|
||||||
|
|
||||||
foreach RepInfos(RepInfo)
|
|
||||||
RepInfo.UpdateRankRelation(Rel);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function AddPlayerRank(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
local YASRepInfo RepInfo;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
foreach RepInfos(RepInfo)
|
|
||||||
RepInfo.AddRankRelation(Rel);
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
@ -1,258 +0,0 @@
|
|||||||
class YASRepInfo extends ReplicationInfo;
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
// Server vars
|
|
||||||
var public YASMut Mut;
|
|
||||||
|
|
||||||
// Client vars
|
|
||||||
var private KFScoreBoard SC;
|
|
||||||
var private OnlineSubsystemSteamworks SW;
|
|
||||||
|
|
||||||
// Fitst time replication
|
|
||||||
var public array<UIDRankRelation> SteamGroupRelations;
|
|
||||||
var private array<UIDRankRelation> RankRelations;
|
|
||||||
var public array<RankInfo> CustomRanks;
|
|
||||||
var public YASSettings Settings;
|
|
||||||
var public UIDRankRelation RankRelation; // Current player rank relation
|
|
||||||
|
|
||||||
var private int CustomRanksRepProgress, SteamGroupsRepProgress;
|
|
||||||
|
|
||||||
simulated event PostBeginPlay()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
super.PostBeginPlay();
|
|
||||||
|
|
||||||
if (bDeleteMe) return;
|
|
||||||
|
|
||||||
if (Role < ROLE_Authority || WorldInfo.NetMode == NM_StandAlone)
|
|
||||||
{
|
|
||||||
GetScoreboard();
|
|
||||||
GetOnlineSubsystem();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function GetScoreboard()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (SC == None)
|
|
||||||
SC = YASHUD(GetALocalPlayerController().myHUD).Scoreboard;
|
|
||||||
|
|
||||||
if (SC == None)
|
|
||||||
SetTimer(0.1f, false, nameof(GetScoreboard));
|
|
||||||
else
|
|
||||||
ClearTimer(nameof(GetScoreboard));
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function GetOnlineSubsystem()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (SW == None)
|
|
||||||
SW = OnlineSubsystemSteamworks(class'GameEngine'.static.GetOnlineSubsystem());
|
|
||||||
|
|
||||||
if (SW == None)
|
|
||||||
SetTimer(0.1f, false, nameof(GetOnlineSubsystem));
|
|
||||||
else
|
|
||||||
ClearTimer(nameof(GetOnlineSubsystem));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function StartFirstTimeReplication()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
ClientAddSettings(Settings);
|
|
||||||
SetTimer(0.01f, true, nameof(ReplicateCustomRanks));
|
|
||||||
SetTimer(0.01f, true, nameof(ReplicateSteamGroupRelations));
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientAddSettings(YASSettings Set)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
Settings = Set;
|
|
||||||
ClientApplySettings();
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientApplySettings()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (SC == None)
|
|
||||||
{
|
|
||||||
SetTimer(0.1f, false, nameof(ClientApplySettings));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearTimer(nameof(ClientApplySettings));
|
|
||||||
|
|
||||||
if (class'ScoreboardStyleClient'.default.bEnabled)
|
|
||||||
Settings.Style = class'ScoreboardStyleClient'.static.Settings();
|
|
||||||
|
|
||||||
SC.Settings = Settings;
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientApplyCustomRanks()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (SC == None)
|
|
||||||
{
|
|
||||||
SetTimer(0.1f, false, nameof(ClientApplyCustomRanks));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearTimer(nameof(ClientApplyCustomRanks));
|
|
||||||
SC.CustomRanks = CustomRanks;
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientApplyRankRelations()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (SC == None)
|
|
||||||
{
|
|
||||||
SetTimer(0.1f, false, nameof(ClientApplyRankRelations));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ClearTimer(nameof(ClientApplyRankRelations));
|
|
||||||
SC.RankRelations = RankRelations;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function ReplicateCustomRanks()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (WorldInfo.NetMode != NM_StandAlone && CustomRanksRepProgress < CustomRanks.Length)
|
|
||||||
{
|
|
||||||
ClientAddCustomRank(CustomRanks[CustomRanksRepProgress]);
|
|
||||||
++CustomRanksRepProgress;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ClearTimer(nameof(ReplicateCustomRanks));
|
|
||||||
ClientApplyCustomRanks();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientAddCustomRank(RankInfo Rank)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
CustomRanks.AddItem(Rank);
|
|
||||||
}
|
|
||||||
|
|
||||||
private function ReplicateSteamGroupRelations()
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
if (WorldInfo.NetMode != NM_StandAlone && SteamGroupsRepProgress < SteamGroupRelations.Length)
|
|
||||||
{
|
|
||||||
ClientAddSteamGroupRelation(SteamGroupRelations[SteamGroupsRepProgress]);
|
|
||||||
++SteamGroupsRepProgress;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ClearTimer(nameof(ReplicateSteamGroupRelations));
|
|
||||||
if (RankRelation.RankID == INDEX_NONE)
|
|
||||||
FindMyRankInSteamGroups();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientAddSteamGroupRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
SteamGroupRelations.AddItem(Rel);
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function FindMyRankInSteamGroups()
|
|
||||||
{
|
|
||||||
local UIDRankRelation SteamGroupRel;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
foreach SteamGroupRelations(SteamGroupRel)
|
|
||||||
if (SW.CheckPlayerGroup(SteamGroupRel.UID) && (RankRelation.RankID < 0 || SteamGroupRel.RankID < RankRelation.RankID))
|
|
||||||
RankRelation.RankID = SteamGroupRel.RankID;
|
|
||||||
|
|
||||||
if (RankRelation.RankID != INDEX_NONE)
|
|
||||||
ServerApplyRank(RankRelation.RankID);
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable server function ServerApplyRank(int RankID)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
RankRelation.RankID = RankID;
|
|
||||||
Mut.UpdatePlayerRank(RankRelation);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function AddRankRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
ClientAddRankRelation(Rel);
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientAddRankRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
RankRelations.AddItem(Rel);
|
|
||||||
ClientApplyRankRelations();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function RemoveRankRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
ClientRemoveRankRelation(Rel);
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientRemoveRankRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
RankRelations.RemoveItem(Rel);
|
|
||||||
ClientApplyRankRelations();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function UpdateRankRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
ClientUpdateRankRelation(Rel);
|
|
||||||
}
|
|
||||||
|
|
||||||
private reliable client function ClientUpdateRankRelation(UIDRankRelation Rel)
|
|
||||||
{
|
|
||||||
local int Index;
|
|
||||||
|
|
||||||
`callstack();
|
|
||||||
|
|
||||||
Index = RankRelations.Find('UID', Rel.UID);
|
|
||||||
|
|
||||||
if (Index != INDEX_NONE)
|
|
||||||
RankRelations[Index] = Rel;
|
|
||||||
else
|
|
||||||
RankRelations.AddItem(Rel);
|
|
||||||
|
|
||||||
ClientApplyRankRelations();
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultproperties
|
|
||||||
{
|
|
||||||
bAlwaysRelevant = false;
|
|
||||||
bOnlyRelevantToOwner = true;
|
|
||||||
Role = ROLE_Authority;
|
|
||||||
RemoteRole = ROLE_SimulatedProxy;
|
|
||||||
bSkipActorPropertyReplication = false; // This is needed, otherwise the client-to-server RPC fails
|
|
||||||
|
|
||||||
CustomRanksRepProgress = 0;
|
|
||||||
SteamGroupsRepProgress = 0;
|
|
||||||
}
|
|
@ -1,16 +1,12 @@
|
|||||||
class YASHUD extends KFGFxHudWrapper
|
class YAS_HUD extends KFGFxHudWrapper;
|
||||||
config(YASMut);
|
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
const HUDBorderSize = 3;
|
const HUDBorderSize = 3;
|
||||||
|
|
||||||
var float ScaledBorderSize;
|
var float ScaledBorderSize;
|
||||||
var array<KFGUI_Base> HUDWidgets;
|
var array<KFGUI_Base> HUDWidgets;
|
||||||
|
|
||||||
var class<KFScoreBoard> ScoreboardClass;
|
var class<YAS_ScoreBoard> ScoreboardClass;
|
||||||
var KFScoreBoard Scoreboard;
|
var YAS_ScoreBoard Scoreboard;
|
||||||
|
|
||||||
var transient KF2GUIController GUIController;
|
var transient KF2GUIController GUIController;
|
||||||
var transient GUIStyleBase GUIStyle;
|
var transient GUIStyleBase GUIStyle;
|
||||||
@ -58,7 +54,7 @@ function PostRender()
|
|||||||
|
|
||||||
function LaunchHUDMenus()
|
function LaunchHUDMenus()
|
||||||
{
|
{
|
||||||
Scoreboard = KFScoreBoard(GUIController.InitializeHUDWidget(ScoreboardClass));
|
Scoreboard = YAS_ScoreBoard(GUIController.InitializeHUDWidget(ScoreboardClass));
|
||||||
Scoreboard.SetVisibility(false);
|
Scoreboard.SetVisibility(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -110,5 +106,5 @@ exec function SetShowScores(bool bNewValue)
|
|||||||
|
|
||||||
defaultproperties
|
defaultproperties
|
||||||
{
|
{
|
||||||
ScoreboardClass=class'KFScoreBoard'
|
ScoreboardClass=class'YAS_ScoreBoard'
|
||||||
}
|
}
|
68
YAS/Classes/YAS_RepInfo.uc
Normal file
68
YAS/Classes/YAS_RepInfo.uc
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
class YAS_RepInfo extends ReplicationInfo;
|
||||||
|
|
||||||
|
// Server
|
||||||
|
var public YASMut Mut;
|
||||||
|
var public E_LogLevel LogLevel;
|
||||||
|
|
||||||
|
// Client
|
||||||
|
var private YAS_ScoreBoard SC;
|
||||||
|
var private OnlineSubsystemSteamworks SW;
|
||||||
|
|
||||||
|
public simulated function bool SafeDestroy()
|
||||||
|
{
|
||||||
|
`Log_Trace();
|
||||||
|
|
||||||
|
return (bPendingDelete || bDeleteMe || Destroy());
|
||||||
|
}
|
||||||
|
|
||||||
|
public simulated event PreBeginPlay()
|
||||||
|
{
|
||||||
|
if (bPendingDelete || bDeleteMe) return;
|
||||||
|
|
||||||
|
Super.PreBeginPlay();
|
||||||
|
|
||||||
|
if (Role < ROLE_Authority || WorldInfo.NetMode == NM_StandAlone)
|
||||||
|
{
|
||||||
|
GetScoreboard();
|
||||||
|
GetOnlineSubsystem();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public simulated event PostBeginPlay()
|
||||||
|
{
|
||||||
|
if (bPendingDelete || bDeleteMe) return;
|
||||||
|
|
||||||
|
Super.PostBeginPlay();
|
||||||
|
}
|
||||||
|
|
||||||
|
private reliable client function GetScoreboard() // TODO: !
|
||||||
|
{
|
||||||
|
if (SC == None)
|
||||||
|
{
|
||||||
|
SC = YAS_HUD(GetALocalPlayerController().myHUD).Scoreboard; // GetKFPC?
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SC == None)
|
||||||
|
{
|
||||||
|
SetTimer(0.1f, false, nameof(GetScoreboard));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ClearTimer(nameof(GetScoreboard));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private reliable client function GetOnlineSubsystem()
|
||||||
|
{
|
||||||
|
// TODO: !
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
Role = ROLE_Authority
|
||||||
|
RemoteRole = ROLE_SimulatedProxy
|
||||||
|
|
||||||
|
bAlwaysRelevant = false
|
||||||
|
bOnlyRelevantToOwner = true
|
||||||
|
bSkipActorPropertyReplication = false
|
||||||
|
}
|
@ -1,10 +1,7 @@
|
|||||||
class KFScoreBoard extends KFGUI_Page
|
class YAS_ScoreBoard extends KFGUI_Page
|
||||||
dependson(Types);
|
dependson(YAS_Types);
|
||||||
|
|
||||||
`include(Build.uci)
|
const HeaderWidthRatio = 0.35f;
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
const HeaderWidthRatio = 0.35f;
|
|
||||||
const PlayerListWidthRatio = 0.6f;
|
const PlayerListWidthRatio = 0.6f;
|
||||||
|
|
||||||
var transient float HealthXPos, RankXPos, PlayerXPos, LevelXPos, PerkXPos, DoshXPos, KillsXPos, AssistXPos, PingXPos, ScrollXPos;
|
var transient float HealthXPos, RankXPos, PlayerXPos, LevelXPos, PerkXPos, DoshXPos, KillsXPos, AssistXPos, PingXPos, ScrollXPos;
|
||||||
@ -27,27 +24,10 @@ var float PingBars;
|
|||||||
// Cache
|
// Cache
|
||||||
var array<String> PerkNames;
|
var array<String> PerkNames;
|
||||||
|
|
||||||
// Ranks
|
var YAS_Settings Settings;
|
||||||
var array<RankInfo> CustomRanks;
|
|
||||||
var array<UIDRankRelation> RankRelations;
|
|
||||||
|
|
||||||
var YASSettings Settings;
|
|
||||||
|
|
||||||
// Localization
|
|
||||||
var localized string Players;
|
|
||||||
var localized string Spectators;
|
|
||||||
var localized string Rank;
|
|
||||||
var localized string State;
|
|
||||||
var localized string NoPerk;
|
|
||||||
var localized string Ready;
|
|
||||||
var localized string NotReady;
|
|
||||||
var localized string Unknown;
|
|
||||||
var localized string Dead;
|
|
||||||
|
|
||||||
function InitMenu()
|
function InitMenu()
|
||||||
{
|
{
|
||||||
`callstack();
|
|
||||||
|
|
||||||
Super.InitMenu();
|
Super.InitMenu();
|
||||||
PlayersList = KFGUI_List(FindComponentID('PlayerList'));
|
PlayersList = KFGUI_List(FindComponentID('PlayerList'));
|
||||||
OwnerPC = KFPlayerController(GetPlayer());
|
OwnerPC = KFPlayerController(GetPlayer());
|
||||||
@ -153,8 +133,8 @@ function DrawMenu()
|
|||||||
local float XPos, YPos, YL, XL, FontScalar, XPosCenter, BoxW, BoxX, BoxH, MinBoxW, DoshSize, ScrollBarWidth;
|
local float XPos, YPos, YL, XL, FontScalar, XPosCenter, BoxW, BoxX, BoxH, MinBoxW, DoshSize, ScrollBarWidth;
|
||||||
local int i, j, NumSpec, NumAlivePlayer, Width;
|
local int i, j, NumSpec, NumAlivePlayer, Width;
|
||||||
local float BorderSize;
|
local float BorderSize;
|
||||||
local ColorRGBA ColorTmp;
|
local Color ColorTMP;
|
||||||
|
|
||||||
PC = GetPlayer();
|
PC = GetPlayer();
|
||||||
if (KFGRI == None)
|
if (KFGRI == None)
|
||||||
{
|
{
|
||||||
@ -228,10 +208,10 @@ function DrawMenu()
|
|||||||
BoxH = YL + BorderSize;
|
BoxH = YL + BorderSize;
|
||||||
|
|
||||||
// Top Rect (Server name)
|
// Top Rect (Server name)
|
||||||
SetDrawColor(Canvas, Settings.Style.ServerNameBoxColor);
|
Canvas.SetDrawColorStruct(Settings.Style.ServerNameBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapeServerNameBox);
|
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapeServerNameBox);
|
||||||
|
|
||||||
SetDrawColor(Canvas, Settings.Style.ServerNameTextColor);
|
Canvas.SetDrawColorStruct(Settings.Style.ServerNameTextColor);
|
||||||
S = ServerName();
|
S = ServerName();
|
||||||
DrawTextShadowHVCenter(S, BoxX, YPos, BoxW, FontScalar);
|
DrawTextShadowHVCenter(S, BoxX, YPos, BoxW, FontScalar);
|
||||||
|
|
||||||
@ -240,10 +220,10 @@ function DrawMenu()
|
|||||||
// Mid Left Rect (Info)
|
// Mid Left Rect (Info)
|
||||||
BoxW = Width * 0.7; // TODO ?
|
BoxW = Width * 0.7; // TODO ?
|
||||||
BoxH = YL * 2 + BorderSize * 2;
|
BoxH = YL * 2 + BorderSize * 2;
|
||||||
SetDrawColor(Canvas, Settings.Style.GameInfoBoxColor);
|
Canvas.SetDrawColorStruct(Settings.Style.GameInfoBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapeGameInfoBox);
|
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapeGameInfoBox);
|
||||||
|
|
||||||
SetDrawColor(Canvas, Settings.Style.GameInfoTextColor);
|
Canvas.SetDrawColorStruct(Settings.Style.GameInfoTextColor);
|
||||||
S = class'KFCommon_LocalizedStrings'.static.GetFriendlyMapName(PC.WorldInfo.GetMapName(true));
|
S = class'KFCommon_LocalizedStrings'.static.GetFriendlyMapName(PC.WorldInfo.GetMapName(true));
|
||||||
DrawTextShadowHLeftVCenter(S, BoxX + Settings.Style.EdgeSize, YPos, FontScalar);
|
DrawTextShadowHLeftVCenter(S, BoxX + Settings.Style.EdgeSize, YPos, FontScalar);
|
||||||
|
|
||||||
@ -253,10 +233,10 @@ function DrawMenu()
|
|||||||
// Mid Right Rect (Wave)
|
// Mid Right Rect (Wave)
|
||||||
BoxX = BoxX + BoxW;
|
BoxX = BoxX + BoxW;
|
||||||
BoxW = Width - BoxW;
|
BoxW = Width - BoxW;
|
||||||
SetDrawColor(Canvas, Settings.Style.WaveBoxColor);
|
Canvas.SetDrawColorStruct(Settings.Style.WaveBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapeWaveInfoBox);
|
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapeWaveInfoBox);
|
||||||
|
|
||||||
SetDrawColor(Canvas, Settings.Style.WaveTextColor);
|
Canvas.SetDrawColorStruct(Settings.Style.WaveTextColor);
|
||||||
S = class'KFGFxHUD_ScoreboardMapInfoContainer'.default.WaveString;
|
S = class'KFGFxHUD_ScoreboardMapInfoContainer'.default.WaveString;
|
||||||
DrawTextShadowHVCenter(S, BoxX, YPos, BoxW, FontScalar);
|
DrawTextShadowHVCenter(S, BoxX, YPos, BoxW, FontScalar);
|
||||||
DrawTextShadowHVCenter(WaveText(), BoxX, YPos + YL, BoxW, FontScalar);
|
DrawTextShadowHVCenter(WaveText(), BoxX, YPos + YL, BoxW, FontScalar);
|
||||||
@ -267,11 +247,11 @@ function DrawMenu()
|
|||||||
BoxX = XPos;
|
BoxX = XPos;
|
||||||
BoxW = Width;
|
BoxW = Width;
|
||||||
BoxH = YL + BorderSize;
|
BoxH = YL + BorderSize;
|
||||||
SetDrawColor(Canvas, Settings.Style.PlayerCountBoxColor);
|
Canvas.SetDrawColorStruct(Settings.Style.PlayerCountBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapePlayersCountBox);
|
Owner.CurrentStyle.DrawRectBox(BoxX, YPos, BoxW, BoxH, Settings.Style.EdgeSize, Settings.Style.ShapePlayersCountBox);
|
||||||
|
|
||||||
SetDrawColor(Canvas, Settings.Style.PlayerCountTextColor);
|
Canvas.SetDrawColorStruct(Settings.Style.PlayerCountTextColor);
|
||||||
S = Players$": " $ NumPlayer $ " / " $ KFGRI.MaxHumanCount $ " " $ Spectators $ ": " $ NumSpec;
|
S = NumPlayer $ " / " $ KFGRI.MaxHumanCount; // $ " " $ Spectators $ ": " $ NumSpec;
|
||||||
Canvas.TextSize(S, XL, YL, FontScalar, FontScalar);
|
Canvas.TextSize(S, XL, YL, FontScalar, FontScalar);
|
||||||
DrawTextShadowHLeftVCenter(S, BoxX + Settings.Style.EdgeSize, YPos, FontScalar);
|
DrawTextShadowHLeftVCenter(S, BoxX + Settings.Style.EdgeSize, YPos, FontScalar);
|
||||||
|
|
||||||
@ -285,7 +265,7 @@ function DrawMenu()
|
|||||||
XPos = (Canvas.ClipX - Width) * 0.5;
|
XPos = (Canvas.ClipX - Width) * 0.5;
|
||||||
YPos += YL;
|
YPos += YL;
|
||||||
BoxH = YL + BorderSize;
|
BoxH = YL + BorderSize;
|
||||||
SetDrawColor(Canvas, Settings.Style.ListHeaderBoxColor);
|
Canvas.SetDrawColorStruct(Settings.Style.ListHeaderBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox( XPos - BorderSize * 2,
|
Owner.CurrentStyle.DrawRectBox( XPos - BorderSize * 2,
|
||||||
YPos,
|
YPos,
|
||||||
Width + BorderSize * 4,
|
Width + BorderSize * 4,
|
||||||
@ -339,7 +319,7 @@ function DrawMenu()
|
|||||||
LevelXPos = PerkXPos - LevelWBox;
|
LevelXPos = PerkXPos - LevelWBox;
|
||||||
|
|
||||||
// Header texts
|
// Header texts
|
||||||
SetDrawColor(Canvas, Settings.Style.ListHeaderTextColor);
|
Canvas.SetDrawColorStruct(Settings.Style.ListHeaderTextColor);
|
||||||
DrawTextShadowHLeftVCenter(class'KFGFxHUD_ScoreboardWidget'.default.PlayerString, XPos + PlayerXPos, YPos, FontScalar);
|
DrawTextShadowHLeftVCenter(class'KFGFxHUD_ScoreboardWidget'.default.PlayerString, XPos + PlayerXPos, YPos, FontScalar);
|
||||||
DrawTextShadowHLeftVCenter(class'KFGFxMenu_Inventory'.default.PerkFilterString, XPos + PerkXPos, YPos, FontScalar);
|
DrawTextShadowHLeftVCenter(class'KFGFxMenu_Inventory'.default.PerkFilterString, XPos + PerkXPos, YPos, FontScalar);
|
||||||
DrawTextShadowHVCenter(class'KFGFxHUD_ScoreboardWidget'.default.KillsString, XPos + KillsXPos, YPos, KillsWBox, FontScalar);
|
DrawTextShadowHVCenter(class'KFGFxHUD_ScoreboardWidget'.default.KillsString, XPos + KillsXPos, YPos, KillsWBox, FontScalar);
|
||||||
@ -347,9 +327,9 @@ function DrawMenu()
|
|||||||
DrawTextShadowHVCenter(class'KFGFxHUD_ScoreboardWidget'.default.DoshString, XPos + DoshXPos, YPos, DoshWBox, FontScalar);
|
DrawTextShadowHVCenter(class'KFGFxHUD_ScoreboardWidget'.default.DoshString, XPos + DoshXPos, YPos, DoshWBox, FontScalar);
|
||||||
DrawTextShadowHVCenter(class'KFGFxHUD_ScoreboardWidget'.default.PingString, XPos + PingXPos, YPos, PingWBox, FontScalar);
|
DrawTextShadowHVCenter(class'KFGFxHUD_ScoreboardWidget'.default.PingString, XPos + PingXPos, YPos, PingWBox, FontScalar);
|
||||||
|
|
||||||
ColorTmp = Settings.Style.ListHeaderTextColor;
|
ColorTMP = Settings.Style.ListHeaderTextColor;
|
||||||
ColorTmp.A = 150;
|
ColorTMP.A = 150;
|
||||||
SetDrawColor(Canvas, ColorTmp);
|
Canvas.SetDrawColorStruct(ColorTmp);
|
||||||
|
|
||||||
DrawHealthIcon(XPos + HealthXPos, YPos, HealthWBox, BoxH);
|
DrawHealthIcon(XPos + HealthXPos, YPos, HealthWBox, BoxH);
|
||||||
|
|
||||||
@ -405,11 +385,6 @@ function DrawTextShadowHRightVCenter(string Str, float XPos, float YPos, float B
|
|||||||
Owner.CurrentStyle.DrawTextShadow(Str, XPos + BoxWidth - TextWidth, YPos, 1, FontScalar);
|
Owner.CurrentStyle.DrawTextShadow(Str, XPos + BoxWidth - TextWidth, YPos, 1, FontScalar);
|
||||||
}
|
}
|
||||||
|
|
||||||
function SetDrawColor(Canvas C, ColorRGBA RGBA)
|
|
||||||
{
|
|
||||||
C.SetDrawColor(RGBA.R, RGBA.G, RGBA.B, RGBA.A);
|
|
||||||
}
|
|
||||||
|
|
||||||
function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float Width, bool bFocus)
|
function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float Width, bool bFocus)
|
||||||
{
|
{
|
||||||
local string S, StrValue;
|
local string S, StrValue;
|
||||||
@ -420,56 +395,21 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
local bool bIsZED;
|
local bool bIsZED;
|
||||||
local int Ping;
|
local int Ping;
|
||||||
|
|
||||||
local RankInfo CurrentRank;
|
|
||||||
local bool HasRank;
|
|
||||||
local int PlayerInfoIndex, PlayerRankIndex;
|
|
||||||
local float BorderSize;
|
local float BorderSize;
|
||||||
|
|
||||||
local int Shape, ShapeHealth;
|
local int Shape, ShapeHealth;
|
||||||
|
|
||||||
local ColorRGBA HealthBoxColor, HealthTextColor;
|
local Color HealthBoxColor, HealthTextColor;
|
||||||
|
|
||||||
BorderSize = Owner.HUDOwner.ScaledBorderSize;
|
BorderSize = Owner.HUDOwner.ScaledBorderSize;
|
||||||
|
|
||||||
YOffset *= 1.05;
|
YOffset *= 1.05;
|
||||||
KFPRI = KFPRIArray[Index];
|
KFPRI = KFPRIArray[Index];
|
||||||
|
|
||||||
HasRank = false;
|
|
||||||
|
|
||||||
PlayerInfoIndex = RankRelations.Find('UID', KFPRI.UniqueId);
|
|
||||||
if (PlayerInfoIndex != INDEX_NONE && RankRelations[PlayerInfoIndex].RankID != INDEX_NONE)
|
|
||||||
{
|
|
||||||
PlayerRankIndex = CustomRanks.Find('ID', RankRelations[PlayerInfoIndex].RankID);
|
|
||||||
if (PlayerRankIndex != INDEX_NONE)
|
|
||||||
{
|
|
||||||
HasRank = true;
|
|
||||||
CurrentRank = CustomRanks[PlayerRankIndex];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (KFPRI.bAdmin)
|
|
||||||
{
|
|
||||||
if (!HasRank || (HasRank && !CurrentRank.OverrideAdminRank))
|
|
||||||
{
|
|
||||||
CurrentRank.Rank = Settings.Admin.Rank;
|
|
||||||
CurrentRank.TextColor = Settings.Admin.TextColor;
|
|
||||||
CurrentRank.ApplyColorToFields = Settings.Admin.ApplyColorToFields;
|
|
||||||
HasRank = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else // Player
|
|
||||||
{
|
|
||||||
if (!HasRank)
|
|
||||||
{
|
|
||||||
CurrentRank.Rank = Settings.Player.Rank;
|
|
||||||
CurrentRank.TextColor = Settings.Player.TextColor;
|
|
||||||
CurrentRank.ApplyColorToFields = Settings.Player.ApplyColorToFields;
|
|
||||||
HasRank = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (KFGRI.bVersusGame)
|
if (KFGRI.bVersusGame)
|
||||||
|
{
|
||||||
bIsZED = KFTeamInfo_Zeds(KFPRI.Team) != None;
|
bIsZED = KFTeamInfo_Zeds(KFPRI.Team) != None;
|
||||||
|
}
|
||||||
|
|
||||||
XPos = 0.f;
|
XPos = 0.f;
|
||||||
|
|
||||||
@ -547,7 +487,7 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Health box
|
// Health box
|
||||||
SetDrawColor(C, HealthBoxColor);
|
C.SetDrawColorStruct(HealthBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox(XPos,
|
Owner.CurrentStyle.DrawRectBox(XPos,
|
||||||
YOffset,
|
YOffset,
|
||||||
HealthWBox,
|
HealthWBox,
|
||||||
@ -555,19 +495,20 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
Settings.Style.EdgeSize,
|
Settings.Style.EdgeSize,
|
||||||
ShapeHealth);
|
ShapeHealth);
|
||||||
|
|
||||||
if (CurrentRank.ApplyColorToFields.Health)
|
C.SetDrawColorStruct(HealthTextColor);
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, HealthTextColor);
|
|
||||||
if (KFPRI.PlayerHealth > 0)
|
if (KFPRI.PlayerHealth > 0)
|
||||||
|
{
|
||||||
DrawTextShadowHVCenter(String(KFPRI.PlayerHealth), HealthXPos, TextYOffset, HealthWBox, FontScalar);
|
DrawTextShadowHVCenter(String(KFPRI.PlayerHealth), HealthXPos, TextYOffset, HealthWBox, FontScalar);
|
||||||
|
}
|
||||||
|
|
||||||
XPos += HealthWBox;
|
XPos += HealthWBox;
|
||||||
|
|
||||||
// PlayerBox
|
// PlayerBox
|
||||||
if (PlayerIndex == Index)
|
if (PlayerIndex == Index)
|
||||||
SetDrawColor(C, Settings.Style.PlayerOwnerBoxColor);
|
C.SetDrawColorStruct(Settings.Style.PlayerOwnerBoxColor);
|
||||||
else
|
else
|
||||||
SetDrawColor(C, Settings.Style.PlayerBoxColor);
|
C.SetDrawColorStruct(Settings.Style.PlayerBoxColor);
|
||||||
|
|
||||||
if (KFPRIArray.Length > 1 && Index == 0)
|
if (KFPRIArray.Length > 1 && Index == 0)
|
||||||
Shape = Settings.Style.ShapePlayerBoxTopPlayer;
|
Shape = Settings.Style.ShapePlayerBoxTopPlayer;
|
||||||
@ -590,7 +531,7 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
Shape = Settings.Style.ShapeStatsBoxMidPlayer;
|
Shape = Settings.Style.ShapeStatsBoxMidPlayer;
|
||||||
|
|
||||||
BoxWidth = Width - XPos;
|
BoxWidth = Width - XPos;
|
||||||
SetDrawColor(C, Settings.Style.StatsBoxColor);
|
C.SetDrawColorStruct(Settings.Style.StatsBoxColor);
|
||||||
Owner.CurrentStyle.DrawRectBox( XPos,
|
Owner.CurrentStyle.DrawRectBox( XPos,
|
||||||
YOffset,
|
YOffset,
|
||||||
BoxWidth,
|
BoxWidth,
|
||||||
@ -602,10 +543,7 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
RealPlayerWBox = PlayerWBox;
|
RealPlayerWBox = PlayerWBox;
|
||||||
if (bIsZED)
|
if (bIsZED)
|
||||||
{
|
{
|
||||||
if (CurrentRank.ApplyColorToFields.Perk)
|
C.SetDrawColorStruct(Settings.Style.ZedTextColor);
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.ZedTextColor);
|
|
||||||
C.SetPos (PerkXPos, YOffset - ((Height-5) * 0.5f));
|
C.SetPos (PerkXPos, YOffset - ((Height-5) * 0.5f));
|
||||||
C.DrawRect (Height-5, Height-5, Texture2D'UI_Widgets.MenuBarWidget_SWF_IF');
|
C.DrawRect (Height-5, Height-5, Texture2D'UI_Widgets.MenuBarWidget_SWF_IF');
|
||||||
|
|
||||||
@ -615,7 +553,7 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (KFPRI.CurrentPerkClass != None)
|
if (KFPRI.CurrentPerkclass != None)
|
||||||
{
|
{
|
||||||
PrestigeLevel = KFPRI.GetActivePerkPrestigeLevel();
|
PrestigeLevel = KFPRI.GetActivePerkPrestigeLevel();
|
||||||
Level = KFPRI.GetActivePerkLevel();
|
Level = KFPRI.GetActivePerkLevel();
|
||||||
@ -642,49 +580,32 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
C.DrawTile(KFPRI.CurrentPerkClass.default.PerkIcon, PerkIconSize, PerkIconSize, 0, 0, 256, 256);
|
C.DrawTile(KFPRI.CurrentPerkClass.default.PerkIcon, PerkIconSize, PerkIconSize, 0, 0, 256, 256);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CurrentRank.ApplyColorToFields.Level)
|
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
if (Level < Settings.Level.Low[KFGRI.GameDifficulty])
|
||||||
|
C.SetDrawColorStruct(Settings.Style.LevelTextColorLow);
|
||||||
|
else if (Level < Settings.Level.High[KFGRI.GameDifficulty])
|
||||||
|
C.SetDrawColorStruct(Settings.Style.LevelTextColorMid);
|
||||||
else
|
else
|
||||||
{
|
C.SetDrawColorStruct(Settings.Style.LevelTextColorHigh);
|
||||||
if (Level < Settings.Level.Low[KFGRI.GameDifficulty])
|
|
||||||
SetDrawColor(C, Settings.Style.LevelTextColorLow);
|
|
||||||
else if (Level < Settings.Level.High[KFGRI.GameDifficulty])
|
|
||||||
SetDrawColor(C, Settings.Style.LevelTextColorMid);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.LevelTextColorHigh);
|
|
||||||
}
|
|
||||||
S = String(Level);
|
S = String(Level);
|
||||||
DrawTextShadowHLeftVCenter(S, LevelXPos, TextYOffset, FontScalar);
|
DrawTextShadowHLeftVCenter(S, LevelXPos, TextYOffset, FontScalar);
|
||||||
|
|
||||||
if (CurrentRank.ApplyColorToFields.Level)
|
C.SetDrawColorStruct(Settings.Style.PerkNoneTextColor);
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
|
|
||||||
if (CurrentRank.ApplyColorToFields.Perk)
|
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.PerkNoneTextColor);
|
|
||||||
S = KFPRI.CurrentPerkClass.default.PerkName;
|
S = KFPRI.CurrentPerkClass.default.PerkName;
|
||||||
DrawTextShadowHLeftVCenter(S, PerkXPos, TextYOffset, FontScalar);
|
DrawTextShadowHLeftVCenter(S, PerkXPos, TextYOffset, FontScalar);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (CurrentRank.ApplyColorToFields.Perk)
|
C.SetDrawColorStruct(Settings.Style.PerkNoneTextColor);
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
S = "";
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.PerkNoneTextColor);
|
|
||||||
S = NoPerk;
|
|
||||||
DrawTextShadowHLeftVCenter(S, PerkXPos, TextYOffset, FontScalar);
|
DrawTextShadowHLeftVCenter(S, PerkXPos, TextYOffset, FontScalar);
|
||||||
RealPlayerWBox = PerkXPos - PlayerXPos;
|
RealPlayerWBox = PerkXPos - PlayerXPos;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rank
|
// Rank
|
||||||
if (CurrentRank.ApplyColorToFields.Rank)
|
DrawTextShadowHRightVCenter("<Player>", PlayerXPos, TextYOffset, PerkIconPosX - PlayerXPos - (BorderSize * 2), FontScalar);
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.PerkNoneTextColor);
|
|
||||||
S = CurrentRank.Rank;
|
|
||||||
DrawTextShadowHRightVCenter(S, PlayerXPos, TextYOffset, PerkIconPosX - PlayerXPos - (BorderSize * 2), FontScalar);
|
|
||||||
|
|
||||||
// Avatar
|
// Avatar
|
||||||
if (KFPRI.Avatar != None)
|
if (KFPRI.Avatar != None)
|
||||||
@ -701,10 +622,7 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
CheckAvatar(KFPRI, OwnerPC);
|
CheckAvatar(KFPRI, OwnerPC);
|
||||||
|
|
||||||
// Player
|
// Player
|
||||||
if (CurrentRank.ApplyColorToFields.Player)
|
C.SetDrawColorStruct(Settings.Style.PlayerNameTextColor);
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.PlayerNameTextColor);
|
|
||||||
S = KFPRI.PlayerName;
|
S = KFPRI.PlayerName;
|
||||||
Canvas.TextSize(S, XL, YL, FontScalar, FontScalar);
|
Canvas.TextSize(S, XL, YL, FontScalar, FontScalar);
|
||||||
while (XL > RealPlayerWBox)
|
while (XL > RealPlayerWBox)
|
||||||
@ -715,31 +633,22 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
DrawTextShadowHLeftVCenter(S, PlayerXPos, TextYOffset, FontScalar);
|
DrawTextShadowHLeftVCenter(S, PlayerXPos, TextYOffset, FontScalar);
|
||||||
|
|
||||||
// Kill
|
// Kill
|
||||||
if (CurrentRank.ApplyColorToFields.Kills)
|
C.SetDrawColorStruct(Settings.Style.KillsTextColorMid); // TODO
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.KillsTextColorMid); // TODO
|
|
||||||
DrawTextShadowHVCenter(string (KFPRI.Kills), KillsXPos, TextYOffset, KillsWBox, FontScalar);
|
DrawTextShadowHVCenter(string (KFPRI.Kills), KillsXPos, TextYOffset, KillsWBox, FontScalar);
|
||||||
|
|
||||||
// Assist
|
// Assist
|
||||||
if (CurrentRank.ApplyColorToFields.Assists)
|
C.SetDrawColorStruct(Settings.Style.AssistsTextColorMid); // TODO
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.AssistsTextColorMid); // TODO
|
|
||||||
DrawTextShadowHVCenter(string (KFPRI.Assists), AssistXPos, TextYOffset, AssistWBox, FontScalar);
|
DrawTextShadowHVCenter(string (KFPRI.Assists), AssistXPos, TextYOffset, AssistWBox, FontScalar);
|
||||||
|
|
||||||
// Dosh
|
// Dosh
|
||||||
if (bIsZED)
|
if (bIsZED)
|
||||||
{
|
{
|
||||||
SetDrawColor(C, Settings.Style.ZedTextColor);
|
C.SetDrawColorStruct(Settings.Style.ZedTextColor);
|
||||||
StrValue = "-";
|
StrValue = "-";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (CurrentRank.ApplyColorToFields.Dosh)
|
C.SetDrawColorStruct(Settings.Style.DoshTextColorMid); // TODO
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
|
||||||
else
|
|
||||||
SetDrawColor(C, Settings.Style.DoshTextColorMid); // TODO
|
|
||||||
StrValue = GetNiceSize(int(KFPRI.Score));
|
StrValue = GetNiceSize(int(KFPRI.Score));
|
||||||
}
|
}
|
||||||
DrawTextShadowHVCenter(StrValue, DoshXPos, TextYOffset, DoshWBox, FontScalar);
|
DrawTextShadowHVCenter(StrValue, DoshXPos, TextYOffset, DoshWBox, FontScalar);
|
||||||
@ -747,21 +656,19 @@ function DrawPlayerEntry(Canvas C, int Index, float YOffset, float Height, float
|
|||||||
// Ping
|
// Ping
|
||||||
if (KFPRI.bBot)
|
if (KFPRI.bBot)
|
||||||
{
|
{
|
||||||
SetDrawColor(C, Settings.Style.PingTextColorNone);
|
C.SetDrawColorStruct(Settings.Style.PingTextColorNone);
|
||||||
S = "-";
|
S = "-";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Ping = int(KFPRI.Ping * `PING_SCALE);
|
Ping = int(KFPRI.Ping * `PING_SCALE);
|
||||||
|
|
||||||
if (CurrentRank.ApplyColorToFields.Ping)
|
if (Ping <= Settings.Ping.Low)
|
||||||
SetDrawColor(C, CurrentRank.TextColor);
|
C.SetDrawColorStruct(Settings.Style.PingTextColorLow);
|
||||||
else if (Ping <= Settings.Ping.Low)
|
|
||||||
SetDrawColor(C, Settings.Style.PingTextColorLow);
|
|
||||||
else if (Ping <= Settings.Ping.High)
|
else if (Ping <= Settings.Ping.High)
|
||||||
SetDrawColor(C, Settings.Style.PingTextColorMid);
|
C.SetDrawColorStruct(Settings.Style.PingTextColorMid);
|
||||||
else
|
else
|
||||||
SetDrawColor(C, Settings.Style.PingTextColorHigh);
|
C.SetDrawColorStruct(Settings.Style.PingTextColorHigh);
|
||||||
|
|
||||||
S = string(Ping);
|
S = string(Ping);
|
||||||
}
|
}
|
@ -1,20 +1,4 @@
|
|||||||
class Types extends Object;
|
class YAS_Types extends Object;
|
||||||
|
|
||||||
`include(Build.uci)
|
|
||||||
`include(Logger.uci)
|
|
||||||
|
|
||||||
struct ColorRGBA
|
|
||||||
{
|
|
||||||
var byte R, G, B, A;
|
|
||||||
|
|
||||||
Structdefaultproperties
|
|
||||||
{
|
|
||||||
R = 250
|
|
||||||
G = 250
|
|
||||||
B = 250
|
|
||||||
A = 255
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct Fields
|
struct Fields
|
||||||
{
|
{
|
||||||
@ -42,66 +26,7 @@ struct Fields
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct RankInfo
|
struct YAS_SettingsHealth
|
||||||
{
|
|
||||||
var int ID;
|
|
||||||
var string Rank;
|
|
||||||
var ColorRGBA TextColor;
|
|
||||||
var bool OverrideAdminRank;
|
|
||||||
var Fields ApplyColorToFields;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct RankRelation
|
|
||||||
{
|
|
||||||
var string ObjectID;
|
|
||||||
var int RankID;
|
|
||||||
|
|
||||||
Structdefaultproperties
|
|
||||||
{
|
|
||||||
RankID = -999
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct UIDRankRelation
|
|
||||||
{
|
|
||||||
var UniqueNetId UID;
|
|
||||||
var int RankID;
|
|
||||||
|
|
||||||
Structdefaultproperties
|
|
||||||
{
|
|
||||||
RankID = -999
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct YASSettingsAdmin
|
|
||||||
{
|
|
||||||
var string Rank;
|
|
||||||
var ColorRGBA TextColor;
|
|
||||||
var Fields ApplyColorToFields;
|
|
||||||
|
|
||||||
Structdefaultproperties
|
|
||||||
{
|
|
||||||
Rank = "Admin"
|
|
||||||
TextColor = (R=250, G=0, B=0, A=255)
|
|
||||||
ApplyColorToFields = (Rank=True, Player=True, Level=False, Perk=False, Dosh=False, Kills=False, Assists=False, Health=False, Ping=False)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct YASSettingsPlayer
|
|
||||||
{
|
|
||||||
var string Rank;
|
|
||||||
var ColorRGBA TextColor;
|
|
||||||
var Fields ApplyColorToFields;
|
|
||||||
|
|
||||||
Structdefaultproperties
|
|
||||||
{
|
|
||||||
Rank = "Player"
|
|
||||||
TextColor = (R=250, G=250, B=250, A=255)
|
|
||||||
ApplyColorToFields = (Rank=True, Player=True, Level=False, Perk=False, Dosh=False, Kills=False, Assists=False, Health=False, Ping=False)
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
struct YASSettingsHealth
|
|
||||||
{
|
{
|
||||||
var int Low;
|
var int Low;
|
||||||
var int High;
|
var int High;
|
||||||
@ -113,7 +38,7 @@ struct YASSettingsHealth
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct YASSettingsPing
|
struct YAS_SettingsPing
|
||||||
{
|
{
|
||||||
var int Low;
|
var int Low;
|
||||||
var int High;
|
var int High;
|
||||||
@ -125,7 +50,7 @@ struct YASSettingsPing
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct YASSettingsLevel
|
struct YAS_SettingsLevel
|
||||||
{
|
{
|
||||||
var int Low [4];
|
var int Low [4];
|
||||||
var int High[4];
|
var int High[4];
|
||||||
@ -143,7 +68,7 @@ struct YASSettingsLevel
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct YASStyle
|
struct YAS_Style
|
||||||
{
|
{
|
||||||
// Box shapes
|
// Box shapes
|
||||||
var int EdgeSize;
|
var int EdgeSize;
|
||||||
@ -163,100 +88,100 @@ struct YASStyle
|
|||||||
var int ShapeStatsBoxBottomPlayer;
|
var int ShapeStatsBoxBottomPlayer;
|
||||||
|
|
||||||
// Server box
|
// Server box
|
||||||
var ColorRGBA ServerNameBoxColor;
|
var Color ServerNameBoxColor;
|
||||||
var ColorRGBA ServerNameTextColor;
|
var Color ServerNameTextColor;
|
||||||
|
|
||||||
// Game info box
|
// Game info box
|
||||||
var ColorRGBA GameInfoBoxColor;
|
var Color GameInfoBoxColor;
|
||||||
var ColorRGBA GameInfoTextColor;
|
var Color GameInfoTextColor;
|
||||||
|
|
||||||
// Wave info box
|
// Wave info box
|
||||||
var ColorRGBA WaveBoxColor;
|
var Color WaveBoxColor;
|
||||||
var ColorRGBA WaveTextColor;
|
var Color WaveTextColor;
|
||||||
|
|
||||||
// Player count box
|
// Player count box
|
||||||
var ColorRGBA PlayerCountBoxColor;
|
var Color PlayerCountBoxColor;
|
||||||
var ColorRGBA PlayerCountTextColor;
|
var Color PlayerCountTextColor;
|
||||||
|
|
||||||
// Header box
|
// Header box
|
||||||
var ColorRGBA ListHeaderBoxColor;
|
var Color ListHeaderBoxColor;
|
||||||
var ColorRGBA ListHeaderTextColor;
|
var Color ListHeaderTextColor;
|
||||||
|
|
||||||
// State box
|
// State box
|
||||||
var ColorRGBA StateBoxColorLobby;
|
var Color StateBoxColorLobby;
|
||||||
var ColorRGBA StateBoxColorReady;
|
var Color StateBoxColorReady;
|
||||||
var ColorRGBA StateBoxColorNotReady;
|
var Color StateBoxColorNotReady;
|
||||||
var ColorRGBA StateBoxColorSpectator;
|
var Color StateBoxColorSpectator;
|
||||||
var ColorRGBA StateBoxColorDead;
|
var Color StateBoxColorDead;
|
||||||
var ColorRGBA StateBoxColorNone;
|
var Color StateBoxColorNone;
|
||||||
var ColorRGBA StateBoxColorHealthLow;
|
var Color StateBoxColorHealthLow;
|
||||||
var ColorRGBA StateBoxColorHealthMid;
|
var Color StateBoxColorHealthMid;
|
||||||
var ColorRGBA StateBoxColorHealthHigh;
|
var Color StateBoxColorHealthHigh;
|
||||||
|
|
||||||
// Player box
|
// Player box
|
||||||
var ColorRGBA PlayerOwnerBoxColor;
|
var Color PlayerOwnerBoxColor;
|
||||||
var ColorRGBA PlayerBoxColor;
|
var Color PlayerBoxColor;
|
||||||
|
|
||||||
// Stats box
|
// Stats box
|
||||||
var ColorRGBA StatsOwnerBoxColor;
|
var Color StatsOwnerBoxColor;
|
||||||
var ColorRGBA StatsBoxColor;
|
var Color StatsBoxColor;
|
||||||
|
|
||||||
// State text
|
// State text
|
||||||
var ColorRGBA StateTextColorLobby;
|
var Color StateTextColorLobby;
|
||||||
var ColorRGBA StateTextColorReady;
|
var Color StateTextColorReady;
|
||||||
var ColorRGBA StateTextColorNotReady;
|
var Color StateTextColorNotReady;
|
||||||
var ColorRGBA StateTextColorSpectator;
|
var Color StateTextColorSpectator;
|
||||||
var ColorRGBA StateTextColorDead;
|
var Color StateTextColorDead;
|
||||||
var ColorRGBA StateTextColorNone;
|
var Color StateTextColorNone;
|
||||||
var ColorRGBA StateTextColorHealthLow;
|
var Color StateTextColorHealthLow;
|
||||||
var ColorRGBA StateTextColorHealthMid;
|
var Color StateTextColorHealthMid;
|
||||||
var ColorRGBA StateTextColorHealthHigh;
|
var Color StateTextColorHealthHigh;
|
||||||
|
|
||||||
// Rank text
|
// Rank text
|
||||||
var ColorRGBA RankTextColor;
|
var Color RankTextColor;
|
||||||
|
|
||||||
// Player text
|
// Player text
|
||||||
var ColorRGBA PlayerNameTextColor;
|
var Color PlayerNameTextColor;
|
||||||
|
|
||||||
// Level text
|
// Level text
|
||||||
var ColorRGBA LevelTextColorLow;
|
var Color LevelTextColorLow;
|
||||||
var ColorRGBA LevelTextColorMid;
|
var Color LevelTextColorMid;
|
||||||
var ColorRGBA LevelTextColorHigh;
|
var Color LevelTextColorHigh;
|
||||||
|
|
||||||
// Perk text
|
// Perk text
|
||||||
var ColorRGBA ZedTextColor;
|
var Color ZedTextColor;
|
||||||
var ColorRGBA PerkNoneTextColor;
|
var Color PerkNoneTextColor;
|
||||||
var ColorRGBA PerkBerserkerTextColor;
|
var Color PerkBerserkerTextColor;
|
||||||
var ColorRGBA PerkCommandoTextColor;
|
var Color PerkCommandoTextColor;
|
||||||
var ColorRGBA PerkSupportTextColor;
|
var Color PerkSupportTextColor;
|
||||||
var ColorRGBA PerkFieldMedicTextColor;
|
var Color PerkFieldMedicTextColor;
|
||||||
var ColorRGBA PerkDemolitionistTextColor;
|
var Color PerkDemolitionistTextColor;
|
||||||
var ColorRGBA PerkFirebugTextColor;
|
var Color PerkFirebugTextColor;
|
||||||
var ColorRGBA PerkGunslingerTextColor;
|
var Color PerkGunslingerTextColor;
|
||||||
var ColorRGBA PerkSharpshooterTextColor;
|
var Color PerkSharpshooterTextColor;
|
||||||
var ColorRGBA PerkSwatTextColor;
|
var Color PerkSwatTextColor;
|
||||||
var ColorRGBA PerkSurvivalistTextColor;
|
var Color PerkSurvivalistTextColor;
|
||||||
|
|
||||||
// Dosh text
|
// Dosh text
|
||||||
var ColorRGBA DoshTextColorLow;
|
var Color DoshTextColorLow;
|
||||||
var ColorRGBA DoshTextColorMid;
|
var Color DoshTextColorMid;
|
||||||
var ColorRGBA DoshTextColorHigh;
|
var Color DoshTextColorHigh;
|
||||||
|
|
||||||
// Kills text
|
// Kills text
|
||||||
var ColorRGBA KillsTextColorLow;
|
var Color KillsTextColorLow;
|
||||||
var ColorRGBA KillsTextColorMid;
|
var Color KillsTextColorMid;
|
||||||
var ColorRGBA KillsTextColorHigh;
|
var Color KillsTextColorHigh;
|
||||||
|
|
||||||
// Assists text
|
// Assists text
|
||||||
var ColorRGBA AssistsTextColorLow;
|
var Color AssistsTextColorLow;
|
||||||
var ColorRGBA AssistsTextColorMid;
|
var Color AssistsTextColorMid;
|
||||||
var ColorRGBA AssistsTextColorHigh;
|
var Color AssistsTextColorHigh;
|
||||||
|
|
||||||
// Ping text
|
// Ping text
|
||||||
var ColorRGBA PingTextColorNone;
|
var Color PingTextColorNone;
|
||||||
var ColorRGBA PingTextColorLow;
|
var Color PingTextColorLow;
|
||||||
var ColorRGBA PingTextColorMid;
|
var Color PingTextColorMid;
|
||||||
var ColorRGBA PingTextColorHigh;
|
var Color PingTextColorHigh;
|
||||||
|
|
||||||
// Other settings
|
// Other settings
|
||||||
var bool ShowPingBars;
|
var bool ShowPingBars;
|
||||||
@ -386,23 +311,14 @@ struct YASStyle
|
|||||||
|
|
||||||
// Other settings
|
// Other settings
|
||||||
ShowPingBars = true
|
ShowPingBars = true
|
||||||
HealthBoxSmoothColorChange = true
|
|
||||||
HealthTextSmoothColorChange = false
|
|
||||||
LevelTextSmoothColorChange = false
|
|
||||||
DoshTextSmoothColorChange = false
|
|
||||||
KillsTextSmoothColorChange = false
|
|
||||||
AssistsTextSmoothColorChange = false
|
|
||||||
PingTextSmoothColorChange = false
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct YASSettings
|
struct YAS_Settings
|
||||||
{
|
{
|
||||||
var YASStyle Style;
|
var YAS_Style Style;
|
||||||
var YASSettingsAdmin Admin;
|
var YAS_SettingsPing Ping;
|
||||||
var YASSettingsPlayer Player;
|
var YAS_SettingsLevel Level;
|
||||||
var YASSettingsPing Ping;
|
var YAS_SettingsHealth Health;
|
||||||
var YASSettingsLevel Level;
|
|
||||||
var YASSettingsHealth Health;
|
|
||||||
};
|
};
|
||||||
|
|
20
YAS/Classes/_Logger.uc
Normal file
20
YAS/Classes/_Logger.uc
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
class _Logger extends Object
|
||||||
|
abstract;
|
||||||
|
|
||||||
|
enum E_LogLevel
|
||||||
|
{
|
||||||
|
LL_WrongLevel,
|
||||||
|
LL_None,
|
||||||
|
LL_Fatal,
|
||||||
|
LL_Error,
|
||||||
|
LL_Warning,
|
||||||
|
LL_Info,
|
||||||
|
LL_Debug,
|
||||||
|
LL_Trace,
|
||||||
|
LL_All
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
50
YAS/Constants.uci
Normal file
50
YAS/Constants.uci
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
// Constants
|
||||||
|
`define NO_CONFIG 0
|
||||||
|
|
||||||
|
// Scoreboard
|
||||||
|
`define BOX_INNERBORDER 0
|
||||||
|
`define BOX_INNERBORDER_TRANSPARENT 1
|
||||||
|
`define BOX_MEDIUM 2
|
||||||
|
`define BOX_MEDIUM_SLIGHTTRANSPARENT 3
|
||||||
|
`define BOX_MEDIUM_TRANSPARENT 4
|
||||||
|
`define BOX_LARGE 5
|
||||||
|
`define BOX_LARGE_SLIGHTTRANSPARENT 6
|
||||||
|
`define BOX_LARGE_TRANSPARENT 7
|
||||||
|
`define BOX_SMALL 8
|
||||||
|
`define BOX_SMALL_SLIGHTTRANSPARENT 9
|
||||||
|
`define BOX_SMALL_TRANSPARENT 10
|
||||||
|
`define BOX_CORNER_8 11
|
||||||
|
`define BOX_CORNER_16 12
|
||||||
|
`define BOX_CORNER_32 13
|
||||||
|
`define BOX_CORNER_64 14
|
||||||
|
`define BOX_CORNER_512 15
|
||||||
|
|
||||||
|
`define ITEMBOX_NORMAL 0
|
||||||
|
`define ITEMBOX_DISABLED 1
|
||||||
|
`define ITEMBOX_HIGHLIGHTED 2
|
||||||
|
|
||||||
|
`define CHECKMARK_NORMAL 0
|
||||||
|
`define CHECKMARK_DISABLED 1
|
||||||
|
`define CHECKMARK_HIGHLIGHTED 2
|
||||||
|
|
||||||
|
`define ARROW_DOWN 0
|
||||||
|
`define ARROW_LEFT 1
|
||||||
|
`define ARROW_RIGHT 2
|
||||||
|
`define ARROW_UP 3
|
||||||
|
|
||||||
|
`define BUTTON_NORMAL 0
|
||||||
|
`define BUTTON_DISABLED 1
|
||||||
|
`define BUTTON_HIGHLIGHTED 2
|
||||||
|
`define BUTTON_PRESSED 3
|
||||||
|
|
||||||
|
`define TAB_TOP 0
|
||||||
|
`define TAB_BOTTOM 1
|
||||||
|
|
||||||
|
`define PEN_WHITE 0
|
||||||
|
`define PEN_BLACK 1
|
||||||
|
`define PEN_GRAY 2
|
||||||
|
|
||||||
|
`define CURSOR_DEFAULT 0
|
||||||
|
`define CURSOR_SELECTION 1
|
||||||
|
`define CURSOR_RESIZEVERT 2
|
||||||
|
`define CURSOR_RESIZEHORZ 3
|
@ -1,46 +1,3 @@
|
|||||||
`define BOX_INNERBORDER 0
|
// Imports
|
||||||
`define BOX_INNERBORDER_TRANSPARENT 1
|
`include(Logger.uci)
|
||||||
`define BOX_MEDIUM 2
|
`include(Constants.uci)
|
||||||
`define BOX_MEDIUM_SLIGHTTRANSPARENT 3
|
|
||||||
`define BOX_MEDIUM_TRANSPARENT 4
|
|
||||||
`define BOX_LARGE 5
|
|
||||||
`define BOX_LARGE_SLIGHTTRANSPARENT 6
|
|
||||||
`define BOX_LARGE_TRANSPARENT 7
|
|
||||||
`define BOX_SMALL 8
|
|
||||||
`define BOX_SMALL_SLIGHTTRANSPARENT 9
|
|
||||||
`define BOX_SMALL_TRANSPARENT 10
|
|
||||||
`define BOX_CORNER_8 11
|
|
||||||
`define BOX_CORNER_16 12
|
|
||||||
`define BOX_CORNER_32 13
|
|
||||||
`define BOX_CORNER_64 14
|
|
||||||
`define BOX_CORNER_512 15
|
|
||||||
|
|
||||||
`define ITEMBOX_NORMAL 0
|
|
||||||
`define ITEMBOX_DISABLED 1
|
|
||||||
`define ITEMBOX_HIGHLIGHTED 2
|
|
||||||
|
|
||||||
`define CHECKMARK_NORMAL 0
|
|
||||||
`define CHECKMARK_DISABLED 1
|
|
||||||
`define CHECKMARK_HIGHLIGHTED 2
|
|
||||||
|
|
||||||
`define ARROW_DOWN 0
|
|
||||||
`define ARROW_LEFT 1
|
|
||||||
`define ARROW_RIGHT 2
|
|
||||||
`define ARROW_UP 3
|
|
||||||
|
|
||||||
`define BUTTON_NORMAL 0
|
|
||||||
`define BUTTON_DISABLED 1
|
|
||||||
`define BUTTON_HIGHLIGHTED 2
|
|
||||||
`define BUTTON_PRESSED 3
|
|
||||||
|
|
||||||
`define TAB_TOP 0
|
|
||||||
`define TAB_BOTTOM 1
|
|
||||||
|
|
||||||
`define PEN_WHITE 0
|
|
||||||
`define PEN_BLACK 1
|
|
||||||
`define PEN_GRAY 2
|
|
||||||
|
|
||||||
`define CURSOR_DEFAULT 0
|
|
||||||
`define CURSOR_SELECTION 1
|
|
||||||
`define CURSOR_RESIZEVERT 2
|
|
||||||
`define CURSOR_RESIZEHORZ 3
|
|
||||||
|
@ -1,9 +1,15 @@
|
|||||||
`define scelog(text, cond) `log(`text, `cond, 'YetAnotherScoreboard')
|
// Logger
|
||||||
|
`define Log_Tag 'YAS'
|
||||||
`define info(text) `scelog("[INFO]"@`text, true)
|
|
||||||
`define warning(text) `scelog("[WARNING]"@`text, true)
|
`define LocationStatic "`{ClassName}::" $ GetFuncName()
|
||||||
`define error(text) `scelog("[ERROR]"@`text, true)
|
|
||||||
|
`define Log_Base(msg, cond) `log(`msg `if(`cond), `cond`{endif}, `Log_Tag)
|
||||||
`define debug(text) if (`bEnableDebug) { `scelog("[DEBUG]"@`text, `bEnableDebug); }
|
|
||||||
`define callstack() if (`bEnableCallstack) { `scelog("[CALLSTACK]"@`Location, `bEnableCallstack); }
|
`define Log_Fatal(msg) `log("FATAL:" @ `msg, (LogLevel >= LL_Fatal), `Log_Tag)
|
||||||
`define callstack_static(text) if (`bEnableCallstack) { `scelog("[CALLSTACK]"@`text, `bEnableCallstack); }
|
`define Log_Error(msg) `log("ERROR:" @ `msg, (LogLevel >= LL_Error), `Log_Tag)
|
||||||
|
`define Log_Warn(msg) `log("WARN:" @ `msg, (LogLevel >= LL_Warning), `Log_Tag)
|
||||||
|
`define Log_Info(msg) `log("INFO:" @ `msg, (LogLevel >= LL_Info), `Log_Tag)
|
||||||
|
`define Log_Debug(msg) `log("DEBUG:" @ `msg, (LogLevel >= LL_Debug), `Log_Tag)
|
||||||
|
|
||||||
|
`define Log_Trace(msg) `log("TRACE:" @ `Location `if(`msg) @ `msg`{endif}, (LogLevel >= LL_Trace), `Log_Tag)
|
||||||
|
`define Log_TraceStatic(msg) `log("TRACE:" @ `LocationStatic `if(`msg) @ `msg`{endif}, (LogLevel >= LL_Trace), `Log_Tag)
|
||||||
|
Loading…
Reference in New Issue
Block a user