diff --git a/src/AcDream.App/UI/Layout/InventoryController.cs b/src/AcDream.App/UI/Layout/InventoryController.cs index 26a71386..cdb4dc48 100644 --- a/src/AcDream.App/UI/Layout/InventoryController.cs +++ b/src/AcDream.App/UI/Layout/InventoryController.cs @@ -8,7 +8,8 @@ namespace AcDream.App.UI.Layout; /// Binds the imported gmInventoryUI tree (LayoutDesc 0x21000023) and populates it from /// . The acdream analogue of retail /// gmInventoryUI/gmBackpackUI/gm3DItemsUI ::PostInit (named-retail decomp 176236/176596/176728). -/// Read-only: no container switching / drag / wield-drop wire (later sub-phases). +/// Container-switching is live (click a side bag → Use 0x0036 → ViewContents 0x0196 full-replace); +/// drag-into-bag / wield-drop wire are later sub-phases. /// public sealed class InventoryController { @@ -237,7 +238,9 @@ public sealed class InventoryController } /// The effective open container — the explicit one, or the player (main pack) by default. - /// Resolved live (not cached at ctor) so a late-arriving player guid is handled. + /// Resolved live (not cached at ctor) so a late-arriving player guid is handled. The default + /// sentinel is 0; once the main pack is explicitly opened, _openContainer holds the player + /// guid instead — both resolve here to the same main-pack container, so the paths are equivalent. private uint EffectiveOpen() => _openContainer != 0 ? _openContainer : _playerGuid(); /// Add a populated cell wired to its click role: container cell → open+select,