Several classes would attach event handlers to the Map which would live longer then they did. Detaching them when no longer needed allows the GC to reclaim them.
List required mods and their versions to enable mod dependencies on another mods.
Also used for identifying the engine version by `modchooser`'s version.
Since the action runs after a delay, the state of the game may no longer be the same and it may no longer be valid to run the action. Anything that references the world now calls IsCurrentWorld to ensure the world hasn't changed or been disposed.
* Simplified UI plumbing.
* Improves handling of errors and kicks.
* Persists chat history between session.
* Fixes leaks of the old widget tree when exiting.
* A few small UI polish improvements.
This patch adds mouse cursors to the joystick scrolling feature.
On Tiberian Sun, which itself had joystick scrolling, the same cursors are
used as in the original game.
As the older games did not have joystick scrolling, I've had to make a
best-effort guess as to what were suitable cursors.
-> When scrolling in all directions is available, the default arrow
cursor is used.
-> When a direction is blocked, the edge-scrolling blocked direction
cursor is used.
- ctrl+left/ctrl+right (cmd on osx) (back/forward by a word)
- ctrl+backspace/ctrl+delete (alt on osx) (delete word)
- ctrl+k/ctrl+u (cmd+delete/cmd+backspace on osx) (delete line from cursor)
- ctrl+x (cmd on osx) (deletes line)
This patch introduces support for the right-click-and-drag scrolling that
is available in Tiberian Sun and Red Alert 2. It can be enabled by
selecting "Joystick" scrolling in the Input settings.
The speed of the scroll is proportional to the product of the distance of
the drag, and the Scroll Speed selected in the Input settings menu.
A side-effect of this is that events previously tied to right clicks on
the world are now based on the release of the click rather than the press.
The "Middle-Mouse Scrolling:" option is renamed
to "Mouse Scrolling Method:"