diff --git a/Director.Build.targets b/Director.Build.targets new file mode 100644 index 0000000..966110d --- /dev/null +++ b/Director.Build.targets @@ -0,0 +1,8 @@ + + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\ + + $(AssemblySearchPaths);$(ReferencePath); + + diff --git a/MOD_NAME.sln b/MOD_NAME.sln deleted file mode 100644 index 23b347e..0000000 --- a/MOD_NAME.sln +++ /dev/null @@ -1,22 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MOD_NAME", "MOD_NAME/MOD_NAME.csproj", "{35FB73C9-194D-4B06-8327-9200CAF9BF7D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {35FB73C9-194D-4B06-8327-9200CAF9BF7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {35FB73C9-194D-4B06-8327-9200CAF9BF7D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {35FB73C9-194D-4B06-8327-9200CAF9BF7D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {35FB73C9-194D-4B06-8327-9200CAF9BF7D}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/MOD_NAME/MOD_NAME.csproj b/MOD_NAME/MOD_NAME.csproj deleted file mode 100644 index 51e21f4..0000000 --- a/MOD_NAME/MOD_NAME.csproj +++ /dev/null @@ -1,40 +0,0 @@ - - - MOD_NAME - net48 - latest - enable - CS8600;CS8602;CS8603 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/MOD_NAME/Main.cs b/MOD_NAME/Main.cs deleted file mode 100644 index 8efb3bf..0000000 --- a/MOD_NAME/Main.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Reflection; -using HarmonyLib; -using UnityModManagerNet; - -namespace MOD_NAME; - -public static class Main -{ - // Unity Mod Manage Wiki: https://wiki.nexusmods.com/index.php/Category:Unity_Mod_Manager - private static bool Load(UnityModManager.ModEntry modEntry) - { - Harmony? harmony = null; - - try - { - harmony = new Harmony(modEntry.Info.Id); - harmony.PatchAll(Assembly.GetExecutingAssembly()); - - // Other plugin startup logic - } - catch (Exception ex) - { - modEntry.Logger.LogException($"Failed to load {modEntry.Info.DisplayName}:", ex); - harmony?.UnpatchAll(modEntry.Info.Id); - return false; - } - - return true; - } -} diff --git a/assets/AssetBundles b/assets/AssetBundles new file mode 100644 index 0000000..ffb1ad3 Binary files /dev/null and b/assets/AssetBundles differ diff --git a/assets/AssetBundles.manifest b/assets/AssetBundles.manifest new file mode 100644 index 0000000..9181fef --- /dev/null +++ b/assets/AssetBundles.manifest @@ -0,0 +1,7 @@ +ManifestFileVersion: 0 +CRC: 966447639 +AssetBundleManifest: + AssetBundleInfos: + Info_0: + Name: models.fullcab + Dependencies: {} diff --git a/assets/models.fullcab b/assets/models.fullcab new file mode 100644 index 0000000..4e5170b Binary files /dev/null and b/assets/models.fullcab differ diff --git a/assets/models.fullcab.manifest b/assets/models.fullcab.manifest new file mode 100644 index 0000000..3a38f4e --- /dev/null +++ b/assets/models.fullcab.manifest @@ -0,0 +1,29 @@ +ManifestFileVersion: 0 +CRC: 1261696359 +Hashes: + AssetFileHash: + serializedVersion: 2 + Hash: 1858f3bb33448328d19383b4869ef0d7 + TypeTreeHash: + serializedVersion: 2 + Hash: ae2cf77de671e115b4e55d2b65767202 +HashAppended: 0 +ClassTypes: +- Class: 1 + Script: {instanceID: 0} +- Class: 4 + Script: {instanceID: 0} +- Class: 21 + Script: {instanceID: 0} +- Class: 23 + Script: {instanceID: 0} +- Class: 33 + Script: {instanceID: 0} +- Class: 43 + Script: {instanceID: 0} +- Class: 48 + Script: {instanceID: 0} +SerializeReferenceClassIdentifiers: [] +Assets: +- Assets/better282/fullcab.prefab +Dependencies: [] diff --git a/dumb282tweaks.sln b/dumb282tweaks.sln new file mode 100644 index 0000000..c3139b0 --- /dev/null +++ b/dumb282tweaks.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33627.172 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "dumb282tweaks", "dumb282tweaks\dumb282tweaks.csproj", "{29798D2A-7139-4E0D-A6A3-3FFA9E7E5611}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {29798D2A-7139-4E0D-A6A3-3FFA9E7E5611}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {29798D2A-7139-4E0D-A6A3-3FFA9E7E5611}.Debug|Any CPU.Build.0 = Debug|Any CPU + {29798D2A-7139-4E0D-A6A3-3FFA9E7E5611}.Release|Any CPU.ActiveCfg = Release|Any CPU + {29798D2A-7139-4E0D-A6A3-3FFA9E7E5611}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C1C9BDE2-F852-4FB2-9E3F-0745754DA0EC} + EndGlobalSection +EndGlobal diff --git a/dumb282tweaks/Main.cs b/dumb282tweaks/Main.cs new file mode 100644 index 0000000..54559cc --- /dev/null +++ b/dumb282tweaks/Main.cs @@ -0,0 +1,115 @@ +using System; +using System.IO; +using System.Reflection; +using HarmonyLib; +using UnityModManagerNet; +using UnityEngine; +using System.Collections.Generic; +using DV; +using UnityEngine.UI; +using System.ComponentModel; +using static dumb282tweaks.Main; + +namespace dumb282tweaks; + +public static class Main { + // Variables + public static UnityModManager.ModEntry Instance { get; private set; } + public static dumb282tweaksSettings Settings { get; private set; } + + private static readonly string[] cabTypeTexts = new[] { + "Default", + //"Soviet", + "German" + }; + + private static readonly string[] smokeDeflectorTypeTexts = new[] { + "Default", + "Soviet", + "German" + }; + + // Load + private static bool Load(UnityModManager.ModEntry modEntry) { + Harmony? harmony = null; + + try { + Instance = modEntry; + Settings = UnityModManager.ModSettings.Load(Instance); + + Instance.OnGUI = OnGUI; + Instance.OnSaveGUI = OnSaveGUI; + + harmony = new Harmony(Instance.Info.Id); + harmony.PatchAll(Assembly.GetExecutingAssembly()); + + //var assets = AssetBundle.LoadFromFile(Path.Combine(modEntry.Path, "model.fullcab")); + //var fullcab = assets.LoadAsset("fullcab"); + } catch (Exception ex) { + Instance.Logger.LogException($"Failed to load {Instance.Info.DisplayName}:", ex); + harmony?.UnpatchAll(Instance.Info.Id); + return false; + } + + return true; + } + + // GUI Rendering + static void OnGUI(UnityModManager.ModEntry modEntry) { + GUILayout.BeginVertical(); + + Settings.toggleTweaks = GUILayout.Toggle(Settings.toggleTweaks, "Toggle Tweaks"); + + GUILayout.Label("Cab Type"); + Settings.cabType = (CabType)GUILayout.SelectionGrid((int)Settings.cabType, cabTypeTexts, 1, "toggle"); + GUILayout.Space(2); + + GUILayout.Label("Smoke Deflector Type"); + Settings.smokeDeflectorType = (SmokeDeflectorType) GUILayout.SelectionGrid((int) Settings.smokeDeflectorType, smokeDeflectorTypeTexts, 1, "toggle"); + GUILayout.Space(2); + + GUILayout.Label("Texture Utility"); + + GUILayout.EndVertical(); + } + static void OnSaveGUI(UnityModManager.ModEntry modEntry) { + Settings.Save(modEntry); + } + + // Logger Commands + public static void Log(string message) { + Instance.Logger.Log(message); + } + public static void Warning(string message) { + Instance.Logger.Warning(message); + } + public static void Error(string message) { + Instance.Logger.Error(message); + } + + public enum CabType { + [Description("Default 282 Cab")] + Default, + [Description("German Type Cab")] + German + } + + public enum SmokeDeflectorType { + [Description("No Smoke Deflectors")] + None, + [Description("Soviet Smoke Deflectors")] + Soviet, + [Description("German Smoke Deflectors")] + German, + } + + public class dumb282tweaksSettings : UnityModManager.ModSettings { + public bool toggleTweaks = true; + public CabType cabType = CabType.German; + public SmokeDeflectorType smokeDeflectorType = SmokeDeflectorType.Soviet; + + public override void Save(UnityModManager.ModEntry modEntry) { + Save(this, modEntry); + } + } +} diff --git a/dumb282tweaks/dumb282tweaks.csproj b/dumb282tweaks/dumb282tweaks.csproj new file mode 100644 index 0000000..c4a9429 --- /dev/null +++ b/dumb282tweaks/dumb282tweaks.csproj @@ -0,0 +1,62 @@ + + + dumb282tweaks + net48 + latest + enable + CS8600;CS8602;CS8603 + + + + + + + + + + + + + + + + + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityModManager\0Harmony.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\Assembly-CSharp.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\Assembly-CSharp-firstpass.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityEngine.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityEngine.AssetBundleModule.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityEngine.CoreModule.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityEngine.IMGUIModule.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityEngine.UI.dll + + + G:\SteamLibrary\steamapps\common\Derail Valley\DerailValley_Data\Managed\UnityModManager\UnityModManager.dll + + + + + + + + + + + + diff --git a/info.json b/info.json index 4624bd3..73ea18d 100644 --- a/info.json +++ b/info.json @@ -1,9 +1,9 @@ { - "Id": "MOD_NAME", + "Id": "dumb282tweaks", "Version": "1.0.0", - "DisplayName": "MOD_NAME", - "Author": "MOD_AUTHOR", - "EntryMethod": "MOD_NAME.Main.Load", + "DisplayName": "Dumb S282 Tweaks", + "Author": "aeugh", + "EntryMethod": "dumb282tweaks.Main.Load", "ManagerVersion": "0.27.3", - "Repository": "https://github.com/OWNER/REPOSITORY/blob/main/repository.json" + "Repository": "https://github.com/aeughsendhelp/dumb282tweaks/blob/main/repository.json" } diff --git a/repository.json b/repository.json index 0e3769c..f4105a6 100644 --- a/repository.json +++ b/repository.json @@ -1,9 +1,9 @@ { "Releases": [ { - "Id": "MOD_NAME", + "Id": "dumb282tweaks", "Version": "1.0.0", - "DownloadUrl": "https://github.com/OWNER/REPOSITORY/releases/download/TAG/FILE_NAME.zip" + "DownloadUrl": "https://github.com/aeughsendhelp/dumb282tweaks/releases/download/TAG/FILE_NAME.zip" } ] } diff --git a/sendtomods.ps1 b/sendtomods.ps1 new file mode 100644 index 0000000..93cceb4 --- /dev/null +++ b/sendtomods.ps1 @@ -0,0 +1,3 @@ +powershell -executionpolicy bypass .\package.ps1 -NoArchive -OutputDirectory `'G:\SteamLibrary\steamapps\common\Derail Valley\Mods`' +# Start-Sleep -Seconds 1 +# steam steam://rungameid/588030 \ No newline at end of file diff --git a/zDerailValley.url b/zDerailValley.url new file mode 100644 index 0000000..250a594 --- /dev/null +++ b/zDerailValley.url @@ -0,0 +1,7 @@ +[{000214A0-0000-0000-C000-000000000046}] +Prop3=19,0 +[InternetShortcut] +IDList= +IconIndex=0 +URL=steam://rungameid/588030 +IconFile=C:\Program Files (x86)\Steam\steam\games\ce91a672ac33c3038e50fc02fffa67e7133d2bf1.ico