* move music path enumerations into d2resource
* move text dictionary (.tbl) loader into d2fileformats sub-package d2tbl
* lint fix, add doc file for d2tbl
* moved data_dictionary.go into d2fileformats sub-package d2txt, added doc file
* added sub-packages d2geom for geometry-related things, and d2path for path-related things
* moved calcstring.go to d2calculation
* move bitmuncher, bitstream, stream reader/writer from d2common into sub-package d2datautils
* fix lint errors in d2datadict loaders (caused by moving stuf around in d2common)
* move size.go into d2geom
* move d2common/cache.go into sub-package d2common/d2cache
* renamed d2debugutil to d2util, moved utility functions from d2common into d2util
- fixed lint errors in d2interface
- removed `archived_` from interface names, was not necessary
- removed the Bitmuncher and Bitstream interfaces, as they are too specific and unnecessary
* adding debug printing boxes for entity bounds
* minor edits
- adding `spawnmon` command. currently does not have a netpacket, just for debug
- adding `GetSize` method to map entities for getting frame bounds (for debug printing)
* bug fix
* Add PushEffect, handle effects in renderer
* Set effects instead of blend
* Stop using PushCompositeMode, use PushEffect
* Remove remaining composite mode things
The split between d2ui and d2asset Font version caused incorrect caching between the two. After looking at d2interface.Font, I saw the d2asset was the most recent and more tightly and cleanly packaged.
I therefore removed the old d2ui.Font and embedded the d2asset version in the d2ui.Label and d2ui.Button.
Looking at the code of d2ui, it would be logical to completly swap it for their d2gui version. But at least for the moment, the d2ui.Button as more functionality since it embeds a Label (instead of a font), and this label now has multiline horizontal alignement.
* moved filter constants back to d2enum
* moving key and mouse button enums into d2enum
* moving render type enum into d2enum
* moving input even priority enums into d2enum
* moving terminal enums into d2enum
* Split DCC and decode direction on demand
* Clean up
* More cleanup
* Make dc6 animation it's own type
* Make base animation private
* Also decode DC6 directions on demand
* abstracted palettes, colors, and palette manager
* make asset manager use the palette manager interface
* added BGRA setter/getter, fixed lint errors
* abstraction for animation and animation manager
* abstracted font and font manager
* abstracted palettes, colors, and palette manager
* make asset manager use the palette manager interface
* added BGRA setter/getter, fixed lint errors
* abstraction for animation and animation manager
I realized that the file manager is actually managing file access
to the archives, but it's doing so through the archive manager.
I've renamed it, it's now called ArchivedFileManager because that
is really what it is.
* Move MapEntity to d2interface
* New package d2object, first object initFun
Moves objects out to their own package and implements the very first
init function, torches/braziers now gets their animation mode set at creation.
* Apply name again
* Turn on waypoints
* Quit using ObjectLookupRecord in composite
* Unexport SetMode in map entities
* Get rid of weaponClass from MapEntity
* Pass ObjectType to composite instead of string
* Use layer weaponclass from cof
* Manage more stuff directly in composite
* Explicitly index when picking equipment
* DS1 reader no longer looks up objects
* Start of enteties managing their own equipment
* stringer and string2enum CompositeType
String2enum
* Use CompositeType stringer to simplify composite
* Finally fix GetDelimitedList
And lint issues
* NPC selects random equipment
* fixed lint issues of the package d2core/d2inventory
* fixed lint issues of the d2script package
* fixed lint issues of the d2common/d2interface package
* fixed lint issues of the d2common/d2resource package
* fixed lint issues of the d2core/d2term package
* fixed conflict errors
* Fixes#496 using ebiten.SubImage to Render Section of a Surface.
I had to add matching functions to both animation and sprite to get it to be called
for a sprite object.
* Fixed linter warning on comments for Sprite and Animation.
* Removing what's remaining of the old Sprite re-generation and caching.
* String2enum ObjectAnimationMode
* Render objects at their assigned layer
Gets the orderflag from the object record and assign it to the mapentity
so the renderer can get at it.
This adds another render pass that loops through the objects.
* Get object animation speed from their txt entry
* make game update at 25fps, ui update at max fps
* minor edits to func names, d2resource constants
* renamed `loadDictionary` to `loadTextDictionary` to avoid confusion with `LoadDataDictionary`
* updated line in main.go that calls `loadTextDictionary`
* added tokens as constants inside of `d2resource/resource_paths.go` that are used in font/language paths
* moved locale string handling stuff into it's own func, now uses tokens defined in d2resource
* minor edits to func names, d2resource constants
* renamed `loadDictionary` to `loadTextDictionary` to avoid confusion with `LoadDataDictionary`
* updated line in main.go that calls `loadTextDictionary`
* added tokens as constants inside of `d2resource/resource_paths.go` that are used in font/language paths
* moved locale string handling stuff into it's own func, now uses tokens defined in d2resource
* fix: accidentally renamed func in d2asset
* git is hard
accidentally added changes not meant for this commit