Closed: jump server packet (002), facing direction (003), run speed (004). New: collision penetration (005), corner stuck (006), missing trees (007). All collision bugs stem from static-overlap detection instead of swept-sphere — needs Transition restructure to use FindTimeOfCollision. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 KiB
3 KiB
acdream — known bugs
Track visual, gameplay, and protocol bugs here. Close by moving to the "Fixed" section with the commit hash that resolved it.
Open
BUG-001: Wrong cloth textures on characters
- Observed: 2026-04-13
- Description: Character clothing renders with incorrect textures. ObjDesc Phase 5 (AnimPartChange + TextureChanges + SubPalettes) is shipped but something is off — either a texture-swap ordering issue, a missing remapping step, or a palette application bug.
- Repro: Connect to ACE server, observe player character or NPCs.
- Likely area:
WorldEntityObjDesc application,TextureCache, or the CreaturePalette pipeline inInstancedMeshRenderer. - Phase: Unassigned (investigate after rendering rebuild Step 5).
BUG-005: Collision penetration — body enters objects before blocking
- Observed: 2026-04-14
- Description: Player walks partway into boulders, trees, and walls before collision is detected. Root cause: static overlap detection instead of swept-sphere. Retail uses FindTimeOfCollision to compute the exact contact point BEFORE moving the sphere. Our system moves first, detects overlap, then tries to push out.
- Repro: Walk into a boulder at any speed — body clips into it.
- Fix required: Restructure Transition loop to compute collision time before advancing position. Use CollisionPrimitives.FindTimeOfCollision (already ported from FUN_00539BA0).
- Phase: B.3 (collision completion)
BUG-006: Getting stuck at object corners and tight spaces
- Observed: 2026-04-14
- Description: Player gets permanently stuck when walking into building corners or between objects. The SlideSphere crease projection degenerates when two collision normals are nearly parallel or the sphere is already penetrating.
- Repro: Run along a building wall and hit a corner.
- Fix required: Pre-move collision prevents penetration (fixes BUG-005), which eliminates the degenerate crease case. Also need stuck detection + push-out as a safety valve.
- Phase: B.3 (collision completion)
BUG-007: Some trees don't have collision
- Observed: 2026-04-14
- Description: Some scenery trees/objects pass through despite CylSphere collision being implemented. Likely missing CylSphere data in their Setup, or the Setup isn't cached in PhysicsDataCache.
- Repro: Walk through certain trees near Holtburg.
- Phase: B.3 (collision completion)
Fixed
BUG-002: Jump not visible from retail client
- Fixed:
5634e71— Jump packet (opcode 0xF61B) now sent to server.
BUG-003: Facing direction mismatch with server
- Fixed:
6523c71— YawToAcQuaternion converts from our yaw convention to AC heading (0=West, 90=North) using holtburger's from_heading formula.
BUG-004: Run speed not verified working
- Fixed:
bb7eced— Server doesn't echo UpdateMotion to sender. Compute RunRate locally via PlayerWeenie.InqRunRate (Run skill 200 → 9.5 m/s).