Surpher/Sandbox – User
Intro
This is a character re-texture guide for Arma 3, it will guide you through the re-texuring of a blufor units uniform, vest and helmet. The focus will be more on the config.cpp and getting the character in game rather than the editing of textures. The same process can be applied to re-texture any game model that makes use of hiddenSelections[].
Requirements
List of tools needed
- BI Tools 2.5
- TexView 2 Converting textures to and from bis formats.
- BinPBO Packing your files ready for use in game.
- Tools Drive Optional - Creates a workspace.
- Eliteness Unpacking pbo files and derapifiying congig.bin files.
- Text Editor Notepad++
- Image Editor GIMP
Texture Templates
PSD Templates for NATO Soldiers
PSD and PDN Templates for Independent Uniforms
Where to find original textures & config files
C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Addons\characters_f.pbo
- characters_f\config.bin - Classes for uniforms, vests and headgear.
- characters_f\blufor\config.bin - Classes for the blufor units.
- characters_f\blufor\data - The majority of the blufor unit textures.
- characters_f\OPFOR\config.bin - Classes for the opfor units.
- characters_f\OPFOR\data - The majority of the opfor unit textures.
C:\Program Files (x86)\Steam\steamapps\common\Arma 3\Addons\characters_f_beta.pbo
- characters_f_beta\INDEP\config.bin - Classes for the independent units.
- characters_f_beta\INDEP\data - The majority of the independent unit textures.
Unpacking the characters_f.pbo file
This part is optional you do not have to unpack the characters_f.pbo file to get at the config files and textures. There is a working config.cpp below and there are texture templates released by community members.
Copying the pbo file to a safe location
- Start Steam and go to Library, right-click on Arma3 and select properties.
- In properties click the Local File tab and then click on the Browse Local Files button and it will bring up a file dialog.
- Navigate to the Addons folder and copy the characters_f.pbo file to a different folder away from the game files.
Unpacking the pbo file and derapifying the config.bin files ready for editing
- Now start Eliteness and navigate to the location where you copied the characters_f.pbo file.
- Double-click on the characters_f.pbo file and you will be ask if you want to extract the file, click OK.
- Navigate to the newly created characters_f folder and double-click on config.bin and then go to the File menu a click Save As.
- Name the file characters_f_config.cpp
- Now navigate to the blufor folder and double-click on config.bin and then go to the File menu a click Save As.
- Name the file blufor_config.cpp
- The characters_f_config.cpp and blufor_config.cpp can now be opened in a text editor to be used as reference.
Getting the original textures ready for editing
- Navigate to the data folder in the blufor folder.
- Double-click on clothing1_co.paa and it should open in Texview2 if you have it installed.
- Go to the file menu and click Save As and give the file name a .tga extension.
- Do the same for vests_rgr_co.paa and equip1_co.paa
- The newly created .tga file can now be opened in a image editor.
Texture Editing
Config.cpp file
enum {
destructengine = 2,
destructdefault = 6,
destructwreck = 7,
destructtree = 3,
destructtent = 4,
stabilizedinaxisx = 1,
stabilizedinaxesxyz = 4,
stabilizedinaxisy = 2,
stabilizedinaxesboth = 3,
destructno = 0,
stabilizedinaxesnone = 0,
destructman = 5,
destructbuilding = 1
};
class DefaultEventhandlers;
class CfgPatches
{
class Retextured_A3_Characters_F_BLUFOR
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"A3_Characters_F"};
};
};
class CfgVehicles
{
class B_Soldier_base_F;
class Retextured_B_Soldier_F: B_Soldier_base_F
{
author = "YouName";
_generalMacro = "B_Soldier_F";
scope = 2;
displayName = "Retextured Blufor Soldier";
model = "\A3\characters_F\BLUFOR\b_soldier_01.p3d";
nakedUniform = "U_BasicBody";
uniformClass = "Retextured_U_B_CombatUniform";
hiddenSelections[] = {"Camo"};
hiddenSelectionsTextures[] = {"indep_units\data\uv_guide_2048_co.paa"};
linkedItems[] = {"Retextured_V_PlateCarrier1","Retextured_H_HelmetB","NVGoggles","ItemMap","ItemCompass","ItemWatch","ItemRadio"};
respawnLinkedItems[] = {"Retextured_V_PlateCarrier1","Retextured_H_HelmetB","NVGoggles","ItemMap","ItemCompass","ItemWatch","ItemRadio"};
};
};
class cfgWeapons
{
class Uniform_Base;
class UniformItem;
class ItemInfo;
class Retextured_U_B_CombatUniform: Uniform_Base
{
scope = 2;
displayName = "$STR_A3_Combat_fatigues";
picture = "\A3\characters_f\data\ui\icon_U_B_CombatUniform_mcam_ca.paa";
model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver";
class ItemInfo: UniformItem
{
uniformModel = "-";
uniformClass = "Retextured_B_Soldier_F";
containerClass = "Supply20";
mass = 80;
};
};
class Vest_Camo_Base;
class Retextured_V_PlateCarrier1: Vest_Camo_Base
{
scope = 2;
displayName = "$STR_A3_V_PlateCarrier1_rgr0";
picture = "\A3\characters_f\Data\UI\icon_V_plate_carrier_1_CA.paa";
model = "\A3\Characters_F\BLUFOR\equip_b_vest02";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"indep_units\data\uv_guide_2048_co.paa"};
class ItemInfo: ItemInfo
{
uniformModel = "\A3\Characters_F\BLUFOR\equip_b_vest02";
containerClass = "Supply120";
mass = 60;
armor = "5*0.5";
passThrough = 0.7;
hiddenSelections[] = {"camo"};
};
};
class ItemCore;
class HeadgearItem;
class Retextured_H_HelmetB: ItemCore
{
scope = 2;
weaponPoolAvailable = 1;
displayName = "$STR_A3_H_HelmetB0";
picture = "\A3\characters_f\Data\UI\icon_H_HelmetB_CA.paa";
model = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
hiddenSelections[] = {"camo"};
hiddenSelectionsTextures[] = {"indep_units\data\uv_guide_2048_co.paa"};
class ItemInfo: HeadgearItem
{
mass = 100;
uniformModel = "\A3\Characters_F\BLUFOR\headgear_b_helmet_ballistic";
modelSides[] = {3,1};
armor = "3*0.5";
passThrough = 0.8;
hiddenSelections[] = {"camo"};
};
};
};