Added support for ds1 object selection
Added additional contains methods with Vector2 (Vector3 to be removed soon)
Added MapListener which will be the primary controller for map elements
Disabled entity over updates with MapRenderer (handled by MapListener)
Increased visibility of StaticEntity fields to public
Fixed entity starting direction
Changed default angle for Player entities to -PI/2
Entities will no longer update angles to target if target is zero
Re-enabled animation speeds for walk animations
Rewrote Direction utility class to relate directions based on tile instead of unit circle
MapRenderer will not longer update angles of objects that have no target set
Added basic AI support along with NPC AI which uses built in paths/actions
NPCs will choose a random path after each arrival after their action finishes
Added support for per-entity run/walk speed along with a toggle
Added Map as a param for static/monster Entity creation along with Map.Zone
Fixed some debug drawing for entity paths
Added max steps parameter to path generation to avoid some behavior on Android with 1 unit walls
Android movement should be reimplemented as raycasting to help with moving near walls
Removed gdx-ai dependency and replaced GraphPath with my own implementation
Refactored Entity.updatePath to Entity.setPath
Removed src position from path (first element is now first target)
MapPather works in real-time -- improvements to be made
Disabled updateTask in client to use update(float) entity method instead
Added floating point position support to MapRenderer camera
Rewrote MapRenderer with optimizations for 60%+ FPS improvement!
Fixed numerous performance hogs and made optimizations (more to come)
Fixed issue where render bounds was calculated before zoom applied
Frame time on Android (GN5) down from 25ms to 10ms
Frame time on PC seeing similar results (now 0.17ms from about 0.45)
Implemented gdx-ai path finder for testing
Repo cleanup
Added support for path finding metrics for debugging purposes
Disabled some Entity debug messages
Implemented path smoothing on generated paths
Created MapGraph.MapGraphPath
MapRenderer will now render path as lines between points
Entity will clear path once final target reached
Added angle and animation support to Entity pathing
Entities will now change to run animation and set direction to target angle
Implemented basic touchpad support with new movement system
Replaced MapRenderer and MapViewer and removed any existing dependencies
Removed code comments from older revisions
MapRenderer.drawDebug changes projection matrix automatically
Added debug support for path smoothing
Added back networking to player movements
Removed old MapPather and references
Deleted Entity.move() as it's now irrelevant
Integrated path finding into Entity
Changed API a bit to accommodate reusing GraphPath
Introduced DiagonalHeuristic -- will need better one later on to include all 16 directions
Added support for StaticEntity labels
Refactored entity labels/names into Entity class -- needs optimization
Fixed issue where changing Label text wouldn't resize Label itself
Fixed issue where left padding on Label background Drawable was ignored
Added basic entity cursor focusing using backing animation bounds and MapRenderer
Added background drawable support to Label widget
Improved ColorDrawable padding calculations such that min width/height is a sum of respective padding
Disabled some mouse debugging features in MapRenderer
MapRenderer will now properly hide tiles whose mainIndexes intersect with current position poppads
Entity dirty components debug message will print string representation of flags instead of raw int
Included reference to source DS1.Object in StaticEntity and Monster classes
Added reference to DS1.Path in DS1.Object owner (assumes 1 path per object)
Moved path debug rendering to Entity from MapRenderer
Added Entity.drawDebugPath(ShapeRenderer)
Added Monster class generated from DS1 objects -- belong to Map Zones and render per-tile -- optimization needed
Refactored DS1 object generation to Entity class as static method to create type 1 or 2 entities
Updated screenshot with dynamic entities
Removed type from StaticEntity constructor (already included with Objects.Entry)
Added Excel classes for monstats and monstats2 -- optimizations can be made later
GameScreen now ignores hotkeys while chat box is open
Esc closes chat box
Closing chat box will now set text to empty string
Chat output TextArea will no longer block touch events (i.e., inventory management)
Fixed issue with single player player entity creation by blocking some packets
Fixed issue with character colormap transforms not working as intended for 0x7
Small fix for in-game chat box printing enters -- need to block key commands while typing
Added padding to in-game chat box
Removed shift to not move in-town (was not working as intended anyways)
Fixed bug with Map.find(int) returning actual GridPoint -- now returns a copy
Added workaround for set(String) in Cvar when generic type is String
Transition to entity package with refinements
Separated services into ChatServer, DedicatedServer and Sessions
Single player uses same code-base as DedicatedServer with a special loopback socket
Added SelectCharacterScreen2 copy -- will replace later on with more versatile SelectCharacterScreen impl