| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
| |
all names
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
|
|
|
| |
* 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())
|
|
|
|
| |
25% speedup in Emerge thread on Just Test.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Also remove some unused parameters/functions
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Fixes #4579, a regression introduced by commit
d4c76258e37337ea585cf24d8e05b50a30fa307d "Chat: new settings to prevent spam"
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
* This permit to improve performance on C++11 builds
* use some existing typedefs in tools maps
* minor code style changes
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Remove uses of std::map.
Make sure we use ContentFeatures reference not value.
Original commit by gregorycu.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
'getSpawnLevelAtPoint()' did not account for disabled mountains, it
was possible to be spawned in mid-air where a mountain surface would
have been.
Avoid check for river area if rivers are disabled.
|
|
|
|
| |
Fixes #4493.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This allows you to use an stdcall zlib (zlib1.dll instead of zlibwapi.dll)
when building Minetest for win32.
|
|
|
|
|
| |
This commit fixes #4516, though note that this will gradually fix MapBlocks
as they are used/modified and thus re-serialized.
|
| |
|
|
|
|
|
|
|
|
| |
Add 'core.LIGHT_MAX = 14' to builtin/game/constants.lua with the intention
to replace misplaced 'default.LIGHT_MAX = 14' in Minetest Game.
Add comment in light.h requiring the constant be changed in both places.
Add lighting bug warning to note in lua_api.txt.
There are hundreds of mod uses of 15 which causes a lighting bug.
|
|
|
|
|
|
| |
Inverts the given channels of the base image.
Mode may contain the characters "r", "g", "b", "a".
Only the channels that are mentioned in the mode string will be inverted.
|
| |
|
|
|
|
| |
In lua_api.txt, make clear that 'place on' and 'spawn by' can be lists.
|
| |
|