This allows scripters to place liquid containers with fixed pipes, so that players do not break scenarios.
Imagine lhs being 0 and rhs being more than int32_t can handle. And then imagine subtracting them and casting them to int32_t. That's what happened e.g. in void C4ShaderCall::Start() when ScriptShader.LastUpdate was 0. This caused the shaders to reload every frame; at least when in the main menu. This lead to serious lagging (of the cursor) for me. Note that the subtraction operator in C4TimeMilliseconds.cpp has a similar issue. This might need a fix or at least high awareness by users. Maybe an assert or something. PS: Who thought that doing the comparison with a subtraction was a good idea? This is not assembler :I
Wearable items can have attachment flags, such as matching the target skeleton
Makes it easier to overload the individual parts
Certain packs/objects may want to restrict your ability to roll. The parameter that distinguishes between rolling from a fall and rolling while running is helpful here.
Made the script a little more readable in some places
Contained clonks can interact with their container now. Changed the order of issued calls around a little, but it should not create unwanted effects.
Squashed three commits, see https://github.com/openclonk/openclonk/pull/47
Structures created basements with ID Basement, now the basement type can be defined with the callback GetBasementID (default value is Basement)
The reason for an engine function for this is speed, an implementation in script needs Find_Func and ensures slowness.