Skip to content

fix: send one radii pair for primitive shape cylinders - #9

Merged
NaySurGithub merged 1 commit into
mainfrom
fix/primitive-shape-cylinder
Nov 12, 2026
Merged

NaySurGithub merged 1 commit into
mainfrom
fix/primitive-shape-cylinder

Conversation

@NaySurGithub

Copy link
Copy Markdown
Contributor

What this does

The 26.60 client stores a primitive shape cylinder as one Vec2 of radii (bottom, top), a height and a segment count: the payload builder of the cylinder shape (sub_14B8E7B80, 26.60) copies 8 bytes of radii, a float and a byte into the variant. The packet wrote two Vec2 radii, eight bytes too many, which misaligns every later shape in the packet.

  • DebugShapeData: the cylinder reuses mRadii2f like the cone; mRadiusX and mRadiusZ are gone.
  • Reindents the attached entity id lines.

How it is verified

New primitive-shapes test: a cylinder followed by a removal encodes to the expected size with the radii right after the variant index, and decodes back. All five protocol tests pass.

AI disclosure

Written by Claude Opus 5.5 (claude-opus-5-5), checked against the 26.60 client in IDA.

@NaySurGithub
NaySurGithub merged commit 92884f0 into main Nov 12, 2026
4 checks passed
@NaySurGithub
NaySurGithub deleted the fix/primitive-shape-cylinder branch November 12, 2026 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant