Skip to content

3b - Backpack, shoulder socket and hip holsters on XRI - #430

Merged
JaXt0r merged 3 commits into
engine/hvr-replacementfrom
engine/hvr-replacement-3b
Oct 24, 2026
Merged

JaXt0r merged 3 commits into
engine/hvr-replacementfrom
engine/hvr-replacement-3b

Conversation

@JaXt0r

@JaXt0r JaXt0r commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Merge order: 1a → 1b → 1c → 1d → 2a → 2b → 3a → 3b → 3c, all into engine/hvr-replacement (no stacking). Each branch still contains the commits of the earlier steps, so after the earlier PR is merged the diff of this one shrinks to its own step. Plan: Docs/HVR-replacement/.

Description

Phase 3b: backpack, shoulder socket and hip holsters on the Xri backend (needs 3a).

  • New BackPack XRI.prefab (slots as children, switched off while on the shoulder; returns to the shoulder when released). The HVR backpack prefab is untouched.
  • XRI rig: Shoulders (backpack on the left, item holster on the right) and Waist/Holsters (two hip holsters) following the head's yaw, not its pitch (VrBodyAnchor).
  • VRBackpack refresh no longer uses _tempIgnoreSocketing; it ignores only the events of items it moves itself and refills silently. This runs on Hvr too.
  • Fix: socketed items had Rigidbody interpolation and flew away in moving slots; now none.
  • Project compiles without GOTHIC_HVR_INSTALLED again (verified).

To test

  • - Hvr: backpack off/on the shoulder, flip categories, put an item in and take it out → inventory consistent, no errors. (touched by the refresh change)
  • - Xri: backpack starts on the left shoulder; take it off → slots show the category; put an item in (valid ring) → inventory +1; flip category/page; take it out → back in the world.
  • - Xri: let go of the backpack → returns to the shoulder, inv_close sound.
  • - Xri: holster a sword at the hip, walk, teleport (Marvin goto) → stays in the holster; draw it.
  • - Xri: swim with a holstered item.
  • Not tested: > 9 items paging, save → load, right shoulder holster, real weapons, UI buttons with the laser. Slot and backpack positions are copied from HVR and untuned.

Test on (delete if irrelevant)

  • PCVR
  • Mobile VR (Quest/Pico)

🤖 Generated with Claude Code

JaXt0r and others added 3 commits October 22, 2026 22:06
…all on the left shoulder, a hand grabs it off (InvOpen), slots show the current category/page, items go in/out with inventory count and save-game vob list, letting go returns it to the shoulder (InvClose) and its slots can't be used there; two hip holsters and a right shoulder holster keep items (rings show only while hovered) and stay in place while teleporting. New "BackPack XRI.prefab" (copy without HVR parts, VR Socket Slots, VrSocketLink, one-hand-only GothicGrabInteractable) and Shoulders/Waist anchors on the XRI rig (VrBodyAnchor: head position and yaw, not pitch - replaces HeadRelativeInventory/HVRPlayerWaist); VrSocketSlot can hold one linked interactable without VobLoader; socketed items get no Rigidbody interpolation (they stayed behind moving slots); VRBackpack ignores only the slot events of the items it re-stacks itself (instead of _tempIgnoreSocketing) and refills silently (HVR phase 3b). No player-visible change on the default Hvr backend.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@JaXt0r
JaXt0r merged commit 20cb5c1 into engine/hvr-replacement Oct 24, 2026
@JaXt0r
JaXt0r deleted the engine/hvr-replacement-3b branch October 24, 2026 05:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant