Class TextureReplacement
Handles import and injection of custom textures and images with the purpose of providing modding support. Import materials from mods and textures from mods and loose files.
Namespace: DaggerfallWorkshop.Utility.AssetInjection
Assembly: Assembly-CSharp.dll
Syntax
public static class TextureReplacement
Properties
| Improve this Doc View SourceCifRciPath
Path to custom Cif and Rci files on disk.
Declaration
public static string CifRciPath { get; }
Property Value
Type | Description |
---|---|
String |
ImagesPath
Path to custom images on disk.
Declaration
public static string ImagesPath { get; }
Property Value
Type | Description |
---|---|
String |
TexturesPath
Path to custom textures on disk.
Declaration
public static string TexturesPath { get; }
Property Value
Type | Description |
---|---|
String |
Methods
| Improve this Doc View SourceAssignFiltermode(Material)
Assign current filtermode to all standard shader textures of the given material.
Declaration
public static void AssignFiltermode(Material material)
Parameters
Type | Name | Description |
---|---|---|
Material | material |
CustomizeMaterial(Int32, Int32, Int32, Material)
Import additional custom components of material.
Declaration
public static void CustomizeMaterial(int archive, int record, int frame, Material material)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Archive index |
Int32 | record | Record index |
Int32 | frame | Texture frame |
Material | material | Material. |
FileNameToArchive(String)
Parses the ID from the name of a texture archive from classic Daggerfall.
Declaration
public static int FileNameToArchive(string filename)
Parameters
Type | Name | Description |
---|---|---|
String | filename | A name with format |
Returns
Type | Description |
---|---|
Int32 | The number parsed from |
See Also
| Improve this Doc View SourceGetMobileBillboardMaterial(Int32, MeshFilter, ref MobileBillboardImportedTextures)
Gets a custom material for a mobile billboard with textures and configuration imported from mods.
Declaration
public static Material GetMobileBillboardMaterial(int archive, MeshFilter meshFilter, ref MobileBillboardImportedTextures importedTextures)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Archive index. |
Mesh |
meshFilter | The MeshFilter of the billboard object. |
Mobile |
importedTextures | All the imported textures for the archive. |
Returns
Type | Description |
---|---|
Material | A material or null. |
Remarks
Seek the texture for the first frame of the first record. If found, it imports the entire archive. If this texture has an emission map the material is considered emissive and all emission maps are imported.
GetName(Int32, Int32, Int32, TextureMap, DyeColors)
Get name for a texture.
Declaration
public static string GetName(int archive, int record, int frame = 0, TextureMap textureMap = TextureMap.Albedo, DyeColors dye = DyeColors.Chain)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Archive index from TEXTURE.XXX |
Int32 | record | Record index. |
Int32 | frame | Frame index. It's different than zero only for animations. |
Texture |
textureMap | Texture type. |
Dye |
dye | Color Dye. |
Returns
Type | Description |
---|---|
String | The name for the texture with requested options. |
GetNameCifRci(String, Int32, Int32)
Get name for a CifRci image.
Declaration
public static string GetNameCifRci(string filename, int record, int frame = 0)
Parameters
Type | Name | Description |
---|---|---|
String | filename | Name of CIF/RCI file. |
Int32 | record | Record index. |
Int32 | frame | Frame index. It's different than zero only for animations. |
Returns
Type | Description |
---|---|
String |
GetNameCifRci(String, Int32, Int32, MetalTypes)
Get name for a CifRci image with a metal type.
Declaration
public static string GetNameCifRci(string filename, int record, int frame, MetalTypes metalType)
Parameters
Type | Name | Description |
---|---|---|
String | filename | Name of CIF/RCI file. |
Int32 | record | Record index. |
Int32 | frame | Frame index. It's different than zero only for animations. |
Metal |
metalType | Metal type of weapon. |
Returns
Type | Description |
---|---|
String |
GetNameTexArray(Int32, TextureMap)
Gets name for a texture array.
Declaration
public static string GetNameTexArray(int archive, TextureMap textureMap = TextureMap.Albedo)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Archive index from TEXTURE.XXX |
Texture |
textureMap | Texture type. |
Returns
Type | Description |
---|---|
String | The name for the texture array with requested options. |
GetSize(Texture2D, String, Boolean)
Get a safe size for a control based on resolution of img.
Declaration
public static Vector2 GetSize(Texture2D texture, string textureName, bool allowXml = false)
Parameters
Returns
Type | Description |
---|---|
Vector2 |
GetSize(Texture2D, String, Int32, Int32)
Get a safe size for a control based on resolution of cif or rci.
Declaration
public static Vector2 GetSize(Texture2D texture, string textureName, int record, int frame = 0)
Parameters
Returns
Type | Description |
---|---|
Vector2 |
GetStaticBillboardMaterial(GameObject, Int32, Int32, ref BillboardSummary, out Vector2)
Gets a custom material for a static billboard with textures and configuration imported from mods.
Declaration
public static Material GetStaticBillboardMaterial(GameObject go, int archive, int record, ref BillboardSummary summary, out Vector2 scale)
Parameters
Type | Name | Description |
---|---|---|
Game |
go | The billboard object. |
Int32 | archive | Archive index. |
Int32 | record | Record index. |
Billboard |
summary | Summary data of the billboard object. |
Vector2 | scale | Custom local scale for the billboard. |
Returns
Type | Description |
---|---|
Material | A material or null. |
Remarks
Seek the texture for the first frame of the given record. If found, it imports all other frames. Always creates an emission map for textures marked as emissive by TextureReader, import emission maps for others only if available.
IsDaggerfallTexture(String, out Int32, out Int32)
Get archive and record from "archive_record-0" string.
Declaration
public static bool IsDaggerfallTexture(string name, out int archive, out int record)
Parameters
Type | Name | Description |
---|---|---|
String | name | "archive_record-frame string." |
Int32 | archive | Archive index. |
Int32 | record | Record index. |
Returns
Type | Description |
---|---|
Boolean | True if texture is a Daggerfall texture. |
IsLinearTextureMap(TextureMap)
Determine if texture map is of a linear type.
Declaration
public static bool IsLinearTextureMap(TextureMap textureMap)
Parameters
Type | Name | Description |
---|---|---|
Texture |
textureMap | Texture map type. |
Returns
Type | Description |
---|---|
Boolean | True if this texture should be loaded as linear. |
MakeResults(Material, Int32, Int32)
Makes texture results for given material.
Declaration
public static GetTextureResults MakeResults(Material material, int archive, int record)
Parameters
Type | Name | Description |
---|---|---|
Material | material | Unity material. |
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Returns
Type | Description |
---|---|
Get |
Results for the given material. |
SetBillboardScale(Int32, Int32, ref Vector2)
Read scale from xml and apply to given vector.
Declaration
public static void SetBillboardScale(int archive, int record, ref Vector2 size)
Parameters
| Improve this Doc View SourceTextureExistsAmongLooseFiles(Int32, Int32, Int32, TextureMap)
Seek a texture on disk inside Textures
Declaration
public static bool TextureExistsAmongLooseFiles(int archive, int record, int frame = 0, TextureMap textureMap = TextureMap.Albedo)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Frame index. |
Texture |
textureMap | Texture type. |
Returns
Type | Description |
---|---|
Boolean | True if texture is found. |
TryCustomizeButton(ref Button, String)
Import custom texture and label settings for buttons.
This feature has been deprecated in favor of UIWindow
Declaration
[Obsolete("This feature has been deprecated in favor of UIWindowFactory.")]
public static bool TryCustomizeButton(ref Button button, string colorName)
Parameters
Returns
Type | Description |
---|---|
Boolean |
TryGetSize(String, out Vector2)
Read size associated with a texture from xml.
Declaration
public static bool TryGetSize(string textureName, out Vector2 size)
Parameters
Returns
Type | Description |
---|---|
Boolean |
TryImportCifRci(String, Int32, Int32, MetalTypes, Boolean, out Texture2D)
Seek CifRci with a specific metaltype from modding locations.
Declaration
public static bool TryImportCifRci(string name, int record, int frame, MetalTypes metalType, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
String | name | Image name. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index |
Metal |
metalType | Metal type. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported image as texture. |
Returns
Type | Description |
---|---|
Boolean | True if CifRci imported. |
TryImportCifRci(String, Int32, Int32, Boolean, out Texture2D)
Seek CifRci from modding locations.
Declaration
public static bool TryImportCifRci(string name, int record, int frame, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
String | name | Image name. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported image as texture. |
Returns
Type | Description |
---|---|
Boolean | True if CifRci imported. |
TryImportImage(String, Boolean, out Texture2D)
Seek image from modding locations.
Declaration
public static bool TryImportImage(string name, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
String | name | Image name. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported image as texture. |
Returns
Type | Description |
---|---|
Boolean | True if image imported. |
TryImportMaterial(Int32, Int32, Int32, out Material)
Seek material from mods.
Declaration
public static bool TryImportMaterial(int archive, int record, int frame, out Material material)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index. |
Material | material | Imported material. |
Returns
Type | Description |
---|---|
Boolean | True if material imported. |
TryImportTexture(Int32, Int32, Int32, DyeColors, TextureMap, out Texture2D)
Seek texture from modding locations with a specific dye.
Declaration
public static bool TryImportTexture(int archive, int record, int frame, DyeColors dye, TextureMap textureMap, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index |
Dye |
dye | Dye colour for armour, weapons, and clothing. |
Texture |
textureMap | Texture type. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTexture(Int32, Int32, Int32, TextureMap, TextureImport, Boolean, out Texture2D)
Seek texture from modding locations.
Declaration
public static bool TryImportTexture(int archive, int record, int frame, TextureMap textureMap, TextureImport textureImport, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index. |
Texture |
textureMap | Texture type. |
Texture |
textureImport | Texture import options. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTexture(Int32, Int32, Int32, TextureMap, Boolean, out Texture2D)
Seek texture from modding locations.
Declaration
public static bool TryImportTexture(int archive, int record, int frame, TextureMap textureMap, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index. |
Texture |
textureMap | Texture type. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTexture(Int32, Int32, Int32, out Texture2D)
Seek texture from modding locations.
Declaration
public static bool TryImportTexture(int archive, int record, int frame, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Animation frame index. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTexture(Int32, Int32, out Texture2D[])
Seek animated texture from modding locations with all frames.
Declaration
public static bool TryImportTexture(int archive, int record, out Texture2D[] texFrames)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Texture2D[] | texFrames | Imported texture frames. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTexture(String, Boolean, out Texture2D)
Seek texture from modding locations.
Declaration
public static bool TryImportTexture(string name, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
String | name | Texture name. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTextureFromDisk(String, Boolean, Boolean, out Texture2D, Boolean)
Seek texture from disk using a full path.
Declaration
[Obsolete("Use TryImportTextureFromLooseFiles()")]
public static bool TryImportTextureFromDisk(string path, bool mipMaps, bool isLinear, out Texture2D tex, bool readOnly = true)
Parameters
Type | Name | Description |
---|---|---|
String | path | |
Boolean | mipMaps | Enable mipmaps? |
Boolean | isLinear | This is a linear texture such as a normal map. |
Texture2D | tex | Imported texture. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Returns
Type | Description |
---|---|
Boolean | True if texture exists and has been imported. |
TryImportTextureFromLooseFiles(Int32, Int32, Int32, TextureMap, Boolean, out Texture2D)
Seek texture from loose files.
Declaration
public static bool TryImportTextureFromLooseFiles(int archive, int record, int frame, TextureMap textureMap, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
Int32 | archive | Texture archive. |
Int32 | record | Record index. |
Int32 | frame | Animation index. |
Texture |
textureMap | Texture type. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture imported. |
TryImportTextureFromLooseFiles(String, Boolean, Boolean, Boolean, out Texture2D)
Seeks a texture from loose files using a full path or a relative path from Textures
Declaration
public static bool TryImportTextureFromLooseFiles(string path, bool mipMaps, bool isLinear, bool readOnly, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
String | path | Path to texture file, full or relative to Textures |
Boolean | mipMaps | Enable mipmaps? |
Boolean | isLinear | This is a linear texture such as a normal map. |
Boolean | readOnly | Release copy on system memory after uploading to gpu. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture exists and has been imported. |
TryImportTextureFromLooseFiles(String, Boolean, Boolean, out Texture2D)
Seek texture from loose files using a relative path from Textures
Declaration
[Obsolete("Use overload that accepts readOnly flag.")]
public static bool TryImportTextureFromLooseFiles(string relPath, bool mipMaps, bool isLinear, out Texture2D tex)
Parameters
Type | Name | Description |
---|---|---|
String | relPath | Relative path to file from Textures |
Boolean | mipMaps | Enable mipmaps? |
Boolean | isLinear | This is a linear texture such as a normal map. |
Texture2D | tex | Imported texture. |
Returns
Type | Description |
---|---|
Boolean | True if texture exists and has been imported. |