Thanks for the build, it's weird that the .bin isn't read from a resources folder but works properly from the source though. Anyway that's one less thing for me to look at ^^
It is a bit weird. To clarify, I tried 2 things:Thanks for the build, it's weird that the .bin isn't read from a resources folder but works properly from the source though. Anyway that's one less thing for me to look at ^^
Compiled it and ran it. It seems to load the files properly now, this is the output when clicking the checkmark button:*snip*
System.ArgumentNullException: Value can't be null.
Parameter name: value
w System.BitConverter.ToUInt16(Byte[] value, Int32 startIndex)
w Pokemon_Shuffle_Save_Editor.ToolFunctions.GetRessources() w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\ToolFunctions.cs:wiersz 131
w Pokemon_Shuffle_Save_Editor.Main.UpdateResourceBox() w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\Main.cs:wiersz 215
w Pokemon_Shuffle_Save_Editor.Main.Parse(Int32 slot) w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\Main.cs:wiersz 84
w Pokemon_Shuffle_Save_Editor.Main.B_resources_Click(Object sender, EventArgs e) w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\Main.cs:wiersz 572
w System.Windows.Forms.Control.OnClick(EventArgs e)
w System.Windows.Forms.Button.OnClick(EventArgs e)
w System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
w System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
w System.Windows.Forms.Control.WndProc(Message& m)
w System.Windows.Forms.ButtonBase.WndProc(Message& m)
w System.Windows.Forms.Button.WndProc(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
just little off topic, how's the insurance of your laptop? seems youre on the move again, hehe... anyway thanks for the continous support for this application... hope you can support it till the end of the game's life span. :-)You're right, while coding PSSE I took into account the possibility of levels beyond 20 but from what I read there is at least one oversight. Most likely it doesn't read the new PokemonLevel.bin correctly. It shouldn't take long to fix, I just may need someone to compile it for me once I've uploaded the commits.
Compiled it and ran it. It seems to load the files properly now, this is the output when clicking the checkmark button:
It didn't pickup the Pokedex file for some reason though.
As a side note, clicking the checkmark without loading a save first causes an exception
Code:System.ArgumentNullException: Value can't be null. Parameter name: value w System.BitConverter.ToUInt16(Byte[] value, Int32 startIndex) w Pokemon_Shuffle_Save_Editor.ToolFunctions.GetRessources() w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\ToolFunctions.cs:wiersz 131 w Pokemon_Shuffle_Save_Editor.Main.UpdateResourceBox() w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\Main.cs:wiersz 215 w Pokemon_Shuffle_Save_Editor.Main.Parse(Int32 slot) w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\Main.cs:wiersz 84 w Pokemon_Shuffle_Save_Editor.Main.B_resources_Click(Object sender, EventArgs e) w D:\3DS\ShufflePatcher\PSSEgit\update1\PSSE-master\Pokemon Shuffle Save Editor\Main.cs:wiersz 572 w System.Windows.Forms.Control.OnClick(EventArgs e) w System.Windows.Forms.Button.OnClick(EventArgs e) w System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) w System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) w System.Windows.Forms.Control.WndProc(Message& m) w System.Windows.Forms.ButtonBase.WndProc(Message& m) w System.Windows.Forms.Button.WndProc(Message& m) w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) w System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Read the spoiler in my previous post. In short, my laptop is dead and I'm just wainting on my check to buy another (unfortunately smaller) one.just little off topic, how's the insurance of your laptop? seems youre on the move again, hehe... anyway thanks for the continous support for this application... hope you can support it till the end of the game's life span. :-)
Thanks for testing, the exception occured because I made it refresh PSSE's main window but forgot that the refresh function tries to fill every field with data from a savefile instead of leaving it blank. Typically the kind of thing I need debugging for.
I also investigated the case of messagePokedex_US.bin and it appears PSSE just ignored it completely (didn't search for it or replaced it, PSSE always use the built-in one). Of course I fixed it but while I was at it I also changed half of the code handling it afterwards. It's not perfect but now it rellies less on recognizing strings, which means it'll be easier to allow the use of other languages files and that it should not break for a while (an explanation is in PSSE's code, but basically until they add new mega skils and enough normal skills to fill all placeholders left the file should still be read correctly).
And finally, I also found a way to search pokemons by typing !!!
I must apologize, as it would have been implemented YEARS ago if only had I read the relevant C# documentation, but as I wanted to see it for a long time (and I know I'm not the only one ^^) I'm glad I was finally able to do so.
Could you please test the latest commit once more ? If those issues are fixed, typing works and cheats work too, I will just add the 1.4.19 files and call it a proper release.
(just need to find a small folder icon or something for the new refresh button, if someone has an idea please tell it)
https://www.dropbox.com/s/02o8q68hr66so9m/update2.7z?dl=0 Here is a link to the build. So far I tested the file reading (it detects all files and doesn't throw an exception anymore if no save is loaded), search by typing works fine as well. From cheats I checked the 'holy trinity', All owned skill level 5, All owned level max and Max resources, then also tried Max speedup. Those work correctly.
I checked the other language pokedexes but, well, either it's unimplemented yet, just testing, or it's broken. I put in a french file and it didn't recognize it at all, after that I renamed it to have US at the end instead of FR and it throws an index out of range exception.
Aaaaah, alright then. I only really checked it, wasn't planning on using it (not only my language is not in the game, even then I wouldn't use it) just wanted to test everything you mentioned. Either way, all seems fine, seems this could be made into a release.Thanks I'll lay an eye on it.
About using another language file, I didn't mean it was possible yet, sorry for misleading you. I was able to replace the worst string recognitions because I noticed the .bin file used Unicode encoding and had the starting point and length of the relevant chunk of data in it's header. I still have to use string recognition to sort skills names and texts because everything is scrambled into 5 "sub-chunks" and so far I didn't find any indication similar to the file's header to do it automatically.
There are precisely 4 strings left in Database.cs ("Opportunist", "Big Wave" and their respective descriptions), if you edit those 4 to match the ones in messagePokedex_FR it should work.
What I meant that I could easily replace those strings with variables and translating skills and their description would be done. I haven't done it yet because :
Even after I would do that I'm still not sure how I'd implement it. A language selector in PKHex's fashion would be great I think so I started looking at their code but there are so many layers of things I don't understand that it may take some time.
- Pokemon names : They rely on 2 .txt files right now and I need to change that by figuring how entries in pokemonData are linked to a name in the game's files.
- PSSE's texts : It may be the easiest, but since I hardcoded everything for now it'd be a lot of work to change every single string into some kind of variable read from an internal file.
And here it is, the official 1.4.19 release is now live !
Please tell me if something is wrong, I wanted to try building this but my setup is a bit wonky. Bulk edits seem to be working fine but to be honest I don't really follow the game's actuality so maybe there are missing pokemons I didn't notice ? Anyway, if that's the case that should be easy to fix.
Have fun.
Thanks, I missed it completely !This new build is awesome and worth the wait!
However, the Survival Mode modifier needs tweaked as the amount of Levels was upped from 50 to 60.
Always waiting to see more and glad to see you back in action supercarrotte!
I have no idea how any of this works. I have PSSE, but it keeps giving me errors and wont save my changes. I have no idea which version the one i have is. Is there just a direct download link to the latest one? Dont throw the coding language at me, either. I'll have no idea what you're saying.
Downloaded the latest version, but still got an error the moment I booted up my save file.AYou'll find all pass releases here : https://github.com/supercarotte/PSSE/releases
Just always take the top one and click "psse.exe" to download it. It won't work on Macs since its a .exe.
Now you need to get your save file from your 3ds, for that the easier way is to use luma3ds & Jo's save manager. I'll assume you know to do that for now because I'm on my phone & in my bed, sorry, but tell me if you don't and I'll explain it tomorrow.
Once you have your save file (it's a file named savedata.bin on your SS card), put your console's sd card in your computer and copy the file onto it.
Launch psse and click "Open save data" to open your save file. If psse's greyed icons turn into your Pokemons you can then start using psse.
Check the "my GitHub" link from my signature for instructions on how psse works or hover your mouse over a button to see what it does.
After you have edited all you wanted to, click the "save savedata.bin" button to, well, save it (you can overwrite the old file but you should rather create a new ones and keep the unedited as backup just in case).
Now copy the new save data.bin on your SS card and use the same Homebrew to put it back into your game, again if you don't know how I'll gladly explain tomorrow.
If you get errors while using psse, tell me what happened and, if you can, what the error says please. Also, by curiosity where did you get the version you are using now ?
Downloaded the latest version, but still got an error the moment I booted up my save file.
The error says
"Value of 7 is not valid for Value. Value should be between Minimum and maximum. Parameter name: Value".
When I clicked details I got this
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: Value of '7' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
Parameter name: Value
at System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
at Pokemon_Shuffle_Save_Editor.Main.UpdateOwnedBox()
at Pokemon_Shuffle_Save_Editor.Main.Parse(Int32 slot)
at Pokemon_Shuffle_Save_Editor.Main.UpdateForm(Object sender, EventArgs e)
at Pokemon_Shuffle_Save_Editor.Main.Open(String file)
at Pokemon_Shuffle_Save_Editor.Main.B_Open_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.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.7.2102.0 built by: NET47REL1LAST
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
PSSE
Assembly Version: 1.4.19.0
Win32 Version: 1.4.19.0
CodeBase: file:///C:/Users/Derick/Downloads/PSSE.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2104.0 built by: NET47REL1LAST
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.7.2103.2 built by: NET47REL1LAST
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.7.2046.0 built by: NET47REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2102.0 built by: NET47REL1LAST
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2046.0 built by: NET47REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2102.0 built by: NET47REL1LAST
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2046.0 built by: NET47REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.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.
Not sure what it is I'm missing, granted I haven't even played the game in a while.
The version I had was from a while ago, I wanna see a couple months ago?
@DDD & @Midgetgirl05 , can you send me your savefiles ? I can't reproduce this error, so make sure you don't have a "resources" folder left in PSSE's directory too.Oky, so I have the file off my 3ds again (thank god for back ups of back ups...) but I am also having the issue.
My N3ds isn't hacked. I use Pokemon SMD cart as an entry point. But I'm still getting the resources stuff problem. Any suggestions?
I'm heading to bed (for now) so that I can get some sleep i'm falling asleep at my laptop. Would LOVE if someone could help me out with this, <3