VoK.Sdk
Doxygen generated documentation for the Dungeon Helper SDK
Dat Objects

Classes

class  AppearanceTable
 An object from client_general with IDs in the range of 0x20000000 - 0x20FFFFFF. these are typically alterations to a standard model based on customizable appearance. This is commonly used for model-level alterations to a face. For example, the tines on a Dragonborn or the tusks on a Half-Orc. Should be serialized with Newtonsoft for output purposes. More...
 
class  CellMesh
 CellMesh object indicated by Ddo.ObjectType.CellMesh. ID range 0x01000000 to 0x01FFFFFF. Also called CellStructure in the game clients. Should be consistent between DDO and LOTRO. Usage: new CellMesh(...) - will add a static method loader in the future. More...
 
class  EntityDesc
 An object from client_gamelogic with IDs in the range of 0x47000000 - 0x47FFFFFF. these are typically physical model type stuff. Should be serialized with Newtonsoft for output purposes. Usage: EntityDesc.Load(...) More...
 
class  LandblockInfo
 Landblock data from client_cell_*.dat. IDs map to the landblock being described with the following format: 0x802RXXYY. Region is the number in the client_cell_R.dat filename, XX is the landblock X, YY is the landblock Y. More...
 
class  MaterialInstance
 An object from client_general with IDs in the range of 0x31000000 - 0x31FFFFFF, corresponding to MaterialInstance here: Ddo.ObjectType.MaterialInstance This object is consistent between DDO and LOTRO. Usage: MaterialInstance.Load(...) More...
 
class  MaterialModifier
 An object from client_general with IDs in the range of 0x30000000 - 0x30FFFFFF, corresponding to MaterialModifier here: Ddo.ObjectType.MaterialModifier This object is consistent between DDO and LOTRO. Usage: MaterialModifier.Load This object also exists as a child object of RenderMaterial. More...
 
class  PhysicsMesh
 An object from client_gamelogic with IDs in the range of 0x66000000 - 0x66FFFFFF, corresponding to PhysicsMesh here: Ddo.ObjectType.PhysicsMesh This object is consistent between DDO and LOTRO. Usage: new PhysicsMesh(...) - will add a static method loader in the future. More...
 
class  RenderMaterial
 An object from client_general with IDs in the range of 0x2B000000 - 0x2BFFFFFF, corresponding to RenderMaterial here: Ddo.ObjectType.RenderMaterial This object is consistent between DDO and LOTRO. Usage: RenderMaterial.Load(...) More...
 
class  RenderMesh
 An object from client_gamelogic with IDs in the range of 0x06000000 - 0x06FFFFFF, corresponding to Scriptlet here: Ddo.ObjectType.RenderMesh This object is consistent between DDO and LOTRO. More...
 
class  Scriptlet
 An object from client_gamelogic with IDs in the range of 0x0C000000 - 0x0CFFFFFF, corresponding to Scriptlet here: Ddo.ObjectType.Scriptlet This object is consistent between DDO and LOTRO. Usage: Scriptlet.Load() More...
 
class  ScriptNode
 Abstract base for the node of a script. Derivation implementations are game specific. Because the underlying enum for these, Ddo.Enums.ScriptNodeType, is also game specific, only DDO is presently supported. More...
 
class  ScriptTable
 An object from client_gamelogic with IDs in the range of 0x07000000 - 0x07FFFFFF, corresponding to ScriptTable here: Ddo.ObjectType.ScriptTable This object is consistent between DDO and LOTRO. Usage: ScriptTable.Load() More...
 
class  Setup
 An object from client_general with IDs in the range of 0x04000000 - 0x04FFFFF, corresponding to Setup here: Ddo.ObjectType.Setup This object is consistent between DDO and LOTRO. usage: new Setup(...) - will add a static method loader in the future. More...
 
class  Sound
 An object from client_general with IDs in the range of 0x0A000000 - 0x0AFFFFFF, corresponding to Sound here: Ddo.ObjectType.Sound This object is consistent between DDO and LOTRO. Usage: DatReader.Unpack<Sound>(...) More...
 
class  SoundInfo
 An object from client_general with IDs in the range of 0x2A000000 - 0x02FFFFFF, corresponding to SoundInfo here: Ddo.ObjectType.SoundInfo This object is consistent between DDO and LOTRO. Usage: DatReader.Unpack<SoundInfo>(...) More...
 
class  VisualDesc
 An object from client_general with IDs in the range of 0x1F000000 - 0x1FFFFFFF, corresponding to VisualDesc here: Ddo.ObjectType.VisualDescription. This object is consistent between DDO and LOTRO. More...
 
class  NameGenerator
 Class that attempts to generate names for objects found in client_gamelogic.dat More...
 
class  SetBonus
 bonus that's part of a set More...
 
class  SetMaster
 object used to retrieve set information from the dats More...
 
class  VoK.Sdk.Exporters.ExporterFactory
 factory for getting exporter objects More...
 
interface  VoK.Sdk.Exporters.IImageExporter
 class to read client_surface.dat. does not load images from client_highres.dat More...
 
interface  ISoundExporter
 Used to export sounds from client_sound/client_general More...
 
interface  VoK.Sdk.Properties.IPropertyMaster
 a generic-free interface over PropertyMaster to allow for common code usage More...
 
class  VoK.Sdk.Properties.PropertyMasterFactory
 factory object for reading Property data from client_gamelogic More...
 

Enumerations

enum  VoK.Sdk.Exporters.ImageFormat {
  VoK.Sdk.Exporters.ImageFormat.Unknown = 0x00000000 ,
  VoK.Sdk.Exporters.ImageFormat.R8G8B8 = 0x00000014 ,
  VoK.Sdk.Exporters.ImageFormat.R8G8B8A8 = 0x00000015 ,
  VoK.Sdk.Exporters.ImageFormat.A8 = 0x0000001C ,
  VoK.Sdk.Exporters.ImageFormat.Jpeg = 0x000001F4 ,
  VoK.Sdk.Exporters.ImageFormat.DDS = 0x20534444 ,
  VoK.Sdk.Exporters.ImageFormat.Dxt1 = 0x31545844 ,
  VoK.Sdk.Exporters.ImageFormat.Dxt2 = 0x32545844 ,
  VoK.Sdk.Exporters.ImageFormat.Dxt3 = 0x33545844 ,
  VoK.Sdk.Exporters.ImageFormat.Dxt4 = 0x34545844 ,
  VoK.Sdk.Exporters.ImageFormat.Dxt5 = 0x35545844
}
 

Functions

static List< KeyValuePair< uint, byte[]> > LandblockInfo.GetLandblockInfoRaw (string installPath)
 
static List< LandblockInfoLandblockInfo.GetLandblockInfo (string installPath)
 
static LandblockInfo LandblockInfo.Load (IDatFile cellDat, IPropertyMaster propertyMaster, uint did)
 
static MaterialInstance MaterialInstance.Load (IDatFile clientGeneral, uint id)
 Loads the MaterialInstance from the provided clientGeneral dat file. More...
 
static MaterialModifier MaterialModifier.Load (IDatFile clientGeneral, uint id)
 Loads the MaterialModifier from the provided clientGeneral dat file. More...
 
 PhysicsMesh.PhysicsMesh (uint? id, BinaryReader reader, bool moppByte=false)
 
static RenderMaterial RenderMaterial.Load (IDatFile clientGeneral, uint id, IPropertyMaster propertyMaster)
 Loads the RenderMaterial from the provided clientGeneral dat file. More...
 
 RenderMesh.RenderMesh (BinaryReader reader)
 
static RenderMesh RenderMesh.Load (IDatFile clientGameLogic, uint id)
 
 Scriptlet.Scriptlet (uint id, BinaryReader reader, IPropertyMaster propertyMaster)
 
static Scriptlet Scriptlet.Load (IDatFile clientGameLogic, uint id, IPropertyMaster propertyMaster)
 Loads an EntityDesc from the provided client_gamelogic dat file. Does not cache. More...
 
 Setup.Setup (BinaryReader reader, IPropertyMaster propertyMaster)
 
static Setup Setup.Load (IDatFile clientGeneral, uint id, IPropertyMaster propertyMaster)
 Loads the setup from the provided clientGeneral dat file. More...
 
 Sound.Sound ()
 
 Sound.Sound (BinaryReader reader)
 
void Sound.Unpack (BinaryReader reader)
 
 SoundInfo.SoundInfo ()
 
 SoundInfo.SoundInfo (BinaryReader reader)
 
void SoundInfo.Unpack (BinaryReader reader)
 
static VisualDesc VisualDesc.LoadVisualDescription (IDatFile datFile, uint id)
 
static IImageExporter VoK.Sdk.Exporters.ExporterFactory.GetImageExporter (string datFolder)
 gets an instance of an image exporter More...
 
static ISoundExporter VoK.Sdk.Exporters.ExporterFactory.GetSoundExporter (string datFolder)
 gets an instance of a sound exporter More...
 
byte[] VoK.Sdk.Exporters.IImageExporter.GetImage (IDatFile datFile, uint imageId, out string fileExtension, out ImageFormat imageFormat)
 gets the raw binary of an image and provides the image format and normalized file extension. remember, some images live in the localized dat file (local_Englash.dat) More...
 
byte[] VoK.Sdk.Exporters.IImageExporter.GetImage (uint imageId, out string fileExtension, out ImageFormat imageFormat)
 gets the raw binary of an image and provides the image format and normalized file extension. will automatically check the localized file if not found in client_surface. More...
 
byte[] VoK.Sdk.Exporters.IImageExporter.GetPngImageBytes (uint imageId)
 gets the image of the associated file id and converts it to a PNG More...
 
Image VoK.Sdk.Exporters.IImageExporter.GetPngImage (uint imageId)
 gets the image of the associated file id and converts it to a PNG More...
 
byte[] VoK.Sdk.Exporters.IImageExporter.GetRgbaImageBytes (uint imageId)
 
string VoK.Sdk.Exporters.IImageExporter.GetPngSource (uint imageId)
 
RawImage VoK.Sdk.Exporters.IImageExporter.GetRawImage (uint imageId)
 
byte[] VoK.Sdk.Exporters.IImageExporter.GetPngImageBytes (IDatFile datFile, uint imageId)
 gets the image of the associated file in the specified dat file and converts it to a PNG. if the file is not in the dat, returns null. More...
 
Image VoK.Sdk.Exporters.IImageExporter.GetPngImage (IDatFile datFile, uint imageId)
 gets the image of the associated file in the specified dat file and converts it to a PNG. if the file is not in the dat, returns null. More...
 
string VoK.Sdk.Exporters.IImageExporter.GetHtmlSource (uint imageId)
 gets the html source for a PNG image of the associated file id, in the format: "data:image/png;charset=utf-8;base64, {base64}" More...
 
string VoK.Sdk.Exporters.IImageExporter.GetHtmlSource (IDatFile datFile, uint imageId)
 
string VoK.Sdk.Exporters.IImageExporter.GetHtmlSource (byte[] pngData)
 
string VoK.Sdk.Exporters.IImageExporter.GetHtmlSource (Image image)
 
void VoK.Sdk.Exporters.IImageExporter.Overlay (Image under, Image over)
 
void VoK.Sdk.Exporters.IImageExporter.Dispose ()
 
void ISoundExporter.ExportById (uint fileId, string outputFolder)
 
byte[] ISoundExporter.GetSoundData (uint fileId, out string fileExtension)
 
string ISoundExporter.GetFileExtension (uint soundInfoId)
 
string ISoundExporter.GetHtmlSource (uint fileId)
 gets the audio embed source for the clip in the format "data:audio/{type};base64, {base64}" More...
 
static IPropertyMaster VoK.Sdk.Properties.PropertyMasterFactory.GetPropertyMaster (GameId game, string installationFolder)
 gets a property master of the specified game and installation folder. does not check to validate the game specified matches the game in the installation folder, so use with caution. More...
 
static IPropertyMaster VoK.Sdk.Properties.PropertyMasterFactory.GetPropertyMaster (string installationFolder)
 Creates a property master from the specified installation folder. Expects client_gamelogic.dat to be in this folder. More...
 
static bool VoK.Sdk.Properties.PropertyMasterFactory.Dispose ()
 

Properties

uint LandblockInfo.Did [get]
 
uint LandblockInfo.Region [get]
 
uint LandblockInfo.X [get]
 
uint LandblockInfo.Y [get]
 
string LandblockInfo.Location [get]
 
uint LandblockInfo.Flags [get]
 
uint LandblockInfo.SizeHint [get]
 
List< KeyValuePair< uint, BlockLink > > LandblockInfo.BlockLinks = new List<KeyValuePair<uint, BlockLink>>() [get]
 
Dictionary< uint, CellLandblockInfo.Cells = new Dictionary<uint, Cell>() [get]
 
List< EntityDescLandblockInfo.Entities = new List<EntityDesc>() [get]
 
List< EntityLinkDescLandblockInfo.Links = new List<EntityLinkDesc>() [get]
 
IPropertyCollection LandblockInfo.Properties [get]
 
List< LandblockWeenieLandblockInfo.Weenies = new List<LandblockWeenie>() [get]
 
uint MaterialInstance.Id [get]
 
uint MaterialInstance.RenderMaterialDid [get]
 
uint MaterialInstance.MaterialTypeId [get]
 see MaterialTypeID More...
 
List< uint > MaterialInstance.Modifiers [get]
 
uint MaterialModifier.Id [get]
 
List< MaterialPropertyMaterialModifier.MaterialProperties [get]
 
MaterialProperty MaterialModifier.DiffuseMap [get]
 
MaterialProperty MaterialModifier.UTranslate [get]
 
MaterialProperty MaterialModifier.AlphaTestRef [get]
 
MaterialProperty MaterialModifier.AlphaBlendPass [get]
 
uint? PhysicsMesh.Id [get, set]
 
List< Vector3 > PhysicsMesh.Vertices [get]
 
List< TrianglePhysicsMesh.Triangles [get]
 
MoppData PhysicsMesh.Mopp [get]
 
uint RenderMaterial.Id [get]
 
MaterialModifier RenderMaterial.Properties [get]
 
List< MaterialLayerRenderMaterial.Layers [get]
 Not yet implemented More...
 
uint RenderMesh.Id [get]
 
uint RenderMesh.MeshTypeId [get]
 
List< uint > RenderMesh.MaterialDids [get]
 
uint RenderMesh.VertexArrayCount [get]
 
List< VertexSetRenderMesh.VertexArray [get]
 
uint RenderMesh.IndexCount [get]
 
List< List< Triangle > > RenderMesh.Indices [get]
 
uint RenderMesh.FragmentCount [get]
 
List< RenderMeshFragmentRenderMesh.Fragments [get]
 
uint Scriptlet.Id [get]
 
List< ScriptNodeScriptlet.Nodes = new List<ScriptNode>() [get]
 
List< uint > Scriptlet.Dids [get]
 
uint Setup.Id [get]
 
HavokSetup Setup.HavokSetup [get]
 
Dictionary< int, int > Setup.Bones [get]
 
Dictionary< int, HoldingLocationSetup.HoldingLocations [get]
 
List< TypedTransformSetup.SnapPoints [get]
 
Dictionary< int, TypedTransformSetup.OrientationFrames [get]
 
List< OBoundingBoxSetup.OBoundingBoxes [get]
 
List< SphereSetup.Spheres [get]
 
List< CapsuleSetup.Capsules [get]
 
uint Setup.PhysicsMeshId [get]
 
BoundingBox Setup.BoundingBox [get]
 
uint Setup.UnknownInt1 [get]
 
uint Setup.UnknownInt2 [get]
 
List< float > Setup.ExtraUnknownFloats [get]
 
float Setup.Height [get]
 
float Setup.Radius [get]
 
List< uint > Setup.RenderMeshIds [get]
 
uint Sound.FileId [get, set]
 
uint Sound.FileSize [get, set]
 
byte[] Sound.SoundFile [get, set]
 
uint SoundInfo.FileId [get, set]
 
uint SoundInfo.SoundDid [get, set]
 
SoundFileType SoundInfo.SoundFileType [get, set]
 
float SoundInfo.Unknown0x08 [get, set]
 
float SoundInfo.Unknown0x0C [get, set]
 
float SoundInfo.Unknown0x10 [get, set]
 
float SoundInfo.Unknown0x14 [get, set]
 
float SoundInfo.Unknown0x18 [get, set]
 
uint VisualDesc.Flags [get, set]
 
uint? VisualDesc.Id [get]
 
uint? VisualDesc.NextLink [get]
 
Vector3? VisualDesc.Scale [get]
 
float? VisualDesc.UnknownFloat1 [get]
 
float? VisualDesc.UnknownFloat2 [get]
 
uint? VisualDesc.AppearanceFlags [get]
 
List< uint > VisualDesc.AppearanceValues [get]
 
AppearanceInfo VisualDesc.AppearanceInfo [get]
 
List< AppearanceInfoVisualDesc.SetupInfos [get]
 
IReadOnlyCollection< uint > ISoundExporter.SoundFileIds [get]
 
static IPropertyMaster VoK.Sdk.Properties.PropertyMasterFactory.DdoPropertyMaster [get]
 static reference to the DDO property master. This will be null until one has been loaded with GetPropertyMaster of a DDO installation More...
 
static IPropertyMaster VoK.Sdk.Properties.PropertyMasterFactory.LotroPropertyMaster [get]
 static reference to the LOTRO property master. This will be null until one has been loaded with GetPropertyMaster of a LOTRO installation More...
 

Detailed Description