aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
AgeCommit message (Collapse)Author
2017-08-24Network cleanup (#6302)Loïc Blot
* Cleanup network headers * Move peerhandler to a specific header to reduce compilation times * Move socket.cpp/h to network folder * More work * Network code cleanups * Move socket.{cpp,h} to network folder * Move Address object to network/address.{cpp,h} * Move network exceptions to network/networkexceptions.h * Client: use unique_ptr for Connection * Server/ClientIface: use shared_ptr for Connection * Format fixes * Remove socket.cpp socket.h from clang-format whitelist * Also fix NetworkPacket code style & make it under clang-format
2017-07-18Copy lua51.dll (luajit) to bindir (#6148)adrido
2017-07-07Expose getPointedThing to LuaDániel Juhász
This commit introduces Raycast, a Lua user object, which can be used to perform a raycast on the map. The ray is continuable, so one can also get hidden nodes (for example to see trough glass).
2017-07-06Mapgen: Add Carpathian mapgen (#6015)Vaughan Lapsley
2017-06-27Fix msvc annoyances (#5963)adrido
* MSVC: Fix '/std:c++11' is not a valid compiler option * MSVC/MINGW: Define 'WIN32_LEAN_AND_MEAN' for the whole project In some obscure cases 'Windows.h" got includet before that definition, which leaded to compilation warnings+errors * MSVC: '/arch:SSE' is only available for x86 * MSVC: Fix float conversation * MSVC/MINGW: use winthreads on Windows * MSVC: 'USE_CMAKE_CONFIG' might be already definied by CMake build system * MSVC: Use all available cpu cores for compiling * Add missing include ctime and use std::time_t
2017-06-26Isolate irrlicht references and use a singleton (#6041)Loïc Blot
* Add Device3D class which will contain IrrlichtDevice interface move getSupportedVideoDrivers to Device3D Add Device3D singleton & use it in various places Rename Device3D to Rendering engine & add helper functions to various device pointers More singleton work RenderingEngine owns draw_load_screen move draw functions to RenderingEngine Reduce IrrlichtDevice exposure and guienvironment RenderingEngine: Expose get_timer_time() to remove device from guiEngine Make irrlichtdevice & scene manager less exposed * Code style fixes * Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly * enum paralax => enum parallax
2017-06-20Merge cguittfont lib in irrlicht change folder. (#6016)Loïc Blot
* Merge cguittfont lib in irrlicht change folder. This remove hack and static lib for FreeType
2017-06-14Remove legacy content_abm.{cpp,h}Loïc Blot
2017-06-11Improve the path select GUI (#5852)red-001
- Allow lua to chose whatever directories or files can be selected - Fix selecting directories - Rename dialog to `guiPathSelectMenu` from `guiFileSelectMenu` - Rename lua function for opening the menu from `show_file_open_dialog` to `show_path_select_dialog` - Remove duplicate code and fix code style. Related changes - fix `clang-format` whitelist. - Regenerate minetest.conf.example
2017-06-06Revert "Remove deprecated code segments (#5891)"Loïc Blot
This reverts commit 599e13e95e81aadb959c9f3715aec9b425ede084.
2017-06-04Remove deprecated code segments (#5891)Thomas--S
2017-06-04Minetest for C++11 (CMakeLists + Travis)Loic Blot
* Move GCC to GCC 6 & GCC 7 * Move Clang to Clang 3.6 & Clang 4.0 * LINT moves from Clang 3.9 to Clang 4.0 * Move XCode 7.3 to 8.0 * Use more travis tricks to install compilers instead of adding complexity to our build script * Clang format fixes on checked files (compat Cpp11 instead of Cpp03) * Mingw GCC update from 4.8.4 to 5.3 (Ubuntu Xenial) * Drop mingw cmake generated files and add them to gitignore
2017-05-06Clean up numeric.h and split FacePositionCache from itShadowNinja
I also optiized FacePositionCache a bit: I removed a map lookup and vector copy from both branches of getFacePosition.
2017-05-04Remove CMAKE -ffast-math flag from OSX/FreeBSDVaughan Lapsley
Fixes issue: #4274 I have tested on MacOS 10.12.4 Requires testing on: FreeBSD, Windows and Linux which I do not have access to.
2017-04-23Player data to Database (#5475)Loïc Blot
* Player data to Database Add player data into databases (SQLite3 & PG only) PostgreSQL & SQLite: better POO Design for databases Add --migrate-players argument to server + deprecation warning * Remove players directory if empty
2017-04-17MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock ↵Perttu Ahola
copying done in the main thread Cache size is configurable by the meshgen_block_cache_size (default 20 MB). New profiler stats: - MeshUpdateQueue MapBlock cache hit % - MeshUpdateQueue MapBlock cache size kB Removes one type of stutter that was seen on the client when received MapBlocks were being handled. (the "MeshMakeData::fill" stutter) Kind of related to at least #5239 Originally preceded by these commits, now includes them: - Move the mesh generator thread into src/mesh_generator_thread.{cpp,h} - mesh_generator_thread.cpp: Update code style - MeshUpdateThread: Modify interface to house a different implementation: Actual functionality will be changed by next commits. - MeshMakeData: Add fillBlockData() interface (so that caller can fill in stuff from eg. a MapBlock cache)
2017-04-07Windows: Skip cmd for release builds (#5416)adrido
2017-04-02Update embedded jsoncpp from unk version to 0.10.6 + move libs to lib/ ↵Loïc Blot
instead of src/ (#5473) * Update embedded jsoncpp from unk version to 0.10.6 0.10.6 is last release without c++11 * Make jsoncpp more compliant with its amalgamate Jsoncpp cpp file should be upper, make the library like it does in amalgamate * Reorganization: move minetest embedded libs outside of source tree to /lib * Fix a dead grep in LINT
2017-02-04Add ItemStack key-value meta storagerubenwardy
2017-02-04Derive NodeMetadata from Metadatarubenwardy
2017-01-20Remove `mathconstants.h` and use the correct way to get `M_PI` in MSVC. (#5072)red-001
2017-01-08Move ServerEnvironment to dedicated cpp/header filesLoic Blot
* also cleanup some unneeded inclusions
2017-01-08Move ClientEnvironment to dedicated cpp/header filesLoic Blot
2017-01-04Improve getPointedThing() (#4346)Dániel Juhász
* Improved getPointedThing() The new algorithm checks every node exactly once. Now the point and normal vector of the collision is also returned in the PointedThing (currently they are not used outside of the function). Now the CNodeDefManager keeps the union of all possible nodeboxes, so the raycast won't miss any nodes. Also if there are only small nodeboxes, getPointedThing() is exceptionally fast. Also adds unit test for VoxelLineIterator. * Cleanup, code move This commit moves getPointedThing() and Client::getSelectedActiveObject() to ClientEnvironment. The map nodes now can decide which neighbors they are connecting to (MapNode::getNeighbors()).
2017-01-02Move TileAnimation code to seperate filesfan5
2016-12-21Don't ship with broken languages (#4940)est31
2016-12-07Liquids: Update flow on block loadMillersMan
When loading a block add liquid-nodes that might flow away or spread to neighbours to the transforming_liquid queue.
2016-11-07Windows: Add manifest file and set "High DPI Aware" trueadrido
This resolves washy font and incorrect mouse handling on Windows if a screen with high DPI is used.
2016-11-06MSVC: Generate debug information for release builds (#4674)SmallJoker
Replace parameters with the equivalent /Ox
2016-10-11Disable cmake message concerning WIN32 on non-windows systemsRogier
2016-10-08Move RemotePlayer code to its own cpp/headerLoic Blot
2016-09-29Only include keycode unittests in client build (fixes #4559)sfan5
2016-09-21Don't use ZLIB_WINAPI if the required DLL is not provided to CMakesfan5
This allows you to use an stdcall zlib (zlib1.dll instead of zlibwapi.dll) when building Minetest for win32.
2016-09-13Fix "unknown CMake command "check_library_exists" (#4517)Eric Mountain
Adds CMakeLists.txt include to fix this issue: $ cmake . -DBUILD_SERVER=TRUE -DBUILD_CLIENT=FALSE \ -DCMAKE_BUILD_TYPE=Release -DENABLE_CURL=TRUE -DENABLE_CURSES=FALSE \ -DENABLE_FREETYPE=TRUE -DENABLE_GETTEXT=FALSE \ -DENABLE_POSTGRESQL=FALSE -DENABLE_SOUND=FALSE -DENABLE_LUAJIT=TRUE \ -DIRRLICHT_SOURCE_DIR=$HOME/irrlicht-1.8.4 -LH ... CMake Error at src/CMakeLists.txt:339 (check_library_exists): Unknown CMake command "check_library_exists". ...
2016-07-03Add MapSettingsManager and new mapgen setting script API functionskwolekr
This commit refactors the majority of the Mapgen settings system. - MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap, instead of the EmergeManager. - New Script API functions added: core.get_mapgen_setting core.get_mapgen_setting_noiseparams, core.set_mapgen_setting, and core.set_mapgen_setting_noiseparams. - minetest.get/set_mapgen_params are deprecated by the above new functions. - It is now possible to view and modify any arbitrary mapgen setting from a mod, rather than the base MapgenParams structure. - MapgenSpecificParams has been removed.
2016-07-03openbsd's port fix for non Linux systems w/o libRTDavid Carlier
X11 headers are not always in expected locations, add them to include list. Modifications by est31: indentation fixes, commit message improved
2016-05-31Add colored text (not only colored chat).Ekdohibs
Add documentation, move files to a proper place and avoid memory leaks. Make it work with most kind of texts, and allow backgrounds too.
2016-05-22Implement a PostgreSQL backendLoic Blot
2016-03-07Move AreaStore to utilShadowNinja
2016-01-14Add Valleys mapgen.Duane Robertson
2015-12-05Improve LuaJIT detectionFerdinand Thiessen
On openSUSE luajit is not detected correctly. This is because openSUSE is using a lua version suffix, like other Linux distributions do it also. So the include directory is: include/luajit-5_1-2.0
2015-11-11Mapgen: Add flat mapgen in hidden formparamat
2015-11-06Add server side ncurses terminalest31
This adds a chat console the server owner can use for administration or to talk with players. It runs in its own thread, which makes the user interface immune to the server's lag, behaving just like a client, except timeout. As it uses the same console code as the f10 console, things like nick completion or a scroll buffer basically come for free. The terminal itself is written in a general way so that adding a client version later on is just about implementing an interface. Fatal errors are printed after the console exists and the ncurses terminal buffer gets cleaned up with endwin(), so that the error still remains visible. The server owner can chose their username their entered text will have in chat and where players can send PMs to. Once the username is secured with a password to prevent anybody to take over the server, the owner can execute admin tasks over the console. This change includes a contribution by @kahrl who has improved ncurses library detection.
2015-10-06Mapgen: Add 4D fractal mapgenparamat
2015-09-01Warn when building without cURLShadowNinja
2015-09-01Enable server build when no builds are enabledShadowNinja
2015-08-23Clean up threadingShadowNinja
* Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
2015-07-27Add AreaStore data structureest31
2015-06-29Fix *BSD build with GNU iconvkwolekr
2015-06-27Add minimap featureRealBadAngel