Jump to content

[KSP 1.12.3] Bon Voyage (1.4.1) - 2022-10-02


maja

Recommended Posts

22 minutes ago, maja said:

Version 0.13.3

Do you have a pointer to that download or instructions for same?  The version I'm seeing on SpaceDock says it is for 1.5 and chides me for loading it on 1.4 and indeed does not run.

Link to comment
Share on other sites

2 minutes ago, Hotel26 said:

Do you have a pointer to that download or instructions for same?  The version I'm seeing on SpaceDock says it is for 1.5 and chides me for loading it on 1.4 and indeed does not run.

Switch to Changelog tab. There are all uploaded versions.

Link to comment
Share on other sites

  • 3 weeks later...

@maja There is a bug in 1.6.0 & 1.6.1 that can lock up the parts menu in the VAB if a bulkheadProfiles isn't defined for each part. The following thread discusses it.

The Bon Voyage Module needs bulkheadProfiles = srf added to the file: GameData\BonVoyage\Parts\part.cfg



Edited by Tonka Crash
Link to comment
Share on other sites

Just now, maja said:

@Tonka Crash Thanks for the information. I have a little break from modding until the end of month, so I didn't tested BV in 1.6.x yet.

It's not a rush, Bon Voyage otherwise works fine in 1.6.1. I've circumnavigated Duna over the last couple weeks using it. Even with the problem users won't see it unless they try to sort parts by cross-section in the VAB. I'm just notifying every mod I use that has this issue.

Link to comment
Share on other sites

  • 3 weeks later...

Haha :D found a funny one. I've just updated from KSP 1.4.5 to 1.6.1 directly.

  • Bon voyage was 0.13.3.0 on KSP 1.4.5.
  • -> Updated it to 0.14.3.0 on KSP 1.6.1 and copied my save files from there (all the content from the KSP\saves folder).

The BonVoyage controller part disappeared from all my rovers :D:D Subsequently, the rovers disappeared from the BonVoyage toolbar panel too.

 

So I tested it from the VAB:

  • build a simple rover,
  • launched it on Launch Pad at KSC,
  • right-clicked on the BonVoyage controller part on the roof of my Rover,
  • left-clicked on the "open BV control panel". Nothing happened. Not even a trace in the log (I left the alt-F12 console open at the time).
  • Then I opened the BV panel from the toolbar and clicked on "reload BV controller", popped exceptions as described below.

 

Here is the log: (tests start on line 12238 and ends on line 12308) https://www.dropbox.com/s/3gzeop5dpwi1zd8/KSP.log.zip?dl=0

Look at lines 12252 and 12266: when I click "on reload BV controller" from the toolbar's BonVoyage control panel, the exceptions in the log happen (I clicked 2 times, waiting a few seconds between the 2 attempts).

Here is the config.xml content :

Spoiler

<?xml version="1.0" encoding="utf-8"?>
<config>
    <bool name="firstRun">0</bool>
    <byte name="skin">0</byte>
    <bool name="kspToolbar">1</bool>
    <bool name="toolbarContinued">0</bool>
    <vector2 name="mainWindow">
        <x>0.214062497</x>
        <y>0.499074072</y>
    </vector2>
    <bool name="activeControllers">1</bool>
    <bool name="disabledControllers">1</bool>
    <bool name="dewarp">0</bool>
</config>

 

I've tried deleting and reinstalling the BonVoyage mod clean but to no avail O_o weird huh?

Edited by SnakyLeVrai
Link to comment
Share on other sites

@SnakyLeVrai Try to set firstRun in config to 1, open KSP, load a save, save it or change scene to propagate changes and then try it again. There is some rover with wrong path data, which is messing the loading. The firstRun resets all BV modules.

Edited by maja
Link to comment
Share on other sites

@majaThanks for your answer.

That's very weird. Let me put some order into this:

  1. The firstRun = 1 thing:
    1. set the flag to 1,
    2. launch KSP, load my save,
    3. go to tracking station without clicking on the BV controller in the toolbar,
    4. select one of my rovers with a BV part and switch to it,
    5. the part is present on the rover so, I right-click it, try to open the BV panel but it does not open,
    6. I open the panel from the toolbar and the window is empty (I should have a dozen rovers in the list but none shows up). I've got the same exceptions in the log:
    7. Spoiler

      [EXC 19:46:49.609] FormatException: Invalid length.
          System.Convert.FromBase64String (System.String s)
          BonVoyage.PathUtils.DecodePath (System.String pathEncoded)
          BonVoyage.BVController..ctor (.Vessel v, .ConfigNode module)
          BonVoyage.RoverController..ctor (.Vessel v, .ConfigNode module)
          BonVoyage.BonVoyage.LoadControllers ()
          BonVoyage.MainWindowModel.ReloadVesselList ()
          UnityEngine.Events.InvokableCall.Invoke ()
          UnityEngine.Events.UnityEvent.Invoke ()
          UnityEngine.UI.Button.Press ()
          UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData)
          UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
          UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
          UnityEngine.EventSystems.EventSystem:Update()

    8. So, I go back to SpaceCenter and open the BV panel from the toolbar.
    9. List is still empty, so I click on Reload BV controller,
    10. I get this in the log:
    11. Spoiler

      [ERR 19:47:13.174] Exception handling event onNewGameLevelLoadRequestWasSanctionedAndActioned in class BonVoyage:System.FormatException: Invalid length.
        at (wrapper managed-to-native) System.Convert:InternalFromBase64String (string,bool)
        at System.Convert.FromBase64String (System.String s) [0x00000] in <filename unknown>:0 
        at BonVoyage.PathUtils.DecodePath (System.String pathEncoded) [0x00000] in <filename unknown>:0 
        at BonVoyage.BVController..ctor (.Vessel v, .ConfigNode module) [0x00000] in <filename unknown>:0 
        at BonVoyage.RoverController..ctor (.Vessel v, .ConfigNode module) [0x00000] in <filename unknown>:0 
        at BonVoyage.BonVoyage.LoadControllers () [0x00000] in <filename unknown>:0 
        at BonVoyage.BonVoyage.OnLevelWasLoaded (GameScenes scene) [0x00000] in <filename unknown>:0 
        at EventData`1[GameScenes].Fire (GameScenes data) [0x00000] in <filename unknown>:0 

      [EXC 19:47:13.174] FormatException: Invalid length.
          System.Convert.FromBase64String (System.String s)
          BonVoyage.PathUtils.DecodePath (System.String pathEncoded)
          BonVoyage.BVController..ctor (.Vessel v, .ConfigNode module)
          BonVoyage.RoverController..ctor (.Vessel v, .ConfigNode module)
          BonVoyage.BonVoyage.LoadControllers ()
          BonVoyage.BonVoyage.OnLevelWasLoaded (GameScenes scene)
          EventData`1[GameScenes].Fire (GameScenes data)
          UnityEngine.Debug:LogException(Exception)
          EventData`1:Fire(GameScenes)
          <FireLoadedEvent>c__Iterator1:MoveNext()
          UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

       

    12. I gave up and quit to try something else...
  2. I thought the problem was linked to the fact one of my rovers was still on the move.
    1. Back in 1.4.5, I wait for the rover to stop, make sure every rover is still, I save and quit,
    2. firstRun = 1 in config.xml,
    3. launch KSP 1.6.1, load save, no change, still the same problems :(
    4. I quit and try something else...
  3. In old KSP 1.4.5 (with BonVoyage 0.13.3.0),
    1. I create a brand new sandbox career and a simple rover with a BV controller. I launch it and leave it next to the KSC Runway...
    2. I quit, launch KSP 1.6.1 (BonVoyage 0.14.3.0 , firstRun = 0 this time), load my brand new save,
    3. Everything works: the panel opens from the right click menu of the BV part, the rover is available in the BV panel from the flight view and the Spacecenter.
    4. mind blown O_o

 

Are there dependencies to other mods I should worry about? (mandatory ones, incompatibilities?)
Or is there any influence from other parameters? (if COMMNET is activated or not? other?)
 

When you mention "some rover with wrong path data, which is messing the loading", is there something I could do to right this? (like hand-editing a save? it doesn't scare me,  I can do it).

This is all so strange :D

 

Link to comment
Share on other sites

11 minutes ago, SnakyLeVrai said:

When you mention "some rover with wrong path data, which is messing the loading", is there something I could do to right this? (like hand-editing a save? it doesn't scare me,  I can do it).

This is all so strange :D

 

Find all BonVoyage modules in the save file and delete a string after "pathEncoded =". It's encoded path of a rover. The exception complains about invalid length of that path string. If you can put your save file somewhere, I look into it. My little break from KSP modding is over, so I'm back in business :)

Link to comment
Share on other sites

1 hour ago, maja said:

Find all BonVoyage modules in the save file and delete a string after "pathEncoded =". It's encoded path of a rover. The exception complains about invalid length of that path string. If you can put your save file somewhere, I look into it. My little break from KSP modding is over, so I'm back in business :)

Yay! Give this Kerbal a cigar! :cool:

It works like a charm now. I had 2 rovers out of 12 with a path in it. Deleted it, loaded, now it works. I can still upload the save file if you want to review it. As far as I am concerned, the issue is solved.

Thanks a lot for your help and for maintaining this gem of a mod :D

Link to comment
Share on other sites

  • 3 weeks later...

Hi guys,

Can anyone help my to try and troubleshoot this error message in the log file? I've tried all the suggested solutions and I still cannot open the BV panel :/

Is it a mod that's conflicting with BV? Here is the error log:

[LOG 16:09:54.426] [AutoSave]: Game Backed Up and Saved
[EXC 16:10:06.984] NullReferenceException: Object reference not set to an instance of an object
	BonVoyage.KopernicusWrapper.GetCurrentStarName ()
	BonVoyage.Tools.GetMainStar (.Vessel v)
	BonVoyage.BVController.SystemCheck ()
	BonVoyage.RoverController.SystemCheck ()
	BonVoyage.ControlWindowModel.SetController (BonVoyage.BVController controller)
	BonVoyage.BonVoyage.ShowControlWindow ()
	BonVoyage.BonVoyage.ToggleControlWindow ()
	BonVoyage.BonVoyageModule.BVControlPanel ()
	BaseEvent.Invoke ()
	UIPartActionButton.OnClick ()
	UnityEngine.Events.InvokableCall.Invoke ()
	UnityEngine.Events.UnityEvent.Invoke ()
	UnityEngine.UI.Button.Press ()
	UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData)
	UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
	UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
	UnityEngine.EventSystems.EventSystem:Update()
[LOG 16:10:20.715] ScaleModList: listSize 902 maxListSize 954
[LOG 16:10:22.051] ScaleModList: listSize 902 maxListSize 954
[LOG 16:10:23.109] ScaleModList: listSize 902 maxListSize 954
[LOG 16:10:25.110] ScaleModList: listSize 902 maxListSize 954
[LOG 16:10:25.902] ScaleModList: listSize 902 maxListSize 954
[LOG 16:10:28.655] ScaleModList: listSize 902 maxListSize 954
[EXC 16:10:31.406] NullReferenceException: Object reference not set to an instance of an object
	BonVoyage.KopernicusWrapper.GetCurrentStarName ()
	BonVoyage.Tools.GetMainStar (.Vessel v)
	BonVoyage.BVController.SystemCheck ()
	BonVoyage.RoverController.SystemCheck ()
	BonVoyage.ControlWindowModel.SetController (BonVoyage.BVController controller)
	BonVoyage.BonVoyage.ShowControlWindow ()
	BonVoyage.BonVoyage.ToggleControlWindow ()
	BonVoyage.MainWindowView.ToggleControl ()
	DialogGUIButton.OptionSelected ()
	DialogGUIButton.<Create>m__7 ()
	UnityEngine.Events.InvokableCall.Invoke ()
	UnityEngine.Events.UnityEvent.Invoke ()
	UnityEngine.UI.Button.Press ()
	UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData)
	UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
	UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
	UnityEngine.EventSystems.EventSystem:Update()
[EXC 16:10:39.629] NullReferenceException: Object reference not set to an instance of an object
	BonVoyage.KopernicusWrapper.GetCurrentStarName ()
	BonVoyage.Tools.GetMainStar (.Vessel v)
	BonVoyage.BVController.SystemCheck ()
	BonVoyage.RoverController.SystemCheck ()
	BonVoyage.ControlWindowModel.SetController (BonVoyage.BVController controller)
	BonVoyage.BonVoyage.ShowControlWindow ()
	BonVoyage.BonVoyage.ToggleControlWindow ()
	BonVoyage.BonVoyageModule.BVControlPanel ()
	BaseEvent.Invoke ()
	UIPartActionButton.OnClick ()
	UnityEngine.Events.InvokableCall.Invoke ()
	UnityEngine.Events.UnityEvent.Invoke ()
	UnityEngine.UI.Button.Press ()
	UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData)
	UnityEngine.EventSystems.ExecuteEvents.Execute (IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData)
	UnityEngine.EventSystems.ExecuteEvents.Execute[IPointerClickHandler] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.EventFunction`1 functor)
	UnityEngine.EventSystems.EventSystem:Update()
[LOG 16:11:11.227] [UIMasterController]: ShowUI
[LOG 16:11:11.227] Game Paused!

Thanks in advance!

 

UPDATE:

-----------------------------------

Good news everyone!!! :)  I have fixed my problem! So it looks like the problem was Kopernicus. I had v1.5 and when I downloaded the most up-to-date Kopernicus 1.6.1-2, after setting "firstRun" to 1 in the config.xml, loading the game, then selecting my rover, the BV panel opened!!! YEEAAYY!!!! 
Time to explore some planets :)

Edited by frikon
Link to comment
Share on other sites

40 minutes ago, maja said:

@frikon Kopernicus disables itself when you have a wrong version (it's version locked to KSP version), but BV just detects, that Kopernicus is present, and tries to use it's functions.

Thanks Maja! This mod is beyond awesome and it should be a must have mod!!! Thank you for maintaining it!

Link to comment
Share on other sites

10 minutes ago, Loren Pechtel said:

Aha!  I figured it had to be storing the window somewhere, I was just looking in the wrong area.  That's jut XML, easy enough to edit the window size.

Be advise, that it stores coordinates of oposite window corners. Not width and height.

Edited by maja
Link to comment
Share on other sites

  • 3 weeks later...

^ that's why I don't rush an update. I wanted marine version of BV in the next update, but KSP developers were quicker and pushed another version before I finished it ;)

Edited by maja
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...