diff --git a/.gitignore b/.gitignore index 6024b04..0940c57 100644 --- a/.gitignore +++ b/.gitignore @@ -168,4 +168,4 @@ $RECYCLE.BIN/ *~ *.swp *.dll - +.vs diff --git a/Changelog.txt b/Changelog.txt index e69de29..d4456c5 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -0,0 +1,16 @@ +1.1.3 Fixed issue with emitters, thanks @sarbian + +1.1.4 + updated for 1.3 + +1.1.5 + Added buttons and toggle so that the vent can be used on planets, and be activated both + by an action group and manually + +1.1.6 + Added a check to see if the vessel speed is >10 m/s, if so, no emissions. This includes being in Orbit + Added an alwaysOn flag which can be toggled in the editor. If enabled, vapor will always be on at speeds <= 10 m/s + +1.1.8 + Updated for 1.4.1 + Added small and tiny vents, 1/2 and 1/4 the size \ No newline at end of file diff --git a/GameData/VaporVent/Readme.md b/GameData/VaporVent/Readme.md new file mode 100644 index 0000000..7acd428 --- /dev/null +++ b/GameData/VaporVent/Readme.md @@ -0,0 +1,3 @@ +How could we continue to play a space game that didn't depict the rocket with wispy vapor trails swirling all around before launch? That is all this part does, nothing more. + +The vapour is configured to blow in the same direction as the flag in the main Space Centre launch pad area. As such, you should locate the part so the vapour does not pass through the spacecraft. No warranty expressed or implied. \ No newline at end of file diff --git a/GameData/VaporVent/VaporVent.version b/GameData/VaporVent/VaporVent.version index b42511b..613c8ad 100644 --- a/GameData/VaporVent/VaporVent.version +++ b/GameData/VaporVent/VaporVent.version @@ -1,26 +1,30 @@ { "NAME": "VaporVent", - "URL": "https://raw.githubusercontent.com/linuxgurugamer/VaporVent/master/Source/VaporVent.version", + "URL": "https://raw.githubusercontent.com/linuxgurugamer/VaporVent/master/VaporVent.version", "DOWNLOAD": "http://spacedock.info/mod/931", + "GITHUB": { + "USERNAME": "linuxgurugamer", + "REPOSITORY": "VaporVent" + }, "VERSION": { "MAJOR": 1, "MINOR": 1, - "PATCH": 7, + "PATCH": 8, "BUILD": 0 }, "KSP_VERSION": { "MAJOR": 1, - "MINOR": 3, + "MINOR": 4, "PATCH": 1 }, "KSP_VERSION_MIN": { "MAJOR": 1, - "MINOR": 3, + "MINOR": 4, "PATCH": 1 }, "KSP_VERSION_MAX": { "MAJOR": 1, - "MINOR": 3, - "PATCH": 1 + "MINOR": 4, + "PATCH": 99 } -} +} \ No newline at end of file diff --git a/GameData/VaporVent/parts/asphalt.mbm b/GameData/VaporVent/parts/Vent1/asphalt.mbm similarity index 100% rename from GameData/VaporVent/parts/asphalt.mbm rename to GameData/VaporVent/parts/Vent1/asphalt.mbm diff --git a/GameData/VaporVent/parts/model.mu b/GameData/VaporVent/parts/Vent1/model.mu similarity index 100% rename from GameData/VaporVent/parts/model.mu rename to GameData/VaporVent/parts/Vent1/model.mu diff --git a/GameData/VaporVent/parts/part.cfg b/GameData/VaporVent/parts/Vent1/part.cfg similarity index 100% rename from GameData/VaporVent/parts/part.cfg rename to GameData/VaporVent/parts/Vent1/part.cfg diff --git a/GameData/VaporVent/parts/Vent1/part2.cfg b/GameData/VaporVent/parts/Vent1/part2.cfg new file mode 100644 index 0000000..18d7278 --- /dev/null +++ b/GameData/VaporVent/parts/Vent1/part2.cfg @@ -0,0 +1,52 @@ +PART +{ + // --- general parameters --- + name = smallvent + module = Part + author = Peter Goddard + + // --- asset parameters --- + mesh = model.mu + scale = 1 + rescaleFactor = 0.5 + iconCenter = 0.1, 0, 0 + + // --- node definitions --- + node_attach = 0.0, 0.0, 0.0, 1, 0, 0 + + // --- Tech tree --- + //TechRequired = unmannedTech + TechRequired = start + + // --- editor parameters --- + cost = 50 + entryCost = 200 + category = Utility + subcategory = 0 + title = Small Vapor Vent + manufacturer = Squalid-State Devices Inc. + description = All those snacks... need a vent. Attach to your spacecraft for that all-important ambiance. Only works at launch time. + tags = vent + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 0,1,0,0,0 + + // --- standard part parameters --- + mass = 0.03 + dragModelType = default + maximum_drag = 0.01 + minimum_drag = 0.01 + angularDrag = 0.1 + crashTolerance = 50 + breakingForce = 50 + breakingTorque = 50 + maxTemp = 2600 + PhysicsSignificance = 1 + bulkheadProfiles = srf + explosionPotential = 0.1 + MODULE + { + name = makeSteam + alwaysOn = false + } +} diff --git a/GameData/VaporVent/parts/Vent1/part3.cfg b/GameData/VaporVent/parts/Vent1/part3.cfg new file mode 100644 index 0000000..d350a7f --- /dev/null +++ b/GameData/VaporVent/parts/Vent1/part3.cfg @@ -0,0 +1,52 @@ +PART +{ + // --- general parameters --- + name = tinyvent + module = Part + author = Peter Goddard + + // --- asset parameters --- + mesh = model.mu + scale = 1 + rescaleFactor = 0.25 + iconCenter = 0.1, 0, 0 + + // --- node definitions --- + node_attach = 0.0, 0.0, 0.0, 1, 0, 0 + + // --- Tech tree --- + //TechRequired = unmannedTech + TechRequired = start + + // --- editor parameters --- + cost = 50 + entryCost = 200 + category = Utility + subcategory = 0 + title = Tiny Vapor Vent + manufacturer = Squalid-State Devices Inc. + description = All those snacks... need a vent. Attach to your spacecraft for that all-important ambiance. Only works at launch time. + tags = vent + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 0,1,0,0,0 + + // --- standard part parameters --- + mass = 0.03 + dragModelType = default + maximum_drag = 0.01 + minimum_drag = 0.01 + angularDrag = 0.1 + crashTolerance = 50 + breakingForce = 50 + breakingTorque = 50 + maxTemp = 2600 + PhysicsSignificance = 1 + bulkheadProfiles = srf + explosionPotential = 0.1 + MODULE + { + name = makeSteam + alwaysOn = false + } +} diff --git a/GameData/VaporVent/parts/transparentParticle.mbm b/GameData/VaporVent/parts/Vent1/transparentParticle.mbm similarity index 100% rename from GameData/VaporVent/parts/transparentParticle.mbm rename to GameData/VaporVent/parts/Vent1/transparentParticle.mbm diff --git a/Source/License.txt b/License.txt similarity index 100% rename from Source/License.txt rename to License.txt diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..7acd428 --- /dev/null +++ b/Readme.md @@ -0,0 +1,3 @@ +How could we continue to play a space game that didn't depict the rocket with wispy vapor trails swirling all around before launch? That is all this part does, nothing more. + +The vapour is configured to blow in the same direction as the flag in the main Space Centre launch pad area. As such, you should locate the part so the vapour does not pass through the spacecraft. No warranty expressed or implied. \ No newline at end of file diff --git a/Source/.vs/VaporVent/v15/sqlite3/storage.ide b/Source/.vs/VaporVent/v15/sqlite3/storage.ide deleted file mode 100644 index 691d532..0000000 Binary files a/Source/.vs/VaporVent/v15/sqlite3/storage.ide and /dev/null differ diff --git a/Source/.vs/config/applicationhost.config b/Source/.vs/config/applicationhost.config deleted file mode 100644 index b42cd34..0000000 --- a/Source/.vs/config/applicationhost.config +++ /dev/null @@ -1,1030 +0,0 @@ - - - - - - - - -
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
- -
-
- -
-
-
- - -
-
-
-
-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Source/Changelog.txt b/Source/Changelog.txt deleted file mode 100644 index d6d4364..0000000 --- a/Source/Changelog.txt +++ /dev/null @@ -1,12 +0,0 @@ -1.1.3 Fixed issue with emitters, thanks @sarbian - -1.1.4 - updated for 1.3 - -1.1.5 - Added buttons and toggle so that the vent can be used on planets, and be activated both - by an action group and manually - -1.1.6 - Added a check to see if the vessel speed is >10 m/s, if so, no emissions. This includes being in Orbit - Added an alwaysOn flag which can be toggled in the editor. If enabled, vapor will always be on at speeds <= 10 m/s \ No newline at end of file diff --git a/Source/buildRelease.bat b/Source/buildRelease.bat deleted file mode 100644 index d187fbc..0000000 --- a/Source/buildRelease.bat +++ /dev/null @@ -1,43 +0,0 @@ - -@echo off - - -set RELEASEDIR=d:\Users\jbb\release -set ZIP="c:\Program Files\7-zip\7z.exe" - -cd D:\Users\jbb\github\VaporVent\Source - - -set VERSIONFILE=VaporVent.version -rem The following requires the JQ program, available here: https://stedolan.github.io/jq/download/ -c:\local\jq-win64 ".VERSION.MAJOR" %VERSIONFILE% >tmpfile -set /P major=tmpfile -set /P minor=tmpfile -set /P patch=tmpfile -set /P build= - + False - R:\KSP_1.3.1_dev\KSP_x64_Data\Managed\Assembly-CSharp.dll - - - R:\KSP_1.3.0_dev\KSP_x64_Data\Managed\System.dll + R:\KSP_1.4.1_dev\KSP_x64_Data\Managed\Assembly-CSharp.dll + False - R:\KSP_1.3.1_dev\KSP_x64_Data\Managed\UnityEngine.dll + R:\KSP_1.4.1_dev\KSP_x64_Data\Managed\UnityEngine.dll False - R:\KSP_1.3.1_dev\KSP_x64_Data\Managed\UnityEngine.UI.dll + R:\KSP_1.4.1_dev\KSP_x64_Data\Managed\UnityEngine.UI.dll - start /D D:\Users\jbb\github\VaporVent\Source /WAIT deploy.bat + +start /D D:\Users\jbb\github\VaporVent /WAIT deploy.bat $(TargetDir) $(TargetFileName) if $(ConfigurationName) == Release ( -start /D D:\Users\jbb\github\VaporVent\Source /WAIT buildRelease.bat -) + start /D D:\Users\jbb\github\VaporVent /WAIT buildRelease.bat $(TargetDir) $(TargetFileName) +) + diff --git a/Source/makeSteam.cs b/VaporVent/makeSteam.cs similarity index 66% rename from Source/makeSteam.cs rename to VaporVent/makeSteam.cs index 5bdda76..c1e8485 100644 --- a/Source/makeSteam.cs +++ b/VaporVent/makeSteam.cs @@ -13,7 +13,7 @@ namespace vaporvent public class makeSteam : PartModule { [KSPField(guiActiveEditor = true, isPersistant = true)] - [UI_Toggle(enabledText = "Yes", disabledText = "No")] + [UI_Toggle(enabledText = "Hide vapor", disabledText = "Show vapor")] public bool alwaysOn = false; @@ -58,33 +58,46 @@ public void ToggleSteamAction(KSPActionParam param) SlowCheck(); UpdateEvents(vaporVisible); } - + void LateUpdate() + { + if (HighLogic.LoadedScene == GameScenes.EDITOR) + { + emitter = part.FindModelComponents(); + foreach (KSPParticleEmitter unit in emitter) + { + unit.emit = alwaysOn; + } + return; + } + } void PLSteam() { - if (HighLogic.LoadedScene != GameScenes.FLIGHT) - return; - print ("vaporvent: started makesteam, vessel.situation: " + vessel.situation.ToString()); - emitter = part.FindModelComponents(); - if (emitter != null) - { - foreach(KSPParticleEmitter unit in emitter) - { - if ((vaporVisible || alwaysOn) && vessel.speed < 10 ) //|| Vessel.Situations.PRELAUNCH == vessel.situation || Vessel.Situations.LANDED == vessel.situation) - { - unit.emit = true; - //print ("vaporvent: true"); - } - else - { - unit.emit = false; - print ("vaporvent: false"); - vaporVisible = false; - UpdateEvents(vaporVisible); - CancelInvoke(); + + if (HighLogic.LoadedScene == GameScenes.FLIGHT) + { + print("vaporvent: started makesteam, vessel.situation: " + vessel.situation.ToString()); + emitter = part.FindModelComponents(); + if (emitter != null) + { + foreach (KSPParticleEmitter unit in emitter) + { + if ((vaporVisible || alwaysOn) && vessel.speed < 10) //|| Vessel.Situations.PRELAUNCH == vessel.situation || Vessel.Situations.LANDED == vessel.situation) + { + unit.emit = true; + //print ("vaporvent: true"); + } + else + { + unit.emit = false; + print("vaporvent: false"); + vaporVisible = false; + UpdateEvents(vaporVisible); + CancelInvoke(); + } } - } - } + } + } } void SlowCheck() { diff --git a/Vent2/exhaust.mbm b/Vent2/exhaust.mbm new file mode 100644 index 0000000..17c7780 Binary files /dev/null and b/Vent2/exhaust.mbm differ diff --git a/Vent2/exhaust.mu b/Vent2/exhaust.mu new file mode 100644 index 0000000..1d47370 Binary files /dev/null and b/Vent2/exhaust.mu differ diff --git a/Vent2/part.cfg b/Vent2/part.cfg new file mode 100644 index 0000000..a9d014b --- /dev/null +++ b/Vent2/part.cfg @@ -0,0 +1,53 @@ +PART +{ + // --- general parameters --- + name = vent2 + module = Part + author = Peter Goddard + + // --- asset parameters --- + mesh = exhaust.mu + scale = 1 + rescaleFactor = 1 + iconCenter = 0.1, 0, 0 + + // --- node definitions --- + node_attach = 0.0, 0.0, 0.0, 1, 0, 0 + + // --- Tech tree --- + //TechRequired = unmannedTech + TechRequired = start + + // --- editor parameters --- + cost = 50 + entryCost = 200 + category = Utility + subcategory = 0 + title = Vapor Vent + manufacturer = Squalid-State Devices Inc. + description = All those snacks... need a vent. Attach to your spacecraft for that all-important ambiance. Only works at launch time. + tags = vent + + // attachment rules: stack, srfAttach, allowStack, allowSrfAttach, allowCollision + attachRules = 0,1,0,0,0 + + // --- standard part parameters --- + mass = 0.03 + dragModelType = default + maximum_drag = 0.01 + minimum_drag = 0.01 + angularDrag = 0.1 + crashTolerance = 50 + breakingForce = 50 + breakingTorque = 50 + maxTemp = 2600 + PhysicsSignificance = 1 + bulkheadProfiles = srf + explosionPotential = 0.1 + + MODULE + { + name = makeSteam + alwaysOn = false + } +} diff --git a/Vent2/steam_1.mbm b/Vent2/steam_1.mbm new file mode 100644 index 0000000..69b7a8e Binary files /dev/null and b/Vent2/steam_1.mbm differ diff --git a/buildRelease.bat b/buildRelease.bat new file mode 100644 index 0000000..ea12b5d --- /dev/null +++ b/buildRelease.bat @@ -0,0 +1,75 @@ + +@echo off + +rem Put the following text into the Post-build event command line: +rem without the "rem": + +rem start /D D:\Users\jbb\github\IFI-Life-Support /WAIT deploy.bat $(TargetDir) $(TargetFileName) +rem +rem if $(ConfigurationName) == Release ( +rem +rem start /D D:\Users\jbb\github\IFI-Life-Support /WAIT buildRelease.bat $(TargetDir) $(TargetFileName) +rem +rem ) + + +rem Set variables here + +rem H is the destination game folder +rem GAMEDIR is the name of the mod folder (usually the mod name) +rem GAMEDATA is the name of the local GameData +rem VERSIONFILE is the name of the version file, usually the same as GAMEDATA, +rem but not always +rem LICENSE is the license file +rem README is the readme file + +set GAMEDIR=VaporVent +set GAMEDATA="GameData\" +set VERSIONFILE=%GAMEDIR%.version +set LICENSE=License.txt +set README=ReadMe.md + +set RELEASEDIR=d:\Users\jbb\release +set ZIP="c:\Program Files\7-zip\7z.exe" + +rem Copy files to GameData locations + +copy /Y "%1%2" "%GAMEDATA%\%GAMEDIR%\Plugins" +copy /Y %VERSIONFILE% %GAMEDATA%\%GAMEDIR% +copy /Y ..\MiniAVC.dll %GAMEDATA%\%GAMEDIR% + +if "%LICENSE%" NEQ "" copy /y %LICENSE% %GAMEDATA%\%GAMEDIR% +if "%README%" NEQ "" copy /Y %README% %GAMEDATA%\%GAMEDIR% + +rem Get Version info + +copy %VERSIONFILE% tmp.version +set VERSIONFILE=tmp.version +rem The following requires the JQ program, available here: https://stedolan.github.io/jq/download/ +c:\local\jq-win64 ".VERSION.MAJOR" %VERSIONFILE% >tmpfile +set /P major=tmpfile +set /P minor=tmpfile +set /P patch=tmpfile +set /P build=