Sets the surprising row-major conventions used here straight.
Renames rotateVect to rotateAndScaleVect:
If the matrix also scales, that is applied as well by the method.
Obsolete rotateVect variants are removed.
The inverseRotateVect method is also renamed accordingly.
Note that this applies the transpose of the product
of the scale and rotation matrices, which inverts just the rotation.
Easy way to reproduce:
1. Connect a bluetooth mouse to your Android phone with Minetest installed
2. Play Minetest
3. Slowly move the mouse to the right so that the camera rotates continously
4. While still moving the mouse continously, tap the screen a few times per second
Before this commit: The camera jumps around randomly.
After this commit: The camera moves like it should.
This is a combination of two Irrlicht changes copied from MoNTE48/irrlicht
and one Minetest change authored by me. I have no idea why this works, but
it does work and I have spent way too much time on this bug already.
New parameter 'content padding'. When specified, the scrollbar
max value is calculated automatically. This aims to reduce manual
calculation functions.
This improves texture pack compatibility. Masks are expected to be of the same
size as the base texture. This change upscales the smaller texture if needed.
The behaviour is now the same as a.png^b.png and a.png^[overlay:b.png (to mention a few).
* Network: offload often changed constants to source file
This prevents unnecessary recompiling when using incremental builds.
There is also no need to have separate max proto version variables;
as they're subject to the handshake between client and server. The
code is also expected to support the same version (or higher).
Co-authored-by: sfan5 <sfan5@live.de>