Files
DarkflameServer/dCommon
Aaron Kimbrell a163264adf fix: splitting and normalizing models moves every bone, in file order
Lxfml::NormalizePosition moved only the first bone of each part, so after a
save a flexible part's other bones kept their world positions while the rest
of the model was moved to its own origin. Now every Bone moves by the same
amount, and the box that places the model holds every bone. Split maps every
bone of a part too, so a rigid system holding only a later bone keeps its
brick.

Only bones move, as the live server did: the Rigid transformations are sent
back as the client wrote them, and rotations are not touched.

Also:
- a model with no readable bone is kept as it is at the origin instead of
  getting a center 10000 up
- the math is done in doubles and numbers are written as the shortest text
  that reads back as the same float (-0.4, not -0.400002; 12.1678, not
  12.1677)
- bricks and rigid systems come out in the file's order, so the same model
  always splits into the same bytes
- parts over 5 MB are normalized like any other (the input is capped at
  10 MB), and the loop's safety limit no longer drops every later model

The pivot is still snapped to the 0.8 grid (the bricks don't move in the
world; the model's position stays on the grid), which can put it half a
stud from the middle.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-10 11:52:08 -06:00
..
2024-12-24 14:32:08 -08:00
2024-12-24 14:32:08 -08:00
2022-07-28 08:39:57 -05:00
2024-01-01 21:50:00 -06:00
2024-01-01 21:50:00 -06:00
2026-06-08 21:42:32 -07:00
2026-06-08 21:42:32 -07:00