Decompiled source of WindowsXP Repo Edition v1.0.0
EmpressOmniXP.dll
Decompiled a day 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 *