Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of WindowsXP Repo Edition v1.0.1
EmpressOmniXP.dll
Decompiled a month ago
The result has been truncated due to the large size, download it to view full contents!
using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using System.Text; using BepInEx; using BepInEx.Configuration; using Microsoft.CodeAnalysis; using UnityEngine; using UnityEngine.Networking; using UnityEngine.Video; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("Omniscye")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("EmpressOmniXP")] [assembly: AssemblyTitle("EmpressOmniXP")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } } namespace OmniOS { [BepInPlugin("com.omni.xp", "OmniXP", "5.8.0")] public class OmniXPPlugin : BaseUnityPlugin { public class PhotoFile { public string Name; public Texture2D Texture; } private enum OSState { Boot_BIOS, Boot_Splash, Setup_Welcome, Setup_TOS, Setup_Login, Desktop, BSOD, RSOD, RunningGame } private enum MSNState { Login, ContactList, Chat } private class MsnContact { public string Name; public string Status; public Color StatusColor; public string PersonalMessage; public List<ChatMessage> History = new List<ChatMessage>(); } private class WireFile { public string Name; public string Author; public float SizeMB; public float Progress; public float TotalTime; public float ElapsedTime; public bool IsComplete; public string Status; public int Quality; } private class Card { public int Suit; public int Rank; public bool FaceUp; public string GetDisplay() { string text = ((Rank == 1) ? "A" : ((Rank == 11) ? "J" : ((Rank == 12) ? "Q" : ((Rank == 13) ? "K" : Rank.ToString())))); string text2 = ((Suit == 0) ? "♥" : ((Suit == 1) ? "♦" : ((Suit == 2) ? "♣" : "♠"))); return text + text2; } public Color GetColor() { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0011: Unknown result type (might be due to invalid IL or missing references) return (Suit == 0 || Suit == 1) ? Color.red : Color.black; } } private ConfigEntry<bool> _isSetupComplete; private ConfigEntry<string> _usernameConfig; private ConfigEntry<double> _soulCount; private ConfigEntry<string> _limewireDownloads; private ConfigEntry<bool> _repoInstalledConfig; private ConfigEntry<float> _boconHungerConfig; private ConfigEntry<float> _boconHappyConfig; private ConfigEntry<float> _boconEnergyConfig; private OSState _currentState; private bool _showClicker = false; private bool _showTerminal = false; private bool _showSolitaire = false; private bool _showBrowser = false; private bool _showFlappy = false; private bool _showPhotos = false; private bool _showRepo = false; private bool _showTetris = false; private bool _showNorton = false; private bool _showLimewire = false; private bool _showMediaPlayer = false; private bool _showBocon = false; private bool _showSkript = false; private bool _showInstaller = false; private bool _showMinesweeper = false; private bool _showPaint = false; private bool _showMSN = false; private bool _showGame1 = false; private bool _showGame2 = false; private List<string> _windowZOrder = new List<string>(); private bool _startMenuOpen = false; private bool _hasDownloadedLinkinPark = false; private bool _hasDownloadedBBD = false; private bool _hasDownloadedSkript = false; private bool _virusActive = false; private bool _hasGame1 = false; private bool _hasGame2 = false; private bool _videoIsReady = false; private string _videoError = ""; private Texture2D _texBliss; private Texture2D _texLake; private Texture2D _texXPBlue; private Texture2D _texXPBlueGrad; private Texture2D _texXPGreen; private Texture2D _texXPCream; private Texture2D _texXPRed; private Texture2D _texWhite; private Texture2D _texBlack; private Texture2D _texBSOD; private Texture2D _texRSOD; private Texture2D _texIconGeneric; private Texture2D _texIconTrash; private Texture2D _texIconSolitaire; private Texture2D _texIconBrowser; private Texture2D _texIconFlappy; private Texture2D _texIconPhotos; private Texture2D _texIconRepo; private Texture2D _texIconTetris; private Texture2D _texIconFolder; private Texture2D _texIconNorton; private Texture2D _texIconLimewire; private Texture2D _texIconHDD; private Texture2D _texIconLinkinPark; private Texture2D _texIconSouls; private Texture2D _texIconCMD; private Texture2D _texIconBBD; private Texture2D _texIconSkript; private Texture2D _texIconFitGirl; private Texture2D _texFitGirlFace; private Texture2D _texIconMine; private Texture2D _texIconPaint; private Texture2D _texIconMSN; private Texture2D _texIconGame1; private Texture2D _texIconGame2; private AudioSource _audioSource; private AudioClip _startupClip; private AudioClip _sfxTMove; private AudioClip _sfxTRotate; private AudioClip _sfxTLine; private AudioClip _sfxTDrop; private AudioClip _sfxTOver; private AudioClip _installerSong; private bool _hasPlayedStartup = false; private VideoPlayer _videoPlayer; private RenderTexture _videoTexture; private float _bootTimer = 0f; private string _bootLog = ""; private float _lastClickTime = 0f; private string _inputUsername = "Admin"; private Vector2 _scrollPos; private double _currentSouls = 0.0; private double _clickPower = 1.0; private string _termInput = ""; private string _termLog = "Microsoft Windows XP [Version 5.1.2600]\n(C) Copyright 1985-2001 Microsoft Corp.\n"; private List<PhotoFile> _photoFiles = new List<PhotoFile>(); private PhotoFile _openedPhoto = null; private Vector2 _photoScroll = Vector2.zero; private string _browserUrl = "[https://www.google.com](https://www.google.com)"; private string _browserInput = ""; private WWW _browserWWW; private Texture2D _browserTex; private RenderTexture _repoTex; private Rect _repoRect = new Rect(100f, 50f, 660f, 525f); private GUIStyle _styleDesktopIcon; private GUIStyle _styleWindowHeader; private GUIStyle _styleStartBtn; private GUIStyle _styleCard; private GUIStyle _styleTaskbarClock; private GUIStyle _styleFolderIcon; private Vector2 _windowPosOffset; private string _draggedWindowKey = null; private Rect _clickerRect = new Rect(100f, 50f, 350f, 400f); private Rect _terminalRect = new Rect(400f, 100f, 500f, 350f); private Rect _solitaireRect = new Rect(150f, 80f, 700f, 500f); private Rect _browserRect = new Rect(200f, 100f, 800f, 600f); private Rect _flappyRect = new Rect(300f, 150f, 400f, 600f); private Rect _photosRect = new Rect(250f, 100f, 600f, 500f); private Rect _tetrisRect = new Rect(400f, 100f, 350f, 600f); private Rect _nortonRect = new Rect(200f, 200f, 500f, 400f); private Rect _limewireRect = new Rect(150f, 100f, 800f, 550f); private Rect _mediaPlayerRect = new Rect(150f, 100f, 640f, 540f); private Rect _boconRect = new Rect(250f, 150f, 300f, 400f); private Rect _skriptRect = new Rect(100f, 50f, 800f, 600f); private Rect _installerRect = new Rect(200f, 150f, 600f, 400f); private Rect _mineRect = new Rect(300f, 200f, 300f, 400f); private Rect _paintRect = new Rect(150f, 100f, 600f, 500f); private Rect _msnRect = new Rect(200f, 100f, 300f, 500f); private Rect _game1Rect = new Rect(300f, 200f, 300f, 200f); private Rect _game2Rect = new Rect(300f, 200f, 300f, 300f); private float _installTimer = 0f; private bool _installerMusicEnabled = true; private Dictionary<string, byte[]> _assetCache = new Dictionary<string, byte[]>(); private float _boconHunger; private float _boconHappy; private float _boconEnergy; private float _boconSaveTimer = 0f; private bool _flappyGameActive = false; private bool _flappyWaitingForSpace = false; private float _flappyY = 300f; private float _flappyVel = 0f; private float _pipeX = Screen.width; private float _pipeGapY = 200f; private bool _flappyDead = false; private int[,] _mineGrid; private bool[,] _mineRevealed; private bool[,] _mineFlagged; private bool _mineGameOver; private bool _mineWin; private int _mineRows = 9; private int _mineCols = 9; private int _totalMines = 10; private Texture2D _texMineFlag; private Texture2D _texMineBomb; private Texture2D _paintTexture; private Color _paintColor = Color.black; private float _paintBrushSize = 1f; private Vector2 _lastPaintPos; private bool _isPainting = false; private int _g1Target = 0; private string _g1Input = ""; private string _g1Msg = "I'm thinking of a number 1-100."; private string[] _g2Board = new string[9]; private bool _g2XTurn = true; private string _g2Winner = ""; private MSNState _msnState = MSNState.Login; private string _msnEmail = ""; private string _msnPassword = ""; private string _msnTitle = "MSN Messenger"; private Vector2 _msnScrollPos; private List<MsnContact> _msnContacts = new List<MsnContact>(); private MsnContact _currentChatContact; private string _msnChatInput = ""; private ChatEngine _chatEngine; private bool _installerMusicStarted = false; private bool _nortonScanning = false; private float _nortonProgress = 0f; private string _nortonCurrentFile = ""; private float _nortonFileTimer = 0f; private string[] _nortonFakePaths = new string[6] { "C:\\Windows\\System32\\drivers\\", "C:\\Program Files\\OmniScythe\\", "C:\\Users\\Admin\\AppData\\Local\\", "HKLM\\SOFTWARE\\Microsoft\\", "C:\\Windows\\Fonts\\", "D:\\Backups\\Souls\\" }; private string[] _nortonFakeFiles = new string[12] { "kernel32.dll", "user32.dll", "soul_driver.sys", "doom_tracker.log", "winlogon.exe", "svchost.exe", "explorer.exe", "not_a_virus.vbs", "hal.dll", "ntoskrnl.exe", "registry_hive.dat", "memory_dump.bin" }; private List<string> _nortonLog = new List<string>(); private Vector2 _nortonScroll; private List<WireFile> _wireFiles = new List<WireFile>(); private Vector2 _wireScroll; private bool _wireInitialized = false; private RenderTexture _skriptRT; private GameObject _skriptRoot; private Camera _skriptCam; private List<GameObject> _skriptEnemies = new List<GameObject>(); private float _skriptSpawnTimer = 0f; private int _skriptScore = 0; private bool _skriptInMenu = true; private bool _skriptGameOver = false; private List<Card> _deck = new List<Card>(); private List<Card>[] _tableau = new List<Card>[7]; private List<Card>[] _foundations = new List<Card>[4]; private List<Card> _waste = new List<Card>(); private Card _selectedCard = null; private int _selectedSourceType = -1; private int _selectedSourceIndex = -1; private int[,] _tGrid = new int[10, 20]; private bool _tPlaying = false; private bool _tGameOver = false; private int _tScore = 0; private float _tTimer = 0f; private float _tStep = 0.5f; private int _tPX; private int _tPY; private int _tPT; private int _tPR; private Color[] _tColors = (Color[])(object)new Color[8] { Color.clear, Color.cyan, Color.yellow, new Color(0.5f, 0f, 0.5f), Color.green, Color.red, Color.blue, new Color(1f, 0.5f, 0f) }; private readonly int[][][,] _tShapes = new int[8][][,] { null, new int[2][,] { new int[4, 4] { { 0, 0, 0, 0 }, { 1, 1, 1, 1 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } }, new int[4, 4] { { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 }, { 0, 0, 1, 0 } } }, new int[1][,] { new int[2, 2] { { 1, 1 }, { 1, 1 } } }, new int[4][,] { new int[3, 3] { { 0, 1, 0 }, { 1, 1, 1 }, { 0, 0, 0 } }, new int[3, 3] { { 0, 1, 0 }, { 0, 1, 1 }, { 0, 1, 0 } }, new int[3, 3] { { 0, 0, 0 }, { 1, 1, 1 }, { 0, 1, 0 } }, new int[3, 3] { { 0, 1, 0 }, { 1, 1, 0 }, { 0, 1, 0 } } }, new int[2][,] { new int[3, 3] { { 0, 1, 1 }, { 1, 1, 0 }, { 0, 0, 0 } }, new int[3, 3] { { 0, 1, 0 }, { 0, 1, 1 }, { 0, 0, 1 } } }, new int[2][,] { new int[3, 3] { { 1, 1, 0 }, { 0, 1, 1 }, { 0, 0, 0 } }, new int[3, 3] { { 0, 0, 1 }, { 0, 1, 1 }, { 0, 1, 0 } } }, new int[4][,] { new int[3, 3] { { 1, 0, 0 }, { 1, 1, 1 }, { 0, 0, 0 } }, new int[3, 3] { { 0, 1, 1 }, { 0, 1, 0 }, { 0, 1, 0 } }, new int[3, 3] { { 0, 0, 0 }, { 1, 1, 1 }, { 0, 0, 1 } }, new int[3, 3] { { 0, 1, 0 }, { 0, 1, 0 }, { 1, 1, 0 } } }, new int[4][,] { new int[3, 3] { { 0, 0, 1 }, { 1, 1, 1 }, { 0, 0, 0 } }, new int[3, 3] { { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 1 } }, new int[3, 3] { { 0, 0, 0 }, { 1, 1, 1 }, { 1, 0, 0 } }, new int[3, 3] { { 1, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } } } }; private void Awake() { //IL_014d: Unknown result type (might be due to invalid IL or missing references) //IL_0157: Expected O, but got Unknown //IL_0171: Unknown result type (might be due to invalid IL or missing references) Time.timeScale = 0f; _isSetupComplete = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "SetupComplete", false, (ConfigDescription)null); _usernameConfig = ((BaseUnityPlugin)this).Config.Bind<string>("General", "Username", "Admin", (ConfigDescription)null); _soulCount = ((BaseUnityPlugin)this).Config.Bind<double>("GameData", "SoulsHarvested", 0.0, (ConfigDescription)null); _limewireDownloads = ((BaseUnityPlugin)this).Config.Bind<string>("GameData", "LimewireDownloads", "", (ConfigDescription)null); _repoInstalledConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("GameData", "RepoInstalled", false, (ConfigDescription)null); _boconHungerConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Bocon", "Hunger", 100f, (ConfigDescription)null); _boconHappyConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Bocon", "Happy", 100f, (ConfigDescription)null); _boconEnergyConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Bocon", "Energy", 100f, (ConfigDescription)null); _currentSouls = _soulCount.Value; _audioSource = ((Component)this).gameObject.AddComponent<AudioSource>(); _audioSource.playOnAwake = false; _videoTexture = new RenderTexture(640, 480, 16, (RenderTextureFormat)0); _videoTexture.Create(); RenderTexture.active = _videoTexture; GL.Clear(true, true, Color.black); RenderTexture.active = null; SetupVideoPlayer(); GenerateProceduralAssets(); ((MonoBehaviour)this).StartCoroutine(LoadExternalAssets()); InitSolitaire(); InitLimewire(); LoadPhotos(); InitBocon(); InitMinesweeper(); InitPaint(); InitMSN(); if (_isSetupComplete.Value) { _currentState = OSState.Boot_BIOS; _bootLog = "Memory Test: 640K OK\nPrimary Master: OMNI-HD 666GB\n"; } else { _currentState = OSState.Boot_BIOS; _bootLog = "BIOS DATE 06/06/06 18:00:00 VER 1.0\n"; } } public void ActivateVirus() { _virusActive = true; } public void ActivateGame1() { _hasGame1 = true; } public void ActivateGame2() { _hasGame2 = true; } private void SetupVideoPlayer() { //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_00aa: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Expected O, but got Unknown _videoPlayer = ((Component)this).gameObject.AddComponent<VideoPlayer>(); _videoPlayer.playOnAwake = false; _videoPlayer.isLooping = true; _videoPlayer.renderMode = (VideoRenderMode)2; _videoPlayer.targetTexture = _videoTexture; _videoPlayer.audioOutputMode = (VideoAudioOutputMode)1; _videoPlayer.SetTargetAudioSource((ushort)0, _audioSource); _videoPlayer.skipOnDrop = true; _videoPlayer.waitForFirstFrame = true; _videoPlayer.errorReceived += (ErrorEventHandler)delegate(VideoPlayer vp, string msg) { _videoError = msg; Debug.LogError((object)("OmniXP Video Error: " + msg)); }; _videoPlayer.prepareCompleted += (EventHandler)delegate { _videoIsReady = true; }; } private void OpenWindow(string key) { if (!_windowZOrder.Contains(key)) { _windowZOrder.Add(key); } else { _windowZOrder.Remove(key); _windowZOrder.Add(key); } switch (key) { case "SoulHarvester": _showClicker = true; break; case "CMD": _showTerminal = true; break; case "Solitaire": _showSolitaire = true; break; case "Browser": _showBrowser = true; break; case "Flappy": _showFlappy = true; break; case "Photos": _showPhotos = true; break; case "Tetris": _showTetris = true; break; case "Norton": _showNorton = true; break; case "Limewire": _showLimewire = true; break; case "Media": _showMediaPlayer = true; break; case "Bocon": _showBocon = true; break; case "Skript": _showSkript = true; break; case "Installer": _showInstaller = true; break; case "Minesweeper": _showMinesweeper = true; break; case "Paint": _showPaint = true; break; case "MSN": _showMSN = true; break; case "Game1": _showGame1 = true; InitGame1(); break; case "Game2": _showGame2 = true; InitGame2(); break; } } private void BringToFront(string key) { if (_windowZOrder.Contains(key)) { _windowZOrder.Remove(key); _windowZOrder.Add(key); } } private void Update() { if (_currentState == OSState.RunningGame) { if (Time.timeScale == 0f) { Time.timeScale = 1f; } return; } Time.timeScale = 0f; Cursor.visible = true; Cursor.lockState = (CursorLockMode)0; if (_currentState == OSState.BSOD || _currentState == OSState.RSOD) { return; } if (_showInstaller) { UpdateInstaller(); } if (_currentState == OSState.Boot_BIOS) { _bootTimer += Time.unscaledDeltaTime; if (Random.value > 0.92f) { _bootLog = _bootLog + "\nLoading Driver: " + Guid.NewGuid().ToString().Substring(0, 8) + ".sys ... OK"; } if (_bootTimer > 3f) { _bootTimer = 0f; _currentState = OSState.Boot_Splash; } } else if (_currentState == OSState.Boot_Splash) { _bootTimer += Time.unscaledDeltaTime; if (_bootTimer > 3f) { _currentState = (_isSetupComplete.Value ? OSState.Desktop : OSState.Setup_Welcome); } } if (_currentState == OSState.Desktop && !_hasPlayedStartup) { _hasPlayedStartup = true; if ((Object)(object)_startupClip != (Object)null) { _audioSource.PlayOneShot(_startupClip); } } if (_flappyGameActive && !_flappyDead) { _flappyVel += 0.25f; _flappyY += _flappyVel; _pipeX -= 2f; if (_pipeX < -100f) { _pipeX = 400f; _pipeGapY = Random.Range(100, 400); } if ((_pipeX < 100f && _pipeX > 20f && (_flappyY < _pipeGapY - 80f || _flappyY > _pipeGapY + 80f)) || _flappyY > 520f || _flappyY < 0f) { _flappyDead = true; } } if (_tPlaying && !_tGameOver) { UpdateTetrisLogic(); } UpdateNorton(); UpdateLimewire(); UpdateBocon(); UpdateSkript(); } private void OnGUI() { //IL_008e: Unknown result type (might be due to invalid IL or missing references) //IL_00b5: Unknown result type (might be due to invalid IL or missing references) //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00d5: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Expected O, but got Unknown //IL_0114: Unknown result type (might be due to invalid IL or missing references) //IL_0140: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_01b9: Unknown result type (might be due to invalid IL or missing references) //IL_01ea: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_025b: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_0612: Unknown result type (might be due to invalid IL or missing references) //IL_0636: Unknown result type (might be due to invalid IL or missing references) //IL_063b: Unknown result type (might be due to invalid IL or missing references) //IL_07f5: Unknown result type (might be due to invalid IL or missing references) //IL_0819: Unknown result type (might be due to invalid IL or missing references) //IL_081e: Unknown result type (might be due to invalid IL or missing references) //IL_0981: Unknown result type (might be due to invalid IL or missing references) //IL_09a5: Unknown result type (might be due to invalid IL or missing references) //IL_09aa: Unknown result type (might be due to invalid IL or missing references) //IL_0654: Unknown result type (might be due to invalid IL or missing references) //IL_0678: Unknown result type (might be due to invalid IL or missing references) //IL_067d: Unknown result type (might be due to invalid IL or missing references) //IL_071a: Unknown result type (might be due to invalid IL or missing references) //IL_073e: Unknown result type (might be due to invalid IL or missing references) //IL_0743: Unknown result type (might be due to invalid IL or missing references) //IL_09c3: Unknown result type (might be due to invalid IL or missing references) //IL_09e7: Unknown result type (might be due to invalid IL or missing references) //IL_09ec: Unknown result type (might be due to invalid IL or missing references) //IL_0a84: Unknown result type (might be due to invalid IL or missing references) //IL_0aa8: Unknown result type (might be due to invalid IL or missing references) //IL_0aad: Unknown result type (might be due to invalid IL or missing references) //IL_08bb: Unknown result type (might be due to invalid IL or missing references) //IL_08df: Unknown result type (might be due to invalid IL or missing references) //IL_08e4: Unknown result type (might be due to invalid IL or missing references) //IL_075c: Unknown result type (might be due to invalid IL or missing references) //IL_0795: Unknown result type (might be due to invalid IL or missing references) //IL_079a: Unknown result type (might be due to invalid IL or missing references) //IL_0696: Unknown result type (might be due to invalid IL or missing references) //IL_06ba: Unknown result type (might be due to invalid IL or missing references) //IL_06bf: Unknown result type (might be due to invalid IL or missing references) //IL_08fd: Unknown result type (might be due to invalid IL or missing references) //IL_0921: Unknown result type (might be due to invalid IL or missing references) //IL_0926: Unknown result type (might be due to invalid IL or missing references) //IL_06d8: Unknown result type (might be due to invalid IL or missing references) //IL_06fc: Unknown result type (might be due to invalid IL or missing references) //IL_0701: Unknown result type (might be due to invalid IL or missing references) //IL_093f: Unknown result type (might be due to invalid IL or missing references) //IL_0963: Unknown result type (might be due to invalid IL or missing references) //IL_0968: Unknown result type (might be due to invalid IL or missing references) //IL_0837: Unknown result type (might be due to invalid IL or missing references) //IL_085b: Unknown result type (might be due to invalid IL or missing references) //IL_0860: Unknown result type (might be due to invalid IL or missing references) //IL_0a45: Unknown result type (might be due to invalid IL or missing references) //IL_0a69: Unknown result type (might be due to invalid IL or missing references) //IL_0a6e: Unknown result type (might be due to invalid IL or missing references) //IL_0a05: Unknown result type (might be due to invalid IL or missing references) //IL_0a2a: Unknown result type (might be due to invalid IL or missing references) //IL_0a2f: Unknown result type (might be due to invalid IL or missing references) //IL_0879: Unknown result type (might be due to invalid IL or missing references) //IL_089d: Unknown result type (might be due to invalid IL or missing references) //IL_08a2: Unknown result type (might be due to invalid IL or missing references) //IL_07b3: Unknown result type (might be due to invalid IL or missing references) //IL_07d7: Unknown result type (might be due to invalid IL or missing references) //IL_07dc: Unknown result type (might be due to invalid IL or missing references) if (_currentState == OSState.RunningGame) { return; } if (_styleDesktopIcon == null || _styleFolderIcon == null) { SetupStyles(); } if (_currentState == OSState.BSOD) { DrawBSOD(); return; } if (_currentState == OSState.RSOD) { DrawRSOD(); return; } if (_currentState == OSState.Boot_BIOS) { GUI.DrawTexture(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), (Texture)(object)_texBlack); Rect val = new Rect(20f, 20f, (float)Screen.width, (float)Screen.height); string bootLog = _bootLog; GUIStyle val2 = new GUIStyle(GUI.skin.label); val2.normal.textColor = Color.white; GUI.Label(val, bootLog, val2); return; } if (_currentState == OSState.Boot_Splash) { GUI.DrawTexture(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), (Texture)(object)_texBlack); DrawCenteredText(Screen.width / 2, Screen.height / 2 - 20, "Windows", 40, Color.white, bold: true); DrawCenteredText(Screen.width / 2 + 70, Screen.height / 2 - 35, "XP", 20, new Color(1f, 0.5f, 0f), bold: true); float num = _bootTimer / 3f * 200f; GUI.DrawTexture(new Rect((float)(Screen.width / 2 - 100), (float)(Screen.height / 2 + 50), 200f, 15f), (Texture)(object)_texWhite); GUI.DrawTexture(new Rect((float)(Screen.width / 2 - 98), (float)(Screen.height / 2 + 52), 196f, 11f), (Texture)(object)_texBlack); GUI.DrawTexture(new Rect((float)(Screen.width / 2 - 98), (float)(Screen.height / 2 + 52), num, 11f), (Texture)(object)_texXPBlue); return; } Texture2D val3 = (_virusActive ? _texLake : _texBliss); GUI.DrawTexture(new Rect(0f, 0f, (float)Screen.width, (float)Screen.height), (Texture)(object)val3, (ScaleMode)1); if (_currentState == OSState.Setup_Welcome || _currentState == OSState.Setup_TOS || _currentState == OSState.Setup_Login) { DrawXPWindow(new Rect((float)(Screen.width / 2 - 250), (float)(Screen.height / 2 - 200), 500f, 400f), "Windows Setup", DrawSetupContent); } else { if (_currentState != OSState.Desktop) { return; } DrawDesktopIcons(); List<string> list = new List<string>(_windowZOrder); foreach (string item in list) { switch (item) { case "SoulHarvester": if (_showClicker) { _clickerRect = DrawDraggableXPWindow(_clickerRect, "SoulHarvester.exe", item, DrawClickerContent, delegate { _showClicker = false; }); } break; case "CMD": if (_showTerminal) { _terminalRect = DrawDraggableXPWindow(_terminalRect, "Command Prompt", item, DrawTerminalContent, delegate { _showTerminal = false; }); } break; case "Solitaire": if (_showSolitaire) { _solitaireRect = DrawDraggableXPWindow(_solitaireRect, "Solitaire", item, DrawSolitaireContent, delegate { _showSolitaire = false; }); } break; case "Browser": if (_showBrowser) { _browserRect = DrawDraggableXPWindow(_browserRect, "OmniExplorer", item, DrawBrowserContent, delegate { _showBrowser = false; }); } break; case "Flappy": if (_showFlappy) { _flappyRect = DrawDraggableXPWindow(_flappyRect, "Flappy Bird", item, DrawFlappyContent, delegate { _showFlappy = false; _flappyGameActive = false; _flappyWaitingForSpace = false; }); } break; case "Photos": if (_showPhotos) { _photosRect = DrawDraggableXPWindow(_photosRect, "C:\\Users\\" + _usernameConfig.Value + "\\My Photos", item, DrawPhotosContent, delegate { _showPhotos = false; _openedPhoto = null; }); } break; case "Tetris": if (_showTetris) { _tetrisRect = DrawDraggableXPWindow(_tetrisRect, "Oetris", item, DrawTetrisContent, delegate { _showTetris = false; _tPlaying = false; }); } break; case "Norton": if (_showNorton) { _nortonRect = DrawDraggableXPWindow(_nortonRect, "Norton Antivirus 2003", item, DrawNortonContent, delegate { _showNorton = false; }); } break; case "Limewire": if (_showLimewire) { _limewireRect = DrawDraggableXPWindow(_limewireRect, "Limewire PRO", item, DrawLimewireContent, delegate { _showLimewire = false; }); } break; case "Media": if (_showMediaPlayer) { _mediaPlayerRect = DrawDraggableXPWindow(_mediaPlayerRect, "Windows Media Player", item, DrawMediaPlayerContent, delegate { _showMediaPlayer = false; _videoPlayer.Stop(); }); } break; case "Bocon": if (_showBocon) { _boconRect = DrawDraggableXPWindow(_boconRect, "Bocon's Barbie DreamHouse", item, DrawBoconContent, delegate { _showBocon = false; }); } break; case "Skript": if (_showSkript) { _skriptRect = DrawDraggableXPWindow(_skriptRect, "Skript: AiA", item, DrawSkriptContent, delegate { CloseSkript(); }); } break; case "Installer": if (!_showInstaller) { break; } _installerRect = DrawDraggableXPWindow(_installerRect, "R.E.P.O. Installer", item, DrawInstallerContent, delegate { _showInstaller = false; if ((Object)(object)_audioSource.clip == (Object)(object)_installerSong) { _audioSource.Stop(); } }); break; case "Minesweeper": if (_showMinesweeper) { _mineRect = DrawDraggableXPWindow(_mineRect, "Minesweeper", item, DrawMinesweeperContent, delegate { _showMinesweeper = false; }); } break; case "Paint": if (_showPaint) { _paintRect = DrawDraggableXPWindow(_paintRect, "MS Paint", item, DrawPaintContent, delegate { _showPaint = false; }); } break; case "MSN": if (_showMSN) { _msnRect = DrawDraggableXPWindow(_msnRect, _msnTitle, item, DrawMSNContent, delegate { _showMSN = false; }); } break; case "Game1": if (_showGame1) { _game1Rect = DrawDraggableXPWindow(_game1Rect, "Number Guess", item, DrawGame1Content, delegate { _showGame1 = false; }); } break; case "Game2": if (_showGame2) { _game2Rect = DrawDraggableXPWindow(_game2Rect, "TicTacToe", item, DrawGame2Content, delegate { _showGame2 = false; }); } break; } } DrawTaskBar(); } } private void OnDestroy() { Time.timeScale = 1f; if ((Object)(object)_skriptRoot != (Object)null) { Object.Destroy((Object)(object)_skriptRoot); } if ((Object)(object)_paintTexture != (Object)null) { Object.Destroy((Object)(object)_paintTexture); } } private void DrawBrowserContent() { //IL_00a2: Unknown result type (might be due to invalid IL or missing references) GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.Label("Address:", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(60f) }); _browserInput = GUILayout.TextField(_browserUrl, Array.Empty<GUILayoutOption>()); if (GUILayout.Button("Go", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(50f) })) { _browserUrl = _browserInput; ((MonoBehaviour)this).StartCoroutine(LoadWebPage(_browserUrl)); } GUILayout.EndHorizontal(); if ((Object)(object)_browserTex != (Object)null) { GUI.DrawTexture(GUILayoutUtility.GetRect(780f, 500f), (Texture)(object)_browserTex, (ScaleMode)2); } else { GUILayout.Label("Loading or unsupported (Unity WWW)...", Array.Empty<GUILayoutOption>()); } } private IEnumerator LoadWebPage(string url) { if (!url.StartsWith("http")) { url = "https://" + url; } _browserWWW = new WWW(url); yield return _browserWWW; if (_browserWWW.isDone && string.IsNullOrEmpty(_browserWWW.error) && (Object)(object)_browserWWW.texture != (Object)null) { _browserTex = _browserWWW.texture; } } private void DrawPhotosContent() { //IL_017c: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_019c: Expected O, but got Unknown //IL_01cc: Unknown result type (might be due to invalid IL or missing references) //IL_01d6: Unknown result type (might be due to invalid IL or missing references) //IL_01db: Unknown result type (might be due to invalid IL or missing references) //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0065: Unknown result type (might be due to invalid IL or missing references) //IL_006d: Unknown result type (might be due to invalid IL or missing references) //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Expected O, but got Unknown //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02ec: Unknown result type (might be due to invalid IL or missing references) if (_openedPhoto != null) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); if (GUILayout.Button("Back to Folder", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(100f) })) { _openedPhoto = null; } GUILayout.FlexibleSpace(); string name = _openedPhoto.Name; GUIStyle val = new GUIStyle(GUI.skin.label) { fontStyle = (FontStyle)1 }; val.normal.textColor = Color.black; GUILayout.Label(name, val, Array.Empty<GUILayoutOption>()); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); Rect rect = GUILayoutUtility.GetRect(500f, 400f); if ((Object)(object)_openedPhoto.Texture != (Object)null) { float num = (float)((Texture)_openedPhoto.Texture).width / (float)((Texture)_openedPhoto.Texture).height; float num2 = ((Rect)(ref rect)).width / num; if (num2 > ((Rect)(ref rect)).height) { num2 = ((Rect)(ref rect)).height; } float num3 = num2 * num; GUI.DrawTexture(new Rect(((Rect)(ref rect)).x + (((Rect)(ref rect)).width - num3) / 2f, ((Rect)(ref rect)).y + (((Rect)(ref rect)).height - num2) / 2f, num3, num2), (Texture)(object)_openedPhoto.Texture); } return; } GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUIStyle val2 = new GUIStyle(GUI.skin.label); val2.normal.textColor = Color.black; GUILayout.Label("File Edit View Favorites Tools Help", val2, Array.Empty<GUILayoutOption>()); GUILayout.EndHorizontal(); GUILayout.Box("", (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(2f), GUILayout.ExpandWidth(true) }); _photoScroll = GUILayout.BeginScrollView(_photoScroll, Array.Empty<GUILayoutOption>()); int num4 = 4; int num5 = Mathf.CeilToInt((float)_photoFiles.Count / (float)num4); for (int i = 0; i < num5; i++) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); for (int j = 0; j < num4; j++) { int num6 = i * num4 + j; if (num6 >= _photoFiles.Count) { continue; } PhotoFile photoFile = _photoFiles[num6]; GUILayout.BeginVertical((GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Width(100f), GUILayout.Height(100f) }); if (GUILayout.Button("", GUIStyle.none, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Width(80f), GUILayout.Height(70f) })) { if (Time.unscaledTime - _lastClickTime < 0.5f) { _openedPhoto = photoFile; } _lastClickTime = Time.unscaledTime; } Rect lastRect = GUILayoutUtility.GetLastRect(); if ((Object)(object)photoFile.Texture != (Object)null) { GUI.DrawTexture(lastRect, (Texture)(object)photoFile.Texture, (ScaleMode)2); } GUILayout.Label(photoFile.Name, _styleFolderIcon ?? GUI.skin.label, Array.Empty<GUILayoutOption>()); GUILayout.EndVertical(); } GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); } private void DrawRepoContent() { } private void CloseRepo() { } private void DrawClickerContent() { //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Unknown result type (might be due to invalid IL or missing references) //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Expected O, but got Unknown string text = $"Souls: {_currentSouls:F0}"; GUIStyle val = new GUIStyle(GUI.skin.label) { fontSize = 18 }; val.normal.textColor = Color.black; GUILayout.Label(text, val, Array.Empty<GUILayoutOption>()); GUILayout.Space(10f); if (GUILayout.Button("Harvest Soul", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(50f) })) { _currentSouls += _clickPower; _soulCount.Value = _currentSouls; } GUILayout.Space(10f); if (GUILayout.Button($"Install Adware (Upgrade) Cost: {10.0 * _clickPower:F0}", Array.Empty<GUILayoutOption>()) && _currentSouls >= 10.0 * _clickPower) { _currentSouls -= 10.0 * _clickPower; _clickPower *= 2.0; } } private void DrawTerminalContent() { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0021: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Expected O, but got Unknown //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_00b7: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Invalid comparison between Unknown and I4 GUI.backgroundColor = Color.black; string termLog = _termLog; GUIStyle val = new GUIStyle(GUI.skin.textArea); val.normal.textColor = Color.white; GUILayout.TextArea(termLog, val, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.ExpandHeight(true) }); GUI.backgroundColor = Color.white; GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.Label("C:\\Users\\" + _usernameConfig.Value + ">", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(120f) }); _termInput = GUILayout.TextField(_termInput, Array.Empty<GUILayoutOption>()); if (Event.current.isKey && (int)Event.current.keyCode == 13 && _termInput.Length > 0) { string text = _termInput.ToUpper().Trim(); _termLog = _termLog + "\nC:\\Users\\" + _usernameConfig.Value + "> " + _termInput; switch (text) { case "HELP": _termLog += "\nCOMMANDS: HELP, CLS, SOULS, EXIT, REPO"; break; case "CLS": _termLog = ""; break; case "SOULS": _termLog += $"\nTotal Souls: {_currentSouls}"; break; case "EXIT": _showTerminal = false; break; case "REPO": LaunchGame(); break; default: _termLog = _termLog + "\n'" + text + "' is not recognized."; break; } _termInput = ""; Event.current.Use(); } GUILayout.EndHorizontal(); } private void DrawMediaPlayerContent() { //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_0026: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Expected O, but got Unknown //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) //IL_0079: Unknown result type (might be due to invalid IL or missing references) //IL_009a: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00fe: Unknown result type (might be due to invalid IL or missing references) //IL_0103: Unknown result type (might be due to invalid IL or missing references) //IL_010b: Unknown result type (might be due to invalid IL or missing references) //IL_0111: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Expected O, but got Unknown //IL_013e: Unknown result type (might be due to invalid IL or missing references) //IL_0150: Unknown result type (might be due to invalid IL or missing references) //IL_016a: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0183: Unknown result type (might be due to invalid IL or missing references) //IL_018b: Unknown result type (might be due to invalid IL or missing references) //IL_0191: Unknown result type (might be due to invalid IL or missing references) //IL_01a1: Expected O, but got Unknown //IL_029c: Unknown result type (might be due to invalid IL or missing references) //IL_02a1: Unknown result type (might be due to invalid IL or missing references) //IL_02a7: Unknown result type (might be due to invalid IL or missing references) //IL_02bc: Expected O, but got Unknown GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUIStyle val = new GUIStyle(GUI.skin.label); val.normal.textColor = Color.black; GUILayout.Label("File View Play Tools Help", val, Array.Empty<GUILayoutOption>()); GUILayout.EndHorizontal(); GUILayout.Box("", (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(2f), GUILayout.ExpandWidth(true) }); Rect rect = GUILayoutUtility.GetRect(640f, 400f); GUI.DrawTexture(rect, (Texture)(object)_texBlack); if ((Object)(object)_videoTexture != (Object)null) { GUI.DrawTexture(rect, (Texture)(object)_videoTexture, (ScaleMode)2); if (!string.IsNullOrEmpty(_videoError)) { Rect val2 = new Rect(((Rect)(ref rect)).x + 20f, ((Rect)(ref rect)).y + 100f, 600f, 100f); string text = "MEDIA ERROR:\n" + _videoError; GUIStyle val3 = new GUIStyle(GUI.skin.label) { alignment = (TextAnchor)4 }; val3.normal.textColor = Color.red; val3.fontSize = 16; GUI.Label(val2, text, val3); } else if (!_videoIsReady) { Rect val4 = new Rect(((Rect)(ref rect)).center.x - 50f, ((Rect)(ref rect)).center.y - 10f, 100f, 20f); GUIStyle val5 = new GUIStyle(GUI.skin.label) { alignment = (TextAnchor)4 }; val5.normal.textColor = Color.white; GUI.Label(val4, "Buffering...", val5); } } GUILayout.Space(5f); GUILayout.Box("", (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Height(2f), GUILayout.ExpandWidth(true) }); GUILayout.Space(5f); GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); if (GUILayout.Button("||", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) })) { _videoPlayer.Pause(); } if (GUILayout.Button(">", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) }) && _videoIsReady) { _videoPlayer.Play(); } if (GUILayout.Button("[]", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(40f) })) { _videoPlayer.Stop(); } GUILayout.FlexibleSpace(); GUIStyle val6 = new GUIStyle(GUI.skin.label); val6.normal.textColor = Color.black; GUILayout.Label("Now Playing: LinkinPark", val6, Array.Empty<GUILayoutOption>()); GUILayout.EndHorizontal(); } private void LaunchGame() { ((BaseUnityPlugin)this).Config.Save(); _currentState = OSState.RunningGame; Time.timeScale = 1f; } private void LoadAssetsFromBin() { _assetCache.Clear(); string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); string path = Path.Combine(directoryName, "omnixp.bin"); if (!File.Exists(path)) { return; } try { using FileStream fileStream = File.OpenRead(path); using BinaryReader binaryReader = new BinaryReader(fileStream); string @string = Encoding.ASCII.GetString(binaryReader.ReadBytes(4)); if (@string != "XORB") { return; } binaryReader.ReadInt32(); string s = "e1911"; byte[] bytes = Encoding.UTF8.GetBytes(s); while (fileStream.Position < fileStream.Length) { int count = binaryReader.ReadInt32(); string string2 = Encoding.UTF8.GetString(binaryReader.ReadBytes(count)); long num = binaryReader.ReadInt64(); byte[] array = binaryReader.ReadBytes((int)num); for (int i = 0; i < array.Length; i++) { array[i] ^= bytes[i % bytes.Length]; } if (!_assetCache.ContainsKey(string2)) { _assetCache.Add(string2, array); } } } catch (Exception ex) { Debug.LogError((object)("OmniXP: Bin Load Error: " + ex.Message)); } } private byte[] GetBytesFromCache(string targetFilename) { if (_assetCache.ContainsKey(targetFilename)) { return _assetCache[targetFilename]; } foreach (KeyValuePair<string, byte[]> item in _assetCache) { string fileName = Path.GetFileName(item.Key); if (string.Equals(fileName, targetFilename, StringComparison.OrdinalIgnoreCase)) { return item.Value; } } return null; } private Texture2D LoadCustomImage(string filename) { //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Expected O, but got Unknown //IL_0060: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Expected O, but got Unknown byte[] bytesFromCache = GetBytesFromCache(filename); if (bytesFromCache != null) { Texture2D val = new Texture2D(2, 2); if (ImageConversion.LoadImage(val, bytesFromCache)) { return val; } } string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); string path = Path.Combine(directoryName, filename); if (File.Exists(path)) { byte[] array = File.ReadAllBytes(path); Texture2D val2 = new Texture2D(2, 2); if (ImageConversion.LoadImage(val2, array)) { return val2; } } return null; } private string ExtractToTempFile(string filename) { byte[] bytesFromCache = GetBytesFromCache(filename); string path = filename; if (bytesFromCache == null) { string[] array = new string[3] { ".mp4", ".webm", ".ogg" }; string[] array2 = array; foreach (string text in array2) { bytesFromCache = GetBytesFromCache(filename + text); if (bytesFromCache != null) { path = filename + text; break; } } } if (bytesFromCache != null) { string text2 = Path.Combine(Application.temporaryCachePath, Path.GetFileName(path)); File.WriteAllBytes(text2, bytesFromCache); return text2; } string directoryName = Path.GetDirectoryName(((BaseUnityPlugin)this).Info.Location); string text3 = Path.Combine(directoryName, filename); if (File.Exists(text3)) { return text3; } return null; } private IEnumerator LoadExternalAssets() { LoadAssetsFromBin(); _texBliss = LoadCustomImage("wallpaper.png"); _texLake = LoadCustomImage("lake.png"); _texIconFlappy = LoadCustomImage("flappy.png"); _texIconTrash = LoadCustomImage("bin.png"); _texIconSolitaire = LoadCustomImage("cards.png"); _texIconBrowser = LoadCustomImage("internet.png"); _texIconRepo = LoadCustomImage("Repo.png"); _texIconTetris = LoadCustomImage("tetris.png"); _texIconFolder = LoadCustomImage("folder.png"); _texIconNorton = LoadCustomImage("NortonAV.png"); _texIconLimewire = LoadCustomImage("Limewire.png"); _texIconHDD = LoadCustomImage("hdd.png"); _texIconLinkinPark = LoadCustomImage("LinkinPark.png"); _texIconSouls = LoadCustomImage("Souls.png"); _texIconCMD = LoadCustomImage("CMD.png"); _texIconBBD = LoadCustomImage("BBD.png"); _texIconSkript = LoadCustomImage("Skript.png"); _texIconFitGirl = LoadCustomImage("fitgirl.png"); _texFitGirlFace = LoadCustomImage("face.png"); _texIconMine = LoadCustomImage("mine.png"); _texIconPaint = LoadCustomImage("paint.png"); _texIconMSN = LoadCustomImage("msn.png"); _texIconGame1 = LoadCustomImage("game1.png"); _texIconGame2 = LoadCustomImage("game2.png"); string audioPath = ExtractToTempFile("startup.ogg"); if (audioPath != null) { UnityWebRequest uwr2 = UnityWebRequestMultimedia.GetAudioClip("file://" + audioPath, (AudioType)14); try { yield return uwr2.SendWebRequest(); if ((int)uwr2.result == 1) { _startupClip = DownloadHandlerAudioClip.GetContent(uwr2); } } finally { ((IDisposable)uwr2)?.Dispose(); } } string songPath = ExtractToTempFile("song.ogg"); if (songPath != null) { UnityWebRequest uwr = UnityWebRequestMultimedia.GetAudioClip("file://" + songPath, (AudioType)14); try { yield return uwr.SendWebRequest(); if ((int)uwr.result == 1) { _installerSong = DownloadHandlerAudioClip.GetContent(uwr); } else { Debug.LogError((object)("OmniXP: Failed to load song.ogg: " + uwr.error)); } } finally { ((IDisposable)uwr)?.Dispose(); } } string videoPath = ExtractToTempFile("LinkinPark"); if (videoPath != null) { _videoPlayer.source = (VideoSource)1; _videoPlayer.url = "file://" + videoPath; _videoPlayer.Prepare(); } } private void LoadPhotos() { //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b3: Expected O, but got Unknown _photoFiles.Clear(); List<string> list = (from k in _assetCache.Keys where k.EndsWith(".png", StringComparison.OrdinalIgnoreCase) where char.IsDigit(Path.GetFileName(k)[0]) orderby k select k).ToList(); foreach (string item in list) { byte[] array = _assetCache[item]; Texture2D val = new Texture2D(2, 2); if (ImageConversion.LoadImage(val, array)) { _photoFiles.Add(new PhotoFile { Name = Path.GetFileName(item), Texture = val }); } } } private AudioClip MakeTone(string name, float freq, float dur, float vol = 0.5f) { int num = (int)(44100f * dur); float[] array = new float[num]; for (int i = 0; i < num; i++) { array[i] = Mathf.Sin(MathF.PI * 2f * freq * (float)i / 44100f) * vol; } AudioClip val = AudioClip.Create(name, num, 1, 44100, false); val.SetData(array, 0); return val; } private void GenerateProceduralAssets() { //IL_0004: Unknown result type (might be due to invalid IL or missing references) //IL_0009: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Expected O, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Unknown result type (might be due to invalid IL or missing references) //IL_002a: Expected O, but got Unknown //IL_0032: Unknown result type (might be due to invalid IL or missing references) //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Expected O, but got Unknown //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Unknown result type (might be due to invalid IL or missing references) //IL_0076: Expected O, but got Unknown //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0092: Unknown result type (might be due to invalid IL or missing references) //IL_009c: Expected O, but got Unknown //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00b8: Unknown result type (might be due to invalid IL or missing references) //IL_00c2: Expected O, but got Unknown //IL_00ca: Unknown result type (might be due to invalid IL or missing references) //IL_00de: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Expected O, but got Unknown //IL_00f0: Unknown result type (might be due to invalid IL or missing references) //IL_0104: Unknown result type (might be due to invalid IL or missing references) //IL_010e: Expected O, but got Unknown //IL_0117: Unknown result type (might be due to invalid IL or missing references) //IL_0121: Expected O, but got Unknown //IL_0146: Unknown result type (might be due to invalid IL or missing references) //IL_015a: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_0190: Unknown result type (might be due to invalid IL or missing references) //IL_019a: Expected O, but got Unknown //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0268: Expected O, but got Unknown //IL_01c1: Unknown result type (might be due to invalid IL or missing references) //IL_01d5: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_0364: Unknown result type (might be due to invalid IL or missing references) //IL_0384: Unknown result type (might be due to invalid IL or missing references) //IL_03a4: Unknown result type (might be due to invalid IL or missing references) //IL_03c4: Unknown result type (might be due to invalid IL or missing references) //IL_03e4: Unknown result type (might be due to invalid IL or missing references) //IL_0404: Unknown result type (might be due to invalid IL or missing references) //IL_0415: Unknown result type (might be due to invalid IL or missing references) //IL_0426: Unknown result type (might be due to invalid IL or missing references) //IL_0446: Unknown result type (might be due to invalid IL or missing references) //IL_0466: Unknown result type (might be due to invalid IL or missing references) //IL_0486: Unknown result type (might be due to invalid IL or missing references) //IL_0210: Unknown result type (might be due to invalid IL or missing references) //IL_0294: Unknown result type (might be due to invalid IL or missing references) //IL_02a8: Unknown result type (might be due to invalid IL or missing references) //IL_02af: Unknown result type (might be due to invalid IL or missing references) //IL_02b4: Unknown result type (might be due to invalid IL or missing references) //IL_030d: Unknown result type (might be due to invalid IL or missing references) //IL_02d4: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02fc: Unknown result type (might be due to invalid IL or missing references) //IL_0301: Unknown result type (might be due to invalid IL or missing references) _texWhite = TexExt.WithColor(new Texture2D(1, 1), Color.white); _texBlack = TexExt.WithColor(new Texture2D(1, 1), Color.black); _texBSOD = TexExt.WithColor(new Texture2D(1, 1), new Color(0f, 0f, 0.5f)); _texRSOD = TexExt.WithColor(new Texture2D(1, 1), new Color(0.6f, 0f, 0f)); _texXPBlue = TexExt.WithColor(new Texture2D(1, 1), new Color(0.14f, 0.35f, 0.86f)); _texXPGreen = TexExt.WithColor(new Texture2D(1, 1), new Color(0.23f, 0.72f, 0.28f)); _texXPCream = TexExt.WithColor(new Texture2D(1, 1), new Color(0.92f, 0.91f, 0.84f)); _texXPRed = TexExt.WithColor(new Texture2D(1, 1), new Color(0.9f, 0.2f, 0.2f)); _texXPBlueGrad = new Texture2D(1, 32); for (int i = 0; i < 32; i++) { float num = (float)i / 31f; _texXPBlueGrad.SetPixel(0, i, Color.Lerp(new Color(0f, 0.2f, 0.8f), new Color(0.3f, 0.6f, 1f), num)); } _texXPBlueGrad.Apply(); _texBliss = new Texture2D(256, 256); for (int j = 0; j < 256; j++) { for (int k = 0; k < 256; k++) { float num2 = (float)j / 256f; Color val = Color.Lerp(new Color(0.4f, 0.7f, 1f), new Color(0f, 0.3f, 0.8f), num2); if (j > 150) { ((Color)(ref val))..ctor(0.1f, 0.6f, 0.1f); } _texBliss.SetPixel(k, j, val); } } _texBliss.Apply(); _texLake = new Texture2D(256, 256); for (int l = 0; l < 256; l++) { for (int m = 0; m < 256; m++) { float num3 = (float)l / 256f; Color val2 = Color.Lerp(new Color(0.2f, 0f, 0f), new Color(0.5f, 0f, 0f), num3); if (l > 160) { val2 = Color.Lerp(new Color(0.6f, 0f, 0f), new Color(0.1f, 0f, 0f), (float)(l - 160) / 96f); } _texLake.SetPixel(m, l, val2); } } _texLake.Apply(); _texIconGeneric = MakeIcon(new Color(1f, 0.8f, 0f)); _texIconTrash = MakeIcon(new Color(0.7f, 0.7f, 0.7f)); _texIconSolitaire = MakeIcon(new Color(0f, 0.6f, 0f)); _texIconBrowser = MakeIcon(new Color(0f, 0.6f, 1f)); _texIconFlappy = MakeIcon(new Color(1f, 0.8f, 0f)); _texIconPhotos = MakeIcon(new Color(1f, 0.4f, 0.8f)); _texIconRepo = MakeIcon(Color.red); _texIconTetris = MakeIcon(Color.cyan); _texIconFolder = MakeIcon(new Color(0.95f, 0.85f, 0.3f)); _texIconGame1 = MakeIcon(new Color(0.5f, 0f, 0.5f)); _texIconGame2 = MakeIcon(new Color(0f, 0.5f, 0.5f)); _sfxTMove = MakeTone("t_move", 400f, 0.05f); _sfxTRotate = MakeTone("t_rot", 600f, 0.05f); _sfxTDrop = MakeTone("t_drop", 150f, 0.1f); _sfxTLine = MakeTone("t_line", 900f, 0.2f); _sfxTOver = MakeTone("t_over", 100f, 0.5f); } private Texture2D MakeIcon(Color c) { //IL_0005: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Expected O, but got Unknown //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_0040: Unknown result type (might be due to invalid IL or missing references) Texture2D val = new Texture2D(48, 48); for (int i = 0; i < 2304; i++) { val.SetPixel(i % 48, i / 48, Color.clear); } for (int j = 6; j < 42; j++) { for (int k = 6; k < 42; k++) { val.SetPixel(k, j, c); } } val.Apply(); return val; } private void InitBocon() { _boconHunger = _boconHungerConfig.Value; _boconHappy = _boconHappyConfig.Value; _boconEnergy = _boconEnergyConfig.Value; } private void UpdateBocon() { if (_hasDownloadedBBD) { float num = Time.unscaledDeltaTime * 0.5f; _boconHunger = Mathf.Max(0f, _boconHunger - num); _boconHappy = Mathf.Max(0f, _boconHappy - num * 0.8f); _boconEnergy = Mathf.Max(0f, _boconEnergy - num * 0.3f); _boconSaveTimer += Time.unscaledDeltaTime; if (_boconSaveTimer > 10f) { _boconSaveTimer = 0f; SaveBocon(); } } } private void SaveBocon() { _boconHungerConfig.Value = _boconHunger; _boconHappyConfig.Value = _boconHappy; _boconEnergyConfig.Value = _boconEnergy; ((BaseUnityPlugin)this).Config.Save(); } private void DrawBoconContent() { //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_001c: Unknown result type (might be due to invalid IL or missing references) //IL_0059: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_0052: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: Unknown result type (might be due to invalid IL or missing references) //IL_00c8: Unknown result type (might be due to invalid IL or missing references) //IL_00df: Unknown result type (might be due to invalid IL or missing references) //IL_00f6: Unknown result type (might be due to invalid IL or missing references) GUILayout.BeginVertical(Array.Empty<GUILayoutOption>()); Rect rect = GUILayoutUtility.GetRect(200f, 200f); GUI.DrawTexture(rect, (Texture)(object)_texWhite); Color color = (Color)((_boconHunger < 30f || _boconHappy < 30f) ? Color.gray : new Color(1f, 0.6f, 0.8f)); GUI.color = color; GUI.DrawTexture(new Rect(((Rect)(ref rect)).x + 50f, ((Rect)(ref rect)).y + 50f, 180f, 150f), (Texture)(object)(_texIconBBD ?? _texIconGeneric), (ScaleMode)2); GUI.color = Color.white; GUILayout.Space(10f); DrawStatBar("Hunger", _boconHunger, Color.red); DrawStatBar("Happiness", _boconHappy, Color.green); DrawStatBar("Energy", _boconEnergy, Color.yellow); GUILayout.Space(10f); GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); if (GUILayout.Button("Feed", Array.Empty<GUILayoutOption>())) { _boconHunger = Mathf.Min(100f, _boconHunger + 15f); _boconEnergy -= 2f; } if (GUILayout.Button("Play", Array.Empty<GUILayoutOption>())) { _boconHappy = Mathf.Min(100f, _boconHappy + 15f); _boconEnergy -= 5f; _boconHunger -= 5f; } if (GUILayout.Button("Sleep", Array.Empty<GUILayoutOption>())) { _boconEnergy = Mathf.Min(100f, _boconEnergy + 20f); _boconHunger -= 2f; } GUILayout.EndHorizontal(); GUILayout.EndVertical(); } private void DrawStatBar(string label, float value, Color c) { //IL_0030: Unknown result type (might be due to invalid IL or missing references) //IL_0035: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_0077: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_00cb: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.Label(label, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(70f) }); Rect rect = GUILayoutUtility.GetRect(150f, 20f); GUI.DrawTexture(rect, (Texture)(object)_texBlack); GUI.DrawTexture(new Rect(((Rect)(ref rect)).x + 1f, ((Rect)(ref rect)).y + 1f, ((Rect)(ref rect)).width - 2f, ((Rect)(ref rect)).height - 2f), (Texture)(object)_texWhite); GUI.color = c; GUI.DrawTexture(new Rect(((Rect)(ref rect)).x + 1f, ((Rect)(ref rect)).y + 1f, (((Rect)(ref rect)).width - 2f) * (value / 100f), ((Rect)(ref rect)).height - 2f), (Texture)(object)_texWhite); GUI.color = Color.white; GUILayout.EndHorizontal(); } private void DrawFlappyContent() { //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008c: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_00a8: Unknown result type (might be due to invalid IL or missing references) //IL_00ce: Unknown result type (might be due to invalid IL or missing references) //IL_00fb: Unknown result type (might be due to invalid IL or missing references) //IL_0135: Unknown result type (might be due to invalid IL or missing references) //IL_0165: Unknown result type (might be due to invalid IL or missing references) //IL_0179: Unknown result type (might be due to invalid IL or missing references) //IL_017e: Unknown result type (might be due to invalid IL or missing references) //IL_0187: Unknown result type (might be due to invalid IL or missing references) //IL_018f: Unknown result type (might be due to invalid IL or missing references) //IL_0195: Unknown result type (might be due to invalid IL or missing references) //IL_01a0: Unknown result type (might be due to invalid IL or missing references) //IL_01ad: Expected O, but got Unknown //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0257: Invalid comparison between Unknown and I4 //IL_01d3: Unknown result type (might be due to invalid IL or missing references) //IL_01e7: Unknown result type (might be due to invalid IL or missing references) //IL_01ec: Unknown result type (might be due to invalid IL or missing references) //IL_01f5: Unknown result type (might be due to invalid IL or missing references) //IL_01fb: Unknown result type (might be due to invalid IL or missing references) //IL_020b: Expected O, but got Unknown //IL_0220: Unknown result type (might be due to invalid IL or missing references) //IL_025e: Unknown result type (might be due to invalid IL or missing references) //IL_0265: Invalid comparison between Unknown and I4 if (!_flappyGameActive && !_flappyWaitingForSpace) { GUILayout.FlexibleSpace(); if (GUILayout.Button("Start Game", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Height(50f) })) { _flappyWaitingForSpace = true; _flappyY = 300f; _flappyVel = 0f; _pipeX = 400f; _flappyDead = false; } GUILayout.FlexibleSpace(); return; } Rect rect = GUILayoutUtility.GetRect(380f, 550f); GUI.BeginGroup(rect); GUI.DrawTexture(new Rect(0f, 0f, 400f, 600f), (Texture)(object)_texXPBlue); GUI.DrawTexture(new Rect(80f, _flappyY, 30f, 30f), (Texture)(object)_texIconFlappy); GUI.DrawTexture(new Rect(_pipeX, 0f, 60f, _pipeGapY - 80f), (Texture)(object)_texXPGreen); GUI.DrawTexture(new Rect(_pipeX, _pipeGapY + 80f, 60f, 600f - _pipeGapY - 80f), (Texture)(object)_texXPGreen); if (_flappyWaitingForSpace) { Rect val = new Rect(50f, 200f, 300f, 50f); GUIStyle val2 = new GUIStyle(GUI.skin.label) { fontSize = 24, fontStyle = (FontStyle)1 }; val2.normal.textColor = Color.yellow; val2.alignment = (TextAnchor)4; GUI.Label(val, "PRESS SPACE TO START", val2); } if (_flappyDead) { Rect val3 = new Rect(100f, 250f, 200f, 50f); GUIStyle val4 = new GUIStyle(GUI.skin.label) { fontSize = 30 }; val4.normal.textColor = Color.red; GUI.Label(val3, "Game Over", val4); if (GUI.Button(new Rect(120f, 300f, 140f, 40f), "Retry")) { _flappyGameActive = false; _flappyWaitingForSpace = false; } } GUI.EndGroup(); if ((int)Event.current.type == 4 && (int)Event.current.keyCode == 32) { if (_flappyWaitingForSpace) { _flappyWaitingForSpace = false; _flappyGameActive = true; _flappyVel = -8f; } else if (_flappyGameActive && !_flappyDead) { _flappyVel = -8f; } } } private void InitMinesweeper() { //IL_0056: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) _mineGrid = new int[_mineRows, _mineCols]; _mineRevealed = new bool[_mineRows, _mineCols]; _mineFlagged = new bool[_mineRows, _mineCols]; _mineGameOver = false; _mineWin = false; _texMineFlag = MakeIcon(Color.red); _texMineBomb = MakeIcon(Color.black); int num = 0; while (num < _totalMines) { int num2 = Random.Range(0, _mineRows); int num3 = Random.Range(0, _mineCols); if (_mineGrid[num2, num3] != 9) { _mineGrid[num2, num3] = 9; num++; } } for (int i = 0; i < _mineRows; i++) { for (int j = 0; j < _mineCols; j++) { if (_mineGrid[i, j] == 9) { continue; } int num4 = 0; for (int k = -1; k <= 1; k++) { for (int l = -1; l <= 1; l++) { if (i + k >= 0 && i + k < _mineRows && j + l >= 0 && j + l < _mineCols && _mineGrid[i + k, j + l] == 9) { num4++; } } } _mineGrid[i, j] = num4; } } } private void RevealMine(int r, int c) { if (r < 0 || r >= _mineRows || c < 0 || c >= _mineCols || _mineRevealed[r, c] || _mineFlagged[r, c]) { return; } _mineRevealed[r, c] = true; if (_mineGrid[r, c] == 9) { _mineGameOver = true; } else if (_mineGrid[r, c] == 0) { for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { RevealMine(r + i, c + j); } } } CheckMineWin(); } private void CheckMineWin() { if (_mineGameOver) { return; } int num = 0; for (int i = 0; i < _mineRows; i++) { for (int j = 0; j < _mineCols; j++) { if (!_mineRevealed[i, j]) { num++; } } } if (num == _totalMines) { _mineWin = true; } } private void DrawMinesweeperContent() { //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_0058: Unknown result type (might be due to invalid IL or missing references) //IL_005e: Unknown result type (might be due to invalid IL or missing references) //IL_0069: Unknown result type (might be due to invalid IL or missing references) //IL_007b: Expected O, but got Unknown //IL_0132: Unknown result type (might be due to invalid IL or missing references) //IL_0139: Expected O, but got Unknown //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0181: Unknown result type (might be due to invalid IL or missing references) //IL_01ab: Unknown result type (might be due to invalid IL or missing references) //IL_01f8: Unknown result type (might be due to invalid IL or missing references) //IL_01e4: Unknown result type (might be due to invalid IL or missing references) GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); if (GUILayout.Button("New Game", Array.Empty<GUILayoutOption>())) { InitMinesweeper(); } string obj = (_mineGameOver ? "GAME OVER" : (_mineWin ? "WINNER!" : "Playing...")); GUIStyle val = new GUIStyle(GUI.skin.label); val.normal.textColor = Color.black; val.fontStyle = (FontStyle)1; GUILayout.Label(obj, val, Array.Empty<GUILayoutOption>()); GUILayout.EndHorizontal(); GUILayout.Space(5f); for (int i = 0; i < _mineRows; i++) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); for (int j = 0; j < _mineCols; j++) { string text = ""; if (_mineRevealed[i, j]) { if (_mineGrid[i, j] == 9) { text = "X"; } else if (_mineGrid[i, j] > 0) { text = _mineGrid[i, j].ToString(); } } else if (_mineFlagged[i, j]) { text = "F"; } GUIStyle val2 = new GUIStyle(GUI.skin.button); if (_mineRevealed[i, j]) { val2.normal.background = _texWhite; if (_mineGrid[i, j] == 9) { val2.normal.textColor = Color.red; } else if (_mineGrid[i, j] == 1) { val2.normal.textColor = Color.blue; } else if (_mineGrid[i, j] == 2) { val2.normal.textColor = new Color(0f, 0.5f, 0f); } else { val2.normal.textColor = Color.black; } } else { val2.normal.textColor = Color.red; } if (GUILayout.Button(text, val2, (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Width(25f), GUILayout.Height(25f) }) && !_mineGameOver && !_mineWin) { if (Event.current.button == 0) { RevealMine(i, j); } else if (Event.current.button == 1) { _mineFlagged[i, j] = !_mineFlagged[i, j]; } } } GUILayout.EndHorizontal(); } } private void InitPaint() { //IL_001d: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Expected O, but got Unknown //IL_0038: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Unknown result type (might be due to invalid IL or missing references) if ((Object)(object)_paintTexture == (Object)null) { _paintTexture = new Texture2D(400, 300); Color[] array = (Color[])(object)new Color[120000]; for (int i = 0; i < array.Length; i++) { array[i] = Color.white; } _paintTexture.SetPixels(array); _paintTexture.Apply(); } } private void DrawPaintContent() { //IL_0093: Unknown result type (might be due to invalid IL or missing references) //IL_0098: Unknown result type (might be due to invalid IL or missing references) //IL_00ab: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_004e: Unknown result type (might be due to invalid IL or missing references) //IL_0053: Unknown result type (might be due to invalid IL or missing references) //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dc: Unknown result type (might be due to invalid IL or missing references) //IL_00cc: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00ef: Unknown result type (might be due to invalid IL or missing references) //IL_00e8: Unknown result type (might be due to invalid IL or missing references) //IL_011b: Unknown result type (might be due to invalid IL or missing references) //IL_0120: Unknown result type (might be due to invalid IL or missing references) //IL_0110: Unknown result type (might be due to invalid IL or missing references) //IL_0115: Unknown result type (might be due to invalid IL or missing references) //IL_0133: Unknown result type (might be due to invalid IL or missing references) //IL_012c: Unknown result type (might be due to invalid IL or missing references) //IL_015f: Unknown result type (might be due to invalid IL or missing references) //IL_0164: Unknown result type (might be due to invalid IL or missing references) //IL_0154: Unknown result type (might be due to invalid IL or missing references) //IL_0159: Unknown result type (might be due to invalid IL or missing references) //IL_0177: Unknown result type (might be due to invalid IL or missing references) //IL_0170: Unknown result type (might be due to invalid IL or missing references) //IL_01a3: Unknown result type (might be due to invalid IL or missing references) //IL_01a8: Unknown result type (might be due to invalid IL or missing references) //IL_0198: Unknown result type (might be due to invalid IL or missing references) //IL_019d: Unknown result type (might be due to invalid IL or missing references) //IL_01bb: Unknown result type (might be due to invalid IL or missing references) //IL_01b4: Unknown result type (might be due to invalid IL or missing references) //IL_01e6: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0241: Unknown result type (might be due to invalid IL or missing references) //IL_0242: Unknown result type (might be due to invalid IL or missing references) //IL_027e: Unknown result type (might be due to invalid IL or missing references) //IL_01dc: Unknown result type (might be due to invalid IL or missing references) //IL_01e1: Unknown result type (might be due to invalid IL or missing references) //IL_028c: Unknown result type (might be due to invalid IL or missing references) //IL_02f4: Unknown result type (might be due to invalid IL or missing references) //IL_02fa: Invalid comparison between Unknown and I4 //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b3: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02bd: Unknown result type (might be due to invalid IL or missing references) //IL_02c0: Unknown result type (might be due to invalid IL or missing references) //IL_02c9: Unknown result type (might be due to invalid IL or missing references) //IL_02d2: Unknown result type (might be due to invalid IL or missing references) //IL_02d7: Unknown result type (might be due to invalid IL or missing references) //IL_02de: Unknown result type (might be due to invalid IL or missing references) //IL_0375: Unknown result type (might be due to invalid IL or missing references) //IL_037b: Invalid comparison between Unknown and I4 //IL_0311: Unknown result type (might be due to invalid IL or missing references) //IL_0318: Unknown result type (might be due to invalid IL or missing references) //IL_031d: Unknown result type (might be due to invalid IL or missing references) //IL_0322: Unknown result type (might be due to invalid IL or missing references) //IL_0326: Unknown result type (might be due to invalid IL or missing references) //IL_032f: Unknown result type (might be due to invalid IL or missing references) //IL_0344: Unknown result type (might be due to invalid IL or missing references) //IL_0357: Unknown result type (might be due to invalid IL or missing references) //IL_035c: Unknown result type (might be due to invalid IL or missing references) //IL_0365: Unknown result type (might be due to invalid IL or missing references) //IL_0367: Unknown result type (might be due to invalid IL or missing references) GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.BeginVertical((GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(50f) }); if (GUILayout.Button("Clr", Array.Empty<GUILayoutOption>())) { Color[] array = (Color[])(object)new Color[120000]; for (int i = 0; i < array.Length; i++) { array[i] = Color.white; } _paintTexture.SetPixels(array); _paintTexture.Apply(); } GUILayout.Space(5f); GUI.backgroundColor = ((_paintColor == Color.black) ? Color.gray : Color.white); if (GUILayout.Button("Blk", Array.Empty<GUILayoutOption>())) { _paintColor = Color.black; } GUI.backgroundColor = ((_paintColor == Color.red) ? Color.gray : Color.white); if (GUILayout.Button("Red", Array.Empty<GUILayoutOption>())) { _paintColor = Color.red; } GUI.backgroundColor = ((_paintColor == Color.blue) ? Color.gray : Color.white); if (GUILayout.Button("Blu", Array.Empty<GUILayoutOption>())) { _paintColor = Color.blue; } GUI.backgroundColor = ((_paintColor == Color.green) ? Color.gray : Color.white); if (GUILayout.Button("Grn", Array.Empty<GUILayoutOption>())) { _paintColor = Color.green; } GUI.backgroundColor = ((_paintColor == Color.white) ? Color.gray : Color.white); if (GUILayout.Button("Ers", Array.Empty<GUILayoutOption>())) { _paintColor = Color.white; } GUI.backgroundColor = Color.white; GUILayout.Space(5f); GUILayout.Label("Size", Array.Empty<GUILayoutOption>()); _paintBrushSize = GUILayout.HorizontalSlider(_paintBrushSize, 1f, 10f, Array.Empty<GUILayoutOption>()); GUILayout.EndVertical(); Rect rect = GUILayoutUtility.GetRect(400f, 300f); GUI.DrawTexture(rect, (Texture)(object)_paintTexture); float num = (float)((Texture)_paintTexture).width / ((Rect)(ref rect)).width; float num2 = (float)((Texture)_paintTexture).height / ((Rect)(ref rect)).height; if ((int)Event.current.type == 0 && ((Rect)(ref rect)).Contains(Event.current.mousePosition)) { _isPainting = true; Vector2 val = Event.current.mousePosition - ((Rect)(ref rect)).position; _lastPaintPos = new Vector2(val.x * num, val.y * num2); PaintAt(_lastPaintPos); } else if ((int)Event.current.type == 3 && _isPainting) { Vector2 val2 = Event.current.mousePosition - ((Rect)(ref rect)).position; Vector2 val3 = default(Vector2); ((Vector2)(ref val3))..ctor(val2.x * num, val2.y * num2); if (((Rect)(ref rect)).Contains(Event.current.mousePosition)) { PaintLine(_lastPaintPos, val3); _lastPaintPos = val3; } } else if ((int)Event.current.type == 1) { _isPainting = false; } GUILayout.EndHorizontal(); } private void PaintAt(Vector2 pos) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0078: Unknown result type (might be due to invalid IL or missing references) int num = (int)pos.x; int num2 = ((Texture)_paintTexture).height - (int)pos.y; int num3 = (int)_paintBrushSize; for (int i = -num3; i <= num3; i++) { for (int j = -num3; j <= num3; j++) { if (num + i >= 0 && num + i < ((Texture)_paintTexture).width && num2 + j >= 0 && num2 + j < ((Texture)_paintTexture).height) { _paintTexture.SetPixel(num + i, num2 + j, _paintColor); } } } _paintTexture.Apply(); } private void PaintLine(Vector2 from, Vector2 to) { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0013: Unknown result type (might be due to invalid IL or missing references) //IL_0014: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) float num = Vector2.Distance(from, to); for (float num2 = 0f; num2 <= 1f; num2 += 1f / num) { PaintAt(Vector2.Lerp(from, to, num2)); } } private void InitGame1() { _g1Target = Random.Range(1, 101); _g1Msg = "I'm thinking of a number 1-100."; _g1Input = ""; } private void DrawGame1Content() { //IL_0011: Unknown result type (might be due to invalid IL or missing references) //IL_0016: Unknown result type (might be due to invalid IL or missing references) //IL_001f: Unknown result type (might be due to invalid IL or missing references) //IL_0027: Unknown result type (might be due to invalid IL or missing references) //IL_002d: Unknown result type (might be due to invalid IL or missing references) //IL_0042: Expected O, but got Unknown string g1Msg = _g1Msg; GUIStyle val = new GUIStyle(GUI.skin.label) { fontSize = 14, alignment = (TextAnchor)4 }; val.normal.textColor = Color.black; GUILayout.Label(g1Msg, val, Array.Empty<GUILayoutOption>()); GUILayout.Space(20f); GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.FlexibleSpace(); _g1Input = GUILayout.TextField(_g1Input, 3, (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(50f) }); if (GUILayout.Button("Guess", (GUILayoutOption[])(object)new GUILayoutOption[1] { GUILayout.Width(60f) })) { if (int.TryParse(_g1Input, out var result)) { if (result < _g1Target) { _g1Msg = "Higher!"; } else if (result > _g1Target) { _g1Msg = "Lower!"; } else { _g1Msg = "Correct! You win!"; } } _g1Input = ""; } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(20f); if (GUILayout.Button("Reset", Array.Empty<GUILayoutOption>())) { InitGame1(); } } private void InitGame2() { for (int i = 0; i < 9; i++) { _g2Board[i] = ""; } _g2XTurn = true; _g2Winner = ""; } private void DrawGame2Content() { //IL_002e: Unknown result type (might be due to invalid IL or missing references) //IL_0033: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_005f: Expected O, but got Unknown //IL_00a7: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b4: Unknown result type (might be due to invalid IL or missing references) //IL_00ba: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Expected O, but got Unknown if (!string.IsNullOrEmpty(_g2Winner)) { string text = "Winner: " + _g2Winner; GUIStyle val = new GUIStyle(GUI.skin.label) { fontSize = 20, alignment = (TextAnchor)4 }; val.normal.textColor = Color.red; GUILayout.Label(text, val, Array.Empty<GUILayoutOption>()); if (GUILayout.Button("Play Again", Array.Empty<GUILayoutOption>())) { InitGame2(); } return; } string text2 = "Turn: " + (_g2XTurn ? "X" : "O"); GUIStyle val2 = new GUIStyle(GUI.skin.label) { alignment = (TextAnchor)4 }; val2.normal.textColor = Color.black; GUILayout.Label(text2, val2, Array.Empty<GUILayoutOption>()); for (int i = 0; i < 3; i++) { GUILayout.BeginHorizontal(Array.Empty<GUILayoutOption>()); GUILayout.FlexibleSpace(); for (int j = 0; j < 3; j++) { int num = i * 3 + j; if (GUILayout.Button(_g2Board[num], (GUILayoutOption[])(object)new GUILayoutOption[2] { GUILayout.Width(50f), GUILayout.Height(50f) }) && string.IsNullOrEmpty(_g2Board[num])) { _g2Board[num] = (_g2XTurn ? "X" : "O"); CheckG2Win(); _g2XTurn = !_g2XTurn; } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); } } private void CheckG2Win() { int[][] array = new int[8][] { new int[3] { 0, 1, 2 }, new int[3] { 3, 4, 5 }, new int[3] { 6, 7, 8 }, new int[3] { 0, 3, 6 }, new int[3] { 1, 4, 7 }, new int[3] { 2, 5, 8 }, new int[3] { 0, 4, 8 }, new int[3] { 2, 4, 6 } }; int[][] array2 = array; foreach (int[] array3 in array2) { if (!string.IsNullOrEmpty(_g2Board[array3[0]]) && _g2Board[array3[0]] == _g2Board[array3[1]] && _g2Board[array3[1]] == _g2Board[array3[2]]) { _g2Winner = _g2Board[array3[0]]; return; } } bool flag = true; string[] g2Board = _g2Board; foreach (string value in g2Board) { if (string.IsNullOrEmpty(value)) { flag = false; } } if (flag && string.IsNullOrEmpty(_g2Winner)) { _g2Winner = "Draw"; } } private Rect DrawDraggableXPWindow(Rect rect, string title, string key, Action content, Action close) { //IL_0039: Unknown result type (might be due to invalid IL or missing references) //IL_0047: Unknown result type (might be due to invalid IL or missing references) //IL_0067: Unknown result type (might be due to invalid IL or missing references) //IL_0075: Unknown result type (might be due to invalid IL or missing references) //IL_0094: Unknown result type (might be due to invalid IL or missing references) //IL_009b: Unknown result type (might be due to invalid IL or missing references) //IL_00a0: Unknown result type (might be due to invalid IL or missing references) //IL_00a5: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_00c4: Invalid comparison between Unknown and I4 //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f9: Invalid comparison between Unknown and I4 //IL_00d7: Unknown result type (might be due to invalid IL or missing references) //IL_00dd: Unknown result type (might be due to invalid IL or missing references) //IL_00e2: Unknown result type (might be due to invalid IL or missing references) //IL_011c: Unknown result type (might be due to invalid IL or missing references) //IL_014f: Unknown result type (might be due to invalid IL or missing references) //IL_0160: Unknown result type (might be due to invalid IL or missing references) //IL_016b: Unknown result type (might be due to invalid IL or missing references) //IL_0192: Unknown result type (might be due to invalid IL or missing references) //IL_01cb: Unknown result type (might be due to invalid IL or missing references) //IL_01f6: Unknown result type (might be due to invalid IL or missing references) //IL_022f: Unknown result type (might be due to invalid IL or missing references) //IL_0240: Unknown result type (might be due to invalid IL or missing references) //IL_0273: Unknown result type (might be due to invalid IL or missing references) //IL_02b8: Unknown result type (might be due to invalid IL or missing references) //IL_02c5: Unknown result type (might be due to invalid IL or missing references) //IL_02d5: Unknown result type (might be due to invalid IL or missing references) //IL_02da: Unknown result type (might be due to invalid IL or missing references) //IL_02e2: Unknown result type (might be due to invalid IL or missing references) //IL_02e8: Unknown result type (might be due to invalid IL or missing references) //IL_02f3: Unknown result type (might be due to invalid IL or missing references) //IL_0300: Expected O, but got Unknown //IL_0301: Unknown result type (might be due to invalid IL or missing references) //IL_0359: Unknown result type (might be due to invalid IL or missing references) //IL_0372: Unknown result type (might be due to invalid IL or missing references) //IL_0373: Unknown result type (might be due to invalid IL or missing references) //IL_0377: Unknown result type (might be due to invalid IL or missing references) Rect val = default(Rect); ((Rect)(ref val))..ctor(((Rect)(ref rect)).x + 3f, ((Rect)(ref rect)).y + 3f, ((Rect)(ref rect)).width - 6f, 25f); if ((int)Event.current.type == 0 && ((Rect)(ref rect)).Contains(Event.current.mousePosition)) { BringToFront(key); } if ((int)Event.current.type == 0 && ((Rect)(ref val)).Contains(Event.current.mousePosition)) { _draggedWindowKey = key; _windowPosOffset = Event.current.mousePosition - ((Rect)(ref rect)).position; } if (_draggedWindowKey == key && (int)Event.current.type == 3) { ((Rect)(ref rect)).position = Event.current.mousePosition - _windowPosOffset; } if ((int)Event.current.type == 1) { _draggedWindowKey = null; } GUI.color = new Color(0f, 0f, 0f, 0.3f); GUI.DrawTexture(new Rect(((Rect)(ref rect)).x + 4f, ((Rect)(ref rect)).y + 4f, ((Rect)(ref rect)).width, ((Rect)(ref rect)).height), (Texture)(object)_texWhite); GUI.color = Color.white; GUI.DrawTexture(rect, (Texture)(object)_texXPCream); GUI.DrawTexture(new Rect(((Rect)(ref rect)).x, ((Rect)(ref rect)).y, ((Rect)(ref rect)).width, 3f), (Texture)(object)_texXPBlue); GUI.DrawTexture(new Rect(((Rect)(ref rect)).x, ((Rect)(ref rect)).y + ((Rect)(ref rect)).height - 3f, ((Rect)(ref rect)).width, 3f), (Texture)(object)_texXPBlue); GUI.DrawTexture(new Rect(((Rect)(ref rect)).x, ((Rect)(ref rect)).y, 3f, ((Rect)(ref rect)).height), (Texture)(object)_texXPBlue); GUI.DrawTexture(new Rect(((Rect)(ref rect)).x + ((Rect)(ref rect)).width - 3f, ((Rect)(ref rect)).y, 3f, ((Rect)(ref rect)).height), (Texture)(object)_texXPBlue); GUI.DrawTexture(val, (Texture)(object)_texXPBlueGrad); GUI.Label(new Rect(((Rect)(ref rect)).x + 10f, ((Rect)(ref rect)).y + 4f, ((Rect)(ref rect)).width, 25f), title, _styleWindowHeader); Rect val2 = default(Rect); ((Rect)(ref val2))..ctor(((Rect)(ref rect)).x + ((Rect)(ref rect)).width - 25f, ((Rect)(ref rect)).y + 5f, 20f, 20f); GUI.DrawTexture(val2, (Texture)(object)_texXPRed); Rect val3 = val2; GUIStyle val4 = new GUIStyle(GUI.skin.label) { alignment = (TextAnchor)4 }; val4.normal.textColor = Color.white; val4.fontStyle = (FontStyle)1; GUI.Label(val3, "X", val4); if (GUI.Button(val2, "", GUIStyle.none)) { close?.Invoke(); } GUILayout.BeginArea(new Rect(((Rect)(ref rect)).x + 10f, ((Rect)(ref rect)).y + 35f, ((Rect)(ref rect)).width - 20f, ((Rect)(ref rect)).height - 45f)); content(); GUILayout.EndArea(); return rect; } private void DrawXPWindow(Rect rect, string title, Action content) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_000b: Unknown result type (might be due to invalid IL or missing references) DrawDraggableXPWindow(rect, title, "", content, null); } private void DrawDesktopIcons() { //IL_007a: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_00be: Unknown result type (might be due to invalid IL or missing references) //IL_0101: Unknown result type (might be due to invalid IL or missing references) //IL_0144: Unknown result type (might be due to invalid IL or missing references) //IL_017d: Unknown result type (might be due to invalid IL or missing references) //IL_01b6: Unknown result type (might be due to invalid IL or missing references) //IL_01ef: Unknown result type (might be due to invalid IL or missing references) //IL_0239: Unknown result type (might be due to invalid IL or missing references) //IL_0272: Unknown result type (might be due to invalid IL or missing references) //IL_02b5: Unknown result type (might be due to invalid IL or missing references) //IL_02f8: Unknown result type (might be due to invalid IL or missing references) //IL_033b: Unknown result type (might be due to invalid IL or missing references) //IL_037e: Unknown result type (might be due to invalid IL or missing references) //IL_03ce: Unknown result type (might be due to invalid IL or missing references) //IL_041f: Unknown result type (might be due to invalid IL or missing references) //IL_0470: Unknown result type (might be due to invalid IL or missing references) //IL_04c8: Unknown result type (might be due to invalid IL or missing references) //IL_0567: Unknown result type (might be due to invalid IL or missing references) //IL_0519: Unknown result type (might be due to invalid IL or missing references) float num = 20f; float num2 = 20f; float num3 = 90f; int num4 = 0; float num5 = 20f; if (_repoInstalledConfig.Value) { DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "R.E.P.O.", _texIconRepo, delegate { LaunchGame(); }); } else { DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Setup.exe", _texIconFitGirl ?? _texIconGeneric, delegate { OpenWindow("Installer"); }); } num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "My Souls", _texIconSouls ?? _texIconGeneric, delegate { OpenWindow("SoulHarvester"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "CMD", _texIconCMD ?? _texIconGeneric, delegate { OpenWindow("CMD"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Solitaire", _texIconSolitaire, delegate { OpenWindow("Solitaire"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "OmniExplorer", _texIconBrowser, delegate { OpenWindow("Browser"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Flappy Bird", _texIconFlappy, delegate { OpenWindow("Flappy"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "My Photos", _texIconFolder ?? _texIconPhotos, delegate { OpenWindow("Photos"); }); num2 += num3; num2 = num5; num4++; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Oetris", _texIconTetris, delegate { OpenWindow("Tetris"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Norton AV", _texIconNorton ?? _texIconGeneric, delegate { OpenWindow("Norton"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Limewire", _texIconLimewire ?? _texIconGeneric, delegate { OpenWindow("Limewire"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Minesweeper", _texIconMine ?? _texIconGeneric, delegate { OpenWindow("Minesweeper"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "Paint", _texIconPaint ?? _texIconGeneric, delegate { OpenWindow("Paint"); }); num2 += num3; DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "MSN", _texIconMSN ?? _texIconGeneric, delegate { OpenWindow("MSN"); }); num2 += num3; if (_hasDownloadedLinkinPark) { DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "LinkinPark.exe", _texIconLinkinPark ?? _texIconGeneric, delegate { OpenWindow("Media"); if (!_videoPlayer.isPlaying) { _videoPlayer.Play(); } }); num2 += num3; } if (_hasDownloadedBBD) { DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "BBD.exe", _texIconBBD ?? _texIconGeneric, delegate { OpenWindow("Bocon"); }); num2 += num3; } if (_hasDownloadedSkript) { DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "SAIA.exe", _texIconSkript ?? _texIconGeneric, delegate { OpenWindow("Skript"); InitSkript(); }); num2 += num3; } num2 = num5; num4++; if (_hasGame1) { DrawIcon(new Rect(num + (float)(num4 * 80), num2, 64f, 80f), "NumberGuess", _texIconGame1 ?? _texIconGeneric, delegate { OpenWindow("Game1"); }); num2 += num3; } if (_hasGame2) { DrawIcon(new Rect(num + (float)(num4 *