Commit Graph

6823 Commits

Author SHA1 Message Date
Jens Rottmann
b3ffe675c3 Add tiny Y offset in collisionMoveSimple() to tweak performance
Another small general problem: the player is always standing exactly on the
bondary between 2 nodes e.g. Y=1.5 is exactly between nodes Y=1 and Y=2.
floatToInt() and myround() will round +/-n.5 always 'outwards' to +/-(n+1),
which means they behave differently depending on where you are: they round
upwards above sea level and downwards when underground. This inconsistency
comes from the way the coordinates are calculated, independent of the
specific C++ code.

The result is a tiny bit of lost performance when moving underground,
because 1 node level more than necessary is checked for collisions. This can
be amended by adding a tiny offset to minpos_f.Y, like @paramat suggested.
This is not an elegant solution, but still better than wasting CPU.
2018-06-03 17:31:59 +02:00
Jens Rottmann
90a9e4e69f Fix player coordinate rounding in collisionMoveSimple() (#6197)
To determine the area (nodes) where a player movement took place
collisionMoveSimple() first took the old/new player coordinates and rounded
them to integers, then added the player character's collision box and
implicitely rounded the result. This has 2 problems:

Rounding the position and the box seperately, then adding the resulting
integers means you get twice the rounding error. And implicit rounding
always rounds towards 0.0, unlike floatToInt(), which rounds towards the
closest integer.

Previous (simplified) behavior: round(pos)+(int)box, for example player at
Y=0.9, body is 1.75m high: round(0.9)+(int)1.75 = 1+1 = 2.
==> A character's height of 1.75m always got rounded down to 1m, its width
of +/-0.3 even became 0.

Fixed by adding the floats first, then rounding properly: round(pos+box) =
round(0.9+1.75) = round(2.65) = 3.
2018-06-03 17:31:59 +02:00
Juozas Pocius
e5311a4d56 Fix crash when using --go in command line 2018-06-03 17:31:59 +02:00
SmallJoker
4be7d8b43a Noise: Prevent unittest crash caused by division by zero 2018-06-03 17:31:59 +02:00
SmallJoker
070ab6654a Sneak: Stripped down version
Fix taking damage caused by sneaking over a nodebox gap.
Fix strange behaviour on stair nodeboxes.
Enable jumping from node edges while sneaking.
Enable movement around corners while sneaking on a 1-node-high groove in a wall.
2018-06-03 17:31:59 +02:00
stujones11
ebf9dda2e6 Include TILE_MATERIAL_OPAQUE in shaders header (#6086) 2018-06-03 17:31:59 +02:00
stujones11
c352ff71e8 Tile material: Add 'TILE_MATERIAL_OPAQUE', use for drawtype 'NDT_NORMAL'
Prevents normal drawtype nodes having transparency.
Avoids clients cheating by using 'x-ray' texture packs with transparent textures.
2018-06-03 17:31:59 +02:00
paramat
26d0753d87 Mgv7: Fix undefined 'float_mount_height'
Commit cad10ce3b747b721fd63784915e05f12bc488128 altered the parameter
'float_mount_height' but was missing the necessary line in the constructor
to get the altered value from 'params'.

Fixes 3D floatland terrain generating everywhere.
2018-06-03 17:31:59 +02:00
Jesse McDonald
46ff2e2cef Fix for empty key/value when reading item string with wear but no metadata (#6058) 2018-06-03 17:31:59 +02:00
paramat
a08a93bc9c Mgv7: Clean up divide-by-zero fix 2018-06-03 17:31:59 +02:00
paramat
6e0557e20c Mgv7: Avoid divide-by-zero errors
Some settings of paramters can cause mgv7 variables to be -inf, nan or -nan.
This can cause massive vertical columns of water to appear above sea level.
2018-06-03 17:31:59 +02:00
Dániel Juhász
0c91c65a11 Fix render order of overlays (#6008)
* Fix render order of overlays

* Use C++11 loops

* Fix time_t
2018-06-03 17:31:59 +02:00
Ezhh
849fe19f8c Fix console resize issue when maximising game window (#6023) 2018-06-03 17:31:59 +02:00
Zeno-
cfa6216694 Fix console not being properly resized after window size changed (#6020) 2018-06-03 17:31:59 +02:00
Dániel Juhász
322e5aaf92 Automatic item and node colorization (#5640)
* Automatic item and node colorization

Now nodes with a palette yield colored item stacks, and colored items
place colored nodes by default. The client predicts the colorization.

* Backwards compatibility

* Use nil

* Style fixes

* Fix code style

* Document changes
2018-06-03 17:31:59 +02:00
SmallJoker
03bc584f57 find_nodes_in_area: Extend maximal count to U32_MAX (#5277)
Extend documentation, limit area volume
Remove u16 count limitation

* Prevent integer overflow, replace minp/maxp with pos1/pos2
2018-06-03 17:31:59 +02:00
Loïc Blot
5f796f7a04 Verify HudSetParams input when hotbar textures are set (#6013)
* Verify HudSetParams input when hotbar textures are set

This fix #6011
2018-06-03 17:31:59 +02:00
paramat
7aa52fe4e1 (Re)spawn players within 'mapgen_limit'
Previously, findSpawnPos() did not take the 'mapgen_limit' setting into account,
a small limit often resulted in a spawn out in the void.
Use the recently added 'calcMapgenEdges()' to get max spawn range through a new
mapgenParams function 'getSpawnRangeMax()'.

Previously, when a player respawned into a world, 'objectpos_over_limit()' was
used as a check, which was inaccurate.
Use the recently added 'saoPosOverLimit()' to get exact mapgen edges.

Also fix default value of 'm_sao_limit_min'.
2018-06-03 17:31:59 +02:00
red-001
0664b5f772 Add a server-sided way to remove color codes from incoming chat messages (#5948)
These code be generated by CSM, a modded client or just copy and pasted by the player.

Changes
- Update configuration example and setting translation file.
- Remove colour codes before logging chat.
- Add setting to remove colour codes before processing the chat.
2018-06-03 17:31:59 +02:00
DS
14b039f0b4 fix an example in lua_api (#5604) 2018-06-03 17:31:59 +02:00
red-001
c399f5a541 Fix sending color codes to clients that don't support them. (#5950)
Also remove `disable_escape_sequences` since it's not needed anymore.
2018-06-03 17:31:59 +02:00
DS
f736226c1a make ret variable in /builtin/mainmenu/tab_credits.lua local (#5942) 2018-06-03 17:31:59 +02:00
red-001
e665e75e77 Fix typos/mistakes in the documentation for colour related functions. (#5936) 2018-06-03 17:31:59 +02:00
ShadowNinja
cba783f7fa Fix segmentation fault with tool capabilities (#5899) 2018-06-03 17:31:59 +02:00
sfan5
87b9451820 Revert version scheme changes
This reverts commit 41b7823057bdaddd760f932dce802719301c3a0f.
This reverts commit 7968f1ddaa67432719d5becdda5ca8bec58faa47.
2017-11-20 19:28:58 +01:00
rubenwardy
41b7823057 Fix branch being labelled as 0.4.17 instead of 0.4.17-dev
You should use tags instead of this branch to track the latest release
2017-09-09 20:42:23 +01:00
Loïc Blot
7968f1ddaa
New version scheme (#6292)
* Version changes: current dev version is now 0.4.17

* This change permit to have multi branches with various versions
* Dev version is 0.4.17-dev and next release will be 0.4.17
2017-08-20 17:25:07 +02:00
ShadowNinja
caecdb681c Merge 0.4.16 into stable-0.4 2017-06-03 14:55:10 -04:00
ShadowNinja
80dc961d24 Bump version to 0.4.16 0.4.16 2017-06-03 14:42:10 -04:00
ShadowNinja
e4d3639d40 Update remove_player documentation
This function only removes player meta data,
not player authentication data.
2017-06-03 14:39:49 -04:00
rubenwardy
fe046fab8a Update credits
The following algorithm was used when selecting contributors:

* Every non-trivial contributor from the current release,
  Non-trivial meaning more than X non-trivial commits, not counting documentation/translation changes
* The top Y contributors from the last 4 years.
* Previous contributor means no contributions since a few months before the last release.

In the future this should be automated
2017-06-03 14:28:36 -04:00
pandaro
1d4978b881
Translated using Weblate (Italian)
Currently translated at 77.6% (795 of 1024 strings)
2017-06-03 20:20:47 +02:00
Лазар Вукановић
b6eb315262
Translated using Weblate (Serbian (cyrillic))
Currently translated at 38.1% (391 of 1024 strings)
2017-06-03 20:20:41 +02:00
Mateusz Mendel
518dbec74c
Translated using Weblate (Polish)
Currently translated at 61.3% (628 of 1024 strings)
2017-06-03 20:20:24 +02:00
praprot
2795a2a4db
Added translation using Weblate (Slovenian) 2017-06-03 20:20:05 +02:00
BreadW
03c5dffabe
Translated using Weblate (Japanese)
Currently translated at 48.2% (494 of 1024 strings)
2017-06-03 20:19:15 +02:00
Emiel van Rooijen
c77f0c1065
Translated using Weblate (Dutch)
Currently translated at 79.7% (817 of 1024 strings)
2017-06-03 20:18:58 +02:00
texmex
58c0e37501
Translated using Weblate (Swedish)
Currently translated at 12.1% (124 of 1024 strings)
2017-06-03 20:16:49 +02:00
metarmask
d74ebfbc67
Translated using Weblate (Swedish)
Currently translated at 11.0% (113 of 1024 strings)
2017-06-03 20:16:23 +02:00
texmex
c8b0502037
Translated using Weblate (Swedish)
Currently translated at 10.9% (112 of 1024 strings)
2017-06-03 20:15:47 +02:00
Muhammad Nur Hidayat Yasuyoshi
87c771e638
Translated using Weblate (Malay)
Currently translated at 90.2% (924 of 1024 strings)
2017-06-03 20:15:39 +02:00
Muhammad Rifqi Priyo Susanto
388930f3dd
Translated using Weblate (Indonesian)
Currently translated at 94.5% (968 of 1024 strings)
2017-06-03 20:13:38 +02:00
Muhammad Rifqi Priyo Susanto
bc73df81d1
Translated using Weblate (Indonesian)
Currently translated at 84.2% (863 of 1024 strings)
2017-06-03 20:12:44 +02:00
Viktar Vauchkevich
b5d43d7b18
Translated using Weblate (Belarusian)
Currently translated at 100.0% (1024 of 1024 strings)
2017-06-03 20:11:56 +02:00
anonymous
c3775ceb49
Translated using Weblate (French)
Currently translated at 88.6% (908 of 1024 strings)
2017-06-03 20:11:34 +02:00
Hugo Locurcio
36bba5b8ca
Translated using Weblate (French)
Currently translated at 88.5% (907 of 1024 strings)
2017-06-03 20:10:30 +02:00
Loïc Blot
98c13746ce
Translated using Weblate (French)
Currently translated at 88.4% (906 of 1024 strings)
2017-06-03 20:10:22 +02:00
José
041553e658
Translated using Weblate (French)
Currently translated at 87.4% (895 of 1024 strings)
2017-06-03 20:10:15 +02:00
Loïc Blot
83b6a3bcdd
Translated using Weblate (French)
Currently translated at 86.9% (890 of 1024 strings)
2017-06-03 20:10:01 +02:00
monolifed
0f55050038
Translated using Weblate (Turkish)
Currently translated at 100.0% (1024 of 1024 strings)
2017-06-03 20:09:58 +02:00