No that is not what I did. The ISO loading code is built in the program. I must've accidently packed two crazy hand jars lol.
In order for me to add the feature that ampers requested (opening dolphin without closing Crazy Hand) in the second build, I had to sacrifice more memory by caching the fighter files so they can be accessed whenever without the ISO and when saving is required, the program would just reload the ISO and write any new changes.
You should do what I've suggested and increase the allocated size. You can do this in eclipse and/or the run.bat by adding the following -Xms128m -Xmx512m or what ever higher value u want to allocate.
You could optimize the program though by using multiple threads too
I tried increasing the allocated size in every combination of 512,1024, and 1600(Highest value I could get where the program still ran) and got an OutOfMemoryError every time.
The exact error I get is:
java.io.IOException: Map failed
at sun.nio.ch.FileChannelImpl.map(Unknown Source)
at isotool.filesystem.ISOFileSystem.setFileData(ISOFileSystem.java:48)
at isotool.filesystem.ISOFileSystem.<init>(ISOFileSystem.java:32)
at isotool.filesystem.ISOFile.createRootFolders(ISOFile.java:86)
at isotool.filesystem.ISOFile.readSectors(ISOFile.java:77)
at isotool.filesystem.ISOFile.<init>(ISOFile.java:35)
at com.FileIO.loadISOFile(FileIO.java:82)
at com.MeleeEdit.main(MeleeEdit.java:430)
Caused by: java.lang.OutOfMemoryError: Map failed
at sun.nio.ch.FileChannelImpl.map0(Native Method)
... 8 more
Since we're caching each fighter file anyways, I think it might be a good idea to extract copies of fighter data to a folder when loading the ISO instead of caching them in the program itself. You could then use CrazyHand to edit the extracted fighter files, and then write changes from those files to the ISO.
I wouldn't suggest such a roundabout method of editing files except if I'm getting these errors I assume some other users will as well.
Thoughts or opinions on this?