Jump to content

[WIP] [1.12.x] MOARdV's Avionics Systems - MAS Interactive IVA! (v1.3.7, 7 April 2023)


MOARdV

Recommended Posts

11 hours ago, JonnyOThan said:

You and RPM did this for me, so thank *you*!

And I also.

I love IVA mods, and in particular MAS ones, but found it so tedious to get the right combination of IVA installed that I suddenly remembered a speaker I once heard: "Don't work on what you love, fix what annoys you." - so I scoured forum posts, and found nuggets of various ideas, read up on B9PS and built Reviva so now everyone can change IVA at any time and try them all out.

Link to comment
Share on other sites

I am experiencing a bug when using your mod with the Konstruction mod. Specifically with the Konfabricator part.
Whenever the Konfabricator is part of a vessel or station, if any Kerbal tries to EVA, it gives the" [Avionics System] Initialization Error, Read Message Log" error. The screen shows completely black. If I zoom to map mode, the map is so dark I can only see vessels.
Coming out of map mode shows the craft again but the map stays broken until I switch vessels.
I tried experimenting with different parts and command units and the problem only occurs when I add the Konfabricator to the vessel
I'm about to test your previous release before the recent update to see if the same error happens
 

Link to comment
Share on other sites

On 4/8/2023 at 8:26 AM, 610yesnolovely said:

And I also.

I love IVA mods, and in particular MAS ones, but found it so tedious to get the right combination of IVA installed that I suddenly remembered a speaker I once heard: "Don't work on what you love, fix what annoys you." - so I scoured forum posts, and found nuggets of various ideas, read up on B9PS and built Reviva so now everyone can change IVA at any time and try them all out.

And I should have included you in the "Thank You".  Reviva is a feature that the modded KSP IVA experience needs, and it was on the MAS to-do list for a long time (issue #248 that I opened 4 years ago, and closed last year thanks to you).  Reviva is easily as important as RPM and MAS, since it allows different modders to come up with their own interpretations of the IVA experience, without the player having to choose only one of those options.

Link to comment
Share on other sites

  • 2 months later...

Hello, I'm pretty new to ksp forums, but i've trying mods for ksp for quite a long time and recently i decided to make my own IVA for some cockpits. I got most of my tools setup, and I've already started creating the Iva itself, although for now mostly testing the different props and such.

I wanted ask what is the difference between the _apex props and basic MAS props. I've looked over some of them but for example haven't found a difference between the apex HSI and normal HSI.
I also was a bit through the FMS MFDs and systems and since there were a few buttons ubound to a page or action, I wanted ask with which mods does the MAS mod interact with?

thanks for any replies

Link to comment
Share on other sites

  • 3 weeks later...

Is there any sort of known issue with this mod where having a large number of props onscreen in an IVA may cause text on a TEXT_LABEL to flicker? I have an IVA that's up to almost 400 props and noticed that the text renders fine on my few-mods test installation but flickers heavily on my 100+ mods career installation. If I zoom in really far so that only a few props with text are on the screen, then they stop flickering. Nothing else flickers either, it's purely TEXT_LABEL things.

Just wondering if it's as simple as me adding too many props on an installation that's already loaded down with mods or if I should bother with trying to triage a possible mod conflict.

Edited by Sovetskysoyuz
Link to comment
Share on other sites

On 7/30/2023 at 8:03 PM, Sovetskysoyuz said:

Is there any sort of known issue with this mod where having a large number of props onscreen in an IVA may cause text on a TEXT_LABEL to flicker? I have an IVA that's up to almost 400 props and noticed that the text renders fine on my few-mods test installation but flickers heavily on my 100+ mods career installation. If I zoom in really far so that only a few props with text are on the screen, then they stop flickering. Nothing else flickers either, it's purely TEXT_LABEL things.

Just wondering if it's as simple as me adding too many props on an installation that's already loaded down with mods or if I should bother with trying to triage a possible mod conflict.

I wouldn’t be surprised if you were hitting some kind of internal unity limit. I recently added some optimizations to RPM that can batch labels together from different props into a single draw call.  Do you have RPM installed or not?  If you do, the batching system might be causing it.  And if you don’t, the batching system might fix the issue (but it causes other problems with MAS so depending on what iva and props you’re using that might not work).

Link to comment
Share on other sites

1 hour ago, JonnyOThan said:

I wouldn’t be surprised if you were hitting some kind of internal unity limit. I recently added some optimizations to RPM that can batch labels together from different props into a single draw call.  Do you have RPM installed or not?  If you do, the batching system might be causing it.  And if you don’t, the batching system might fix the issue (but it causes other problems with MAS so depending on what iva and props you’re using that might not work).

I have RPM installed but I disabled PropBatching.cfg because it was causing some other errors with MAS props.

That said, it was a few specific props that were giving me errors (mostly using the switchRotary model) so I may try editing PropBatching.cfg to skip those ones and see if it works better.

On another note, is anyone still accepting pull requests into the MAS GitHub in MOARdV's absence? I have a few things that I've been working on that I could put into pull requests:

  • a list of fixes to MAS_ASET props, including implementing the audio warnings and altitude callouts for the MAS_Tablo_Alarm parts;
  • new props, including sets to allow editing maneuver nodes and creating KAC alarms from the IVA;
  • a new module to enable controlling AtmosphereAutopilot with IVA props (not fully implemented, but it works for the cruise mode), based on @Flibble's module that provides AA support in kOS; and
  • compatibility with ProbeControlRoom by resolving issues with uncrewed vessels.
Link to comment
Share on other sites

7 hours ago, Sovetskysoyuz said:

I have RPM installed but I disabled PropBatching.cfg because it was causing some other errors with MAS props.

Heh, I've spent hours trying to figure out why MAS doesn't recognize some transforms in ASET models it used to recognize before. :confused:

Link to comment
Share on other sites

6 hours ago, Sovetskysoyuz said:

Alright, I have a pull request created now. I had to cut out the AtmosphereAutopilot work because it would have created a hard dependency on that mod.

Awesome!  I’m on vacation at the moment but I’ll take a look next week.

You can use reflection to create soft dependencies, or a separate bridge dll with a hard reference and KSPAssemblyDependency attribute (assume AA has a KSPAssembly attribute).  The bridge dll won’t be loaded unless AA is also installed.

Link to comment
Share on other sites

On 8/1/2023 at 5:30 PM, JonnyOThan said:

I wouldn’t be surprised if you were hitting some kind of internal unity limit. I recently added some optimizations to RPM that can batch labels together from different props into a single draw call.  Do you have RPM installed or not?  If you do, the batching system might be causing it.  And if you don’t, the batching system might fix the issue (but it causes other problems with MAS so depending on what iva and props you’re using that might not work).

It turns out the flickering was caused by having Temporal Anti-Aliasing turned on in Scatterer; switching to SMAA has fixed the flickering text. I can't imagine what's causing that interaction for TEXT_LABELs and nothing else.

Edited by Sovetskysoyuz
Link to comment
Share on other sites

2 hours ago, Sovetskysoyuz said:

It turns out the flickering was caused by having Temporal Anti-Aliasing turned on in Scatterer; switching to SMAA has fixed the flickering text. I can't imagine what's causing that interaction for TEXT_LABELs and nothing else.

That's pretty interesting.  TAA works by jittering the camera position by half a pixel each frame and blending with the previous frame.  Most text labels are so close to the surface that small changes in depth can cause z-fighting...you can also see a similar artifact in engine bells with waterfall.  I'm not quite sure why it's specific to those instances but it might be fixable.  Thanks for the info!

Link to comment
Share on other sites

  • 4 weeks later...

Hey @MOARdV!

So I am currently making another revamp for my dragon IVA and I really want to get some screens working.

I found this website which shows all the various UI they use!
https://www.shanemielke.com/work/spacex/crew-dragon-displays/

Maybe this might help you to get some ideas as to how they show certain stuff. Those screens are 16:9 which I've already modeled. But now comes the part to actually implement MAS.
Want to try and help me out in getting this working?

Link to comment
Share on other sites

  • 2 months later...

series of ERR spawn causing cockpit view black out and game crash.

[ERR 18:31:37.302] [MASFlightComputer] System.ArgumentException: Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: 'AvionicsSystems.MASFlightComputerProxy+VesselDistanceComparer'.
  at System.Collections.Generic.IntrospectiveSortUtilities.ThrowOrIgnoreBadComparer (System.Object comparer) [0x0000b] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00022] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00048] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Collections.Generic.IComparer`1[T] comparer) [0x0000e] in <9577ac7a62ef43179789031239ba8798>:0 
  at AvionicsSystems.MASFlightComputerProxy.UpdateNeighboringVessels () [0x000f3] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputerProxy.TargetVesselName (System.Double id) [0x00000] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at (wrapper dynamic-method) AvionicsSystems.DynamicMethodFactory.(object,double)
  at (wrapper delegate-invoke) System.Func`3[System.Object,System.Double,System.String].invoke_TResult_T1_T2(object,double)
  at AvionicsSystems.MASFlightComputer+<>c__DisplayClass70_2.<Generate1ParmCallVariable>b__1 () [0x00023] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.StringVariable.Evaluate (System.Boolean invokeCallbacks) [0x00019] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputer.FixedUpdate () [0x00395] in <ff56794a86ce45679e4e44f4fa41242c>:0 

[ERR 18:31:37.302] [MASFlightComputer] FixedUpdate exception on variable (fc.TargetVesselName)(6):

[ERR 18:31:37.303] [MASFlightComputer] System.ArgumentException: Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: 'AvionicsSystems.MASFlightComputerProxy+VesselDistanceComparer'.
  at System.Collections.Generic.IntrospectiveSortUtilities.ThrowOrIgnoreBadComparer (System.Object comparer) [0x0000b] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00022] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00048] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Collections.Generic.IComparer`1[T] comparer) [0x0000e] in <9577ac7a62ef43179789031239ba8798>:0 
  at AvionicsSystems.MASFlightComputerProxy.UpdateNeighboringVessels () [0x000f3] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputerProxy.TargetVesselName (System.Double id) [0x00000] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at (wrapper dynamic-method) AvionicsSystems.DynamicMethodFactory.(object,double)
  at (wrapper delegate-invoke) System.Func`3[System.Object,System.Double,System.String].invoke_TResult_T1_T2(object,double)
  at AvionicsSystems.MASFlightComputer+<>c__DisplayClass70_2.<Generate1ParmCallVariable>b__1 () [0x00023] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.StringVariable.Evaluate (System.Boolean invokeCallbacks) [0x00019] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputer.FixedUpdate () [0x00395] in <ff56794a86ce45679e4e44f4fa41242c>:0 

https://1drv.ms/t/s!AkB1QZc745-WcETV40rBH3ixTRU?e=K9DaPz

Link to comment
Share on other sites

  • 3 weeks later...

Hi,

I'm currently trying to make a MAS retro style Mission Control IVA, but have this little problem : When I add the squared MAS MFD (left one on the pic), the buttons to switch between pages don't work properly, they do a click sound, but the page doesn't change. But If I click, say the RSCR page, then switch vessel or change scene and come back, then the page has switched to the correct page I asked.
The probe part of course has a MASflightcomputer module added.
In other crafts using those MFD (like SABS IVA), they work without any problem.
Any idea what causes that ?

Spoiler

screenshot4.png?ex=657c9a8f&is=656a258f&

KSP log  :https://www.dropbox.com/scl/fi/kur6w8x5e6x3kzl337z7r/KSP.log?rlkey=t7omitqx434l9wlxc26hloat5&dl=0

Can provide the internal of other files if needed,

Thanks ! :) 

EDIT : I ripped off every prop escept those MFD and turned on Verbose logging in MAS for testing, but I couldn't see anything wrong, mmm:

https://www.dropbox.com/scl/fi/5wlxecidqcxtu2y3khq2f/KSP.zip?rlkey=03c8smk90blqeir3t6vkvsdbx&dl=0

EDIT 2 : All the MAS props aren't working, with the same behavior as the MFDs : do sound click, no change, change of state visible on scene change.
So I guess for now MAS is unusable with PCR...! : (

Edited by kurgut
Link to comment
Share on other sites

11 hours ago, kurgut said:

So I guess for now MAS is unusable with PCR...! : (

Could you put all this info in an issue on mas’s github?  And maybe another one on PCR linking to that. Not sure where the bug lies yet. I don’t look at MAS very often but if it’s in there then I’ll remember next time I do.

Link to comment
Share on other sites

  • 4 weeks later...
On 11/12/2023 at 5:04 AM, jebycheek said:

series of ERR spawn causing cockpit view black out and game crash.

[ERR 18:31:37.302] [MASFlightComputer] System.ArgumentException: Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: 'AvionicsSystems.MASFlightComputerProxy+VesselDistanceComparer'.
  at System.Collections.Generic.IntrospectiveSortUtilities.ThrowOrIgnoreBadComparer (System.Object comparer) [0x0000b] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00022] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00048] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Collections.Generic.IComparer`1[T] comparer) [0x0000e] in <9577ac7a62ef43179789031239ba8798>:0 
  at AvionicsSystems.MASFlightComputerProxy.UpdateNeighboringVessels () [0x000f3] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputerProxy.TargetVesselName (System.Double id) [0x00000] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at (wrapper dynamic-method) AvionicsSystems.DynamicMethodFactory.(object,double)
  at (wrapper delegate-invoke) System.Func`3[System.Object,System.Double,System.String].invoke_TResult_T1_T2(object,double)
  at AvionicsSystems.MASFlightComputer+<>c__DisplayClass70_2.<Generate1ParmCallVariable>b__1 () [0x00023] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.StringVariable.Evaluate (System.Boolean invokeCallbacks) [0x00019] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputer.FixedUpdate () [0x00395] in <ff56794a86ce45679e4e44f4fa41242c>:0 

[ERR 18:31:37.302] [MASFlightComputer] FixedUpdate exception on variable (fc.TargetVesselName)(6):

[ERR 18:31:37.303] [MASFlightComputer] System.ArgumentException: Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: 'AvionicsSystems.MASFlightComputerProxy+VesselDistanceComparer'.
  at System.Collections.Generic.IntrospectiveSortUtilities.ThrowOrIgnoreBadComparer (System.Object comparer) [0x0000b] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Collections.Generic.ArraySortHelper`1[T].Sort (T[] keys, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00022] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Int32 index, System.Int32 length, System.Collections.Generic.IComparer`1[T] comparer) [0x00048] in <9577ac7a62ef43179789031239ba8798>:0 
  at System.Array.Sort[T] (T[] array, System.Collections.Generic.IComparer`1[T] comparer) [0x0000e] in <9577ac7a62ef43179789031239ba8798>:0 
  at AvionicsSystems.MASFlightComputerProxy.UpdateNeighboringVessels () [0x000f3] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputerProxy.TargetVesselName (System.Double id) [0x00000] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at (wrapper dynamic-method) AvionicsSystems.DynamicMethodFactory.(object,double)
  at (wrapper delegate-invoke) System.Func`3[System.Object,System.Double,System.String].invoke_TResult_T1_T2(object,double)
  at AvionicsSystems.MASFlightComputer+<>c__DisplayClass70_2.<Generate1ParmCallVariable>b__1 () [0x00023] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.StringVariable.Evaluate (System.Boolean invokeCallbacks) [0x00019] in <ff56794a86ce45679e4e44f4fa41242c>:0 
  at AvionicsSystems.MASFlightComputer.FixedUpdate () [0x00395] in <ff56794a86ce45679e4e44f4fa41242c>:0 

https://1drv.ms/t/s!AkB1QZc745-WcETV40rBH3ixTRU?e=K9DaPz

@JonnyOThan I'm having the same issue as @jebycheek above.  I was using the MK2POD_ASET_IVA_Internal_MAS IVA on the Mk2Pod.  KSP completely freezes after my booster tanks are empty and stage away both times.  One time I was in the IVA, and one time I was watching from an external camera.  Both times start spamming the "[MASFlightComputer] FixedUpdate exception on variable (fc.TargetVesselName)" error seen above. 

Here is the KSP.log... https://drive.google.com/file/d/15EXQplriPc64nOw0CqoHCDHMTjRB3ugF/view?usp=drive_link

MOAR importantly, here is the player.log... https://drive.google.com/file/d/1uEtRfZcf5jmeOTzCKPp24tY-sPdwsj1C/view?usp=drive_link

Thanks!

Link to comment
Share on other sites

1 hour ago, orionguy said:

@JonnyOThan I'm having the same issue as @jebycheek above.  I was using the MK2POD_ASET_IVA_Internal_MAS IVA on the Mk2Pod.  KSP completely freezes after my booster tanks are empty and stage away both times.  One time I was in the IVA, and one time I was watching from an external camera.  Both times start spamming the "[MASFlightComputer] FixedUpdate exception on variable (fc.TargetVesselName)" error seen above. 

Here is the KSP.log... https://drive.google.com/file/d/15EXQplriPc64nOw0CqoHCDHMTjRB3ugF/view?usp=drive_link

MOAR importantly, here is the player.log... https://drive.google.com/file/d/1uEtRfZcf5jmeOTzCKPp24tY-sPdwsj1C/view?usp=drive_link

Thanks!

Hey I think this is tracked here: I'll be sure to fix this next time I take a look at MAS but not sure when that will be.  https://github.com/MOARdV/AvionicsSystems/issues/370

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