This page details development materials of Grand Theft Auto V.
|
|
'This page or section details content from the2022 GTA V Source Code Leak.''' |
|
|
'This page or section details content from the"CarsonGT" Devkit Leak.''' |
|
|
To do:
|
Scrapped Mission Content & Info
The Sharmoota Job#
Dialogue#
A devkit containing a Beta version of Grand Theft Auto V has more dialogue left-over from the mission than the final game. Most importantly, dialogue can be found for both setup missions. This audio reveals that there would've been a setup for getting the clown clothing used in the 'Clown Day Stealth' approach. There is also dialogue for the beginning of the Night Stealth approach to the heist. All of this scrapped dialogue shows that Lester would've been involved in the heist, along-side Franklin, Trevor and Michael. Watch on YouTube
Even more leaked audio from The Sharmoota Job from the 2022 source code leak featuring Michael, Franklin, Trevor and Patricia. Watch on YouTube
Prologue#
The header for this mission states that this mission took place in 2003, hinting at the rest of the story happening in 2012. Looking at when GTA V released and when the first screenshots and trailers started coming out, this perfectly makes sense. The info in this mission file contradicts the widely accepted date of 2004.
Hostages Escaping#
Whilst impossible in the final game, there is a fail sequence that would've been triggered if a hostage got away. How this would've happened is unknown. The fail reason is set to 'PRO_FHOSTAWAY'.
Further in the code there is disabled code that would've given all of the hostages a blip on the map, showing that the hostages were going to be more than a tutorial on how to aim a gun.
Weird Cop Blips#
There is a section of scrapped code that, after Trevor hits the shutter switch, would've given all of the cops a red blip on the map. This was scrapped in favour of the red car blips.
Disabling Camera's Sequence#
This mission has a scrapped sequence that would've had the protagonists destroying the server room where all of the camera footage is stored. In the final game there is evidence of this sequence, like an unused interior and some dialogue lines.
In the leaked sources, the only left-overs from this camera sequence are functions for loading and unloading animation dictionaries that aren't related to any animations for this scrapped section, as these animations are meant to play between the end of the guard encounter and the start of this scrapped sequence.
In this code, the sequence is known as 'stageDisableCameras'. This left-over code also shows us that this sequence would've happened right after Michael's encounter with the security guard. The sequence of Brad blasting open the doors to the room with the shutter switch eventually took this scrapped sequence's structure slot.
Caida Libre#
Alternative Van Destruction Sequence#
The mission Caida Libre, internally known as 'Martin1' was supposed to be slightly different. In the source code leak, commented out code can be found for a section in the mission where the player would've destroyed the Sniper Van that the player uses to shoot down the plane by lighting the car on fire using gas trails. This code forced the player to set fire to the van by lighting up the area around the van. During this sequence the van was unmovable. This sequence would've taken place at the same location Michael found the van, which is right next to the Observatory. When there was a fire in a range of '2' units of the van, the van would explode.
There is also other code that would've had either Trevor or Michael walking at and shooting at the van if the value 'pourGasTaskGiven' was set to false. Which character would do this action depended on which character was being used by the player at the moment. With the task being done by the character that the player wasn't using. When the other character walked to a designated position close to the van, the task would stop and the value 'pourGasTaskGiven' would be set to true. This shooting section of code is labeled by a comment as 'do what you need'. This shooting code would've, if given the right weapon, made the other character pour out gasoline from their current position to the van. Why this feature exists is unknown, as in the final game Trevor and Michael are very far away from each-other when Michael gets the task to destroy the van. Though these features were likely a test to see which way of doing things they liked more, and it ended up being neither.
How this removed code looks like in-game: Watch on YouTube
As seen in the video above, the left-over code gives Michael a fuel canister and makes him leave the van when we switch from Trevor to Michael after getting the files from the jet. In front of the car a gas trail is spawned in by a function named 'START_PETROL_TRAIL_DECALS' when the 'createdGasTrail' value is set to false. The code meant to make the van explode when a fire is started nearby doesn't work. The fire behavior seen in this recording is the normal in-game behavior, not the alternative behavior meant for this mission.
Alternative Sniper Location#
In the source code for this mission, an extra commented out location value can be found for the value that sets the sniper location. The used sniper location is set to '-893.0, -446.2, 173.1'. The unused sniper location is '-880.7526, -447.4006, 150.5476'.
When playing the game with this unused position, it is pretty easy to see why this position was cut during development, due to the camera clipping through the building.
How this removed position value looks like in-game: Watch on YouTube
Casing the Jewel Store#
Franklin Collecting Pictures#
According to the 2023 source code leak, there was an idea floating around about possibly making Franklin pick up the pictures Lester prints nearing the end of the mission. In the final game, the garment factory workers do this task instead.
Franklin and Lamar#
Trailer Left-Over#
The mission Franklin and Lamar contains left-over code that was used for recording some of the trailer shots.
//BOOL bTrailerSkidsActive = FALSE
It is unknown what the 'Trailer Skids' did, as the function that would've used this variable no longer exists.
Cut Traffic Cars#
There are cut cars that would've appeared in traffic during the racing sequence of this mission.
There is a cut car that would've appeared in traffic at the position <<-1540.7920, -502.6374, 35.3152>>.
/*TrafficCarPos[28] = <<-1540.7920, -502.6374, 35.3152>>
TrafficCarQuatX[28] = 0.0080
TrafficCarQuatY[28] = 0.0105
TrafficCarQuatZ[28] = -0.5651
TrafficCarQuatW[28] = 0.8249
TrafficCarRecording[28] = 59
TrafficCarStartime[28] = 29003.0000
TrafficCarModel[28] = pcj*/

There is also a cut car found at the position <<-1288.1838, -331.0012, 36.3186>> that was cut due to there being a chance that it collided with another car upon creation.
//2047053 - There's a chance this car collides with another one on creation.
/*TrafficCarPos[34] = <<-1288.1838, -331.0012, 36.3186>>
TrafficCarQuatX[34] = -0.0073
TrafficCarQuatY[34] = -0.0118
TrafficCarQuatZ[34] = 0.8727
TrafficCarQuatW[34] = 0.4880
TrafficCarRecording[34] = 122
TrafficCarStartime[34] = 32000.0000
TrafficCarModel[34] = intruder*/
Another car in the same block as the previous one at the position <<-1325.1547, -349.2796, 36.0825>>.
/*TrafficCarPos[43] = <<-1325.1547, -349.2796, 36.0825>>
TrafficCarQuatX[43] = 0.0059
TrafficCarQuatY[43] = 0.0067
TrafficCarQuatZ[43] = 0.7667
TrafficCarQuatW[43] = 0.6419
TrafficCarRecording[43] = 71
TrafficCarStartime[43] = 37056.0000
TrafficCarModel[43] = intruder*/
Another car in the same block as the previous one at the position <<-1233.9241, -302.6840, 37.1774>>.
/*TrafficCarPos[46] = <<-1233.9241, -302.6840, 37.1774>>
TrafficCarQuatX[46] = -0.0099
TrafficCarQuatY[46] = -0.0010
TrafficCarQuatZ[46] = 0.9191
TrafficCarQuatW[46] = 0.3939
TrafficCarRecording[46] = 76
TrafficCarStartime[46] = 37256.0000
TrafficCarModel[46] = manana*/
Another car in the same block as the previous one at the position <<-1233.9241, -302.6840, 37.1774>>.
/*TrafficCarPos[47] = <<-1218.5978, -293.2798, 36.9743>>
TrafficCarQuatX[47] = -0.0009
TrafficCarQuatY[47] = -0.0013
TrafficCarQuatZ[47] = 0.8495
TrafficCarQuatW[47] = 0.5276
TrafficCarRecording[47] = 78
TrafficCarStartime[47] = 37422.0000
TrafficCarModel[47] = intruder*/

There is also a car cut at the position <<-1068.7451, -764.3805, 18.8507>>.
/*TrafficCarPos[77] = <<-1068.7451, -764.3805, 18.8507>>
TrafficCarQuatX[77] = 0.0089
TrafficCarQuatY[77] = -0.0077
TrafficCarQuatZ[77] = 0.2601
TrafficCarQuatW[77] = 0.9655
TrafficCarRecording[77] = 102
TrafficCarStartime[77] = 70200.0000
TrafficCarModel[77] = intruder*/

A cut car at the position <<-801.6751, -1063.4163, 11.5952>>.
/*TrafficCarPos[90] = <<-801.6751, -1063.4163, 11.5952>>
TrafficCarQuatX[90] = 0.0146
TrafficCarQuatY[90] = -0.0269
TrafficCarQuatZ[90] = 0.9700
TrafficCarQuatW[90] = -0.2412
TrafficCarRecording[90] = 18
TrafficCarStartime[90] = 99500.0000
TrafficCarModel[90] = intruder*/
Cut Set Piece Cars#
There are multiple cut set piece cars.

Cut set piece at the position <<-1273.2351, -545.6791, 30.4319>>.
/*SetPieceCarPos[13] = <<-1273.2351, -545.6791, 30.4319>>
SetPieceCarQuatX[13] = 0.0109
SetPieceCarQuatY[13] = -0.0390
SetPieceCarQuatZ[13] = 0.9335
SetPieceCarQuatW[13] = -0.3563
SetPieceCarRecording[13] = 508
SetPieceCarStartime[13] = 54500.0000
SetPieceCarRecordingSpeed[13] = 1.0000
SetPieceCarModel[13] = pcj*/

Cut set piece at the position <<-684.8077, -1054.4844, 14.9669>>.
/*SetPieceCarPos[27] = <<-684.8077, -1054.4844, 14.9669>>
SetPieceCarQuatX[27] = -0.0101
SetPieceCarQuatY[27] = -0.0407
SetPieceCarQuatZ[27] = 0.8647
SetPieceCarQuatW[27] = 0.5005
SetPieceCarRecording[27] = 27
SetPieceCarStartime[27] = 104500.0000
SetPieceCarRecordingSpeed[27] = 1.0000
SetPieceCarModel[27] = manana*/
Recording Aliens#
There is a scrapped piece of code that was meant to record the player driving into the aliens. This system would've made a clip of the player hitting the aliens that could then be edited and exported through the Rockstar Editor.
// IF fTimeForPlayerToReachAliens < 3.0
// REPLAY_RECORD_BACK_FOR_TIME(2.5, 2.5, REPLAY_IMPORTANCE_HIGHEST)
// ENDIF
Scrapped House Sequences#
At some point during development there were two extra mission points for the end of the mission. The first scrapped mission point known as 'GO_INSIDE_HOUSE' would've played after the famous 'Yee Yee Ass Haircut' cutscene. During this mission objective the player would've had to walk inside of Franklin's home. In the final game, the cutscene automatically puts Franklin inside his bedroom.
The other scrapped sequence known as 'SAVE_TUTORIAL' would've given the player a tutorial on game saving. What this tutorial would've looked like is unknown. In the final game the saving tutorial is given through the cutscene shown at the end of the mission. This sequence would've happened right after the scrapped 'GO_INSIDE_HOUSE' sequence.
Scrapped Features
Riots#
There isn't a lot of code for this feature left over in the leaks. The only code that can be found relating to this feature would've given pedestrians with a valid inventory a normal, basic pistol and a normal Micro-SMG with infinite ammo.
This code was never added to the final game and is missing in all compiled releases of GTA V.