<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Gamedev%3AMouseCursors</id>
	<title>Gamedev:MouseCursors - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Gamedev%3AMouseCursors"/>
	<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:MouseCursors&amp;action=history"/>
	<updated>2026-04-21T04:28:54Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:MouseCursors&amp;diff=605&amp;oldid=prev</id>
		<title>Qrow: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:MouseCursors&amp;diff=605&amp;oldid=prev"/>
		<updated>2025-11-13T02:24:12Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:24, 12 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:MouseCursors&amp;diff=604&amp;oldid=prev</id>
		<title>interwiki&gt;Flozi: Flozi moved page MouseCursors to Gamedev:MouseCursors</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:MouseCursors&amp;diff=604&amp;oldid=prev"/>
		<updated>2013-10-26T22:33:41Z</updated>

		<summary type="html">&lt;p&gt;Flozi moved page &lt;a href=&quot;/wiki/index.php?title=MouseCursors&quot; class=&quot;mw-redirect&quot; title=&quot;MouseCursors&quot;&gt;MouseCursors&lt;/a&gt; to &lt;a href=&quot;/wiki/index.php?title=Gamedev:MouseCursors&quot; title=&quot;Gamedev:MouseCursors&quot;&gt;Gamedev:MouseCursors&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Engine_Development|Development]] &amp;lt; [[Mod_and_Unit_development|Game Development]] &amp;lt; {{FULLPAGENAME}}&lt;br /&gt;
&lt;br /&gt;
=Mouse Cursors=&lt;br /&gt;
==Location==&lt;br /&gt;
Cursors for Spring are stored in the &amp;lt;code&amp;gt;Anims/&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
==Supported Image Formats==&lt;br /&gt;
The cursors have to be in either:&lt;br /&gt;
* png&lt;br /&gt;
* tga&lt;br /&gt;
* bmp&lt;br /&gt;
To make transparent sections in bmp&amp;#039;s use RGB(84, 84, 252).&amp;lt;br/&amp;gt;&lt;br /&gt;
The images don&amp;#039;t have to be squared neither power-of-two, but those are preferred and the size should be &amp;lt;=128.&lt;br /&gt;
&lt;br /&gt;
==Filename==&lt;br /&gt;
Even if your cursor isn&amp;#039;t animated, it must have the _0 at the end of its name.&lt;br /&gt;
Only when using a .txt this isn&amp;#039;t needed.&lt;br /&gt;
&lt;br /&gt;
==Animated Cursors==&lt;br /&gt;
===Via Filenames===&lt;br /&gt;
To make animated cursors, just make a sequence where the filenames start with &amp;#039;_0&amp;#039; at the end of the first in the sequence, going on sequentially until the last frame. This uses the default `frame time` (= the time each sprite is visible) of 0.1sec.&lt;br /&gt;
&lt;br /&gt;
===Via .txt===&lt;br /&gt;
You can also create a .txt file with further specifications for your cursor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cursorattack.txt:&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
hotspot %hotspot&lt;br /&gt;
frame %filename_0 %timespan_0&lt;br /&gt;
frame %filename_1 %timespan_1&lt;br /&gt;
frame %filename_2 %timespan_2&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;hotspot&amp;lt;/code&amp;gt; tag is optional and can be either &amp;lt;code&amp;gt;topleft&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;center&amp;lt;/code&amp;gt;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note, the filenames have to contain the full path, e.g. &amp;lt;code&amp;gt;Anims/CursorMove.png&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=Engine Cursors=&lt;br /&gt;
Spring itself just needs one cursor and that&amp;#039;s &amp;lt;code&amp;gt;cursornormal&amp;lt;/code&amp;gt;, &amp;lt;span class=warning&amp;gt;if this isn&amp;#039;t present in your game Spring will crash with an ContentError&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Still there are additional cursors the engine will use when present:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span class=note&amp;gt;(When cursors are double named in the table, it means that the following ones are fallbacks.)&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table width=&amp;quot;60%&amp;quot; border=&amp;quot;1&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th style=&amp;quot;background: #CCC; color:#444&amp;quot;&amp;gt;Cursor Name&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th style=&amp;quot;background: #CCC; color:#444&amp;quot;&amp;gt;Internal Name/Usage&amp;lt;/th&amp;gt;&lt;br /&gt;
    &amp;lt;th style=&amp;quot;background: #CCC; color:#444&amp;quot;&amp;gt;Def. Hot Spot&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursornormal&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;TopLeft&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorareaattack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Area attack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorattack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Area attack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorattack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Attack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorattackbad&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;AttackBad&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorattack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;AttackBad&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorbuildbad&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;BuildBad&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorbuildgood&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;BuildGood&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorcapture&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Capture&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorcentroid&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Centroid&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursordwatch&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;DeathWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorwait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;DeathWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursordgun&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;DGun&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorattack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;DGun&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorfight&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Fight&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorattack&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Fight&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorgather&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;GatherWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorwait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;GatherWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursordefend&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Guard&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorpickup&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Load units&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursormove&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Move&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorpatrol&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Patrol&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorreclamate&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Reclaim&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorrepair&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Repair&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorrevive&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Resurrect&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorrepair&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Resurrect&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorrestore&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Restore&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorrepair&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Restore&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorselfd&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;SelfD&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursornumber&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;SquadWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorwait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;SquadWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursortime&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;TimeWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorwait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;TimeWait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorunload&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Unload units&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;cursorwait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Wait&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;Center&amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example: A &amp;lt;code&amp;gt;cursorattack_0.bmp&amp;lt;/code&amp;gt; (same for &amp;lt;code&amp;gt;cursorattack.txt&amp;lt;/code&amp;gt;) in your &amp;lt;code&amp;gt;Anims/&amp;lt;/code&amp;gt; dir will automatically used for attack commands.&lt;br /&gt;
&lt;br /&gt;
=Lua/Custom Cursors=&lt;br /&gt;
==Runtime Replacing Default Cursors==&lt;br /&gt;
To runtime change cursors (e.g. per-faction cursors or user-configurable ones) you may want to use [[Lua_UnsyncedCtrl#GUI_2 | Spring.ReplaceMouseCursor]]. Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
Spring.ReplaceMouseCursor(&amp;quot;cursorattack&amp;quot;, &amp;quot;faction2_subdir/cursorattack&amp;quot;)&lt;br /&gt;
Spring.ReplaceMouseCursor(&amp;quot;cursormove&amp;quot;, &amp;quot;faction2_subdir/cursormove&amp;quot;)&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Give Custom Commands a Cursor==&lt;br /&gt;
First you need to register your custom cursor with &amp;lt;code&amp;gt;Spring.AssignMouseCursor&amp;lt;/code&amp;gt;. After that you can use it in &amp;lt;code&amp;gt;Spring.EditUnitCmdDesc/Spring.InsertUnitCmdDesc&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
--loads cursor from foo_cursor.txt, foo_cursor_0.bmp, ...&lt;br /&gt;
Spring.AssignMouseCursor(&amp;quot;mahcursor&amp;quot;, &amp;quot;foo_cursor&amp;quot;, false)&lt;br /&gt;
&lt;br /&gt;
--NOTE: this is SYNCED code!&lt;br /&gt;
--add custom cmddesc&lt;br /&gt;
Spring.InsertUnitCmdDesc(unitID, {&lt;br /&gt;
  ...&lt;br /&gt;
  cursor = &amp;quot;mahcursor&amp;quot;,&lt;br /&gt;
  ...&lt;br /&gt;
})&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Dev]]&lt;/div&gt;</summary>
		<author><name>interwiki&gt;Flozi</name></author>
	</entry>
</feed>