SilentPatch for Grand Theft Auto: 2026 Update

41 min read

Introduction

After SilentPatch went open source in late 2024, it’s time for another update. In the epilogue of the last release post, I theorized that this may be the last update of this size:

Will there ever be another SilentPatch for the GTA games? I don’t know. Half a decade passed between “The Corona Update” and this post, so if that’s any indicator, it’s likely there won’t be.

However, by now it’s an informal rule that nothing I foresee about the future of SilentPatch holds true. The community created hundreds of reports on GitHub, and many discoveries were made that culminated in this SilentPatch update being the biggest content update to date: over 100 new fixes were introduced across the trilogy, many of which restore content that was shipped in the game, but didn’t work due to miscellaneous issues. Many possible crashes and mod incompatibilities were fixed, and dozens of little gameplay bugs were corrected. Numerous interesting GTA mods were also released this year, so if you were considering starting a new playthrough, now it’s the best time to update SP and enjoy these games again!

Traditionally, this blog post will detail the most interesting fixes introduced in this update. This is not a full change log, mind you: the full list on the mod pages includes more than what is highlighted here. If you enjoy reading about obscure issues, grab a cookie and enjoy the read!


Before I start: you may have noticed numerous changes on the blog that went live alongside this post. A few changes are worth noting:

  1. Most importantly: The blog branding has undergone a makeover! The old banner was fairly outdated, and the previous cookie was getting a bit… stale 😆 It’s a subtle upgrade, but the new art is much sharper and scales to different displays perfectly. Hope you like the refreshed look!
  2. Multiple buttons at the bottom of each page have been replaced with a single, unified button that leads to a new Support Me page. This new page lists my profiles on websites like Patreon and includes all my affiliate links. If you want to support me, e.g. by buying games through my links, this is the easiest way to use them.
  3. Page titles are now more descriptive, so it’s easier to tell apart the mod pages from portfolios, both in the browser tabs and in the search engines.
  4. The Dark Mode has been improved to also affect the scroll bars and dropdowns, and I fixed a bug where the blog could have flashbanged users using the Dark Mode on the blog, but Light Mode in the OS/browser. The overall experience should now be much nicer.
  5. Separate share buttons may have been nice in 2018 when I started the blog, but they are kind of outdated now. They have been replaced with a single Share button that uses a “native” sharing feature present in Windows, Android, and iOS.
  6. Font Awesome has been upgraded to 7, so more modern icons are now in use.

New fixes

Shared fixes

Thirteen years in, scaling issues persist

Affects: All trilogy games.

The PC port of GTA III was not the most thorough when it comes to making the UI scale to resolutions, as evidenced by SilentPatch fixing numerous issues like those for well over a decade. In the past, I fixed a range of scaling issues that made UI elements too small on higher resolutions. I did, however, overlook that some text positions are also not correctly adjusted, even though the texts themselves scale properly. This affects a few screens in GTA III, but is most noticeable in Load Game and Brief menus:

StockSilentPatch
StockSilentPatch

Fixing sizes and placement was not enough, but I only spotted that once everything else was sorted out: at higher resolutions, the right-hand text margins were also incorrect and not scaling to the resolution! This one is subtle enough that even San Andreas had multiple instances of those margins not scaling to the resolution. That said, once they’re fixed, the difference is obvious:

StockSilentPatch

Not only the UI elements needed scaling fixes: while coronas always scaled to resolution correctly, recently it’s been identified that the corona flares did not! Turns out, this is one of the reasons why the emergency sirens and sun always felt “weaker” on PC. In 4K, the difference is striking:

StockSilentPatch
StockSilentPatch

That’s a really weird rock

Affects: All trilogy games.

It’s always a cool synergy when other mods reveal dormant game issues – in early April, a long-awaited Upstate Liberty mod for GTA III released, adding a huge new area beyond the Shoreside Tunnels. People quickly noticed that at night some (but not all) rocks in the countryside don’t look quite right, and they are not lit correctly. Those particular objects were identified as being pitched (rotated along the X axis), which none of the stock GTA III or Vice City objects are (not sure about San Andreas).

As it turned out, that rotation axis was ignored by the shadow and light-casting calculation function, so shadows and lights ended up hovering over the object, as if it was not rotated. Ironically, the original code performed some obscure vector math, while the fixed version is more straightforward – it simply multiplies a vector by the object transformation matrix.

StockSilentPatch

Quite a few objects in Upstate were affected by this bug, so thanks to this new fix, the new areas look even better.

Unused features may still be useful sometimes

Affects: GTA III, GTA Vice City.

“Script sprites” are images that are drawn on screen through SCM scripts and missions. This feature is commonly used in San Andreas: every single arcade game, video poker, ITB machines, etc. use script sprites; CLEO mods also widely utilize this feature.

GTA III and Vice City never used this feature, but it is supported, albeit not as widely as in San Andreas. However, since it remained unused in the stock game, it never got updated to scale to arbitrary resolutions: sprites stay confined to a 640x448 rectangle in the corner.

In this release of SilentPatch, script sprites scale properly, and they always use bilinear filtering (this bug was fixed in San Andreas several releases ago). This might be useful for mods – I now can realize a devilish idea I had for Upstate…

Don’t worry, this is just a concept (for now).

In GTA III, script sprites now also unload from the mission cleanup routine, like in Vice City.

In both games, scaling can be disabled from the configuration file. Most users shouldn’t ever need to disable this fix, but there may be CLEO mods for III and Vice City that are “aware” of these scaling issues and perform scaling on their own. In these situations, SilentPatch can opt out and avoid double-scaling.

—It’s too unpredictable, don’t let it overcharge!
—What do you mean “overch…” 💥

Affects: GTA III, GTA Vice City.

Ever played the Vigilante mission on Shoreside Vale? Map layout aside, it plays kind of weird: the criminals are supposed to have the strongest weapons, but they don’t seem to pose all that much threat, except when they are given the M16. This weirdness comes from two separate bugs:

  1. In GTA III, NPCs are incapable of using the sniper rifle. They aim and fail to shoot, and if the player aims in first person during that time, they get injured by the shot that comes… from the camera’s origin:

    This bug was fixed officially in Vice City (as “Cap the Collector” features enemy snipers), and now SilentPatch fixes it in GTA III too. Funny enough, a data error in Vice City makes enemy snipers use a punching animation while shooting; but since this is not caused by code, SP doesn’t do anything to fix this.

  2. RPGs are even funnier: NPCs can fire them, but the projectile spawns inside them and explodes instantly. This turns RPG-wielding characters into bombers:

    SilentPatch makes both III and Vice City respect the proper fire source position – turns out, NPCs can be quite competent at ruining the player’s day with their rockets. S.A.M. is the only storyline mission that grants a rocket launcher to a single enemy, and the presence of this guy singlehandedly ruins the idea of doing the mission quicker by driving straight to the airport. That said, he’s quite slow to react, so neutralizing him should not pose an issue.

    Your bulletproof Patriot won’t save you here.

Other fixes

Grand Theft Auto III

Zoom in, enhance, fix a single pixel

Ever felt like the weapon icons in GTA III look off? You’re not going crazy; they really are, and it becomes especially evident when using higher quality assets:

All weapon icons have a thin but consistent border around them.
In-game, the border gets noticeably thinner in the top left corner.

Later officially fixed in Vice City, GTA III slightly skews the rendered icon by cutting off a single column of pixels in the bottom left corner of the icon, but not in the top left corner, making the icon appear slightly tilted outwards. In Vice City, this unusual single-pixel-cutoff has been removed completely, so icons render fully; making GTA III do the same appears to have no adverse effects and fixes this issue.

Icon filtering was also not set consistently, so depending on what other UI elements were showing on the screen, the icon could either be nearest filtered or bilinear filtered; at 640x480 it was practically impossible to spot, but with high resolutions, it becomes obvious. Once again, Vice City fixes this issue, so it was spotted at some point, just too late for III PC to get this fix.

Echo, echo, echo… I didn’t hear the car start

This PC-exclusive and highly specific bug involves two systems intertwining together in a perfectly broken way: users reported that sometimes the engine start SFX would not play when entering parked cars, but other times, it would.

Finding the root cause took a while: the above video might suggest that the SFX doesn’t play when entering the car through the driver’s door, but even that works from time to time, therefore automatically ruling out something like “the game can’t play the door closing SFX and the engine start SFX at once”. In reality, it has to do with the reverb, and all those conditions must be met for the bug to surface:

  1. “Dynamic Acoustic Modelling” is enabled in Audio Setup.
  2. The car is parked in a “reverb-y” place, like the docks, Callahan Bridge, or the apartments in Shoreside Vale.
  3. The car is entered through the driver’s door.
  4. Claude gets the chance to close that door.

What’s going on?

You might have guessed the root cause by now – the game plays the door closing SFX, then relocates the sound to add the reverb effect, and it doesn’t restore the original location afterwards, so the engine starting SFX plays… someplace else. Arguably, this is a bit of a design defect, as reverb should never have been “relocating” anything in the first place; it should be using a separate copy of the position data instead; but what’s done is done. Once I identified what’s going on, Sergeanur remarked that the reverb code was slightly changed in Vice City: it now saves the positions and restores them after playing the reverb. Sure enough, backporting the same fix to GTA III resolves the issue completely:

Subtitles, now in Vice City style, as intended

Turns out, GTA III has a half-finished feature, only finalized in Vice City – in gameplay, subtitles were supposed to be off-center to make space for the radar, and fully centered in cutscenes. However, this didn’t actually work, leaving subtitles off-center everywhere, yet not making an effort to try not to overlap the radar – worst of both worlds.

In this SilentPatch update, I took and completed this feature to be like in Vice City, so subtitles no longer overlap the radar, and they make use of the entire screen width in cutscenes:

StockSilentPatch

This feature is available as a configuration option, enabled by default. If you prefer the subtitles to always stay in the same spot, this feature can be turned off.

Left! Left! Left, right, left!

Gang spawning was broken in GTA III on PC in multiple ways. Eagle-eyed players may have noticed that sometimes, random gang members would just stand still and do nothing:

I initially found it difficult to believe, but this issue is exclusive to the PC version. It wouldn’t be the first time: even in the last big update in 2024, I mentioned how early Vice City code incidentally getting added to the PC port of III broke the car lights. Gang spawning is another victim of this mistake – turns out that on PC, groups of gangsters spawn in circles (like in Vice City), but in most cases they immediately disperse! Sometimes they will stand still, so we can see that “circle”:

Well, I guess it kind of is a circle.

Those randomly frozen gangsters are “leaders” who spawned in the center of that short-lived circle. Everyone else left, but their objective (unfinished Vice City code) can “infect” the nearby peds, so they also freeze. Sometimes that leads to them standing solo; sometimes bigger groups are affected, as seen above.

While comparing the PS2 and PC code, I spotted something unusual: the PS2 version also had code for spawning groups of gangsters, but it also evidently always “gave up” after spawning the first one. In more technical terms, a loop to spawn X characters was broken out of after the first spawn. This is concerning because of how the odds of gangs spawning were done (on all platforms) – for normal pedestrians, each spawn request “produces” one character, but since a single “spawn request” for a gang member could create a group up to 4 people, there was a 50% chance that a spawn request would not spawn anyone! When the PS2 code was modified not to spawn groups, those odds were never undone, so there are multiple consequences of this decision:

I didn’t want to just port that questionable PS2 behaviour; instead I wanted to see what the PS2 gang formations looked like. Implementing the PS2 code (minus the loop break) reveals that they spawn in a queue and follow one another, much like gangs in GTA2:

The Beatles?

This is where this research gets really interesting: multiple pre-release clips from GTA III showed those formations in action! Here you can see a group of Triads following each other:

Based on the PS2 code, and on my own mistakes I made whilst reimplementing it, I’m pretty confident I know what happened to this feature during development:

  1. Gang formations were implemented, and those clips were recorded.
  2. A bug was identified where gangsters sometimes spawned on top of cars or other pedestrians. A clearance check was added, but it was done incorrectly: each formation member after the first performs a clearance check in the spot where the previous member was just spawned. That spot is, of course, not free, so the feature regressed and only one gang member can spawn at a time.
  3. A developer spotted those clearance checks, maybe during performance profiling, and instead of fixing them, they “disabled” formations by breaking out of the spawning loop after the first gangster is spawned.

Fixing the clearance checks fixes the spawning behaviour fully, so I was able to replicate this pre-release clip in the final version of GTA III:

The “formations” feature is available as a configuration option, enabled by default. This provides the best of both worlds:

Sometimes psychic debugging and figuring out what wrong assumptions the original programmer made is the most entertaining part of the process.

Why is this text so low? Oh right, PC-only

Most PC ports of GTA games keep the in-game HUD as-is, but GTA III is an exception: texts in the bottom of the screen (zone name, vehicle name, “Wasted” text, subtitles) were moved down significantly, as PC games typically don’t need to concern themselves with overscan.

The thing is: it looks really ugly. It’s inconsistent with the PC ports of Vice City and San Andreas, with subtitles cutting off if they are 3 or more lines long, and the zone name is placed so low I initially suspected its position doesn’t scale to resolution (like it was with the radar’s horizontal position before SP fixed it). For this reason, SilentPatch now offers an option to relocate those UI elements to how they were on console; disabled by default – as it’s not a bug, but a change introducing “parity” with the later PC ports. This option can also be used together with the fixed subtitle placements.

DefaultConsole
Console placements align with the radar nicely, making the UI more tidy.

Take cover! Wait, not like this

An unlikely PS2 vs PC behaviour disparity (once again caused by Vice City code sneaking through, of course) was discovered by Nick007J: when in a shootout, cops choose different spots to duck for cover! On PS2, only one cop can duck behind each car at a time, and the point they pick is the furthest point from the threat that is also covered by the car’s engine (smart, to be honest). On PC, three cops can duck behind each car, and they choose one of the three predefined spots, much like in Vice City. They can also choose any car, while on PS2, they are limited to the cop cars.

The original PS2 code has cops take cover behind the engine of their own cruiser.
The PC Vice City-like code has them pick predefined spots alongside the car, even if they don’t provide optimal shelter. Civilian cars are also fair game.

SilentPatch now restores the original PS2 behaviour. While the PC behaviour could be seen as an improvement, it’s Vice City code that should have never been in GTA III, and it’s not fully finished either, so it may have caused more unforeseen side effects.

The thrill of the police chases is just not there

Remember those nice little “tutorials” GTA III has when picking up the i pickups in front of the Portland hospital or the police station? They teach the player how the wanted level works and what happens when Claude dies and respawns at the hospital. The “Busted” tutorial has a short cutscene showing two police cars chasing a Diablo Stallion, but this “chase” is a bit anemic: the police cars just follow the escapee, and their sirens are off.

That’s not by design: the mission script orders these police cars to engage their sirens and ram the Diablo Stallion. They never do that, because… the player has no wanted level during this part of the cutscene! A mistake in the car AI code assumed that every law enforcement vehicle chasing another vehicle must be chasing the player, and therefore, if they have no wanted level, it’s only logical to “give up”. San Andreas fixed this bug, so this behaviour applies only if the chased vehicle belongs to the player – now, SilentPatch applies this fix to the other two games of the trilogy.

Blocking the road is hard, OK?

Most road blocks in GTA III look the same, but on around 30 roads in Liberty City (and a few roads in Upstate), they look very wrong:

This isn’t very effective.

Those roads are unique: you wouldn’t be able to tell by looking at them in the city, but those road models are internally rotated 90° compared to the rest. When their models are not rotated, those road models don’t lead from south to north (like most other models), but from east to west. The road block spawning code took that into consideration when placing cars across the road, but it ignored that property when setting up rotation. Conditionally applying an additional 90° rotation to the spawned cars fully fixes this issue.

Much better.

Sorry, Obbe.

Garages are not for boats, but if you try hard enough…

I don’t know how bored one would have to be to attempt that, but there is technically nothing preventing players from getting a boat ashore and then pushing it to a hideout garage. “It’s a cool souvenir”, you might’ve thought. Wrong! Storing a boat in a garage makes the game crash when trying to open it and renders that garage permanently unusable on this save file, so that’s about the worst reward for persistence the game may have “rewarded” the player with.

Once again, Obbe explained on Twitter (although his comment about boats with wheels isn’t accurate): GTA III garages simply can’t create vehicles other than cars. Vice City added bikes, so the developers had to fix that, and also added code to create boats while at it. A backport of identical code to GTA III makes boats spawn properly, and is even fully backwards compatible – any saves “broken” by such stored boats will work again!

Getting this boat here required a lot of patience, but I pushed through (pun intended).

“Get out of jail free” card

GTA III has a little-known prize for eliminating 10 criminals in a row in a Vigilante mission: the player is granted a one-time “get out of jail free card”, and the next time they get busted, they don’t pay a fee. The code also made it obvious that the player was supposed to keep their weapons (as an unused “free healthcare” bonus lets them keep their equipment), but they were forcibly removed anyway. This has now been corrected, so the next time the player eliminates 10 criminals and then gets busted, they keep everything.

The same issue has been fixed in Vice City, although the corresponding script command has been cut, so the feature is unused.

Me windows are ruined!

If you were to shoot out windows in Liberty City, you’d never notice anything is off. Try shooting out windows in some places in Upstate Liberty, like a restaurant in Carrington or the internet café in Gostburg, and the effect looks atrocious and makes no sense:

WTF is happening here?

If one bug isn’t enough for you, good news – you’re looking at two distinct bugs:

  1. Square glass shatters without any visual issues, but shards from rectangular panes are sized incorrectly. That’s what causes the shards to look “disjointed” on my screenshot. This bug was previously spotted by Fire_Head when developing his Breakable Windshields mod, but the mod only fixes it for the windshield glass shards and isn’t applying a generic fix.
  2. Glass that is perfectly axis-aligned (i.e. angled 0°/90°/180°/270°) or rotated 0°–90° or 180°–270° shatters without issues. However, the stock game code completely falls apart if the glass is rotated 90°–180° or 270°–360°, and produces this broken, incorrectly rotated effect.

You guessed it: in Liberty City, all glass panes are square and axis-aligned, so both bugs snuck through. Both issues were later fixed by Rockstar in Vice City – they most likely noticed them in North Point Mall, as that place is full of windows of varying shapes and placements. Luckily for us, porting their fixes back to GTA III works exceptionally well:

Upstate seems to have a knack for revealing previously unknown bugs, but that’s great – everyone benefits from having them fixed.

Other fixes

Grand Theft Auto: Vice City

“Thanks for the money, sucker!”

GTA III (and before that, GTA2) had criminals pickpocketing people on the street; in Vice City, they stopped doing that. The feature wasn’t cut; however, it just broke due to the other ped objective-related additions in Vice City: SilentPatch now fixes the mugging objective, so once again you can see some quite amusing scenes happen.

Where is this business? I’m lost

The green house/property icon was widely used in San Andreas, but it actually originated from Vice City: at some point, as shown in the BradyGames guide, it was used to mark safehouses that were available for purchase:

In the final game, it’s never used… in practice. In theory, this icon is still used to mark businesses available for purchase, but it’s not showing on the map either due to a bug or a rushed hack removing it from the game. In this update of SilentPatch, I added an option to bring it back.

Not going to lie, after seeing this icon used so much in San Andreas, it kind of feels out of place in Vice City.

As I can’t prove beyond any doubt that the icon was just bugged, it’s hidden under a configuration option and disabled by default.

Even more vehicle animations?

Rio is unique in Vice City – the stock game only supports extra components on cars and bikes, yet Rio, being a boat, has one. The canopy roof it has was supposed to be optional, but since the game never processed extras on that model, it spawns as a permanent part. In this SilentPatch release, boats can now have up to 6 extras, so the roof works as it was intended in the first place.

With extra (stock)No extra (SilentPatch)

A spinning radar that the Reefer and Predator have is also present on the Tropic, but it wasn’t functional due to a typo in the model and missing code. SilentPatch now corrects both issues.

Skimmer is a seaplane, but technically also a boat (remember the “24H2 bug” in San Andreas?). The elevators on the rear wing only animated in response to the left analog stick, and never reacted to the keyboard controls; additionally, unlike the other moving parts, they immediately snapped to the inputs, leading to jarring visuals with sudden input changes. SilentPatch animates this part in response to either gamepad or keyboard controls, and makes it ease into input, so it looks smooth regardless of inputs.

Post effects are uglier than they should have been

Over the years, I received multiple reports saying that the Trails effect (absent from the PC versions by default, but easily re-enabled) looked really bad and produced a grey “blob” around the player’s vehicle. Back then, I mistakenly thought it was how the effect is and higher resolutions simply expose it, but I was wrong. For this release, I dived into the code responsible for this effect and exposed multiple bugs.

With Trails enabled, the game renders a “heat haze” around the exhausts of the player’s vehicle. This effect is supposed to be subtle, but on PC, it was anything but: in 4K, it covered nearly half of the screen!

In motion, this effect produced a grey-ish rectangle around the car.

The effect scaled to resolution twice, making it quadratic (and not linear) to resolution. The bug makes this effect look horrible, but when fixed, it is pretty elegant. It might be difficult to spot on a shrunk and compressed recording, but in-game it’s obvious. To see this heat haze, you must use the default Trails; Sharptrails does not implement this effect.

The broken haze effect affects the entire bike and then some.
When fixed, it’s only present around the exhausts.

Water and blood droplets were intended to be excluded from the areas of the screen with the UI: they shouldn’t be able to draw under the HUD, radar, and the vehicle and zone name texts (if present on the screen). However, those “safe zones” also didn’t scale to resolution correctly, so on higher resolutions, big chunks of the screen were incorrectly excluded. SilentPatch now addresses this, and it makes the heat haze effect ignore those safe zones – the haze is a “3D” effect, so the UI should not interfere! This fixes a bug where the haze effect didn’t display when the zone or vehicle name was shown on-screen.

I will pop your tires and crash your game

These bugs came to light in a pretty unusual way: rather than being discovered in Vice City, they were all discovered while testing Fire_Head’s GTA III mod porting the stingers (spike strips) from Vice City. The mod faithfully recreated the VC code, with all its bugs, and stress tests revealed them!

Stingers are apparently a speedrunner’s nightmare, since they are known to randomly crash the game during long gameplay sessions. They could also crash the game on exit if you were to shut it down with stingers spawned. Turns out that these objects, unlike most other “temporary” in-game objects, do not react well if the game’s object pool fills up. Hitting the limit was especially easy with stingers, since each strip consists of 12 objects and fills the pool quickly. Once I lifted the “limit” of 2 stingers at once for a test, crashing the game was easy:

Approximate visualization of a speedrunner’s nightmare.

Several bug fixes later, SilentPatch makes stingers and the road block barriers handle this edge case gracefully. If the objects pool is filled, cops will still perform a throwing animation, but the stinger isn’t going to spawn. The same fixes were applied to the GTA III mod, too.

Other fixes

Grand Theft Auto: San Andreas

Improving vehicles, one animation at a time… again

For this release, even more fixes were done around the vehicle animations:

Dude, where’s my Skimmer?

This particular issue was already covered on my blog, and it went viral to the point where even Raymond Chen covered it on The Old New Thing.

Skimmer was gone… but no more.

For more detail, I invite you to read the linked blog post again, but the TL;DR is: in this SilentPatch update, a graceful fallback was added to the vehicles.ide parser. Reasonable defaults are supplied for incomplete definition lines, like the one for Skimmer, thus fixing this issue once and for all, without the need to modify the data files. Of course, if your game copy already has the data files corrected, there is no harm in leaving them as-is.

Birds, birds everywhere

Did you know San Andreas can spawn birds through a script command? Probably not, because it was broken until now. It must have remained unnoticed by QA too, because Ice Cold Killa was supposed to create birds during one of the cutscenes, but no one noticed it didn’t work. With two separate bug fixes applied to the game, we can now see the original vision:

When a bug makes a bug bugged

The official 1.01 patch lists this fix:

  • Crash when entering advanced display options with only 32 meg of video ram (32 meg of video ram is not supported and will only allow use of 640*480 in 16 and 32 bit. At this resolution it is likely you will see the “Black Roads” LOD problem). We do NOT however disallow machines with 32 meg of video ram from running GRAND THEFT AUTO: San Andreas.

SilentPatch never backported this fix to 1.0, so it was a matter of time before someone reported that they hit it. I started troubleshooting, and it turned out that SP had a regression matching this original game bug perfectly, and so this report actually covers a regression. While fixing it, I also figured out the exact fix applied in 1.01. Therefore, in this release:

If you try to do that now, the game will display - instead of the resolution, and you will only be able to select 640x480. This improves upon the 1.01 fix that instead displayed some random, unrelated string.

Countryside myths? Or just broken data?

The PC version of San Andreas has the rainy countryside sky go completely red at 8 PM; this was never the case in the PS2 version. This “myth” was a result of a malformed timecyc.dat line, and this particular weather + time combo lacked multiple values, so the parsed data was completely incorrect. In this SilentPatch update, I added a graceful fallback for this particular data error, and I read the malformed line correctly, fixing the issue. Custom timecycle modifications are unaffected by this change.

StockSilentPatch

Fixing a hundred speech lines

The highlight of this release was possible only thanks to Kaizo M and his extensive research on the ped speech system in San Andreas. If you want to learn more about it, I recommend watching those two videos from him before you continue reading; they are an excellent breakdown of this system. English subtitles are available.

In this release of SilentPatch, I built on top of Kaizo M’s research and used his tools to identify even more audio issues, and fixed as many as I could. Not every single unused dialogue line is restored, as some didn’t have a suitable spot to use in the final game – but everything that I think was missed and not deliberately cut was restored; with this update, you’re bound to notice a wider variety of lines used virtually everywhere in the game.

Note: To showcase these changes more easily, I am using Kaizo M’s Speech Context Debugger and the work-in-progress Free Roam Subtitled mod. The subtitles shown in these presentations are not added by SilentPatch.

Weather conversations

Conversations about the weather are now fully functional:

Criminals running away from cops

Criminals running away had special voice lines, but they used to be immediately overwritten by the scream sample. This has been resolved.

Silent characters, now with voice
Oh Maccer, you have a way with words.
Turf takeover cheer

In the game files, CJ has voice lines for cheering after taking over specific neighbourhoods, but they went unused in game. The game attempts to make use of this feature, but it tries to play those lines on the GSF gang members CJ recruited (if there are any), and fails: this speech context was only valid for CJ, and even then it was fully set up in the files. SilentPatch fixes both issues, so you can now hear those lines in action.

Multiple districts have unique voice lines recorded.
Wisecracking solicitor

CJ always said a cheeky comment after using the prostitute services, but it was played after his mood changed to Wisecracking, rendering all the other lines unused. Now, the line plays before the mood changes, so multiple new lines can be heard.

Chattier girlfriends

Shopkeepers and girlfriends had lines present in multiple speech contexts, but they were not set up correctly. The assignments were fixed, so these lines can now be used. Not every re-enabled line can be heard naturally in the game, but if other mods use those characters freely, they will play.

Spooked shopkeepers

Food and clothing vendors had voice lines that played when CJ aimed a gun or spooked them, but shopkeepers like the Ammu-Nation vendor and barbers did not. Their voice lines were present in the files, but assigned to the wrong context, which has now been fixed. Most notably, the Ammu-Nation vendor had over fifteen voice lines for this event, all previously unused!

The Ammu-Nation voice actor put so much effort into those (mostly unused) lines that he later voiced Toni Cipriani in Liberty City Stories.
More gang taunts
Even more pain

San Andreas uses three distinct pain sounds for each character: low, high, and fire. There is a fourth, previously unused, pain sound, specific for getting sprayed. In this update, SilentPatch uses this new sound instead of the high pain sound that plays before coughing.

Cover me!

Gangsters and cops use a lot of context-specific lines during shootouts, such as “Moving in” and “Solo”. A code issue with how the “You’re surrounded” and “Cover me” lines were set up made them work only on gangsters, but not cops; furthermore, gangsters never had any lines for the former. With this fix, shootouts with the police use a lot of new voice lines.

Crazy Taxi?

SilentPatch restored the passenger comments on CJ running over pedestrians years ago. However, only now, thanks to Speech Context Debugger, it was discovered that those voice lines only applied to story characters and girlfriends, while regular civilians had similar, unused lines in the speech context related to the taxi side mission. In this SilentPatch update, those lines are used by passengers if possible: while technically they can play outside of the taxi side mission, this and the Paramedic side mission are the only times when CJ can drive with civilian passengers in an unmodded game.

Miscellaneous audio fixes

The game has even more unused lines, such as:

…and more. However, in some cases, those lines either lack the global speech context (making it impossible to play them directly) or there is simply no adequate spot in the code to play them. In those cases, I treated these lines as “beta leftovers” and left them alone.

Good Citizen Bonus! $50

Mods fixing a semi-working Good Citizen Bonus in San Andreas existed for well over a decade; for the longest time I didn’t plan on doing the same in SilentPatch, but I changed my mind because of all the recent audio/speech findings. In this SilentPatch update, the bonus is back, and:

The criminal “pleading” line has also been restored.

Who parks their plane on the driveway???

Remember arriving at Fort Carson and hearing a loud explosion? That was once again a Beagle plane on someone’s driveway getting stuck and blowing up. This infamously broken vehicle spawn point was known for years, but only recently was it discovered why it most likely was set up like this: the spawning coordinates of that vehicle are correct, but the assigned ID was most likely a human error.

San Andreas has three bicycles, two of them on IDs 509 (Bike) and 510 (Mountain Bike). The person setting up vehicle spawns in Fort Carson likely assumed incorrectly that the third bike, BMX, would be ID 511; but no, that’s the Beagle. In this SilentPatch update, a code patch overrides this spawn’s ID to BMX, ending the nightmare that haunted the citizens of Fort Carson since 2004. And no, the replacement BMX won’t explode.

Boom, boom, boom, boom
I’m gonna shoot you right down

Although this is technically an asset issue, SilentPatch works it around in code – but does so as defensively as possible, so if any other mod tweaks this vehicle spawn, it stays untouched.

Other fixes

Internal changes

I’m not sure if this is related to open sourcing SilentPatch, but for this release, many new and old regressions were identified. Even though I always put extra care not to cause side effects with my fixes, mistakes happen – and in this update, a lot of these mistakes were corrected, so this SP release should be the most stable and compatible to date.

Download

The latest SilentPatch builds can be downloaded from the Mods & Patches section:

Download for GTA III Download for GTA Vice City Download for GTA San Andreas

Those new to SilentPatch are encouraged to check the Setup Instructions. However, the easiest way to install SP boils down to:

Wish to check out the source code instead? Check it out on GitHub:

See source on GitHub

Like with the previous release, TJGM has also published a showcase video covering some of the most impactful new fixes across the trilogy:

Credits and acknowledgments

SilentPatch includes code contributions from: