Skip to content

MikeG621/ImageFormat-Dat

Repository files navigation

Author: Michael Gaisser
GitHub Release GitHub Release Date GitHub License

Library for reading LucasArts *.DAT image files.

Latest Update

v2.6 - 24 Apr 2024

  • Added BC3 and BC5 format capability.

Additional Information

Dependencies

Instructions:

  • Add Idmr.Common.dll and Idmr.ImageFormat.Dat.dll to your references.
  • Add both JeremyAnsel.BcnSharpLib32.dll and ~64.dll to the build directory for use as external references.

File format structure can be found in the format file.

Programmer's reference can be found in the help file.

Version History

v2.5 - 18 Dec 2023

  • Added BC7 format capability

v2.4 - 27 Feb 2022

  • Added Format 25C capability
    • Image isn't decompressed until first accessed
  • Format 25 now takes up half the memory after loading

v2.3 - 06 Jun 2021

  • Empty Groups are now ignored during read
  • (GroupCollection) Changed the increment on intial ID creation so it's always negative
  • (SubCollection) Added more details to exception message

v2.2 - 22 Sep 2019

  • Added Format 25 capability
  • Removed size limits from images. Masks still need to match the image size.
  • (DatFile) Added UsedHeight and UsedWidth properties
  • (GroupCollection, SubCollection) Increased ItemLimit to 256
  • (GroupCollection, SubCollection) Included an early return to Add if _add fails
  • (GroupCollection, SubCollection) Added more quantity checks to better enforce ItemLimit
  • Tweaked comments throughout

v2.1 - 14 Dec 2014

  • Changed license to MPL
  • (FrameCollection) SetCount and IsModified implementation

v2.0.1 - 24 Oct 2012

  • (Sub) SetImage uses image.Palette if image is 8bppIndexed

v2.0 - 05 May 2012

  • (DatFile) _valEx now says Dat instead of Act >.<
  • (DatFile) Removed _groupsIndexer
  • (DatFile) Groups now simple property, Groups.set is internal
  • (DatFile) Group/Sub converted to class
  • (Group) Removed _subs null checks
  • (GroupCollection, SubCollection) Added AutoSort
  • (GroupCollection, SubCollection) Removed _items null checks, instead uses Count checks
  • (GroupCollection, SubCollection) Now inherits ResizableCollection<>
  • (GroupCollection, SubCollection) _sort renamed to Sort and made public
  • (Sub) Added more null checks throughout
  • (Sub) SetImage uses default 256-color palette is _colors is undefined
  • (Sub) Colors can now be set without a previously defined _image

Copyright Information

Copyright (C) Michael Gaisser, 2009-2024
This library file and related files are licensed under the Mozilla Public License v2.0 or later. See License.txt for further details.

The LZMA SDK is written and placed in the public domain by Igor Pavlov.

The BCn library and implementation are Copyright (C) 2020-2021 Richard Geldreich, Jr and 2024 Jérémy Ansel, covered by the MIT License. See MIT License.txt for full details.

"Star Wars" and related items are trademarks of LucasFilm Ltd and LucasArts Entertainment Co.

About

Library to edit LucasArts *.DAT backdrop files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages