aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
Commit message (Collapse)AuthorAge
* Implement mod communication channels (#6351)Loïc Blot2017-09-26
| | | | | | | | | | Implement network communication for channels * Implement ModChannel manager server side to route incoming messages from clients to other clients * Add signal handler switch on client & ModChannelMgr on client to handle channels * Add Lua API bindings + client packet sending + unittests * Implement server message sending * Add callback from received message handler to Lua API using registration method
* Add clientside translations.Ekdohibs2017-08-24
|
* Dont define min/max macros in minwindef.h (#6308)adrido2017-08-24
|
* Network cleanup (#6302)Loïc Blot2017-08-24
| | | | | | | | | | | | | | | | | | | | | | | * 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
* Copy lua51.dll (luajit) to bindir (#6148)adrido2017-07-18
|
* Expose getPointedThing to LuaDániel Juhász2017-07-07
| | | | | | 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).
* Mapgen: Add Carpathian mapgen (#6015)Vaughan Lapsley2017-07-06
|
* Fix msvc annoyances (#5963)adrido2017-06-27
| | | | | | | | | | | | | | | | | | | | * 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
* Isolate irrlicht references and use a singleton (#6041)Loïc Blot2017-06-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Merge cguittfont lib in irrlicht change folder. (#6016)Loïc Blot2017-06-20
| | | | | | * Merge cguittfont lib in irrlicht change folder. This remove hack and static lib for FreeType
* Remove legacy content_abm.{cpp,h}Loïc Blot2017-06-14
|
* Improve the path select GUI (#5852)red-0012017-06-11
| | | | | | | | | | | - 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
* Revert "Remove deprecated code segments (#5891)"Loïc Blot2017-06-06
| | | | This reverts commit 599e13e95e81aadb959c9f3715aec9b425ede084.
* Remove deprecated code segments (#5891)Thomas--S2017-06-04
|
* Minetest for C++11 (CMakeLists + Travis)Loic Blot2017-06-04
| | | | | | | | | | | * 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
* Clean up numeric.h and split FacePositionCache from itShadowNinja2017-05-06
| | | | | I also optiized FacePositionCache a bit: I removed a map lookup and vector copy from both branches of getFacePosition.
* Remove CMAKE -ffast-math flag from OSX/FreeBSDVaughan Lapsley2017-05-04
| | | | | | | | 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.
* Player data to Database (#5475)Loïc Blot2017-04-23
| | | | | | | | | | | | * 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
* MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock ↵Perttu Ahola2017-04-17
| | | | | | | | | | | | | | | | | | | | | 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)
* Windows: Skip cmd for release builds (#5416)adrido2017-04-07
|
* Update embedded jsoncpp from unk version to 0.10.6 + move libs to lib/ ↵Loïc Blot2017-04-02
| | | | | | | | | | | | | | | | 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
* Add ItemStack key-value meta storagerubenwardy2017-02-04
|
* Derive NodeMetadata from Metadatarubenwardy2017-02-04
|
* Remove `mathconstants.h` and use the correct way to get `M_PI` in MSVC. (#5072)red-0012017-01-20
|
* Move ServerEnvironment to dedicated cpp/header filesLoic Blot2017-01-08
| | | | * also cleanup some unneeded inclusions
* Move ClientEnvironment to dedicated cpp/header filesLoic Blot2017-01-08
|
* Improve getPointedThing() (#4346)Dániel Juhász2017-01-04
| | | | | | | | | | | | | | | | | | | * 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()).
* Move TileAnimation code to seperate filesfan52017-01-02
|
* Don't ship with broken languages (#4940)est312016-12-21
|
* Liquids: Update flow on block loadMillersMan2016-12-07
| | | | | When loading a block add liquid-nodes that might flow away or spread to neighbours to the transforming_liquid queue.
* Windows: Add manifest file and set "High DPI Aware" trueadrido2016-11-07
| | | | | This resolves washy font and incorrect mouse handling on Windows if a screen with high DPI is used.
* MSVC: Generate debug information for release builds (#4674)SmallJoker2016-11-06
| | | Replace parameters with the equivalent /Ox
* Disable cmake message concerning WIN32 on non-windows systemsRogier2016-10-11
|
* Move RemotePlayer code to its own cpp/headerLoic Blot2016-10-08
|
* Only include keycode unittests in client build (fixes #4559)sfan52016-09-29
|
* Don't use ZLIB_WINAPI if the required DLL is not provided to CMakesfan52016-09-21
| | | | | This allows you to use an stdcall zlib (zlib1.dll instead of zlibwapi.dll) when building Minetest for win32.
* Fix "unknown CMake command "check_library_exists" (#4517)Eric Mountain2016-09-13
| | | | | | | | | | | | | 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". ...
* Add MapSettingsManager and new mapgen setting script API functionskwolekr2016-07-03
| | | | | | | | | | | | | | | 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.
* openbsd's port fix for non Linux systems w/o libRTDavid Carlier2016-07-03
| | | | | | X11 headers are not always in expected locations, add them to include list. Modifications by est31: indentation fixes, commit message improved
* Add colored text (not only colored chat).Ekdohibs2016-05-31
| | | | | Add documentation, move files to a proper place and avoid memory leaks. Make it work with most kind of texts, and allow backgrounds too.
* Implement a PostgreSQL backendLoic Blot2016-05-22
|
* Move AreaStore to utilShadowNinja2016-03-07
|
* Add Valleys mapgen.Duane Robertson2016-01-14
|
* Improve LuaJIT detectionFerdinand Thiessen2015-12-05
| | | | | | | 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
* Mapgen: Add flat mapgen in hidden formparamat2015-11-11
|
* Add server side ncurses terminalest312015-11-06
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Mapgen: Add 4D fractal mapgenparamat2015-10-06
|
* Warn when building without cURLShadowNinja2015-09-01
|
* Enable server build when no builds are enabledShadowNinja2015-09-01
|
* Clean up threadingShadowNinja2015-08-23
| | | | | | | | | | | | | | | | | | | | * 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.