Hello everybody. I would like to know if it is possible or if you have already had the idea of creating a plugin to change skins in RF2, as was done in RF1.
Commenting on this subjet, it would add realism to F1 mod like 1991, 1992 by ASR formula but also F1 80's mod by trollray as specific car skin could be made for each track I tried a few things on devmod with the veh files and json files - If the "DefaultLivery" line is present in the veh file, albedo texture value in the json file for the skin is not taking into account. Its the one of the "DefaultLivery" line in the .veh which is used - If this "DefaultLivery" is not here, any wcmaterial not in the json format will be white, however this time in the json file we are able to use the texture we want for the albedo. We are able to switch any textures Could a plugin could rewrite on the fly a line of the json material? Like it was done in the GP4 days ? We selected the GP on app made by the community and the game loaded the corresponding textures Or maybe a plugin allowing us to read and choose multiple json file for wctexture. So far the problem comes from the json file I think. Maybe understanding how the player skin selection in the main game is done could be helpfull as you can select any alternate skin that you have
@3377 I guess that @Caio Fonseca is talking about the Skins, that were loaded for different Tracks with the TrackLivery= Entries in the *.veh File in rFactor 1 and that isn't working in rFactor 2 anymore.
Yeah I know I was talking also about solutions to try to overcome this problem of tracklivery By editing .veh files or the json associates with the materials of the skin
I did it but it takes time...I created materials that recall the same material of the car body. For example. File body.gmt--->mat:WILLIAMS00_CARBODY Recall file.gmt--->mat:WILLIAMS00_CARBODY In the recall file under the entry mat:WILLIAMS00_CARBODY I associated a .dds file Example: DHill_00_FW15CEARLY.gmt-->texture DHill_00_FW15CDEFAULT.dds--> mat:WILLIAMS00_CARBODY In the .gen file I put: MeshFile=<Texture> CollTarget=False HATTarget=False LODIn=(0.0) LODOut=(765.0) Shadowcaster=(True, solid) ShadowReceiver=True Reflect=True MeshFile=Williams00_BODY_A.GMT CollTarget=False HATTarget=False LODIn=(0.0) LODOut=(765.0) Shadowcaster=(True, solid) ShadowReceiver=True Reflect=True MeshFile=Williams_Cinture.GMT CollTarget=False HATTarget=False LODIn=(0.0) LODOut=(65.0) Shadowcaster=(True, solid) ShadowReceiver=True Reflect=True MeshFile=form_coll.gmt Render=False CollTarget=True HATTarget=False LODIn=(0) LODOut=(200) MeshFile=FISIR2012_undershadows.gmt CollTarget=False HATTarget=False AmbientObject=(True,Texture) In the upgrades.ini file the entry becomes: GEN=<Texture>=DHill_00_FW15CEARLY.gmt GEN=<Rwinga>=Williams00_rear_wing_a.gmt GEN=<Fwinga>=Williams00_front_wing_a.gmt GEN=<Helmet>=Williams00_Helmet_a.gmt It's a bit complicated but it works. I don't like it in the spinner.gen file
Thank you very much, Its also what I came throught since the rf1 way was not working anymore 1) For a team I set up the WC extra this way WCExtra0-WCExtra1 could be any part for the vehicles that need alternate skin part, for example 1 helmet non tabbaco, 1 driver suit non tabbaco, 1 being the skin non tabbaco, and the rest could be alternate skin. Since the game allow to search in specific team skin, if the wildcard are set in the teams directory, WCExtra0 could be the helmet for Team A and the carbody for Team B 2) Copy each GMT file needed and set up the correct WCMaterial. 3) Create the Json accordingly, and the upgrades also in the .gen file as you did. So 1 upgrade for each track for example 4) Set up the track config file, by force the usage of a configuration (mesh+skin there) at a track, but also we can add performance upgrade Wich wildcard textures i require less GMT duplicated, but to have as many alternate as you need, you would need 1 gmt different for each car : Mansell_Australia_Body ==> 1 material associated Patrese_Australia_Body ==> 1 material associated with the wctextures : Williams_Australia_Body ==> WC extraX material associated at least a method overcome exist, but I dont think many modder would be happy to set it up
That, at least for me, is the deciding Point. That only produces a lot of unnecessary Meshes. The Feature in rF1, with the TrackLivery= Entries in the *.veh File, was a good working one. And i think, it could also work in rF2 again. With some additional Code, of course.
I totally agree @redapg ! It's only a bypass solution while the "rf1 style" method is broken There is also a derived way of duplicating .veh files and setting opponents in filters. But it creates multiple times the same car :/ one per different livery.... In the end the absolute best solution is to make the rf1 method work again with a plugin However my programming skills is not good enough for this. I tried to look in the log in dev mod, to me i did not see something interesting that could help us to set up the plugin
If you can do it I would be grateful..... I still have some more mods to do and it would help me a lot. Plus...I could reuse the old RF1 method for the mods I already did very quickly. Please do it...
While my knowledge of how the skins work is fairly limited, the plugin interface only allows a plugin to operate at certain points and can't manipulate any code or variables its not given explicit access to. There's no controls given for things like which content is loaded, which cars are available. With the modern UI you can manipulate some UI things in the background but I don't think that would allow selective choice of cars/skins based on the current track. Basically if you can't do it yourself a plugin can't either.
For players, there is a possibility to use a custom skin. It actually works quite well if server allows it. Guys from LFM said there was a few issues, but the only issue, i guess, is to make sure players use veh with unique names. The core system of the game works well, and if the skins changes on disk player can probably reload the skin by using the "Reload vehicles" key. There is an option from an external third part application like trading paints, that should probably work. A skin is just a .mas, a few rcd files if i remember well, and players can upload it to the server so other players see it. I tested it a few years back and it worked well. The veh unicity is the only thing hard to comply. There is already some mods that shadows official content by using same veh files. Very confusing for users who can't see the official content on their "All tracks and cars".
@DanRZ Because the Thread Opener did say "to change skins in RF2, as was done in RF1", i'm pretty sure, that he wants to get the automatted Function back, where Skins were selected by Track, with the TrackLivery= Entries in the *.veh File. No Upgrades, no Skinpacks, no...., just a few Lines in the *.veh File and the necessary Skin Files, packaged in the Component already.
The point is not for the player to be able to select any skin he wishes, which is possible in the current state, but to have a system were the AI could also use these extra liveries like it was done in RF1. I remember loading classic hockenheim track and having non tabbaco liveries for all cars on this particular track and not the other tracks As mentioned above there is bypass solution that are well just bypass.... As @Lazza said if its a bug inside the code and we can't access/write on certain parts of the code we won't be able to do nothing more than we can right now
In official content, an upgrade is made that is locked with some settings (LeMans for GTE cars). Is it possible to create an upgrade file where a specific skin is loaded with a certain track?
You should be able to do that, with the above described Way to use additional Meshes, that use the different Skins and other necessary Skin Files, in Combination with a TRACKCONFIGBASE.INI File for the Mod.