Jump to content

[1.9.x] AECS Motion Suppressor (air brake, engine, & control surfaces)


linuxgurugamer

Recommended Posts

23 minutes ago, Kerbart said:

I replaced AECS 1.3.3 with 1.3.3.1 and things appear to be working great. The only snag, albeit it a tiny one,  is that all the gimballed engines of ships in flight have disappeared. Most of those where in orbit, so no harm done, but a probe or two might miss their orbit insertions.

The log shows this message (many times, clearly)

System.TypeLoadException: Could not load type of field 'AECS_Motion_Suppressor.AECS_VesselModule:Log' 
(1) due to: Could not load file or assembly 'KSP_Log, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null' 
or one of its dependencies. assembly:KSP_Log, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null 
type:<unknown type> member:(null) signature:<none>

 

You need to install SpaceTuxLibrary, was specifically mentioned in the post and OP, as well as CKAN

Edited by linuxgurugamer
Link to comment
Share on other sites

2 hours ago, linuxgurugamer said:

You need to install SpaceTuxLibrary, was specifically mentioned in the post and OP, as well as CKAN

Thank you for mentioning that. It popped up in AVC so I just downloaded it straight from spacedock (I'm not too big on CKAN, that's just me). Didn't think a "fourth digit upgrade" could break anything, and rest assured, your users will always find ways to circumvent any of the work you to do make sure things go wrong.

Thank you for keeping this mod updated.

Link to comment
Share on other sites

Minor question: is it normal and expected behavior for the mod to not allow locking engine gimbal whatsoever while in flight?

  • Simple test rocket with one HECS, one fuel tank, one Swivel and some aero.
  • While the rocket is standing on the launch pad with engines off and me not touching any controls, the gimbal automatically locks itself every few seconds. This is on purpose, as per the last page.
  • The instant I fire up the engine, the gimbal unlocks immediately and will not let itself be locked at all for the rest of the burn. Even if I lock it manually, it unlocks again after just a few milliseconds. Setting gimbal limit to zero used to prevent this, but it no longer works in the sense that the zero gimbal limit is respected but the gimbal itself is still unlocked.
    • Action groups cannot lock gimbal either while the burn is ongoing. Neither toggle nor lock.

Is the latter part on purpose? Because I ran into a problem before where this inability to manually lock engine gimbal during flight caused side effects (caused asymmetric thrust from a force-unlocked gimbal's thrust vector touching the hull).

I don't suppose it would be feasible to have the mod detect whether the gimbal was locked by itself or by the player and only unlock it in the former case? I'm thinking... one boolean per engine, set to true when the mod locks the gimbal and checked when it wants to unlock the gimbal. If true, unlock the gimbal and set it to false; if false, leave it locked because it wasn't the mod who locked it.

Edited by Fraktal
Link to comment
Share on other sites

  • 1 month later...
  • 3 months later...
12 hours ago, JebTheDestroyer said:

Been trying to use this with RO/RP1, but it randomly causes my gimbals to lock when still in atmosphere. Here's my log: https://drive.google.com/file/d/12MHzgamau9rd_5fIjtnunO15eHy8y9yy/view?usp=share_link

Not sure what's going on, but I see that Kerbalism is generating  a large number of exceptions:

Spoiler
Exception handling event onEditorShipModified in class KerbalismCompanionCalculator:System.NullReferenceException: Object reference not set to an instance of an object
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.ReloadVessel () [0x000a5] in <9742863225e2462ba0efc31b83c53d99>:0 
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.onEditorShipModified (ShipConstruct ship) [0x00000] in <9742863225e2462ba0efc31b83c53d99>:0 
  at EventData`1[T].Fire (T data) [0x000b0] in <0435390348b6470d8166bd1c53b4b100>:0  
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

NullReferenceException: Object reference not set to an instance of an object
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.ReloadVessel () [0x000a5] in <9742863225e2462ba0efc31b83c53d99>:0 
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.onEditorShipModified (ShipConstruct ship) [0x00000] in <9742863225e2462ba0efc31b83c53d99>:0 
  at EventData`1[T].Fire (T data) [0x000b0] in <0435390348b6470d8166bd1c53b4b100>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
EventData`1:Fire(ShipConstruct)
RealFuels.Tanks.ModuleFuelTanks:Empty()
BaseEvent:Invoke()
UIPartActionButton:OnClick()
UnityEngine.Events.InvokableCall:Invoke()
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.UI.Button:Press()
UnityEngine.UI.Button:OnPointerClick(PointerEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute(IPointerClickHandler, BaseEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse(PointerEventData, GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()

 

and

Spoiler
NullReferenceException: Object reference not set to an instance of an object
  at KERBALISM.DB.KerbalismData (Vessel vessel) [0x00000] in <94f72890f68a4c62b6331661aa032e5e>:0 
  at KERBALISM.Experiment.Update () [0x00010] in <94f72890f68a4c62b6331661aa032e5e>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

 

I didn't see anything in the log from AECS.

Beyond that, you have a LOT of mods installed, more than 210 mod DLLs.  I don't have time to fully replicate this install, so I'm going to ask you to try to minimize the number of mods needed to replicate this.  Copy the entire directory:  C:/Games/KSP RO  into a new directory, then delete all unnecessary mods and verify it's still happening.  Then post that log, and I'll see what I can do.

Link to comment
Share on other sites

6 hours ago, linuxgurugamer said:

Not sure what's going on, but I see that Kerbalism is generating  a large number of exceptions:

  Reveal hidden contents
Exception handling event onEditorShipModified in class KerbalismCompanionCalculator:System.NullReferenceException: Object reference not set to an instance of an object
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.ReloadVessel () [0x000a5] in <9742863225e2462ba0efc31b83c53d99>:0 
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.onEditorShipModified (ShipConstruct ship) [0x00000] in <9742863225e2462ba0efc31b83c53d99>:0 
  at EventData`1[T].Fire (T data) [0x000b0] in <0435390348b6470d8166bd1c53b4b100>:0  
(Filename: C:\buildslave\unity\build\Runtime/Export/Debug/Debug.bindings.h Line: 35)

NullReferenceException: Object reference not set to an instance of an object
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.ReloadVessel () [0x000a5] in <9742863225e2462ba0efc31b83c53d99>:0 
  at KerbalismCompanionCalculator.KerbalismCompanionCalculator.onEditorShipModified (ShipConstruct ship) [0x00000] in <9742863225e2462ba0efc31b83c53d99>:0 
  at EventData`1[T].Fire (T data) [0x000b0] in <0435390348b6470d8166bd1c53b4b100>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
EventData`1:Fire(ShipConstruct)
RealFuels.Tanks.ModuleFuelTanks:Empty()
BaseEvent:Invoke()
UIPartActionButton:OnClick()
UnityEngine.Events.InvokableCall:Invoke()
UnityEngine.Events.UnityEvent:Invoke()
UnityEngine.UI.Button:Press()
UnityEngine.UI.Button:OnPointerClick(PointerEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute(IPointerClickHandler, BaseEventData)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse(PointerEventData, GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()

 

and

  Reveal hidden contents
NullReferenceException: Object reference not set to an instance of an object
  at KERBALISM.DB.KerbalismData (Vessel vessel) [0x00000] in <94f72890f68a4c62b6331661aa032e5e>:0 
  at KERBALISM.Experiment.Update () [0x00010] in <94f72890f68a4c62b6331661aa032e5e>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object)

 

I didn't see anything in the log from AECS.

Beyond that, you have a LOT of mods installed, more than 210 mod DLLs.  I don't have time to fully replicate this install, so I'm going to ask you to try to minimize the number of mods needed to replicate this.  Copy the entire directory:  C:/Games/KSP RO  into a new directory, then delete all unnecessary mods and verify it's still happening.  Then post that log, and I'll see what I can do.

Yeah, I'm kind of a junkie when it comes to modding KSP. Anyway, I tried what you said and the problem wasn't appearing, so I'm starting to think it wasn't your mod. Here's my log just in case: https://drive.google.com/file/d/1SP7HwO1o8wK2Bwi5F4JCckEWPw3lx9Ir/view?usp=share_link

I'm gonna see if I can get support from the RO Discord, but if there's anything you can do to help, I'd really appreciate it. 100% get it if you don't want to/don't have the time though. 

 

 

 

Link to comment
Share on other sites

  • 10 months later...

I'm not entirely sure why, but this mod doesn't affect some parts completely. SOCK's Vertical Stabilizer for instance has one of its rudders suppressed, but not the other. I suspect the reason is that if a single part has more than one control surface, the mod doesn't target them.

Link to comment
Share on other sites

On 11/15/2023 at 1:00 AM, Delta 86 said:

I'm not entirely sure why, but this mod doesn't affect some parts completely. SOCK's Vertical Stabilizer for instance has one of its rudders suppressed, but not the other. I suspect the reason is that if a single part has more than one control surface, the mod doesn't target them.

How about an example, as in a craft file, if that's what you think is going on?  I can't test against every single mod out there, if you find an issue, it's up to you to report it with enough information for the modder to fix

Link to comment
Share on other sites

17 hours ago, JadeOfMaar said:

@linuxgurugamer The part in question indeed contains more than one control surface module. It may be that this mod needs to be mindful of the number of that module and not just that the module exists.

Sounds reasonable, but I still don't know the mod, it doesn't come up searching for SOCKS in Ckan.

I do see that it's only getting one component, so it shoudn't be too difficult to change it to do multiple.  But I'd like to be able to test it before releasing.

Link to comment
Share on other sites

@Delta 86 @JadeOfMaar

I've gotten a beta up on Github here:

https://github.com/linuxgurugamer/AECS_Motion_Suppressor/releases/tag/1.3.3.3

Changes

  • Added code to check for up to 3 ModuleControlSurface modules in a part (at least one part has two of them)

Please check it out and let me know

Link to comment
Share on other sites

7 hours ago, Overlocker96 said:

I don't know if its only on the latest version, but A.I.R.B.R.A.K.E.S don't work, even other mods airbrakes that use the same module, like Ablative Airbrakes
Uninstalling AECS seems to work fine.

That name doesn't come up in CKAN, can you provide a link to the mod?  web page would be fine

or are you referring to all airbrakes??

Link to comment
Share on other sites

12 hours ago, Overlocker96 said:

I don't know if its only on the latest version, but A.I.R.B.R.A.K.E.S don't work, even other mods airbrakes that use the same module, like Ablative Airbrakes
Uninstalling AECS seems to work fine.

Chiming in with the same experience.  I updated this mod earlier today and found that the A.I.R.B.R.A.K.E.S don't work (including those included with the Mk2/3 Stockalike mods).  I tested it on a couple different builds and then on an existing spaceplane build that I knew worked, and on all the A.I.R.B.R.A.K.E.S refused to deploy at any time (on the pad/runway or later when re-entering atmo).  I reverted back to the previous version of AECS and everything was back to working normal.  (edit:  seeing your reply above it happened with stock A.I.R.B.R.A.K.E.S as well as those in the Mk2/3 mods).

Figured then it was a bug with your latest update somehow, which, by the way, thank you so much for all the continued work you do on so many adopted mods, it's awesome the work you put in for the community!  Anyway, thanks for reading and investigating!

Edited by Kalalicious
Link to comment
Share on other sites

7 hours ago, linuxgurugamer said:

That name doesn't come up in CKAN, can you provide a link to the mod?  web page would be fine

or are you referring to all airbrakes??

This is the mod: https://spacedock.info/mod/1245/Ablative-Airbrake

Also Mk2/Mk3 Stockalike Expansion have it's set of big Airbrakes that doesn't work with the latest version.
I think the problem is with any part that has the "ModuleAeroSurface" Module, and also the "defaultActionGroup = Brakes" and the way AECS handles this differently to a normal control surface.

Link to comment
Share on other sites

2 hours ago, Overlocker96 said:

This is the mod: https://spacedock.info/mod/1245/Ablative-Airbrake

Also Mk2/Mk3 Stockalike Expansion have it's set of big Airbrakes that doesn't work with the latest version.
I think the problem is with any part that has the "ModuleAeroSurface" Module, and also the "defaultActionGroup = Brakes" and the way AECS handles this differently to a normal control surface.

Ok, I've been able to replicate this using a stock airbrake, will see what's going on 

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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...