Document Batch 2–3 Phase 1 archaeology: shared player-base architecture and per-character ability inventories.
Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,11 +2,11 @@
|
||||
|
||||
**Status: Draft**
|
||||
|
||||
- **Scope (Batch 1 seed):** Native HUD / widget-controller / attribute-delegate path; Advanced Sessions plugin presence. No widget tree or session Blueprint flow yet.
|
||||
- **Inspection method:** Native C++ read; PluginToolset; subclass seeds.
|
||||
- **Scope:** Native HUD / widget-controller path (Batch 1); Pass 3 resolution of `WBP_PlayerHUD` and GM/PC framework ties. Full frontend/session graphs deferred to Batch 4.
|
||||
- **Inspection method:** Native C++ read; Batch 2 AssetTools class/tags/deps/refs; ObjectTools GM_Dungeoneer CDO; BlueprintTools PC_Character.
|
||||
- **Last updated:** 2026-07-16
|
||||
- **Current phase:** Phase 1 — Static Architecture
|
||||
- **Last completed pass:** Pass 2 (Batch 1)
|
||||
- **Last completed pass:** Pass 3 (Batch 2)
|
||||
- **Next pass expected to contribute:** Batch 4 Passes 4 + 10
|
||||
|
||||
## Draft tracking
|
||||
@@ -16,35 +16,69 @@
|
||||
- OverlayWidgetController attribute broadcasts/bindings
|
||||
- AdvancedSessions / AdvancedSteamSessions enabled + descriptor paths
|
||||
- Widget subclass path seeds
|
||||
- **WBP_PlayerHUD resolved as AHUD (`RIRHUD` child)**
|
||||
- GM_Dungeoneer assigns HUDClass / PC / PS
|
||||
|
||||
### Pending sections
|
||||
- Main menu / browser / character-select widget flow
|
||||
- Production vs Example Advanced Sessions Blueprints
|
||||
- WBP_Overlay / progress bar bindings
|
||||
- WBP_Overlay / progress bar bindings deep dive
|
||||
- CommonUI usage
|
||||
- BPI_PlayerController.UpdatePlayerHUD widget targets
|
||||
|
||||
### Evidence still required
|
||||
- Whether HUD class defaults assign OverlayWidgetClass / ControllerClass
|
||||
- Whether both Overlay ASC HUD and DEPRECATED UpdatePlayerHUD run in PIE
|
||||
- Session create/find/join graphs
|
||||
|
||||
---
|
||||
|
||||
## WBP_PlayerHUD resolution (Pass 3)
|
||||
|
||||
| Field | Value |
|
||||
|-------|--------|
|
||||
| Path | `/Game/_Main/UI/Widgets/HUD/WBP_PlayerHUD` |
|
||||
| Asset class | `WBP_PlayerHUD_C` |
|
||||
| Generated parent | `/Script/REALMSINRUIN.RIRHUD` |
|
||||
| Type | **AHUD Blueprint** (not `UserWidget`) |
|
||||
| IsDataOnly | True |
|
||||
| Referencers | `/Game/_Main/Blueprints/Game/GameMode/GM_Dungeoneer` |
|
||||
| Dependencies | REALMSINRUIN, `/Game/_Main/UI/Widgets/WBP_Overlay`, `/Game/_Main/UI/Widgets/WidgetController/BP_OverlayWidgetController` |
|
||||
|
||||
**Observed Implementation:** Naming `WBP_` is misleading Documented Intent; asset is the game HUD class assigned on `GM_Dungeoneer`. Relationship to `ARIRHUD`: direct Blueprint child that supplies OverlayWidgetClass / OverlayWidgetControllerClass via deps to `WBP_Overlay` + `BP_OverlayWidgetController`.
|
||||
|
||||
---
|
||||
|
||||
## HUD init (Observed Implementation)
|
||||
|
||||
### Native GAS path
|
||||
|
||||
`ARIRPlayerCharacter::InitAbilityActorInfo` → `ARIRHUD::InitOverlay(PC, PS, ASC, AS)` → create `OverlayWidgetClass` → `UOverlayWidgetController` binds ASC attribute delegates → `BroadcastInitialInitialValues` → `AddToViewport`.
|
||||
|
||||
checkf text references `WBP_PlayerHUD` for class assignment.
|
||||
### Legacy BP path (still connected)
|
||||
|
||||
**Subclass seeds:** `WBP_Overlay`, health/mana progress bars, `BP_OverlayWidgetController`.
|
||||
`BP_PlayerCharacterBase` EventPossessed → Delay 0.4 → `Server_UpdateHUD` → compute DEPRECATED health/mana percentages → `BPI_PlayerController.UpdatePlayerHUD`.
|
||||
|
||||
**Technical Debt:** Stamina delegates reuse Mana signature types in OverlayWidgetController.h.
|
||||
**Technical Debt:** Dual attribute UI; Stamina delegates reuse Mana signature types in OverlayWidgetController.h.
|
||||
|
||||
---
|
||||
|
||||
## Framework assignments (GM_Dungeoneer CDO)
|
||||
|
||||
| Property | Value |
|
||||
|----------|--------|
|
||||
| HUDClass | `WBP_PlayerHUD_C` |
|
||||
| PlayerControllerClass | `PC_Character_C` |
|
||||
| PlayerStateClass | `BP_PlayerState_C` |
|
||||
| DefaultPawnClass | None |
|
||||
|
||||
`PC_Character` implements `BPI_PlayerController`; holds `CharacterSelectHUD`; Enhanced Input IMC `IMC_PlayerDefault` + `IA_Movement`.
|
||||
|
||||
---
|
||||
|
||||
## Sessions (Observed Implementation)
|
||||
|
||||
Project plugins AdvancedSessions + AdvancedSteamSessions enabled (VersionName 5.8). Depend on OnlineSubsystem / Steam stack.
|
||||
Project plugins AdvancedSessions + AdvancedSteamSessions enabled (VersionName 5.8). `GM_Dungeoneer` deps include AdvancedSessions.
|
||||
|
||||
**Unknown:** Live menu usage vs `/Game/_Main/Blueprints/Examples/ExampleAdvancedSessionsFunctionsChar` — Batch 4 Pass 4.
|
||||
**Unknown:** Live menu usage vs Example Advanced Sessions Blueprints — Batch 4 Pass 4.
|
||||
|
||||
**Unknown:** No OnlineSubsystem INI under project `Config/` — Requires Broader Filesystem/Configuration Inspection.
|
||||
**Unknown:** OnlineSubsystem INI location — Requires Broader Filesystem/Configuration Inspection.
|
||||
|
||||
Reference in New Issue
Block a user