aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-02-16Performance Improvement: Use a cache which caches result for getFacePositions.Loic Blot
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
2015-02-16[Patch 2/4] Network rework: packet writing, sending and cleanupsLoic Blot
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
2015-02-15Fix unit test if there isn't a localhost address (for example FreeBSD ↵Loic Blot
jails), second part
2015-02-15Fix unit test if there isn't a localhost address (for example FreeBSD jails)Loic Blot
2015-02-15Only do the IPv6 unit test if IPv6 is enabledLoic Blot
2015-02-14Re-apply 4a6582c13c36cab457b78f32338c6bb4ab9ea58b broken since ↵Loic Blot
146f77fdb750833c649de7159a0833c398e14a4d
2015-02-13Suppress CGUITTFONT build warningsCraig Robbins
2015-02-12Minor fixes in translationsngosang
2015-02-12Fix gettext on MSVCBlockMen
2015-02-12Fix .zip extraction (mod store)ngosang
2015-02-12main.cpp rework * Move ClientLauncher class to a dedicated file * ↵Loic Blot
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
2015-02-12Remove unused variables to make clang happyLoic Blot
2015-02-12Small changes in the style of controlsngosang
2015-02-12Make Clang happy with lua lauxlib.c.Loic Blot
No functionnal change
2015-02-12Enable LUA_USE_POSIX if possible in bundled Luaest31
Fixes warning: src/lua/src/loslib.c:60: Warning: the use of `tmpnam' is dangerous, better use `mkstemp'
2015-02-12Fix Android compile warningCraig Robbins
2015-02-11Don't permit to open inventory is playerCAO isn't present. This prevent to ↵Loic Blot
open an empty inventory at player load. ok @zeno-
2015-02-11Fix issue #2279. ok @zeno-Loic Blot
2015-02-11Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" ↵Craig Robbins
setting * Increase performance (client) * Avoid changing a global value to solve a local problem
2015-02-11Fix Android build of narrow_to_wideShadowNinja
2015-02-11Revert "Remove workaround in itemdef.cpp to enable/disable/enable ↵Craig Robbins
"enable_shaders" setting" This reverts commit d25ff8fd2592f457b91e8a61240694af3902d23f.
2015-02-11Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" ↵Craig Robbins
setting * Increase performance (client) * Avoid changing a global value to solve a local problem
2015-02-11Fix FTBFS on GNU/Hurd platformMarkus Koschany
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.
2015-02-10Increase MapBlock::actuallyUpdateDayNightDiff() performance by 2-8x. ok ↵Craig Robbins
@celeron55 Before patch, function consumes up to ~8% of the main server loop. After, ~0% (below level of 2 places of significance)
2015-02-10Replace getPlayer(playername) by getPlayer(peer_id) in some possible cases. ↵Loic Blot
ok @Zeno-
2015-02-10Craftdef.cpp: Improve loop and mathematics for CraftDefinitionShaped::checkLoic Blot
2015-02-10Fix Exit to OS button focus in Pause Menungosang
2015-02-10Network Layer 7 rework (Packet handling)Loic Blot
* 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
2015-02-08Hud: Modify Y-positioning of health/breath starbars to prevent overlapping ↵kwolekr
with Hotbar
2015-02-07Fix rebase bug, make render loop use cache settinggregorycu
2015-02-06Fix warnings in CGUITTFont.cppCraig Robbins
2015-02-05Fix gettextShadowNinja
2015-02-05Reduce gettext wide/narrow and string/char* conversionsShadowNinja
2015-02-05Fix translation memory leakShadowNinja
2015-02-05Fix translation finding of overlay messagesShadowNinja
2015-02-05Mgv7 mountains: Remove divide by zero code that creates vast wallsparamat
Conf.example: Add mgv7 cave1, cave2 noiseparams Mgv7: Make skipping of mountain code relative to y=0 not water level Mountain noise offset now -0.6 to compensate Tune chance of large caves
2015-02-05Fix performance regressionCraig Robbins
2015-02-05Give full breath after deathSmallJoker
2015-02-05Fix dying of lava causes repeated death This is a bugfix for issue #81gregorycu
2015-02-05Suppress 4 gcc 4.9.2 warnings in CGUITTFont.cppngosang
2015-02-02Fix getCraftRecipe returing wrong reciep due to way to unspecific output ↵sapier
matching
2015-02-02Fix some MSVC-specific warnings and add debug path as an MSVC directorykwolekr
2015-02-02Create minidump on fatal Win32 exceptionskwolekr
Remove software exception translator function, simplifying exception handler macros. FatalSystemExceptions are left unhandled.
2015-02-01Randomly generate seed if field blank for any Settings instancekwolekr
2015-01-31Fix NDT_GLASSLIKE normalsKahrl
Remove inventorycube() workaround for default:glass in minimal game
2015-01-31Fix local map saving when joining a local server from the server tabCraig Robbins
Disables local map saving for all local server types See: https://github.com/minetest/minetest/issues/2024
2015-01-28Fix uninitialized variable m_database_delete in Database_SQLite3Kahrl
This fixes issue #2219
2015-01-27Write common mapgen params to map_meta.txt on world initializationkwolekr
2015-01-27Fix a crash (assert) when client set serial version < 24 in INITLoic Blot
When SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM To resolve the problem: * Create a different CLIENT_MIN_VERSION to handle this problem * Remove the exception * Use an assert in case of bad developer code
2015-01-27Fix missing map_meta.txt error when creating new worldskwolekr
A missing map_meta.txt should be treated simply as if there were a blank file.