Loic Blot [Wed, 4 Mar 2015 10:46:31 +0000 (11:46 +0100)]
ASyncRunStep doesn't need to lock when do setTimeOfDaySpeed.
* setTimeOfDaySpeed already lock a mutex when modify the value, we don't need to lock all environment.
* add a fine grain lock for getTimeOfDay and setTimeOfDay to solve environment multithread modifications on this value
Loic Blot [Wed, 4 Mar 2015 10:29:34 +0000 (11:29 +0100)]
Send Inventory packet on event, don't check it at each AsyncRunStep.
* Call UpdateCrafting into SendInventory because this functions is only called before SendInventory
* Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id
* m_env_mutex don't need to be used with this modification because it's already locked before the calls
Loic Blot [Tue, 3 Mar 2015 16:36:54 +0000 (17:36 +0100)]
Remove unused m_wielded_item_not_sent
Loic Blot [Tue, 3 Mar 2015 15:23:47 +0000 (16:23 +0100)]
Send Breath packet on event, don't check it at each AsyncRunStep
Loic Blot [Mon, 2 Mar 2015 16:31:31 +0000 (17:31 +0100)]
Send Player HP when setHP (or a setHP caller) is called instead of looping and testing the state change.
Miguel Almeida [Sat, 31 Jan 2015 15:49:44 +0000 (15:49 +0000)]
Fix occlusion
Craig Robbins [Mon, 2 Mar 2015 03:16:01 +0000 (13:16 +1000)]
Fix narrow_to_wide_c (ANDROID)
* Ensure converted string is NUL terminated
* Restore logic to that used prior to
9e2a9b5
paramat [Sun, 1 Mar 2015 01:30:47 +0000 (01:30 +0000)]
Mgv6: Add heightmap. Do not make large caves that are entirely above ground
est31 [Fri, 27 Feb 2015 21:54:16 +0000 (22:54 +0100)]
Add /setpassword and /clearpassword logging
mahmutelmas06 [Wed, 25 Feb 2015 11:18:02 +0000 (20:18 +0900)]
Add Turkish language
Rui [Sun, 22 Feb 2015 12:54:20 +0000 (21:54 +0900)]
Update minetest.po
Loic Blot [Fri, 27 Feb 2015 13:15:17 +0000 (14:15 +0100)]
Revert "Fix particles draworder" (issue #2388)
This reverts commit
c09d026f0561ee3c6db821a7e193716f724a0e4a.
Craig Robbins [Fri, 27 Feb 2015 11:42:00 +0000 (21:42 +1000)]
Change find_surface_nodes_in_area to find_nodes_in_area_under_air
Loic Blot [Sun, 22 Feb 2015 16:01:03 +0000 (17:01 +0100)]
Add find_surface_nodes_in_area LUA call which permit to only get the nodes which touch air. This permit to massively improve performance for mods like plantlife
rubenwardy [Sun, 22 Feb 2015 17:12:55 +0000 (17:12 +0000)]
Wrap lines longer than 80 characters in lua_api.txt ...and minor formating changes
Craig Robbins [Fri, 27 Feb 2015 03:40:27 +0000 (13:40 +1000)]
Fix minor memory leak (Android)
paramat [Tue, 24 Feb 2015 04:06:05 +0000 (04:06 +0000)]
Biome API: Re-calculate biome at every surface in a mapchunk column
rubenwardy [Sun, 15 Feb 2015 19:27:15 +0000 (19:27 +0000)]
Add camera smoothing and cinematic mode (F8)
Loic Blot [Tue, 24 Feb 2015 07:56:52 +0000 (08:56 +0100)]
Rename --do-unittests to --run-unittests as @Zeno- and @sfan5 requested
gregorycu [Mon, 23 Feb 2015 13:20:06 +0000 (23:20 +1000)]
Optimise MapBlockMesh related functions
Directely or indirectly optimises the following functions:
* MapBlockMesh::MapBlockMesh
* MapBlockMesh::getTileInfo
* MapBlockMesh::makeFastFace
* MapBlockMesh::getSmoothLightCombined
Craig Robbins [Mon, 23 Feb 2015 06:25:14 +0000 (16:25 +1000)]
Fix wrapDegrees family of functions
wrapDegrees() (renamed to modulo360f)
wrapDegrees_0_360
wrapDegrees_180
Minor errors were present in previous versions; see issue #2328
4Evergreen4 [Sun, 22 Feb 2015 19:28:15 +0000 (14:28 -0500)]
Add src/network/CMakeFiles/ and src/client/CMakeFiles to gitignore
Kahrl [Mon, 23 Feb 2015 06:48:51 +0000 (16:48 +1000)]
Disallow object:remove() if the object is a player
Rebased by Zeno- (conflict in lua_api.txt)
ShadowNinja [Sat, 21 Feb 2015 18:16:18 +0000 (13:16 -0500)]
Fix serialization of floating point numbers
Markus Koschany [Sat, 21 Feb 2015 16:46:33 +0000 (17:46 +0100)]
Improve FindIrrlicht.cmake module
Linux distributions prefer to link against a shared version of the Irrlicht
engine instead of using embedded code copies of the same. Search for this
shared version first and use that but fall back to the static version if it
does not exist.
This also fixes https://github.com/minetest/minetest/issues/2163
kaeza [Sat, 21 Feb 2015 17:04:47 +0000 (18:04 +0100)]
Add mod.conf file support This new file only permits to specify a mod name for now
Loic Blot [Sat, 21 Feb 2015 16:37:48 +0000 (17:37 +0100)]
Fix android build
Loic Blot [Sat, 21 Feb 2015 16:24:27 +0000 (17:24 +0100)]
Fix some memory leaks on packet sending.
Loic Blot [Sat, 21 Feb 2015 13:17:36 +0000 (14:17 +0100)]
Move hex.h to util/
BlockMen [Fri, 20 Feb 2015 23:11:26 +0000 (00:11 +0100)]
Fix particles draworder
Loic Blot [Sat, 21 Feb 2015 12:00:57 +0000 (13:00 +0100)]
Move sha1.hpp and base64.hpp to util/
BlockMen [Fri, 20 Feb 2015 22:10:23 +0000 (23:10 +0100)]
Use skin font for usernames (fixes #2363)
Loic Blot [Sat, 21 Feb 2015 10:51:12 +0000 (11:51 +0100)]
Use proper CMakeLists.txt for network and client directories
Rui [Tue, 17 Feb 2015 14:10:45 +0000 (23:10 +0900)]
Update Japanese Translation
ok @Zeno- @nerzhul
Loic Blot [Thu, 19 Feb 2015 08:38:01 +0000 (09:38 +0100)]
Unit tests must be done at integration process.
* Remove --enable-unittests and --disable-unittests and add --do-unittests function
* --do-unittests function will exit 0 on success.
* minetest and minetestserver binaries are launched with --do-unittests in travis build.
paramat [Wed, 21 Jan 2015 13:24:11 +0000 (13:24 +0000)]
Mgv5: Remove blobgen. Remove crumble and wetness noises
Add large pseudorandom caves below -256
De-link terrain level from water_level
Cavegen: Mgv5 large cave code
Ner'zhul [Fri, 20 Feb 2015 09:35:39 +0000 (10:35 +0100)]
update README.txt
* prefix apt-get with sudo
* git clone minetest_game without going to folder
* execute minetest binary without going into bin folder
Ner'zhul [Thu, 19 Feb 2015 19:03:22 +0000 (20:03 +0100)]
Typo fix in networkprotocol.h
InventoryAction is in inventorymanager.h
BlockMen [Wed, 18 Feb 2015 22:52:51 +0000 (23:52 +0100)]
Uncomment version patch field
Perttu Ahola [Wed, 18 Feb 2015 17:50:37 +0000 (19:50 +0200)]
Bump version to 0.4.12
Novatux [Wed, 18 Feb 2015 15:48:58 +0000 (16:48 +0100)]
Add modname convention checking
Fixes #2037
est31 [Tue, 17 Feb 2015 00:37:14 +0000 (01:37 +0100)]
Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist
Client now informs about incompatible servers from the list, this permits to prevent the protocol movements.
Server announces its supported protocol versions to master server
BlockMen [Wed, 18 Feb 2015 11:37:53 +0000 (12:37 +0100)]
Increase default font_size
BlockMen [Sat, 14 Feb 2015 19:16:09 +0000 (20:16 +0100)]
Fix font_size under windows
Perttu Ahola [Wed, 18 Feb 2015 09:45:23 +0000 (11:45 +0200)]
Use fixed size for builtin menus on non-android platforms
Loic Blot [Wed, 18 Feb 2015 08:53:43 +0000 (09:53 +0100)]
Update missing files for Android.mk
Loic Blot [Tue, 17 Feb 2015 19:09:36 +0000 (20:09 +0100)]
Fix unused (and so, broken) enable_rollback_recording. This option must be reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable)
ok @ShadowNinja
Loic Blot [Wed, 18 Feb 2015 08:23:24 +0000 (09:23 +0100)]
Android build fix
fz72 [Tue, 17 Feb 2015 15:53:49 +0000 (16:53 +0100)]
Fix map_seed not changed when creating a new world after login to another
Loic Blot [Tue, 17 Feb 2015 15:49:27 +0000 (16:49 +0100)]
Change many useless std::list into Environment class (m_players), ABMHandler and ActiveBlockList::update
This improve looping performances.
Kahrl [Tue, 17 Feb 2015 09:29:44 +0000 (10:29 +0100)]
Grab GUIChatConsole::m_font, fixes segfault when changing font_size
Loic Blot [Tue, 17 Feb 2015 14:28:49 +0000 (15:28 +0100)]
Replace std::list by std::vector into ClientMap::updateDrawList, Map::timerUpdate and ServerMap::save().
This will speedup the loop reading into those functions
Loic Blot [Tue, 17 Feb 2015 14:04:08 +0000 (15:04 +0100)]
Replace std::list by std::vector into timerUpdate calls
Novatux [Tue, 17 Feb 2015 14:01:54 +0000 (15:01 +0100)]
Ignore old entities from 0.3.
Loic Blot [Tue, 17 Feb 2015 13:49:21 +0000 (14:49 +0100)]
Remove old comment from Network Rework Patch 2/4
Loic Blot [Tue, 17 Feb 2015 13:30:32 +0000 (14:30 +0100)]
Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ServerMap::listAllLoadedBlocks and their database backends.
This adds a speedup on database migration and /clearobjects command
Loic Blot [Tue, 17 Feb 2015 10:37:55 +0000 (11:37 +0100)]
SAO: re-add old ActiveObjectTypes for a future migration layer
Loic Blot [Mon, 16 Feb 2015 16:42:13 +0000 (17:42 +0100)]
SAO work: ActiveObject types & SAO cleanup * Replace u8 types with ActiveObjectType. * Merge content_object.h into activeobject.h * Remove DummyLoadSAO, it's now unused. * Remove ItemSAO, it's also unused
Yaman [Mon, 16 Feb 2015 15:56:09 +0000 (01:56 +1000)]
Add player direction to on-screen debug text
(PR Modified slightly)
sfan5 [Wed, 28 Jan 2015 15:57:37 +0000 (16:57 +0100)]
Add LevelDB and redis to Travis Linux builds
Loic Blot [Sun, 15 Feb 2015 16:30:38 +0000 (17:30 +0100)]
Performance Improvement: Use a cache which caches result for getFacePositions.
This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected.
In the callgrind map, you will see original:
* 3.3M calls to std::list for 9700 calls to getFacePositions
In the modified version, you will see:
* 3.3K calls to std::list for 6900 call to getFacePositions
Callgrind map is here: #2321
it's a huge performance improvement to l_find_node_near
Loic Blot [Fri, 16 Jan 2015 10:37:49 +0000 (11:37 +0100)]
[Patch 2/4] Network rework: packet writing, sending and cleanups
NetworkPacket.cpp:
* Remove some deprecated functions, we must use streaming interface
* m_data converted from u8* to std::vector<u8>
* Add an exporter to forge packet to Connection object
* implement operator << std::wstring. n
* implement operator << std::string
* dynamic resize when write packet content.
* fix string writing and performances.
* create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
* Reliability
* Transmit channel
* Implement putRawString for some ugly char (_INIT packet), and use it.
* Many packet read and write migrated
* Implement oldForgePacket to interface writing with current connection
* fix U8/char/bool writing
* fix string writing and performances.
* add some missing functions
* Use v3s16 read instead of reading x,y,z separately
* Add irr::video::SColor support into packets
* Add some missing handlers
* Add a template function to increase offset
* Throw a serialization error on packet reading (must be improved)
PacketFactories:
* Create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
* Create ClientCommandFactory, used by server to get useful informations about packet processing (sending).
Client.cpp:
* implement NetworkPacket ::Send interface.
* Move packet handlers to a dedicated file
* Remove Client::Send(SharedBuffer)
Server.cpp:
* implement NetworkPacket ::Send interface.
* Rewrite all packets using NetworkPacket
* Move packet handlers to a dedicated file
* Remove Server::Send(SharedBuffer)
ClientIface.cpp:
* Remove sendToAll(SharedBuffer<u8>)
Connection.hpp rework:
* Remove duplicate include
* Remove duplicate negation
* Remove a useless variable
* Improve code performance by using a m_peers_list instead of scanning m_peers map
* Remove Connection::Send(SharedBuffer)
* Fix useafterfree into NetworkPacket Sending
* Remove unused Connection::sendToAll
Test.cpp:
* Remove dead code
* Update tests to use NetworkPackets
Misc:
* add new wrappers to Send packets in client, using NetworkPacket
* Add NetworkPacket methods for Connection
* coding style fix
* dead code since changes cleanup
* Use v3s16 read instead of reading x,y,z separately in some packets
* Use different files to handle packets received by client and server
* Cleanup: Remove useless includes
ok @Zeno-
Tested by @Zeno- @VanessaE and @nerzhul on running servers
rubenwardy [Thu, 12 Feb 2015 16:57:22 +0000 (16:57 +0000)]
Fix minetest.item_eat's replace_with_item, fixes #2292
Loic Blot [Sun, 15 Feb 2015 14:28:41 +0000 (14:28 +0000)]
Fix unit test if there isn't a localhost address (for example FreeBSD jails), second part
Loic Blot [Sun, 15 Feb 2015 12:11:03 +0000 (13:11 +0100)]
Fix unit test if there isn't a localhost address (for example FreeBSD jails)
Loic Blot [Sun, 15 Feb 2015 11:20:32 +0000 (12:20 +0100)]
Only do the IPv6 unit test if IPv6 is enabled
ngosang [Sat, 14 Feb 2015 17:51:31 +0000 (18:51 +0100)]
Updated Spanish translations
Loic Blot [Sat, 14 Feb 2015 22:23:54 +0000 (23:23 +0100)]
Fix issue #2278, Connection sent before address data loading
Loic Blot [Sat, 14 Feb 2015 08:21:04 +0000 (09:21 +0100)]
est31 [Thu, 12 Feb 2015 21:03:24 +0000 (22:03 +0100)]
Fix crash on passing false as value in table to table.copy(t)
Fixes #2293.
Craig Robbins [Fri, 13 Feb 2015 10:45:48 +0000 (20:45 +1000)]
Suppress CGUITTFONT build warnings
Loic Blot [Thu, 12 Feb 2015 18:36:02 +0000 (19:36 +0100)]
Add german and french translation for minetest.desktop
This fixes #1573
Jakub Vaněk [Thu, 12 Feb 2015 15:21:43 +0000 (16:21 +0100)]
Update czech translation
ngosang [Wed, 21 Jan 2015 01:50:33 +0000 (02:50 +0100)]
Minor fixes in translations
BlockMen [Thu, 12 Feb 2015 01:55:50 +0000 (02:55 +0100)]
Fix gettext on MSVC
ngosang [Thu, 22 Jan 2015 16:09:29 +0000 (17:09 +0100)]
Fix .zip extraction (mod store)
Loic Blot [Tue, 10 Feb 2015 20:14:24 +0000 (21:14 +0100)]
main.cpp rework * Move ClientLauncher class to a dedicated file * ClientLauncher now owns print_video_modes and speed_tests functions (they are only called by him) * Move GameParams to shared/gameparams.h because it's shared between server and client and launcher need to know it * Move InputHandlers class to client/inputhandler.h * Cleanup includes
Rui [Thu, 12 Feb 2015 10:26:26 +0000 (19:26 +0900)]
Fix store.lua bug: default screenshot
Rui [Wed, 11 Feb 2015 04:42:58 +0000 (13:42 +0900)]
Fix tab_mods.lua: default screenshot patch
https://forum.minetest.net/viewtopic.php?f=6&t=11201
Fixed this bug.
Loic Blot [Thu, 12 Feb 2015 09:39:39 +0000 (10:39 +0100)]
Remove unused variables to make clang happy
ngosang [Wed, 28 Jan 2015 14:58:22 +0000 (15:58 +0100)]
Small changes in the style of controls
Loic Blot [Thu, 12 Feb 2015 07:00:22 +0000 (08:00 +0100)]
Make Clang happy with lua lauxlib.c.
No functionnal change
est31 [Thu, 12 Feb 2015 06:13:14 +0000 (16:13 +1000)]
Enable LUA_USE_POSIX if possible in bundled Lua
Fixes warning:
src/lua/src/loslib.c:60: Warning: the use of `tmpnam' is dangerous, better use `mkstemp'
Craig Robbins [Thu, 12 Feb 2015 03:16:38 +0000 (13:16 +1000)]
Fix Android compile warning
ngosang [Wed, 11 Feb 2015 16:00:20 +0000 (17:00 +0100)]
Fix 'Download complete' dialog in the mods store
Loic Blot [Wed, 11 Feb 2015 10:27:52 +0000 (11:27 +0100)]
Don't permit to open inventory is playerCAO isn't present. This prevent to open an empty inventory at player load. ok @zeno-
Loic Blot [Wed, 11 Feb 2015 08:57:35 +0000 (09:57 +0100)]
Fix issue #2279. ok @zeno-
Loic Blot [Wed, 11 Feb 2015 08:05:24 +0000 (09:05 +0100)]
Fix Android build since a704c04f00bfea4b77550169fa08105c2ee0dfd0Oxh. ok @zeno-
Craig Robbins [Wed, 11 Feb 2015 07:45:49 +0000 (17:45 +1000)]
Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
ShadowNinja [Wed, 11 Feb 2015 07:27:43 +0000 (02:27 -0500)]
Fix Android build of narrow_to_wide
Craig Robbins [Wed, 11 Feb 2015 07:01:19 +0000 (17:01 +1000)]
Revert "Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting"
This reverts commit
d25ff8fd2592f457b91e8a61240694af3902d23f.
Craig Robbins [Wed, 11 Feb 2015 06:02:16 +0000 (16:02 +1000)]
Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
Markus Koschany [Tue, 20 Jan 2015 09:41:51 +0000 (10:41 +0100)]
Fix FTBFS on GNU/Hurd platform
Minetest fails to build on GNU/Hurd due to a name clash with OSX/Apple,
both are defining the __MACH__ keyword. This commit fixes the issue.
Craig Robbins [Sat, 7 Feb 2015 07:52:56 +0000 (17:52 +1000)]
Increase MapBlock::actuallyUpdateDayNightDiff() performance by 2-8x. ok @celeron55
Before patch, function consumes up to ~8% of the main server loop. After, ~0% (below level of 2 places of significance)
Loic Blot [Mon, 26 Jan 2015 11:21:18 +0000 (12:21 +0100)]
Replace getPlayer(playername) by getPlayer(peer_id) in some possible cases. ok @Zeno-
est31 [Tue, 6 Jan 2015 20:46:00 +0000 (21:46 +0100)]
README.txt: Simplify initial build steps by using git to fetch sources
Also simplify wget steps and apt-get install zlib1g-dev libjsoncpp-dev
Loic Blot [Mon, 26 Jan 2015 15:47:03 +0000 (16:47 +0100)]
Craftdef.cpp: Improve loop and mathematics for CraftDefinitionShaped::check
ngosang [Tue, 27 Jan 2015 00:17:04 +0000 (01:17 +0100)]
Fix Exit to OS button focus in Pause Menu
Loic Blot [Mon, 12 Jan 2015 16:01:41 +0000 (17:01 +0100)]
Network Layer 7 rework (Packet handling)
* Move networkcode to a dedicated directory
* Rename clientserver.h to network/networkprotocol.h (Better name) and sanitize some includes
* Create object NetworkPacket
* It stores command (opcode) and data separated
* It also stores peer_id
* Data reading can be done by using a streaming interface
* Change packet routing analysis
* Remove old conditional analysis
* Now uses function pointed analysis and add connection state ({Client,Server}::handlers)
* Connection state permit to categorize condition to handle before analyze packets
* Create a handler for depreciated messages, instead of duplicating code
kwolekr [Sun, 8 Feb 2015 17:45:19 +0000 (12:45 -0500)]
Hud: Modify Y-positioning of health/breath starbars to prevent overlapping with Hotbar