oweals/minetest.git
7 years agoFix superflous shader setting updates (#4800)
ShadowNinja [Tue, 22 Nov 2016 14:05:39 +0000 (09:05 -0500)]
Fix superflous shader setting updates (#4800)

This improves rendering performance by ~40%

7 years agoTool break: Reduce gain of break sounds
paramat [Sat, 19 Nov 2016 22:58:11 +0000 (22:58 +0000)]
Tool break: Reduce gain of break sounds

7 years agoParticles: Make attached particle spawners respect the parent's yaw
orwell96 [Mon, 24 Oct 2016 17:56:27 +0000 (19:56 +0200)]
Particles: Make attached particle spawners respect the parent's yaw

Position, velocity and acceleration vectors of particles are rotated
by the yaw of the parent object so that they are truly relative to it.
Clarify new attached particle spawner behavior in lua_api.txt.

7 years agoBuiltin/../item: Enable tool breaking sounds
Auke Kok [Sat, 23 Jan 2016 05:52:50 +0000 (21:52 -0800)]
Builtin/../item: Enable tool breaking sounds

If a tool wears out and is destroyed, it's itemstack count
goes to 0, and we can optionally play a breaking sound.

This patch implements playing a breaking sound when this
occurs. Sounds need to be added to the tool itemdef
registration as the sound name string in the .sound.breaks
member.

7 years agoIntroduce builtin_shared and use it to fix #4778
est31 [Wed, 16 Nov 2016 09:17:46 +0000 (10:17 +0100)]
Introduce builtin_shared and use it to fix #4778

Fixes #4778 which was about the error:

ServerError: Lua: Runtime error from mod '' in callback item_OnPlace():
/usr/local/share/minetest/builtin/game/item.lua:278: attempt to call global 'check_attached_node' (a nil value)

The issue was a regression of commit 649448a2a91fbf3e944b2f2e739f4e2292af1df0

"Rename nodeupdate and nodeupdate_single and make them part of the official API"

7 years agoFix unexplained shader issue (glsl compiler bug??) (#4757)
Rogier-5 [Wed, 16 Nov 2016 16:56:05 +0000 (17:56 +0100)]
Fix unexplained shader issue (glsl compiler bug??) (#4757)

7 years agoLua_api.txt: Naming convention for custom item/entity fields
Wuzzy [Sat, 12 Nov 2016 16:49:41 +0000 (17:49 +0100)]
Lua_api.txt: Naming convention for custom item/entity fields

Custom (non-engine) field names of items and entities are allowed.
This is now documented in lua_api.txt. Field names beginning with
an underscore are now reserved for mod use, the engine must not
introduce any fields beginning with an underscore.

7 years agoMgv7: Add optional floatlands, disabled by default
paramat [Fri, 16 Sep 2016 03:59:25 +0000 (04:59 +0100)]
Mgv7: Add optional floatlands, disabled by default

7 years agoRevert "Adding particle blend, glow and animation (#4705)"
sfan5 [Mon, 14 Nov 2016 14:28:06 +0000 (15:28 +0100)]
Revert "Adding particle blend, glow and animation (#4705)"

This reverts commit 93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.

7 years agoAdding particle blend, glow and animation (#4705)
Foghrye4 [Mon, 14 Nov 2016 14:09:59 +0000 (18:09 +0400)]
Adding particle blend, glow and animation (#4705)

7 years agoRename nodeupdate and nodeupdate_single and make them part of the official API
est31 [Sat, 12 Nov 2016 09:55:26 +0000 (10:55 +0100)]
Rename nodeupdate and nodeupdate_single and make them part of the official API

Now, the renamed forms of nodeupdate and nodeupdate_single are part of the official API.

As nodeupdate has been used by Minetest Game and in mods despite of not
being part of the official API, we ease the transition by still supporting
it for the 0.4.15 release. After the release, the two functions can be removed.

The removal will not violate the stability promise, as that promise only
includes the official and documented API.

Also, make some formerly global functions local. They most likely haven't
been used by mods, therefore they won't get stubs with deprecation warnings,
hard erroring directly.

7 years agoInstall texture_packs.txt to DOCDIR
Yutao Yuan [Sun, 9 Oct 2016 12:46:18 +0000 (20:46 +0800)]
Install texture_packs.txt to DOCDIR

7 years agoFix crash when attached object no longer exists
Rogier [Sun, 6 Nov 2016 15:18:29 +0000 (16:18 +0100)]
Fix crash when attached object no longer exists

Active objects that are attached to other objects are not safe
from deletion. As a result, the parent object may have a reference
to an id of a child's that no longer exists.

If at some point an attempt is made to manipulate the child,
enviromment->getActiveObject(child-id) returns NULL. Using the
NULL pointer causes the crash...

7 years agoAdd control information to player interacts (#4685)
raymoo [Sat, 12 Nov 2016 07:22:39 +0000 (23:22 -0800)]
Add control information to player interacts (#4685)

7 years agoNodeupdate: Remove documentation in lua_api.txt
paramat [Tue, 8 Nov 2016 18:12:24 +0000 (18:12 +0000)]
Nodeupdate: Remove documentation in lua_api.txt

In preparation for nodeupdate being renamed and made official API
in future.

7 years agoHalo: Highlight selected face
RealBadAngel [Sun, 21 Feb 2016 05:50:41 +0000 (06:50 +0100)]
Halo: Highlight selected face

This is a slightly modified and cleaned up version of #3774 by RealBadAngel.
By sofar: Remove color change (just make it lighter) and some minor cleanups.

7 years agoFixed tooltips not resizing with \n (#4766)
lisacvuk [Fri, 11 Nov 2016 11:16:34 +0000 (12:16 +0100)]
Fixed tooltips not resizing with \n (#4766)

* Fixed tooltips not resizing with \n

* Fixed it for 1.8.4 too.

* Fixed not working with Freetype disabled.

* Modified it to use Zeno-'s solution.

7 years agoFix incorrect distance computation for visible blocks (#4765)
Rogier-5 [Fri, 11 Nov 2016 08:30:37 +0000 (09:30 +0100)]
Fix incorrect distance computation for visible blocks (#4765)

The client would not compute the distance from the camera to
to a mapblock correctly. The result was that blocks that were in
view (i.e. not beyond the fog limit) would not be rendered.

With the improved distance computation, a range adjustment that
existed in clientiface.cpp is no longer required.

7 years agoFix mob deserialization errors in the client (#4743)
Rogier-5 [Thu, 10 Nov 2016 12:42:49 +0000 (13:42 +0100)]
Fix mob deserialization errors in the client (#4743)

The problem was seen while using the mobf mod package.

The problem happens when the server serializes entity attachments.
Sometimes, such attachments no longer exist. The serialization code
skips those. However, the total number of attachments was serialized
earlier.  Therefore the client expects more than it gets, and logs a
serialization error.

7 years agoOcclusion culling: Add comments, minor code improvements
paramat [Tue, 8 Nov 2016 16:07:56 +0000 (16:07 +0000)]
Occlusion culling: Add comments, minor code improvements

Remove unnecessary code.
Use '/ 2.0f' because endoff is a float.

7 years agoConf.example: Document block_send_optimize_distance
Lars Hofhansl [Tue, 8 Nov 2016 04:44:40 +0000 (20:44 -0800)]
Conf.example: Document block_send_optimize_distance

Add missing documentation.

7 years agoSky: Draw bottom of the sky box in 'cloudy fog color'
Lars Hofhansl [Mon, 7 Nov 2016 06:01:21 +0000 (22:01 -0800)]
Sky: Draw bottom of the sky box in 'cloudy fog color'

To be identical to the lower half of the skybox sides.
Now needed as the skybox base is often seen due to increasingly vertical
mapgens.

7 years agoRetrieve mapblocks from the server in a sphere, not a cube
Lars Hofhansl [Fri, 4 Nov 2016 07:14:07 +0000 (00:14 -0700)]
Retrieve mapblocks from the server in a sphere, not a cube

Use unused range argument in 'isBlockInSight()' to limit mapblock sends
to a sphere of radius 'max block send distance'.

7 years agoOcclusion culling: Fix 'end offset' distance, half this for centre point
Lars Hofhansl [Fri, 4 Nov 2016 07:13:17 +0000 (00:13 -0700)]
Occlusion culling: Fix 'end offset' distance, half this for centre point

'endoff', the maximum diagonal of a mapblock, was incorrectly calculated.
Half this value for the centre point of the mapblock.

7 years agoDon't use reduced vertical limits for mapblock send and generation
Lars Hofhansl [Mon, 7 Nov 2016 05:30:49 +0000 (21:30 -0800)]
Don't use reduced vertical limits for mapblock send and generation

7 years agoBuiltin/../falling: Fix bugs caused by 'ignore' nodes
paramat [Sun, 6 Nov 2016 09:10:05 +0000 (09:10 +0000)]
Builtin/../falling: Fix bugs caused by 'ignore' nodes

Original commit by t4im, rebased and developed by paramat.
Fix CONTENT_IGNORE being replaced by falling nodes or causing large
areas of sand to collapse into itself.
Format some conditional code for clarity.
Add and clarify some comments.

7 years agoPrivileges: Only give singleplayer 4 basic privs
Wuzzy [Sat, 5 Nov 2016 23:37:20 +0000 (00:37 +0100)]
Privileges: Only give singleplayer 4 basic privs

- interact
- shout
- privs
- basic_privs

7 years agoWindows: Add manifest file and set "High DPI Aware" true
adrido [Sat, 29 Oct 2016 16:01:37 +0000 (18:01 +0200)]
Windows: Add manifest file and set "High DPI Aware" true

This resolves washy font and incorrect mouse handling on Windows if
a screen with high DPI is used.

7 years agoMSVC: Generate debug information for release builds (#4674)
SmallJoker [Sun, 6 Nov 2016 16:14:36 +0000 (17:14 +0100)]
MSVC: Generate debug information for release builds (#4674)

Replace parameters with the equivalent /Ox

7 years agoSeparate optional from required mod dependencies in main menu (#4721)
Wuzzy [Sat, 5 Nov 2016 17:42:14 +0000 (18:42 +0100)]
Separate optional from required mod dependencies in main menu (#4721)

* Separate optional from require dep's in main menu

* Simplify modmgr mod dependency listing code

7 years agoPlayerSAO saving fix (#4734)
Ner'zhul [Sat, 5 Nov 2016 09:25:30 +0000 (10:25 +0100)]
PlayerSAO saving fix (#4734)

PlayerSAO::disconnected() function was historical and remove the link between SAO and RemotePlayer session. With previous attributes linked to RemotePlayer saving was working. But now attributes are read from SAO not RemotePlayer and the current serialize function verify SAO exists to save the player attributes.

Because PlayerSAO::disconnected marks playersao for removal, only mark playerSAO for removal and let PlayerSAO::removingFromEnvironment do the correct saving behaviour and all the disconnection process instead of doing a partial removal and let the server loop doing the RemotePlayer cleanup and remove some saved attributes...

7 years agoFix memory leak in ::safeLoadFile (#4730)
Zeno- [Sat, 5 Nov 2016 05:10:49 +0000 (15:10 +1000)]
Fix memory leak in ::safeLoadFile (#4730)

7 years agoRemove unused shader matrices. (#4723)
lhofhansl [Fri, 4 Nov 2016 17:12:45 +0000 (10:12 -0700)]
Remove unused shader matrices. (#4723)

7 years agoCycle directly to nothing shown instead of showing the profiler graph again
lhofhansl [Fri, 4 Nov 2016 04:06:32 +0000 (05:06 +0100)]
Cycle directly to nothing shown instead of showing the profiler graph again

Fix for previous commit.

7 years agoAdd debug priv, and allow player to display the scene as wire-frame. (#4709)
lhofhansl [Fri, 4 Nov 2016 02:14:32 +0000 (19:14 -0700)]
Add debug priv, and allow player to display the scene as wire-frame. (#4709)

7 years agoAdd minetest.get_server_uptime() function to Lua API (#4702)
Brandon [Wed, 2 Nov 2016 16:36:58 +0000 (11:36 -0500)]
Add minetest.get_server_uptime() function to Lua API (#4702)

Add minetest.get_server_uptime() function to Lua API

7 years agoAdd version API
ShadowNinja [Wed, 7 May 2014 02:31:35 +0000 (22:31 -0400)]
Add version API

7 years agoLua voxelmanip: Add optional buffer param for 'get param2 data'
paramat [Sat, 29 Oct 2016 14:22:18 +0000 (15:22 +0100)]
Lua voxelmanip: Add optional buffer param for 'get param2 data'

Update lua_api.txt.

7 years agoCore.rotate_and_place: Remove unused call to get_look_pitch()
Auke Kok [Thu, 27 Oct 2016 20:59:32 +0000 (13:59 -0700)]
Core.rotate_and_place: Remove unused call to get_look_pitch()

7 years agoOptionally disable optimization that causes underwater and cave rendering glitches...
lhofhansl [Mon, 31 Oct 2016 03:35:55 +0000 (20:35 -0700)]
Optionally disable optimization that causes underwater and cave rendering glitches. (#4686)

7 years agoFix overloading problems mentioned by clang
Loic Blot [Sun, 30 Oct 2016 15:12:09 +0000 (16:12 +0100)]
Fix overloading problems mentioned by clang

7 years agoPlayerSAO/LocalPlayer refactor: (#4612)
Ner'zhul [Sun, 30 Oct 2016 13:53:26 +0000 (14:53 +0100)]
PlayerSAO/LocalPlayer refactor: (#4612)

* Create UnitSAO, a common part between PlayerSAO & LuaEntitySAO
* Move breath to PlayerSAO & LocalPlayer
* Migrate m_yaw from (Remote)Player & LuaEntitySAO to UnitSAO
* Migrate m_yaw from Player to LocalPlayer for client
* Move some functions outside of player class to PlayerSAO/RemotePlayer or LocalPlayer depending on which class needs it
* Move pitch to LocalPlayer & PlayerSAO
* Move m_position from Player to LocalPlayer
* Move camera_barely_in_ceiling to LocalPlayer as it's used only there
* use PlayerSAO::m_base_position for Server side positions
* remove a unused variable
* ServerActiveObject::setPos now uses const ref
* use ServerEnv::loadPlayer unconditionnaly as it creates RemotePlayer only if it's not already loaded
* Move hp from Player to LocalPlayer
* Move m_hp from LuaEntitySAO to UnitSAO
* Use m_hp from PlayerSAO/UnitSAO instead of RemotePlayer

7 years agoRename testsounds/ directory to sounds/ (#1984)
Hugo Locurcio [Sun, 30 Oct 2016 04:36:57 +0000 (05:36 +0100)]
Rename testsounds/ directory to sounds/ (#1984)

7 years agoAdd missing keyname_to_keycode function (needed on Android)
sfan5 [Fri, 28 Oct 2016 13:50:23 +0000 (15:50 +0200)]
Add missing keyname_to_keycode function (needed on Android)

When rewriting keycode.cpp I overlooked this function, fixes #4683 completely

7 years agoAdd missing remoteplayer.cpp to Android build
Ner'zhul [Fri, 28 Oct 2016 13:37:19 +0000 (15:37 +0200)]
Add missing remoteplayer.cpp to Android build

this should fix #4683

7 years agoAdd unittests to test player saving/loading (#4679) 4687/head
Ner'zhul [Thu, 27 Oct 2016 07:45:01 +0000 (09:45 +0200)]
Add unittests to test player saving/loading (#4679)

7 years agoCleanup
Dániel Juhász [Tue, 25 Oct 2016 21:04:10 +0000 (23:04 +0200)]
Cleanup

7 years agoUse node lighting for liquid spreading
Dániel Juhász [Sun, 23 Oct 2016 15:51:13 +0000 (17:51 +0200)]
Use node lighting for liquid spreading

This commit modifies the liquid transforming procedure to light and
unlight nodes instead of whole map blocks.

7 years agoImproved lighting
Dániel Juhász [Thu, 20 Oct 2016 19:41:38 +0000 (21:41 +0200)]
Improved lighting

This commit rewrites the procedure that is responsible for light
updating.

this commit
-provides iterative solutions for unlighting and light spreading
-introduces a new priority queue-like container for the iteration
-creates per-node MapBlock caching to reduce retrieving MapBlocks from
the map
-calculates with map block positions and in-block relative node
coordinates
-skips light updating if it is not necessary since the node's new light
will be the same as its old light was

7 years agoDocument item use callbacks (#4668)
raymoo [Thu, 27 Oct 2016 03:24:34 +0000 (20:24 -0700)]
Document item use callbacks (#4668)

7 years agoShaders: Remove special handling for liquids. (#4670)
lhofhansl [Wed, 26 Oct 2016 14:24:45 +0000 (07:24 -0700)]
Shaders: Remove special handling for liquids. (#4670)

7 years agoAdding LuaError on attempt to assign vectors with values out of range
Foghrye4 [Sun, 23 Oct 2016 17:45:25 +0000 (20:45 +0300)]
Adding LuaError on attempt to assign vectors with values out of range

7 years agoParticleSpawner: fix offset being added twice
Gael-de-Sailly [Tue, 25 Oct 2016 15:12:50 +0000 (17:12 +0200)]
ParticleSpawner: fix offset being added twice

7 years agoWindows: dont link to libraries that are already linked by cmake
adrido [Mon, 24 Oct 2016 04:49:35 +0000 (06:49 +0200)]
Windows: dont link to libraries that are already linked by cmake

This solves the problem whith building where build fails if the libaries have different names.

7 years agoShaders: Apply tone mapping before fog calculation.
Lars Hofhansl [Mon, 24 Oct 2016 15:23:13 +0000 (08:23 -0700)]
Shaders: Apply tone mapping before fog calculation.

7 years agoShaders: Harmonize Irrlicht and shader fog calculations
Lars Hofhansl [Fri, 21 Oct 2016 05:21:49 +0000 (22:21 -0700)]
Shaders: Harmonize Irrlicht and shader fog calculations

7 years agoLua_api.txt: Clarify 'override_meta' bool in 'set mapgen setting'
paramat [Fri, 21 Oct 2016 01:09:34 +0000 (02:09 +0100)]
Lua_api.txt: Clarify 'override_meta' bool in 'set mapgen setting'

7 years agoDamage flash: Reduce maximum alpha. Avoid fade overload
paramat [Wed, 5 Oct 2016 00:25:02 +0000 (01:25 +0100)]
Damage flash: Reduce maximum alpha. Avoid fade overload

Flash alpha maximum is reduced from 180 to 127 to avoid player blindness
in combat. Flash alpha minimum is unchanged.
The 'damage_flash' value is now limited to max alpha, to avoid multiple
hits creating a huge value that causes flash to stay at maximum alpha
for a long period. Now alpha always starts to fade immediately after
taking damage.
Both problems can be seen in Minetest let's play videos.
Simplify and optimise some code.

7 years agoChanges to static object storage limit and error message
paramat [Wed, 19 Oct 2016 00:37:12 +0000 (01:37 +0100)]
Changes to static object storage limit and error message

Move static object storage force-delete message from errorstream to
warningstream.
Increase 'max objects per block' setting to 64.
Add missing spaces in warning code.

7 years agoChat commands: Trim whitespaces from input of `/privs` command
red-001 [Mon, 26 Sep 2016 18:07:52 +0000 (19:07 +0100)]
Chat commands: Trim whitespaces from input of `/privs` command

7 years agoFix crash on attaching player to entity
Foghrye4 [Sun, 9 Oct 2016 17:40:29 +0000 (20:40 +0300)]
Fix crash on attaching player to entity

Rename "refresh" to "processInitData"

7 years agoBuiltin: Add vector.floor helper function
rubenwardy [Mon, 17 Oct 2016 19:36:38 +0000 (20:36 +0100)]
Builtin: Add vector.floor helper function

7 years agoRevert changes to toggleNoClip and toggleFreeMove
Lars Hofhansl [Mon, 17 Oct 2016 06:55:49 +0000 (23:55 -0700)]
Revert changes to toggleNoClip and toggleFreeMove

7 years agoDon't use day light sky unless noclip and free_move are enabled
Lars Hofhansl [Mon, 17 Oct 2016 04:27:21 +0000 (21:27 -0700)]
Don't use day light sky unless noclip and free_move are enabled

7 years agoEnable mod security by default
ShadowNinja [Sun, 9 Oct 2016 18:36:22 +0000 (14:36 -0400)]
Enable mod security by default

7 years agoBuiltin/../chatcommands: Add /grantme command
red-001 [Tue, 27 Sep 2016 11:53:01 +0000 (12:53 +0100)]
Builtin/../chatcommands: Add /grantme command

7 years agoEmergeblocks: Fix occasional crash
Rogier [Mon, 25 Jul 2016 16:39:29 +0000 (18:39 +0200)]
Emergeblocks: Fix occasional crash

Modification of the emergeblocks internal state was not protected
by a lock, causing a race condition.
This can be reproduced by repeatedly running emergeblocks for an
already-generated section of the map (with multiple emerge threads).

7 years agoTravis: Only trigger a compile, when C/C++ related files were touched (#4284)
Tim [Sat, 15 Oct 2016 15:59:23 +0000 (17:59 +0200)]
Travis: Only trigger a compile, when C/C++ related files were touched (#4284)

7 years agoMake documentation about ItemStack:set_{name,count,wear} clearer
sfan5 [Fri, 14 Oct 2016 11:08:59 +0000 (13:08 +0200)]
Make documentation about ItemStack:set_{name,count,wear} clearer

These methods do not actually fail but instead clear the item stack
and return false if a value like e.g. "" is passed.

7 years agoBuiltin/../falling.lua: Code optimisation
tenplus1 [Mon, 10 Oct 2016 17:37:21 +0000 (18:37 +0100)]
Builtin/../falling.lua: Code optimisation

7 years agoUse range-based fog instead of z-plane based.
Lars Hofhansl [Wed, 12 Oct 2016 20:38:53 +0000 (13:38 -0700)]
Use range-based fog instead of z-plane based.

7 years agoAttached particle spawners
raymoo [Thu, 4 Aug 2016 20:09:21 +0000 (13:09 -0700)]
Attached particle spawners

7 years agoDon't use unordered maps for ProfilerGraph (fixes flickering)
sfan5 [Wed, 12 Oct 2016 16:39:35 +0000 (18:39 +0200)]
Don't use unordered maps for ProfilerGraph (fixes flickering)

7 years agoAdd a button for disabling all mods to world config. (#3900)
red-001 [Tue, 11 Oct 2016 17:11:38 +0000 (18:11 +0100)]
Add a button for disabling all mods to world config. (#3900)

7 years agoAdd missing languages to the settings 4622/head
SmallJoker [Sun, 9 Oct 2016 08:53:13 +0000 (10:53 +0200)]
Add missing languages to the settings

7 years agoDisable cmake message concerning WIN32 on non-windows systems
Rogier [Sun, 9 Oct 2016 15:57:18 +0000 (17:57 +0200)]
Disable cmake message concerning WIN32 on non-windows systems

7 years agoA little cleanup since previous commit
Loic Blot [Sun, 9 Oct 2016 14:31:43 +0000 (16:31 +0200)]
A little cleanup since previous commit

7 years agoEnvironment cleanup
Loic Blot [Sat, 8 Oct 2016 21:13:38 +0000 (23:13 +0200)]
Environment cleanup

* Move client list to ServerEnvironment and use RemotePlayer members instead of Player
* ClientEnvironment only use setLocalPlayer to specify the current player
* Remove ClientEnvironment dead code on player list (in fact other players are CAO not Player objects)
* Drop LocalPlayer::getPlayer(xxx) functions which aren't used.
* Improve a little bit performance by using const ref list for ClientEnvironment::getPlayerNames() & Client::getConnectedPlayerNames()
* Drop isLocal() function from (Local)Player which is not needed anymore because of previous changes

This change permits to cleanup shared client list which is very old code.
ClientEnvironment doesn't use player list anymore, it only contains the local player, as addPlayer is only called from Client constructor client side.
Clients are only CAO on client side, this cleanup permit to remove confusion about player list.

7 years agoRemove unused parameter of GUIVolumeChange
Rui [Sun, 9 Oct 2016 08:27:14 +0000 (17:27 +0900)]
Remove unused parameter of GUIVolumeChange

7 years agoMove RemotePlayer code to its own cpp/header
Loic Blot [Sat, 8 Oct 2016 17:08:23 +0000 (19:08 +0200)]
Move RemotePlayer code to its own cpp/header

7 years agoRemotePlayer/LocalPlayer Player base class proper separation (code cleanup) (patch...
Loic Blot [Sat, 8 Oct 2016 15:56:38 +0000 (17:56 +0200)]
RemotePlayer/LocalPlayer Player base class proper separation (code cleanup) (patch 3 of X)

* remove IGameDef from Player class, only LocalPlayer has it now
* move many attributes/functions only used by LocalPlayer from Player to LocalPlayer
* move many attributes/functions only used by RemotePlayer from Player to RemotePlayer
* make some functions const
* hudGetHotbarSelectedImage now returns const ref
* RemotePlayer getHotbarSelectedImage now returns const ref
* various code style fixes

7 years agoOptimize ClientIface::getPlayerNames(): return const ref instead a copy of all names
Loic Blot [Sat, 8 Oct 2016 14:42:09 +0000 (16:42 +0200)]
Optimize ClientIface::getPlayerNames(): return const ref instead a copy of all names

7 years agoMore code cleanup (UNORDERED + RemotePlayer/LocalPlayer)
Loic Blot [Sat, 8 Oct 2016 14:31:22 +0000 (16:31 +0200)]
More code cleanup (UNORDERED + RemotePlayer/LocalPlayer)

* ClientEnvironment now uses UNORDERED MAP for active objects
* Use RemotePlayer and LocalPlayer everywhere it's possible
* Minor code style fixes
* Drop Client::getBreath() unused function

7 years agoFix backwards compatibility issue introduced by close_on_enter
rubenwardy [Sun, 2 Oct 2016 23:30:33 +0000 (00:30 +0100)]
Fix backwards compatibility issue introduced by close_on_enter

7 years agoEnsure std::unordered_ be used on MSVC 2010 too (#4600) 4551/head
SmallJoker [Sat, 8 Oct 2016 14:25:34 +0000 (16:25 +0200)]
Ensure std::unordered_ be used on MSVC 2010 too (#4600)

7 years agoPlayer/LocalPlayer/RemotePlayer inheritance cleanup (part 2 on X)
Loic Blot [Sat, 8 Oct 2016 10:21:41 +0000 (12:21 +0200)]
Player/LocalPlayer/RemotePlayer inheritance cleanup (part 2 on X)

* Server/Client Environments now have an helper to cast Player object in the right type to use it
* Server: use RemotePlayer everywhere and remove previous added casts
* Client: use LocalPlayer where needed
* Environment: remove unused functions (getPlayers(), getRandomConnectedPlayer(), getNearestConnectedPlayer())

7 years agoSpeed up emerge thread by using unordered map in a few places. Looking at 25% speedup...
gregorycu [Sat, 8 Oct 2016 13:08:35 +0000 (00:08 +1100)]
Speed up emerge thread by using unordered map in a few places. Looking at 25% speedup in Emerge thread on Just Test.

7 years agoEnsure std::unordered_ will be used on supported MSVC compilers
gregorycu [Sat, 8 Oct 2016 12:58:47 +0000 (23:58 +1100)]
Ensure std::unordered_ will be used on supported MSVC compilers

7 years agoPrevent attached models from disappearing during parent reload (#4128)
Foghrye4 [Sat, 8 Oct 2016 12:51:25 +0000 (16:51 +0400)]
Prevent attached models from disappearing during parent reload (#4128)

7 years agoVoxelArea: faster iter function (#4490)
HybridDog [Sat, 8 Oct 2016 12:42:17 +0000 (14:42 +0200)]
VoxelArea: faster iter function (#4490)

7 years agoRemove some unused attributes/class functions in server.cpp/h
Loic Blot [Sat, 8 Oct 2016 09:25:46 +0000 (11:25 +0200)]
Remove some unused attributes/class functions in server.cpp/h

7 years agoPlayer/LocalPlayer/RemotePlayer inheritance cleanup (part 1 on X)
Loic Blot [Sat, 8 Oct 2016 08:38:04 +0000 (10:38 +0200)]
Player/LocalPlayer/RemotePlayer inheritance cleanup (part 1 on X)

* LocalPlayer take ownership of maxHudId as it's the only caller
* RemotePlayer take ownership of day night ratio as it's the only user
* Pass getPlayerControl as const reference to prevent object copy on each call (perf improvement in ObjectRef::l_get_player_control call)
* getPlayerSAO is now only RemotePlayer call
* get/setHotbarItemCount is now RemotePlayer owned
* Server: Use RemotePlayer instead of Player object on concerned call to properly fix the object type
* PlayerSAO now uses RemotePlayer instead of Player because it's only server side
* ObjectRef::getplayer also returns RemotePlayer as it's linked with PlayerSAO

7 years agoLua_api.txt: Add biome and nodeupdate documentation
paramat [Thu, 6 Oct 2016 22:03:55 +0000 (23:03 +0100)]
Lua_api.txt: Add biome and nodeupdate documentation

Add missing documentation for 'register_biome' and
'clear_registered_biomes'.
Add documentation for 'nodeupdate_single'. 'nodeupdate'
is not yet documented due to a bug it causes.

7 years agoTextures: Ignore unknown node in override.txt
SmallJoker [Sun, 17 Jul 2016 20:26:23 +0000 (22:26 +0200)]
Textures: Ignore unknown node in override.txt

7 years agoFix C++11 Windows build of threading code
sfan5 [Thu, 6 Oct 2016 19:13:04 +0000 (21:13 +0200)]
Fix C++11 Windows build of threading code

The initial problem was that mutex_auto_lock.h tries to use std::unique_lock<std::mutex>
despite mutex.h not using C++11's std::mutex on Windows. The problem here is the mismatch
between C++11 usage conditions of the two headers. This commit moves the decision logic
to threads.h and makes sure mutex.h, mutex_auto_lock.h and event.h all use the same features.

7 years agouse unordered containers where possible (patch 4 on X)
Loic Blot [Thu, 6 Oct 2016 17:20:12 +0000 (19:20 +0200)]
use unordered containers where possible (patch 4 on X)

Also remove some unused parameters/functions

7 years agoFix narrow string compiling issue on MSVC2010
SmallJoker [Thu, 6 Oct 2016 11:49:40 +0000 (13:49 +0200)]
Fix narrow string compiling issue on MSVC2010

7 years agoUse more unordered_maps to improve performance in c++11 builds
Loic Blot [Thu, 6 Oct 2016 06:48:20 +0000 (08:48 +0200)]
Use more unordered_maps to improve performance in c++11 builds

7 years agoUse relative position for nametags
SmallJoker [Thu, 6 Oct 2016 08:12:14 +0000 (10:12 +0200)]
Use relative position for nametags

7 years agoFix macosx build by disabling postgresql upgrade
Loic Blot [Thu, 6 Oct 2016 05:48:49 +0000 (07:48 +0200)]
Fix macosx build by disabling postgresql upgrade