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.