docs: file #170 — remote creature chase+attack renders wrong vs retail
User retail side-by-side during R5-V2 visual gate: chasing+attacking monster glides, over-frequency, uniform attack anims (retail correct on same ACE → client-side). Decomposes into #159 (attack cmd numbering) + pending_motions loop + dead-reckon-vs-locomotion glide. NOT V2 (chase tracking works). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
7c5bc97c74
commit
64f83d7cf1
1 changed files with 41 additions and 0 deletions
|
|
@ -46,6 +46,47 @@ Copy this block when adding a new issue:
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## #170 — Remote creature chase+attack renders wrong vs retail (glide, over-frequency, uniform attack anims)
|
||||||
|
|
||||||
|
**Status:** OPEN
|
||||||
|
**Severity:** MEDIUM (visual — remote combat / aggro)
|
||||||
|
**Filed:** 2026-07-03 (user retail side-by-side during the R5-V2 visual gate)
|
||||||
|
**Component:** animation, remote entity, combat
|
||||||
|
|
||||||
|
**Description:** A monster chasing + attacking the player (aggro) renders wrong
|
||||||
|
vs the retail client running against the SAME local ACE. User side-by-side:
|
||||||
|
retail plays proper animations, positions the monster better, plays DIFFERENT
|
||||||
|
attack animations (variety), and the attack-animation FREQUENCY is correct;
|
||||||
|
acdream shows the creature "stuck in the attack animation, gliding after me."
|
||||||
|
Because retail gets the identical ACE motion stream and renders it correctly,
|
||||||
|
the divergence is CLIENT-side (acdream's UM/animation handling), **not** ACE.
|
||||||
|
|
||||||
|
Three distinct sub-divergences:
|
||||||
|
1. **Wrong/uniform attack animations** → likely **#159** (CombatAnimationPlanner
|
||||||
|
uses 2013-decomp command numbering, not ACE/DRW; the attacks
|
||||||
|
`0x10000062/63/64` misclassify → wrong or same animation).
|
||||||
|
2. **Over-frequency / stuck attack** — motion trace: ACE streams attack UMs
|
||||||
|
(`mt=0x00 cmd=0x62/0x63/0x64 spd=0.97`) on top of the `mt=0x06` chase;
|
||||||
|
acdream's `pending_motions` completes+re-queues in a tight MOTIONDONE loop
|
||||||
|
(`pending=True` spam) → over-plays. R3/R4 pending_motions/MotionDone area.
|
||||||
|
3. **Glide** — the creature's position moves (mt-6 moveto + UP dead-reckon) but
|
||||||
|
no locomotion legs play (attacks override) → smooth slide. AP-80 / #160
|
||||||
|
dead-reckon-vs-animation family.
|
||||||
|
|
||||||
|
**Evidence:** `ACDREAM_DUMP_MOTION` trace for guid 0x80000244 — `mt-0 stance 0x3C`
|
||||||
|
→ `mt-6 chase spd 2.03` → stream of `mt-0` attacks `0x62/63/64 spd 0.97`;
|
||||||
|
MOTIONDONE loop between `0x8000003C` (stance) and the dispatched motion.
|
||||||
|
|
||||||
|
**NOT V2/R5:** the voyeur target-tracking correctly makes the creature chase
|
||||||
|
(the `mt-6` is proof); this is the animation/position layer.
|
||||||
|
|
||||||
|
**Where:** `MotionInterpreter`/`AnimationSequencer` attack-motion dispatch +
|
||||||
|
`pending_motions`; `CombatAnimationPlanner` (#159); `ServerControlledLocomotion`
|
||||||
|
+ remote dead-reckoning (glide).
|
||||||
|
|
||||||
|
**Acceptance:** side-by-side with retail — a chasing+attacking Mite Scamp shows
|
||||||
|
correct attack-animation variety, correct frequency, and steps/runs (no glide).
|
||||||
|
|
||||||
## #169 — Cold-spawn "hole": world doesn't load / invisible player when spawning far from Holtburg
|
## #169 — Cold-spawn "hole": world doesn't load / invisible player when spawning far from Holtburg
|
||||||
|
|
||||||
**Status:** DONE (`9b06a9b8`, 2026-07-03) — root confirmed live via a landblock-load
|
**Status:** DONE (`9b06a9b8`, 2026-07-03) — root confirmed live via a landblock-load
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue