Fallout 4

File information

Last updated

Original upload

Created by

Jamie1992 AKA Steelhawk

Uploaded by

jamie1992

Virus scan

Safe to use

About this mod

Permissions and credits
Donations
Small Tutorial on using the Standalone Power Armor Paint Compiler by Expired6978


--------------------------------------------------------------------------------------------------------------------


I have had a large amount of people messaging me via pm's asking how I achieved making my paints standalone and was told/suggest that I make it into a tutorial of sorts to post up onto the site. So here is what I have. It could probably do with a rewrite as my English isn't that great and my spelling can sometimes be off along with the method for which I format my text and posts. For this I apologise.

But hopefully this will at-least help somewhat clear up what the folders and files are for. If anything here is wrong or doesn't really provide enough detail PLEASE message me and let me know so that I can amend it or revise it.

I will add extra bits of info onto this as time goes on.

The tool mentioned can be found HERE:

Standalone Power Armor Paint Compiler by Expired6978


--------------------------------------------------------------------------------------------------------------------

SO lets begin shall we!

Upon downloading and extracting you will have a DIST folder, inside will be the following.

Build Folder: (This only appears after running the PaPainter.exe for the first time)

So the build folder is where your materials and your ESP file will be put once it has all been compiled. The output will retain the correct folder structure required, it will require just a literal copy paste from the build folder into the data folder.

This is the last step so lets gloss over this for a moment.

Materials Folder:

Materials folder is merely the folder for which holds the json's for all the PA's and their respective materials (Including Base files). I personally have never had to edit these, but I suppose somewhere down the line it may require editing depending on what specific mod you are making.

Source Folder:

The Source folder is the meat of the compiler and this is where you'll spend most of your time. So lets delve into this
in deeper detail.

Entering that folder you'll have the paintjobx.json (X being the number 1 or 2 etc.) and a paintjobx folder (again x being the 1 or 2 etc etc.) Opening the paintjob.json is where you define your mod name, the suffix and internal name. (Essentially the esp name, paint-job name for editorial points and the files internal designation for the folder trees in that respective order.

"modName":
"editorSuffix":
"internalName":


These will be the three entries to change to get the name of your esp and in game listing correct.

Lower down is the definitions list for which specific armors your paint-job will cover.

EG

{
      "template":"X01",
      "materials":{
        "Helmet":"Actors\\PowerArmor\\%sHelmet%s", // %s template, %s internalName
        "Body":"Actors\\PowerArmor\\%sBody%s",
       "Arm": "Actors\\PowerArmor\\%sArm%s",
       "Leg": "Actors\\PowerArmor\\%sLeg%s"
     }
    },



Tells the compiler that you will be editing all aspects of the X-01 suit and apply new textures to it entirely. Broken into sections - Helmet, Body, Arm, Leg. These reference back over to the source files inside the paint-job folder.

So if you were to go into the folder accustomed to the specific paintjob.json you opened you'll have folders like T-45, T-51, T-60 or X-01 or any of the above. If you open the X-01 you'll see inside there is 4 files, one more pertaining to the 4 segments of the PA.

Opening any one of these in notepad will then allow you to change the 3 main textures.

"sDiffuseTexture":"Actors/PowerArmor/X1BodyVault_d.dds",
 "sNormalTexture": "Actors/PowerArmor/X1BodyVault_n.dds",
 "sSmoothSpecTexture":"Actors/PowerArmor/X1BodyVault_s.dds",


This is what my Vault-Tec compiler uses for it's material build.

(Sidenote)

I'm not entirely sure but the default files lists the X-01 files under X01body etc, rather than X1body, you just need to remove the 0 in all 3 entries in all 4 files to allow materials to sit well. I learnt that one the hard way. It is very possible that Expired has amended this.

--------------------------------------------------------------------------------------------------------------------


After setting all 4 of these files, that specific PA will be assigned a new texture upon compile which you set in those respective files. Just remember that having more than one paintjob.json and paint-job folder will cause the compiler to build multiple ESP's and materials for whatever specific sets they mark out within those folders and files, so if you only plan to compile one specific esp set, remove the other json and folder or at-least cut it from the source folder and plonk it elsewhere. And edit the plugin.json to reflect this change, mentioned below.

materials.json

This merely tells the compiler what materials to use for the underlying section of the texture. Again I never really ventured far into this as never needed too, but the only change I did have to make was make sure that the T-51 definitions had "ArmG01":"actors\\PowerArmor\\T51ArmG01.BGSM", within it,otherwise the T-51 arms never seem to work correctly.

papainter.exe

This is your compiler exe, once you have set up definitions to everything and done everything needed this in the penultimate step. Running this creates the esp and materials from what you designate to the files. All that is required after this is to move the materials and esp to your data folder and combine them into the folder tree along with your custom materials.

papainter.log

Just a generic compile output log.

plugin.json

This is the define which paintjob.json and paint-job folder to use along with once more the name of your ESP.

For example my Vault-Tec compiler has.

{
    "name" : "Vault-TecClean.esp",
    "mods" : [
       "paintjob1"
    ]
}


So overview.

Open the plugin.json and tell it to use only one paint-job set for only one esp build, like mine is above, rename the parts needed to what you want them to be.

Go into your source folder and open up the paintjob.json and once more set what is needed within that so that it matches the respective mod you are making. After this enter the paint-job folder and add/change/remove any of the PA's that are or are not being used within your mod. Then within each folder change the 3 entries of each segment to the texture with it's own name that you define. For example all my vault-tec textures end in Vault. 

Then with all those set, run the compiler and it will make your ESP and materials, combine them with your textures and fingers cross it will show up within your paint-job list in game and ready for you to apply.

------

Update 4/12/15


The code in the Json has to be absolutely error free or it will not compile.

Even a missing comma can cause the entire compiler to fail. Sadly that is just a sad truth of code. In the description near the bottom is my own Vault-Tec compiler, if you open that up it will show you how to have all4 PA's in the paint job list and retain a clean compile.

      {
        "template": "X01",
        "materials": {
        "Helmet": "Actors\\PowerArmor\\%sHelmet%s", // %s template, %s internalName
        "Body": "Actors\\PowerArmor\\%sBody%s",
        "Arm": "Actors\\PowerArmor\\%sArm%s",
        "Leg": "Actors\\PowerArmor\\%sLeg%s"
       }
    },


This will essentially tell the code that you want to have the X-01 included within the list, this ofcourse goes below the "output": [ line. The comma near the last } simply tells the compiler reading the code that it continues to a new entry within the same table. Removing the comma and replacing the entry with this.

      {     
"template": "X01",
        "materials": {
        "Helmet": "Actors\\PowerArmor\\%sHelmet%s", // %s template, %s internalName
        "Body": "Actors\\PowerArmor\\%sBody%s",
        "Arm": "Actors\\PowerArmor\\%sArm%s",
        "Leg": "Actors\\PowerArmor\\%sLeg%s"
      }
    }
  ]
}


Essentially tells the compiler that this is the end of the listing/table, the ] bracket second from last ends the output local list. As mentioned above. And the very end } bracket is essentially an end tag to close off the branch of the script that is started with the } bracket at the VERY top of the script itself.
So as an example.

{
  "modName": "Vault-Tec Clean",
  "description": "",
  "editorSuffix": "Vault-Tec C",
  "materialFormat": "mat_PA_%s_%s",     // template, editorSuffix
  "objectModFormat": "PA_%s_%s",        // template, editorSuffix
  "constructibleFormat": "co_PA_%s_%s", // template, editorSuffix
  "internalName": "VTC",
  "output":
[
    {
      "template": "X01",
      "materials": {
        "Helmet": "Actors\\PowerArmor\\%sHelmet%s", // %s template, %s internalName
        "Body": "Actors\\PowerArmor\\%sBody%s",
        "Arm": "Actors\\PowerArmor\\%sArm%s",
        "Leg": "Actors\\PowerArmor\\%sLeg%s"
      }
    },
    {
      "template": "T60",
      "materials": {
        "Helmet": "Actors\\PowerArmor\\%sHelmet%s",
        "Body": "Actors\\PowerArmor\\%sBody%s",
        "Arm": "Actors\\PowerArmor\\%sArm%s",
        "Leg": "Actors\\PowerArmor\\%sLeg%s"
      }
    },
    {
      "template": "T51",
      "materials": {
        "Helmet": "Actors\\PowerArmor\\%sHelmet%s", // %s template, %s internalName
        "Body": "Actors\\PowerArmor\\%sBody%s",    
          "ArmG01": "Actors\\PowerArmor\\%sArmG01%s",
        "Arm": "Actors\\PowerArmor\\%sArm%s",
        "Leg": "Actors\\PowerArmor\\%sLeg%s"
      }
    },
    {
      "template": "T45",
      "materials": {
        "Helmet": "Actors\\PowerArmor\\%sHelmet%s", // %s template, %s internalName
        "Body": "Actors\\PowerArmor\\%sBody%s",
        "Arm": "Actors\\PowerArmor\\%sArm%s",
        "Leg": "Actors\\PowerArmor\\%sLeg%s"
      }
    }

  ]
}

The Brackets in Green are your output definitions for that local branch within the main script, which is what all the PA's are defined within, essentially a sub function for the compiler. The Brackets in red are the start and end of the entire script itself. The opening bracket basically makes it say, okay, a function starts here and the last bracket ends all flowing info and tells the compiler, okay this is the absolute end of the script code, compile information to that point.

I hope that makes sense. The Vault-Tec compiler within my Tutorial at the bottom will provide my own files to allow the compile of all 4 PA's within one paintjob compile.


------



My Vault-Tec Compile folder


This is my Vault-Tec compile folder, containing everything set up for all 4 PA's ready to compile and throw into the data folder with my textures. Hopefully, this along with the overview and file explanations should allow you to piece it all together and allow you to make some real progress on making your own skin sets.

I hope everything I've said was easy enough to understand. I'm not that great with the English language, regardless of it being my native tongue.

If you have any more questions please do feel free to drop me a message and I'll help as best and as fast as I can.

------