[Reference] Vehicle files (On-hold)
Right... so I now have 32 folders that directly reflect the ones in the dlcpacks folder and another 27 folders inside the the update folder, that has another 27 that reflects the ones in the update.rpf file.
So that means a potential 59 possible file locations that can be used... that was fun.[/sarcasm]
So I think to test how well this process works, I am going to add the ability for my tool to process carcols.meta as that includes all of the modkit numbers which I get the impression would be very useful to know.
@LeeC2202 Yes, I see, but was released in 2015 lel.
@Reyser Damn. That makes that whole list unreliable.
@LeeC2202 Yep. That also means the mplowrider DLC development started in 2013 lel... well, anyway if everybody has this date, maybe it will work no?
@Reyser It's more the case that I need to look for things in chronological order and that date puts that folder early in the list. That means that if any data is found after that date, in a folder that should be before that dlc, it will overwrite it.
That's why the order is absolutely critical and it just seems like all the data that should be able to help, is no better than rolling a dice.
I am also having a nightmare with these modkit IDs. Out of these two lines, do you know which is the actual ID?
<id value="87" />
I have updated the link on the first comment to a new version of the file that has the modkit ID in the final column. The file is also now TAB padded, not SPACE padded.
I am having various problems though with this data. I presumed that this line:
... contained the ID (83), the vehicle name (bifta) and an identifier (modkit). The problem is that I am getting some names in there, that don't match existing vehicle names and I don't know why.
For instance, there is a vehicle called massacro2 but the carcols.meta files have a vehicle called massacaro2, which obviously doesn't match. So that makes me wonder if there is another file that acts as a cross-reference file, to associate vehicle names with those in the carcols.meta files. Or maybe that typo is preventing the massacro2 to not display the modkit correctly, I don't know for sure.
This is all the vehicles that get missed...
lurcher - 116
sab2 - 172
placeholderhydraulic - 999
bestia - 133
811 - 134
elegy1 - 211
massacaro - 87
massacaro2 - 157
Interestingly, lurcher is getting missed because in the vehicles.meta, it's called Lurcher, with a capital L. The rest just don't exist with those names, bestia is called bestiagts and the massacro and massacro2 don't have the extra a in them.
Well this turns out to be fairly useful for addon cars as you can check all the modkit IDs with it. One thing I have noticed, is that any numbers (at this point anyway) below 220 have a high chance of causing a conflict with a vanilla vehicle. I appear to have three that fall into that category, a Porsche 718 Caymans (135) a 1989 Chevvy Caprice (132) and a Merc SLS AMG (also 135).
@LeeC2202 I think that the entire
<kitName>item is used just to combine carcols.meta and carvariations.meta files data. I mean, they work together using the same value to give to the car his specific tuning parts and other stuff (like horns, etc) from one side, and his spawn colors and other stuff (like
sirensettingsvalue, etc) from the other one.
Every vehicle has to be his own ID, and as some vehicles does not have tuning parts, then some vehicles as the BIFTA have 2 different ID's. This means that BIFTA is the vehicle 87 and the modkit it uses is the 83.
I suppose that's why in carvariations.meta you only see the Tuning Parts value.
I'm not 100% sure about what I wrote above, but it's seems to be that.
About massacro2 and massacaro2, that's because Rockstar did a mistake. What I think about it, is that the
<kitName>item is just that, a name to know for which vehicle is this tuning parts info, but no really a thing that the game uses as a valuable data.
And yes, ID values below 400 are highly conflictives with modded vehicles with tuning parts. Is a lot curious that sometimes values like "39486298734628793642" are not working as ID, but others like "23981439823492395685861531873908489372" are working fine. That's just... ehm.. well I don't know.
@Reyser So based on what you were saying about the bifta, does that mean that ideally, you would want to know all of the IDs that were assigned to that vehicle and not just the main ID from the kitName line?
The problem I see with the name issue, is that I cannot see any other file that links the modkit with its parent car. That means that I cannot pair those modkits with anything, which risks those modkit number not being registered as being used.
I'll add the option to run through carvariations.meta later today, then I can see if any more useful data gets thrown into the mix.
@LeeC2202 Just the modkit ID, the vehicle ID is not really needed to know (no one used it for anything yet). Carvariations files have all the modkits ID's, even if the car does not have tuning parts. So, if you check only carvariations ID's, they'll be the same as the ones that appear on carcols files.
@Reyser The problem I have with carvariations is it doesn't seem to contain everything required. Take the Fairlane 500 for instance https://www.gta5-mods.com/vehicles/1966-ford-fairlane-500-add-on
In the carcols.meta, it says this
<kitName>1477_fair500_modkit</kitName>but in carvariations.meta, there is nothing that matches that, the only thing in that file, is this
So based off that, I finding it hard to work out just what carvariations.meta contains that is useful.
@LeeC2202 You took a bad example. The car you linked, doesn't have tuning parts, and the
<kitName>1477_fair500_modkit</kitName>is not used because in carvariations file it uses
<Item>0_default_modkit</Item>. The priority always is for the carvariations file.
@Reyser Typical... I only I could pick an example that didn't have that.
@LeeC2202 Hahaha Remember, carvariations.meta have preference, and
<Item>0_default_modkit</Item>only have generic tuning (horn, suspension, brakes, acceleration, transmision, etc).
So I kinda feel like I am fumbling in the dark with these files... and I'm not sure if what I am getting out is correct, the files are such a pain to dig through to try and confirm things. I still have to implement the carvariations.meta processing but I currently have this, based on vehicles.meta and carcols.meta.
This is what you see when you open the combo-box
I'll try and get some more data processing in later but I'm running on empty after getting up to have my boiler fixed, only to be told the repairman has called in sick and won't be here until later.
Under the File menu, there's a save data option that outputs that TAB formatted file I showed the picture of earlier.
The inability of modders to follow standards can be infuriating at times and is probably a good reason why things fail on so many occasions.
Consider a modkit string in the vanilla carvariations.meta:
It has ID _ vehiclename _ identifier, which using a split command, will give you those three separate items.
So when you get
I'm sure you can see the immediate problem. When there are defined items that use special characters to isolate element parts, it's generally a bad idea to use that special character as part of one of those elements.
In vehicles.meta, it doesn't matter because that name camaro_ss is stored on its own, within a single XML element. But what it does do, is create a vehicle name that isn't going to be found in the other meta files. *sigh*
So I now need to write some special case parsing code, just to cater for things that are done incorrectly.
Just when you think you have all the bases covered. It's little things like this that make addons a completely unreliable source for data management.
I understand the whole language thing, I really do... but these are words that form a fundamental part of the vehicle package, they have to be correct.
Other than that, this seems to work although I still have concerns over how many cars are showing with no modkit IDs. Which means I am going to have to start digging through the files to try and see if they should have one and why they might not have one... unless anyone can offer any insight into that?
@LeeC2202 "VC_MUSCEL"? It's not supposed to be "VC_MUSCLE"? Never saw that fail.
About some cars without modkit IDs, if they're using "0_default_modkit" it means they don't have custom tuning parts, just generic ones (horn, suspension, transmission, windows tint, etc), otherwise they should have an specific ID value (about the name of the car that appears in the same line replacing the "default" word, I'm not sure if is needed, because I saw some cars with tuning parts that were using different "vehiclename_mods.rpf" with the same modkit data (I mean the "ID_name_identifier" data)).
"VC_MUSCEL"? It's not supposed to be "VC_MUSCLE"? Never saw that fail.
Yep, that's straight out of this mod https://www.gta5-mods.com/vehicles/1969-chevrolet-camaro-ss
I've just changed it in my addon because those kinds of mistakes affect things like my dirty cars mod, that rely on the vehicle class to assign the relevant dirt levels. Although considering the dirt mapping on that car, maybe it was better if it got ignored.
On the modkit ID front, I've just checked a couple of cars with no modkit ID in this tool and there was none in the carcols and carvariations, so it looks like it's right... which is a relief.
Just to give a point of reference of what this was working with. It had 97 vehicles.meta files, 85 carcols.meta files and 63 carvariations.meta files.
@LeeC2202 When you said "no modkit ID", are you refering to 0 value (It means no tuning parts) or just nothing?
How's possible that there can be more carcols.meta than carvariations.meta files?
@Reyser I just expected more of the vanilla cars to have IDs, but I don't know anything about these files, so I wasn't really sure what to expect I guess. It's tricky trying to work with data you just don't understand.
I have no idea on the number of files issue. I basically entered the filenames into OpenIV's search and then exported every file it found for each one.
@LeeC2202 I think you forgot that there are also some files called carcols.ymt and carvariations.ymt that contains more data info.
Edit: I just thought that maybe there are more carcols.meta than carvariations.meta files because Rockstar patches.
@Reyser I didn't forget, I just didn't know... damn.
Aren't ymt files encrypted, so we can't read them?
@LeeC2202 Yes, they were encrypted, but you can find carcols.ymt file decrypted on GTA5-Mods site, uploaded by OpenIV Team.
About carvariations.ymt file, here it is: carvariations.ymt
@Reyser Ah, now that spices things up a bit... all of a sudden we now have 214 IDs assigned compared to 137 now that I have thrown those ymt files into the mix.