Reorganized gradle scripts into subproject directories
Reformatted gradle scripts to be more consistent
Created :server subproject group
Deleted :mpqlib subproject due to inactivity
Hopefully this is a step in the right direction
Changed to standard gradle src directory structure
Changed some working directories to work properly with gradle tasks
Changed MPQViewer asset path to empty string
Removed dangling byte[] data refs within CharData for serialization
Removed dangling FileHandle file refs within CharData and D2S
Removed some methods within D2S which should not be required anymore
Reduced visibility of D2SReader96#readD2S -- should be package-private
Created D2SWriter with D2SWriterStub to temp hold D2S data refs until serialization is finished
D2SWriter will eventually contain code to serialize CharData to byte[]
Changed D2S.MercData int xp to long experience (is really a uint32)
Created some public accessor fields within D2S to grab basic version agnostic info
Created some deprecated public accessor fields within D2S until CharacterPreview is fixed
Will deprecate and replace some com.riiablo.save classes eventually
D2S acts only as a tuple
D2SReader has significantly more robust debugging tools than com.riiablo.save.D2S
Added Riiablo#getDifficultyString(int) to get the debug difficulty string
Added D2SReaderTool used to debug D2S files and diagnose format issues
Added support for distinct vendor inventories
No inventory component yet -- generated each time vendor loaded
Moved VendorPanel inventory management to Npc for time being (from UI to a system)
Modified VendorPanel#config signature to include inventory item list
Created VendorGenerator#generate(String) to generate an inventory for a specified vendor
Added ItemGenerator and VendorGenerator systems to various engines
Added support for hiding debug objects
Map cell values now have main and sub indexes unset
Added additional parameter that seems to block walk better on non-map floor tiles
Removed object oriented engine code-base and deprecated remaining classes
Removed some older test classes which implemented the old engine
Moved game screen panel classes to screen.panel package
Changed game screen panel classes to use Riiablo.game reference
Refined TouchMovementSystem to work more smoothly near walls by turning off pathing and using raycasting and box2d
Replaced gdx-ai raycaster with my own implementation that supports passing size and flags
Exposed MapGraph#getOrCreate(Vector2) -- may move this class and return these to package access later