This allows other tools to instantiate these objects and set new values.
This is used by OptimShis Palette decoder and my retail character importer.
I was always on the fence about these dat properties being public. The risk is that a developer could modify a property in ACE. That property would then persist to the cached at object, and would be re-used until ACE was restarted.
This happens because dat objects are cached, and that same instance is returned on subsequent requests.
However, if we are ever to have 3rd party Dat editor tools, these properties will need to be public anyway.
* Change >> 1) & 1 to & 2
Cosmetic change pointed out by Rawaho.
* Better fix of the Portal Flags in the dat code
* ACE.DatLoader refactoring
This new code format uses extention methods to re-use code. It allows decouples object unpacking from DatReader and reduces the dependancy to a simple BinaryReader.
* Forgot to remove the temp StarterAreas code from the transition
* Some files were ignored, not sure why. This should fix
* Added @barbershop debug command and corresponding functionality
* Changed some CharGen types that were ushort to uints. (They were short for legacy reasons no longer needed)
* Cleaned up Handle function to be thread-safe
* Removed DungeonViewer link as the GitHub repo no longer exists
* DatReader, CharGen FileType, SetupModel FileType, and PaletteSet FileType
* Load basic player features from character creation
* Loads all correct player data from Character Creation.
* Adjusted palette/hue calculation
* Changed DatReader.buffer to Buffer, since the get is exposed publically. Also added some additional comments.