In October 12, 2018, someone by the nickname of "Ttokenblackguy" made a post on Reddit @ /r/GrandTheftAutoV, about a particular issue regarding prop spawns in GTA V.
In his IMGUR/Reddit post he details that in Grand Theft Auto V, props that set to Low Priority in Map Definition files don't spawn.
This sparked in me a great curiosity to understand what could be possibly be happening so that these props did not spawn...
(If you do not care about the explanation, feel free to skip to the comparisons and download part.)
Thanks to the Python scripting language I was able to identify exactly which props were of Low Priority. (PRI_OPTIONAL_LOW)
Thanks to that script it was also possible to process the YMAPs to change the priority of those props so they could spawn.
Here is an example of a prop called prop_fountain1 that usually does not spawn at a fancy house in Rockford Hills:
It's entry can be seen in bh1_30_strm_1.ymap
However, even if you max all the Draw Distance and Density settings, it will not ever spawn.
Along with many other props in the game...
Thanks to CodeWalker by Dexyfex and my scripts, I was able to analyze and take dozens of screenshots all around Los Santos and Bone County.
Amidst the journey, I discovered that certain props that are set to Low Priority do actually spawn. Which made me even more intrigued...
One of them was prop_tree_stump_01:
Which would spawn at bh1_45_critical_0.ymap. Here, have another comparison gif.
Thinkering upon thinkering, I stumbled upon the Model Definition files (YTYPs)... I realized that there was a curious difference between those two props.
v_trees.ytyp and v_garden.ytyp
The fountain1 prop has a ParticleEffect extension and the stump_01 doesn't have any extensions at all. This also applied to other cases...
Extensions, you may ask. What the hell are those?
Model extensions define Particle, Audio and other sorts of effects that pertain to props/models that spawn in the game world.
It was at this moment that I figured what was going on.
Apparently, the RAGE engine has a feature (or a bug).
That bug makes it so that props with extensions do not spawn IF they happen to be set to Low Priority in a Map Definition file.
With this in mind, I wrote an extra Python script to pull from props YTYPs all models with extensions and make a list.
This list made me pinpoint the exact props that wouldn't spawn. This pretty much confirmed what I had in mind...
Props set to Low Priority that have extensions are in a certain way ignored by the game code.
It could very well have been a feature to save resources on Last-Gen (Xbox 360 and PS3).
However, it's more of a bug for Next-Gen (PC and Consoles) since these platforms have plenty of power and headroom for such tiny props.
I must also mention that with those props restored, many scenarios were brought to life. Since some of them were dependent on the spawning of those props.
I figured the best solution or workaround to this problem was to set all those props in the Map Definition (YMAPs) files from Low Priority to Required Priority.
This would guarantee that all of those props would spawn even if the graphical settings were low.
I also thought that because most of those props are pretty much details. The performance impact would be minimal. With a tremendous increase in quality and liveliness on the game.
To better illustrate what's going on, I made a video with dozens of screenshot comparisons all over LS and Blaine County. (Rockstar Style :D)
sigh IPB, I wanted this video to be centered...
For now, I will be hosting the mod myself on Google Drive, but as soon as possible I will submit it to GTA5-Mods and the Drive link will become a mere mirror. Download Here - Google Drive - UPDATED v1.1
Installation Instructions can be found inside the ZIP.
This is the part where I need to thank all of those that contributed in any way to this discovery.
Ttokenblackguy - For discovering the priority bug
GooD-NTS - For OpenIV and OpenFormats which helped me create this mod
Dexyfex - For creating CodeWalker, an absolutely amazing tool that sped up the process of making this video.
Spider-Vice - For helping me out with tips, discussing the problem, digging files and sharing screenshots with me.
There may be issues. I don't think I have encountered any weird props showing up in weird locations. However, I'd be please to know if there is anything that can be changed.
I am aware that Ttokenblackguy is doing pretty much a similar mod than me, however, his mod adds extra props that were not originally placed by Rockstar's Environmental Artists.
The props on my end are restored, they are not additions (well, one could say they are). I only processed the original files with a Python script.
The folder structure inside the RPF is simple as to make modifications easier for me.
Loading MP Maps gets rid of the props. I don't think I will support this.
I've spent hours trying to get it to work and got streaming issues all around the map.
Blame Rockstar for not making a decent patch system and duped files everywhere.
v1.1 - Fixed an issue in which loading MP Maps would cause half of the world not to render.