Jump to content

[1.12.x] Engine Ignitor Re-ignited Release - NEW DEPENDENCY ADDED


linuxgurugamer

Recommended Posts

Continuation of the old Engine Ignitor mod, originally written by @HoneyFox, original thread here: https://forum.kerbalspaceprogram.com/index.php?/topic/47648-025-engine-ignitor-workaround-for-some-bugs-v341-aug31/, then continued by @DennyTX, thread here: https://forum.kerbalspaceprogram.com/index.php?/topic/150673-12-engine-ignitor-continued-23-oct-2016/&

and now by myself. 

Major thanks to @Errol for his tireless efforts in working on the engine configs

Released 1/7/2018

License: license-CC%20BY--SA-green.svg

Major change

***** Adds the ToolbarControl mod as a hard dependency*****

If installing via CKAN, it should be taken care of automatically.  Otherwise, see this thread for details: 

 

Changes from original

  • Removed the need for the hypergolic fluid.  I decided that two different resources to do one action was unnecessary, assume that the ignitor includes the necessary hypergolic fluid.
  • Added code to prevent use of an ignitor when a multimode engine switches from one mode to another
  • Added RAPIER patch
  • Added new config values for multimode engines
  • Added button to toggle Engine Ignitor functionality
  • Added settings to enable/disable the button to toggle the functionality
  • Added settings to select to use Blizzy if available
  • Fixed Rapiers not using ignitors when shut down
  • Updated all configs, removing duplicates, making values more sensible, thanks @Errol
  • As we know the liquid engines in KSP can ignite for infinite times at any moment as you want, which seems a bit making life too easy.

And then I came to an idea, what if we only have limited times of ignitions for an engine, thus we will have to plan & execute our maneuvers more precisely and carefully. Moreover, under zero-g environment, fuel stability will give some challenge to ignition as well.

Yes this will make game much harder but hey that' a good challenge and that's kind of realistic too, especially because we also have quite good autopilot plugin , like MechJeb.Well MechJeb might not handle that very well, at least currently.

Well. What this  mod can?

1. Each engine have limited number of available ignitions.
2. Engines requires ignitors (and also electricity) to be activated. The required amounts of consumables can be configured in CFG. (Example MMpatch included, additional explanation see below).
3. If lack of ignitors - ignition will fail.
4. Its functionality could be  restored using reloading by kerbalEVA from additional containers (included in pack).
5. Simplified ullage simulation available. If it is on, fuel have two condition  s: "stable" (while under gravitation or acceleration) and "unStable" (if weightlessness). For "unStable" state - you can specify a chance of succesfull ignition (0.2 or 20% in example). Better way - to have small special engines for  fuel rebound (sit down) down  and reignition in weightlessness.
6. Of course, here are unlimited consumables if you'll use Launch clamp. This way onboard  resources will not be consumed on launch. (useless to my mind, but let it be)

only standard configuration at the moment. But each engine could be configured as you want. Also, more configs for different mods will be provided soon.

For example (in upcoming configs): low stage engines will have 1 ignitors and 1 hypergolicFluid (or nothing if launch clamp), upper stages engines should have about 4-8 ignitors and 2 units of hypergolicFluid onboard (so, if you'll need to restart it more times you forced to have hypergolicFluid tanks onboard),  LF/OX thrusters should have a lot of ignitors and much less onboard (in engine local part) amount of hypergolicFluid.

Mainly (for better playability), amount of hypergolicFluid must be significantly less than ignitors. And IgnitorToolbox must be in top tech nodes.

This way in the first games stages we will have engines with limited and unchangeable numbers of ignitors (when we have relatively short flights) and limited hypergolicFluid. This will force gamers carefully select engines for mission. (of course, this this involves having nonstandart configs, and if, after short period of public testing, there will not be found awful errors, i'll provide it).

Also, ignitors are using for counting engine usages. In other words - this are engine life duration.

Edited by linuxgurugamer
Link to comment
Share on other sites

@linuxgurugamer

I'm back from my hiatus during my move. I have started looking at this. First thing I noticed is that there are a bunch of duplicates in the .cfgs. Once I cleared that up I started in on the actual stock .cfgs, and noticed a few of the engines are missing. Started filling in the gaps, and I noticed the throttle restrictor patch I sent you a while ago is included, but not working. So I fixed some syntax in that, and got it working, but then got distracted from checking the ignitor .cfgs trying to solve the same bug with restrictor and betterburntime we talked about before. I hailed you from another old thread that contains a possible partial solution. Anyway, here we are, 4 hours later, and I need to cook some dinner and fire up my generator (I'm living off the grid, and there isn't much sunlight this time of the year). Just wanted to let you know I haven't given up on this, I just haven't been playing any KSP at all lately.

Edited by Errol
Link to comment
Share on other sites

Ok, did some more testing with the ignitor .cfgs

I had noticed some odd behavior with the throttle set to zero, the restrictor cfg loaded in regard to consuming ignitors. Specifically, when the restrictor cfg is included ignitors aren't always consumed when you start the engine. I'm doing some further testing to get you some more specifics/repro steps. 

 

EDIT: The mod appears to function correctly without restritor. I will finish adding the missing stock engines.

Edited by Errol
Link to comment
Share on other sites

  • 2 weeks later...
10 minutes ago, notJebKerman said:

@linuxgurugamer Seems like there's a compatibility issue with Throttle Limit Extended. Any engines that have the MM configs for min throttle (including the stock ones) don't have a limited number of ignitions. The log is here.

Strange, I thought I had fixed it.

I'll have to look at it in the next few days, busy with work right now

Link to comment
Share on other sites

I tried loading this mod, love the idea and was thinking I could do some config updates for the mods I'm using.  But I get tons of NREs just getting to the main menu.  

https://drive.google.com/open?id=16vXmuR0MneR2wFzJzNPWevBFnfsMkW82

[LOG 04:15:07.577] PartLoader: Part 'Squad/Parts/Engine/liquidEngine48-7S/liquidEngine48-7S/liquidEngineMini' has no database record. Creating.
[EXC 04:15:07.586] NullReferenceException: Object reference not set to an instance of an object
	PartModuleList.Contains (Int32 classID)
	PartModuleList.Contains (System.String className)
	EngineIgnitor.ModuleEngineIgnitor.OnAwake ()
	PartModule.Awake ()
	UnityEngine.GameObject:SetActive(Boolean)
	DragCubeSystem:SetupPartForRender(Part, GameObject)
	<RenderDragCubesCoroutine>c__Iterator1E:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<SetupDragCubeCoroutine>c__Iterator20:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<CompileParts>c__Iterator66:MoveNext()
	UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[EXC 04:15:07.593] NullReferenceException: Object reference not set to an instance of an object
	PartModuleList.Contains (Int32 classID)
	PartModuleList.Contains (System.String className)
	EngineIgnitor.ModuleEngineIgnitor.OnAwake ()
	PartModule.Awake ()
	UnityEngine.GameObject:SetActive(Boolean)
	DragCubeSystem:SetupPartForRender(Part, GameObject)
	<RenderDragCubesCoroutine>c__Iterator1E:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<SetupDragCubeCoroutine>c__Iterator20:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<CompileParts>c__Iterator66:MoveNext()
	UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[EXC 04:15:07.600] NullReferenceException: Object reference not set to an instance of an object
	PartModuleList.Contains (Int32 classID)
	PartModuleList.Contains (System.String className)
	EngineIgnitor.ModuleEngineIgnitor.OnAwake ()
	PartModule.Awake ()
	UnityEngine.GameObject:SetActive(Boolean)
	DragCubeSystem:SetupPartForRender(Part, GameObject)
	<RenderDragCubesCoroutine>c__Iterator1E:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<SetupDragCubeCoroutine>c__Iterator20:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<CompileParts>c__Iterator66:MoveNext()
	UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[EXC 04:15:07.607] NullReferenceException: Object reference not set to an instance of an object
	PartModuleList.Contains (Int32 classID)
	PartModuleList.Contains (System.String className)
	EngineIgnitor.ModuleEngineIgnitor.OnAwake ()
	PartModule.Awake ()
	UnityEngine.GameObject:SetActive(Boolean)
	DragCubeSystem:SetupPartForRender(Part, GameObject)
	<RenderDragCubesCoroutine>c__Iterator1E:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<SetupDragCubeCoroutine>c__Iterator20:MoveNext()
	UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
	<CompileParts>c__Iterator66:MoveNext()
	UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)
[LOG 04:15:07.615] DragCubeSystem: Part 'liquidEngineMini' has defined a procedural drag cube setup

https://i.imgur.com/9hEbJZm.png  

Edited by eberkain
Link to comment
Share on other sites

21 minutes ago, linuxgurugamer said:

May be because you are running version 1.3.0.6, which was a beta version.

Release  version is 1.3.1

 

Got a link for that?  Both links in the OP take you to 1.3.0.6 as far as I can tell.  I'm probably just being stupid, it is butt early here right now. 

Link to comment
Share on other sites

IMPORTANT

A significant bug was found which was preventing 3 stock engines from getting the igniters added. Please update ASAP to fix this:

Release 1.3.1.1

  • Replaced FOR clause with NEEDS clause in the stock file
17 hours ago, notJebKerman said:

@linuxgurugamer Seems like there's a compatibility issue with Throttle Limit Extended. Any engines that have the MM configs for min throttle (including the stock ones) don't have a limited number of ignitions. The log is here.

Can you try this again, please?  Update the Engine Ignitor mod first, and then try it, please let me know.

If it doesn't work, specific engines which it's not working on would help, thanks

Link to comment
Share on other sites

6 hours ago, linuxgurugamer said:

IMPORTANT

A significant bug was found which was preventing 3 stock engines from getting the igniters added. Please update ASAP to fix this:

Release 1.3.1.1

  • Replaced FOR clause with NEEDS clause in the stock file

Can you try this again, please?  Update the Engine Ignitor mod first, and then try it, please let me know.

If it doesn't work, specific engines which it's not working on would help, thanks

Dude, you are too awesome.  Had to go reactivate my patreon, half my new mod list has your name on it.  :)

Link to comment
Share on other sites

14 minutes ago, notJebKerman said:

Is there a way to decrease the force required for fuel to get stable with ullage simulation enabled?

Not at the present time, but really, it is quite low now.  Basically, put some rcs thrusters on, start thrusting and then activate the engine

Link to comment
Share on other sites

On 1/10/2018 at 1:54 PM, bojangles9999 said:

have them attached, but does not seem to work, they're attached directly to the fuel tank that the engine is attached to.  can i send anything to assist?

I have this same problem with all of the engines that are listed as 0 ignitions External Launch Clamps.   I set up a rocket with launch clamps.  Fire the engine, there is a puff of smoke and nothing happens. 

EDIT:  I made myself an engine spreadsheet to compare everything.  https://docs.google.com/spreadsheets/d/1Xb2GCvt8v5Q2b0VvmBA4fgapiO0B3hG-fQbrUIkEBJA/edit?usp=sharing 

All of the stock engines are either type Internal or External.  Mod added engines are all over the map, but don't use the External or Internal tags?   I'm thinking about switching them over locally to match up with the stock parts.   Want me to do a PR with those changes?

Edited by eberkain
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...