Clonk can consume bubbles while swimming to regain breath.
Flagpole construction: Show arrows pointing to neighboured flags that would be connected if the flagpole were built there.

Allows the player to build his base more efficiently.
Fix construction preview of non-flagpole objects
Play correct chop animation for trees in front of Clonks
Set grass plane to -1.

Grass isn't covered by clouds anymore.
Fix C4ChatDlg::ToggleChat: Do not close the network connection.
Change Random() on negative values to always return zero.

Before, it would return huge, positive values (e.g. Random(-20) could produce 47384782) which leads to all kinds of trouble in script (like #968)
Make AdjustMoveToTarget more robust concerning large values.

Before, e.g. SetCommand("MoveTo", nil, 0,9999999) could freeze the engine for some time.
MineRescue: Fix adjusted flagpole radius to be used correctly in construction site connectivity preview.
Fix LandscapeRender ReInit when loading scenario sections.

The LandscapeRender Init() proc loads graphics from the main graphics group, which is already closed when a section is loaded. So just keep the renderer around on landscape recreation now.
Fix loading from child groups when the mother needs to re-set its file pointer.

Fixes a bug with loading the shader file from scenario local Graphics.ocg on network clients. I think I also heard a few more sounds after the fix, so maybe they used random access into child groups too.
mac: Remove mouse-warping silliness (it doesn't work with tablets and I'm stupid D:)
Remove unused Base64 codec
Fix internal marker for FindObject searches and CrossCheck using shapes.

Before, the marker would be reset in every frame, but object markers and main counter weren't reset consistently at the same time. This could cause some objects to be not found if their markers were set after the object marker reset but before the main marker counter reset.
Make seaweed Library_Plant for placement function
Make butterflies appear with different colors
Improve C4Object const correctness
Add very rudimentary C4Script testing framework
Add test case for #973
#973: Make FindObject et al. handle object context instead of Find_*

When people write obj->FindObject(Find_Distance(10)), they expect the
engine to use the distance from obj instead of the distance from the
current object (or from 0,0 if called from outside of object context).

Making the engine handle coordinate offseting at calls to FindObject
(and similar functions) instead of having the C4FO wrappers do it solves
this problem.

Compatibility impact: Code that creates their own criteria structure
instead of using the provided Find_* functions will have to be adapted
if they use any of the location-based criteria.