Fixes Nameplates disappearing when being snatched or transporting to another dimension
Fixes the ZONE button in the terminal containing the Zone description
Adds the ability to scroll menus using the forward/backwards move input ( previously prev/next weapon buttons )
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.
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:
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.
What
Fixes various minor-to-moderate bugs:
Disappearing nameplates
Dimensions
were introduced withR6
, and with them the need to toggleNavMarker
visibility depending on whether or not the player is in the samedimension
as them.NavMarker.UpdateTrackingDimension()
updates in whatdimension
the marker exists, andNavMarker.OnWarp()
updates whether thisdimension
is the same as the one the Player is in. If true,NavMarker.UpdateEnabledPerDimensionState()
toggles theGameObject
ifNavMarker.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 forNavMarker.gameObject.active
instead ofNavMarker.isVisible
before processing a marker, resulting in it its dimension never being updated, and itsGameObject
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: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.