This is obviously a massive change, so I want to float the idea if this is something we could consider for merging. I want to warn, that the save format is totally, absolutely 100% percent hellish. If anyone thinks, "once we know the format things should be easy", that's unfortunately wrong. This format is clearly not made for humans. So even with it, things remains complex. However there are benefits of the new approach.
Advantages
Fidelity will be much higher. From my experience, if the program says that item A is at location B it is actually there, this is the main advantage for me
Added comments (where to find) to every single item
Added options to show/hide Ward 13, Labyrinth and Root Earth. The are always the same, so sometimes you just don't want to see them
Added option to see connections between locations. Help a bit to orient on a new rolled map
Added options to see world stones - similar. If you know that there is a Hewdas Clock WS you can orient a bit better
Added option to hide tomes of knowledge, when you are maxed you are not that interested in them
Added ability to view simulacrums
Added ability to export save as json (the json is horrendous but it's better than unstructured file)
There are a few other minor things that could be added with the new library, e.g display the actual Cass shop, track Kill x bosses quest progressions, blood moon change tracking, etc
Disadvantages
New code is a bit slower. On SSD most people should be fine
Translation was affected by the replacement. I did not develop the libraries with translation in mind it was already complex enough. I tried to plug the existing one in, but there will be places where it breaks
Probably new not heard before bugs
"Difficult" items do not yet work, these are: Amulet_GoldenRibbon, Amulet_GunfireSecurityLanyard, Amulet_ParticipationMedal, Amulet_SilverRibbon, Armor_Body_CrimsonGuard, Engram_Archon, Relic_Consumable_QuiltedHeart, Relic_Consumable_RipenedHeart, Ring_BandOfTheFanatic, Ring_BisectedRing, Ring_DowngradedRing, Void_Heart, Weapon_Anguish, Weapon_CrescentMoon. This can certainly be improved.
Can someone have a look please, and let me know if we want to go anywhere from here.
Dear contributors!
I have create a library https://github.com/AndrewSav/lib.remnant2.saves for parsing remnant 2 save files and another one https://github.com/AndrewSav/lib.remnant2.analyzer to sit on top of first and provide data similar to what RemnantSaveGuardian wants to display.
I also replaced the file parsing in RemnantSaveGuardian with this library, you can see it in a fork:https://github.com/AndrewSav/RemnantSaveGuardian/tree/newengine
This is obviously a massive change, so I want to float the idea if this is something we could consider for merging. I want to warn, that the save format is totally, absolutely 100% percent hellish. If anyone thinks, "once we know the format things should be easy", that's unfortunately wrong. This format is clearly not made for humans. So even with it, things remains complex. However there are benefits of the new approach.
Advantages
There are a few other minor things that could be added with the new library, e.g display the actual Cass shop, track Kill x bosses quest progressions, blood moon change tracking, etc
Disadvantages
Can someone have a look please, and let me know if we want to go anywhere from here.