Author: Michael Gaisser
Library for reading LucasArts *.DAT image files.
- Added BC3 and BC5 format capability.
- 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.
- Added BC7 format capability
- Added Format 25C capability
- Image isn't decompressed until first accessed
- Format 25 now takes up half the memory after loading
- 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
- 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
- Changed license to MPL
- (FrameCollection) SetCount and IsModified implementation
- (Sub) SetImage uses image.Palette if image is 8bppIndexed
- (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 (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.