The save button is now fully functional again when an error message
is shown.
After an invalid value is entered in the advanced settings dialog, the GUI
label for the error message that is shown was partly overlapping the
'save' button, so that the top half of the button could not be clicked
on.
cloneMesh() has to use a switch in order to create a different
mesh buffer type depending on vertex type. (Credit: the new cloneMesh
was written by RealBadAngel.)
To avoid repetitive code, all other methods use getVertexPitchFromType()
to automatically adapt the indexing to the vertex type at runtime.
Changes:
- Accept setting an empty flags-type value in the settings tab
if the variable specification permits it
- Don't accept substrings of flag values
E.g. with values: 'one,two,three', 'hree', 'w', etc. used to
be accepted. Not any more
- Don't accept flags with random pattern-matching special characters
E.g. with values: 'one,two,three', 'on.', '(o)[n]e*' etc. used
to be accepted. Not any more.
- Accept numbers prefixed with '+'
- Accept multiple spaces instead of just a single one where spaces are expected
- Allow flags to have an empty default value
The pageflip mode requires a stereo quadbuffer, and a modern graphic
card. Patch tested with NVidia 3D Vision.
The mini-map is not drawn, but that's what is done for topbottom and
sidebyside modes as well.
Also most of the time the user would prefer the HUD to be off. That's
for the user to decide though, and toggle it manually.
Finally, the interocular distance (aka eye separation) is twice as much
as the "3d_paralax_strength" settings. I find this a strange design
decision. I didn't want to chance this though, since it's how the other
3d modes interpret this settings.
Previously, we assumed that reply->str was NULL
terminated. However, this turned out to be not true,
as users reported crashes in strlen connected to
where reply->str was appended to an std::string.
Use the method recomended by the docs, to read the
length separately.
Removing the target file on other platforms was enabled likely unintentionally
by commit 5f1f1151d3a9c113902630adc16cc3f4845da7ba.
This may be the reason why there has been corruption of files on Linux on hard
shutdowns.
Previously I described the problem and this fix in issue #3084.
This allows other applications (e.g. minetestmapper) to interrogate
the database while minetest is running, without causing an almost
certain minetest crash.
Previous commit
70ea5d552e "Add support for limiting rotation of automatic face movement dir entitys"
by sapier has broken minetest's feature to open worlds. This was due to a
missing stack pop operation.
Thanks to @oleastre for reporting this bug and suggesting the fix.