the cutting room mirror

Grand Theft Auto V

This article has a talk page!
view on tcrf.net

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:

  • Story mode DLCs info.
  • Files recovered from "the cnh" and "CarsonGT" devkits
  • src\dev_ng\game\network\Facebook has source code showing how Facebook would've been integrated into GTA V.
  • script\dev_ng\multiplayer\scripts\modes\freemode\Ambient\Placeholder_Pack_Missions: a bunch of placeholder mission stuff like cutscenes.
  • Put the remainings of the camera sequence on this page.
  • Finish up the prologue documentation. There is a lot to go over.
  • More Sharmoota Job documentation please.
    • Look for code related to the estate agent and her mobile phone contact.

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. The area seen in-game. The position is the red/black marker. 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*/

The area seen in-game. The position is the red/black marker.

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*/

The area seen in-game. The position is the red/black marker.

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*/

The area seen in-game. The position is the red/black marker.

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.

The area seen in-game. The position is at the red/black marker.

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*/

The area seen in-game. The position is at the red/black marker.

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.