Changing from COMD_UpRight to COMD_Up now makes you go upwards instead of continuing in the diagonal direction.
This does not seem to break anything, although the C4Command.cpp code is hard to verify due to lacking comments. If this is broken I will fix it. In any case no one is using it anyways.
e.g.:
for (var a=0; a<360; a+=360/18) CreateObject(WindGenerator,Sin(a,450)+500,Cos(a,450)+500,player);
The algorithm is still weird. Why are three lists needed to traverse the graph of connected flags?
We are starting to have too many settlement scenarios for one folder. This folder will contain all settlement scenarios with simple goals like mining, production or expansion. And these scenarios should all have dynamic maps and should be playable even after goal completion.
I will add the scenarios Gold Rush, Iron Peak and Conquest of Krakatoa and maybe other later, once I am done adjusting them.
GetMaxEnergy() is squashing very low values into 0. Objects could thus
still be alive while GetMaxEnergy returns 0, producing a div by zero.
Avoid this error by defaulting the divisor to 1.
The change of FindObject (and similar funcs like ObjectCount) from using always global coords to now use local coords made the search function in the plant library go wrong.
Also, the distance check in the library led to unnecessary removal of new plants. SeedOffset() will give the developer a better way of controling this.
When sides are open and the volcano reaches the central mountain, lava tends to flow out of the map while the volcano continues to grow further up. This looks rather stupid.
The current solution may also look a bit weird (as the volcano now grows over the mountain top), but is preferable both visually and from a gameplay perspective.
The HSV color picker would only handle mouse input inside of its bounds
when moving the picker cursors around. This changes it so that it does a
proper drag operation, meaning it will keep moving the color cursor that
was dragged until the user releases the mouse button.
Change StdStrBuf usage to StdCopyStrBuf because FileSelect tries to
get a non-const pointer to its data, which correctly asserts when called
on a StdStrBuf that references const data.
Closes#975.
Sending handles might desync network games if one of the connected
engines had run a different scenario before the current one, since ID
handles aren't cleared between games.