oweals/minetest.git
5 years agoBump version to 0.4.17 0.4.17
SmallJoker [Sun, 3 Jun 2018 15:35:20 +0000 (17:35 +0200)]
Bump version to 0.4.17

5 years agoBackport buildbot win32 scripts too
Loic Blot [Mon, 21 May 2018 21:14:54 +0000 (23:14 +0200)]
Backport buildbot win32 scripts too

5 years agoUpdate macosx build from master
Loic Blot [Mon, 21 May 2018 19:04:18 +0000 (21:04 +0200)]
Update macosx build from master

5 years agoFix windows toolchain due to missing packages, upgrade to more recent toolchain
Loic Blot [Mon, 21 May 2018 19:00:56 +0000 (21:00 +0200)]
Fix windows toolchain due to missing packages, upgrade to more recent toolchain

5 years agoC++03 oldify in various source files
SmallJoker [Fri, 18 May 2018 09:10:53 +0000 (11:10 +0200)]
C++03 oldify in various source files

5 years agoMore C++03 fixes
Loic Blot [Mon, 14 May 2018 05:42:20 +0000 (07:42 +0200)]
More C++03 fixes

5 years agoFix luajit include not being found
rubenwardy [Tue, 8 May 2018 18:06:55 +0000 (19:06 +0100)]
Fix luajit include not being found

5 years agoDungeons: Mostly fix missing stair nodes
Paramat [Tue, 24 Apr 2018 23:44:49 +0000 (00:44 +0100)]
Dungeons: Mostly fix missing stair nodes

5 years agoFix i386 bit build at OpenBSD (#7259)
mazocomp [Sat, 21 Apr 2018 19:33:38 +0000 (22:33 +0300)]
Fix i386 bit build at OpenBSD (#7259)

5 years agoFix C++03 compiling due to C++11 initialization issues in backport
Loic Blot [Sun, 13 May 2018 08:15:35 +0000 (10:15 +0200)]
Fix C++03 compiling due to C++11 initialization issues in backport

5 years agoBuiltin auth handler: Speed up file writing (#7252)
SmallJoker [Thu, 19 Apr 2018 16:36:10 +0000 (18:36 +0200)]
Builtin auth handler: Speed up file writing (#7252)

5 years agoCavegen: Fix variable typo that broke mgvalleys large cave distribution (#7249)
Paramat [Tue, 17 Apr 2018 21:25:59 +0000 (22:25 +0100)]
Cavegen: Fix variable typo that broke mgvalleys large cave distribution (#7249)

Fix elusive 5 year old bug that caused mgvalleys large caves to be flat and
limited to mapchunk borders.
Error was fixed 2 years ago in 'CavesV6' but not in 'CavesRandomWalk'.

5 years agoFix segfault caused by wrong wgettext()
sfan5 [Mon, 9 Apr 2018 14:25:57 +0000 (16:25 +0200)]
Fix segfault caused by wrong wgettext()

5 years agoFix for translating empty strings
minduser00 [Tue, 27 Mar 2018 11:49:47 +0000 (11:49 +0000)]
Fix for translating empty strings

Fix for incorrect translation of empty strings

In the key change menu, when a button key not have name an empty string is passed to gettext.
The empty string is reserved for gettext to return de header of the .po file an this is shoved in the button

5 years agoupright_sprite: Fix texture position for players Fixes #6471
SmallJoker [Mon, 9 Apr 2018 12:58:35 +0000 (14:58 +0200)]
upright_sprite: Fix texture position for players Fixes #6471

5 years agoHuge LBM lookup performance improvement on mapblock loading (#7195)
Loïc Blot [Wed, 4 Apr 2018 08:56:46 +0000 (10:56 +0200)]
Huge LBM lookup performance improvement on mapblock loading (#7195)

* Huge LBM lookup performance improvement on mapblock loading

5 years agocore.rotate_node: Do not trigger after_place_node (#6900)
SmallJoker [Thu, 29 Mar 2018 19:44:13 +0000 (21:44 +0200)]
core.rotate_node: Do not trigger after_place_node (#6900)

5 years agomacOS: don't require X11 libraries during compilation (#7149)
D Tim Cummings [Mon, 26 Mar 2018 15:43:59 +0000 (01:43 +1000)]
macOS: don't require X11 libraries during compilation (#7149)

The xxf86vm needs to be removed from Apple builds to avoid CMake Error XXF86VM_LIBRARY is NOTFOUND

5 years agoMinetest ASCII art: Move from actionstream to rawstream
paramat [Sat, 17 Mar 2018 22:05:21 +0000 (22:05 +0000)]
Minetest ASCII art: Move from actionstream to rawstream

5 years agoGenerate Notifier: Clear events once after all 'on generated' functions
paramat [Fri, 2 Mar 2018 13:39:39 +0000 (13:39 +0000)]
Generate Notifier: Clear events once after all 'on generated' functions

5 years agoFix liquid post effect colour behaviour in third person view
red-001 [Sun, 25 Feb 2018 22:52:05 +0000 (22:52 +0000)]
Fix liquid post effect colour behaviour in third person view

5 years agoCollisionMoveSimple: Collide with 'ignore' nodes
paramat [Sat, 24 Feb 2018 15:57:34 +0000 (15:57 +0000)]
CollisionMoveSimple: Collide with 'ignore' nodes

5 years agoSAO limits: Allow SAOs to exist outside the set 'mapgen limit'
paramat [Tue, 20 Feb 2018 19:32:24 +0000 (19:32 +0000)]
SAO limits: Allow SAOs to exist outside the set 'mapgen limit'

5 years agoFind nodes in area (under air): Raise volume limit and document it
paramat [Wed, 21 Feb 2018 14:34:06 +0000 (14:34 +0000)]
Find nodes in area (under air): Raise volume limit and document it

5 years agoDelete world dialog: Move buttons to avoid double click deletion
Muhammad Rifqi Priyo Susanto [Fri, 29 Sep 2017 17:50:42 +0000 (00:50 +0700)]
Delete world dialog: Move buttons to avoid double click deletion

Move confirmation delete button to never overlap initial delete button,
to avoid world deletion by accidental double click.

5 years ago/shutdown can't do countdown when using reconnect and/or shutdown message (#7055)
dopik [Mon, 19 Feb 2018 07:41:44 +0000 (08:41 +0100)]
/shutdown can't do countdown when using reconnect and/or shutdown message (#7055)

Delay was converted from the param string and not the delay value, thus never using the actual given delay value when used in combination with other string values in the param, in this case reconnect and the shutdown messsage.

5 years agoCheck argument types inside MetaDataRef Lua API (#7045)
sfan5 [Sun, 18 Feb 2018 09:40:45 +0000 (10:40 +0100)]
Check argument types inside MetaDataRef Lua API (#7045)

5 years agoFix "Ignoring CONTENT_IGNORE redefinition" warning (#4393)
you [Sun, 18 Feb 2018 09:40:14 +0000 (10:40 +0100)]
Fix "Ignoring CONTENT_IGNORE redefinition" warning (#4393)

minetest.override_item still passes to core

5 years agoItem entity: Delete in 'ignore' nodes
paramat [Sat, 10 Feb 2018 04:55:40 +0000 (04:55 +0000)]
Item entity: Delete in 'ignore' nodes

5 years agoFalling.lua: Delete falling node entities on contact with 'ignore'
paramat [Tue, 6 Feb 2018 00:55:35 +0000 (00:55 +0000)]
Falling.lua: Delete falling node entities on contact with 'ignore'

Prevents falling node entities entering the ignore at a world edge and
resting on unloaded nodes 16 nodes below, unreachable, undiggable and
still being processed by 'on step' because they don't revert to nodes.

5 years agoAllow dumping userdata (#7012)
you [Thu, 8 Feb 2018 18:17:06 +0000 (19:17 +0100)]
Allow dumping userdata (#7012)

5 years agoMove `setlocale` from Lua to C++.
red-001 [Sun, 21 Jan 2018 12:28:47 +0000 (12:28 +0000)]
Move `setlocale` from Lua to C++.

5 years agoAdd minetest.is_player (#7013)
you [Mon, 5 Feb 2018 14:17:10 +0000 (15:17 +0100)]
Add minetest.is_player (#7013)

* Add minetest.is_player

* First use for is_player

5 years ago"static constexpr v3s16 light_dirs[8]" fails to compile, sync it with master! (#7261)
mazocomp [Sat, 21 Apr 2018 11:07:25 +0000 (14:07 +0300)]
"static constexpr v3s16 light_dirs[8]" fails to compile, sync it with master! (#7261)

5 years agoFix C++11 feature detection for undefined _MSC_VER (#7255)
mazocomp [Fri, 20 Apr 2018 17:55:23 +0000 (20:55 +0300)]
Fix C++11 feature detection for undefined _MSC_VER (#7255)

5 years agoRefine movement anticheat again (#7004)
sfan5 [Fri, 2 Feb 2018 22:34:09 +0000 (23:34 +0100)]
Refine movement anticheat again (#7004)

* Account for walking speed in vertical dir
* Avoid undefined behaviour due to division-by-zero

5 years agoApply physics overrides correctly during anticheat calculations (#6970)
sfan5 [Sun, 28 Jan 2018 09:21:21 +0000 (10:21 +0100)]
Apply physics overrides correctly during anticheat calculations (#6970)

5 years agoFix off-by-one in log output line length (#6896)
Pedro Gimeno [Tue, 9 Jan 2018 18:07:14 +0000 (19:07 +0100)]
Fix off-by-one in log output line length (#6896)

5 years agoFix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice()
Pedro Gimeno [Mon, 8 Jan 2018 20:32:15 +0000 (21:32 +0100)]
Fix buffer parameter not working in LuaPerlinNoiseMap::l_getMapSlice()

5 years agoFix Wstringop-overflow warning from util/srp.cpp (#6855)
you [Thu, 4 Jan 2018 13:25:20 +0000 (14:25 +0100)]
Fix Wstringop-overflow warning from util/srp.cpp (#6855)

* Fix Wstringop-overflow warning from util/srp.cpp

5 years agoFix rounding error in g/set_node caused by truncation to float
rubenwardy [Fri, 22 Dec 2017 10:00:57 +0000 (10:00 +0000)]
Fix rounding error in g/set_node caused by truncation to float

5 years agoFix dancing text
number Zero [Sun, 24 Dec 2017 21:54:43 +0000 (00:54 +0300)]
Fix dancing text

5 years agoFix undefined behaviour on getting pointer to data in empty vector
nOOb3167 [Fri, 22 Dec 2017 10:33:46 +0000 (11:33 +0100)]
Fix undefined behaviour on getting pointer to data in empty vector

`&vector[0]` is undefined if vector.empty(), causing build failure on MSVC

5 years agoFix wrong scrolling (#6809)
Vitaliy [Thu, 21 Dec 2017 19:58:06 +0000 (22:58 +0300)]
Fix wrong scrolling (#6809)

5 years agoBuiltin: Fix handle_node_drops crash with nil digger
SmallJoker [Tue, 12 Dec 2017 18:19:04 +0000 (19:19 +0100)]
Builtin: Fix handle_node_drops crash with nil digger

5 years agoDamage: Remove damage ignore timer
SmallJoker [Sun, 13 Aug 2017 07:49:29 +0000 (09:49 +0200)]
Damage: Remove damage ignore timer

5 years agoEnsure no item stack is being held before crafting (#4779)
Luis Cáceres [Wed, 6 Dec 2017 16:32:05 +0000 (16:32 +0000)]
Ensure no item stack is being held before crafting (#4779)

5 years agoShut down mapgen threads before other shutdown tasks (#6689)
raymoo [Sun, 3 Dec 2017 09:28:35 +0000 (01:28 -0800)]
Shut down mapgen threads before other shutdown tasks (#6689)

Solves some issues with ModStorage functionality in mapgen threads
that occurred when mapgen threads continued to run after the main
server thread had stopped. Also shuts down mapgen threads before
shutdown callbacks are called.

5 years agoUpdate documentation regarding authentication handler and related functions
sfan5 [Mon, 27 Nov 2017 17:00:30 +0000 (18:00 +0100)]
Update documentation regarding authentication handler and related functions

Properly document it instead of referencing the builtin handler as
authoritative "example" code.
Also adds definition of get_auth_handler() which was missing previously.

5 years agoHint at problematic code when logging deprecated calls
sfan5 [Thu, 23 Nov 2017 22:35:52 +0000 (23:35 +0100)]
Hint at problematic code when logging deprecated calls

5 years agoImprove documentation for player:set_attribute()
Ezhh [Sat, 25 Nov 2017 23:18:50 +0000 (23:18 +0000)]
Improve documentation for player:set_attribute()

5 years agoInventory: Restrict access from too far away
SmallJoker [Wed, 22 Nov 2017 18:25:26 +0000 (19:25 +0100)]
Inventory: Restrict access from too far away

5 years agocore.rotate_node: Run callbacks like with any regular placed node (#6648)
SmallJoker [Tue, 21 Nov 2017 19:21:52 +0000 (20:21 +0100)]
core.rotate_node: Run callbacks like with any regular placed node (#6648)

5 years agoBiome dust node: Only place on 'walkable' cubic non-liquid drawtypes
paramat [Wed, 15 Nov 2017 23:52:31 +0000 (23:52 +0000)]
Biome dust node: Only place on 'walkable' cubic non-liquid drawtypes

No longer decide placement on 'buildable_to' parameter.
Dust nodes only look acceptable placed on cubic nodes.
Modders may not want to make their plantlike decorations 'buildable_to'.

5 years agoImprove Settings tab button alignments
ezhh [Mon, 13 Nov 2017 01:42:57 +0000 (01:42 +0000)]
Improve Settings tab button alignments

5 years agoLua_api.txt: Add documentation of required mapgen aliases
paramat [Sun, 12 Nov 2017 19:10:08 +0000 (19:10 +0000)]
Lua_api.txt: Add documentation of required mapgen aliases

5 years agoRemove incorrect entry from settingtypes
Ezhh [Sun, 12 Nov 2017 00:45:22 +0000 (00:45 +0000)]
Remove incorrect entry from settingtypes

5 years agoMake use of safe file writing in auth handler (fixes #6576)
sfan5 [Tue, 7 Nov 2017 10:47:28 +0000 (11:47 +0100)]
Make use of safe file writing in auth handler (fixes #6576)

5 years agoAdd minetest.safe_write_file() to script API
sfan5 [Tue, 7 Nov 2017 10:46:06 +0000 (11:46 +0100)]
Add minetest.safe_write_file() to script API

5 years agoFix issue Minetest crash when custom font path is not exist
Muhammad Rifqi Priyo Susanto [Sat, 3 Jun 2017 02:51:48 +0000 (09:51 +0700)]
Fix issue Minetest crash when custom font path is not exist

We try to use default fallback for both mono and main font when custom font path is not exist. This way, if Minetest is not corrupted, we could avoid crash.

5 years agoFix Settings tab formspec alignment (#6585)
Ezhh [Sun, 5 Nov 2017 10:15:32 +0000 (10:15 +0000)]
Fix Settings tab formspec alignment (#6585)

5 years agoDo not scale texture unless necessary.
Lars Hofhansl [Sun, 5 Nov 2017 01:05:47 +0000 (18:05 -0700)]
Do not scale texture unless necessary.

This avoids scaling textures to 'texture_min_size' unless it is actually
required (because either auto-scaling or bi/trilinear filtering is enabled)

5 years agohttpfetch: Enable gzip support
sfan5 [Sat, 4 Nov 2017 21:19:27 +0000 (22:19 +0100)]
httpfetch: Enable gzip support

5 years agoAdd sha1 to lua utils. (#6563)
Rob Blanckaert [Mon, 30 Oct 2017 07:18:18 +0000 (00:18 -0700)]
Add sha1 to lua utils. (#6563)

5 years agoFix day_night_ratio_do_override not being initialised server-side
rubenwardy [Sun, 29 Oct 2017 18:31:50 +0000 (18:31 +0000)]
Fix day_night_ratio_do_override not being initialised server-side

Causes get_day_night_ratio() to return unpredictable results.

5 years agoAvoid filtering low-res textures for animated meshes (incl. players) (#6562)
lhofhansl [Sat, 28 Oct 2017 08:33:47 +0000 (01:33 -0700)]
Avoid filtering low-res textures for animated meshes (incl. players) (#6562)

5 years agoFix default item callbacks to work with nil users (#5819)
raymoo [Sat, 28 Oct 2017 08:30:50 +0000 (01:30 -0700)]
Fix default item callbacks to work with nil users (#5819)

* Fix default item callbacks to work with nil users

* item.lua: Handle node drops for invalid players

The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used.
Remove redundant `local _, dropped_item`

5 years agoCorrect `prot_vers` in lua_api.txt.
Auke Kok [Fri, 20 Oct 2017 04:39:45 +0000 (21:39 -0700)]
Correct `prot_vers` in lua_api.txt.

We should avoid providing incorrect struct members in documentation
since people will be coding based on them.

5 years agoDon't try to craft a non-existent item
Esteban I. RM [Sun, 15 Oct 2017 05:52:05 +0000 (02:52 -0300)]
Don't try to craft a non-existent item

5 years agoProfiler: Fix var args not being passed to callback register function
rubenwardy [Sat, 14 Oct 2017 17:28:56 +0000 (18:28 +0100)]
Profiler: Fix var args not being passed to callback register function

Fixes #6517

5 years agoThread: fix a crash on Windows due to data race condition on Thread::m_start_finished...
Loïc Blot [Tue, 10 Oct 2017 10:27:08 +0000 (12:27 +0200)]
Thread: fix a crash on Windows due to data race condition on Thread::m_start_finished_mutex (#6515)

5 years agoNetworkPacket::putRawPacket: resize m_data to datasize + memcpy
Loic Blot [Mon, 9 Oct 2017 22:47:37 +0000 (00:47 +0200)]
NetworkPacket::putRawPacket: resize m_data to datasize + memcpy

In some cases NetworkPacket was created using default constructor and m_data is not properly sized.
This fixed out of bounds memory copy
Also use memcpy instead of std::vector affectation to enhance packet creation

5 years agoReplace deprecated WINAPI GetVersionInfoEx (#6496)
adrido [Sat, 7 Oct 2017 13:13:13 +0000 (15:13 +0200)]
Replace deprecated WINAPI GetVersionInfoEx (#6496)

* Replace deprecated WINAPI GetVersionInfoEx

5 years agoAdd setting for near plane distance. (#6395)
Rob Blanckaert [Sat, 7 Oct 2017 13:11:48 +0000 (09:11 -0400)]
Add setting for near plane distance. (#6395)

* Allow setting the near plane

* - Add near_plane limit of 0.5 to prevent x-ray.
- Add more details to near_plane setting.

5 years agoUnkown nodes: Provide position on interact (#6505)
SmallJoker [Sat, 7 Oct 2017 13:11:07 +0000 (15:11 +0200)]
Unkown nodes: Provide position on interact (#6505)

* Unkown nodes: Provide position on interact

5 years agoParticleSpawner::step cleanup and rotation fix (#6486)
SmallJoker [Mon, 2 Oct 2017 18:40:59 +0000 (20:40 +0200)]
ParticleSpawner::step cleanup and rotation fix (#6486)

* Particles: Move spawner code to a separate fucntion

5 years agoCAO footstep sounds: Reduce gain to balance volume
paramat [Tue, 19 Sep 2017 15:39:30 +0000 (16:39 +0100)]
CAO footstep sounds: Reduce gain to balance volume

5 years agoFix attached particle spawners far from spawn (#6479)
raymoo [Sat, 30 Sep 2017 13:23:52 +0000 (06:23 -0700)]
Fix attached particle spawners far from spawn (#6479)

* Fix attached particle spawners far from spawn

When far from spawn, attached particle spawners
did not spawn particles.

5 years agoLocalplayer: Fix disable_jump effect and getStandingNodePos()
SmallJoker [Sat, 23 Sep 2017 14:29:48 +0000 (16:29 +0200)]
Localplayer: Fix disable_jump effect and getStandingNodePos()

Leave the old move code untouched.

5 years agoDocument orientation parameter of set_attach (#6473)
raymoo [Thu, 28 Sep 2017 16:40:47 +0000 (09:40 -0700)]
Document orientation parameter of set_attach (#6473)

5 years agoFix recent commit: std::max -> std::fmax for floats (#6469)
Paramat [Wed, 27 Sep 2017 21:03:41 +0000 (22:03 +0100)]
Fix recent commit: std::max -> std::fmax for floats (#6469)

Fixes commit a455297d297c0819a7eff89e51e5f01a5ac731c3
<cmath> header was already present in commit.

5 years agoPositional sound: Limit volume when closer than 1 node
paramat [Sat, 23 Sep 2017 07:38:22 +0000 (08:38 +0100)]
Positional sound: Limit volume when closer than 1 node

Change OpenAL distance model from AL_INVERSE_DISTANCE to
AL_INVERSE_DISTANCE_CLAMPED to avoid excessive volume when very close
to the sound location, for example MTG doors, and MTG fire sounds which
are combined at an average position and often located in air nodes.

Because AL_REFERENCE_DISTANCE has been reduced to 1 node (the distance
under which gain is clamped), multiply volume by the same factor to keep
sound gains the same as before, since the gain is calculated as:

gain = (AL_REFERENCE_DISTANCE / distance)

5 years agoFix blocks written by vmanip not being marked as modified
sfan5 [Sat, 23 Sep 2017 15:05:55 +0000 (17:05 +0200)]
Fix blocks written by vmanip not being marked as modified

This bug can be triggered by e.g. calling minetest.place_schematic()
and stopping the server immediately afterwards.

5 years agoSet placer to nil instead of a non-functional one in item_OnPlace (#6449)
DTA7 [Thu, 21 Sep 2017 19:52:52 +0000 (21:52 +0200)]
Set placer to nil instead of a non-functional one in item_OnPlace (#6449)

* Set placer to nil instead of a non-functional one

This requires nil checks in core.rotate_node and core.rotate_and_place.

5 years agoLeveled nodebox: Change levels from 1/63rds to 1/64ths
paramat [Mon, 18 Sep 2017 04:08:56 +0000 (05:08 +0100)]
Leveled nodebox: Change levels from 1/63rds to 1/64ths

Add missing documentation of leveled nodebox to lua_api.txt, plus
a little cleaning up nearby.

5 years agoFix Rotate Node Placement (#6424)
tenplus1 [Sat, 16 Sep 2017 20:39:38 +0000 (21:39 +0100)]
Fix Rotate Node Placement (#6424)

This properly checks for creative mode or privilege when using fixed rotate_node() function.

5 years agoServerEnv: Clean up object lifecycle handling (#6414)
sfan5 [Fri, 15 Sep 2017 10:19:01 +0000 (12:19 +0200)]
ServerEnv: Clean up object lifecycle handling (#6414)

* ServerEnv: Clean up object lifecycle handling

5 years agoFix core.wrap_text and make its behaviour consistent with the docs
sfan5 [Mon, 11 Sep 2017 14:25:20 +0000 (16:25 +0200)]
Fix core.wrap_text and make its behaviour consistent with the docs

Code based on initial implementation by @dsohler.

5 years agoFix empty legacy meta being persisted
rubenwardy [Sat, 19 Aug 2017 18:43:02 +0000 (19:43 +0100)]
Fix empty legacy meta being persisted

5 years agoStatbars: fix incorrect half-images in non-standard orientations (fixes #6198)
Nathanaël Courant [Sun, 27 Aug 2017 17:06:40 +0000 (19:06 +0200)]
Statbars: fix incorrect half-images in non-standard orientations (fixes #6198)

5 years agoAndroid stepheight: Only increase if 'touching ground' (#6313)
Paramat [Sat, 26 Aug 2017 06:45:09 +0000 (07:45 +0100)]
Android stepheight: Only increase if 'touching ground' (#6313)

5 years agoFix Android node selection distance (#6187)
Dániel Juhász [Thu, 24 Aug 2017 06:31:33 +0000 (06:31 +0000)]
Fix Android node selection distance (#6187)

5 years agoserialize: use a temporary for SerializeException Exception must always use temporary...
Loïc Blot [Mon, 21 Aug 2017 14:07:39 +0000 (16:07 +0200)]
serialize: use a temporary for SerializeException Exception must always use temporary instead of global copied exception instances, it's not recommended and should have undefined issues

5 years agoTypo fix in compat code from commit 1d8d01074fdb52946f81110bebf1d001185b394b
Loic Blot [Thu, 17 Aug 2017 17:15:12 +0000 (19:15 +0200)]
Typo fix in compat code from commit 1d8d01074fdb52946f81110bebf1d001185b394b

5 years agoClientInterface: add a function to verify (correctly) if user limit was reached ...
Loïc Blot [Wed, 16 Aug 2017 21:48:29 +0000 (23:48 +0200)]
ClientInterface: add a function to verify (correctly) if user limit was reached (#6258)

* ClientInterface: add a function to verify (correctly) if user limit was reached

CS_HelloSent is a better indicator of active slots than CS_Created, which are session objects created after init packet reception

Switch existing checks to ClientInterface::isUserLimitReached()

Use range-based for loop for getClientIds() used function too

This will fix #6254 (not the memory overhead if init is flooded)

5 years agoMake dropped items colorable
Dániel Juhász [Sat, 24 Jun 2017 16:58:01 +0000 (18:58 +0200)]
Make dropped items colorable

5 years agoTrigger on_rightclick regardless on the formspec meta field
SmallJoker [Thu, 10 Aug 2017 07:41:56 +0000 (09:41 +0200)]
Trigger on_rightclick regardless on the formspec meta field

Document behaviour for older clients.

5 years agoFull viewing range key message clarified
Fixer [Wed, 9 Aug 2017 10:50:16 +0000 (13:50 +0300)]
Full viewing range key message clarified

To make it sound less confusing to players

5 years agoAdd tiny Y offset in collisionMoveSimple() to tweak performance
Jens Rottmann [Fri, 4 Aug 2017 23:42:39 +0000 (01:42 +0200)]
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.

5 years agoFix player coordinate rounding in collisionMoveSimple() (#6197)
Jens Rottmann [Fri, 4 Aug 2017 19:48:32 +0000 (21:48 +0200)]
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.