Jump to content

Recommended Posts

PatrickAWlson
Posted (edited)

An attempt at explaining skins in PWCG. You wouldn't think that this is a challenging topic, but it turns out to be very complex.  Here's an attempt to explain.

 

Factory default skin

This is generally what the game will assign if you do not override.  It is possible to have multiple variants on factory skins if there are more than one in the game or others are made by users.  Factory defaults will have neither squadron nor personal markings.

Factory skins are configured by the files in the PWCGCampaign\BoSData\input\skins directory.

 

Squadron default skin

These skins contain only the squadron markings.  They do not have personal markings.  If a squadron skin is available and configured PWCG will use it in preference to factory skins.  

Squadron default skins are are currently broken.  Fix coming in 3.0.3.

 

Squadron personal skin.

These skins contain squadron and personal markings.  If squadron personal skins are available PWCG will assign each one to a single pilot from that squadron in the mission.  Unlike factory and squadron default skins, PWCG will not use a personal skin twice in a mission.  Squadron personal skins will only be assigned to planes from that squadron.

Squadron personal skins are configured by the files in the PWCGCampaign\BoSData\input\skins directory.

 

Non squadron personal skin

These skins contain personal markings but do not contain squadron markings.  PWCG, based on a roll of the dice, may choose to assign these skins to a plane in the mission.  These skins will not be used twice in the same mission.

Non squadron personal skins are configured by the files in the PWCGCampaign\BoSData\input\skins directory.

 

Loose skins

Loose skins are unconfigured skins that PWCG finds in your skins directory.  Because PWCG has no information on these skins, loose skins will never be programmatically assigned to a plane.  The can be assigned by the user to his plane or squadron members.

Loose skins are not configured.

 

Assigned Squadron Member Skins

Skins that are assigned by the user to his pilot or squadron members.  These skins will be used for the assigned pilot.  They will not be reused in a mission.  Configured skins and loose skins can be assigned to squadron members.

Assigned squadron member skins are configured in the campaign in the CampaignPersonnel.json file.

 

Assignment

PWCG works on a "last in wins" algorithm.  Attempts are made to assign skins in descending order of specificity (least specific to most specific).  The last that can be assigned is the one that gets displayed in missions.

 
Other factors:
Skins are configured to be available in a date range.  If the campaign date is not within the date range of the skin then it will not be used.
Skins are configured by nationality.  The skin must be of the same nation as the plane otherwise it will not be used
Edited by PatrickAWlson
  • Thanks 2
  • Upvote 3
MarcoPegase44
Posted

Hello Pat,

For Skins files I was inspired by those of PWCG for ROF.

It gives this and it works.

But I do not understand some lines that I wrote in red.

 

{
  "planeType": "yak1s69",
  "looseSkins": {},
  "configuredSkins": {
    "Yak1s69_4k_winter": {
      "skinName": "Yak1s69_4k_winter",
      "planeType": "yak1s69",
      "startDate": "19421128",
      "endDate": "19430221",
      "squadId": -2,
      "country": "Russia",
      "category": "Configured",
      "definedInGame": false
    },
    "Yak1s69_4k_Summer": {
      "skinName": "Yak1s69_4k_Summer",
      "planeType": "yak1s69",
      "startDate": "19410628",
      "endDate": "19421130",
      "squadId": -1,
      "country": "Russia",
      "category": "Configured",
      "definedInGame": false
    }

},
  "doNotUse": {},
  "aceSkins": {},
  "skinsInUse": [],
  "squadronSkins": []
}

 

Many Thanks

PatrickAWlson
Posted

Loose skins, do not use skins, skins inuse, squadron skins:

These are artifacts of converting the PWCG Java object to JSON.  In hindsight I am probably writing the wrong Java object.  I should refactor things to only write configured skins, since that is all that is in the file.

 

Squadron id = -1: A personal skin not associated with a squadron

Squadron id = -2: A factory skin 

  • 2 weeks later...
Posted

Since I'm completely new to PWCG  is there a manual or resource that explains how I'm supposed to edit the individual files? Thanks.

PatrickAWlson
Posted

Since I'm completely new to PWCG  is there a manual or resource that explains how I'm supposed to edit the individual files? Thanks.

The short version is that you are not.  The files are out here as plain text but they are not intended to be edited by the user.  

 

What I did with RoF that resulted in thousands of skins being added to the game is to work with the community to create skin packs.  I do the incorporation into PWCG.  Panthercules headed that effort up for RoF.  I am not aware that anybody has made the attempt for BoS.

Posted (edited)

Ahhh so there is no real "easy" way to have "automated" skins with IL2 and PWCG at the moment, like that come up as Squadron appropriate? The loose ones of course show up. I was just wondering if I needed start editing the files one my own.

Edited by AstroCat
PatrickAWlson
Posted

Skins are changing due to issues with the current setup.  Let me finish that then I can revisit.  The basic format of a skin entry is not changing.  Here it is:

 

    "501099_002": {
      "skinName": "501099_002",
      "planeType": "dfwc5",
      "startDate": "19171001",
      "endDate": "19180401",
      "squadId": -1,
      "country": "Germany",
      "category": "Configured",
      "definedInGame": false
    },
 

Defined in game will always be false.  Other than that I think the fields are self explanatory.  That is the info that I need to get each skin into PWCG

Posted

Thanks for the replies, appreciated. I'll wait for the next version before I really start  messing around. :)

MarcoPegase44
Posted

Hello,

 

It works,

 

Here is an example with some skin files that I made for testing.

 

It remains to work ... ;)

 

mini_826723skin.jpg

  • 2 months later...
Posted

Is it still not recommended to try and configure skins with 3.3.2?

Or if it is possible, would anyone care to share an example? I see there are files like PWCGCampaign\BoSData\Input\Skins\Configured\bf109f4.json, but I don't see the link with its empty content and what is described above in this thread:

 

{
  "skinSetType": "SKIN_CONFIGURED",
  "skins": {}
}

 

MarcoPegase44
Posted

Hello ,

 

For sample, my file skin for BF 109G2

bf109g2.zip

  • Like 1
Posted

Well, I am using skins that I have downloaded... I have assigned all my squadron members with British Spitfire skins using the 'Loose' setting.

Each time I fly all my sqn pilots have those skins... I only have to assign a skin again if I have a replacement pilot.

It may not be perfect but it works...

Posted
2 hours ago, MarcoPegase44 said:

Hello ,

 

For sample, my file skin for BF 109G2

bf109g2.zip

 

Thanks! That'll be much easier to go from there than probing in the dark :)

Posted

I have mixed results. I could a custom skin to be selected for my pilot, but the "squadron" seetings (beside the loose setting) are obscure to me, not sure what they change. In the mission, I saw that the skin I configured for myself was given to him, and I had a default skin instead.

Changing the squadron file seems to have no effect. Without explanation it's just (lenghty) guess work, I'll leave it at that for now.

Posted

Always choose your own skin before the mission when 'in game'...

Your Squadron  pilots skins can be chosen from PWCG from the skin configuration settings using the 'loose' setting only.

Make sure you apply the changes before you leave the skin configuration settings.

After that, your squadron will always have the skins you have chosen for them on every mission.

  • Like 1
PatrickAWlson
Posted

Anything in the skin file should be "configured".  

 

PWCG has multiple skin categories.

 

Factory default: this is what you get when no skin is specified.

 

Squadron: These are squadron default skins specified in the squadron files, not the skin files.  They are factory skins with only a squadron marking.  If a valid squadron skin exists PWCG will assign every plane in the squadron to that skin.

 

Configured: These are skins in the skins files.  Configured means that somebody has looked at them and told PWCG exactly what they are and how they should be applied (squadron, date).  These are assumed to be individual skins.  PWCG allows you to assign configured skins to your squadron mates.  In missions PWCG will use configured skins for their specified squadron.  If squadId = -1 then the skin is not associated with any specific squadron.  In this case PWCG may use it for any squadron, but will generally only do so for higher ranking AI pilots.

 

Loose: these are skin files that PWCG detects in your game's skin directory.  PWCG will never assign a loose skin to AI.  PWCG does allow you to assign loose skins to yourself and your squadron mates.

 

Assignment sequence:

Factory skin.

Squadron skin if available.

Configured skin if available.

Assigned skin if assigned.

Each succeeding assignment overwrites the previous one.

 

Summary:

You can assign configured or loose skins to yourself and your squadron mates.

PWCG will assign only configured skins to AI planes.

  • Like 1
Posted (edited)
6 hours ago, PatrickAWlson said:

Anything in the skin file should be "configured".  

 

PWCG has multiple skin categories.

 

Factory default: this is what you get when no skin is specified.

 

Squadron: These are squadron default skins specified in the squadron files, not the skin files.  They are factory skins with only a squadron marking.  If a valid squadron skin exists PWCG will assign every plane in the squadron to that skin.

 

Configured: These are skins in the skins files.  Configured means that somebody has looked at them and told PWCG exactly what they are and how they should be applied (squadron, date).  These are assumed to be individual skins.  PWCG allows you to assign configured skins to your squadron mates.  In missions PWCG will use configured skins for their specified squadron.  If squadId = -1 then the skin is not associated with any specific squadron.  In this case PWCG may use it for any squadron, but will generally only do so for higher ranking AI pilots.

 

Loose: these are skin files that PWCG detects in your game's skin directory.  PWCG will never assign a loose skin to AI.  PWCG does allow you to assign loose skins to yourself and your squadron mates.

 

Assignment sequence:

Factory skin.

Squadron skin if available.

Configured skin if available.

Assigned skin if assigned.

Each succeeding assignment overwrites the previous one.

 

Summary:

You can assign configured or loose skins to yourself and your squadron mates.

PWCG will assign only configured skins to AI planes.

 

Thanks!

I need to experiment a little bit with this.

 

EDIT: I can't seem to get the skins defined in the squadron files (BoSData\Input\Squadron\I_JG53.json for ex) to show in the "Skin management" part. I see them in the "Skin analysis" though. I tried with both "category": "Squadron" or "category": "Configured". Only the ones in the plane file (BoSData\Input\Skins\Configured\bf109f4.json for ex) seem to matter.

 

Does those need to be dictionary entries in configured entries (BoSData\Input\Skins\Configured\bf109f4.json for ex) and only lists in squadron (BoSData\Input\Squadron\I_JG53.json for ex)? And must the dictionary keys match the skinName / filename?

 

So by dictionary vs list I mean 

 

"skins": {
  "zsf-bf109f4-10JG2-1bleu": {
      "skinName": "zsf-bf109f4-10JG2-1bleu",
      "planeType": "bf109f4",
      "startDate": "19410101",
      "endDate": "19450508",
      "squadId": 20111053,
      "country": "Germany",
      "category": "Configured",
      "definedInGame": false
    },

   [...]

 

versus

 

  "skins": [
    {
      "skinName": "zsf-bf109f4-10JG2-1bleu",
      "planeType": "bf109f4",
      "startDate": "19410101",
      "endDate": "19450508",
      "squadId": 20111053,
      "country": "Germany",
      "category": "Configured",
      "definedInGame": false
    },

   [...]


 

Edited by Redglyph
Posted (edited)

Can't seem to have a skin for the pilot either, once bf109f4.json is set for the squadron mates it's fine for them, I saw how to assign skins individually (but since skins cannot be re-used, you've got to have a lot of these). But the skin of the user's airplane seems to be ignored.

 

Oh, or is that a limitation in IL-2, and it's not possible to set the pilot's skin in the mission script? At first I thought the plane setup wasn't available in some missions but apparently it may have, it's just that the setup page is hidden. I suppose that's what you said, Trooper117.

Edited by Redglyph
  • 4 months later...
Posted

Is there any way to set your own skin through PWCG or will the game always override it?

  • 2 weeks later...
Posted

If we configure more than one plane with squadlist : -1 will it cycle them randomly?

 

Are there supposed to be skins somewhere with “Lag33_SKIN_01” or whatever or are those names placeholder in the skin config?

  • 1 year later...
Posted

Pat,

 

I have a pack of skins in which the aircrafts are marked with a sequence of numbers (1, 2, 3, etc.). I'm trying to define them in the corresponding squadron file so PWCG selects a random one from the list for each pilot but the system only picks the last one. What am I doing wrong?

 

"skins": [
    {
      "skinName": "4JG52 F2 01 Summer",
      "planeType": "bf109f2",
      "startDate": "19400801",
      "endDate": "19450601",
      "squadId": 20112052,
      "country": "Germany",
      "category": "Configured",
      "definedInGame": false
    },

{
      "skinName": "4JG52 F2 02 Summer",
      "planeType": "bf109f2",
      "startDate": "19400801",
      "endDate": "19450601",
      "squadId": 20112052,
      "country": "Germany",
      "category": "Configured",
      "definedInGame": false
    },

{
      "skinName": "4JG52 F2 03 Summer",
      "planeType": "bf109f2",
      "startDate": "19400801",
      "endDate": "19450601",
      "squadId": 20112052,
      "country": "Germany",
      "category": "Configured",
      "definedInGame": false
    }

],

 

So all missions being generated are only selecting the "4JG52 F2 03 Summer" skin. Am I doing something wrong or is it not possible to have the system pick one randomly in the Configured category?

Posted

I've asked the same question, but difficult to get an answer. No idea why?

PatrickAWlson
Posted
8 hours ago, Almenas said:

I've asked the same question, but difficult to get an answer. No idea why?

 

I'm just not there yet.  With BoBP and FC dropped at the same time that has been the priority. I wanted to do a review of how skins behave in game (I think something changed) and also verify PWCG is handling them as I expect.  It's been awhile since I cracked open that bit of code and I want to make sure of things before I start answering questions.  

Posted (edited)

No offense. Was in ROF a great feature.

Thank you again for this great tool.

 

By the way, it seems that the new RoF are using the same skin templates as the old one.

 

Edited by Almenas
Posted (edited)

Ok. I ran some tests with the new version 7.0.1 and here are the files I modified:

 

bf109f2.json (...\PWCGBoS\BoSData\Input\Skins\Configured):



{ "skinSetType": "SKIN_CONFIGURED", "skins": { "4JG52_Skin_Summer_Kommandeur": { "skinName": "4JG52 F2 (Stab1) Kommadeur Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_Adjudant": { "skinName": "4JG52 F2 (Stab2) Adjudant Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_Technical_Officer": { "skinName": "4JG52 F2 (Stab3) TO Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_Chief_of_Staff": { "skinName": "4JG52 F2 (Stab4) COS Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_01": { "skinName": "4JG52 F2 01 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_02": { "skinName": "4JG52 F2 02 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_03": { "skinName": "4JG52 F2 03 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_04": { "skinName": "4JG52 F2 04 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_05": { "skinName": "4JG52 F2 05 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_06": { "skinName": "4JG52 F2 06 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_07": { "skinName": "4JG52 F2 07 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_08": { "skinName": "4JG52 F2 08 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_09": { "skinName": "4JG52 F2 09 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_10": { "skinName": "4JG52 F2 10 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_11": { "skinName": "4JG52 F2 11 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_Skin_Summer_12": { "skinName": "4JG52 F2 12 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false } } }

 

and the bf109f4.json (...\PWCGBoS\BoSData\Input\Skins\Configured):



{ "skinSetType": "SKIN_CONFIGURED", "skins": { "4JG52_BF-109F4_Skin_Summer_Kommandeur": { "skinName": "4JG52 Bf109F4 (Stab1) Kommandeur Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_Adjudant": { "skinName": "4JG52 Bf109F4 (Stab2) Adjudant Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_Technical_Officer": { "skinName": "4JG52 Bf109F4 (Stab3) Technical Officer Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_Chief_of_Staff": { "skinName": "4JG52 Bf109F4 (Stab4) COS Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_Adjudant": { "skinName": "4JG52 F2 (Stab2) Adjudant Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_01": { "skinName": "4JG52 Bf109F4 01 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_02": { "skinName": "4JG52 Bf109F4 02 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_03": { "skinName": "4JG52 Bf109F4 03 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_04": { "skinName": "4JG52 Bf109F4 04 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_05": { "skinName": "4JG52 Bf109F4 05 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_06": { "skinName": "4JG52 Bf109F4 06 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_07": { "skinName": "4JG52 Bf109F4 07 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_08": { "skinName": "4JG52 Bf109F4 08 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_09": { "skinName": "4JG52 Bf109F4 09 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_10": { "skinName": "4JG52 Bf109F4 10 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_11": { "skinName": "4JG52 Bf109F4 11 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false }, "4JG52_BF-109F4_Skin_Summer_12": { "skinName": "4JG52 Bf109F4 12 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Configured", "definedInGame": false } } }

 

and then I also modified the II_JG52.json (...\IL-2 Sturmovik Battle of Stalingrad\PWCGBoS\BoSData\Input\Squadron) to contain the skins assigments:



"skins": [ { "skinName": "4JG52 F2 01 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 02 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 03 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 04 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 05 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 06 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 07 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 08 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 09 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 10 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 11 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 F2 12 Summer", "planeType": "bf109f2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 01 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 02 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 03 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 04 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 05 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 06 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 07 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 08 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 09 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 10 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 11 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "4JG52 Bf109F4 12 Summer", "planeType": "bf109f4", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false }, { "skinName": "II_JG52", "planeType": "bf109g2", "startDate": "19400801", "endDate": "19450601", "squadId": 20112052, "country": "Germany", "category": "Squadron", "definedInGame": false } ],

 

However, when the mission is generated by PWCG, the system only picks up the last skins, that is, the No. 12 ones and ignores the rest. So I end up with all pilots in my unit flying with the No. 12 instead of having randomly assigned skins. Is this an issue with the "category" field I'm using in the II_JG52.json file? Should I change it to something else?

 

 

Edited by SCG_Riksen
PatrickAWlson
Posted (edited)

The same skin data structure is used in three places.  Each of these carries somewhat different semantics.

 

Aircraft skin files

In the aircraft skin files these are skins available for use.  PWCG will allow you to assign them to individual pilots.  If they are not in use then PWCG might or might not randomly use them.

 

Squadron skins:

These are the default skins for a squadron.  For every aircraft type on hand with the squadron only one skin will be the default squadron skin.  If you define two squadron skins to be available at the same time then the last one will be applied to every pilot.  Based on this the use of skin 12 for everybody makes sense ... sort of.  Get to that later.

 

Ace skins:

Ace skins are skins used by aces.  Pretty much self explanatory.

 

So the problem is not the use if skin 12 for everybody based on squadron entries - that is exactly what PWCG should do.  The problem is why did it not take the squadron skins from the aircraft files and use them.  I'll look at  that.  OK, looked at this.  The reason is that PWCG will not randomly assign skins to your squadron.  It will do so for other squadrons.  The reason is pretty straight forward: since you can assign skins to your squadron by yourself PWCG doesn't do random assignments.  It will only assign the squadron skin if there is no personal skin assigned.

 

BTW: skins are complicated.  It doesn't seem like they should be but they are.  By the time you get into right for this plane, right for this squadron, right for this time period, ok to repeat, not ok to repeat, being used, not being used ... it gets ugly

 

Edited by PatrickAWlson
  • Thanks 1
Posted

Oh, so if I wasn't playing in this squadron, my configuration would indeed work in order to randomly select the skins for the AIs? If yes, I'm glad I've found the right path and I can work on the other squadrons.

PatrickAWlson
Posted

One last thing - skins are not working at the moment in PWCG.  Something changed in the game.  The skin assignments are happening in the mission file as expected but the game is not using them.  When I try to do the exact same thing in the ME it works.  The skin assignments in the mission file are identical between PWCG and the ME, so it's not that.  Smells like there is some new requirement in the mission files to make custom skins appear but I'm not sure what it is or even if that is a correct assessment of the problem.

  • Thanks 1
  • 2 weeks later...
WWI_Flying_Ace
Posted

Hey Pat. I’ve been off RoF for probably 2 years and a couple of days ago just bought FC. I’ve forgotten much! I was able to get PWCGFC installed and running but don’t know where to extract the skins? I’m assuming you’ll get the problem squared away in short order and I’ll be able to use them. Cheers, Brad

PatrickAWlson
Posted

There are no configured skins yet for FC.  RoF was months of effort, hundreds, possibly over a thousand skins,  with lots of help to produce skin packs, so probably not happening soon.  I am also experiencing an unresolved issue  where skins do not show up after being assigned, so there are problems in that area.

Posted (edited)

Hi Pat,   I have been able to get the squad skins to work for FC.....what I did was I took squad FA 18 in FC then found the squad in ROF, copied the squad skin config into the FC squad and then coped the ROF skins into the skins folder in Il2.  I worked...they show up in the skin analysis as configured also.  attached my squad file.....hope it helps.  Tried it with BOS and got it to work too....seems like 4k skins do not configure

FA 18.zip

Edited by No.322_Cathaoir
Posted
24 minutes ago, No.322_Cathaoir said:

Hi Pat,   I have been able to get the squad skins to work for FC.....what I did was I took squad FA 18 in FC then found the squad in ROF, copied the squad skin config into the FC squad and then coped the ROF skins into the skins folder in Il2.  I worked...they show up in the skin analysis as configured also.  attached my squad file.....hope it helps.  Tried it with BOS and got it to work too....seems like 4k skins do not configure

FA 18.zip 635 B · 0 downloads

 

The skins configuration is working and that is not the issue we are having. The problem is that the generator is not randomizing the skins if you have more than one defined for the same time frame. It only selects the latest.

Posted (edited)

Well yes it does not randomize...but still trying....but there are probably some who have not yet figured out yet how to get squad skins to show.....for that it needs some manual input but it does work...what I did was have the commander select a loose skin then un-select the loose option then I did it for two other pilots first selecting loose then the skin I wanted them to have, un-selected loose, then went to the commander and selected the squad skin. option. They showed up as selected. Again I am doing this in SP, not sure if this will work in a Coop. Also need to make sure that the none selection is not selected.  But for randomizing automatic I am not sure it will without manually selecting...which defeats the idea of random selection....don't know so just a guess....did random skin selection work in ROF?....never tried it so do not know.  Maybe some ROF  vet's can shed some light on that.

 

Screen shots of 3 different skins

2019_11_22__16_10_31.jpg

2019_11_22__16_10_54.jpg

2019_11_22__16_11_1.jpg

Edited by No.322_Cathaoir
  • 4 months later...
Posted

So I assign skins for my squadron using the loose feature in skin management. In game all is fine with my squadron but I see AI and parked US planes with Soviet markings. Is there a way to ensure that all US AI and parked planes have US markings?

 

Thanks

Posted

Any insight on Soviet markings on US planes is appreciated. Is there a way to change them?
 

 Stay safe all

Posted
On 4/2/2020 at 8:04 AM, TheSNAFU said:

Any insight on Soviet markings on US planes is appreciated. Is there a way to change them?
 

 Stay safe all

If you go to PWCGBoS\BoSData\Input\Squadron

 

Squadron skin information is stored those .json files. Some squadrons have no skins assigned, probably because an appropriate skin is not available. If that's the case, the default skin is applied, which for some planes is a Soviet skin. If you have appropriate skins installed you may be able to edit these files to apply the correct U.S. markings. To do so, use the same format as a squadron where skins are already assigned, for example from the 126th Fighter Air Regiment:

 

  "skins": [
    {
      "skinName": "P40E1_SKIN_01",
      "planeType": "p40e1",
      "startDate": "19410801",
      "endDate": "19420331",
      "squadId": 10111126,
      "country": "Russia",
      "category": "Squadron",
      "definedInGame": false
    }
  ],

Posted

Utopioneer, thanks very much for responding, much appreciated. I will give it a look. 

 

I was beginning to think there was either no answer to my question or I had stepped in someone's pudding lol. 

 

See you are in NY, Stay safe! 

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...