Major refactor: Don't keep JSON around after loading, switch to RapidJSON#203
Draft
Epicpkmn11 wants to merge 16 commits into
Draft
Major refactor: Don't keep JSON around after loading, switch to RapidJSON#203Epicpkmn11 wants to merge 16 commits into
Epicpkmn11 wants to merge 16 commits into
Conversation
Prep for next commit
…JSON This is WIP! I have only changed some of the JSON over to RapidJSON, there's still more work to do. The most notable improvements are on inital load and in the UniStore list. I hope this is free of regressions, but its a huge commit, there might be some regressions -- be warned if using git builds. Please let me know anything that's broken.
So that's why it had a special case :sweat_smile It now properly fades out
Yes, it is required unless you want to force the user to type capitals
…tores without selecting them
Azahar has fixed the wifi check
This one looks big, but its not too too scary. Most of the changes are because I changed the global from "std::unique_ptr<Theme> UIThemes" to "Theme UITheme" because there's no compelling reason for it to be a pointer The other reason its so big is that the Theme now represents one single theme where before it was both a single theme *and* all the themes
Epicpkmn11
force-pushed
the
refactor-json
branch
from
July 15, 2026 01:36
2238fd0 to
d3c1744
Compare
I accidentally wrote Config to Theme.json and found this :p
Big change on this one too, proper structured data at runtime instead of just JSON
Member
Author
|
Alrighty! This is (theoretically) done! I need to do more regression testing as this is a big change (not as big as it looks, actually +2191 -2797 loc, ignoring the JSON libs, but still big) its not just a JSON lib swap, I also refactored major parts of the codebase so that no JSON is being casually kept around in memory all the time anymore; now everything is properly structured data! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This does two major things: A) changes nlohmann::json to RapidJSON and B) removes all random JSON runtime structures, everything is properly loaded to classes and structs now. These aren't technically related to each other, but I really didn't want to put in all the work of to do one of them without the other, only to immediately do more work. It also made it very easy to catch any mistakes, I'm quite confident on the no random JSONs cause I've deleted the old lib so there can't be any stragglers I didn't see.
TODO: