Daemon icon indicating copy to clipboard operation
Daemon copied to clipboard

Bad model skeletons

Open VReaperV opened this issue 6 months ago • 10 comments

I've found a rather reliable reproducer for the skeleton issue, with both 0.55.3 and current master:

  1. /devmap plat23
  2. Build a few buidlings. In my testing, a node, ret, and arm seemed to be enough.
  3. /layoutLoad test (the layout is here: https://users.unvanquished.net/~reaper/maps/layouts/plat23/test.dat)

A couple eggs (seemingly random ones) will have some broken skeletons: Image

With r_showSkeleton 1: Image Image

It seems to always be 2 eggs as well.

VReaperV avatar May 06 '25 15:05 VReaperV

On habitat I reproduce this by just loading the map: Image

VReaperV avatar May 07 '25 07:05 VReaperV

I can reproduce the Habitat one. It works correctly with 0.55.2 gamelogic.

slipher avatar May 08 '25 03:05 slipher

I think this is probably caused by https://github.com/DaemonEngine/Daemon/pull/1532. I will try rewriting it without QuatFromMatrix as described in https://github.com/DaemonEngine/Daemon/pull/1532#issuecomment-2620050318.

slipher avatar May 08 '25 20:05 slipher

Yep, doing it like this fixes it.

matrix_t rotmat;
MatrixFromAngles(rotmat, bmc->modelRotation[ PITCH ], bmc->modelRotation[ YAW ],
             bmc->modelRotation[ ROLL ] );
MatrixFromVectorsFLU( axisMat, ent.axis[ 0 ], ent.axis[ 1 ], ent.axis[ 2 ] );
matrix_t out;
MatrixMultiply( axisMat, rotmat, out);
MatrixToVectorsFLU( out, ent.axis[ 0 ], ent.axis[ 1 ], ent.axis[ 2 ] );

slipher avatar May 08 '25 21:05 slipher

One of the turrets on Habitat is also affected. It appears to point in the opposite direction of the one it's really shooting in.

slipher avatar May 08 '25 22:05 slipher

I can't reproduce the issue with the egg spam layout on the 0.55.3 release (Windows + Nvidia).

slipher avatar May 23 '25 10:05 slipher

The original issue is still there.

VReaperV avatar May 23 '25 17:05 VReaperV

I can't reproduce the issue with the egg spam layout on the 0.55.3 release (Windows + Nvidia).

I can reproduce this by doing:

  • /devmap plat23
  • /setviewpos 0 2030 44 0 20; devteam h
  • Build an arm at that viewpos and each of 0 2030 44 90 20, 0 2030 44 -90 20, and 0 2030 44 180 20

VReaperV avatar May 23 '25 17:05 VReaperV

I don't get it with the armories either.

slipher avatar May 24 '25 18:05 slipher

Might be compiler-dependent or something.

I believe @enneract was able to reproduce this issue as well.

VReaperV avatar May 24 '25 19:05 VReaperV