Jump to content

[1.9+] Signal Delay 0.2.13 (2020-08-21) - signal delay & background antenna EC consumption


garwel

Recommended Posts

On 5/1/2020 at 7:20 PM, garwel said:

I've never played with CommNet Constellation, to be honest, so I have no idea how they worked together in the past. If CNC does something serious to CommNet, it is quite possible that Signal Delay breaks. I'll look into it, when I have time. Thanks for letting me know.

Hi, I pinpointed to the mod conflict to the CommNetVessel class.

SignalDelay implemented own CommNetVessel subclass, SignalDelayVesselModule, but CNC has own CommNetVessel subclass, CNCCommNetVessel.

Due to the way KSP's CommNet runs, only 1 class of CommNetVessel can be allowed at a time, resulting in all vessels having SignalDelayVesselModule in the reporter's play session. This causes problems on CNC side as it can't find CNCCommNetVessel in a vessel.

Unfortunately, there is no easy resolution to the 1-class problem.

Edited by TaxiService
Link to comment
Share on other sites

This is kind of a trivia/implementation question, but I've seen some people discussing how hard it is to implement signal delay with a bunch of different mods - ergo part modules - as you need to capture and cache each of their actions (deployable science from DMagic, starting or configuring KSPI/NF reactors and engines, and so on) via hardcoding.

Is this accurate, or could I expect Signal Delay to play well with a lot of different mods? I can test it, but I wanted to know beforehand how it'd work.

Link to comment
Share on other sites

3 hours ago, Tonas1997 said:

This is kind of a trivia/implementation question, but I've seen some people discussing how hard it is to implement signal delay with a bunch of different mods - ergo part modules - as you need to capture and cache each of their actions (deployable science from DMagic, starting or configuring KSPI/NF reactors and engines, and so on) via hardcoding.

Is this accurate, or could I expect Signal Delay to play well with a lot of different mods? I can test it, but I wanted to know beforehand how it'd work.

It is indeed difficult to catch, store and then "replay" all possible actions, including PAW actions. This mod was originally created as a stopgap solution until RemoteTech starts supporting CommNet, so I decided to just leave such tricky things alone. It mostly intercepts keyboard input for known game commands, and that includes action groups. You can "cheat" by, for example, just right-clicking a part and selecting a desired action, and it will run without delay (there is also an option to disable PAW menus altogether, if you don't trust yourself). I try to map all important actions to action groups, which are properly delayed.

That being said, I may one day try to add support for part actions, because my knowledge of C# and modding has improved. But no promises.

7 hours ago, TaxiService said:

Hi, I pinpointed to the mod conflict to the CommNetVessel class.

SignalDelay implemented own CommNetVessel subclass, SignalDelayVesselModule, but CNC has own CommNetVessel subclass, CNCCommNetVessel.

Due to the way KSP's CommNet runs, only 1 class of CommNetVessel can be allowed at a time, resulting in all vessels having SignalDelayVesselModule in the reporter's play session. This causes problems on CNC side as it can't find CNCCommNetVessel in a vessel.

Unfortunately, there is no easy resolution to the 1-class problem.

Thank you, I'll add a warning.

Link to comment
Share on other sites

  • 3 months later...

Signal Delay 0.2.12

  • Compiled for KSP 1.9.1. Compatibility with KSP 1.8 is untested
  • Added: Support for Kerbalism and Near Future Exploration
  • Fixed: Action groups including SAS, RCS etc. stopped working in KSP 1.9
  • Fixed: Main throttle could be made negative causing funny things
  • Fixed: Main throttle could suddenly change when signal was lost
  • Major code refactoring

Download here

Link to comment
Share on other sites

  • 3 months later...
  • 6 months later...
On 5/14/2020 at 9:59 AM, TaxiService said:

Hi, I pinpointed to the mod conflict to the CommNetVessel class.

SignalDelay implemented own CommNetVessel subclass, SignalDelayVesselModule, but CNC has own CommNetVessel subclass, CNCCommNetVessel.

Due to the way KSP's CommNet runs, only 1 class of CommNetVessel can be allowed at a time, resulting in all vessels having SignalDelayVesselModule in the reporter's play session. This causes problems on CNC side as it can't find CNCCommNetVessel in a vessel.

Unfortunately, there is no easy resolution to the 1-class problem.

Would this thing I found in ckan be a viable solution?

https://spacedock.info/mod/1529/CommNet Manager

Link to comment
Share on other sites

11 hours ago, Errol said:

Would this thing I found in ckan be a viable solution?

https://spacedock.info/mod/1529/CommNet Manager

Yes, there is now the final beta of CommNet Constellation on top of CommNet Manager. I am waiting for my pull request of a fix to be accepted into CommNet Manager before an official release can be dropped.

Looking at the codebase of Signal Delay, only 1 change needed to get on CommNet Manager is from CommNetVessel to CommNetManagerAPI.ModularCommNetVesselComponent and recompile against CommNetManagerAPI

Link to comment
Share on other sites

1 hour ago, TaxiService said:

Yes, there is now the final beta of CommNet Constellation on top of CommNet Manager. I am waiting for my pull request of a fix to be accepted into CommNet Manager before an official release can be dropped.

Looking at the codebase of Signal Delay, only 1 change needed to get on CommNet Manager is from CommNetVessel to CommNetManagerAPI.ModularCommNetVesselComponent and recompile against CommNetManagerAPI

@garwel This doesn't sound too difficult. Do you mind implementing this and bundling with commNet Manager?

Link to comment
Share on other sites

  • 1 year later...
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...