handlers: PermitPlace injection so the Grand Gaia world map renders - #41
Open
Seltraeh wants to merge 1 commit into
Open
handlers: PermitPlace injection so the Grand Gaia world map renders#41Seltraeh wants to merge 1 commit into
Seltraeh wants to merge 1 commit into
Conversation
Injects PermitPlace unlock data into the serialised UserInfo response so the Grand Gaia world map renders and is navigable. The generated PermitPlace struct is a stub with an INVALID key, so the empty serialised array is located and replaced in place rather than populated through the struct. The five categories serve different purposes and cannot be tuned uniformly. Areas are the mission-parent topology link and must stay full: narrowing them leaves every land rendering empty and crashing on click. Lands act as the cutscene gate, since each visible land plays its intro on first entry, so they are held at 1-2. Gates, missions and dungeons are availability flags only and are left full. The client silently ignores entries for ids absent from its local MST. If the token is not found the injection is skipped with a warning rather than corrupting the buffer, so a schema change degrades instead of breaking.
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.
handlers: PermitPlace injection so the Grand Gaia world map renders
Branch:
split/12-quest-mapBase:
devMerge position: 12 of 13
Isolated deliberately — this is the change most likely to draw an objection, and I didn't want it blocking the campaign work.
What it does
Injects PermitPlace unlock data into the serialised
UserInforesponse so the Grand Gaia world map renders and is navigable.Why it's a string replace
The generated
PermitPlacestruct is a stub with anINVALIDkey, so there is no typed path to populate it. The empty serialised array is located and replaced in place instead. If the token isn't found the injection is skipped with aLOG_WARNrather than corrupting the buffer, so a schema change degrades instead of breaking.I'm not attached to the mechanism — if there's a way to make the generated struct carry this, I'd rather do that. But I couldn't find one that produces the wire shape the client accepts.
Why the categories are tuned differently
They serve different purposes and cannot be set uniformly:
The client silently ignores entries for ids absent from its local MST, which is why the ranges are generous.
Verification
Grand Gaia loads; Mistral renders with areas visible; missions are clickable.