Hello to the team,
I've been struggling with this error since I've downloaded WillowTree#. It happens everytime I try to open a save:
System.IO.FileFormatException: Input file is not a WSG (platform is Not WSG).
à WillowTree.WillowSaveGame.LoadWSG(String inputFile)
à WillowTree.WillowTreeMain.Open_Click(Object sender, EventArgs e)
à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
à System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
à System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
à System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ToolStrip.WndProc(Message& m)
à System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
à System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
à WillowTree.Program.Main(
In case, here's the save I'm tryong to open:
There's nothing wrong with your save file. I opened it just fine in the latest version of WT# (2.3.0.297). Your character was named Exymat and he is a level 11 hunter with 4 weapons and 2 items.
What version of Windows are you trying to run WT# on?
I notice that there is a character that I do not recognize at the beginning of each line of your crash report. What language is your Windows?
Last edit: matt911 2019-04-12
I think the problem might be that your Windows version is in another language that stores characters differently from the English version of Windows.
I have changed WillowTree# to compare the bytes to explicit byte codes instead of characters. Test this and let me know the result. It may take a few minutes for the link to be active as I just uploaded it.
https://sourceforge.net/projects/willowtree/files/2.3/WillowTree%23-2.3.0.298.zip/download
Hey, im having the same issue
System.IO.FileFormatException: Input file is not a WSG (platform is Not WSG).
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()
Doesnt let me open a save file from my PS4 any ideas?
There exists third party software for the PC to manipulate the signed and encrypted PS4 package files to allow you to extract the data , change the data inside, and re-sign and re-encrypt the PS4 package files. It is called Save Max PS4 I think. It is a commercial program that costs $60. I don't own it and I haven't ever used it, so I can't provide you any detailed instructions on its use and I can't tell you for sure whether it will allow you to edit PS4 savegames with WT# or not.
The same sort of software exists for PS3 and Xbox 360, but on those platforms the programs that can do it are available for free (utilities such as Modio, Horizon, and XTAF Explorer 360 ). I have used those and I can verify that they work to allow you to extract Borderlands classic savegame files that are compatible with WillowTree# and they can re-inject the modified save files back into the packages and re-sign them after you have edited it to authenticate the package file to allow it to work on your PS3 or Xbox 360.
IF you can edit PS4 save files on the PC you would have to extract the data from the save file with Save Max PS4 (or some other similar tool), then open that file in WillowTree#. You would then edit the file then use Save Max PS4 to put the modified data back into the package file on the USB drive and re-sign it so it will be authenticated for your own console. Unfortunately I have no way to test this myself because I don't have PS4 Save Max, I don't have a PS4, and I don't own Borderlands Enhanced for the PS4 so unless someone else who owns all three attempts it and reports back I can neither confirm nor deny whether it is possible to edit PS4 savegames with WT#.
If you attempt to directly open one of the the files you find on your USB drive without using some kind of tool like Save Max PS4, then that is not the save file that WT# needs. It does contain the save file, but its compressed or encrypted in there in some fashion that WT# has no way to use. It needs to be converted to its unencrypted, uncompressed form for WT# to use it. In that case WT will crash and it will tell you that the file is "Not a WSG", since it doesn't begin with three bytes that correspond to the letters "WSG" as a non-ecrypted and non-compressed save file should.