docs(overhaul): verify light insertion order against retail binary
This commit is contained in:
parent
6c3ffd79ec
commit
ad866b7f65
1 changed files with 30 additions and 0 deletions
|
|
@ -132,3 +132,33 @@ Before the next unattended run, the existing self-gate runner was narrowly
|
|||
hardened to refuse either client and explicitly use WindowStyle Hidden.
|
||||
It already uses a real hidden Vulkan window through exact-framebuffer mode.
|
||||
No route/rendering behavior, graphics profile or quality was changed.
|
||||
|
||||
### Selection-order follow-up while checkpoint observation is implemented
|
||||
|
||||
Read-only, base6c3ffd79e (production1e376c244). Current
|
||||
LightManager.MaxGlobalLights is **128**, not64. BuildPointLightSnapshot keeps
|
||||
qualifying registration order until overflow; only overflow sorts the global
|
||||
list. SelectForCell then takes the first eight dynamics unconditionally and
|
||||
uses any remaining slots for statics. Thus a below-128 snapshot with many
|
||||
dynamics can select distant earlier registrations before nearby later ones.
|
||||
This is a reachable path, NOT yet an observed cause of Town Network darkness.
|
||||
|
||||
Lead read named Render::insert_light0054D1B0 and add_dynamic_light0054D420,
|
||||
then reran check_exe_pdb.py on the paired Turbine executable: MATCH,
|
||||
GUID9e847e2f-777c-4bd9-886c-22256bb87f32/age1. PE-section mapping gives:
|
||||
|
||||
| VA / raw offset / bytes | SHA256 |
|
||||
| --- | --- |
|
||||
| 0054D1B0 / 0014D1B0 / 551 | B429FD860D9E55D9EB39BF177F50DEFCEABA1407C033609867972767D36698EA |
|
||||
| 0054D420 / 0014D420 / 47 | 23607C447F5BBC78190964132055D169C7F46763559DB2B31E40FBA20F118B91 |
|
||||
|
||||
Native insert_light enters its distance-comparison loop whenever count>0,
|
||||
before testing count against capacity at0054D26F. The x87 comparison/test
|
||||
sequence includes D898D8000000/DFE0/F6C405/7B07; the insertion position is
|
||||
therefore not deferred until overflow. add_dynamic_light loads the distinct
|
||||
dynamic cap from0081EC98 and calls insert_light at0054D446
|
||||
(E865FDFFFF →0054D1B0). Retail's ranking input in this routine is the supplied
|
||||
frame origin with player/cell offset, before combining LIGHTINFO.offset;
|
||||
do not casually equate it with the final light position in a future port.
|
||||
Neither a nearest-eight-only patch nor a pool redesign is authorized here.
|
||||
Wait for the actual consumed-light checkpoint; AP-16/AP-35/AP-85 remain open.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue