rott/kf_sources/HideMut/Classes.backup/HideMutMenu.uc
2026-07-14 20:27:09 +07:00

1930 lines
60 KiB
Ucode

class HideMutMenu extends GUI2K4.MidGamePanel
config(HideMut);
//===============================================================Strructs
// struct for useless map objects to hide and etc
struct UselessStuff
{
var string MapName;
var string ProfileName;
var array<string> uselessStaticMeshes;
var array<string> uselessEmitters;
var array<string> uselessLights;
var array<string> uselessDecorations;
var array<string> uselessMovers;
var array<string> uselessProjectors;
var array<string> uselessRotatingMeshActors;
};
// struct for culled static meshes
struct DefaultCulling
{
var transient array<StaticMeshActor> cullStaticMeshes;
var array<float> cullDistanceSt;
};
// for ambient sounds
struct SoundDefault
{
var transient array<AmbientSound> AmbientSoundName;
var transient array<Sound> AmbientSound;
var array<float> SoundPitch;
var array<float> SoundVolume;
var array<float> TransientSoundRadius;
var array<float> TransientSoundVolume;
};
//===============================================================Strructs
var(DEBUG) transient array<StaticMeshActor> cachedStaticMeshes; //Caches
var(DEBUG) transient array<Light> cachedLights;
var(DEBUG) transient array<Emitter> cachedEmitters;
var(DEBUG) transient array<Decoration> cachedDecorations;
var(DEBUG) transient array<Mover> cachedMovers;
var(DEBUG) transient array<Projector> cachedProjectors; //KFBloodSplatter
var(DEBUG) transient array<KF_RotatingMeshActor> cachedRotatingMeshActors;
var transient array<StaticMeshActor> justStatic;
var transient array<Emitter> justEmitter;
var transient array<Decoration> justDecos;
var transient array<Mover> justMover;
var bool first_Run, first_sounds, bCached, bShow, bDoNotDoShit, bNoEmitters; //sound and culling system
var soundDefault OriginalSound;
var DefaultCulling DefaultCullMeshes; //For Default Culling
var DefaultCulling CulledStaticMeshes; //For modified culling
//=================================================================Interface section
var automated GUISectionBackground sb_HideStaticMesh_List, sb_Misc, sb_HideStaticMesh,
sb_Collision_Flagz, sb_HideActors, sb_Log;
var automated GUIButton b_HideAllActors, b_CacheAllActors,
b_JustButton, b_DisplayCachedActors,
b_ClearCache, b_ActivateInteraction,
b_KillEmitters,
b_CullDistance,
b_Disabler,
b_NoAnimShit,
b_SaveConfigSettings,
b_LoadConfigSettings,
b_ClearLog,
b_StartMapOptimizer;
var automated MOCheckBox ch_HideNiggaz, ch_HideEmitters,
ch_HideTerrain,ch_HideStaticMeshes,
ch_muteAll,
ch_BlockActors, ch_BlockZeroExtentTraces,
ch_HideStaticMeshesWithNoCollision,
ch_HideDecosWithNoCollision,
ch_HideEmittersWithNoInstigator,
ch_KillAllEmitters, ch_RemoveAnimatedShit,
ch_HideMoversWithNoCollision;
var automated moFloatEdit fl_CullDistance;
var PlayerController PC;
/*
var Automated GUIListBox lb_ActortListsList;
var GUIList Mo_Profiles;
*/
var Automated MoComboBox Mo_Profiles, Mo_Logic;
var array<GUIButton> LColumn;
var automated GUIScrollTextBox lb_Actions;
//==========================================================Interface section end
var string mapName;
var array<int> ProfileIndexes;
var a_MapOptimizer MapOpt;
//==========================================================Config variables
var config array<string> AnimatedMeshesNames;
var config array<UselessStuff> MapSpecificObj;
var config array<string> uselessSM, uselessEmitter, uselessMover, uselessDecoration;
var config bool bHideNiggaz, bHideEmitters, bHideTerrain,bHideStaticMeshes, bmuteAll, bBlockActors, bBlockZeroExtentTraces,
bHideStaticMeshesWithNoCollision,
bHideDecosWithNoCollision,
bHideEmittersWithNoInstigator,
bHideMoversWithNoCollision;
var config float StaticMesh_CullDistance;
var config string MoLogic;
var config bool bApplyTweaks, bKillAllEmitters;
var bool bConfigLoaded, bRemoveAnimatedShit;
//==========================================================Config variables end
var string colorG, colorB, colorY, colorW; //Colors
simulated function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
local GUIButton B;
local string s;
local int i;
super.InitComponent(MyController, MyOwner);
//For resizing buttons
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.8;
}
}
PC = PlayerOwner();
colorG=chr(27)$chr(1)$chr(240)$chr(1);
colorB=chr(27)$chr(90)$chr(90)$chr(240);
colorY=chr(27)$chr(127)$chr(127)$chr(1);
colorW=chr(27)$chr(255)$chr(255)$chr(255);
sb_Log.ManageComponent(lb_Actions);
sb_Log.ManageComponent(b_ClearLog);
sb_Misc.ManageComponent(ch_HideNiggaz);
sb_Misc.ManageComponent(ch_HideEmitters);
sb_Misc.ManageComponent(ch_HideTerrain);
sb_Misc.ManageComponent(ch_HideStaticMeshes);
sb_Misc.ManageComponent(ch_KillAllEmitters);
sb_Misc.ManageComponent(b_KillEmitters);
sb_Misc.ManageComponent(fl_CullDistance);
sb_Misc.ManageComponent(b_CullDistance);
sb_Misc.ManageComponent(b_Disabler);
sb_HideStaticMesh_List.ManageComponent(Mo_Profiles);
sb_HideStaticMesh_List.ManageComponent(b_CacheAllActors);
sb_HideStaticMesh_List.ManageComponent(b_HideAllActors);
sb_HideStaticMesh_List.ManageComponent(b_DisplayCachedActors);
sb_HideStaticMesh_List.ManageComponent(b_ClearCache);
sb_HideStaticMesh_List.ManageComponent(b_SaveConfigSettings);
sb_HideStaticMesh_List.ManageComponent(b_LoadConfigSettings);
LColumn[0]= b_CacheAllActors;
LColumn[1]= b_HideAllActors;
LColumn[2] = b_DisplayCachedActors;
LColumn[3] = b_ClearCache;
Mo_Logic.AddItem("And");
Mo_Logic.AddItem("Or");
sb_HideStaticMesh.ManageComponent(b_ActivateInteraction);
sb_HideStaticMesh.ManageComponent(ch_RemoveAnimatedShit);
sb_HideStaticMesh.ManageComponent(b_NoAnimShit);
sb_HideStaticMesh.ManageComponent(ch_muteAll);
sb_HideStaticMesh.ManageComponent(b_StartMapOptimizer);
sb_Collision_Flagz.ManageComponent(Mo_Logic);
sb_Collision_Flagz.ManageComponent(ch_BlockActors);
sb_Collision_Flagz.ManageComponent(ch_BlockZeroExtentTraces);
sb_HideActors.ManageComponent(ch_HideStaticMeshesWithNoCollision);
sb_HideActors.ManageComponent(ch_HideDecosWithNoCollision);
sb_HideActors.ManageComponent(ch_HideEmittersWithNoInstigator);
sb_HideActors.ManageComponent(ch_HideMoversWithNoCollision);
sb_HideActors.ManageComponent(b_JustButton);
}
function ShowPanel(bool bShow)
{
super.ShowPanel(bShow);
}
//====================Config params
function SaveConfigParams()
{
bHideNiggaz = ch_HideNiggaz.IsChecked();
bHideEmitters = ch_HideEmitters.IsChecked();
bHideTerrain = ch_HideTerrain.IsChecked();
bHideStaticMeshes = ch_HideStaticMeshes.IsChecked();
bmuteAll = ch_muteAll.IsChecked();
bBlockActors = ch_BlockActors.IsChecked();
bBlockZeroExtentTraces = ch_BlockZeroExtentTraces.IsChecked();
bHideStaticMeshesWithNoCollision = ch_HideStaticMeshesWithNoCollision.IsChecked();
bHideDecosWithNoCollision = ch_HideDecosWithNoCollision.IsChecked();
bHideEmittersWithNoInstigator = ch_HideEmittersWithNoInstigator.IsChecked();
bHideMoversWithNoCollision = ch_HideMoversWithNoCollision.IsChecked();
StaticMesh_CullDistance = fl_CullDistance.GetValue();
bRemoveAnimatedShit = ch_RemoveAnimatedShit.IsChecked();
bKillAllEmitters = ch_KillAllEmitters.IsChecked();
MoLogic = Mo_Logic.GetText();
lb_Actions.Addtext("Saving parameters to config...");
SaveConfig();
}
function LoadConfigParams()
{
bDoNotDoShit = True; //Do not let menu do something that we don't want aka multiple config loads and other shit
lb_Actions.Addtext("Loading params from config...");
lb_Actions.Addtext("Apply tweaks is" @ bApplyTweaks @ ". Check your config if you want to apply tweaks at runtime...");
ch_HideNiggaz.Checked(bHideNiggaz);
ch_HideEmitters.Checked(bHideEmitters);
ch_HideTerrain.Checked(bHideTerrain);
ch_HideStaticMeshes.Checked(bHideStaticMeshes);
ch_muteAll.Checked(bmuteAll);
Mo_Logic.SetIndex(Mo_Logic.FindIndex(MoLogic));
ch_BlockActors.Checked(bBlockActors);
ch_BlockZeroExtentTraces.Checked(bBlockZeroExtentTraces);
ch_HideStaticMeshesWithNoCollision.Checked(bHideStaticMeshesWithNoCollision);
ch_HideDecosWithNoCollision.Checked(bHideDecosWithNoCollision);
ch_HideEmittersWithNoInstigator.Checked(bHideEmittersWithNoInstigator);
ch_HideMoversWithNoCollision.Checked(bHideMoversWithNoCollision);
fl_CullDistance.SetValue(StaticMesh_CullDistance);
ch_RemoveAnimatedShit.Checked(bRemoveAnimatedShit);
ch_KillAllEmitters.Checked(bKillAllEmitters);
if (bApplyTweaks && !bConfigLoaded) //Do not apply tweaks if user decided to mash load settings button
{
lb_Actions.Addtext("Applying tweaks....");
bDoNotDoShit = False;
if (bHideNiggaz)
removeBlackBitch(bHideNiggaz);
if (bHideEmitters)
hideAllEmitters(bHideEmitters);
if (bHideTerrain)
hideTerrain(bHideTerrain);
if (bHideStaticMeshes)
hideAllStaticMeshes(bHideStaticMeshes);
if (bmuteAll)
{
if (!first_sounds)
grabDefaultSounds();
MuteAll();
}
if (bHideStaticMeshesWithNoCollision || bHideDecosWithNoCollision || bHideEmittersWithNoInstigator || bHideMoversWithNoCollision)
toggleMeshesWithNoCollision();
if (bKillAllEmitters)
KillAllEmitters();
if (StaticMesh_CullDistance > 0 && bApplyTweaks)
{
if (DefaultCullMeshes.cullStaticMeshes.length == 0)
GrabCullDistances();
CullDistanceSetAllStaticMeshes();
}
if (bRemoveAnimatedShit)
NoAnimShit();
}
bDoNotDoShit = False;
}
//====================================================
function bool InternalOnPreDraw(Canvas C)
{
// local int i;
// local float x,w,h;
// w = b_CacheAllActors.ActualWidth();
// h = b_CacheAllActors.ActualHeight();
// for (i = 0; i < LColumn.length; i++)
// LColumn[i].SetPosition(x, LColumn[i].ActualTop(), w, h, true);
// x = sb_HideStaticMesh_List.ActualLeft() + sb_HideStaticMesh_List.ActualWidth() - LColumn[0].ActualLeft() - w;
// // Right column for stat meshes list
// for (i = 0; i < LColumn.length; i++)
// // RColumn[i].SetPosition(x/1.5, LColumn[i].ActualTop(), w, h, true);
// return false;
// ADDITION
return false;
}
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,k;
super.Opened(Sender);
PC = PlayerOwner();
mapName = PC.Level.GetURLMap();
b_CacheAllActors.MenuState=MSAT_Disabled;
b_HideAllActors.MenuState=MSAT_Disabled;
b_DisplayCachedActors.MenuState=MSAT_Disabled;
//refresh list with ActortLists
Mo_Profiles.ResetComponent();
if (MapSpecificObj.Length == 0) //just in case of empty config
return;
//======================================
/*
Stfu.MapName="KF-ThrillsChills";
Stfu.ProfileName = "Optimize map";
for ( i = 0; i < uselessSM.Length; i++ )
{
if (i < 31)
Stfu.uselessStaticMeshes[i] = uselessSM[i];
else if (i>31)
Stfu.uselessEmitters[i] = uselessSM[i];
else if (i>62)
Stfu.uselessDecorations[i] = uselessSM[i];
else if (i>92)
Stfu.uselessMovers[i] = uselessSM[i];
else if (i>92)
Stfu.uselessProjectors[i] = uselessSM[i];
lb_Actions.Addtext(Stfu.uselessStaticMeshes[i]);
lb_Actions.Addtext(uselessSM[i]);
lb_Actions.Addtext(i);
}
/*
for ( i = 0; i < uselessEmitter.Length; i++ )
{
Stfu.uselessEmitters[i] = uselessEmitter[i];
}
for ( i = 0; i < uselessDecoration.Length; i++ )
{
Stfu.uselessDecorations[i] = uselessDecoration[i];
}
for ( i = 0; i < uselessMover.Length; i++ )
{
Stfu.uselessMovers[i] = uselessMover[i];
}
*/
MapSpecificObj[MapSpecificObj.Length] = Stfu;
for ( i = 0; i < STFU.uselessStaticMeshes.Length; i++ )
{
lb_Actions.Addtext(Stfu.uselessStaticMeshes[i]);
}
SaveConfig();
*/
//==============================================
for ( i = 0; i < MapSpecificObj.Length; i++ )
{
//lb_Actions.Addtext(MapSpecificObj[i].uselessStaticMeshes[0] @ MapSpecificObj[i].uselessStaticMeshes[1] @ MapSpecificObj[i].uselessStaticMeshes[2]);
if (CAPS(MapSpecificObj[i].MapName) == CAPS(MapName))
{
Mo_Profiles.addItem(MapSpecificObj[i].ProfileName); //Adding profile name to list
ProfileIndexes[k] = i; //Add indexes(id) profiles for our array
k++;
b_CacheAllActors.MenuState=MSAT_Blurry;
}
}
if (!bConfigLoaded)
{
LoadConfigParams();
bConfigLoaded = True;
}
}
simulated function Closed(GUIComponent Sender, bool bCancelled)
{
super.Closed(Sender, bCancelled);
}
simulated function bool ButtonClicked(GUIComponent Sender)
{
switch (Sender)
{
case b_CacheAllActors:
bCached = True;
b_HideAllActors.MenuState=MSAT_Blurry;
b_HideAllActors.MenuState=MSAT_Blurry;
b_DisplayCachedActors.MenuState=MSAT_Blurry;
cacheStaticMeshes();
cacheLights();
cacheEmitters();
cacheDecorations();
cacheMovers();
cacheRotatingMeshActors();
break;
case b_KillEmitters:
KillAllEmitters();
break;
case b_Disabler:
break;
case b_HideAllActors:
if(bCached) //We have cached elements
{
checkAvailability(); //none elements clear
if (!bShow) //Show or hide cached elements
{
bShow = True;
lb_Actions.Addtext(colorW$"----------------------------------------");
lb_Actions.Addtext(colorG$"Following actors were hided:");
hideStaticMeshes();
hideLights();
hideEmitters();
hideDecorations();
hideMovers();
hideRotatingMeshActors();
lb_Actions.Addtext(colorW$"----------------------------------------");
}
else
{
bShow = False;
lb_Actions.Addtext(colorW$"----------------------------------------");
lb_Actions.Addtext(colorG$"Following actors were showed:");
showStaticMeshes();
showLights();
showEmitters();
showDecorations();
showMovers();
showRotatingMeshActors();
lb_Actions.Addtext(colorW$"----------------------------------------");
break;
}
}
else
{
lb_Actions.Addtext(colorW$"Cache is empty....");
}
case b_JustButton:
toggleMeshesWithNoCollision();
break;
case b_DisplayCachedActors:
checkAvailability();
lb_Actions.Addtext(colorW$"----------------------------------------");
lb_Actions.Addtext(colorG$"Cached actors:");
displayCachedStaticMeshes();
displayCachedLights();
displayCachedEmitters();
displayCachedDecorations();
displayCachedMovers();
displayCachedRotatingMeshActors();
lb_Actions.Addtext(colorW$"----------------------------------------");
break;
case b_ClearCache:
clearCache();
b_HideAllActors.MenuState=MSAT_Disabled;
break;
case b_CullDistance:
if (DefaultCullMeshes.cullStaticMeshes.length == 0)
GrabCullDistances();
CullDistanceSetAllStaticMeshes();
break;
case b_NoAnimShit:
NoAnimShit();
break;
case b_ActivateInteraction:
break;
case b_SaveConfigSettings:
SaveConfigParams();
break;
case b_LoadConfigSettings:
LoadConfigParams();
break;
case b_StartMapOptimizer:
StartStopMapOptimizer();
break;
default:
return false;
}
return true;
}
// Toggle map optimizer on off
simulated function StartStopMapOptimizer()
{
if (MapOpt == none)
{
MapOpt = PC.Spawn(class'a_MapOptimizer', PC);
MapOpt.StartMapOptimizer();
}
else
{
MapOpt.StopMapOptimizer();
MapOpt.Destroy();
MapOpt = none;
}
}
/*STATIC MESHES*/
simulated function cacheStaticMeshes()
{
local StaticMeshActor tempSM;
local array<string> uselessStaticMeshes;
local int i, count;
uselessStaticMeshes = MapSpecificObj[ProfileIndexes[Mo_Profiles.getIndex()]].uselessStaticMeshes;
//ALC.getUselessStaticMeshes(Mo_Profiles.get(false));
lb_Actions.Addtext("Meshes in ini file:"$uselessStaticMeshes.length);
forEach AllObjects (class'StaticMeshActor', tempSM)
{
for(i = 0; i < uselessStaticMeshes.length; i++)
{
if(string(tempSM.name) == uselessStaticMeshes[i])
{
cachedStaticMeshes[cachedStaticMeshes.length] = tempSM;
uselessStaticMeshes.remove(i,1);
count++;
break;
}
}
}
lb_Actions.Addtext("Meshes added:"$count);
lb_Actions.Addtext(colorG$"All static meshes were cached sucessfully.");
}
simulated function hideStaticMeshes()
{
local int i;
lb_Actions.Addtext(colorB$"Static meshes");
for(i = 0; i < cachedStaticMeshes.length; i++)
{
if(cachedStaticMeshes[i].bHidden == false)
{
cachedStaticMeshes[i].bHidden = true;
if (cachedStaticMeshes[i].bStatic)
cachedStaticMeshes[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedStaticMeshes[i].name));
}
}
}
simulated function showStaticMeshes()
{
local int i;
lb_Actions.Addtext(colorB$"Static meshes");
for(i = 0; i < cachedStaticMeshes.length; i++)
{
if(cachedStaticMeshes[i].bHidden == true)
{
cachedStaticMeshes[i].bHidden = false;
if (cachedStaticMeshes[i].bStatic)
cachedStaticMeshes[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedStaticMeshes[i].name));
}
}
}
//=========================================================All Static meshes
simulated function hideAllStaticMeshes(bool Flag)
{
local StaticMeshActor tempSM;
forEach AllObjects (class'StaticMeshActor', tempSM)
{
tempSM.bHidden = Flag;
tempSM.ResetStaticFilterState();
}
if (Flag)
lb_Actions.Addtext(colorB$"All Static meshes, decoratins and movers were hidden");
else
lb_Actions.Addtext(colorB$"All Static meshes were shown");
}
simulated function hideAllDecorations(bool Flag)
{
local Decoration tempD;
forEach AllObjects(class'Decoration', tempD)
{
tempD.bHidden = Flag;
if(tempD.bStatic)
tempD.ResetStaticFilterState();
}
if (Flag)
lb_Actions.Addtext(colorB$"All Static meshes, decoratins and movers were hidden");
else
lb_Actions.Addtext(colorB$"All Static meshes were shown");
}
simulated function hideAllMovers(bool Flag)
{
local Mover tempM;
forEach AllObjects (class'Mover', tempM)
{
//if(tempM.bBlockActors == false && tempM.bBlockZeroExtentTraces == false)
tempM.bHidden = Flag;
if (tempM.bStatic)
tempM.ResetStaticFilterState();
}
if (Flag)
lb_Actions.Addtext(colorB$"All Static meshes, decoratins and movers were hidden");
else
lb_Actions.Addtext(colorB$"All Static meshes were shown");
}
simulated function hideAllRotatingMeshActors(bool Flag)
{
local KF_RotatingMeshActor tempR;
forEach AllObjects (class'KF_RotatingMeshActor', tempR)
{
tempR.bHidden = Flag;
if (tempR.bStatic)
tempR.ResetStaticFilterState();
}
if (Flag)
lb_Actions.Addtext(colorB$"All Static meshes, decoratins and movers were hidden");
else
lb_Actions.Addtext(colorB$"All Static meshes were shown");
}
//=========================================================All Static meshes
//=========================================================All Emitters
simulated function hideAllEmitters(bool Flag)
{
local Emitter tempE;
if (Flag) //Hide Emitters
{
forEach AllObjects (class'Emitter', tempE)
{
tempE.bHidden = true;
tempE.ResetStaticFilterState();
}
lb_Actions.Addtext(colorB$"All fucking emitters were hidden");
}
else
{
forEach AllObjects (class'Emitter', tempE)
{
tempE.bHidden = false;
tempE.ResetStaticFilterState();
}
lb_Actions.Addtext(colorB$"All fucking emitters were shown");
}
}
simulated function KillAllEmitters() //Bye-bye faggots
{
local Emitter tempE;
forEach AllObjects (class'Emitter', tempE)
{
tempE.Kill();
}
bNoEmitters = True; //BugFix for native-related crash
}
//=========================================================Emitters
//=========================================================Terrain Hide for heavy mapz
simulated function hideTerrain(bool Flag)
{
local ZoneInfo zoneE;
forEach AllObjects (class'ZoneInfo', zoneE)
{
zoneE.bTerrainZone = !Flag;
zoneE.ResetStaticFilterState();
}
if (flag)
lb_Actions.Addtext(colorB$"All terrain were hided");
else
lb_Actions.Addtext(colorB$"All terrain were shown");
}
//=========================================================Niggaz hide/show
simulated function removeBlackBitch(bool Flag)
{
local WeaponLocker Nigga;
forEach AllObjects(class'WeaponLocker', Nigga)
{
Nigga.bHidden = Flag;
}
if (flag)
lb_Actions.Addtext("All niggaz are hided");
else
lb_Actions.Addtext("All niggaz were shown");
}
//=========================================================Niggaz hide/show
//=========================================================Experimental culldistance set
simulated function CullDistanceSetAllStaticMeshes()
{
local StaticMeshActor tempSM;
local float cullDistance;
local int i;
cullDistance = fl_CullDistance.GetValue();
if (cullDistance == -1 && CulledStaticMeshes.cullStaticMeshes.length != 0)
{
RestoreCullDistanceSetAllStaticMeshes();
return;
}
forEach AllObjects (class'StaticMeshActor', tempSM)
{
if (!tempSM.bHidden)
{
tempSM.culldistance = culldistance;
tempSM.ResetStaticFilterState();
i++;
}
}
lb_Actions.Addtext(colorB$"Cull distance for all statice meshes set to " @ string(cullDistance));
}
simulated function RestoreCullDistanceSetAllStaticMeshes()
{
local StaticMeshActor tempSM;
local int i;
for (i=0; i<CulledStaticMeshes.cullStaticMeshes.length; i++)
{
tempSM = CulledStaticMeshes.cullStaticMeshes[i];
if (tempSM.bHidden == False)
{
tempSM.culldistance = CulledStaticMeshes.cullDistanceSt[i];
tempSM.ResetStaticFilterState();
}
}
lb_Actions.Addtext(colorB$"Cull distance for all static meshes restored to default");
}
simulated function GrabCullDistances()
{
local StaticMeshActor tempSM;
local int i;
forEach AllObjects (class'StaticMeshActor', tempSM)
{
if (!tempSM.bHidden)
{
DefaultCullMeshes.cullStaticMeshes[DefaultCullMeshes.cullStaticMeshes.length] = tempSM;
DefaultCullMeshes.cullDistanceSt[DefaultCullMeshes.cullDistanceSt.length] = tempSM.cullDistance;
}
}
if (DefaultCullMeshes.cullStaticMeshes.length != 0)
For (i=0; i<DefaultCullMeshes.cullStaticMeshes.length; i++)
if (DefaultCullMeshes.cullStaticMeshes[i] == none)
DefaultCullMeshes.cullStaticMeshes.Remove(i,1);
else
lb_Actions.Addtext(colorB$"No static mesh on map!");
}
//=========================================================Experimental culldistance set
simulated function displayCachedStaticMeshes()
{
local int i;
lb_Actions.Addtext(colorB$"Static meshes ["$cachedStaticMeshes.length$"]");
for(i = 0; i < cachedStaticMeshes.length; i++)
lb_Actions.Addtext(colorY$" "@string(cachedStaticMeshes[i].name));
}
/*LIGHTS*/
simulated function cacheLights()
{
local Light tempL;
local array<string> uselessLights;
local int i;
//uselessLights = ALC.getUselessLights(Mo_Profiles.get(false));
uselessLights = MapSpecificObj[ProfileIndexes[Mo_Profiles.getIndex()]].uselessLights;
forEach AllObjects (class'Light', tempL)
{
for(i = 0; i < uselessLights.length; i++)
{
if(string(tempL.name) == uselessLights[i])
{
cachedLights[cachedLights.length] = tempL;
uselessLights.remove(i,1);
break;
}
}
}
lb_Actions.Addtext(colorG$"All lights were cached sucessfully.");
}
simulated function hideLights()
{
local int i;
lb_Actions.Addtext(colorB$"Lights[coronas]");
for(i = 0; i < cachedLights.length; i++)
if(cachedLights[i].bCorona == true)
{
cachedLights[i].bCorona = false;
if(cachedLights[i].bStatic)
cachedLights[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedLights[i].name));
}
}
simulated function showLights()
{
local int i;
lb_Actions.Addtext(colorB$"Lights[coronas]");
for(i = 0; i < cachedLights.length; i++)
if(cachedLights[i].bCorona == false)
{
cachedLights[i].bCorona = true;
if(cachedLights[i].bStatic)
cachedLights[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedLights[i].name));
}
}
simulated function displayCachedLights()
{
local int i;
lb_Actions.Addtext(colorB$"Lights ["$cachedLights.length$"]");
for(i = 0; i < cachedLights.length; i++)
lb_Actions.Addtext(colorY$" "@string(cachedLights[i].name));
}
/*EMITTERS*/
simulated function cacheEmitters()
{
local Emitter tempE;
local array<string> uselessEmitters;
local int i;
//uselessEmitters = ALC.getUselessEmitters(Mo_Profiles.get(false));
uselessEmitters = MapSpecificObj[ProfileIndexes[Mo_Profiles.getIndex()]].uselessEmitters;
forEach AllObjects (class'Emitter', tempE)
{
for(i = 0; i < uselessEmitters.length; i++)
{
if(string(tempE.name) == uselessEmitters[i])
{
cachedEmitters[cachedEmitters.length] = tempE;
uselessEmitters.remove(i,1);
break;
}
}
}
lb_Actions.Addtext(colorG$"All emitters were cached sucessfully.");
}
simulated function hideEmitters()
{
local int i;
lb_Actions.Addtext(colorB$"Emitters");
for(i = 0; i < cachedEmitters.length; i++)
if(cachedEmitters[i].bHidden == false)
{
cachedEmitters[i].bHidden = true;
if(cachedEmitters[i].bStatic)
cachedEmitters[i].ResetStaticFilterState();
// lb_Actions.Addtext(colorY$" "@string(cachedEmitters[i].name));
}
}
simulated function showEmitters()
{
local int i;
lb_Actions.Addtext(colorB$"Emitters");
for (i = 0; i < cachedEmitters.length; i++)
if(cachedEmitters[i].bHidden == true)
{
cachedEmitters[i].bHidden = false;
if(cachedEmitters[i].bStatic)
cachedEmitters[i].ResetStaticFilterState();
// lb_Actions.Addtext(colorY$" "@string(cachedEmitters[i].name));
}
}
simulated function displayCachedEmitters()
{
local int i;
lb_Actions.Addtext(colorB$"Emitters ["$cachedEmitters.length$"]");
for (i = 0; i < cachedEmitters.length; i++)
lb_Actions.Addtext(colorY$" "@string(cachedEmitters[i].name));
}
// DECORATIONS
simulated function cacheDecorations()
{
local Decoration tempD;
local array<string> uselessDecorations;
local int i;
// uselessDecorations = ALC.getUselessDecorations(Mo_Profiles.get(false));
uselessDecorations = MapSpecificObj[ProfileIndexes[Mo_Profiles.getIndex()]].uselessDecorations;
forEach AllObjects(class'Decoration', tempD)
{
for (i = 0; i < uselessDecorations.length; i++)
{
if (string(tempD.name) == uselessDecorations[i])
{
cachedDecorations[cachedDecorations.length] = tempD;
uselessDecorations.remove(i,1);
break;
}
}
}
lb_Actions.Addtext(colorG$"All decorations were cached sucessfully.");
}
simulated function hideDecorations()
{
local int i;
lb_Actions.Addtext(colorB$"Decorations");
for (i = 0; i < cachedDecorations.length; i++)
if(cachedDecorations[i].bHidden == false)
{
cachedDecorations[i].bHidden = true;
if(cachedDecorations[i].bStatic)
cachedDecorations[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedDecorations[i].name));
}
}
simulated function showDecorations()
{
local int i;
lb_Actions.Addtext(colorB$"Decorations");
for (i = 0; i < cachedDecorations.length; i++)
if(cachedDecorations[i].bHidden == true)
{
cachedDecorations[i].bHidden = false;
if(cachedDecorations[i].bStatic)
cachedDecorations[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedDecorations[i].name));
}
}
simulated function displayCachedDecorations()
{
local int i;
lb_Actions.Addtext(colorB$"Decorations ["$cachedDecorations.length$"]");
for (i = 0; i < cachedDecorations.length; i++)
lb_Actions.Addtext(colorY$" "@string(cachedDecorations[i].name));
}
// MOVERS
simulated function cacheMovers()
{
local Mover tempM;
local array<string> uselessMovers;
local int i;
// uselessMovers = ALC.getUselessMovers(Mo_Profiles.get(false));
uselessMovers = MapSpecificObj[ProfileIndexes[Mo_Profiles.getIndex()]].uselessMovers;
forEach AllObjects(class'Mover', tempM)
{
for (i = 0; i < uselessMovers.length; i++)
{
if (string(tempM.name) == uselessMovers[i])
{
cachedMovers[cachedMovers.length] = tempM;
uselessMovers.remove(i,1);
break;
}
}
}
lb_Actions.Addtext(colorG$"All movers were cached sucessfully.");
}
simulated function hideMovers()
{
local int i;
lb_Actions.Addtext(colorB$"Movers");
for (i = 0; i < cachedMovers.length; i++)
{
if (cachedMovers[i].bHidden == false)
{
cachedMovers[i].bHidden = true;
if(cachedMovers[i].bStatic)
cachedMovers[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedMovers[i].name));
}
}
}
simulated function showMovers()
{
local int i;
lb_Actions.Addtext(colorB$"Movers");
for(i = 0; i < cachedMovers.length; i++)
if(cachedMovers[i].bHidden == true)
{
cachedMovers[i].bHidden = false;
if(cachedMovers[i].bStatic)
cachedMovers[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedMovers[i].name));
}
}
simulated function displayCachedMovers()
{
local int i;
lb_Actions.Addtext(colorB$"Movers ["$cachedMovers.length$"]");
for (i = 0; i < cachedMovers.length; i++)
lb_Actions.Addtext(colorY$" "@string(cachedMovers[i].name));
}
/*KF_RotatingMeshActor*/
/*Chaos code*/
simulated function cacheRotatingMeshActors()
{
local KF_RotatingMeshActor tempRM;
local array<string> uselessRotatingMeshActors;
local int i, count;
// uselessRotatingMeshActors = ALC.getuselessRotatingMeshActors(Mo_Profiles.get(false));
uselessRotatingMeshActors = MapSpecificObj[ProfileIndexes[Mo_Profiles.getIndex()]].uselessRotatingMeshActors;
lb_Actions.Addtext("Rotating Movers in ini file:"$uselessRotatingMeshActors.length);
forEach AllObjects (class'KF_RotatingMeshActor', tempRM)
{
for(i = 0; i < uselessRotatingMeshActors.length; i++)
{
if (string(tempRM.name) == uselessRotatingMeshActors[i])
{
cachedRotatingMeshActors[cachedRotatingMeshActors.length] = tempRM;
uselessRotatingMeshActors.remove(i,1);
count++;
break;
}
}
}
lb_Actions.Addtext("RotatingMeshActors added:"$count);
lb_Actions.Addtext(colorG$"All RotatingMeshActors were cached sucessfully.");
}
simulated function hideRotatingMeshActors()
{
local int i;
lb_Actions.Addtext(colorB$"RotatingMeshActors");
for(i = 0; i < cachedRotatingMeshActors.length; i++)
if(cachedRotatingMeshActors[i].bHidden == false)
{
cachedRotatingMeshActors[i].bHidden = true;
cachedRotatingMeshActors[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedRotatingMeshActors[i].name));
}
}
simulated function showRotatingMeshActors()
{
local int i;
lb_Actions.Addtext(colorB$"RotatingMeshActors");
for (i = 0; i < cachedRotatingMeshActors.length; i++)
{
if (cachedRotatingMeshActors[i].bHidden == true)
{
cachedRotatingMeshActors[i].bHidden = false;
cachedRotatingMeshActors[i].ResetStaticFilterState();
lb_Actions.Addtext(colorY$" "@string(cachedRotatingMeshActors[i].name));
}
}
}
simulated function displayCachedRotatingMeshActors()
{
local int i;
lb_Actions.Addtext(colorB$"RotatingMeshActors ["$cachedRotatingMeshActors.length$"]");
for (i = 0; i < cachedRotatingMeshActors.length; i++)
lb_Actions.Addtext(colorY$" "@string(cachedRotatingMeshActors[i].name));
}
// Chaos code
simulated function clearCache()
{
if (cachedStaticMeshes.length > 0)
cachedStaticMeshes.remove(0,cachedStaticMeshes.length);
if (cachedLights.length > 0)
cachedLights.remove(0,cachedLights.length);
if (cachedEmitters.length > 0)
cachedEmitters.remove(0,cachedEmitters.length);
if (cachedDecorations.length > 0)
cachedDecorations.remove(0,cachedDecorations.length);
if (cachedMovers.length > 0)
cachedMovers.remove(0,cachedMovers.length);
if (cachedProjectors.length > 0)
cachedProjectors.remove(0,cachedProjectors.length);
if (cachedRotatingMeshActors.length > 0)
cachedRotatingMeshActors.remove(0,cachedRotatingMeshActors.length);
bCached = False;
b_HideAllActors.MenuState=MSAT_Disabled;
b_DisplayCachedActors.MenuState=MSAT_Disabled;
lb_Actions.Addtext(colorG$"The cache was cleared.");
}
simulated function bool ActivateAllButtons(GUIComponent Sender)
{
b_CacheAllActors.MenuState=MSAT_Blurry;
return true;
}
simulated function toggleMeshesWithNoCollision()
{
local StaticMeshActor tempMesh;
// local Emitter tempE;
local Decoration tempD;
local Mover tempM;
local int i;
if (justStatic.length != 0 || justEmitter.length != 0 || justDecos.length != 0 || justMover.length != 0)
{
for (i=0; i<justStatic.length; i++)
{
justStatic[i].bHidden = False;
justStatic[i].ResetStaticFilterState();
}
if (!bNoEmitters)
{
for (i=0; i<justEmitter.length; i++)
justEmitter[i].bHidden = False;
}
else
justEmitter.length = 0;
for (i=0; i<justDecos.length; i++)
justDecos[i].bHidden = False;
for (i=0; i<justMover.length; i++)
justMover[i].bHidden = False;
justStatic.length = 0;
justEmitter.length = 0;
justDecos.length = 0;
justMover.length = 0;
sb_Collision_Flagz.DisableMe();
sb_HideActors.DisableMe();
b_JustButton.Caption = "Hide elements";
return;
}
if (Mo_Logic.GetIndex() == 0 && ch_HideStaticMeshesWithNoCollision.IsChecked())
{
forEach AllObjects (class'StaticMeshActor', tempMesh)
{
if(tempMesh.bBlockActors == ch_BlockActors.IsChecked() && tempMesh.bBlockZeroExtentTraces == ch_BlockZeroExtentTraces.IsChecked())
{
justStatic[justStatic.length] = tempMesh;
tempMesh.bHidden = True;
tempMesh.ResetStaticFilterState();
}
}
}
else if (Mo_Logic.GetIndex() == 1 && ch_HideStaticMeshesWithNoCollision.IsChecked())
{
forEach AllObjects (class'StaticMeshActor', tempMesh)
{
if(tempMesh.bBlockActors == ch_BlockActors.IsChecked() || tempMesh.bBlockZeroExtentTraces == ch_BlockZeroExtentTraces.IsChecked())
{
justStatic[justStatic.length] = tempMesh;
tempMesh.bHidden = True;
tempMesh.ResetStaticFilterState();
}
}
}
if (Mo_Logic.GetIndex() == 0 && ch_HideDecosWithNoCollision.IsChecked())
{
forEach AllObjects (class'Decoration', tempD)
{
if(tempD.bBlockActors == ch_BlockActors.IsChecked() && tempD.bBlockZeroExtentTraces == ch_BlockZeroExtentTraces.IsChecked())
{
justDecos[justDecos.length] = tempD;
tempD.bHidden = True;
}
}
}
else if (Mo_Logic.GetIndex() == 1 && ch_HideDecosWithNoCollision.IsChecked())
{
forEach AllObjects (class'Decoration', tempD)
{
if(tempD.bBlockActors == ch_BlockActors.IsChecked() || tempD.bBlockZeroExtentTraces == ch_BlockZeroExtentTraces.IsChecked())
{
justDecos[justDecos.length] = tempD;
tempD.bHidden = True;
}
}
}
if (Mo_Logic.GetIndex() == 0 && ch_HideMoversWithNoCollision.IsChecked())
{
forEach AllObjects (class'Mover', tempM)
{
if(tempM.bBlockActors == ch_BlockActors.IsChecked() && tempM.bBlockZeroExtentTraces == ch_BlockZeroExtentTraces.IsChecked())
{
justMover[justMover.length] = tempM;
tempM.bHidden = True;
}
}
}
else if (Mo_Logic.GetIndex() == 1 && ch_HideMoversWithNoCollision.IsChecked())
{
forEach AllObjects (class'Mover', tempM)
{
if(tempM.bBlockActors == ch_BlockActors.IsChecked() || tempM.bBlockZeroExtentTraces == ch_BlockZeroExtentTraces.IsChecked())
{
justMover[justMover.length] = tempM;
tempM.bHidden = True;
if(tempM.bStatic)
tempM.ResetStaticFilterState();
}
}
}
if (justStatic.length != 0 || justEmitter.length != 0 || justDecos.length != 0 || justMover.length != 0)
{
sb_Collision_Flagz.EnableMe();
sb_HideActors.EnableMe();
b_JustButton.Caption = "Show elements";
}
}
simulated function checkAvailability()
{
local int i;
if (cachedStaticMeshes.length > 0)
for(i = cachedStaticMeshes.length; i >= 0 ; i--)
if(cachedStaticMeshes[i] == none)
cachedStaticMeshes.remove(i,1);
if(cachedLights.length > 0)
for(i = cachedLights.length; i >= 0 ; i--)
if(cachedLights[i] == none)
cachedLights.remove(i,1);
if(cachedEmitters.length > 0)
for(i = cachedEmitters.length; i >= 0 ; i--)
{
if(cachedEmitters[i] == none)
{
cachedEmitters.remove(i,1);
}
else if(cachedEmitters[i].bDeleteMe)
{
cachedEmitters.remove(i,1);
}
}
if(cachedDecorations.length > 0)
for(i = cachedDecorations.length; i >= 0 ; i--)
if(cachedDecorations[i] == none)
cachedDecorations.remove(i,1);
if(cachedMovers.length > 0)
for(i = cachedMovers.length; i >= 0 ; i--)
if(cachedMovers[i] == none)
cachedMovers.remove(i,1);
}
simulated function checkAvailabilitySingle(array<Actor> tempArray)
{
local int i;
if (tempArray.length > 0)
{
for (i = tempArray.length; i >= 0 ; i--)
{
if (tempArray[i] != none)
tempArray.remove(i,1);
}
}
}
//============================================================================================
//===========================================================Sound remover + Anim Shit remover
simulated function NoAnimShit()
{
local Actor A;
local KF_RotatingMeshActor SMR;
local int i,count;
if (AnimatedMeshesNames.length == 0)
return;
forEach AllObjects (class'Actor', A)
{
for (i=0; i<AnimatedMeshesNames.length; i++)
{
if (Instr(CAPS(string(A.Mesh)),CAPS(AnimatedMeshesNames[i])) != -1
|| Instr(CAPS(string(A.StaticMesh)),CAPS(AnimatedMeshesNames[i])) != -1)
{
A.bHidden = True;
A.bUnlit = True;
if (A.bStatic)
A.ResetStaticFilterState();
count++;
}
}
}
forEach AllObjects (class'KF_RotatingMeshActor', SMR)
{
SmR.bHidden = True;
if (SMR.bStatic)
SMR.ResetStaticFilterState();
count++;
}
lb_Actions.Addtext("Were hided" @ count @ "actors");
}
simulated function grabDefaultSounds()
{
local AmbientSound AS;
local int i;
first_sounds = True;
forEach AllObjects (class'AmbientSound', AS)
{
OriginalSound.AmbientSoundName[i] = AS;
OriginalSound.AmbientSound[i] = AS.AmbientSound;
OriginalSound.SoundPitch[i] = AS.SoundPitch;
OriginalSound.SoundVolume[i] = AS.SoundVolume;
OriginalSound.TransientSoundRadius[i] = AS.TransientSoundRadius;
OriginalSound.TransientSoundVolume[i] = AS.TransientSoundVolume;
i++;
}
}
simulated function restoreDefaultSounds()
{
local AmbientSound AS;
local int i;
local CrossbuzzsawBlade CRB;
for (i=0; i<OriginalSound.AmbientSoundName.length; i++)
{
AS = OriginalSound.AmbientSoundName[i];
AS.AmbientSound = OriginalSound.AmbientSound[i];
AS.SoundPitch= OriginalSound.SoundPitch[i];
AS.SoundVolume = OriginalSound.SoundVolume[i];
AS.TransientSoundRadius = OriginalSound.TransientSoundRadius[i];
AS.TransientSoundVolume = OriginalSound.TransientSoundVolume[i];
}
//restore IJC bullshit
class'CrossbuzzsawBlade'.default.SoundVolume=175;
class'CrossbuzzsawBlade'.default.SoundRadius=250;
forEach PC.AllActors(class'CrossbuzzsawBlade', CRB)
{
CRB.SoundVolume=175;
CRB.SoundRadius=250;
}
}
simulated function muteAll()
{
local int i;
local AmbientSound AS;
local CrossbuzzsawBlade CRB;
local KFMusicTrigger KFMT;
local KFDoorMover KFMov;
local ScriptedTrigger Script;
forEach AllObjects (class'AmbientSound', AS)
{
AS.AmbientSound = none;
AS.SoundPitch = 0;
AS.SoundVolume = 0;
AS.TransientSoundRadius = 0.0;
AS.TransientSoundVolume = 0.0;
if (AS.bstatic)
AS.ResetStaticFilterState();
}
class'CrossbuzzsawBlade'.default.SoundVolume=0; //175
class'CrossbuzzsawBlade'.default.SoundRadius=0; //250
// shutup fucking wankers
forEach PC.AllActors(class'CrossbuzzsawBlade', CRB)
{
CRB.SoundVolume=0;
CRB.SoundRadius=0;
}
PC.StopAllMusic(); //just incase of some bloody music playing
//shadup
forEach PC.AllActors(class'KFMusicTrigger', KFMT)
{
if (KFMT.Song != "")
KFMT.Song = "";
if (KFMT.CombatSong != "")
KFMT.CombatSong = "";
KFMT.WaveBasedSongs.length = 0; //Bloody wankers
}
forEach PC.AllActors(class'KFDoorMover', KFMov) //ferenos maps signals
{
if (Instr(string(KFMov.OpenedSound),"loop") != -1)
KFMov.OpenedSound = none;
}
forEach PC.AllActors(class'ScriptedTrigger', Script) //scripted trigger signals
{
for (i=0;i<Script.Actions.length;i++)
{
if (Instr(Script.Actions[i].ActionString, "PlaySound") != -1)
Script.Actions[i] = none;
}
}
}
//===========================================================
simulated function InternalOnChange(GUIComponent Sender)
{
if (!bDoNotDoShit)
{
switch (Sender)
{
case ch_HideNiggaz:
removeBlackBitch(ch_HideNiggaz.IsChecked());
break;
case ch_HideEmitters:
hideAllEmitters(ch_HideEmitters.IsChecked());
break;
case ch_HideTerrain:
hideTerrain(ch_HideTerrain.IsChecked());
break;
case ch_HideStaticMeshes:
hideAllStaticMeshes(ch_HideStaticMeshes.IsChecked());
break;
case ch_muteAll:
if (ch_muteAll.IsChecked())
{
if (!first_sounds)
grabDefaultSounds();
MuteAll();
}
else
restoreDefaultSounds();
}
}
}
defaultproperties
{
Begin Object Class=GUISectionBackground Name=BGHideStaticMesh_List
bFillClient=True
Caption="List of StaticMeshes to hide"
LeftPadding=0.000000
RightPadding=0.000000
TopPadding=0.000000
BottomPadding=0.000000
WinTop=0.028147
WinLeft=0.268163
WinWidth=0.407029
WinHeight=0.414421
OnPreDraw=BGHideStaticMesh_List.InternalPreDraw
End Object
sb_HideStaticMesh_List=GUISectionBackground'hidemut.HideMutMenu.BGHideStaticMesh_List'
Begin Object Class=GUISectionBackground Name=BGMisc
bFillClient=True
Caption="Misc. functions"
LeftPadding=0.000000
RightPadding=0.000000
TopPadding=0.000000
BottomPadding=0.000000
WinTop=0.441551
WinWidth=0.351252
WinHeight=0.509144
OnPreDraw=BGMisc.InternalPreDraw
End Object
sb_Misc=GUISectionBackground'hidemut.HideMutMenu.BGMisc'
Begin Object Class=GUISectionBackground Name=BGHideStaticMesh
bFillClient=True
Caption="Hide StaticMeshes and etc."
LeftPadding=0.000000
RightPadding=0.000000
TopPadding=0.000000
BottomPadding=0.000000
WinTop=0.443169
WinLeft=0.351495
WinWidth=0.649011
WinHeight=0.496685
OnPreDraw=BGHideStaticMesh.InternalPreDraw
End Object
sb_HideStaticMesh=GUISectionBackground'hidemut.HideMutMenu.BGHideStaticMesh'
Begin Object Class=GUISectionBackground Name=BGCollision_Flagz
bFillClient=True
Caption="Collision flagz"
LeftPadding=0.000000
RightPadding=0.000000
TopPadding=0.000000
BottomPadding=0.000000
WinTop=0.028147
WinLeft=0.675871
WinWidth=0.324147
WinHeight=0.150000
OnPreDraw=BGCollision_Flagz.InternalPreDraw
End Object
sb_Collision_Flagz=GUISectionBackground'hidemut.HideMutMenu.BGCollision_Flagz'
Begin Object Class=GUISectionBackground Name=BGHideActors
bFillClient=True
Caption="Collision flagz targets"
LeftPadding=0.000000
RightPadding=0.000000
TopPadding=0.000000
BottomPadding=0.000000
WinTop=0.179881
WinLeft=0.676939
WinWidth=0.322544
WinHeight=0.250000
OnPreDraw=BGHideActors.InternalPreDraw
End Object
sb_HideActors=GUISectionBackground'hidemut.HideMutMenu.BGHideActors'
Begin Object Class=GUISectionBackground Name=BGLog
bFillClient=True
Caption="Logged actions"
Hint="All your actions will be listed here..."
WinTop=0.027159
WinLeft=0.001678
WinWidth=0.266496
WinHeight=0.412818
OnPreDraw=BGLog.InternalPreDraw
End Object
sb_Log=GUISectionBackground'hidemut.HideMutMenu.BGLog'
Begin Object Class=GUIButton Name=HideAllActorsButton
Caption="Hide cached"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=HideAllActorsButton.InternalOnKeyEvent
End Object
b_HideAllActors=GUIButton'hidemut.HideMutMenu.HideAllActorsButton'
Begin Object Class=GUIButton Name=CacheAllActorsButton
Caption="Cache"
MenuState=MSAT_Disabled
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=CacheAllActorsButton.InternalOnKeyEvent
End Object
b_CacheAllActors=GUIButton'hidemut.HideMutMenu.CacheAllActorsButton'
Begin Object Class=GUIButton Name=RefreshScreenButton
Caption="Hide elements"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=RefreshScreenButton.InternalOnKeyEvent
End Object
b_JustButton=GUIButton'hidemut.HideMutMenu.RefreshScreenButton'
Begin Object Class=GUIButton Name=DisplayCachedActorsButton
Caption="Display cached"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=DisplayCachedActorsButton.InternalOnKeyEvent
End Object
b_DisplayCachedActors=GUIButton'hidemut.HideMutMenu.DisplayCachedActorsButton'
Begin Object Class=GUIButton Name=ClearCacheButton
Caption="Clear cache"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=ClearCacheButton.InternalOnKeyEvent
End Object
b_ClearCache=GUIButton'hidemut.HideMutMenu.ClearCacheButton'
Begin Object Class=GUIButton Name=ActivateInteractionButton
Caption="/////////WIP////////////"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=ActivateInteractionButton.InternalOnKeyEvent
End Object
b_ActivateInteraction=GUIButton'hidemut.HideMutMenu.ActivateInteractionButton'
Begin Object Class=GUIButton Name=KillEmitters
Caption="Kill annoying emitters"
Hint="WARNING: Can't be UNDONE!"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=KillEmitters.InternalOnKeyEvent
End Object
b_KillEmitters=GUIButton'hidemut.HideMutMenu.KillEmitters'
Begin Object Class=GUIButton Name=CullDistanceButton
Caption="Cull it !"
Hint="Apply your culldistance to ALL static meshes. NOTE: Culldistance -1 to reset to def. values"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=CullDistanceButton.InternalOnKeyEvent
End Object
b_CullDistance=GUIButton'hidemut.HideMutMenu.CullDistanceButton'
Begin Object Class=GUIButton Name=Disabler
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=Disabler.InternalOnKeyEvent
End Object
b_Disabler=GUIButton'hidemut.HideMutMenu.Disabler'
Begin Object Class=GUIButton Name=bNoAnimShit
Caption="Disable ALL Animated Shit on map"
Hint="Disables ALL Animated Shit on map: animated wheels and etc. Config: hidemut.ini, section ~ [Animated]"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=bNoAnimShit.InternalOnKeyEvent
End Object
b_NoAnimShit=GUIButton'hidemut.HideMutMenu.bNoAnimShit'
Begin Object Class=GUIButton Name=SaveConfigSettings
Caption="Save config parameters"
Hint="Save config parameters"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=SaveConfigSettings.InternalOnKeyEvent
End Object
b_SaveConfigSettings=GUIButton'hidemut.HideMutMenu.SaveConfigSettings'
Begin Object Class=GUIButton Name=LoadConfigSettings
Caption="Load config parameters"
Hint="Load config parameters"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=LoadConfigSettings.InternalOnKeyEvent
End Object
b_LoadConfigSettings=GUIButton'hidemut.HideMutMenu.LoadConfigSettings'
Begin Object Class=GUIButton Name=clearLog
Caption="Clear log"
Hint="Clear log spam"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=clearLog.InternalOnKeyEvent
End Object
b_ClearLog=GUIButton'hidemut.HideMutMenu.clearLog'
Begin Object Class=GUIButton Name=bStartMapOptimizer
Caption="Start map optimizer"
OnClick=HideMutMenu.ButtonClicked
OnKeyEvent=bStartMapOptimizer.InternalOnKeyEvent
End Object
b_StartMapOptimizer=GUIButton'hidemut.HideMutMenu.bStartMapOptimizer'
Begin Object Class=moCheckBox Name=HideNiggaz
Caption="Hides nigga trader or not"
OnCreateComponent=HideNiggaz.InternalOnCreateComponent
Hint="edgyedgyedgyedgyedgy Hides/shows nigga trader for you. edgyedgyedgyedgyedgyedgy"
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideNiggaz=moCheckBox'hidemut.HideMutMenu.HideNiggaz'
Begin Object Class=moCheckBox Name=moHideEmitters
Caption="Hides/shows emitters"
OnCreateComponent=moHideEmitters.InternalOnCreateComponent
Hint="Hides/shows emitters"
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideEmitters=moCheckBox'hidemut.HideMutMenu.moHideEmitters'
Begin Object Class=moCheckBox Name=moHideTerrain
Caption="Hides/shows terrain"
OnCreateComponent=moHideTerrain.InternalOnCreateComponent
Hint="Hides/shows terrain in all zones. NOTE: PLZ do not do this in solo or listen server."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideTerrain=moCheckBox'hidemut.HideMutMenu.moHideTerrain'
Begin Object Class=moCheckBox Name=moHideStaticMeshes
Caption="Hides/shows ALL static meshes"
OnCreateComponent=moHideStaticMeshes.InternalOnCreateComponent
Hint="Hides/shows all static meshes(decos and etc) for debugging purposes."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideStaticMeshes=moCheckBox'hidemut.HideMutMenu.moHideStaticMeshes'
Begin Object Class=moCheckBox Name=moMuteAll
Caption="Mute all amb. sounds"
OnCreateComponent=moMuteAll.InternalOnCreateComponent
Hint="Mute all annoying ambient sound on map(rain drops, wind howls and other shit).NOTE: Can be undone"
OnChange=HideMutMenu.InternalOnChange
End Object
ch_muteAll=moCheckBox'hidemut.HideMutMenu.moMuteAll'
Begin Object Class=moCheckBox Name=moBlockActors
Caption="Collision: block actors"
OnCreateComponent=moBlockActors.InternalOnCreateComponent
Hint="Collision flag bBlockActors == should block actors."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_BlockActors=moCheckBox'hidemut.HideMutMenu.moBlockActors'
Begin Object Class=moCheckBox Name=moBlockZeroExtentTraces
Caption="Collision: block Zero extent traces"
OnCreateComponent=moBlockZeroExtentTraces.InternalOnCreateComponent
Hint="Collision flag bBlockActors == should block bullets and etc."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_BlockZeroExtentTraces=moCheckBox'hidemut.HideMutMenu.moBlockZeroExtentTraces'
Begin Object Class=moCheckBox Name=moHideStaticMeshesWithNoCollision
Caption="Hides/shows static meshes with collision flags."
OnCreateComponent=moHideStaticMeshesWithNoCollision.InternalOnCreateComponent
Hint="Hides/shows all static meshes collision flags."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideStaticMeshesWithNoCollision=moCheckBox'hidemut.HideMutMenu.moHideStaticMeshesWithNoCollision'
Begin Object Class=moCheckBox Name=moDecosWithNoCollision
Caption="Hides/shows Decos with collision flags."
OnCreateComponent=moDecosWithNoCollision.InternalOnCreateComponent
Hint="Hides/shows all Decos with collision flags."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideDecosWithNoCollision=moCheckBox'hidemut.HideMutMenu.moDecosWithNoCollision'
Begin Object Class=moCheckBox Name=moEmittersWithNoInstigator
Caption="Hides/shows Emitters with collision flags."
OnCreateComponent=moEmittersWithNoInstigator.InternalOnCreateComponent
Hint="Hides/shows all Emitters with collision flags."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideEmittersWithNoInstigator=moCheckBox'hidemut.HideMutMenu.moEmittersWithNoInstigator'
Begin Object Class=moCheckBox Name=moKillAllEmitters
Caption="Kill emitters at startup"
OnCreateComponent=moKillAllEmitters.InternalOnCreateComponent
Hint="Kill emitters at startup(config variable). PLz save config if you want this actually work"
OnChange=HideMutMenu.InternalOnChange
End Object
ch_KillAllEmitters=moCheckBox'hidemut.HideMutMenu.moKillAllEmitters'
Begin Object Class=moCheckBox Name=moRemoveAnimatedShit
Caption="Remove animated shit on startup"
OnCreateComponent=moRemoveAnimatedShit.InternalOnCreateComponent
Hint="Remove animated shit on startup(config variable). PLz save config if you want this actually work"
OnChange=HideMutMenu.InternalOnChange
End Object
ch_RemoveAnimatedShit=moCheckBox'hidemut.HideMutMenu.moRemoveAnimatedShit'
Begin Object Class=moCheckBox Name=moMoversWithNoCollision
Caption="Hides/shows Movers with collision flags."
OnCreateComponent=moMoversWithNoCollision.InternalOnCreateComponent
Hint="Hides/shows all Movers collision flags."
OnChange=HideMutMenu.InternalOnChange
End Object
ch_HideMoversWithNoCollision=moCheckBox'hidemut.HideMutMenu.moMoversWithNoCollision'
Begin Object Class=moFloatEdit Name=CullDistance
MinValue=-1.000000
MaxValue=20000.000000
Caption="Cull Distance"
OnCreateComponent=CullDistance.InternalOnCreateComponent
Hint="Adjust the cullDistances for static meshes. -1 to return to default values"
End Object
fl_CullDistance=moFloatEdit'hidemut.HideMutMenu.CullDistance'
Begin Object Class=moComboBox Name=coProfiles
Caption="Map profiles"
OnCreateComponent=coProfiles.InternalOnCreateComponent
Hint="Map profiles with static meshes to hide and etc."
OnChange=HideMutMenu.InternalOnChange
End Object
Mo_Profiles=moComboBox'hidemut.HideMutMenu.coProfiles'
Begin Object Class=moComboBox Name=coLogic
Caption="Logic"
OnCreateComponent=coLogic.InternalOnCreateComponent
Hint="Logical operator"
OnChange=HideMutMenu.InternalOnChange
End Object
Mo_Logic=moComboBox'hidemut.HideMutMenu.coLogic'
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.HideMutMenu.lbActions'
PropagateVisibility=False
WinHeight=1.000000
OnPreDraw=HideMutMenu.InternalOnPreDraw
}