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
Added interact system and interactors for object and items
Added minimum bounds to item entities to make them easier to interact with
Committing EntityAdapter -- should have been included a few commits ago
Added ClientScreen to Engine constructor
Committing ClientScreen -- tbd replacement for GameScreen
Added CollisionSystem to update Box2D bodies with current object state
Created ItemLoaderSystem to defer flippy file loading
Item entities are selectable only after their flippy file has been loaded since they have no bbox
Changed implementations from EntityListener to EntityAdapter
Added support for generating box2d bodies for monster and objects and generalized player entities
Added support for object entities to perform a bitwise or with the map tile flags so pathfinding will avoid them
Added support for retrieving vector2 view of MapGaphPath iterator
Changed representation of PathfindComponent to Vector2 from MapGraph.Point2
Deleted old MapGraph racaster
Added support for sized path smoothing
Removed extra data structures and put references directly into Point2
Added back direction-8 children successors
Changed rounding method of Map#flags(float,float) to use Map#round(float) instead of casting down to int
Removed indexing and connection links from Point2
Point2 are now indexed using MapGraph#getOrCreate and mapped using an ObjectSet -- using int hash did not seem sufficient
Connections to a given Point2 are lazily generated using a static Array -- it did not make sense to cache this for every node
Cleaned up API and method references (all pathing methods now use MapGraph#searchNodePath as their base method)
Most of these changed are geared to hopefully use the underlying map collision flags array as the graph instead of building a new one
Created Box2DComponent to store Box2D body
Created Box2DPhysicsSystem to generate world objects and iterate physics
Created Box2DBodySystem to propagate VelocityComponent to Box2D bodies
Introduced CofComponent.setComponent(int,int) to auto set dirty flags for changed components
AnimationLoaderSystem will now unset load flag for null layers and remove transform and alpha update flags
CofLoaderSystem will now trigger a layer load when a nil component is encountered