From 0978e0490e62a3390e24198b0b321b7b03f5ba1b Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Wed, 21 Apr 2021 18:07:50 +0200 Subject: [PATCH] - Added the option to shut down a UniQuake instance from outside of Quake itself. Useful for when Quake is running headless. - Added shader variant collection to allow use of the URP simple lit shader in a standalone build --- .../Rendering/QuakeShaderVariants.shadervariants | 13 +++++++++++++ .../QuakeShaderVariants.shadervariants.meta | 8 ++++++++ Assets/Scripts/Bootstrap.cs | 14 +++++++++++--- Assets/Scripts/UniQuake.cs | 2 +- ProjectSettings/GraphicsSettings.asset | 3 ++- 5 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 Assets/Rendering/QuakeShaderVariants.shadervariants create mode 100644 Assets/Rendering/QuakeShaderVariants.shadervariants.meta diff --git a/Assets/Rendering/QuakeShaderVariants.shadervariants b/Assets/Rendering/QuakeShaderVariants.shadervariants new file mode 100644 index 0000000..d42c273 --- /dev/null +++ b/Assets/Rendering/QuakeShaderVariants.shadervariants @@ -0,0 +1,13 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!200 &20000000 +ShaderVariantCollection: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: QuakeShaderVariants + m_Shaders: + - first: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3} + second: + variants: [] diff --git a/Assets/Rendering/QuakeShaderVariants.shadervariants.meta b/Assets/Rendering/QuakeShaderVariants.shadervariants.meta new file mode 100644 index 0000000..d7ad266 --- /dev/null +++ b/Assets/Rendering/QuakeShaderVariants.shadervariants.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0bce72ddc4b3a52428a360db52c20c96 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 20000000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Bootstrap.cs b/Assets/Scripts/Bootstrap.cs index 136a5d5..69bc2b8 100644 --- a/Assets/Scripts/Bootstrap.cs +++ b/Assets/Scripts/Bootstrap.cs @@ -8,6 +8,8 @@ public class Bootstrap : MonoBehaviour private string mod; private float speed = 1.0f; + private UniQuake uq; + private void Start() { Debug.Log($"Running in {IntPtr.Size * 8}-bit mode"); @@ -17,21 +19,21 @@ public class Bootstrap : MonoBehaviour { if (GUILayout.Button("Start Quake!")) { - var uq = gameObject.AddComponent(); + uq = gameObject.AddComponent(); uq.BaseGame = MissionPack.Quake; uq.ModDirectory = mod; } if (GUILayout.Button("Start Scourge of Armagon!")) { - var uq = gameObject.AddComponent(); + uq = gameObject.AddComponent(); uq.BaseGame = MissionPack.Hipnotic; uq.ModDirectory = mod; } if (GUILayout.Button("Start Dissolution of Eternity!")) { - var uq = gameObject.AddComponent(); + uq = gameObject.AddComponent(); uq.BaseGame = MissionPack.Rogue; uq.ModDirectory = mod; } @@ -46,5 +48,11 @@ public class Bootstrap : MonoBehaviour { Time.timeScale = speed; } + + if (uq != null && GUILayout.Button("Quit!")) + { + uq.Shutdown(); + uq = null; + } } } diff --git a/Assets/Scripts/UniQuake.cs b/Assets/Scripts/UniQuake.cs index 93df680..7b3b163 100644 --- a/Assets/Scripts/UniQuake.cs +++ b/Assets/Scripts/UniQuake.cs @@ -127,7 +127,7 @@ public partial class UniQuake: MonoBehaviour FlushLog(); } - private void Shutdown() + public void Shutdown() { initialized = false; UniQuake_Shutdown(); diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset index f33a333..1663460 100644 --- a/ProjectSettings/GraphicsSettings.asset +++ b/ProjectSettings/GraphicsSettings.asset @@ -36,7 +36,8 @@ GraphicsSettings: - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0} - m_PreloadedShaders: [] + m_PreloadedShaders: + - {fileID: 20000000, guid: 0bce72ddc4b3a52428a360db52c20c96, type: 2} m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} m_CustomRenderPipeline: {fileID: 11400000, guid: c24e2c2de0e0d4d4ba09c317ce83dea9,