MaslowCorporation / GTA-SAN-ANDREAS-VR

This is an implementation of Grand Theft Auto San Andreas, in VR, using UEVR
5 stars 0 forks source link

GTA SAN ANDREAS VR Mod 🌎

GTA San Andreas Logo

Hi, amigo vato loco ;-) ! 🎮

Welcome to the world of Grand Theft Auto: San Andreas in VR !

The goal of this Github repository is to document the process of turning Grand Theft Auto: San Andreas Definitive Edition into a VR game, thanks to the fantastic UEVR Mod from Lord Praydog

https://github.com/praydog/UEVR

If the documentation scares you, don't worry ! This README describes in detail each step from zero to hero ;-)

In Game Setup (Shadow Fix, Windowed Mode setup, etc...)

Install the First Person Car Mod

First we need to install Cleo Redux. Download and run the cleo_redux_setup.exe installer, located at

https://re.cleo.li/

IMPORTANT: During the Cleo Redux installation, you must select the copied folder you created for your game as the installation folder !!!!

Once Cleo Redux is installed, we will install the first person car mod from Andre500, located here

https://www.gtainside.com/en/sanandreas-definitive-edition/mods/172436-first-person-view-in-the-car

Download the mod, extract the .rar archive to a folder, then copy/paste the contents of the extracted folder, to the folder

Gameface\Binaries\Win64\CLEO of your GTA SAN ANDREAS game

This folder is located inside your copied game folder, where you just installed CLEO REDUX ;-)

Now you can start your game, and test the first person mod ! Simply activate/deactivate the First Person view with the P key.

NOTE: motorcycles don't have first person view, but you can always place the camera inside the player's head, thanks to UEVR ;-)

UEVR Setup

https://dotnet.microsoft.com/en-us/download/dotnet/6.0

see https://superuser.com/a/1565786 for the how-to.

Also disable the download protection mechanism in your web browser if it is causing issues.

https://github.com/praydog/UEVR/releases

(Please note that the UEVR menu toggle works only with a PC gamepad, not with the VR controller, at least in my case, using a Oculus Quest 2. Yours may vary.)

UEVR Camera positioning

RT + Left Stick: Move the camera left/right/forward/back RT + Right Stick: Move the camera up/down RT + B: Reset camera offset RT + Y: Recenter view RT + X: Reset standing origin

If you want to reset all the UEVR settings to default settings, in case of some weird camera glitches, or other issues, simply click the Reset to Default Settings button in the UEVR menu !

GTA San Andreas Logo

Add a VR steering wheel and hands that you can position as you wish (thanks to steam-vr-wheel and vjoy)

First, on the main UEVR menu (not the in-game UEVR menu, the first menu you use to inject to the game) , scroll down through the Game Settings list , and find the VR_MotionControlsInactivityTimer entry . The default value for this is something like 30.000000 , but you must set it to 1.000000 , in order to avoid the long timeouts when you switch from using the PC Gamepad to the VR controllers.

You also may need to calibrate your left and right VR controller joysticks, If you see weird in-game glitches when using the VR joysticks.

What I mean by 'weird in-game glitches' is , you may notice that when you use the VR joysticks and you stop using them, the character may still keep moving, or the menu pickers may randomly do movements.

This is due to a well known issue called Joystick drift.

This is when the joysticks of a controller are not calibrated properly due to long term use. Thankfully, there's a way to help mitigate the issue (It can't be fixed completely, but it can be diminished. The only way to fix this issue is to get new controllers)

For more info about how to re-calibrate the VR joystick, on the Oculus Quest 2 headset,

see this video

https://www.youtube.com/watch?v=L-vOz2UhStY

and this page on the Meta website

https://www.meta.com/help/quest/articles/fix-a-problem/troubleshoot-headsets-and-accessories/touch-controller-drift/

Every headset has it's own similar mechanism, so look for your specific headset calibration settings ;-)

Ok, now that you've set VR_MotionControlsInactivityTimer to 1.000000 , we need to talk about how you'll play the game. Simply put:

Okay ! First you need to download steam-uevr-wheel

Download the steam-uevr-wheel.zip file from the Releases page of steam-uevr-wheel ,

then unzip this file. Once unzipped, you'll get a steam-uevr-wheel folder. Place this folder in your Documents folder.

Your steam-uevr-wheel folder MUST BE located at C:\Users\YOUR_WINDOWS_USER_NAME\Documents\steam-uevr-wheel

Inside this steam-uevr-wheel folder, there's a steam-uevr-wheel.bat file. Double click this file to open steam-uevr-wheel. A command line window will open. On the first opening, you'll get an error No such file or directory: 'C:\\Users\\YOUR_USERNAME\\AppData\\Local\\steam-vr-wheel\\config.json' Load default? . Choose Yes.

Okay ! Now, you need to install a tool called vjoy

Download and install the latest vJoySetup.exe from this sourceforge.net page

Okay ! Now, you need to download and add the VRHands UEVR plugin to your UEVR game folder.

Download the VRHands.dll file from the Releases page of steam-uevr-wheel ,

Open your UEVRInjector.exe as admin, and click on Open Global Dir . It will open a File Explorer to the location where the UEVR game folders are. Locate the SanAndreas folder, and copy paste your VRHands.dll file inside the SanAndreas/plugins folder.

Mission accomplished ;-) You have installed everything needed to use VR motion controls for cars/trucks/boats !

Using the VR steering wheel in-game is very simple.

(IMPORTANT !!) If the wheel is not properly aligned in-game, simply recenter your SteamVR position On Oculus headsets, press the left VR controller's menu button, to make the SteamVR VR menu appear, then click the Recenter button in the bottom bar of the VR menu on-screen. A countdown will appear. Look in the direction where you want the recenter to be made, and that's it. The steam-uevr-wheel will be properly recentered ;-)

Fix the camera positioning issue with the first person view in vehicles

When you're in a car/boat/truck/plane/etc... in first person mode, sometimes, you may see that the camera is inside the character's body.

You can fix this by positioning the camera in a way so you can see things clearly ;-)

To position the camera, do these things:

(Please note that the UEVR menu toggle works only with a PC gamepad, not with the VR controller, at least in my case, using a Oculus Quest 2. Yours may vary.)

RT + Left Stick: Move the camera left/right/forward/back RT + Right Stick: Move the camera up/down RT + B: Reset camera offset RT + Y: Recenter view RT + X: Reset standing origin

Problem 'kinda' fixed ;-)

Hey, be happy that it's even possible to play this game in VR to begin with. Don't be too demanding, just enjoy that it's even possible, thanks to Praydog's UEVR tool ;-)

Fix the missing crosshairs issue

When I first tried the game in VR, I noticed that the crosshairs were missing when aiming weapons.

I toyed with the UEVR settings then I managed to get the crosshairs visible. But then I had another issue.... The crosshairs were imprecise. I then found another fix to get the crosshairs precise.

To get things working properly, just follow one of those methods:

1) Via Oculus Link/Airlink (for Meta headset users)

2) Via Virtual Desktop (for all headset users ;-)

NOTE: The crosshairs fix ONLY works with OpenXR chosen as the UEVR runtime.

Here's a similar repository for Grand Theft Auto III: Definitive Edition ;-)

Link to GTA 3 VR

Here's a similar repository for Grand Theft Auto Vice City: Definitive Edition ;-)

Link to GTA Vice City VR

Other fixes and improvements will be added over time. If you can provide help, it will be greatly appreciated, because I'm all alone doing this ;-)

If you want to edit the source code of the UEVR driving plugin, follow this README

Thank you for existing ;-)