Bug #3872
Updated by sal_vager almost 9 years ago
+Updated for 1.0.5+
The reproduce steps don't involve the save button. (The save button is not the only way to save a ship.) You can still save an empty ship in 1.0.5 by pressing "Enter" in the ship name input box in the VAB.
Although it doesn't break the Load button like before (as I reported originally), it still throws errors and exceptions to the logfile.
Try these revised instructions for 1.0.5:
Create a new sandbox game.
Enter the VAB.
Make sure this is a new "Untitled Space Craft" with no parts.
Click on the name of the ship (top center of screen)
Rename to "emptytest1"
Press the "Enter" key. This will save the empty ship, despite the "Save" button being greyed out.
Click "Load" and load the Dynawing (stock) model.
Click "Load" again, and load the "emptytest1" model by double-clicking "emptytest1" in the list. This will fail, and the GUI event (double click) will bubble up to the VAB editor, and grab part of the Dynawing ship for part placement.
*What happens:* It is possible to save an empty (no parts) craft in the VAB, even when the "Save" button is disabled. This prevents the VAB "Load" button from functioning until the bad file is deleted.
*How to reproduce:*
* Enter the VAB.
* Click the "New" button. Do not add any parts to the craft.
* Click on the name of the craft ("Untitled Space Craft")
* Press the "Enter" key. This saves the (empty) craft, even though the "Save" button is disabled.
* Click the "Load" button. The load dialog will not appear, and an exception is logged to KSP.log.
*Error log:*
<pre>
[ERR 17:26:05.606] [ShipTemplate]: Could not locate root part in Untitled Space Craft as 0 entries remain after eliminating all parts
listed as children. This is probably wrong.
[EXC 17:26:05.606] NullReferenceException: Object reference not set to an instance of an object
ShipTemplate.SetIfControllable ()
ShipTemplate.LoadShip (.ConfigNode root)
CraftBrowser+^O^K..ctor (System.IO.FileInfo ^A)
CraftBrowser.buildCraftList ()
CraftBrowser..ctor (Rect rect, EditorFacility facility, System.String profile, System.String title, .SelectedCallback onFileSelected,
.CancelledCallback onCancel, UnityEngine.GUISkin guiSkin, UnityEngine.Texture2D fileIcon, Boolean showFlagButton)
EditorLogic.loadShip ()
</pre>
The reproduce steps don't involve the save button. (The save button is not the only way to save a ship.) You can still save an empty ship in 1.0.5 by pressing "Enter" in the ship name input box in the VAB.
Although it doesn't break the Load button like before (as I reported originally), it still throws errors and exceptions to the logfile.
Try these revised instructions for 1.0.5:
Create a new sandbox game.
Enter the VAB.
Make sure this is a new "Untitled Space Craft" with no parts.
Click on the name of the ship (top center of screen)
Rename to "emptytest1"
Press the "Enter" key. This will save the empty ship, despite the "Save" button being greyed out.
Click "Load" and load the Dynawing (stock) model.
Click "Load" again, and load the "emptytest1" model by double-clicking "emptytest1" in the list. This will fail, and the GUI event (double click) will bubble up to the VAB editor, and grab part of the Dynawing ship for part placement.
*What happens:* It is possible to save an empty (no parts) craft in the VAB, even when the "Save" button is disabled. This prevents the VAB "Load" button from functioning until the bad file is deleted.
*How to reproduce:*
* Enter the VAB.
* Click the "New" button. Do not add any parts to the craft.
* Click on the name of the craft ("Untitled Space Craft")
* Press the "Enter" key. This saves the (empty) craft, even though the "Save" button is disabled.
* Click the "Load" button. The load dialog will not appear, and an exception is logged to KSP.log.
*Error log:*
<pre>
[ERR 17:26:05.606] [ShipTemplate]: Could not locate root part in Untitled Space Craft as 0 entries remain after eliminating all parts
listed as children. This is probably wrong.
[EXC 17:26:05.606] NullReferenceException: Object reference not set to an instance of an object
ShipTemplate.SetIfControllable ()
ShipTemplate.LoadShip (.ConfigNode root)
CraftBrowser+^O^K..ctor (System.IO.FileInfo ^A)
CraftBrowser.buildCraftList ()
CraftBrowser..ctor (Rect rect, EditorFacility facility, System.String profile, System.String title, .SelectedCallback onFileSelected,
.CancelledCallback onCancel, UnityEngine.GUISkin guiSkin, UnityEngine.Texture2D fileIcon, Boolean showFlagButton)
EditorLogic.loadShip ()
</pre>