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...
raymoo [Sat, 12 Nov 2016 07:22:39 +0000 (23:22 -0800)]
Add control information to player interacts (#4685)
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.
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.
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.
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.
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.
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.
Lars Hofhansl [Tue, 8 Nov 2016 04:44:40 +0000 (20:44 -0800)]
Conf.example: Document block_send_optimize_distance
Add missing documentation.
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.
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'.
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.
Lars Hofhansl [Mon, 7 Nov 2016 05:30:49 +0000 (21:30 -0800)]
Don't use reduced vertical limits for mapblock send and generation
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.
Wuzzy [Sat, 5 Nov 2016 23:37:20 +0000 (00:37 +0100)]
Privileges: Only give singleplayer 4 basic privs
- interact
- shout
- privs
- basic_privs
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.
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
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
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...
Zeno- [Sat, 5 Nov 2016 05:10:49 +0000 (15:10 +1000)]
Fix memory leak in ::safeLoadFile (#4730)
lhofhansl [Fri, 4 Nov 2016 17:12:45 +0000 (10:12 -0700)]
Remove unused shader matrices. (#4723)
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.
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)
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
ShadowNinja [Wed, 7 May 2014 02:31:35 +0000 (22:31 -0400)]
Add version API
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.
Auke Kok [Thu, 27 Oct 2016 20:59:32 +0000 (13:59 -0700)]
Core.rotate_and_place: Remove unused call to get_look_pitch()
lhofhansl [Mon, 31 Oct 2016 03:35:55 +0000 (20:35 -0700)]
Optionally disable optimization that causes underwater and cave rendering glitches. (#4686)
Loic Blot [Sun, 30 Oct 2016 15:12:09 +0000 (16:12 +0100)]
Fix overloading problems mentioned by clang
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
Hugo Locurcio [Sun, 30 Oct 2016 04:36:57 +0000 (05:36 +0100)]
Rename testsounds/ directory to sounds/ (#1984)
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
Ner'zhul [Fri, 28 Oct 2016 13:37:19 +0000 (15:37 +0200)]
Add missing remoteplayer.cpp to Android build
this should fix #4683
Ner'zhul [Thu, 27 Oct 2016 07:45:01 +0000 (09:45 +0200)]
Add unittests to test player saving/loading (#4679)
Dániel Juhász [Tue, 25 Oct 2016 21:04:10 +0000 (23:04 +0200)]
Cleanup
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.
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
raymoo [Thu, 27 Oct 2016 03:24:34 +0000 (20:24 -0700)]
Document item use callbacks (#4668)
lhofhansl [Wed, 26 Oct 2016 14:24:45 +0000 (07:24 -0700)]
Shaders: Remove special handling for liquids. (#4670)
Foghrye4 [Sun, 23 Oct 2016 17:45:25 +0000 (20:45 +0300)]
Adding LuaError on attempt to assign vectors with values out of range
Gael-de-Sailly [Tue, 25 Oct 2016 15:12:50 +0000 (17:12 +0200)]
ParticleSpawner: fix offset being added twice
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.
Lars Hofhansl [Mon, 24 Oct 2016 15:23:13 +0000 (08:23 -0700)]
Shaders: Apply tone mapping before fog calculation.
Lars Hofhansl [Fri, 21 Oct 2016 05:21:49 +0000 (22:21 -0700)]
Shaders: Harmonize Irrlicht and shader fog calculations
paramat [Fri, 21 Oct 2016 01:09:34 +0000 (02:09 +0100)]
Lua_api.txt: Clarify 'override_meta' bool in 'set mapgen setting'
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.
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.
red-001 [Mon, 26 Sep 2016 18:07:52 +0000 (19:07 +0100)]
Chat commands: Trim whitespaces from input of `/privs` command
Foghrye4 [Sun, 9 Oct 2016 17:40:29 +0000 (20:40 +0300)]
Fix crash on attaching player to entity
Rename "refresh" to "processInitData"
rubenwardy [Mon, 17 Oct 2016 19:36:38 +0000 (20:36 +0100)]
Builtin: Add vector.floor helper function
Lars Hofhansl [Mon, 17 Oct 2016 06:55:49 +0000 (23:55 -0700)]
Revert changes to toggleNoClip and toggleFreeMove
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
ShadowNinja [Sun, 9 Oct 2016 18:36:22 +0000 (14:36 -0400)]
Enable mod security by default
red-001 [Tue, 27 Sep 2016 11:53:01 +0000 (12:53 +0100)]
Builtin/../chatcommands: Add /grantme command
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).
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)
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.
tenplus1 [Mon, 10 Oct 2016 17:37:21 +0000 (18:37 +0100)]
Builtin/../falling.lua: Code optimisation
Lars Hofhansl [Wed, 12 Oct 2016 20:38:53 +0000 (13:38 -0700)]
Use range-based fog instead of z-plane based.
raymoo [Thu, 4 Aug 2016 20:09:21 +0000 (13:09 -0700)]
Attached particle spawners
sfan5 [Wed, 12 Oct 2016 16:39:35 +0000 (18:39 +0200)]
Don't use unordered maps for ProfilerGraph (fixes flickering)
red-001 [Tue, 11 Oct 2016 17:11:38 +0000 (18:11 +0100)]
Add a button for disabling all mods to world config. (#3900)
SmallJoker [Sun, 9 Oct 2016 08:53:13 +0000 (10:53 +0200)]
Add missing languages to the settings
Rogier [Sun, 9 Oct 2016 15:57:18 +0000 (17:57 +0200)]
Disable cmake message concerning WIN32 on non-windows systems
Loic Blot [Sun, 9 Oct 2016 14:31:43 +0000 (16:31 +0200)]
A little cleanup since previous commit
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.
Rui [Sun, 9 Oct 2016 08:27:14 +0000 (17:27 +0900)]
Remove unused parameter of GUIVolumeChange
Loic Blot [Sat, 8 Oct 2016 17:08:23 +0000 (19:08 +0200)]
Move RemotePlayer code to its own cpp/header
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
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
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
rubenwardy [Sun, 2 Oct 2016 23:30:33 +0000 (00:30 +0100)]
Fix backwards compatibility issue introduced by close_on_enter
SmallJoker [Sat, 8 Oct 2016 14:25:34 +0000 (16:25 +0200)]
Ensure std::unordered_ be used on MSVC 2010 too (#4600)
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())
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.
gregorycu [Sat, 8 Oct 2016 12:58:47 +0000 (23:58 +1100)]
Ensure std::unordered_ will be used on supported MSVC compilers
Foghrye4 [Sat, 8 Oct 2016 12:51:25 +0000 (16:51 +0400)]
Prevent attached models from disappearing during parent reload (#4128)
HybridDog [Sat, 8 Oct 2016 12:42:17 +0000 (14:42 +0200)]
VoxelArea: faster iter function (#4490)
Loic Blot [Sat, 8 Oct 2016 09:25:46 +0000 (11:25 +0200)]
Remove some unused attributes/class functions in server.cpp/h
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
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.
SmallJoker [Sun, 17 Jul 2016 20:26:23 +0000 (22:26 +0200)]
Textures: Ignore unknown node in override.txt
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.
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
SmallJoker [Thu, 6 Oct 2016 11:49:40 +0000 (13:49 +0200)]
Fix narrow string compiling issue on MSVC2010
Loic Blot [Thu, 6 Oct 2016 06:48:20 +0000 (08:48 +0200)]
Use more unordered_maps to improve performance in c++11 builds
SmallJoker [Thu, 6 Oct 2016 08:12:14 +0000 (10:12 +0200)]
Use relative position for nametags
Loic Blot [Thu, 6 Oct 2016 05:48:49 +0000 (07:48 +0200)]
Fix macosx build by disabling postgresql upgrade
est31 [Thu, 6 Oct 2016 01:32:52 +0000 (03:32 +0200)]
Fix crash regression when chatting in the ncurses console
Fixes #4579, a regression introduced by commit
d4c76258e37337ea585cf24d8e05b50a30fa307d "Chat: new settings to prevent spam"
Loic Blot [Wed, 5 Oct 2016 20:17:22 +0000 (22:17 +0200)]
Travis: build matrix improvements + CPP11 build
Loic Blot [Wed, 5 Oct 2016 18:58:05 +0000 (20:58 +0200)]
Compilation fix
Loic Blot [Wed, 5 Oct 2016 07:03:55 +0000 (09:03 +0200)]
Replace various std::map with UNORDERED_MAP + various cleanups
This is part 2 for
5f084cd98d7b3326b51320455364337539710efd
Other improvements:
* Use the defined ItemGroupList when used
* make Client::checkPrivilege const
* inline some trivial functions
* Add ActiveObjectMap typedef
* Add SettingsEntries typedef
Loic Blot [Tue, 4 Oct 2016 22:13:10 +0000 (00:13 +0200)]
Make some maps unordered to improve performance
* This permit to improve performance on C++11 builds
* use some existing typedefs in tools maps
* minor code style changes
Loic Blot [Tue, 4 Oct 2016 16:17:12 +0000 (18:17 +0200)]
Chat: new settings to prevent spam
Added the following chat coreside features
* Chat messages length limit
* Message rate limiting
* Message rate kicking
Note:
* handleChat now takes RemotePlayer pointer instead of u16 to remove useless
lookups
paramat [Sun, 2 Oct 2016 23:56:17 +0000 (00:56 +0100)]
Mapblock_mesh_generate_special: Improve performance
Remove uses of std::map.
Make sure we use ContentFeatures reference not value.
Original commit by gregorycu.
paramat [Sun, 25 Sep 2016 21:03:35 +0000 (22:03 +0100)]
Textures: New 'smoke puff' texture from TNT mod
est31 [Mon, 3 Oct 2016 13:55:15 +0000 (15:55 +0200)]
Fix build/warning on non X11 platforms
paramat [Sun, 2 Oct 2016 21:04:47 +0000 (22:04 +0100)]
Builtin/falling: Add fallback vector in case of nil 'wallmounted to dir'
The fallback vector is in case 'wallmounted to dir' is nil due
to voxelmanip placing a wallmounted node without resetting a
pre-existing param2 value that is out-of-range for wallmounted.
The fallback vector corresponds to param2 = 0.
raymoo [Sat, 3 Sep 2016 04:37:51 +0000 (21:37 -0700)]
Forceloading: Transient forceloads
Adds a flag to forceload_block which lets you turn off persistence for
that forceload.
rubenwardy [Thu, 7 Jul 2016 20:10:15 +0000 (21:10 +0100)]
Formspec: Add container[] and container_end[] elements