Ejemplo n.º 1
0
        public static void LogObjectAndChilds(GameObject obj)
        {
            Spectrum.API.Logging.Logger logger = new Spectrum.API.Logging.Logger("CustomCar_" + obj.name);

            Console.Out.WriteLine("Trying to extract infos from " + obj.name);

            try
            {
                var objInfo = getGameObjectInfos(obj);

                string json = objInfo.toJson();

                logger.WriteLine(json);

                Console.Out.WriteLine("Object extracted !");
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e.Message);
                Console.Out.WriteLine(e.Source);
                Console.Out.WriteLine(e.StackTrace);
                Console.Out.WriteLine(e.ToString());
            }
            Console.Out.WriteLine("textures nb : " + allTextures.Count);
            Console.Out.WriteLine("mesh nb : " + allMeshs.Count);
        }
Ejemplo n.º 2
0
        public static void logCars()
        {
            Spectrum.API.Logging.Logger logger = new Spectrum.API.Logging.Logger("CustomCar");

            Console.Out.WriteLine("Trying to extract cars infos");

            try
            {
                CarList carList = new CarList();

                foreach (var c in G.Sys.ProfileManager_.CarInfos_)
                {
                    carList.cars.Add(getCarInfos(c));
                }


                string json = carList.toJson();

                logger.WriteLine(json);

                Console.Out.WriteLine("Car infos extracted !");
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e.Message);
                Console.Out.WriteLine(e.Source);
                Console.Out.WriteLine(e.StackTrace);
                Console.Out.WriteLine(e.ToString());
            }
            Console.Out.WriteLine("textures nb : " + allTextures.Count);
            Console.Out.WriteLine("mesh nb : " + allMeshs.Count);
        }
Ejemplo n.º 3
0
        public void Initialize(IManager manager, string ipcIdentifier)
        {
            Log = new Spectrum.API.Logging.Logger("TexturePack.log")
            {
                WriteToConsole = true
            };
            _settings    = new Settings("TexturePackSettings");
            texturePacks = new List <AssetBundle>();

            string[] texturePackPaths = _settings.GetItem <string[]>("loadedTexturePacks");



            foreach (string texturePackPathName in texturePackPaths)
            {
                LogInfo("Loaded texture pack" + texturePackPathName);
                texturePacks.Add((new Assets(texturePackPathName)).Bundle);
            }

            Events.Level.PostLoad.Subscribe(data =>
            {
                foreach (AssetBundle texturePack in texturePacks)
                {
                    //texturePack.Unload(true);
                    string[] assetNames = texturePack.GetAllAssetNames();
                    LogInfo("Assets loaded!");
                    LogInfo(string.Join(", ", texturePack.GetAllAssetNames()));
                    LogInfo("Material Names:");
                    var allObjects = GameObject.FindObjectsOfType <MeshRenderer>();
                    foreach (MeshRenderer obj in allObjects)
                    {
                        foreach (Material mat in obj.materials)
                        {
                            for (int i = 0; i < 30; i++)
                            {
                                Texture oldTex = mat.GetTexture(i);
                                if (oldTex != null)
                                {
                                    LogInfo(oldTex.name);
                                    foreach (string assetName in assetNames)
                                    {
                                        if (assetName.ToLower().Contains(oldTex.name.ToLower()))
                                        {
                                            LogInfo("Replacement texture found:");
                                            LogInfo(assetName);
                                            mat.SetTexture(i, texturePack.LoadAsset <Texture>(assetName));
                                            if (mat.GetTexture(i) == texturePack.LoadAsset <Texture>(assetName))
                                            {
                                                LogInfo("Sucessfully replaced!");
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            });
        }
Ejemplo n.º 4
0
 public static void Initialize()
 {
     Log = new Spectrum.API.Logging.Logger("Transtexturizer.log")
     {
         WriteToConsole = true
     };
     Files = new FileSystem();
 }
Ejemplo n.º 5
0
        public void Initialize(IManager manager, string ipcIdentifier)
        {
            //Console.Out.WriteLine(Application.unityVersion);

            configs = new Configs();
            logger  = new Spectrum.API.Logging.Logger("CustomCar");

            var harmony = HarmonyInstance.Create("com.Larnin.CustomCar");

            harmony.PatchAll(Assembly.GetExecutingAssembly());


            assets = new Assets("cars");
            loadCar();
        }
Ejemplo n.º 6
0
        public void Initialize(IManager manager, string ipcIdentifier)
        {
            _manager = manager;
            Log      = new Spectrum.API.Logging.Logger("IPCData.log")
            {
                WriteToConsole = true
            };

            Events.Scene.LoadFinish.Subscribe((data) =>
            {
                if (data.sceneName == "MainMenu")
                {
                    CreateMenu(manager, "SpectrumSettingsObject", "OptionsFrontRoot", "MainMenuFrontRoot");
                }
            });
        }
Ejemplo n.º 7
0
        static void Print(List <ShaderInfo> list, string file)
        {
            Spectrum.API.Logging.Logger logger = new Spectrum.API.Logging.Logger(file);

            foreach (var s in list)
            {
                logger.WriteLine("Shader " + s.shaderName);
                logger.WriteLine("\tMaterials " + s.materials.Count);
                foreach (var m in s.materials)
                {
                    logger.WriteLine("\t\t" + m.objectName + " # " + m.materialName + " # " + m.materialIndex);
                }
                logger.WriteLine("");
            }
            Console.Out.WriteLine("Shaders infos extracted !");
        }
Ejemplo n.º 8
0
        public void Initialize(IManager manager, string ipcIdentifier)
        {
            _logger = new Logger("heat")
            {
                WriteToConsole = true
            };

            _settings = InitializeSettings();

            if (_settings.Display == Display.Watermark)
            {
                _watermark = GetAndActivateWatermark();
            }

            manager.Hotkeys.Bind(_settings.ToggleHotkey, () =>
            {
                _toggled        = !_toggled;
                _watermark.text = "";
            });
        }
Ejemplo n.º 9
0
        public void Initialize(IManager manager, string ipcIdentifier)
        {
            POVs = new Dictionary <string, Texture2D>();

            FileSystem = new FileSystem();
            Settings   = new Settings("povstatus");
            Logger     = new Logger("pov")
            {
                WriteToConsole = true
            };

            var currentPov = Settings.GetOrCreate("CurrentPOV", string.Empty);

            foreach (var pngFile in FileSystem.GetFiles("."))
            {
                if (!pngFile.EndsWith(".png"))
                {
                    continue;
                }

                var tex = new Texture2D(256, 256);

                using (var fs = FileSystem.OpenFile(pngFile))
                {
                    byte[] b = new byte[0];

                    using (BinaryReader br = new BinaryReader(fs))
                        b = br.ReadBytes((int)fs.Length);

                    tex.LoadImage(b);
                }
                POVs.Add(Path.GetFileNameWithoutExtension(pngFile), tex);
                Logger.Info($"Loaded POV decal '{pngFile}'");
            }

            if (POVs.Count == 0)
            {
                Logger.Warning("No POVs found. Stopping.");
                return;
            }

            if (string.IsNullOrEmpty(currentPov) || !POVs.ContainsKey(currentPov))
            {
                currentPov = POVs.First(x => true).Key;

                Settings["CurrentPOV"] = currentPov;
                Settings.Save();
            }

            var menuTree = new MenuTree("it.32-b.vdd.CustomPOVImageMenu", "Customizable wheel POV")
            {
                new ListBox <Texture2D>(MenuDisplayMode.Both, "it.32-b.vdd.CustomPOVImageMenu.POVs", "Available POVs")
                .WithEntries(POVs)
                .WithGetter(() => POVs[Settings.GetItem <string>("CurrentPOV")])
                .WithSetter((tex) =>
                {
                    foreach (var kvp in POVs)
                    {
                        if (tex == kvp.Value)
                        {
                            Settings["CurrentPOV"] = kvp.Key;
                            break;
                        }
                    }

                    POVChangeTriggered = true;
                })
                .WithDescription("Select one of available wheel POVs.")
            };

            manager.Menus.AddMenu(MenuDisplayMode.Both, menuTree, "Change how your wheels bling.");

            HarmonyInstance = HarmonyInstance.Create("it.32-b.vdd.CustomPOVImage");
            HarmonyInstance.PatchAll(Assembly.GetExecutingAssembly());
        }