summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
Commit message (Collapse)AuthorAge
* Move sha1.hpp and base64.hpp to util/Loic Blot2015-02-21
|
* Use proper CMakeLists.txt for network and client directoriesLoic Blot2015-02-21
|
* Unit tests must be done at integration process.Loic Blot2015-02-21
| | | | | | * 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.
* [Patch 2/4] Network rework: packet writing, sending and cleanupsLoic Blot2015-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* main.cpp rework * Move ClientLauncher class to a dedicated file * ↵Loic Blot2015-02-12
| | | | 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
* Network Layer 7 rework (Packet handling)Loic Blot2015-02-10
| | | | | | | | | | | | | | * 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
* Create minidump on fatal Win32 exceptionskwolekr2015-02-02
| | | | | Remove software exception translator function, simplifying exception handler macros. FatalSystemExceptions are left unhandled.
* Fix all warnings and remove -Wno-unused-but-set cflagkwolekr2015-01-18
|
* Add SemiDebug (-O1 with debug symbols) build mode and do not optimize Debug ↵kwolekr2015-01-18
| | | | | | | at all Add -Wall to Debug modes for all compilers and -Wabi for non-MSVC Use /Ox for MSVC Release mode (potentially higher optimization than /O2)
* Revert "Fix bug in debug build"kwolekr2015-01-18
| | | | This reverts commit 839c4a99cddcacdc19dee42286b7029c4c1e7800.
* Fix bug in debug buildCraig Robbins2015-01-19
| | | | -O1 results in executables that are completely useless for actuall debugging
* Set default value for ENABLE_REDIS to 0sfan52015-01-10
|
* Remove included SQLite3ShadowNinja2015-01-08
|
* Add SQLite3 libraries to buildbotsfan52015-01-08
|
* Fix -Wtype-limits warnings and remove disabling of -Wtype-limitsCraig Robbins2014-12-29
|
* Silence misc. warningskwolekr2014-12-23
|
* Add workaround for failing clang buildsfan52014-12-06
|
* Implement proper font handlingsapier2014-11-30
|
* Fix compiling if no endian.h foundPavel Puchkin2014-11-22
| | | | | | | | | | | | f7d6509 introduces error when no endian.h found in the system. Since "CHECK_INCLUDE_FILE" returns empty string instead of "0", when "cmake_config.h" is generated it has "#define CMAKE_HAVE_ENDIAN_H " line. Later we have "#define HAVE_ENDIAN_H CMAKE_HAVE_ENDIAN_H" in the "config.h", an thus "HAVE_ENDIAN_H" is also empty sting. Because of this, "#if HAVE_ENDIAN_H" is incorrect preprocessor directive. Signed-off-by: Craig Robbins <kde.psych@gmail.com>
* serialize.h: use machine native byte swapping if available, fall-back to ↵Rafael Reilova2014-11-21
| | | | | | | | | | | | | | | | | | | | | previous generic method if not (supported for GCC using endian.h, detection done in cmake) write/readARGB8() - just write 32-bit color in one op, instead of 4 1-byte ops cleanup: removed unneeded buffer init for some serialize-out functions use a #define for the fixed point factor in read/writeF1000() nodemetadata.cpp, nodetimer.cpp optimzation: simpler deserialize node position method staticobject.cpp: cleanup: use util/serialize.h inlines instead of its own de/serialization serialize.cpp: minor optimization/cleanup: avoid generation of unneeded string temporary CMakeLists.txt, cmake_config.h.in: detection of endian.h config.h: added HAVE_ENDIAN_H Commits due to feedback squashed Signed-off-by: Craig Robbins <kde.psych@gmail.com>
* Implement WieldMeshSceneNode which improves wield mesh renderingKahrl2014-11-08
| | | | | | | | | | | | | - Don't create and cache an extruded mesh for every (non-node) item. Instead use a single one per image resolution. - For cubic nodes reuse a single wield mesh too - Improve lighting of the wielded item - Increase far value of wield mesh scene camera, fixes #1770 - Also includes some minor refactorings of Camera and GenericCAO.
* Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, ↵paramat2014-11-08
| | | | blobs
* Split up mapgen.cppkwolekr2014-11-01
|
* Split settings into seperate source and header filesShadowNinja2014-09-21
| | | | This also cleans up settings a bit
* Add ZLIBWAPI_DLL and LEVELDB_DLL CMake options Remove legacy MINGWM10_DLL ↵sfan52014-07-29
| | | | CMake option Update 32-bit buildbot (OpenAL updated, zlib updated) Change build directory for buildbots to '_build' to prevent removal of Android build files Use -win64 suffix for 64-bit Windows builds Fixes #1476
* Remove indev mapgenproller2014-07-12
|
* Remove math mapgenproller2014-07-12
|
* Copy zlib and freetype dll to windows package toosapier2014-06-29
|
* OS X compatibility fixesMartin Doege2014-06-29
|
* Remove not really used guiTextInputMenusapier2014-06-17
|
* Works for debian and a few other distributions but fails for even more so ↵sapier2014-05-25
| | | | | | | back to old order Revert "Fix library link order" This reverts commit b743dcb942eb1a88bce2968c08b114058738758b.
* Fix library link ordersapier2014-05-24
|
* Add support for interlaced polarized 3d screenssapier2014-05-18
| | | | Add (experimental) support for topbottom as well as sidebyside 3d mode
* Replace deathscreen by formspec variantsapier2014-04-19
|
* Add redis database backendSfan52014-04-16
|
* Fix generating winresource.o with build dir != source dirSfan52014-03-11
|
* Replace pause and message menu by formspec onessapier2014-03-05
|
* Improved win32 file version informationsapier2014-03-02
|
* Fix test for broken LuaJIT versions, solves #1152Sfan52014-02-23
|
* Fix broken cross-compilingSfan52014-02-16
|
* Add check to avoid usage of broken LuaJIT < 2.0.0beta8sapier2014-02-13
|
* Add propper client initializationsapier2014-01-31
| | | | | | | | | | | | | -add client states to avoid server sending data to uninitialized clients -don't show uninitialized clients to other players -propper client disconnect handling Minor comment fixes in server Minor bugfixes in connection -improved peer id calculation -honor NDEBUG flag -improved disconnect handling -increased initial send window Remove some dead code
* Fix curl dll not getting installed when sound is disabledSfan52014-01-21
|
* Add formspec tableKahrl2014-01-13
|
* BUILD: fix cmake list parsinghasufell2014-01-05
| | | | because cmake is unable to parse it's own lists properly
* BUILD: prefer pkg-config for freetype2 detectionhasufell2014-01-05
| | | | | | | | | | | This can solve numerous problems such as: http://www.cmake.org/Bug/view.php?id=13959 http://www.cmake.org/Bug/view.php?id=14601 If pkg-config or freetype2.pc is not found, then fall back to the FindFreetype.cmake module logic. Restrict to UNIX since I only tested it here.
* Add option to link to OpenGL ES, fixes #1051Sfan52014-01-05
|
* Rewrite client media download and support hash-based remote downloadKahrl2013-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move most of the media-related code in client.cpp into a new class ClientMediaDownloader (clientmedia.cpp, clientmedia.h). Among other things, this class does the following things: - Download [remote_server][sha1] instead of [remote_server][name]. This is to support servers that provide the same file name with different contents. - Initially fetch [remote_server]index.mth. This file should follow the Minetest Hashset format (currently version 1) and contain a list of SHA1 hashes that exist on the server. - The list of needed SHA1s is uploaded (via HTTP POST) when index.mth is requested, so servers can optionally narrow down the list to the needs of the client. - If index.mth is missing (HTTP response code 404), we enter compat mode, fetching [remote_server][name] as before this commit. - remote_server can now contain multiple servers, separated by commas. The downloader code attempts to split requests between the different servers, as permitted by each server's index.mth. If one server claims to have a file but actually doesn't (or something fails), we ask a different server that also claims to have it. - As before, when none of the remote servers provide a particular file, we download it via the conventional method, i.e. using the minetest protocol: TOSERVER_REQUEST_MEDIA / TOCLIENT_MEDIA. - Bugfix: Every downloaded file's SHA1 is now verified against the SHA1 announced by the minetest server (before loading it and inserting it into the file cache). - Bugfix: Only send TOSERVER_RECEIVED_MEDIA when we actually have all media. This should fix #863.
* Implement httpfetch module and initialize it from main()Kahrl2013-12-13
| | | | | | | | Add curl_parallel_limit setting that will replace media_fetch_threads in a later commit. Fix a typo in MutexedQueue::pop_back() that made it impossible to compile code that used this function. (Noticed this while implementing httpfetch.)
* Fix win32/msvc i18n (quite UGLY version, blame Microsoft)sapier2013-11-11
|