[Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, 360 & PS3) [Updated 2020-01-29]

A forum for discussion regarding hacking of the Chao system and editing things with non-standard methods.
Warning! This topic is 3 years and 6 months old! Please consider opening a new topic rather that bumping up this very old post.
Post Reply
Froody
Newborn Chao
Newborn Chao
Posts: 8
Joined: Fri May 03, 2019 2:33 am
Contact:

[Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, 360 & PS3) [Updated 2020-01-29]

Post by Froody »

Hey everyone.

I've created a tool that can be used for modifying your chao and main save files for PC, Gamecube, Xbox 360 and PS3.

Editing PC, Gamecube Xbox 360 & PS3 chao save files, also allows saving of files to either platform allowing for converting platform.
Saving/loading/duplicating individual chao.
Editing PC, Gamecube Xbox 360 & PS3 main save files, also allows saving of files to either platform allowing for converting platform.

Although the application should backup your file, I'd recommend you first back up both of your saves as I can only test by myself so much and can't guarantee that in it's current form it won't do something incorrectly.
If you have any problems or see any issues with the application then please let me know, I'll try to address anything when I have free time.

For more information, credits and source code check out: https://github.com/dfrood/SA2SaveUtility
For the latest release, check here: https://github.com/dfrood/SA2SaveUtility/releases

[2019-05-23] [v0.3.1.0] Added toggle to checking for updates(disabled by default).
[2019-05-24] [v0.3.2.0] Added placeholder items to Chao Colours(to stop errors loading), Completed Chao Texture list, Removed unused Chao Animal Parts.
[2019-05-25] [v0.4.0.0] Auto Update Option, Realistic Evolution Toggle, New Chao World Tab (currently has Set Gardens Unlocked option), Settings now stored in config.xml
[2019-06-02] [v0.4.0.2] Added placeholder egg colours to prevent loading errors until I have all the correct colour names implemented.
[2019-06-05] [v0.4.1.0] Egg Colours no longer use placeholder names, textures are added(only visible in GC version of SA2). Save loading is simplified.
[2019-06-05] [v0.4.2.0] Added ability to Save/Load Fusion's Chao Editor .chao files, prevented ability to save/load/dupe chao when current selected tab isn't a chao(which would cause errors).
[2019-06-05] [v0.4.2.1] Chao Colours are now complete (using colours from Fusion's Chao Editor).
[2019-06-07] [v0.4.3.0] Added ability to edit Held Chao World Items.
[2019-06-07] [v0.4.3.1] Fixed the last update, the held item implementation was broken in multiple ways.
[2019-06-09] [v0.4.4.0] Added ability to edit Black Market items. Fixed broken Gamecube Chao checksum calculating implementation that I broke at some point. Updater will now show latest changelog.
[2019-06-11] [v0.4.5.0] Added Sonic Adventure Animal Behaviours (Animal Behaviours for SA and SA2 are selectable using a tabpage). Corrected endian conversion to include Sonic Adventure Animal Behaviours.
[2019-08-24] [v0.4.5.1] Fix favourite fruit not loading for Chaos Chao. Fix Drum not appearing correctly. Fix Reincarnation and Happiness not applying.
[2019-08-25] [v0.4.5.2] Fix setting unlocked chao gardens.
[2020-01-12] [v0.4.5.3] Fix error in minimum value for Shadow Bond.
[2020-01-16] [v0.4.6.0] Fixed PS3 Main Save Compatibility, other fixes.
[2020-01-17] [v0.5.0.0] Preliminary SADX support, some support for SADX PC Chao Saves (this may work badly, please report any issues).
[2020-01-22] [v0.6.0.1] Added experimental real time memory editing for Chao on SA2 PC (File > Live Editor).
[2020-01-23] [v0.6.1.0] Added chao saving, loading and cloning to Live Editing.
[2020-01-23] [v0.7.0.0] Added experimental real time editing of the Main data for SA2 PC (currently missing: Upgrades, Unlocked Karts, Emblem Time, Play Time). Added missing Emblem editing functionality (was missing Rings and Play Time).
[2020-01-23] [v0.7.1.0] Added character upgrades to Live Editor. Fixed theme's in Live Editor.
[2020-01-24] [v0.7.2.0] Added alt kart unlocks to Live Editor. Added Play Time and Emblem Time to Live Editor. Re-worked application update check system to pull directly from github releases.
[2020-01-29] [v0.7.3.0] Allows auto-updating of values when using the Live Editor.Enable or Disable this feature VIA the "RTE Updates" checkbox.
Checks at an interval of 1000ms (1 second) as defined in the config.xml
This update will reset your config.xml
All chao slots will be selectable even if the slot is empty, you'll then be prompted to select a garden for the chao.
Moved a few things around within the code.
The Live Editor is still in early stages, please backup your saves!
[2020-01-29] [v0.7.4.0] Live Editor will now only load info of currently selected chao (massively reduces CPU usage).If you have a value selected while using the Live Editor it will no longer update that value until it's no longer selected (stops value updating while setting new value).

I've added some support for SADX PC Chao Saves (tested on the steam version of the game), this may not work for you and if you have any issues I'd appreciate it if you could detail your issue so I can resolve it. Including your save file would also help!

Here are some screenshots from the application:
Main:
Spoiler:
Image
Image
Image
Image
Image
Chao:
Spoiler:
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Last edited by Froody on Wed Jan 29, 2020 9:03 pm, edited 12 times in total.
Froody
Newborn Chao
Newborn Chao
Posts: 8
Joined: Fri May 03, 2019 2:33 am
Contact:

Re: [Release] SA2 Save Utility (Save editor/converter for PC, Gamecube, Xbox 360 & PS3) [Updated 2019-05-22]

Post by Froody »

2 major updates today.

Added support for editing main saves (emblems, rings, lives, etc.).
Added support for Gamecube save files (.gci).

Any issues let me know!
Froody
Newborn Chao
Newborn Chao
Posts: 8
Joined: Fri May 03, 2019 2:33 am
Contact:

Re: [Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, Xbox 360 & PS3) [Updated 2019-06-09]

Post by Froody »

Lots of updates since I last posted, be sure to check them out! The tool can do way more things now :chaohappy:
Froody
Newborn Chao
Newborn Chao
Posts: 8
Joined: Fri May 03, 2019 2:33 am
Contact:

Re: [Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, Xbox 360 & PS3) [Updated 2019-08-24

Post by Froody »

Updated the program today to fix a few issues, main issue being an error that would occur when loading your save if your chao is a Chaos chao and has no favourite fruit (if you experienced an error saying 'InvalidArgument=Value of 16 is not valid for SelectedIndex' then this should resolve that issue).
Aringon
Child Chao
Child Chao
Posts: 13
Joined: Mon Sep 02, 2019 3:04 am
Contact:

Re: [Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, Xbox 360 & PS3) [Updated 2019-08-24]

Post by Aringon »

I keep getting an error when trying to open my chao save file.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '39' is not valid for 'SelectedIndex'.
Parameter name: SelectedIndex
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at SA2SaveUtility.ChaoSave.UpdateChao(TabControl tc, KeyValuePair`2 currentChao, Byte[] chao)
at SA2SaveUtility.ChaoSave.GetChao()
at SA2SaveUtility.Main.SaveIsChao()
at SA2SaveUtility.Main.Tsmi_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.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
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.ScrollableControl.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.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SA2 Save Utility
Assembly Version: 0.4.5.1
Win32 Version: 0.4.5.1
CodeBase: file:///E:/Games/SA2.Save.Utility.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Xml.Linq
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.6.1055.0 built by: NETFXREL2
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Frostav
Child Chao
Child Chao
Posts: 13
Joined: Mon Jun 15, 2015 3:39 am
Contact:

Re: [Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, Xbox 360 & PS3) [Updated 2019-08-24]

Post by Frostav »

Is this compatible with the latest version of Chao World Extended by any chance? I need something to replace Fusion's chao editor since that's broken with it.
Lunar X Diviner VII
Adult Chao
Adult Chao
Posts: 140
Joined: Fri Apr 10, 2009 11:56 pm
Location: My secret base in Twilight Town.
Contact:

Re: [Release] SA2 Save Utility (Open source save editor/converter for PC, Gamecube, 360 & PS3) [Updated 2020-01-29]

Post by Lunar X Diviner VII »

Just wanted to thank you for making this. Could never find something easy to use for gamecube before. :darkhappy:
Post Reply