DALib is a C# class library for Dark Ages and related games, targeting .NET 9 and .NET 10. It reads, renders, and writes the game's data formats.
dotnet add package DALib --prerelease
Archives & maps
.datarchives (read/write).mapmap files
Graphics & assets
- Image formats: SPF, EPF, MPF, HPF, EFA
- Palettes and palette tables (
.pal,.tbl): lookups, cycling, and the per-family palette conventions the client uses - Ground tiles (isometric tile banks), HEA light maps, control/layout files, FNT fonts, and effect / tile-animation tables
- Rendering to
SKImage/ PNG via SkiaSharp
DALib also provides a DOOMVAS packet library DALib.Networking which includes typed packets, wire framing, and the wire "cryptography" (CRC, dialog obfuscation, per-connection state.
dotnet add package DALib.Networking
It has no dependency on DALib.
Foscail is a command-line tool built on DALib that
unpacks .dat archives and converts assets to PNG / APNG / GIF:
dotnet tool install --global Foscail --prerelease
- Rendering on Linux requires SkiSharp native assets: add
SkiaSharp.NativeAssets.Linux.NoDependenciesto your application (base SkiaSharp ships only Windows/macOS natives).
MIT. See LICENSE and CONTRIBUTORS.md.