#pragma once #include "engine/point.hpp" #include "engine/world_tile.hpp" namespace devilution { struct ActorPosition { WorldTilePosition tile; /** Future tile position. Set at start of walking animation. */ WorldTilePosition future; /** Tile position of player. Set via network on player input. */ WorldTilePosition last; /** Most recent position in dPlayer. */ WorldTilePosition old; /** Used for referring to position of player when finishing moving one tile (also used to define target coordinates for spells and ranged attacks) */ WorldTilePosition temp; /** Pixel offset from tile. */ DisplacementOf offset; /** Same as offset but contains the value in a higher range */ DisplacementOf offset2; /** Pixel velocity while walking. Indirectly applied to offset via _pvar6/7 */ DisplacementOf velocity; }; } // namespace devilution