Plugin for skins

Discussion in 'Plugins' started by Caio Fonseca, Oct 19, 2024.

  1. Caio Fonseca

    Caio Fonseca Registered

    Joined:
    Dec 5, 2020
    Messages:
    91
    Likes Received:
    150
    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.
     
    3377 likes this.
  2. 3377

    3377 Registered

    Joined:
    Oct 16, 2010
    Messages:
    108
    Likes Received:
    57
    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
     
  3. redapg

    redapg Registered

    Joined:
    Jan 16, 2012
    Messages:
    4,432
    Likes Received:
    3,348
    @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.
     
  4. 3377

    3377 Registered

    Joined:
    Oct 16, 2010
    Messages:
    108
    Likes Received:
    57
    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
     
  5. EMY

    EMY Registered

    Joined:
    Oct 13, 2010
    Messages:
    102
    Likes Received:
    84
    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
     
    3377 likes this.
  6. 3377

    3377 Registered

    Joined:
    Oct 16, 2010
    Messages:
    108
    Likes Received:
    57



    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
     
  7. redapg

    redapg Registered

    Joined:
    Jan 16, 2012
    Messages:
    4,432
    Likes Received:
    3,348
    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. :)
     
    3377 likes this.
  8. 3377

    3377 Registered

    Joined:
    Oct 16, 2010
    Messages:
    108
    Likes Received:
    57
    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
     
    redapg likes this.
  9. redapg

    redapg Registered

    Joined:
    Jan 16, 2012
    Messages:
    4,432
    Likes Received:
    3,348
    The best Thing in rF1 was, that it worked automatically, when the defined/listed Track was used.
     
  10. EMY

    EMY Registered

    Joined:
    Oct 13, 2010
    Messages:
    102
    Likes Received:
    84
    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...
     
  11. redapg

    redapg Registered

    Joined:
    Jan 16, 2012
    Messages:
    4,432
    Likes Received:
    3,348
    Maybe some Members with a deeper Knowledge about Plugins can jump in here, like @Lazza or @svictor?
     
  12. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,547
    Likes Received:
    6,710
    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.
     
    3377 and redapg like this.
  13. DanRZ

    DanRZ Registered

    Joined:
    Aug 22, 2021
    Messages:
    806
    Likes Received:
    276
    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".
     
  14. redapg

    redapg Registered

    Joined:
    Jan 16, 2012
    Messages:
    4,432
    Likes Received:
    3,348
    @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.
     
    3377 and DanRZ like this.
  15. 3377

    3377 Registered

    Joined:
    Oct 16, 2010
    Messages:
    108
    Likes Received:
    57
    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
     
  16. Felipe Granado

    Felipe Granado Registered

    Joined:
    Aug 29, 2013
    Messages:
    57
    Likes Received:
    8
    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?
     
  17. redapg

    redapg Registered

    Joined:
    Jan 16, 2012
    Messages:
    4,432
    Likes Received:
    3,348
    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.
     
    Felipe Granado likes this.

Share This Page