fix(ui): Campaign AS AS2 fix round — review findings F13-F18
Opus's dual-lens review of the AS2 header-identity-block commit
(f8a22589) approved the retail port as exact and ordered six
mechanical fixes:
- F13: correct the plan doc's "static tinted preview" claim about
retail's examine-window paperdoll — the decomp shows retail's clone
IS animated (BasicCreatureExamineUI::Init @0x004AB9C0 ->
CPhysicsObj::makeObject -> MorphToExistingObject +
play_script_internal, CreatureMode::Render driving update_position
every frame), just decoupled from the live target. AD-114 already
records the correct deviation; only the plan doc's rationale text
was wrong.
- F14: add a regression test pinning the monster path (character:
false, success:false, no String 5 / Int 0x105 marker) so element
0x1000053A stays cleared — the exact case that used to emit the
invented "Assessment incomplete" literal AS2 deleted. This is the
test coverage the AS2 commit message over-claimed already existed.
- F15: dedup the PK/PKLite PWD bit constants that were copy-pasted
across three files into named PublicWeenieFlags.PlayerKiller
(0x20) / PlayerKillerLite (0x02000000) values, routing all three
consumers (AppraisalUiController, CharacterSheetProvider,
LocalPlayerTeleportController) through them. Pure mechanical
substitution; the write side (PlayerKillerStatusBitfield.Apply) is
untouched.
- F16: file register row AD-115 for a real, previously-unrecorded
deviation the AS2 commit introduced: BuildCharacterTitleDisplay
clears element 0x10000151 when neither source resolves, where
retail (CharExamineUI::Show, BasicCreatureExamineUI::Init) never
clears it and would show the previous target's stale title
instead. Marked intentional — ours is deliberately better.
- F17: narrow BuildPlayerKillerDisplay's doc comment — retail's
`cur_weenobj != 0` guard @0x004b482f skips only the PK line, not
the whole response; the whole-response drop on a missing local
object is separate, pre-existing, and out of scope here.
- F18: ledger row for AS2 now reads "review fix round" with the land
commit and a note that the fix SHA is recorded at review-close.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
f8a2258979
commit
cc5290af7d
7 changed files with 85 additions and 30 deletions
|
|
@ -23,9 +23,17 @@ Missing vs retail:
|
|||
|
||||
Explicit owner rulings:
|
||||
|
||||
- **The animated 3D paperdoll is an INTENTIONAL acdream deviation** (retail
|
||||
shows a static tinted preview; its colors are buggy in retail). Keep it.
|
||||
Register row required (added in the first slice that touches the window).
|
||||
- **The animated 3D paperdoll is an INTENTIONAL acdream deviation.** Retail's
|
||||
examine preview clone is NOT a static tinted preview — it is
|
||||
INDEPENDENTLY ANIMATED, just decoupled from the live target:
|
||||
`BasicCreatureExamineUI::Init @0x004AB9C0` clones the selected object via
|
||||
`CPhysicsObj::makeObject @0x005144B0` (which runs `MorphToExistingObject`
|
||||
then `play_script_internal(setup->default_script_id)`), sets the clone's
|
||||
heading to 191.367905°, and `CreatureMode::Render @0x004529D0` runs
|
||||
`update_position` on it every frame — its colors are buggy in retail.
|
||||
acdream's deviation is that our preview mirrors the target's LIVE motion
|
||||
instead of playing its own private, decoupled cycle. Keep ours. Register
|
||||
row required (added in the first slice that touches the window).
|
||||
- Retail comparison is the oracle for text composition; all strings come
|
||||
from DAT StringTables per the decomp — **never hardcoded English
|
||||
literals**.
|
||||
|
|
@ -127,7 +135,7 @@ round → narrow re-review → REVIEW-CLOSED.
|
|||
| Slice | State | Land / fix commits | Notes |
|
||||
|---|---|---|---|
|
||||
| AS1 | **DONE 2026-08-25** | (docs commit) | 3-agent research; ground-truth doc committed |
|
||||
| AS2 | ready to dispatch | — | |
|
||||
| AS2 | review fix round | `f8a22589` | fix round (this commit) |
|
||||
| AS3 | pending AS2 review-close | — | |
|
||||
| AS4 | pending AS3 review-close | — | |
|
||||
| AS5 | pending AS4 review-close | — | |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue