Hello and thank you everyone who worked on this wonderful application over
the years, I was going to give it a go today and I managed to get my
xbox360 save file copied over to my PC. I then proceeded to load up
WillowTree# and when I tried to load up my save file I was greeted by this
error.
WillowTree# failed due to an unhandled exception.
System.IO.InvalidDataException: String was not properly terminated with a
null character.
at WillowTree.WillowSaveGame.ReadString(BinaryReader reader, ByteOrder
endian)
at WillowTree.WillowSaveGame.ReadQuests(BinaryReader reader, ByteOrder
EndianWSG)
at WillowTree.WillowSaveGame.ReadWSG(Stream fileStream)
at WillowTree.WillowSaveGame.LoadWSG(String inputFile)
at WillowTree.WillowTreeMain.Open_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,
Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at WillowTree.Program.Main()
I am using 2.4.0.312, I tried using older versions as well with no avail. I
scoured the sourceforge discussions for a bit now and found no posts
referring to this error message, hence why I am reaching out to start a new
discussion with hopes of solving the issue. I also did try running the
program as administrator and in compatibility modes but still nothing. Can
someone help me out here?
It looks to me like the string that is supposed to have the name or description of a quest doesn't end with a null character as it is expected to if the save file is not corrupt. This could be caused by someone manually editing the file incorrectly or the save file becoming corrupted somehow, possibly even caused by an older version of WT# even that didn't understand the file format completely.
1) Is this a save file that you have modified or one that has never been edited or modified?
2) Did the save file still load properly in Borderlands on your Xbox 360 before you exported it?
3) Does this happen on all your save files or just on this one?
WT# was originally designed on PC. I tested it with as many Xbox 360 and PS3 save files as I had available and it seemed to work with all of them I had, but the majority of testing was performed on PC save files. There might still be some format peculiarity that I'm unaware of that would cause an Xbox 360 save file to be misunderstood.
If you would like to provide a copy of the save file I will look further into the matter and see if the file looks corrupt by looking at it in a hex editor and tracing the execution in WT# to see exactly which bytes are causing WT# to fail. That will enable me to figure out if there is a bug that could be fixed in WT# to enable it to be read correctly or see if the save file might be manually repaired through my knowledge of the file format.
To provide a copy of the save file you can e-mail it as an e-mail attachment to my SourceForge email address (matt911@users.sf.net), or you can open a support ticket and upload the file as an attachment to the ticket, or you could attach it here, or you could upload it somewhere on a file sharing website like MegaUpload. Google Drive, or Dropbox or and e-mail a link to me.
I haven't really done much with WT# or Borderlands in several years, but I think I can remember enough to figure out what is going on here if I take a look at the file that is causing the issue.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello and thank you everyone who worked on this wonderful application over
the years, I was going to give it a go today and I managed to get my
xbox360 save file copied over to my PC. I then proceeded to load up
WillowTree# and when I tried to load up my save file I was greeted by this
error.
WillowTree# failed due to an unhandled exception.
System.IO.InvalidDataException: String was not properly terminated with a
null character.
at WillowTree.WillowSaveGame.ReadString(BinaryReader reader, ByteOrder
endian)
at WillowTree.WillowSaveGame.ReadQuests(BinaryReader reader, ByteOrder
EndianWSG)
at WillowTree.WillowSaveGame.ReadWSG(Stream fileStream)
at WillowTree.WillowSaveGame.LoadWSG(String inputFile)
at WillowTree.WillowTreeMain.Open_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,
Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32
reason, ApplicationContext context)
at WillowTree.Program.Main()
I am using 2.4.0.312, I tried using older versions as well with no avail. I
scoured the sourceforge discussions for a bit now and found no posts
referring to this error message, hence why I am reaching out to start a new
discussion with hopes of solving the issue. I also did try running the
program as administrator and in compatibility modes but still nothing. Can
someone help me out here?
Hi, I am the current lead developer of WT#.
It looks to me like the string that is supposed to have the name or description of a quest doesn't end with a null character as it is expected to if the save file is not corrupt. This could be caused by someone manually editing the file incorrectly or the save file becoming corrupted somehow, possibly even caused by an older version of WT# even that didn't understand the file format completely.
1) Is this a save file that you have modified or one that has never been edited or modified?
2) Did the save file still load properly in Borderlands on your Xbox 360 before you exported it?
3) Does this happen on all your save files or just on this one?
WT# was originally designed on PC. I tested it with as many Xbox 360 and PS3 save files as I had available and it seemed to work with all of them I had, but the majority of testing was performed on PC save files. There might still be some format peculiarity that I'm unaware of that would cause an Xbox 360 save file to be misunderstood.
If you would like to provide a copy of the save file I will look further into the matter and see if the file looks corrupt by looking at it in a hex editor and tracing the execution in WT# to see exactly which bytes are causing WT# to fail. That will enable me to figure out if there is a bug that could be fixed in WT# to enable it to be read correctly or see if the save file might be manually repaired through my knowledge of the file format.
To provide a copy of the save file you can e-mail it as an e-mail attachment to my SourceForge email address (matt911@users.sf.net), or you can open a support ticket and upload the file as an attachment to the ticket, or you could attach it here, or you could upload it somewhere on a file sharing website like MegaUpload. Google Drive, or Dropbox or and e-mail a link to me.
I haven't really done much with WT# or Borderlands in several years, but I think I can remember enough to figure out what is going on here if I take a look at the file that is causing the issue.