Show / Hide Table of Contents

Namespace DaggerfallWorkshop.Utility

Classes

AnimatedMaterial

General purpose material animation. Works by swapping texture maps on target material from an array of other materials.

BuildingNames

Generates building names in city locations.

ClimateSwaps

ContentReader

General interface between DaggerfallConnect API reader classes and Unity.

DaggerfallDateTime

Time and date implementation for Daggerfall's specific calendar system. Daggerfall has fixed 30-day months. See below link for more information. http://www.uesp.net/wiki/Lore:Calendar#Daggerfall_Calendar

DaggerfallMarker

Special marker class used for select editor markers in scene.

DaggerfallSpellReader

Reads and parses spell data from spells.std and classic saves.

DefaultTextProvider

Implements default text provider.

EnemyBasics

Static definitions for enemies and their animations. Remaining data is read from MONSTER.BSA.

EnhancedKeyedCollection<T1, T2>

Hastable based collection which can be accessed by index or key. Derive and override GetKeyForItem() to use. If serialization is required use KeyedCollectionConverter.

FallbackTextProvider

Base class that allows derived implementations to only override certain text functionality, while having the another implementation as a "fallback" for the cases it's not interested in For mods, this usually means taking the previous DaggerfallUnity.Instance.TextProvider as the fallback, then replacing the game's text provider with their own implementation based on FallbackTextProvider

Ex:

class MyModTextProvider : FallbackTextProvider { public string GetSkillName(DFCareer.Skills skill) { if(skill == DFCareer.Skills.Mercantile) return "Commerce"; else return FallbackProvider.GetSkillName(skill); } }

public void Awake() { DaggerfallUnity.Instance.TextProvider = new MyModProvider(DaggerfallUnity.Instance.TextProvider); }

This pattern allows multiple mods to add their own functionality to the text provider without conflicting

FloatingOrigin

Moves world back to origin so central player terrain is at 0,0,0.

GameObjectHelper

Static helper methods to instantiate common types of Daggerfall gameobjects.

ImageProcessing

Basic image processing.

ImageProcessing.Filter

Used when applying convolution filters to an image.

ImageReader

Static helper to read most Daggerfall image files in a simple, consistent manner. Useful for direct-to-texture features like UI elements. Highly simplified compared to TextureReader and MaterialReader. Not intended for generating scene materials.

ImmediateKeyedCollection<T1, T2>

Hastable based collection which can be accessed by index or key. Does not support serialization.

KeyedCollectionConverter<T, T1, T2>

Serialize a class derived from KeyedCollection as a list.

MacroDataSource

Macro data source base class. Extend this to provide context for macros. This abstract class provides default implementations so that only applicable handlers need to be implemented.

MacroHelper

Helper class for context sensitive macros, like "%abc", that are used in following Daggerfall files: arena2\text.rsc, fall.exe, arena2*.qrc, or arena2\bio*.txt. See this topic for details about adding new macro handlers.

ModelCombiner

Combines Daggerfall model data.

PositionUpdate

QuestMacroHelper

Resolves in-place text replacement macros like %var, =var_, __var, etc. for various objects. More information: http://www.dfworkshop.net/static_files/questing-source-docs.html#qrcsymbols Caller will need to supply related objects (e.g. quest) as needed. NOTE: This class will expand over time.

RandomEncounters

Static definitions for random encounters based on dungeon type, from FALL.EXE. All lists from classic have 20 entries. These are generally ordered from low-level through to high-level encounters.

RDBLayout

Helper for laying out RDB (dungeon block) data in scene.

RetroPresentation

Presents final retro rendering to viewport.

RetroRenderer

Manages settings for retro mode rendering.

RMBLayout

Helper for laying out RMB (city block) data in scene.

Table

A very basic data table storing columns and rows of string information controlled by a simple schema. Source data can be loaded from a CSV-like file with the following format:

  • Dash starts a comment schema: id,*name (defines two columns, first called 'id' and second called 'name', * means this is the primary key) 0, Apples (0, Apples populates the two columns defined by schema, with an 'id' of "0" and 'name' of "Apples") 1, Oranges (and so on) Schema must be defined before first data row. Column names in schema must all be unique, at least one must be the key. Column values are always stored as strings. Key column value must be unique in every row. Can use spaces in values, but not commas (separating character only). Lookups are done by keys or by indices.

TerrainAtlasBuilder

Exports texture atlases for terrains. Provides editor-only methods to export atlases and runtime methods to load them. Prebuilt atlas is faster to load and uses less memory than a fully runtime equivalent. This concept may be expanded to support more atlas types in future.

TextProvider

Implementation of a text provider. Inherit from this class and override as needed.

TextureAtlasBuilder

Builds an atlas from any combination of texture archives. Does not yet integrate with main material system. Currently some limitations around caching and serialization. At this time used only for static misc billboards in cities. Will be enhanced in future.

TextureReader

Helper to load Daggerfall TEXTURE.xxx files as Texture2D.

Tuple<T1, T2>

A tuple/pair class because the version of C# that Unity uses doesn't have this yet.

ViewportChanger

Changes camera viewport based on large HUD configuration.

WeaponBasics

Basic definitions for weapon animations. Use this as a starting point.

Structs

ContentReader.MapSummary

ModelCombiner.CombinedModel

Combined model data.

ModelCombiner.SubMesh

Submesh of a combined model.

RDBLayout.ActionLink

Supports linked list of action objects.

TextureAtlasBuilder.AtlasItem

The packed textures are each referenced by an atlas item with a unique key

TextureAtlasBuilder.TextureItem

Each individual texture is held in a list of texture items.

Interfaces

IMacroContextProvider

Macro context provider interface to be implemented by any object that needs to provide context for macro expansions. Returns a macro data source containing applicable handler methods.

ITextProvider

Interface to a text provider. Provides common functionality for dealing with various text sources.

Enums

DaggerfallDateTime.BirthSigns

Birthsigns by month.

DaggerfallDateTime.Days

Days of week.

DaggerfallDateTime.Months

Months of year.

DaggerfallDateTime.Seasons

Season, ordered as in game.

Delegates

FloatingOrigin.OnPositionUpdateEventHandler

MacroHelper.MacroHandler

MacroHelper.MultilineMacroHandler

In This Article
Back to top Generated by DocFX