Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ecfb2e6
add smooth-movement plugin
notliad Aug 10, 2026
72fb17b
refactor(smooth-movement): split implementation into focused files
notliad Aug 10, 2026
ba2d096
Revert "refactor(smooth-movement): split implementation into focused …
notliad Aug 13, 2026
290a79e
refactor(smooth-movement): address review feedback
notliad Aug 13, 2026
742c388
license(smooth-movement): relicense under Zlib
notliad Aug 13, 2026
6a3aa40
remove camera feature
notliad Aug 13, 2026
64ec26f
smooth-movement: clarify animation coverage tests
notliad Aug 18, 2026
3796ce2
smooth-movement: tighten viewport animation state
notliad Aug 18, 2026
7a810bf
smooth-movement: consolidate coordinate rendering fixes
notliad Aug 18, 2026
4d32f40
Clarify smooth movement renderer constants
notliad Aug 18, 2026
e4916ac
Clarify smooth movement test constants
notliad Aug 18, 2026
60a5515
Clarify smooth movement animation heuristics
notliad Aug 18, 2026
7e6fc88
Merge branch 'develop' into plugin/smooth-movement
notliad Aug 18, 2026
dd5a0b8
fix(smooth-movement): allow signed coordinate inputs
notliad Aug 19, 2026
0fce3b4
Merge branch 'develop' into plugin/smooth-movement
notliad Aug 20, 2026
1c2972b
Merge branch 'develop' into plugin/smooth-movement
notliad Aug 25, 2026
4340b04
Merge branch 'develop' into plugin/smooth-movement
notliad Aug 26, 2026
a1d958e
smooth-movement: use generated viewport spatter flags
notliad Aug 26, 2026
cdd2661
Merge branch 'develop' into plugin/smooth-movement
notliad Aug 28, 2026
db6f7a2
Merge branch 'develop' into plugin/smooth-movement
notliad Aug 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/about/Authors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ Clayton Hughes
Clément Vuchener cvuchener
Corey CoreyJ87
daedsidog daedsidog
Dailton Filho notliad
Dan Amlund danamlund
Daniel Brooks db48x
David Nilsolm
Expand Down Expand Up @@ -121,6 +122,7 @@ Kurik Amudnil
Kévin Boissonneault KABoissonneault
Lethosor lethosor
LordGolias LordGolias
Magnus Anderson magnus-ISU
Mark Nielson pseudodragon
Mason11987 Mason11987
Matt Regul mattregul
Expand Down Expand Up @@ -261,6 +263,7 @@ Vitaly Pronkin pronvit mifki
ViTuRaS ViTuRaS
Vjek vjek
Vladimir Florov foxxelias
wala343 wala343
Warmist warmist
Wes Malone wesQ3
Will H TSM-EVO
Expand Down
1 change: 1 addition & 0 deletions docs/changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ Template for new versions:
# Future

## New Tools
- `smooth-movement`: smoothly animate creature, item, and vehicle movement in the fortress viewport
- `export-world-map`: Export world map data for GIS and other external tools.

## New Features
Expand Down
50 changes: 50 additions & 0 deletions docs/plugins/smooth-movement.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
smooth-movement
===============

.. dfhack-tool::
:summary: Smoothly animate movement in the fortress viewport.
:tags: fort interface

This plugin makes creatures, hauled items, vehicles, and associated status
icons glide between tiles. It only changes rendering; gameplay, simulation
timing, and save data are unaffected.

The plugin requires the SDL 2D renderer.

Usage
-----

::

enable smooth-movement
smooth-movement
smooth-movement flip on|off
smooth-movement zlevel on|off

Running ``smooth-movement`` without arguments reports the plugin status and
current settings. Optional features are reset to their defaults whenever the
plugin is enabled.

Examples
--------

``enable smooth-movement``
Enable smooth movement on the main z-level.

``smooth-movement flip on``
Horizontally flip creatures so they face their direction of travel.

``smooth-movement zlevel on``
Also animate movement on visible z-levels below the main level.

Settings
--------

``flip`` (default: off)
Flip creature sprites horizontally according to their last horizontal
movement. Items, vehicles, and designation icons keep their normal
orientation.

``zlevel`` (default: off)
Animate movement on visible lower z-levels. Sprite flipping remains
independent of this setting.
1 change: 1 addition & 0 deletions plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ if(BUILD_SUPPORTED)
#dfhack_plugin(siege-engine siege-engine.cpp LINK_LIBRARIES lua)
dfhack_plugin(sort sort.cpp LINK_LIBRARIES lua)
#dfhack_plugin(steam-engine steam-engine.cpp)
add_subdirectory(smooth-movement)
dfhack_plugin(spectate spectate.cpp LINK_LIBRARIES lua)
#dfhack_plugin(stockflow stockflow.cpp LINK_LIBRARIES lua)
add_subdirectory(stockpiles)
Expand Down
3 changes: 3 additions & 0 deletions plugins/smooth-movement/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dfhack_plugin(smooth-movement smooth-movement.cpp LINK_LIBRARIES lua)
target_include_directories(smooth-movement PRIVATE ${SDL2_INCLUDE_DIRS})
dfhack_test(smooth-movement-test test_visual_animation_manager.cpp)
Loading