feat(world): port retail portal-space viewport
Replace the opaque teleport cover with the DAT-authored CreatureMode tunnel, exact retail camera/light/animation timing and easing, and animation-hook audio routing. Compose portal and fade passes below retained UI so gameplay windows and input remain active through F751 travel. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
0eab7497c1
commit
eab23cbdd1
14 changed files with 983 additions and 45 deletions
|
|
@ -113,6 +113,18 @@ loader when preloading emitter meshes. This is not a second DAT reader:
|
|||
`CreateBlockingParticleHook::Execute` `0x00526EF0` and
|
||||
`ParticleManager::CreateBlockingParticleEmitter` `0x0051B8A0`.
|
||||
|
||||
**Retail portal-space viewport adapter (2026-07-15).**
|
||||
`src/AcDream.App/Rendering/PortalTunnelPresentation.cs` uses the extracted
|
||||
Setup/GfxObj mesh pipeline and mandatory `WbDrawDispatcher` for retail's
|
||||
synthetic CreatureMode tunnel object. The adapter does not duplicate mesh or
|
||||
DAT decoding: it resolves the two client-enum assets through `DatCollection`,
|
||||
uses the shared `RetailAnimationLoader`, registers Setup part refs through
|
||||
`WbMeshAdapter`, and submits the animated `SetupMesh` through the existing
|
||||
dispatcher. It clears world clip routing and point lights for the private scene
|
||||
before installing retail's distant light. The lifecycle, camera, animation,
|
||||
and draw ordering are acdream-owned ports of `gmSmartBoxUI`; WorldBuilder never
|
||||
implemented this UI viewport.
|
||||
|
||||
**Workflow:** Before re-implementing any AC-specific rendering or dat-handling
|
||||
algorithm, **check this inventory first**. If we already extracted it (🟢
|
||||
sections), it's in `src/AcDream.App/Rendering/Wb/` — use our copy. If WB has
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue