1830 lines
72 KiB
Ucode
1830 lines
72 KiB
Ucode
class OptimizerMenu extends GUI2K4.MidGamePanel
|
|
config(HideMut);
|
|
|
|
var a_MonsterOptimizer MOpt;
|
|
var bool bIsConfigLoaded;
|
|
|
|
//=================================================================Interface section
|
|
var automated GUIButton b_CullDistance_Zeds, b_StopOptimizer_Zeds, b_GlobalSaveConfig, b_GlobalLoadConfig,
|
|
b_LoadVanillaMonsters, b_LoadHillbillyMonsters, b_LoadXMASMonsters, b_LoadCircusMonsters, b_LoadCustomMonsters,
|
|
//Karma params
|
|
b_LoadDefaultKarmaParams,
|
|
b_LoadConfigKarmaParams,
|
|
b_SaveConfigKarmaParams,
|
|
b_ApplyKarmaParams,
|
|
b_RemoveBodies,
|
|
//Log shit
|
|
b_ClearLog,
|
|
b_ToggleZedSpy,
|
|
b_Settings,
|
|
//Switches
|
|
b_ReplacerPrefs,
|
|
b_NetPrefs,
|
|
b_ZedsPrefs,
|
|
b_OptimizerPrefs;
|
|
var automated MOCheckBox ch_Unlit, ch_SeasonedOff,ch_LagOff,
|
|
//Karma params
|
|
ch_newbKStaticFriction,
|
|
ch_NoRagdolls,
|
|
//gibz
|
|
ch_GibControl,ch_GibUnlit,
|
|
ch_GibHidden,ch_GibletsControl,
|
|
ch_GibletUnlit,ch_GibletHidden,
|
|
ch_GibUseDeferRendering,
|
|
ch_GibUseCollisionStaticMesh, ch_GibAcceptProjectors,
|
|
ch_GibStaticLighting,
|
|
ch_GibletsUseDeferRendering, ch_GibletsUseCollisionStaticMesh,
|
|
ch_GibletsAcceptProjectors, ch_GibletsStaticLighting,
|
|
|
|
|
|
//
|
|
ch_UseFireTweaks,
|
|
ch_bDynamicLight,
|
|
ch_bSpecialLit,
|
|
ch_UseAdditionalTweaks,
|
|
ch_FixDoshLighting,
|
|
//new flagz
|
|
ch_ConsNetSpeed,
|
|
ch_bMonsterSpotted,
|
|
ch_bStandard,
|
|
ch_bCircus,
|
|
ch_bHillbilly,
|
|
ch_bXMas,
|
|
ch_UserSettingsToEmitters;
|
|
|
|
|
|
var automated MoComboBox mo_SoundOcclusion, mo_GoreLevel, mo_MapSettings, mo_LightType, mo_WholeMapSearchMethod;
|
|
|
|
var automated moNumericEdit nu_NewTicks, nu_SoundRadius, nu_default_NetSpeed, nu_new_NetSpeed, nu_AmbientGlow,
|
|
//Karma params
|
|
nu_newMaxRagdolls, nu_ZedSearchRadius,
|
|
//Fire and dosh
|
|
nu_LightBrightness,
|
|
nu_LightSaturation,
|
|
nu_LightHue,
|
|
nu_GibletsMaxLights,
|
|
nu_GibMaxLights;
|
|
|
|
var automated moFloatEdit fl_CullDistance_Zeds, fl_Timer_for_Opt,
|
|
//Karma params
|
|
fl_newKarmaTimeScale, fl_newRagdollTimeScale, fl_newKarmaGravScale, fl_newRagdollLifeTime,
|
|
//gibs
|
|
fl_GibletLifespan, fl_GibLifespan,
|
|
//Fire and dosh
|
|
fl_LightRadius;
|
|
|
|
|
|
var automated GUISectionBackground sb_Optimizer, sb_AssetLoader, sb_KarmaParams, sb_Log, sb_OptStarted, sb_GoreLevel,
|
|
sb_FireAndDosh, sb_ZedsPrefs, sb_NetPrefs, sb_ReplacerPrefs, sb_OptimizerButtons, sb_ZedSpy, sb_SwitchTo;
|
|
|
|
var automated GUIScrollTextBox lb_Actions;
|
|
|
|
|
|
//================================================================Interface section ends
|
|
|
|
//==========================================Global config parameters
|
|
//*********Karma params for ragdolls
|
|
|
|
//Using LevelInfo default class pollution
|
|
//Cuz it's only way to go
|
|
struct KarmaParameters
|
|
{
|
|
var bool NoRagdolls; //No ragdolls setting
|
|
var float RagdollLifeTime; //Ragdoll life time
|
|
var int MaxRagdolls; // Maximum number of simultaneous rag-dolls.
|
|
var float KarmaTimeScale; // Karma physics timestep scaling.
|
|
var float RagdollTimeScale; // Ragdoll physics timestep scaling. This is applied on top of KarmaTimeScale.
|
|
var float KarmaGravScale; // Allows you to make ragdolls use lower friction than normal.
|
|
var bool bKStaticFriction; // Better rag-doll/ground friction model, but more CPU.
|
|
};
|
|
var config KarmaParameters LevelKarmaParams;
|
|
|
|
//*********Karma params for ragdolls end
|
|
var config bool bOverrideMapParams, bStartOptimizer; // bLagOff; //Flags for optimizer
|
|
|
|
//=========================================Map Specific config parameters
|
|
struct MSParams //Map specific optimizer parameters
|
|
{
|
|
var string MapName;
|
|
var string ProfileName;
|
|
var bool ActiveProfile;
|
|
var a_MonsterOptimizer.OptParams OptimizerParams;
|
|
};
|
|
//=========================================Map Specific config parameters
|
|
//==========================================Global config parameters
|
|
|
|
var PlayerController PC;
|
|
var config a_MonsterOptimizer.OptParams MSOptGlobalParams;
|
|
var config a_MonsterOptimizer.EmitLightControl LC;
|
|
var config array<MSParams> MapSpecificParameters; //Map specific settings for optimizer
|
|
var array<int> ProfileIndexes; //Profile Indexes for map specific parameters
|
|
|
|
//==========================================================Interface section end
|
|
|
|
//===============================Structures for optimizer paramas
|
|
enum ESoundOcclusion
|
|
{
|
|
OCCLUSION_Default,
|
|
OCCLUSION_None,
|
|
OCCLUSION_BSP,
|
|
OCCLUSION_StaticMeshes,
|
|
};
|
|
//===================================================================
|
|
|
|
simulated function InitComponent(GUIController MyController, GUIComponent MyOwner)
|
|
{
|
|
super.InitComponent(MyController,MyOwner);
|
|
|
|
mo_SoundOcclusion.AddItem("OCCLUSION_Default");
|
|
mo_SoundOcclusion.AddItem("OCCLUSION_None");
|
|
mo_SoundOcclusion.AddItem("OCCLUSION_BSP");
|
|
mo_SoundOcclusion.AddItem("OCCLUSION_StaticMeshes");
|
|
|
|
mo_GoreLevel.AddItem("TWI");
|
|
mo_GoreLevel.AddItem("NO_GORE");
|
|
mo_GoreLevel.AddItem("LOW_GORE");
|
|
mo_GoreLevel.AddItem("OPTIMIZED_TWI");
|
|
mo_GoreLevel.AddItem("GORY!");
|
|
mo_GoreLevel.AddItem("BLOOD FOR THE BLOOD GOD!");
|
|
|
|
mo_WholeMapSearchMethod.AddItem("DynamicActors");
|
|
mo_WholeMapSearchMethod.AddItem("AllActors");
|
|
mo_WholeMapSearchMethod.AddItem("ZoneActors");
|
|
mo_WholeMapSearchMethod.AddItem("RadiusActors");
|
|
|
|
mo_LightType.AddItem("LT_None");
|
|
mo_LightType.AddItem("LT_Steady");
|
|
mo_LightType.AddItem("LT_Pulse");
|
|
mo_LightType.AddItem("LT_Blink");
|
|
mo_LightType.AddItem("LT_Flicker");
|
|
mo_LightType.AddItem("LT_Strobe");
|
|
mo_LightType.AddItem("LT_BackdropLight");
|
|
mo_LightType.AddItem("LT_SubtlePulse");
|
|
mo_LightType.AddItem("LT_TexturePaletteOnce");
|
|
mo_LightType.AddItem("LT_TexturePaletteLoop");
|
|
mo_LightType.AddItem("LT_FadeOut");
|
|
|
|
sb_SwitchTo.ManageComponent(b_OptimizerPrefs);
|
|
sb_SwitchTo.ManageComponent(b_ZedsPrefs);
|
|
sb_SwitchTo.ManageComponent(b_ReplacerPrefs);
|
|
sb_SwitchTo.ManageComponent(b_NetPrefs);
|
|
|
|
//=============================================Optimizer
|
|
sb_ZedsPrefs.ManageComponent(fl_CullDistance_Zeds);
|
|
sb_ZedsPrefs.ManageComponent(nu_SoundRadius);
|
|
sb_ZedsPrefs.ManageComponent(mo_SoundOcclusion);
|
|
sb_ZedsPrefs.ManageComponent(nu_AmbientGlow);
|
|
sb_ZedsPrefs.ManageComponent(ch_Unlit);
|
|
sb_ZedsPrefs.ManageComponent(ch_bMonsterSpotted);
|
|
|
|
sb_NetPrefs.ManageComponent(nu_default_NetSpeed);
|
|
sb_NetPrefs.ManageComponent(nu_new_NetSpeed);
|
|
sb_NetPrefs.ManageComponent(ch_ConsNetSpeed);
|
|
|
|
sb_ReplacerPrefs.ManageComponent(ch_SeasonedOff);
|
|
sb_ReplacerPrefs.ManageComponent(ch_bStandard);
|
|
sb_ReplacerPrefs.ManageComponent(ch_bCircus);
|
|
sb_ReplacerPrefs.ManageComponent(ch_bHillbilly);
|
|
sb_ReplacerPrefs.ManageComponent(ch_bXMas);
|
|
|
|
sb_Optimizer.ManageComponent(mo_MapSettings);
|
|
sb_Optimizer.ManageComponent(mo_WholeMapSearchMethod);
|
|
sb_Optimizer.ManageComponent(nu_ZedSearchRadius);
|
|
sb_Optimizer.ManageComponent(fl_Timer_for_Opt);
|
|
sb_Optimizer.ManageComponent(nu_NewTicks);
|
|
sb_Optimizer.ManageComponent(mo_GoreLevel);
|
|
sb_Optimizer.ManageComponent(ch_LagOff);
|
|
sb_Optimizer.ManageComponent(ch_UserSettingsToEmitters);
|
|
|
|
sb_OptimizerButtons.ManageComponent(b_CullDistance_Zeds);
|
|
sb_OptimizerButtons.ManageComponent(b_StopOptimizer_Zeds);
|
|
sb_OptimizerButtons.ManageComponent(b_GlobalSaveConfig);
|
|
sb_OptimizerButtons.ManageComponent(b_GlobalLoadConfig);
|
|
|
|
sb_AssetLoader.ManageComponent(b_LoadVanillaMonsters);
|
|
sb_AssetLoader.ManageComponent(b_LoadHillbillyMonsters);
|
|
sb_AssetLoader.ManageComponent(b_LoadXMASMonsters);
|
|
sb_AssetLoader.ManageComponent(b_LoadCircusMonsters);
|
|
sb_AssetLoader.ManageComponent(b_LoadCustomMonsters);
|
|
|
|
//=============================================Optimizer
|
|
sb_KarmaParams.ManageComponent(ch_NoRagdolls);
|
|
sb_KarmaParams.ManageComponent(fl_newRagdollLifeTime);
|
|
sb_KarmaParams.ManageComponent(ch_newbKStaticFriction);
|
|
sb_KarmaParams.ManageComponent(nu_newMaxRagdolls);
|
|
sb_KarmaParams.ManageComponent(fl_newKarmaTimeScale);
|
|
sb_KarmaParams.ManageComponent(fl_newRagdollTimeScale);
|
|
sb_KarmaParams.ManageComponent(fl_newKarmaGravScale);
|
|
sb_KarmaParams.ManageComponent(b_ApplyKarmaParams);
|
|
sb_KarmaParams.ManageComponent(b_LoadDefaultKarmaParams);
|
|
sb_KarmaParams.ManageComponent(b_LoadConfigKarmaParams);
|
|
sb_KarmaParams.ManageComponent(b_SaveConfigKarmaParams);
|
|
sb_KarmaParams.ManageComponent(b_RemoveBodies);
|
|
|
|
sb_GoreLevel.ManageComponent(ch_GibControl);
|
|
sb_GoreLevel.ManageComponent(ch_GibUnlit);
|
|
sb_GoreLevel.ManageComponent(ch_GibHidden);
|
|
sb_GoreLevel.ManageComponent(fl_GibLifespan);
|
|
sb_GoreLevel.ManageComponent(ch_GibUseDeferRendering);
|
|
sb_GoreLevel.ManageComponent(nu_GibMaxLights);
|
|
sb_GoreLevel.ManageComponent(ch_GibUseCollisionStaticMesh);
|
|
sb_GoreLevel.ManageComponent(ch_GibAcceptProjectors);
|
|
sb_GoreLevel.ManageComponent(ch_GibStaticLighting);
|
|
|
|
sb_GoreLevel.ManageComponent(ch_GibletsControl);
|
|
sb_GoreLevel.ManageComponent(ch_GibletUnlit);
|
|
sb_GoreLevel.ManageComponent(ch_GibletHidden);
|
|
sb_GoreLevel.ManageComponent(fl_GibletLifespan);
|
|
sb_GoreLevel.ManageComponent(ch_GibletsUseDeferRendering);
|
|
sb_GoreLevel.ManageComponent(nu_GibletsMaxLights);
|
|
sb_GoreLevel.ManageComponent(ch_GibletsUseCollisionStaticMesh);
|
|
sb_GoreLevel.ManageComponent(ch_GibletsAcceptProjectors);
|
|
sb_GoreLevel.ManageComponent(ch_GibletsStaticLighting);
|
|
|
|
sb_Log.ManageComponent(lb_Actions);
|
|
sb_Log.ManageComponent(b_ClearLog);
|
|
|
|
sb_FireAndDosh.ManageComponent(ch_UseFireTweaks);
|
|
sb_FireAndDosh.ManageComponent(ch_UseAdditionalTweaks);
|
|
sb_FireAndDosh.ManageComponent(ch_FixDoshLighting);
|
|
sb_FireAndDosh.ManageComponent(nu_LightBrightness);
|
|
sb_FireAndDosh.ManageComponent(nu_LightHue);
|
|
sb_FireAndDosh.ManageComponent(nu_LightSaturation);
|
|
sb_FireAndDosh.ManageComponent(mo_LightType);
|
|
sb_FireAndDosh.ManageComponent(fl_LightRadius);
|
|
sb_FireAndDosh.ManageComponent(ch_bSpecialLit);
|
|
sb_FireAndDosh.ManageComponent(ch_bDynamicLight);
|
|
|
|
sb_ZedSpy.ManageComponent(b_ToggleZedSpy);
|
|
sb_ZedSpy.ManageComponent(b_Settings);
|
|
|
|
//ControlsSizeScale();
|
|
// Mopt.LC.UseFireTweaks; //Use or not fire tweaks
|
|
// Mopt.LC.LightRadius; //Light radius for fire emitters
|
|
// Mopt.LC.LightType; //Light tyoe
|
|
// Mopt.LC.LightBrightness;
|
|
// Mopt.LC.LightHue; //Color
|
|
// Mopt.LC.LightSaturation;
|
|
// Mopt.LC.bDynamicLight; //Should be dynamic?
|
|
// Mopt.LC.bSpecialLit; //Don't lit dynamic actors
|
|
// Mopt.LC.UseAdditionalTweaks; //Use additional tweaks _> flashlight and etc.
|
|
// Mopt.LC.FixDoshLighting; //Attempt to dosh mesh lighting
|
|
}
|
|
|
|
function ShowPanel(bool bShow)
|
|
{
|
|
super.ShowPanel(bShow);
|
|
sb_ZedsPrefs.setVisibility(False);
|
|
sb_NetPrefs.setVisibility(False);
|
|
sb_ReplacerPrefs.setVisibility(False);
|
|
}
|
|
|
|
//==============For controls resizing
|
|
function ControlsSizeScale()
|
|
{
|
|
//Add this in init
|
|
local GUIButton B;
|
|
local int i;
|
|
local string s;
|
|
|
|
s = GetSizingCaption();
|
|
|
|
for (i = 0; i < Controls.length; i++)
|
|
{
|
|
B = GUIButton(Controls[i]);
|
|
if (B != None)
|
|
{
|
|
B.bAutoSize = true;
|
|
B.SizingCaption = s;
|
|
B.AutoSizePadding.HorzPerc = 0.04;
|
|
B.AutoSizePadding.VertPerc = 0.6;
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
function string GetSizingCaption() {
|
|
local int i;
|
|
local string S;
|
|
|
|
for (i = 0; i < Controls.length; i++)
|
|
if (GUIButton(Controls[i]) != None)
|
|
if (S == "" || Len(GUIButton(Controls[i]).Caption) > Len(S))
|
|
S = GUIButton(Controls[i]).Caption;
|
|
|
|
return S;
|
|
}
|
|
//==================================================
|
|
|
|
event Opened(GUIComponent Sender)
|
|
{
|
|
local int i, count, ActiveProfileIndex;
|
|
local string MapName;
|
|
|
|
super.Opened(Sender);
|
|
PC = PlayerOwner();
|
|
|
|
mapName = PC.Level.GetURLMap();
|
|
if (!bIsConfigLoaded)
|
|
{
|
|
lb_Actions.AddText("Welcome to my Monster Optimizer!Here goes your logged actions, notifications and etc.");
|
|
lb_Actions.AddText("|");
|
|
LoadConfKarmaParams();
|
|
lb_Actions.AddText("Loading config karma parameters...");
|
|
lb_Actions.AddText("|");
|
|
}
|
|
|
|
if (bOverrideMapParams && !bIsConfigLoaded)
|
|
{
|
|
lb_Actions.AddText("GlobalOverride Flag detected. Loading config and iniatiliazing fields....");
|
|
bIsConfigLoaded = True;
|
|
GlobalLoadConfig();
|
|
if (bStartOptimizer)
|
|
{
|
|
lb_Actions.AddText("Global AutoStart optimizer is set to True. Starting....");
|
|
startOptimizer(); //Config load for function
|
|
}
|
|
else
|
|
lb_Actions.AddText("Global AutoStart optimizer is set to False.");
|
|
return;
|
|
}
|
|
|
|
// MSOptGlobalParams.ZedCullDistance
|
|
// MSOptGlobalParams.Timer
|
|
// MSOptGlobalParams.PC
|
|
// MSOptGlobalParams.Ticks
|
|
// MSOptGlobalParams.nozed_NetSpeed
|
|
// MSOptGlobalParams.new_NetSpeed
|
|
// MSOptGlobalParams.UseUnlit
|
|
// MSOptGlobalParams.AmbientGlow
|
|
// MSOptGlobalParams.bSeasonedOff
|
|
// MSOptGlobalParams.bLagOff
|
|
// MSOptGlobalParams.GoreLevel
|
|
// MSOptGlobalParams.SoundOcclusion
|
|
// MSOptGlobalParams.SoundRadius
|
|
|
|
for ( i = 0; i < MapSpecificParameters.Length; i++ )
|
|
{
|
|
if (Instr(CAPS(MapSpecificParameters[i].MapName), CAPS(MapName)) != -1 )
|
|
{
|
|
if (MapSpecificParameters[i].OptimizerParams.ZedCullDistance > 0 )
|
|
{
|
|
ProfileIndexes[count] = i; //Save profile indexes
|
|
count++; //Map specific parameters detected
|
|
mo_MapSettings.AddItem(MapSpecificParameters[i].ProfileName); //Add a profile name
|
|
if (MapSpecificParameters[i].ActiveProfile) //Saving Active profile for map
|
|
ActiveProfileIndex = i;
|
|
}
|
|
}
|
|
}
|
|
|
|
if (count > 0 && !bOverrideMapParams) //If map specific params detected
|
|
{
|
|
//Load active profile
|
|
nu_NewTicks.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.Ticks);
|
|
fl_CullDistance_Zeds.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.ZedCullDistance);
|
|
fl_Timer_for_Opt.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.Timer);
|
|
ch_Unlit.Checked(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.UseUnlit);
|
|
ch_SeasonedOff.Checked(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.bSeasonedOff);
|
|
nu_default_NetSpeed.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.nozed_NetSpeed);
|
|
nu_new_NetSpeed.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.new_NetSpeed);
|
|
ch_LagOff.Checked(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.bLagOff);
|
|
nu_SoundRadius.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.SoundRadius);
|
|
mo_SoundOcclusion.SetIndex(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.SoundOcclusion);
|
|
nu_AmbientGlow.SetValue(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.AmbientGlow);
|
|
mo_GoreLevel.SetIndex(mo_GoreLevel.FindIndex(MapSpecificParameters[ActiveProfileIndex].OptimizerParams.GoreLevel));
|
|
}
|
|
}
|
|
|
|
//===============================================Karma related parameters for level info and monsters
|
|
simulated function SetDefaultKarmaParams()
|
|
{
|
|
//copy-pasted from default level info
|
|
Class'LevelInfo'.default.MaxRagdolls = 4;
|
|
Class'LevelInfo'.default.bKStaticFriction = True;
|
|
Class'LevelInfo'.default.KarmaTimeScale = 0.9;
|
|
Class'LevelInfo'.default.RagdollTimeScale = 1.0;
|
|
Class'LevelInfo'.default.KarmaGravScale=1.0;
|
|
class'KFMonster'.default.RagdollLifeSpan = 30.00;
|
|
|
|
if (MOpt == None)
|
|
{
|
|
MOpT = PC.Spawn(class'a_MonsterOptimizer', PC);
|
|
MOpT.Level.MaxRagdolls = 4;
|
|
MOpT.Level.bKStaticFriction = True;
|
|
MOpT.Level.KarmaTimeScale = 0.9;
|
|
MOpT.Level.RagdollTimeScale = 1.0;
|
|
MOpT.Level.KarmaGravScale=1.0;
|
|
MOpt.Destroy();
|
|
MOpt = None;
|
|
}
|
|
else
|
|
{
|
|
MOpT.Level.MaxRagdolls = 4;
|
|
MOpT.Level.bKStaticFriction = True;
|
|
MOpT.Level.KarmaTimeScale = 0.9;
|
|
MOpT.Level.RagdollTimeScale = 1.0;
|
|
MOpT.Level.KarmaGravScale=1.0;
|
|
}
|
|
|
|
//copy-pasted from default level info
|
|
ch_NoRagdolls.Checked(False);
|
|
fl_newRagdollLifeTime.SetValue(30.00); //KFMonster default shit
|
|
ch_newbKStaticFriction.Checked(True);
|
|
nu_newMaxRagdolls.SetValue(4);
|
|
fl_newKarmaTimeScale.SetValue(0.9);
|
|
fl_newRagdollTimeScale.SetValue(1.0);
|
|
fl_newKarmaGravScale.SetValue(1.0);
|
|
lb_Actions.AddText("Loaded default karma parameters.");
|
|
}
|
|
|
|
simulated function LoadConfKarmaParams()
|
|
{
|
|
ch_NoRagdolls.Checked(LevelKarmaParams.NoRagdolls);
|
|
fl_newRagdollLifeTime.SetValue(LevelKarmaParams.RagdollLifeTime);
|
|
nu_newMaxRagdolls.SetValue(LevelKarmaParams.MaxRagdolls);
|
|
fl_newKarmaTimeScale.SetValue(LevelKarmaParams.KarmaTimeScale);
|
|
fl_newRagdollTimeScale.SetValue(LevelKarmaParams.RagdollTimeScale);
|
|
fl_newKarmaGravScale.SetValue(LevelKarmaParams.KarmaGravScale);
|
|
ch_newbKStaticFriction.Checked(LevelKarmaParams.bKStaticFriction);
|
|
lb_Actions.AddText("Config karma parameters loaded.");
|
|
}
|
|
|
|
simulated function SaveConfKarmaParams()
|
|
{
|
|
LevelKarmaParams.NoRagdolls = ch_NoRagdolls.IsChecked();
|
|
LevelKarmaParams.RagdollLifeTime = fl_newRagdollLifeTime.GetValue();
|
|
LevelKarmaParams.MaxRagdolls = nu_newMaxRagdolls.GetValue();
|
|
LevelKarmaParams.KarmaTimeScale = fl_newKarmaTimeScale.GetValue();
|
|
LevelKarmaParams.RagdollTimeScale = fl_newRagdollTimeScale.GetValue();
|
|
LevelKarmaParams.KarmaGravScale = fl_newKarmaGravScale.GetValue();
|
|
LevelKarmaParams.bKStaticFriction = ch_newbKStaticFriction.IsChecked();
|
|
SaveConfig();
|
|
lb_Actions.AddText("Config karma parameters saved.");
|
|
}
|
|
|
|
simulated function ApplyCurrentKarmaParams()
|
|
{
|
|
if (!ch_NoRagdolls.IsChecked());
|
|
Class'LevelInfo'.default.MaxRagdolls = nu_newMaxRagdolls.GetValue();
|
|
|
|
fl_newRagdollLifeTime.GetValue();
|
|
Class'LevelInfo'.default.bKStaticFriction = ch_newbKStaticFriction.IsChecked();
|
|
Class'LevelInfo'.default.KarmaTimeScale = fl_newKarmaTimeScale.GetValue();
|
|
Class'LevelInfo'.default.RagdollTimeScale = fl_newRagdollTimeScale.GetValue();
|
|
Class'LevelInfo'.default.KarmaGravScale=fl_newKarmaGravScale.GetValue();
|
|
|
|
if (MOpt == None)
|
|
{
|
|
MOpT = PC.Spawn(class'a_MonsterOptimizer', PC);
|
|
if (!ch_NoRagdolls.IsChecked())
|
|
MOPT.Level.MaxRagdolls = nu_newMaxRagdolls.GetValue();
|
|
MOPT.Level.bKStaticFriction = ch_newbKStaticFriction.IsChecked();
|
|
MOPT.Level.KarmaTimeScale = fl_newKarmaTimeScale.GetValue();
|
|
MOPT.Level.RagdollTimeScale = fl_newRagdollTimeScale.GetValue();
|
|
MOPT.Level.KarmaGravScale=fl_newKarmaGravScale.GetValue();
|
|
MOpt.Destroy();
|
|
MOpt = None;
|
|
lb_Actions.AddText("Karma parameters applied to LevelInfo default class.");
|
|
}
|
|
else
|
|
lb_Actions.AddText("Stop optimizer before messing with params");
|
|
//class'KFMonster'.default.RagdollLifeSpan = fl_newRagdollLifeTime.GetValue(); //Redundant and don't work TWI<3
|
|
}
|
|
|
|
//===============================================Karma related parameters for level info and monsters end
|
|
simulated function bool ButtonClicked(GUIComponent Sender)
|
|
{
|
|
switch (Sender)
|
|
{
|
|
case b_CullDistance_Zeds:
|
|
ApplyCurrentKarmaParams();
|
|
startOptimizer();
|
|
break;
|
|
|
|
case b_StopOptimizer_Zeds:
|
|
stopOptimizer();
|
|
break;
|
|
|
|
case b_GlobalSaveConfig:
|
|
GlobalSaveConfig();
|
|
break;
|
|
|
|
case b_GlobalLoadConfig:
|
|
GlobalLoadConfig();
|
|
break;
|
|
|
|
case b_LoadVanillaMonsters:
|
|
OptimizerLoadAssets(0); //Standard
|
|
break;
|
|
|
|
case b_LoadHillbillyMonsters:
|
|
OptimizerLoadAssets(2); //Halloween
|
|
break;
|
|
|
|
case b_LoadXMASMonsters:
|
|
OptimizerLoadAssets(3); //XMAS
|
|
break;
|
|
|
|
case b_LoadCircusMonsters:
|
|
OptimizerLoadAssets(1); //Circus
|
|
break;
|
|
|
|
case b_LoadCustomMonsters:
|
|
OptimizerLoadAssets(4); //Circus
|
|
break;
|
|
|
|
case b_ApplyKarmaParams:
|
|
ApplyCurrentKarmaParams();
|
|
break;
|
|
|
|
case b_LoadDefaultKarmaParams:
|
|
SetDefaultKarmaParams();
|
|
break;
|
|
|
|
case b_LoadConfigKarmaParams:
|
|
LoadConfKarmaParams();
|
|
break;
|
|
|
|
case b_SaveConfigKarmaParams:
|
|
SaveConfKarmaParams();
|
|
break;
|
|
|
|
case b_ClearLog:
|
|
lb_Actions.SetContent("");
|
|
break;
|
|
|
|
case b_RemoveBodies:
|
|
DestroyRagdolls();
|
|
break;
|
|
|
|
case b_OptimizerPrefs:
|
|
sb_Optimizer.SetVisibility(True);
|
|
sb_ReplacerPrefs.SetVisibility(False);
|
|
sb_NetPrefs.SetVisibility(False);
|
|
sb_ZedsPrefs.SetVisibility(False);
|
|
break;
|
|
|
|
case b_ReplacerPrefs:
|
|
sb_Optimizer.SetVisibility(False);
|
|
sb_ReplacerPrefs.SetVisibility(True);
|
|
sb_NetPrefs.SetVisibility(False);
|
|
sb_ZedsPrefs.SetVisibility(False);
|
|
break;
|
|
|
|
case b_NetPrefs:
|
|
sb_Optimizer.SetVisibility(False);
|
|
sb_ReplacerPrefs.SetVisibility(False);
|
|
sb_NetPrefs.SetVisibility(True);
|
|
sb_ZedsPrefs.SetVisibility(False);
|
|
break;
|
|
|
|
case b_ZedsPrefs:
|
|
sb_Optimizer.SetVisibility(False);
|
|
sb_ReplacerPrefs.SetVisibility(False);
|
|
sb_NetPrefs.SetVisibility(False);
|
|
sb_ZedsPrefs.SetVisibility(True);
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
//===============save and load config variables
|
|
simulated function GlobalSaveConfig()
|
|
{
|
|
MSOptGlobalParams.Ticks = nu_NewTicks.GetValue();
|
|
MSOptGlobalParams.ZedCullDistance = fl_CullDistance_Zeds.GetValue();
|
|
MSOptGlobalParams.Timer = fl_Timer_for_Opt.GetValue();
|
|
MSOptGlobalParams.UseUnlit = ch_Unlit.IsChecked();
|
|
MSOptGlobalParams.bSeasonedOff = ch_SeasonedOff.IsChecked();
|
|
MSOptGlobalParams.nozed_NetSpeed = nu_default_NetSpeed.GetValue();
|
|
MSOptGlobalParams.new_NetSpeed =nu_new_NetSpeed.GetValue();
|
|
MSOptGlobalParams.bLagOff = ch_LagOff.IsChecked();
|
|
MSOptGlobalParams.SoundRadius = nu_SoundRadius.GetValue();
|
|
MSOptGlobalParams.AmbientGlow = nu_AmbientGlow.GetValue();
|
|
MSOptGlobalParams.GoreLevel = mo_GoreLevel.GetText();
|
|
MSOptGlobalParams.bNoRagdolls = ch_NoRagdolls.IsChecked();
|
|
|
|
MSOptGlobalParams.bAdvancedGiblets = ch_GibletsControl.IsChecked();
|
|
MSOptGlobalParams.bAdvancedGibs = ch_GibControl.IsChecked();
|
|
|
|
MSOptGlobalParams.bUnlitGibs = ch_GibUnlit.IsChecked();
|
|
MSOptGlobalParams.bUnlitGiblets = ch_GibletUnlit.IsChecked();
|
|
MSOptGlobalParams.bHideGibs = ch_GibHidden.IsChecked();
|
|
MSOptGlobalParams.bHideGiblets= ch_GibletHidden.IsChecked();
|
|
MSOptGlobalParams.GibsLifespan = fl_GibLifespan.GetValue();
|
|
MSOptGlobalParams.GibletsLifespan = fl_GibletLifespan.GetValue();
|
|
MSOptGlobalParams.RagdollLifeSpan = fl_newRagdollLifeTime.GetValue();
|
|
|
|
MsOptGlobalParams.GibUseDeferRendering = ch_GibUseDeferRendering.IsChecked();
|
|
MsOptGlobalParams.GibMaxLights = nu_GibMaxLights.GetValue();
|
|
MsOptGlobalParams.GibUseCollisionStaticMesh = ch_GibUseCollisionStaticMesh.IsChecked();
|
|
MsOptGlobalParams.GibAcceptProjectors = ch_GibAcceptProjectors.IsChecked();
|
|
MsOptGlobalParams.GibStaticLighting = ch_GibStaticLighting.IsChecked();
|
|
|
|
MsOptGlobalParams.GibletsUseDeferRendering = ch_GibletsUseDeferRendering.IsChecked();
|
|
MsOptGlobalParams.GibletsMaxLights = nu_GibletsMaxLights.GetValue();
|
|
MsOptGlobalParams.GibletsUseCollisionStaticMesh = ch_GibletsUseCollisionStaticMesh.IsChecked();
|
|
MsOptGlobalParams.GibletsAcceptProjectors = ch_GibletsAcceptProjectors.IsChecked();
|
|
MsOptGlobalParams.GibletsStaticLighting = ch_GibletsStaticLighting.IsChecked();
|
|
|
|
switch (mo_SoundOcclusion.GetIndex())
|
|
{
|
|
case 0:
|
|
MSOptGlobalParams.SoundOcclusion = OCCLUSION_Default;
|
|
break;
|
|
case 1:
|
|
MSOptGlobalParams.SoundOcclusion = OCCLUSION_None;
|
|
break;
|
|
case 2:
|
|
MSOptGlobalParams.SoundOcclusion = OCCLUSION_BSP;
|
|
break;
|
|
case 3:
|
|
MSOptGlobalParams.SoundOcclusion = OCCLUSION_StaticMeshes;
|
|
break;
|
|
}
|
|
|
|
LC.UseFireTweaks = ch_UseFireTweaks.IsChecked();
|
|
LC.LightRadius = fl_LightRadius.GetValue();
|
|
|
|
LC.LightBrightness = nu_LightBrightness.GetValue();
|
|
LC.LightHue = nu_LightHue.GetValue();
|
|
LC.LightSaturation = nu_LightSaturation.GetValue();
|
|
LC.bDynamicLight = ch_bDynamicLight.IsChecked();
|
|
LC.bSpecialLit = ch_bSpecialLit.IsChecked();
|
|
LC.UseAdditionalTweaks = ch_UseAdditionalTweaks.IsChecked();
|
|
LC.FixDoshLighting = ch_FixDoshLighting.IsChecked();
|
|
|
|
switch (mo_LightType.GetIndex())
|
|
{
|
|
case 0:
|
|
LC.LightType = LT_None;
|
|
break;
|
|
case 1:
|
|
LC.LightType = LT_Steady;
|
|
break;
|
|
case 2:
|
|
LC.LightType = LT_Pulse;
|
|
break;
|
|
case 3:
|
|
LC.LightType = LT_Blink;
|
|
break;
|
|
case 4:
|
|
LC.LightType = LT_Flicker;
|
|
break;
|
|
case 5:
|
|
LC.LightType = LT_Strobe;
|
|
break;
|
|
case 6:
|
|
LC.LightType = LT_BackdropLight;
|
|
break;
|
|
case 7:
|
|
LC.LightType = LT_SubtlePulse;
|
|
break;
|
|
case 8:
|
|
LC.LightType = LT_TexturePaletteOnce;
|
|
break;
|
|
case 9:
|
|
LC.LightType = LT_TexturePaletteLoop;
|
|
break;
|
|
case 10:
|
|
LC.LightType = LT_FadeOut;
|
|
break;
|
|
} //;
|
|
|
|
MsOptGlobalParams.ConsNetSpeed = ch_ConsNetSpeed.IsChecked();
|
|
MsOptGlobalParams.bMonsterSpotted = ch_bMonsterSpotted.IsChecked();
|
|
MsOptGlobalParams.bStandard = ch_bStandard.IsChecked();
|
|
MsOptGlobalParams.bCircus = ch_bCircus.IsChecked();
|
|
MsOptGlobalParams.bHillbilly = ch_bHillbilly.IsChecked();
|
|
MsOptGlobalParams.bXMas = ch_bXMas.IsChecked();
|
|
|
|
MsOptGlobalParams.WholeMapSearchMethod = mo_WholeMapSearchMethod.GetText();
|
|
|
|
MsOptGlobalParams.UserSettingsToEmitters = ch_UserSettingsToEmitters.IsChecked();
|
|
MsOptGlobalParams.ZedSearchRadius = nu_ZedSearchRadius.GetValue();
|
|
SaveConfig();
|
|
lb_Actions.AddText("Global parameters saved to config");
|
|
}
|
|
|
|
simulated function GlobalLoadConfig()
|
|
{
|
|
if (MSOptGlobalParams.Timer > 0 && MSOptGlobalParams.nozed_NetSpeed > 0 && MSOptGlobalParams.new_NetSpeed > 0)
|
|
bIsConfigLoaded = True;
|
|
else
|
|
{
|
|
lb_Actions.AddText("You have corrupted global config variables. Can't load parameters...");
|
|
bIsConfigLoaded = False;
|
|
return;
|
|
}
|
|
|
|
nu_NewTicks.SetValue(MSOptGlobalParams.Ticks);
|
|
fl_CullDistance_Zeds.SetValue(MSOptGlobalParams.ZedCullDistance);
|
|
fl_Timer_for_Opt.SetValue(MSOptGlobalParams.Timer);
|
|
ch_Unlit.Checked(MSOptGlobalParams.UseUnlit);
|
|
ch_SeasonedOff.Checked(MSOptGlobalParams.bSeasonedOff);
|
|
nu_default_NetSpeed.SetValue(MSOptGlobalParams.nozed_NetSpeed);
|
|
nu_new_NetSpeed.SetValue(MSOptGlobalParams.new_NetSpeed);
|
|
ch_LagOff.Checked(MSOptGlobalParams.bLagOff);
|
|
nu_SoundRadius.SetValue(MSOptGlobalParams.SoundRadius);
|
|
mo_SoundOcclusion.SetIndex(MSOptGlobalParams.SoundOcclusion);
|
|
nu_AmbientGlow.SetValue(MSOptGlobalParams.AmbientGlow);
|
|
mo_GoreLevel.SetIndex(mo_GoreLevel.FindIndex(CAPS(MSOptGlobalParams.GoreLevel)));
|
|
ch_NoRagdolls.Checked(MSOptGlobalParams.bNoRagdolls);
|
|
|
|
ch_GibletsControl.Checked(MSOptGlobalParams.bAdvancedGiblets);
|
|
ch_GibControl.Checked(MSOptGlobalParams.bAdvancedGibs);
|
|
|
|
ch_GibUnlit.Checked(MSOptGlobalParams.bUnlitGibs);
|
|
ch_GibletUnlit.Checked(MSOptGlobalParams.bUnlitGiblets);
|
|
ch_GibHidden.Checked(MSOptGlobalParams.bHideGibs);
|
|
ch_GibletHidden.Checked(MSOptGlobalParams.bHideGiblets);
|
|
fl_GibLifespan.SetValue(MSOptGlobalParams.GibsLifespan);
|
|
fl_GibletLifespan.SetValue(MSOptGlobalParams.GibletsLifespan);
|
|
|
|
fl_newRagdollLifeTime.SetValue(MSOptGlobalParams.RagdollLifeSpan);
|
|
|
|
ch_GibUseDeferRendering.Checked(MsOptGlobalParams.GibUseDeferRendering);
|
|
nu_GibMaxLights.SetValue(MsOptGlobalParams.GibMaxLights);
|
|
ch_GibUseCollisionStaticMesh.Checked(MsOptGlobalParams.GibUseCollisionStaticMesh);
|
|
ch_GibAcceptProjectors.Checked(MsOptGlobalParams.GibAcceptProjectors);
|
|
ch_GibStaticLighting.Checked(MsOptGlobalParams.GibStaticLighting);
|
|
|
|
ch_GibletsUseDeferRendering.Checked(MsOptGlobalParams.GibletsUseDeferRendering);
|
|
nu_GibletsMaxLights.SetValue(MsOptGlobalParams.GibletsMaxLights);
|
|
ch_GibletsUseCollisionStaticMesh.Checked(MsOptGlobalParams.GibletsUseCollisionStaticMesh);
|
|
ch_GibletsAcceptProjectors.Checked(MsOptGlobalParams.GibletsAcceptProjectors);
|
|
ch_GibletsStaticLighting.Checked(MsOptGlobalParams.GibletsStaticLighting);
|
|
|
|
ch_UseFireTweaks.Checked(LC.UseFireTweaks);
|
|
fl_LightRadius.SetValue(LC.LightRadius);
|
|
|
|
nu_LightBrightness.SetValue(LC.LightBrightness);
|
|
nu_LightHue.SetValue(LC.LightHue);
|
|
nu_LightSaturation.SetValue(LC.LightSaturation);
|
|
ch_bDynamicLight.Checked(LC.bDynamicLight);
|
|
ch_bSpecialLit.Checked(LC.bSpecialLit);
|
|
ch_UseAdditionalTweaks.Checked(LC.UseAdditionalTweaks);
|
|
ch_FixDoshLighting.Checked(LC.FixDoshLighting);
|
|
|
|
mo_LightType.SetIndex(LC.LightType);
|
|
|
|
ch_ConsNetSpeed.Checked(MsOptGlobalParams.ConsNetSpeed);
|
|
ch_bMonsterSpotted.Checked(MsOptGlobalParams.bMonsterSpotted);
|
|
ch_bStandard.Checked(MsOptGlobalParams.bStandard);
|
|
ch_bCircus.Checked(MsOptGlobalParams.bCircus);
|
|
ch_bHillbilly.Checked(MsOptGlobalParams.bHillbilly);
|
|
ch_bXMas.Checked(MsOptGlobalParams.bXMas);
|
|
|
|
mo_WholeMapSearchMethod.SetIndex(mo_WholeMapSearchMethod.FindIndex(MsOptGlobalParams.WholeMapSearchMethod));
|
|
|
|
ch_UserSettingsToEmitters.Checked(MsOptGlobalParams.UserSettingsToEmitters);
|
|
nu_ZedSearchRadius.SetValue(MsOptGlobalParams.ZedSearchRadius);
|
|
lb_Actions.AddText("Global parameters loaded from config");
|
|
}
|
|
|
|
//======================================Monster Optimizer and Firebug disabler
|
|
simulated function ToStructureVariables()
|
|
{
|
|
Mopt.CurrentOptParams.ZedCullDistance = fl_CullDistance_Zeds.GetValue();
|
|
Mopt.CurrentOptParams.Timer = fl_Timer_for_Opt.GetValue();
|
|
Mopt.CurrentOptParams.Ticks = nu_NewTicks.GetValue();
|
|
Mopt.CurrentOptParams.UseUnlit = ch_Unlit.IsChecked();
|
|
Mopt.CurrentOptParams.bSeasonedOff = ch_SeasonedOff.IsChecked();
|
|
Mopt.CurrentOptParams.nozed_NetSpeed = nu_default_NetSpeed.GetValue();
|
|
Mopt.CurrentOptParams.new_NetSpeed = nu_new_NetSpeed.GetValue();
|
|
Mopt.CurrentOptParams.AmbientGlow = nu_AmbientGlow.GetValue();
|
|
Mopt.CurrentOptParams.bLagOff = ch_LagOff.IsChecked();
|
|
Mopt.CurrentOptParams.SoundRadius = nu_SoundRadius.GetValue();
|
|
Mopt.CurrentOptParams.AmbientGlow = nu_AmbientGlow.GetValue();
|
|
Mopt.CurrentOptParams.GoreLevel = mo_GoreLevel.GetText();
|
|
Mopt.CurrentOptParams.bNoRagdolls = ch_NoRagdolls.IsChecked();
|
|
|
|
Mopt.CurrentOptParams.bAdvancedGiblets = ch_GibletsControl.IsChecked();
|
|
Mopt.CurrentOptParams.bAdvancedGibs = ch_GibControl.IsChecked();
|
|
|
|
Mopt.CurrentOptParams.bUnlitGibs = ch_GibUnlit.IsChecked();
|
|
Mopt.CurrentOptParams.bUnlitGiblets = ch_GibletUnlit.IsChecked();
|
|
Mopt.CurrentOptParams.bHideGibs = ch_GibHidden.IsChecked();
|
|
Mopt.CurrentOptParams.bHideGiblets= ch_GibletHidden.IsChecked();
|
|
Mopt.CurrentOptParams.GibsLifespan = fl_GibLifespan.GetValue();
|
|
Mopt.CurrentOptParams.GibletsLifespan = fl_GibletLifespan.GetValue();
|
|
Mopt.CurrentOptParams.RagdollLifeSpan = fl_newRagdollLifeTime.GetValue();
|
|
|
|
Mopt.CurrentOptParams.GibUseDeferRendering = ch_GibUseDeferRendering.IsChecked();
|
|
Mopt.CurrentOptParams.GibMaxLights = nu_GibMaxLights.GetValue();
|
|
Mopt.CurrentOptParams.GibUseCollisionStaticMesh = ch_GibUseCollisionStaticMesh.IsChecked();
|
|
Mopt.CurrentOptParams.GibAcceptProjectors = ch_GibAcceptProjectors.IsChecked();
|
|
Mopt.CurrentOptParams.GibStaticLighting = ch_GibStaticLighting.IsChecked();
|
|
|
|
Mopt.CurrentOptParams.GibletsUseDeferRendering= ch_GibletsUseDeferRendering.IsChecked();
|
|
Mopt.CurrentOptParams.GibletsMaxLights = nu_GibletsMaxLights.GetValue();
|
|
Mopt.CurrentOptParams.GibletsUseCollisionStaticMesh = ch_GibletsUseCollisionStaticMesh.IsChecked();
|
|
Mopt.CurrentOptParams.GibletsAcceptProjectors = ch_GibletsAcceptProjectors.IsChecked();
|
|
Mopt.CurrentOptParams.GibletsStaticLighting = ch_GibletsStaticLighting.IsChecked();
|
|
|
|
// I tired of this compiler related bullshit
|
|
switch (mo_SoundOcclusion.GetIndex())
|
|
{
|
|
case 0:
|
|
Mopt.CurrentOptParams.SoundOcclusion = OCCLUSION_Default;
|
|
break;
|
|
case 1:
|
|
Mopt.CurrentOptParams.SoundOcclusion = OCCLUSION_None;
|
|
break;
|
|
case 2:
|
|
Mopt.CurrentOptParams.SoundOcclusion = OCCLUSION_BSP;
|
|
break;
|
|
case 3:
|
|
Mopt.CurrentOptParams.SoundOcclusion = OCCLUSION_StaticMeshes;
|
|
break;
|
|
}
|
|
|
|
Mopt.LC.UseFireTweaks = ch_UseFireTweaks.IsChecked();
|
|
Mopt.LC.LightRadius = fl_LightRadius.GetValue();
|
|
|
|
Mopt.LC.LightBrightness = nu_LightBrightness.GetValue();
|
|
Mopt.LC.LightHue = nu_LightHue.GetValue();
|
|
Mopt.LC.LightSaturation = nu_LightSaturation.GetValue();
|
|
Mopt.LC.bDynamicLight = ch_bDynamicLight.IsChecked();
|
|
Mopt.LC.bSpecialLit = ch_bSpecialLit.IsChecked();
|
|
Mopt.LC.UseAdditionalTweaks = ch_UseAdditionalTweaks.IsChecked();
|
|
Mopt.LC.FixDoshLighting = ch_FixDoshLighting.IsChecked();
|
|
|
|
switch (mo_LightType.GetIndex())
|
|
{
|
|
case 0:
|
|
Mopt.LC.LightType = LT_None;
|
|
break;
|
|
case 1:
|
|
Mopt.LC.LightType = LT_Steady;
|
|
break;
|
|
case 2:
|
|
Mopt.LC.LightType = LT_Pulse;
|
|
break;
|
|
case 3:
|
|
Mopt.LC.LightType = LT_Blink;
|
|
break;
|
|
case 4:
|
|
Mopt.LC.LightType = LT_Flicker;
|
|
break;
|
|
case 5:
|
|
Mopt.LC.LightType = LT_Strobe;
|
|
break;
|
|
case 6:
|
|
Mopt.LC.LightType = LT_BackdropLight;
|
|
break;
|
|
case 7:
|
|
Mopt.LC.LightType = LT_SubtlePulse;
|
|
break;
|
|
case 8:
|
|
Mopt.LC.LightType = LT_TexturePaletteOnce;
|
|
break;
|
|
case 9:
|
|
Mopt.LC.LightType = LT_TexturePaletteLoop;
|
|
break;
|
|
case 10:
|
|
Mopt.LC.LightType = LT_FadeOut;
|
|
break;
|
|
};
|
|
|
|
Mopt.CurrentOptParams.ConsNetSpeed = ch_ConsNetSpeed.IsChecked();
|
|
Mopt.CurrentOptParams.bMonsterSpotted = ch_bMonsterSpotted.IsChecked();
|
|
Mopt.CurrentOptParams.bStandard = ch_bStandard.IsChecked();
|
|
Mopt.CurrentOptParams.bCircus = ch_bCircus.IsChecked();
|
|
Mopt.CurrentOptParams.bHillbilly = ch_bHillbilly.IsChecked();
|
|
Mopt.CurrentOptParams.bXMas = ch_bXMas.IsChecked();
|
|
|
|
Mopt.CurrentOptParams.WholeMapSearchMethod = mo_WholeMapSearchMethod.GetText();
|
|
Mopt.CurrentOptParams.UserSettingsToEmitters = ch_UserSettingsToEmitters.IsChecked();
|
|
|
|
Mopt.CurrentOptParams.ZedSearchRadius = nu_ZedSearchRadius.GetValue();
|
|
}
|
|
|
|
simulated function OptimizerLoadAssets(byte Asset)
|
|
{
|
|
if (MOpt == None)
|
|
{
|
|
MOpT = PC.Spawn(class'a_MonsterOptimizer', PC);
|
|
MOpT.LoadZedsAssets(Asset);
|
|
MOpt.Destroy();
|
|
MOpt = None;
|
|
}
|
|
else
|
|
lb_Actions.AddText("You cannot load up zeds assets when optimizer is working!1111");
|
|
}
|
|
|
|
simulated function startOptimizer()
|
|
{
|
|
if (fl_CullDistance_Zeds.GetValue() == 0)
|
|
{
|
|
lb_Actions.AddText("PLz input a culldistance");
|
|
return;
|
|
}
|
|
|
|
if (fl_Timer_for_Opt.GetValue() == 0)
|
|
{
|
|
lb_Actions.AddText("PLz input a timer");
|
|
return;
|
|
}
|
|
|
|
if (nu_SoundRadius.GetValue() == 0)
|
|
{
|
|
lb_Actions.AddText("SoundRadius is 0. Ambient sounds for zeds disabled...");
|
|
}
|
|
|
|
stopOptimizer(); //Destroy spawned actor
|
|
MOpT = PC.Spawn(class'a_MonsterOptimizer', PC);
|
|
|
|
lb_Actions.AddText("Starting optimizer....");
|
|
if (MOpt != None)
|
|
{
|
|
ToStructureVariables(); //Get interface shit together
|
|
MOpt.startOptimize();
|
|
}
|
|
}
|
|
|
|
simulated function stopOptimizer()
|
|
{
|
|
lb_Actions.AddText("Stopping optimizer....");
|
|
if (MOpt == None)
|
|
return;
|
|
MOpt.stopOptimize();
|
|
MOpt.Destroy();
|
|
MOpt = None;
|
|
}
|
|
|
|
simulated function InternalOnChange(GUIComponent Sender){}
|
|
|
|
simulated function DestroyRagdolls()
|
|
{
|
|
local KFMonster KFM;
|
|
local KFPawn KFP;
|
|
|
|
ForEach AllObjects(class'KFMonster', KFM) //Destroy monster bodies
|
|
if (KFM.Physics == PHYS_KarmaRagdoll)
|
|
{
|
|
KFM.Destroy();
|
|
}
|
|
|
|
ForEach AllObjects(class'KFPawn', KFP) //Destroy player bodies
|
|
{
|
|
if (KFP.Health <= 0 ) //After taking damage player body don't go to PHYS_Karmaragdoll instead it goes to PHYS_None cuz of retarded TWI code.
|
|
{ //TWI are you lame or you don't know how ragdolls work?
|
|
KFP.Destroy();
|
|
}
|
|
}
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
Begin Object Class=GUIButton Name=CullDistance_Zeds_Button
|
|
Caption="Start optimizer and apply ALL tweaks !"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=CullDistance_Zeds_Button.InternalOnKeyEvent
|
|
End Object
|
|
b_CullDistance_Zeds=GUIButton'hidemut.OptimizerMenu.CullDistance_Zeds_Button'
|
|
|
|
Begin Object Class=GUIButton Name=StopOptimizer_Zeds_Button
|
|
Caption="Stop Optimizer!"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=StopOptimizer_Zeds_Button.InternalOnKeyEvent
|
|
End Object
|
|
b_StopOptimizer_Zeds=GUIButton'hidemut.OptimizerMenu.StopOptimizer_Zeds_Button'
|
|
|
|
Begin Object Class=GUIButton Name=SaveConfig_Button
|
|
Caption="Save global config paratemers"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=SaveConfig_Button.InternalOnKeyEvent
|
|
End Object
|
|
b_GlobalSaveConfig=GUIButton'hidemut.OptimizerMenu.SaveConfig_Button'
|
|
|
|
Begin Object Class=GUIButton Name=LoadConfig_Button
|
|
Caption="Load global config paratemers"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadConfig_Button.InternalOnKeyEvent
|
|
End Object
|
|
b_GlobalLoadConfig=GUIButton'hidemut.OptimizerMenu.LoadConfig_Button'
|
|
|
|
Begin Object Class=GUIButton Name=LoadVanillaMonsters
|
|
Caption="Load up standard zed assets!"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadVanillaMonsters.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadVanillaMonsters=GUIButton'hidemut.OptimizerMenu.LoadVanillaMonsters'
|
|
|
|
Begin Object Class=GUIButton Name=LoadHillbillyMonsters
|
|
Caption="Load up Hillbilly zed assets!"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadHillbillyMonsters.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadHillbillyMonsters=GUIButton'hidemut.OptimizerMenu.LoadHillbillyMonsters'
|
|
|
|
Begin Object Class=GUIButton Name=LoadXMASMonsters
|
|
Caption="Load up Xmas zed assets!"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadXMASMonsters.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadXMASMonsters=GUIButton'hidemut.OptimizerMenu.LoadXMASMonsters'
|
|
|
|
Begin Object Class=GUIButton Name=LoadCircusMonsters
|
|
Caption="Load up Circus zed assets!"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadCircusMonsters.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadCircusMonsters=GUIButton'hidemut.OptimizerMenu.LoadCircusMonsters'
|
|
|
|
Begin Object Class=GUIButton Name=LoadCustomMonsters
|
|
Caption="Load up custom zed assets!"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadCustomMonsters.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadCustomMonsters=GUIButton'hidemut.OptimizerMenu.LoadCustomMonsters'
|
|
|
|
Begin Object Class=GUIButton Name=LoadDefaultKarmaParams
|
|
Caption="Load Default Karma Params"
|
|
Hint="Load default karma parameters for LevelInfo"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadDefaultKarmaParams.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadDefaultKarmaParams=GUIButton'hidemut.OptimizerMenu.LoadDefaultKarmaParams'
|
|
|
|
Begin Object Class=GUIButton Name=LoadConfigKarmaParams
|
|
Caption="Load config Karma Params"
|
|
Hint="Load config karma parameters for LevelInfo"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=LoadConfigKarmaParams.InternalOnKeyEvent
|
|
End Object
|
|
b_LoadConfigKarmaParams=GUIButton'hidemut.OptimizerMenu.LoadConfigKarmaParams'
|
|
|
|
Begin Object Class=GUIButton Name=SaveConfigKarmaParams
|
|
Caption="Save config Karma Params"
|
|
Hint="Save config karma parameters for LevelInfo"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=SaveConfigKarmaParams.InternalOnKeyEvent
|
|
End Object
|
|
b_SaveConfigKarmaParams=GUIButton'hidemut.OptimizerMenu.SaveConfigKarmaParams'
|
|
|
|
Begin Object Class=GUIButton Name=ApplyKarmaParams
|
|
Caption="Apply Karma Params to Level Info"
|
|
Hint="Apply Karma Params to Level Info default properties"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=ApplyKarmaParams.InternalOnKeyEvent
|
|
End Object
|
|
b_ApplyKarmaParams=GUIButton'hidemut.OptimizerMenu.ApplyKarmaParams'
|
|
|
|
Begin Object Class=GUIButton Name=RemoveBodies
|
|
Caption="Removes all monster and player bodies"
|
|
Hint="Removes all monster and player bodies"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=RemoveBodies.InternalOnKeyEvent
|
|
End Object
|
|
b_RemoveBodies=GUIButton'hidemut.OptimizerMenu.RemoveBodies'
|
|
|
|
Begin Object Class=GUIButton Name=clearLog
|
|
Caption="Clear log spam"
|
|
Hint="Clear log"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=clearLog.InternalOnKeyEvent
|
|
End Object
|
|
b_ClearLog=GUIButton'hidemut.OptimizerMenu.clearLog'
|
|
|
|
Begin Object Class=GUIButton Name=ToggleZedSpy
|
|
Caption="Toggle Zed spy onoff"
|
|
Hint="Toggle Zed spy onoff"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=ToggleZedSpy.InternalOnKeyEvent
|
|
End Object
|
|
b_ToggleZedSpy=GUIButton'hidemut.OptimizerMenu.ToggleZedSpy'
|
|
|
|
Begin Object Class=GUIButton Name=Settings
|
|
Caption="Zed spy settings"
|
|
Hint="Zed spy settings"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=Settings.InternalOnKeyEvent
|
|
End Object
|
|
b_Settings=GUIButton'hidemut.OptimizerMenu.Settings'
|
|
|
|
Begin Object Class=GUIButton Name=ReplacerPrefs
|
|
Caption="Repl"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=ReplacerPrefs.InternalOnKeyEvent
|
|
End Object
|
|
b_ReplacerPrefs=GUIButton'hidemut.OptimizerMenu.ReplacerPrefs'
|
|
|
|
Begin Object Class=GUIButton Name=NetPrefs
|
|
Caption="Net"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=NetPrefs.InternalOnKeyEvent
|
|
End Object
|
|
b_NetPrefs=GUIButton'hidemut.OptimizerMenu.NetPrefs'
|
|
|
|
Begin Object Class=GUIButton Name=ZedsPrefs
|
|
Caption="Zed"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=ZedsPrefs.InternalOnKeyEvent
|
|
End Object
|
|
b_ZedsPrefs=GUIButton'hidemut.OptimizerMenu.ZedsPrefs'
|
|
|
|
Begin Object Class=GUIButton Name=OptimizerPrefs
|
|
Caption="Opt"
|
|
OnClick=OptimizerMenu.ButtonClicked
|
|
OnKeyEvent=OptimizerPrefs.InternalOnKeyEvent
|
|
End Object
|
|
b_OptimizerPrefs=GUIButton'hidemut.OptimizerMenu.OptimizerPrefs'
|
|
|
|
Begin Object Class=moCheckBox Name=moUnlit
|
|
Caption="Toggle lights on zeds"
|
|
OnCreateComponent=moUnlit.InternalOnCreateComponent
|
|
Hint="If checked all zeds will appear in full brightness and will NOT be affected by light. Use as a last resort if you can't get a good fps..."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_Unlit=moCheckBox'hidemut.OptimizerMenu.moUnlit'
|
|
|
|
Begin Object Class=moCheckBox Name=moSeasonedOff
|
|
Caption="Replace seasoned zeds"
|
|
OnCreateComponent=moSeasonedOff.InternalOnCreateComponent
|
|
Hint="Replaces all seasoned zeds with default ones. ATTENTION: sound and other dynamic resources are replaced but that replacement maybe overrided..."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_SeasonedOff=moCheckBox'hidemut.OptimizerMenu.moSeasonedOff'
|
|
|
|
Begin Object Class=moCheckBox Name=moLagOff
|
|
Caption="Use Alternative optimizer method"
|
|
OnCreateComponent=moSeasonedOff.InternalOnCreateComponent
|
|
Hint="Use non-laggy optimizer(default class pollution). WORK ON CUSTOM ZEDS!. You need to know class of custom zed and put that class in config(CustomZeds)"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_LagOff=moCheckBox'hidemut.OptimizerMenu.moLagOff'
|
|
|
|
Begin Object Class=moCheckBox Name=monewbKStaticFriction
|
|
Caption="Better friciton model for ragdolls"
|
|
OnCreateComponent=monewbKStaticFriction.InternalOnCreateComponent
|
|
Hint="Better rag-doll/ground friction model, but more CPU."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_newbKStaticFriction=moCheckBox'hidemut.OptimizerMenu.monewbKStaticFriction'
|
|
|
|
Begin Object Class=moCheckBox Name=moNoRagdolls
|
|
Caption="Disables ragdolls for entire level"
|
|
OnCreateComponent=moNoRagdolls.InternalOnCreateComponent
|
|
Hint="Disables ragdolls for entire level. ATTENTION: Caches and destroys ALL ragdolls on level."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_NoRagdolls=moCheckBox'hidemut.OptimizerMenu.moNoRagdolls'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibControl
|
|
Caption="Enable advanced gib control"
|
|
OnCreateComponent=moGibControl.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibControl=moCheckBox'hidemut.OptimizerMenu.moGibControl'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibUnlit
|
|
Caption="Disable lighting for gibs"
|
|
OnCreateComponent=moGibUnlit.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibUnlit=moCheckBox'hidemut.OptimizerMenu.moGibUnlit'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibHidden
|
|
Caption="Hide gibs"
|
|
OnCreateComponent=moGibHidden.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibHidden=moCheckBox'hidemut.OptimizerMenu.moGibHidden'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletsControl
|
|
Caption="Enable advanced giblets control"
|
|
OnCreateComponent=moGibletsControl.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletsControl=moCheckBox'hidemut.OptimizerMenu.moGibletsControl'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletUnlit
|
|
Caption="Disable lighting for gibslets"
|
|
OnCreateComponent=moGibletUnlit.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletUnlit=moCheckBox'hidemut.OptimizerMenu.moGibletUnlit'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletHidden
|
|
Caption="Hide giblets"
|
|
OnCreateComponent=moGibletHidden.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletHidden=moCheckBox'hidemut.OptimizerMenu.moGibletHidden'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibUseDeferRendering
|
|
Caption="Use defer rendering on gibs"
|
|
OnCreateComponent=moGibUseDeferRendering.InternalOnCreateComponent
|
|
Hint="Use defer rendering on giblets style is (MSTY_Additive).Should halp with mass rendering giblets"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibUseDeferRendering=moCheckBox'hidemut.OptimizerMenu.moGibUseDeferRendering'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibUseCollisionStaticMesh
|
|
Caption="Use static mesh collision"
|
|
OnCreateComponent=moGibUseCollisionStaticMesh.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibUseCollisionStaticMesh=moCheckBox'hidemut.OptimizerMenu.moGibUseCollisionStaticMesh'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibAcceptProjectors
|
|
Caption="Accept projectors on gibs"
|
|
OnCreateComponent=moGibAcceptProjectors.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibAcceptProjectors=moCheckBox'hidemut.OptimizerMenu.moGibAcceptProjectors'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibStaticLighting
|
|
Caption="Use raytraced lighting on gibs"
|
|
OnCreateComponent=moGibStaticLighting.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibStaticLighting=moCheckBox'hidemut.OptimizerMenu.moGibStaticLighting'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletsUseDeferRendering
|
|
Caption="Use defer rendering on giblets"
|
|
OnCreateComponent=moGibletsUseDeferRendering.InternalOnCreateComponent
|
|
Hint="Use defer rendering on giblets style is (MSTY_Additive).Should halp with mass rendering giblets"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletsUseDeferRendering=moCheckBox'hidemut.OptimizerMenu.moGibletsUseDeferRendering'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletUCStaticMesh
|
|
Caption="Use static mesh collision"
|
|
OnCreateComponent=moGibletUCStaticMesh.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletsUseCollisionStaticMesh=moCheckBox'hidemut.OptimizerMenu.moGibletUCStaticMesh'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletProjectors
|
|
Caption="Accept projectors on Giblets"
|
|
OnCreateComponent=moGibletProjectors.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletsAcceptProjectors=moCheckBox'hidemut.OptimizerMenu.moGibletProjectors'
|
|
|
|
Begin Object Class=moCheckBox Name=moGibletLighting
|
|
Caption="Use raytraced lighting on Giblets"
|
|
OnCreateComponent=moGibletLighting.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_GibletsStaticLighting=moCheckBox'hidemut.OptimizerMenu.moGibletLighting'
|
|
|
|
Begin Object Class=moCheckBox Name=moUseFireTweaks
|
|
Caption="Use Fire Tweaks"
|
|
OnCreateComponent=moUseFireTweaks.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_UseFireTweaks=moCheckBox'hidemut.OptimizerMenu.moUseFireTweaks'
|
|
|
|
Begin Object Class=moCheckBox Name=mobDynamicLight
|
|
Caption="Is Dynamic Light"
|
|
OnCreateComponent=mobDynamicLight.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bDynamicLight=moCheckBox'hidemut.OptimizerMenu.mobDynamicLight'
|
|
|
|
Begin Object Class=moCheckBox Name=mobSpecialLit
|
|
Caption="Special Lit"
|
|
OnCreateComponent=mobSpecialLit.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bSpecialLit=moCheckBox'hidemut.OptimizerMenu.mobSpecialLit'
|
|
|
|
Begin Object Class=moCheckBox Name=moUseAdditionalTweaks
|
|
Caption="Use additional tweaks"
|
|
OnCreateComponent=moUseAdditionalTweaks.InternalOnCreateComponent
|
|
Hint="Flashlight and some useless weapon lighting(Fixes pulse to Steady)"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_UseAdditionalTweaks=moCheckBox'hidemut.OptimizerMenu.moUseAdditionalTweaks'
|
|
|
|
Begin Object Class=moCheckBox Name=moDoshLight
|
|
Caption="Fix dosh light"
|
|
OnCreateComponent=moDoshLight.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_FixDoshLighting=moCheckBox'hidemut.OptimizerMenu.moDoshLight'
|
|
|
|
Begin Object Class=moCheckBox Name=moConsNetSpeed
|
|
Caption="Use constant netspeed"
|
|
OnCreateComponent=moConsNetSpeed.InternalOnCreateComponent
|
|
Hint="NetSpeed will never change (NewNetspeed will be forced as default netspeed)"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_ConsNetSpeed=moCheckBox'hidemut.OptimizerMenu.moConsNetSpeed'
|
|
|
|
Begin Object Class=moCheckBox Name=mobMonsterSpotted
|
|
Caption="Disable HardPat bullshit"
|
|
OnCreateComponent=mobMonsterSpotted.InternalOnCreateComponent
|
|
Hint="Removes bHidden on HardPat... I don't care"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bMonsterSpotted=moCheckBox'hidemut.OptimizerMenu.mobMonsterSpotted'
|
|
|
|
Begin Object Class=moCheckBox Name=mobStandard
|
|
Caption="Standard zeds"
|
|
OnCreateComponent=mobStandard.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bStandard=moCheckBox'hidemut.OptimizerMenu.mobStandard'
|
|
|
|
Begin Object Class=moCheckBox Name=mobCircus
|
|
Caption="Circus zeds"
|
|
OnCreateComponent=mobCircus.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bCircus=moCheckBox'hidemut.OptimizerMenu.mobCircus'
|
|
|
|
Begin Object Class=moCheckBox Name=mobHillbilly
|
|
Caption="Hillbilly zeds"
|
|
OnCreateComponent=mobHillbilly.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bHillbilly=moCheckBox'hidemut.OptimizerMenu.mobHillbilly'
|
|
|
|
Begin Object Class=moCheckBox Name=mobXMas
|
|
Caption="XMas zeds"
|
|
OnCreateComponent=mobXMas.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_bXMas=moCheckBox'hidemut.OptimizerMenu.mobXMas'
|
|
|
|
Begin Object Class=moCheckBox Name=moUserSettingsToEmitters
|
|
CaptionWidth=0.000000
|
|
Caption="User settings"
|
|
OnCreateComponent=moUserSettingsToEmitters.InternalOnCreateComponent
|
|
Hint="Applies only to bloat bile and other dynamically load emitters"
|
|
WinWidth=0.000000
|
|
bVisible=False
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
ch_UserSettingsToEmitters=moCheckBox'hidemut.OptimizerMenu.moUserSettingsToEmitters'
|
|
|
|
Begin Object Class=moComboBox Name=coSoundOcclusion
|
|
bReadOnly=True
|
|
CaptionWidth=0.000000
|
|
Caption="Sound Occlusion"
|
|
OnCreateComponent=coSoundOcclusion.InternalOnCreateComponent
|
|
Hint="Changes zed's ambient sound(only) occlusion. Will sound be affected by geometry and etc."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
mo_SoundOcclusion=moComboBox'hidemut.OptimizerMenu.coSoundOcclusion'
|
|
|
|
Begin Object Class=moComboBox Name=coGoreLevel
|
|
bReadOnly=True
|
|
CaptionWidth=0.000000
|
|
Caption="GoreLevel"
|
|
OnCreateComponent=coGoreLevel.InternalOnCreateComponent
|
|
Hint="Gore level preset. Changes how much gore is detailed."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
mo_GoreLevel=moComboBox'hidemut.OptimizerMenu.coGoreLevel'
|
|
|
|
Begin Object Class=moComboBox Name=coMapSettings
|
|
bReadOnly=True
|
|
Caption="Map presets"
|
|
OnCreateComponent=coMapSettings.InternalOnCreateComponent
|
|
Hint="Config map presets(hidemut.ini -> MSParams)"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
mo_MapSettings=moComboBox'hidemut.OptimizerMenu.coMapSettings'
|
|
|
|
Begin Object Class=moComboBox Name=coLightType
|
|
bReadOnly=True
|
|
Caption="Light Type"
|
|
OnCreateComponent=coLightType.InternalOnCreateComponent
|
|
Hint="Light Type of fire Emitters."
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
mo_LightType=moComboBox'hidemut.OptimizerMenu.coLightType'
|
|
|
|
Begin Object Class=moComboBox Name=coWholeMapSearchMethod
|
|
bReadOnly=True
|
|
CaptionWidth=0.000000
|
|
Caption="Search method"
|
|
OnCreateComponent=coWholeMapSearchMethod.InternalOnCreateComponent
|
|
Hint="Map search method for optimizer. if you have potato choose DynamicActors"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
mo_WholeMapSearchMethod=moComboBox'hidemut.OptimizerMenu.coWholeMapSearchMethod'
|
|
|
|
Begin Object Class=moNumericEdit Name=NewTicks
|
|
MinValue=0
|
|
MaxValue=999
|
|
Caption="Ticks"
|
|
OnCreateComponent=NewTicks.InternalOnCreateComponent
|
|
Hint="Each tick optimizer will detect headless zeds. Disabled when LowGore is False. 0 to disable"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_NewTicks=moNumericEdit'hidemut.OptimizerMenu.NewTicks'
|
|
|
|
Begin Object Class=moNumericEdit Name=moSoundRadius
|
|
MinValue=1
|
|
MaxValue=50000
|
|
Caption="SoundRadius"
|
|
OnCreateComponent=moSoundRadius.InternalOnCreateComponent
|
|
Hint="Sound radius for zed's ambient sounds"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_SoundRadius=moNumericEdit'hidemut.OptimizerMenu.moSoundRadius'
|
|
|
|
Begin Object Class=moNumericEdit Name=modefault_NetSpeed
|
|
MinValue=5000
|
|
MaxValue=20000
|
|
Caption="Def_NetSpeed"
|
|
OnCreateComponent=modefault_NetSpeed.InternalOnCreateComponent
|
|
Hint="Default Netspeed. Without zeds netspeed will return to this value"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_default_NetSpeed=moNumericEdit'hidemut.OptimizerMenu.modefault_NetSpeed'
|
|
|
|
Begin Object Class=moNumericEdit Name=monew_NetSpeed
|
|
MinValue=5000
|
|
MaxValue=20000
|
|
Caption="New_Netspeed"
|
|
OnCreateComponent=monew_NetSpeed.InternalOnCreateComponent
|
|
Hint="new Netspeed will change when zeds are near"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_new_NetSpeed=moNumericEdit'hidemut.OptimizerMenu.monew_NetSpeed'
|
|
|
|
Begin Object Class=moNumericEdit Name=moAmbientGlow
|
|
MinValue=0
|
|
MaxValue=255
|
|
Caption="Glow"
|
|
OnCreateComponent=moAmbientGlow.InternalOnCreateComponent
|
|
Hint="Regulates how bright zed will be and how bright inner glow will be on that zed"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_AmbientGlow=moNumericEdit'hidemut.OptimizerMenu.moAmbientGlow'
|
|
|
|
Begin Object Class=moNumericEdit Name=monewMaxRagdolls
|
|
MinValue=1
|
|
MaxValue=2000
|
|
Caption="Max simultaneous ragdolls"
|
|
OnCreateComponent=monewMaxRagdolls.InternalOnCreateComponent
|
|
Hint="Max simultaneous ragdolls. Unfotunately can't be set to 0 cuz of engine bugz. Use NoRagdolls option"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_newMaxRagdolls=moNumericEdit'hidemut.OptimizerMenu.monewMaxRagdolls'
|
|
|
|
Begin Object Class=moNumericEdit Name=moZedSearchRadius
|
|
MinValue=1
|
|
MaxValue=25000
|
|
Caption="Search radius"
|
|
OnCreateComponent=moZedSearchRadius.InternalOnCreateComponent
|
|
Hint="Search radius used for radius zeds search"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_ZedSearchRadius=moNumericEdit'hidemut.OptimizerMenu.moZedSearchRadius'
|
|
|
|
Begin Object Class=moNumericEdit Name=moLightBrightness
|
|
MinValue=-1
|
|
MaxValue=255
|
|
Caption="Light Brightness"
|
|
OnCreateComponent=moLightBrightness.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_LightBrightness=moNumericEdit'hidemut.OptimizerMenu.moLightBrightness'
|
|
|
|
Begin Object Class=moNumericEdit Name=moLightSaturation
|
|
MinValue=-1
|
|
MaxValue=255
|
|
Caption="Light Saturation"
|
|
OnCreateComponent=moLightSaturation.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_LightSaturation=moNumericEdit'hidemut.OptimizerMenu.moLightSaturation'
|
|
|
|
Begin Object Class=moNumericEdit Name=moLightHue
|
|
MinValue=-1
|
|
MaxValue=255
|
|
Caption="Light Hue"
|
|
OnCreateComponent=moLightHue.InternalOnCreateComponent
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_LightHue=moNumericEdit'hidemut.OptimizerMenu.moLightHue'
|
|
|
|
Begin Object Class=moNumericEdit Name=moGibletsMaxLights
|
|
MinValue=0
|
|
MaxValue=20
|
|
Caption="Max lights on giblet"
|
|
OnCreateComponent=moGibletsMaxLights.InternalOnCreateComponent
|
|
Hint="Max hardware lights on primitive(vertex lighting option). Moar == less perfomance"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_GibletsMaxLights=moNumericEdit'hidemut.OptimizerMenu.moGibletsMaxLights'
|
|
|
|
Begin Object Class=moNumericEdit Name=moGibMaxLights
|
|
MinValue=0
|
|
MaxValue=20
|
|
Caption="Max lights on gib"
|
|
OnCreateComponent=moGibMaxLights.InternalOnCreateComponent
|
|
Hint="Max hardware lights on primitive(vertex lighting option). Moar == less perfomance"
|
|
OnChange=OptimizerMenu.InternalOnChange
|
|
End Object
|
|
nu_GibMaxLights=moNumericEdit'hidemut.OptimizerMenu.moGibMaxLights'
|
|
|
|
Begin Object Class=moFloatEdit Name=CullDistance_Zeds
|
|
MinValue=0.000000
|
|
MaxValue=10000.000000
|
|
Caption="CullDistance"
|
|
OnCreateComponent=CullDistance_Zeds.InternalOnCreateComponent
|
|
Hint="Adjust the cullDistances for zeds."
|
|
End Object
|
|
fl_CullDistance_Zeds=moFloatEdit'hidemut.OptimizerMenu.CullDistance_Zeds'
|
|
|
|
Begin Object Class=moFloatEdit Name=Timer_for_Optimizer
|
|
MinValue=0.100000
|
|
MaxValue=35.000000
|
|
Step=0.500000
|
|
Caption="Timer"
|
|
OnCreateComponent=Timer_for_Optimizer.InternalOnCreateComponent
|
|
Hint="Adjust the timer for Optimizer(seconds). Timer is essential optimizer operation for caching zeds and ragdoll controlling."
|
|
End Object
|
|
fl_Timer_for_Opt=moFloatEdit'hidemut.OptimizerMenu.Timer_for_Optimizer'
|
|
|
|
Begin Object Class=moFloatEdit Name=monewKarmaTimeScale
|
|
MinValue=0.000000
|
|
MaxValue=1000.000000
|
|
Caption="Karma physics timestep scaling."
|
|
OnCreateComponent=monewKarmaTimeScale.InternalOnCreateComponent
|
|
Hint="Adjust the Karma physics timestep scaling: how fast ragdolls physics timer will tick"
|
|
End Object
|
|
fl_newKarmaTimeScale=moFloatEdit'hidemut.OptimizerMenu.monewKarmaTimeScale'
|
|
|
|
Begin Object Class=moFloatEdit Name=monewRagdollTimeScale
|
|
MinValue=0.000000
|
|
MaxValue=1000.000000
|
|
Caption="Karma physics timestep scaling."
|
|
OnCreateComponent=monewRagdollTimeScale.InternalOnCreateComponent
|
|
Hint="Ragdoll physics timestep scaling. This is applied on top of KarmaTimeScale."
|
|
End Object
|
|
fl_newRagdollTimeScale=moFloatEdit'hidemut.OptimizerMenu.monewRagdollTimeScale'
|
|
|
|
Begin Object Class=moFloatEdit Name=monewKarmaGravScale
|
|
MinValue=0.000000
|
|
MaxValue=1000.000000
|
|
Caption="Use lower friction model"
|
|
OnCreateComponent=monewKarmaGravScale.InternalOnCreateComponent
|
|
Hint="Allows you to make ragdolls use lower friction than normal."
|
|
End Object
|
|
fl_newKarmaGravScale=moFloatEdit'hidemut.OptimizerMenu.monewKarmaGravScale'
|
|
|
|
Begin Object Class=moFloatEdit Name=monewRagdollLifeTime
|
|
MinValue=0.000000
|
|
Caption="Ragdoll life time"
|
|
OnCreateComponent=monewRagdollLifeTime.InternalOnCreateComponent
|
|
Hint="Ragdoll life time. Obsolete if Noragdolls option is on"
|
|
End Object
|
|
fl_newRagdollLifeTime=moFloatEdit'hidemut.OptimizerMenu.monewRagdollLifeTime'
|
|
|
|
Begin Object Class=moFloatEdit Name=flGibletLifespan
|
|
MinValue=0.000000
|
|
Caption="Giblet Lifespan"
|
|
OnCreateComponent=flGibletLifespan.InternalOnCreateComponent
|
|
End Object
|
|
fl_GibletLifespan=moFloatEdit'hidemut.OptimizerMenu.flGibletLifespan'
|
|
|
|
Begin Object Class=moFloatEdit Name=flGibLifespan
|
|
MinValue=0.000000
|
|
Caption="Gib Lifespan"
|
|
OnCreateComponent=flGibLifespan.InternalOnCreateComponent
|
|
End Object
|
|
fl_GibLifespan=moFloatEdit'hidemut.OptimizerMenu.flGibLifespan'
|
|
|
|
Begin Object Class=moFloatEdit Name=flLightRadius
|
|
MinValue=-1.000000
|
|
Caption="Light Radius"
|
|
OnCreateComponent=flGibletLifespan.InternalOnCreateComponent
|
|
End Object
|
|
fl_LightRadius=moFloatEdit'hidemut.OptimizerMenu.flLightRadius'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGOptimizer
|
|
bFillClient=True
|
|
Caption="Optimizer Main features"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
MaxPerColumn=12
|
|
WinTop=0.349012
|
|
WinLeft=0.068462
|
|
WinWidth=0.386539
|
|
WinHeight=0.505876
|
|
OnPreDraw=BGOptimizer.InternalPreDraw
|
|
End Object
|
|
sb_Optimizer=GUISectionBackground'hidemut.OptimizerMenu.BGOptimizer'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGAssetLoader
|
|
bFillClient=True
|
|
Caption="Asset Loader"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
WinTop=0.010000
|
|
WinLeft=0.755000
|
|
WinWidth=0.250000
|
|
WinHeight=0.250000
|
|
OnPreDraw=BGAssetLoader.InternalPreDraw
|
|
End Object
|
|
sb_AssetLoader=GUISectionBackground'hidemut.OptimizerMenu.BGAssetLoader'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGKarmaParams
|
|
bFillClient=True
|
|
Caption="Karma Parameters for whole level"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
WinTop=0.450000
|
|
WinLeft=0.455000
|
|
WinWidth=0.300000
|
|
WinHeight=0.450000
|
|
OnPreDraw=BGKarmaParams.InternalPreDraw
|
|
End Object
|
|
sb_KarmaParams=GUISectionBackground'hidemut.OptimizerMenu.BGKarmaParams'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGLog
|
|
bFillClient=True
|
|
Caption="Logged Actions"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
WinTop=0.010000
|
|
WinLeft=0.155000
|
|
WinWidth=0.300000
|
|
WinHeight=0.340000
|
|
OnPreDraw=BGKarmaParams.InternalPreDraw
|
|
End Object
|
|
sb_Log=GUISectionBackground'hidemut.OptimizerMenu.BGLog'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGOptStarted
|
|
bFillClient=True
|
|
Caption="Optimizer: status"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
WinTop=0.010000
|
|
WinWidth=0.150000
|
|
WinHeight=0.340000
|
|
OnPreDraw=BGOptStarted.InternalPreDraw
|
|
End Object
|
|
sb_OptStarted=GUISectionBackground'hidemut.OptimizerMenu.BGOptStarted'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGGoreLevel
|
|
bFillClient=True
|
|
Caption="Gore level: advanced gore and etc."
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
WinTop=0.262000
|
|
WinLeft=0.755000
|
|
WinWidth=0.250000
|
|
WinHeight=0.735000
|
|
OnPreDraw=BGGoreLevel.InternalPreDraw
|
|
End Object
|
|
sb_GoreLevel=GUISectionBackground'hidemut.OptimizerMenu.BGGoreLevel'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGFireAndDosh
|
|
bFillClient=True
|
|
Caption="Fire, light and dosh fixes."
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
WinTop=0.010000
|
|
WinLeft=0.455000
|
|
WinWidth=0.300000
|
|
WinHeight=0.440000
|
|
OnPreDraw=BGFireAndDosh.InternalPreDraw
|
|
End Object
|
|
sb_FireAndDosh=GUISectionBackground'hidemut.OptimizerMenu.BGFireAndDosh'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGZedPrefs
|
|
bFillClient=True
|
|
Caption="Optimizer Zeds Prefs"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
MaxPerColumn=12
|
|
WinTop=0.349012
|
|
WinLeft=0.068462
|
|
WinWidth=0.386539
|
|
WinHeight=0.505876
|
|
OnPreDraw=BGZedPrefs.InternalPreDraw
|
|
End Object
|
|
sb_ZedsPrefs=GUISectionBackground'hidemut.OptimizerMenu.BGZedPrefs'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGNetPrefs
|
|
bFillClient=True
|
|
Caption="Optimizer Net Prefs"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
MaxPerColumn=12
|
|
WinTop=0.349012
|
|
WinLeft=0.068462
|
|
WinWidth=0.386539
|
|
WinHeight=0.505876
|
|
OnPreDraw=BGNetPrefs.InternalPreDraw
|
|
End Object
|
|
sb_NetPrefs=GUISectionBackground'hidemut.OptimizerMenu.BGNetPrefs'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGReplacerPrefs
|
|
bFillClient=True
|
|
Caption="Optimizer Replacer Prefs"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
MaxPerColumn=12
|
|
WinTop=0.349012
|
|
WinLeft=0.068462
|
|
WinWidth=0.386539
|
|
WinHeight=0.505876
|
|
OnPreDraw=BGReplacerPrefs.InternalPreDraw
|
|
End Object
|
|
sb_ReplacerPrefs=GUISectionBackground'hidemut.OptimizerMenu.BGReplacerPrefs'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGOptimizerButtons
|
|
bFillClient=True
|
|
Caption="Optimizer Actions"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
NumColumns=2
|
|
MaxPerColumn=2
|
|
WinTop=0.852000
|
|
WinWidth=0.455000
|
|
WinHeight=0.148000
|
|
OnPreDraw=BGOptimizerButtons.InternalPreDraw
|
|
End Object
|
|
sb_OptimizerButtons=GUISectionBackground'hidemut.OptimizerMenu.BGOptimizerButtons'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGZedSpy
|
|
bFillClient=True
|
|
Caption="Debug framework for analyzing zeds"
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
NumColumns=2
|
|
MaxPerColumn=1
|
|
WinTop=0.895000
|
|
WinLeft=0.455000
|
|
WinWidth=0.300000
|
|
WinHeight=0.100000
|
|
OnPreDraw=BGZedSpy.InternalPreDraw
|
|
End Object
|
|
sb_ZedSpy=GUISectionBackground'hidemut.OptimizerMenu.BGZedSpy'
|
|
|
|
Begin Object Class=GUISectionBackground Name=BGSwitchTo
|
|
bFillClient=True
|
|
ColPadding=0.020000
|
|
LeftPadding=0.000000
|
|
RightPadding=0.000000
|
|
TopPadding=0.000000
|
|
BottomPadding=0.000000
|
|
MaxPerColumn=12
|
|
WinTop=0.349012
|
|
WinWidth=0.060000
|
|
WinHeight=0.505876
|
|
OnPreDraw=BGSwitchTo.InternalPreDraw
|
|
End Object
|
|
sb_SwitchTo=GUISectionBackground'hidemut.OptimizerMenu.BGSwitchTo'
|
|
|
|
Begin Object Class=GUIScrollTextBox Name=lbActions
|
|
bNoTeletype=True
|
|
CharDelay=0.000000
|
|
EOLDelay=0.000000
|
|
RepeatDelay=0.000000
|
|
OnCreateComponent=lbActions.InternalOnCreateComponent
|
|
FontScale=FNS_Small
|
|
bNeverFocus=True
|
|
End Object
|
|
lb_Actions=GUIScrollTextBox'hidemut.OptimizerMenu.lbActions'
|
|
} |