summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
Commit message (Collapse)AuthorAge
* 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.
* Add AreaStore data structureest312015-07-27
|
* Fix *BSD build with GNU iconvkwolekr2015-06-29
|
* Add minimap featureRealBadAngel2015-06-27
|
* Add utf-8 conversion utilities and re-add intlGUIEditBoxest312015-06-13
|
* Split ObjDef/ObjDefManager out to objdef.cppkwolekr2015-05-18
|
* Add -Wsign-compare for Clang builds and fix some signed/unsigned compiler ↵kwolekr2015-05-16
| | | | warnings
* Add LibGMPest312015-05-11
| | | | Uses system provided libgmp if found, if not it falls back to mini-gmp.
* Make Git version detection use VERSION_STRING instead of tagsShadowNinja2015-05-05
| | | | | | | | | | This fixes the problem where 0.4.12-dev versions were erroneously shown as 0.4.11-dev because the tag was added on a separate branch. It also fixes a similar issue when builders didn't fetch new tags when updating. This also removes the number-of-commits-since-tag field, since it's incompatible with this. Said field doesn't seem to be useful anyway if you have the commit hash.
* Revert the upper-case PROJECT_NAME nonsense that was part of #2402sfan52015-04-27
|
* Tests: Modularize unit testingkwolekr2015-04-26
| | | | | | Split unit tests into separate files under src/unittest/ Give better unittest diagnostics Clean up some code
* Link against shlwapi.lib and unify linker input sources for Windowskwolekr2015-04-08
|
* Fix freetype detectionDmitry Marakasov2015-04-08
| | | | Don't reinvent freetype detection, use working one from cmake.
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
| | | | | | | | | | | | Move debug streams to log.cpp|h Move GUI-related globals to clientlauncher Move g_settings and g_settings_path to settings.cpp|h Move g_menuclouds to clouds.cpp|h Move g_profiler to profiler.cpp|h
* Clean scaling pre-filter for formspec/HUD.Aaron Suen2015-04-01
|
* Clean up and tweak build systemShadowNinja2015-03-27
| | | | | | | | | | | | | | | | * Combine client and server man pages. * Update unit test options and available databases in man page. * Add `--worldname` to man page. * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`. * Disable server build by default on all operating systems. * Make `ENABLE_FREETYPE` not fail if FreeType isn't found. * Enable LevelDB, Redis, and FreeType detection by default. * Remove the `VERSION_PATCH_ORIG` hack. * Add option to search for and use system JSONCPP. * Remove broken LuaJIT version detection. * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`. * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`. * Clean up style of CMake files.
* Standalone bundle for OSX (w/ dependencies!)Pavel Puchkin2015-03-17
|
* Replace std::list to std::vector into tile.cpp (m_texture_trash) and move ↵Loic Blot2015-03-05
| | | | tile.hpp to src/client/
* 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>