SR3 Save Editor C

Thanks about this awesome piece of software! Helped me a bit.

Now I ran into some issues with it at SR3 Steam Linux version. I'm playing under Linux Mint 19.2 64-bit now. Java version is 1.7.0_80-b15 64-bit. At first noticed a bug on save game location autodetection:
Code:
Oct 28, 2019 12:04:34 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
java.lang.NoSuchMethodException: java.util.prefs.FileSystemPreferences.WindowsRegOpenKey(int, [B, int)
    at java.base/java.lang.Class.getDeclaredMethod(Class.java:2475)
    at com.stackoverflow.question.number_62289.WinRegistry.<clinit>(WinRegistry.java:36)
    at corrodias.sr3.save.editor.Main.getSavePath(Main.java:46)
    at corrodias.sr3.save.editor.MainFrame.<init>(MainFrame.java:78)
    at corrodias.sr3.save.editor.Main.main(Main.java:29)
Oct 28, 2019 12:04:34 AM corrodias.sr3.save.editor.Main getSavePath
INFO: java.lang.NullPointerException
That is fine. SR3 Steam Linux saves are located elsewhere - under "/home/<user>/.steam/steam/userdata/57567017/55230/remote". Would be nice to fix that later, but nothing critical.

Another bug popped up in console on opening saves after mission "We're Going to Need Guns":
Code:
Oct 28, 2019 12:06:53 AM corrodias.sr3.save.editor.MainFrame$LoadButtonListener actionPerformed
SEVERE: null
java.lang.ClassCastException: class java.lang.Byte cannot be cast to class java.lang.Integer (java.lang.Byte and java.lang.Integer are in module java.base of loader 'bootstrap')
    at java.base/java.lang.Integer.compareTo(Integer.java:59)
    at java.desktop/javax.swing.SpinnerNumberModel.incrValue(SpinnerNumberModel.java:362)
    at java.desktop/javax.swing.SpinnerNumberModel.getPreviousValue(SpinnerNumberModel.java:401)
    at java.desktop/javax.swing.plaf.basic.BasicSpinnerUI.updateEnabledState(BasicSpinnerUI.java:514)
    at java.desktop/javax.swing.plaf.basic.BasicSpinnerUI.updateEnabledState(BasicSpinnerUI.java:494)
    at java.desktop/javax.swing.plaf.basic.BasicSpinnerUI$Handler.stateChanged(BasicSpinnerUI.java:1084)
    at java.desktop/javax.swing.JSpinner.fireStateChanged(JSpinner.java:461)
    at java.desktop/javax.swing.JSpinner$ModelListener.stateChanged(JSpinner.java:388)
    at java.desktop/javax.swing.AbstractSpinnerModel.fireStateChanged(AbstractSpinnerModel.java:120)
    at java.desktop/javax.swing.SpinnerNumberModel.setValue(SpinnerNumberModel.java:460)
    at java.desktop/javax.swing.JSpinner.setValue(JSpinner.java:355)
    at corrodias.sr3.save.editor.MainFrame.readPlayerPanelData(MainFrame.java:831)
    at corrodias.sr3.save.editor.MainFrame.access$1700(MainFrame.java:25)
    at corrodias.sr3.save.editor.MainFrame$LoadButtonListener.actionPerformed(MainFrame.java:1028)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
    at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
    at java.desktop/java.awt.Component.processEvent(Component.java:6397)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Saves themselves opens and are editable, saveable and loads in game without issues. Dunno, what it is. Maybe related to 64-bit Java, maybe not.

Also increased money amount above $12,000,000 become negative. $29,000,000 loaded as -$12,000,000.
 
How did you opened the sr3d_pc files?
And is it possible to edit the sr3savedir.sr3d_pc file for changing the order of my saves in the game?
 
This does work on the remastered version, but it seems it cannot keep the garage when you edit a file unless that was always a thing.
 
Back
Top