Conversation
|
Download the artifacts for this pull request:
This service is provided by nightly.link. These artifacts will expire in 90 days and will not be available for download after that time. |
OhMyGuus#410 reads Fungle's doors from mushroomDoor_isOpen and falls back to door_isOpen with ??. A bundle that could not resolve the field does not omit it though, it publishes -1, and -1 is not nullish, so the fallback never runs and the door state is read from offset -1. One published bundle is in that state: x86 V2023.7.11, which serves broadcast 50585000 -- the build the Fungle arrived in. Its x64 sibling omits the field entirely and falls back correctly, which is why this only shows on 32-bit. The field is used now only when it actually resolved. Checked by extracting the decision from GameReader and running it over every bundle the mirror publishes that can load the map: sixteen of them, one reading from -1 before and none after, with the other fifteen unchanged and non-Fungle maps still on door_isOpen. Fixing it here rather than in the offsets repository is deliberate. A corrected bundle does not reach a client that has already cached the old one, and this guard also covers any bundle that carries -1 later. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: Lucas Greuloch (greluc) <lucas.greuloch@gmail.com>
greluc
force-pushed
the
fix/fungle-door-unresolved-offset
branch
from
September 9, 2026 11:20
274e0bc to
a5258be
Compare
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.
On 32-bit Among Us 2023.7.11, Fungle's doors are read from offset
-1.Why
#410 reads the Fungle's doors from
mushroomDoor_isOpenand falls back todoor_isOpen:A bundle that could not resolve the field does not omit it, though — it publishes
-1, which is the generator's marker for a lookup that failed.-1is not nullish, so??hands it straight to the read.One published bundle is in that state, and it is the one that matters: x86
V2023.7.11, which serves broadcast50585000— the build the Fungle arrived in. Its x64 sibling omits the field entirely and falls back correctly, which is why this shows only on 32-bit.What changed
The field is used only when it actually resolved:
Verification
The decision is extracted from
GameReader.tsand run over every bundle the mirror publishes that can load the map, so the same script runs against either revision.V2023.7.11(broadcast 50585000)-120V2023.7.113232door_isOpendoor_isOpenSixteen bundles checked: one read from an unresolved offset before, none after.
lint,typecheck,format:check,verify:esmandbuildpass, andprettierreports the file unchanged. CI was run on a fork before this was opened — lint and both platform builds green.Why here and not in the offsets repository
The
-1could be removed from that one bundle instead, and then??would do its job. Two reasons this is the better place:fetchOffsetsserves the cache whenever the filename andoffsetsVersionmatch, so the fix would arrive only after that version is bumped, and not at all for someone offline.-1later, which is the same failure returning by the same route.Happy to send the data change as well if you would rather have both.
Limits, stated plainly
Nothing here was run against Among Us, so what is verified is which number the code selects, not what that number means once it is read. The offsets and the
??/>= 0semantics are the whole of the claim.Disclaimer
This change was written with AI assistance (Claude Code). The author reviewed it, and the before/after table is real output from a script driving the real function, not a description of what it should do. Please review it as you would any patch from a stranger; if something here is wrong I would rather hear it than have it merged.
🤖 Generated with Claude Code