DSprtn / GTFO_VR_Plugin

A plugin to add full roomscale Virtual Reality support to your favorite game!
MIT License
143 stars 13 forks source link

Disappearing nameplates, menu scroll, ZONE button #60

Closed Nordskog closed 4 months ago

Nordskog commented 4 months ago

What

Fixes various minor-to-moderate bugs:

Disappearing nameplates

Dimensions were introduced with R6, and with them the need to toggle NavMarker visibility depending on whether or not the player is in the same dimension as them. NavMarker.UpdateTrackingDimension() updates in what dimension the marker exists, and NavMarker.OnWarp() updates whether this dimension is the same as the one the Player is in. If true, NavMarker.UpdateEnabledPerDimensionState() toggles the GameObject if NavMarker.isVisible is also true.

Since we completely replace the logic of NavMarkerLayer.AfterCameraUpdate() where this originally takes place, this has been broken since the release of R6. https://github.com/DSprtn/GTFO_VR_Plugin/commit/fd61dce706de701e4d835a2d79003166ea1abe5a adds the missing logic, but a week later https://github.com/DSprtn/GTFO_VR_Plugin/commit/12e205dd6899749c21659777a1b1b86cd9f98a3d incorrectly added a check for NavMarker.gameObject.active instead of NavMarker.isVisible before processing a marker, resulting in it its dimension never being updated, and its GameObject never being re-enabled after being disabled.

tl;dr I fixed and broke it about a week apart.

Terminal ZONE button

As of R8, Zones can have elaborate descriptive names, such as Project Insight Server Farm [1], Zone_245. This is reflected in the Zone button in the Terminal interface, extending far beyond its bounds:

eDUnDS1

We look for the last space in the string, and if present cut off anything before it. When listing anything, you want just the raw ZONE_XXX value.

Menu scroll using forward/backwards

Menu scrolling is currently mapped to previous/next weapon buttons. Apart from these jumping very far, occasionally skipping content, they may not even be mapped to anything at all if the player uses the Radial Menu instead.

Movement forward/backwards is an input that will always be available, and provides smooth responsive scrolling.

This change only affects the overlay menu, and other uses of weapon prev/next, such as the Comms menu, are unchanged.

DSprtn commented 4 months ago

LGTM!