other | ||
.gitattributes | ||
README.md | ||
source-code-links.md |
📜 GTA V Source Code Build Guide
This tutorial will accompany you in compiling and setting up GTA 5 source code.
Archived for various reasons but it's still be up-dated.
Contents
- Prerequisites
- Prerequisites Setup
- Patching The Source Code
- Building Process
- Patching Game Assets
- Running The Game
- BankRelease & Debug Controls
- Known Bugs and Errors
- Working Status
- QNA
- Final Thoughts
Prerequisites
Base
- Windows 10/11
- LTSC 2021 Recommended, but you can use Normal Windows 10/11 too.
- Latest Grand Theft Auto V Files from Steam, Epic Games or maybe Rockstar Games Launcher.
- Minimum 65GB Free Space, 140GB+ is Recommended because of the game files and programs.
- GTAVSP.7z - Source Code
- Download Link: All Available Download Links
- Archive Password:
Mi76#b>9mRed
- You can verify the authenticity of the file by its SHA1 hash:
ca39323730ed644fa534a2946506d4287f92a799
- To verify with 7-Zip, right click the file and select
7-Zip > CRC SHA > SHA1
- To verify with 7-Zip, right click the file and select
- update.rpf and update2.rpf from GTA V build 2699
- Some Patience and Technical Competence
Dependencies
- Visual Studio 2012
- DirectX SDK June 2010
- (OPTIONAL) 3D Studio Max 2010 SDK
- Incredibuild 4.0
- This is only needed for compiling Shaders and Game Scripts.
- 7-Zip
- For extracting the archives.
- OpenIV
- For editing the game files.
- Git
- For Applying some patches.
Miscellaneous
- Rush Patches
- DLL Patches
- (OPTIONAL) 3rdParty Folder
- (OPTIONAL) gIKgDXuVHNzIgXkiwpB.zip - Art Asset Leak
- Network Fix
- This will fix the Studio or IP related issues.
- Mixed Patches
Prebuilt Files
- Shaders
- Scripts (Already included in update.rpf and update2.rpf from GTA V build 2699, Just for backup purposes.)
Note
It is recommended to create a virtual machine, Although the build process can be done on your Real PC too!
in Windows, VMWare, Hyper-V or VirtualBox are recommended to run the Virtual Machine.
in Linux, virt-manager are recommended to run the Virtual Machine.
Prerequisites Setup
- Install DirectX SDK June 2010
- If you get error S1023, Uninstall
Visual C++ 2010 Redistributable
& Reinstall DirectX SDK - (June 2010).
- If you get error S1023, Uninstall
- Install 7-Zip
- Install Visual Studio 2012
- Uncheck all optional components in the installer except "Microsoft Foundation Classes for C++" to save space due to none of them are needed for the build.
- Install Update 4 for Visual Studio 2012
- Install Incredibuild 4.0
- If you encounter the error that the installer is "Blocked by your administrator", follow these steps:
- Hold Shift and right click the
incredibuild4_0.exe
file, select "Copy as path" - Open Command Prompt as Administrator
- Paste the path and press Enter
- Hold Shift and right click the
- Select to install "Incredibuild Agent", "Incredibuild Coordinator", and the extension for Visual Studio
- If you encounter the error that the installer is "Blocked by your administrator", follow these steps:
- Install OpenIV
- (OPTIONAL) Install 3D Studio Max 2010 SDK
- Create X:\ Drive by following the steps at the bottom:
- Open Command Prompt
- Create a new folder called "GTA" to the Desktop or anywhere that you want
- Run
net use X: \\localhost\c$\<Path to working folder for build> /persistent:yes
- Example:
net use X: \\localhost\c$\Users\<username>\Desktop\GTA /persistent:yes
- Example:
- Create the folder
X:\gta5
and copy all folders fromGTAVSP.7z\GTA V Source
into it - Right click the folder
X:\gta5
, select "Properties", uncheck "Read-only", click Apply then OK - Open Command Prompt as Administrator and run the following commands, then close:
setx /m RS_TOOLSROOT X:\gta5\tools_ng
setx /m DXSDK_DIR "C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)"
setx /m RS_CODEBRANCH X:\gta5\src\dev_ng
setx /m RS_PROJECT gta5
- Put all the game files to the
X:\gta5\titleupdate\dev_ng
directory - To ensure changes are finalized, restart build machine/computer.
Patching The Source Code
- Open
rush_patches-master.zip
- Copy
game
andrage
folders toX:\gta5\src\dev_ng
, make sure to overwrite when copying - (OPTIONAL) To skip launcher requirement for running the game, copy
game
andrage
folders fromrush_patches-master.zip\OPTIONAL_FIXES
to the same folder - Copy all folders in
dll_patches_x.zip
toX:\gta5\tools_ng\bin
, make sure to overwrite when copying - Extract
Network Fix.zip
and put these 2 files tox:\gta5\tools_ng\etc\globals
, make sure to overwrite when copying - (OPTIONAL) Install 3rdParty Folder, Extract and Put the folder to
X:\
- This is where Git comes in handy, Do this steps in order to apply the mixed patches
- Extract and Put everything in
Mixed_Patches.zip
toX:\gta5\src\dev_ng
Directory - Launch
auto.bat
then wait until all the patches to applied - Close the command prompt.
- Extract and Put everything in
- We need to increase max rpf filepack size, watch this steps:
- Find this file:
X:\gta5\src\dev_ng\rage\base\src\file\packfile.cpp
- Go to Line 62 and change this:
- Find this file:
extern const int MaxPackfiles = 1024+718+650/*HD texture pack*/+256/*even more packs*/+256/*more DLC for 2018*/+256/*more DLC for 2019*/+256/*more DLC for 2020*/+256/*more DLC for 2021*/;
To This:
extern const int MaxPackfiles = 1024+718+650/*HD texture pack*/+256/*even more packs*/+256/*more DLC for 2018*/+256/*more DLC for 2019*/+256/*more DLC for 2020*/+256/*more DLC for 2021*/+512/*more DLC for 2024*/;
By far, Your Folder Structure should look like this:
🖥️ X:
┣ 📂 3rdParty - (OPTIONAL)
┗ 📂 gta5
┣ 📂 src
┃ ┣ 📂 dev_ng
┣ 📂 script
┃ ┣ 📂 dev_ng
┗ 📂 tools_ng
Building Process
Building The Game Binary/Executable
- Run
X:\gta5\src\dev_ng\game\VS_Project\load_sln_unity_2012.bat
- If prompted with "How do you want to open this file?", check "Always use this app to open .sln files" and Select Visual Studio 2012 then click OK
- Once the solution loads, open the dropdown menu that says "Debug" at the top, select "Configuration Manager"
- Change "Active Solution Platform" to "x64" and close the configuration window
- Hold Ctrl key and click all projects under "GameLibs" and "Rage" folder, right-click and select "Properties"
- In the "Configuration" dropdown, select "All Configurations"
- Select
C/C++ > All options
, under "Look for options or switches", search "err" and set "Treat Warnings as Errors" to "No (/WX-)", then click "Apply" and "OK"- For faster compiles, search "mul" and set "Multiprocessor Compilation" to "Yes (/MP)"
- If you get the error
C1060: Compiler is out of heap space
during build, come back to the above setting and turn it off
- If you get the error
- For faster compiles, search "mul" and set "Multiprocessor Compilation" to "Yes (/MP)"
- Right-click the "game" project and select "Properties" and do step 5,6 again
- Change build the type at the top of the window from "Debug" to "BankRelease"
- This Step is optional, you can build the game in "Debug" too but you will lost alot of performance
- At the top of the window, select
Build > Build Solution
and wait for build to finish - Copy output binary to game folder.
If you confused, Watch this video:
Warning
Building shaders and game scripts can be skipped using the prebuilt files above
For Shaders, Extractcommon.zip
and just put thecommon
folder to the Game Directory
For Scripts, Run OpenIV and put thescript.rpf
file to\update2.rpf\x64\levels\gta5\script
These steps are here to allow modding or for those who prefer to build from source as much as possible.
Building Shaders
- Under "Shaders", right click the "shaders_rc" project and click "Build"
- (OPTIONAL) Build low quality shaders
- Right click the "shaders_rc" project and click "Properties"
- Select
Configuration Properties > NMake
- Under "General", change all command lines from ending with
win32_40.bat
to ending withwin32_40_lq.bat
, then click "Apply" and "OK" - Rebuild shaders and wait it to finish
- Copy
X:\gta5\titleupdate\dev_ng\common
to game directory.
Building Game Scripts
- Open Command Prompt and Run the following commands:
X:
cd X:\gta5\src\dev_ng
setenv
cd ..\..\tools_ng\bin\RageScriptEditor
ragScriptEditor
- In the editor, select
File > Open Project
and openX:\gta5\script\dev_ng\singleplayer\GTA5_SP.scproj
- Select
Compiling > Intellibuild > Build Project
and wait until the compiling process finishes - Run OpenIV, select "Windows" under "Grand Theft Auto V"
- Select the game folder and click "Continue"
- Open
<Game Directory>\update\update2.rpf\x64\levels\gta5\script
- Delete
script.rpf
- Click the "Edit mode" button, and copy
X:\gta5\titleupdate\dev_ng\x64\levels\gta5\script\script.rpf
to the OpenIV window.
Patching Game Assets
Main Game Assets
- Install
update.rpf and update2.rpf from GTA V build 2699
from Prerequisites List - Put
update.rpf
andupdate2.rpf
files to<Game Directory>\update\
folder- Dont forget to backup your old files from update folder.
Modifying the RPF Files
If you ever modify the RPF files, dont forget to encrpyt them.
Here you can see how to do it:
- From
rush_patches-master.zip
, copy all files in theARCHIVEFIX
folder to a separate location - Drag RPF file(s) onto
ArchiveFix.exe
- Don't drag the both files at the same time, just drag one by one.
Running The Game
- Rename Original GTA Executable to
LGTA5.exe
and Rename your compiled executable toGTA5.exe
- In the game directory, create a file named
launch.bat
and add these contents:
cd %~dp0
GTA5.exe -noSocialClub -nokeyboardhook -nonetlogs
- (OPTIONAL) Add additional arguments:
-kbgame
- Start game with game keyboard enabled-output
- Show console log of game, the game opens a little bit slow.-rag
- Enable support for RAG, the internal game debugging tool-ragUseOwnWindow
- Use it with-rag
parameter to make game run outside of RAG Render Window- DO NOT Forget to Launch RAG Before launching the game if u using any RAG parameters
-DoReleaseStartup
- Start real Story Mode on launch, Ignore if it says unknown parameter/command- If you dont type this parameter, you will spawned in a random location as a random character with a random clothes
- Additional standard game arguments can be added as well.
- (OPTIONAL) Launch RAG with the following commands in Command Prompt:
X:
cd X:\gta5\src\dev_ng
setenv
cd ..\..\tools_ng\bin\rag
rag
- Run
launch.bat
BankRelease & Debug Controls
Working Status
Compiling
- Can Compile Game
- Can Compile Tools
- Can Compile Game Scripts
- Can Compile Shaders
Main Working Status
- Game
- Script Hook V and ASI Loaders
- It doesn't work because memory offsets and certificate problems.
- Script Hook V and ASI Loaders
- Tools
- RagScriptEditor
- Rag
- Rag UI
- Rag Interface
- Map Viewer
- Shortcut Menu
- Other Tools
- Note that Some Perforce login required tools will not work, they need some modifications and Perforce.
- Perforce Download Links:
- Helix Core: https://www.perforce.com/downloads/helix-core-free-small-teams
- Helix Visual Client: https://www.perforce.com/downloads/helix-visual-client-p4v
- Perforce Download Links:
- Note that Some Perforce login required tools will not work, they need some modifications and Perforce.
Known Bugs and Errors
When I create "Vehicles" Widgets, the game crashes.
Before Opening The Save Game, just enter the game normally and dont load the save, create vehicle widgets then load the game.
Fatal Error: Unable to create default effect 'common:/shaders/im', cannot continue.
If u didn't put the shaders to the game directory or you dont have the low quality shaders, then this error may appear.
Just try these solutions in order to make the game work:
Solution 1:
Just Simply Put the shaders to the game directory and compile the low quality shaders by following tutorial.
Solution 2:
Just make your shaders quality "High" and dont lower that.
To do this, Follow this steps:
- Go To \Documents\Rockstar Games\GTA V
- Open settings.xml
- Change
<ShaderQuality value="0" />
To<ShaderQuality value="1" />
- Save the file and Done!
Couldn't connect to RAG.exe. Keep trying?
Just Simply Open the RAG Manually, then start launch.bat.
Known Issues
Main Issues
RagScriptEditor
RagScriptEditor crashing while at building cache.
- This is well-known issue, You need to do everything again in VM, if you're already in a VM, Delete the Virtual Machine and start over.
- Related Issues: #46
RagScriptEditor Building Cache stuck at zero
- Sometimes it can happen and i think it's an processor issue, try in single core, dual core or quad core if you have it.
- Related Issues: #15
Gameplay
Game crashes if you open "Keybinds" Menu in BankRelease or Debug Builds
- It's because the game tries to load a missing debug keyboard layout file
- This can probably be fixed by just editing some lines in the source code.
When you load the Save, all of your money will be wiped to zero
- There is a code that does this, i dont know which code but its because we are in BankRelease or Debug
- You can just use money hacks to bring your old money.
QNA
How to hide the debug overlay? (weird texts on the screen)
- CTRL + Tab to the Debug keyboard, and then tap Numpad 0(Insert) 2 times.
- Related Discussions: #21
How to Change the game window name "Fuzzy" to whatever name i want?
- It's very easy to do, follow this steps:
- Find this file:
X:\gta5\src\dev_ng\game\Core\app.cpp
- Go to Line 1020
- The Line should look like this:
if(!CSystem::Init("Fuzzy"))
- Change the "Fuzzy" to whatever name you want!
- Find this file:
Final Thoughts
Thanks for reading my precious tutorial, if u liked it please consider starring or forking the repository.
Credits
- @GTA-Source-Helper
- Network Fix
- @RockstarAdvancedGameEngine
- OneDrive Link for Source Code
- Mirror Link for Art Asset Leak
- Other Contributors / Supporters
- Thanks to all of you guys!