Official BIS tools: TexView 2

ArmA editing, missions, modeling, textures, terrains

Moderators: Snake Man, Lone Wolf

Snake Man
Commander-In-Chief
Posts: 9950
Joined: 2000-07-31 22:01:01
Gaming Interests: ArmA, ArmA 2, Falcon 4.0 and OFP.
Editing Interests: All, I (try) to edit everything.
Location: PMC

Official BIS tools: TexView 2

Post by Snake Man »

Official BIS Tools: TexView 2

Download size 2.1mb zip (would be 1.1mb rar).
Executable installer with license agreement.

Install comes with new Pal2PacE.exe, readme.txt, TexConvert.cfg and TexView2.exe program itself.

TexConvert.cfg:

Code: Select all

convertVersion=6;
class TextureHints
{

  class ColorMap
  {
    name = "*_co.*";
    format = "DXT1";
    dynRange = 1;  
  };
  class ColorMapRaw
  {
    name = "*_raw.*";
    format = "ARGB1555";
    dynRange = 0;
  };
  class ColorAlphaMap
  {
    name = "*_ca.*";
    format = "DXT5";
    dynRange = 1;  
  };
  class ColorAlphaTest
  {
    name = "*_cat.*";
    format = "DXT5";
    dynRange = 1;  
    mipmapFilter = AlphaNoise;
  };
  class sky
  {
    name = "*_sky.*";
    format = "DXT5";
    // file (physical) = memory (logical)
    channelSwizzleR = "R";
    channelSwizzleG = "1-A";
    channelSwizzleB = "B";
    channelSwizzleA = "1-G";
    // we could prefer B by moving it to G
//    channelSwizzleR = "R";
//    channelSwizzleG = "B";
//    channelSwizzleB = "1-A";
//    channelSwizzleA = "1-G";
    dynRange = 0;
  };
  class detail
  {
    name = "*_detail.*";
    format = "DXT1";
    enableDXT = 1;
    // only alpha channel is used in detail texures
    channelSwizzleR = "A";
    channelSwizzleG = "A";
    channelSwizzleB = "A";
    channelSwizzleA = "1";
    dynRange = 0;
    mipmapFilter = FadeOut;
  };
  class color_detail
  {
    name = "*_cdt.*";
    format = "DXT1";
    enableDXT = 1;
    dynRange = 0;
    mipmapFilter = FadeOut;
  };
  class layer_color
  {
    autoreduce=1;
    name = "*_lco.*";
    format = "DXT1";
    enableDXT = 1;
    dynRange = 0;
  };
  class multiply_color
  {
    autoreduce=1;
    name = "*_mco.*";
    format = "DXT1";
    enableDXT = 1;
    dynRange = 0;
  };
  class layer_color_draft
  {
    name = "*_draftlco.*";
    enableDXT = 0;
    dynRange = 0;
  };
  class layer_color_alpha
  {
    name = "*_lca.*";
    format = "DXT5";
    enableDXT = 1;
    dynRange = 0;
  };
  class macro
  {
    name = "*_mc.*";
    format = "DXT5";
    enableDXT = 1;
    dynRange = 0;
  };
  class ambient_shadow
  {
    name = "*_as.*";
    format = "DXT1";
    enableDXT = 1;
    channelSwizzleR = "1"; 
    channelSwizzleG = "G"; 
    channelSwizzleB = "1";
    channelSwizzleA = "1"; 
    dynRange = 0;
  };
  class specular_map
  {
    name = "*_sm.*";
    format = "DXT1";
    enableDXT = 1;
    channelSwizzleR = "R"; 
    channelSwizzleG = "G"; 
    channelSwizzleB = "B";
    channelSwizzleA = "1"; 
    dynRange = 0;
  };
  class specular_diffuseinverse_map
  {
    name = "*_smdi.*";
    format = "DXT1";
    enableDXT = 1;
    channelSwizzleR = "1"; 
    channelSwizzleG = "G"; 
    channelSwizzleB = "B";
    channelSwizzleA = "1"; 
    dynRange = 0;
  };
  class detail_short: detail
  {
    name = "*_dt.*";
  };
  class normalmap
  {
    name = "*_normalmap.*";
    enableDXT = 1;
    // alpha channel can be used to contain opacity
    mipmapFilter = NormalizeNormalMapAlpha;
    dynRange = 0;
    errorMetrics=Distance;
  };

  class normalmap_short: normalmap
  {
    name = "*_no.*";
    format = "DXT1";
    channelSwizzleA = "1";
  };
  class normalmap_uncompressed: normalmap
  {
    name = "*_noex.*";
    enableDXT = 0;
  };

  class NormalMapNoise
  {
    name = "*_non.*";
    format = "DXT5";
    // alpha channel can be used to contain opacity
    mipmapFilter = NormalizeNormalMapNoise;
    dynRange = 0;
    errorMetrics=Distance;
  };

  /// DXT5 compressed normal map
  class normalmap_hq
  {
    name = "*_nohq.*";
    format = "DXT5";
    // negate is used on B channel so that it can used in the same shader as DXT1
    channelSwizzleA = "1-R";
    channelSwizzleR = "1-A";
    channelSwizzleG = "G";
    channelSwizzleB = "B";
    dynRange = 0;
    errorMetrics=Distance;
    // alpha channel (before swizzle) can be used to contain opacity
    mipmapFilter = NormalizeNormalMapAlpha;
  };
  /// DXT5 2-component compressed normal map
  class normalmap_vhq
  {
    name = "*_novhq.*";
    format = "DXT5";
    // negate is used on B channel so that it can used in the same shader as DXT1
    channelSwizzleA = "1-R";
    channelSwizzleR = "1";
    channelSwizzleG = "G";
    channelSwizzleB = "1";
    dynRange = 0;
    errorMetrics=Distance;
    // alpha channel (before swizzle) can be used to contain opacity
    mipmapFilter = NormalizeNormalMapAlpha;
  };
  
  class normalmap_hq_fade: normalmap_hq
  {
    name = "*_nofhq.*";
    mipmapFilter = NormalizeNormalMapFade;
  };

  class normalmapFade
  {
    name = "*_nof.*";
    enableDXT = 1;
    mipmapFilter = NormalizeNormalMapFade;
    dynRange = 0;
    errorMetrics=Distance;
  };
  class normalmapFade_uncompressed : normalmapFade
  {
    name = "*_nofex.*";
    enableDXT = 0;
  };
  class normalmap_spec
  {
    name = "*_ns.*";
    enableDXT = 1;
    mipmapFilter = NormalizeNormalMap;
    dynRange = 0;
    errorMetrics=Distance;
  };
  class normalmap_parallax
  {
    name = "*_nopx.*";
    format = "DXT5";
    enableDXT = 1;
    mipmapFilter = NormalizeNormalMap;
    dynRange = 0;
    // negate is used on B channel so that it can used in the same shader as DXT1
    channelSwizzleA = "1-R"; // normal X
    channelSwizzleR = "A"; // height field
    channelSwizzleG = "G"; // normal Y
    channelSwizzleB = "1"; // discard normal Z
//    channelSwizzleA = "A"; // height field
//    channelSwizzleR = "R"; // normal X
//    channelSwizzleG = "G"; // normal Y
//    channelSwizzleB = "1"; // drop normal Z
    errorMetrics=Distance;
  };

  class normalmap_spec_uncompressed: normalmap_spec
  {
    name = "*_nsex.*";
    enableDXT = 0;
  };
  class normalmap_spec_hq: normalmap_hq
  {
    name = "*_nshq.*";
  };
  
  class grayscalealpha
  {
    name = "*_gs.*";
    format="AI88";
  };
  
};

/*
Possible format values:
Default, P8, ARGB4444, ARGB1555, AI88, DXT1, DXT2, DXT3, DXT4, DXT5

Possible mipmapFilter values:
Default, FadeOutAlpha, NormalizeNormalMap
*/
I find it unecessary to have such small util installed via executable installer, the old tools came out without any installers which was fine. This also modifies registry HKEY_LOCAL_MACHINE\Software\BIStudio\TextureConvert value.

Registry values:

Code: Select all

[HKEY_LOCAL_MACHINE\SOFTWARE\BIStudio]

[HKEY_LOCAL_MACHINE\SOFTWARE\BIStudio\TextureConvert]
"MAIN"="G:\\ArmA.edit\\Tools\\TexView2"
"configPath"="G:\\ArmA.edit\\Tools\\TexView2\\texconvert.cfg"

Return to “ArmA Editing”