aboutsummaryrefslogtreecommitdiff
path: root/src/main.cpp
AgeCommit message (Collapse)Author
2017-03-18Server list cleanupShadowNinja
This removes the hacky server_dedicated pseudo-setting.
2016-10-25Windows: dont link to libraries that are already linked by cmakeadrido
This solves the problem whith building where build fails if the libaries have different names.
2016-05-17DB::loadBlock copy removal & DB backend cleanupLoic Blot
* Remove the copy from db::loadBlock by using a pointer to the destination * cleanup db backend, the child backend doesn't have to set their functions as virtual
2016-05-11Fix typo in the info printed by --versionCraig Robbins
2016-05-11Add platform name to --version informationCraig Robbins
2015-12-07Add seperate cache pathShadowNinja
This is set to the XDG cache path where possible. It's set to the app's cache path on Android.
2015-11-08Abort compile when attempting to build client with Irrlicht 1.8.2kwolekr
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-11-02Print direct command line responses to standard output instead of using the ↵Perttu Ahola
log system Using logging for these just makes them bloated and hard to read and overally just not neat at all.
2015-10-31Fix server crashing on Lua errorsShadowNinja
Previously, the server called FATAL_ERROR when a Lua error occured. This caused a (mostly useless) core dump. The server now simply throws an exception, which is caught and printed before exiting with a non-zero return value. This also fixes a number of instances where errors were logged multiple times.
2015-10-26Remove some abort() callsest31
abort() doesn't benefit from the high level abstractions from FATAL_ERROR.
2015-10-24Fix compilation under MSVC and remove unnecessary conditional function prototypekwolekr
Thanks to SmallJoker for pointing this out.
2015-10-19init_log_streams: check if log_filename is empty.Jun Zhang
Fixes #3262.
2015-10-14Always use errorstream for DEBUG_EXCEPTION_HANDLERShadowNinja
2015-10-14Refactor loggingShadowNinja
- Add warning log level - Change debug_log_level setting to enumeration string - Map Irrlicht log events to MT log events - Encapsulate log_* functions and global variables into a class, Logger - Unify dstream with standard logging mechanism - Unify core.debug() with standard core.log() script API
2015-09-06Use CUSTOM_LOCALEDIR if specifiedShadowNinja
2015-08-25Change i++ to ++iDavid Jones
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-21Remove profiler.h include where it's not needed. Remove some unreachable and ↵Loic Blot
very old code
2015-04-27Revert the upper-case PROJECT_NAME nonsense that was part of #2402sfan5
2015-04-26Tests: Modularize unit testingkwolekr
Split unit tests into separate files under src/unittest/ Give better unittest diagnostics Clean up some code
2015-04-01Move globals from main.cpp to more sane locationsCraig Robbins
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
2015-03-27Clean up and tweak build systemShadowNinja
* 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.
2015-03-07For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins
NDEBUG is defined), replace those usages with persistent alternatives
2015-03-06Don't start a server for map migrationShadowNinja
2015-03-06Clean up database API and save the local map on an intervalShadowNinja
2015-02-24Rename --do-unittests to --run-unittests as @Zeno- and @sfan5 requestedLoic Blot
2015-02-21Unit tests must be done at integration process.Loic Blot
* 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.
2015-02-17Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ↵Loic Blot
ServerMap::listAllLoadedBlocks and their database backends. This adds a speedup on database migration and /clearobjects command
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-12Small changes in the style of controlsngosang
2015-02-05Reduce gettext wide/narrow and string/char* conversionsShadowNinja
2015-02-02Create minidump on fatal Win32 exceptionskwolekr
Remove software exception translator function, simplifying exception handler macros. FatalSystemExceptions are left unhandled.
2015-01-18Reorganize supported video driver query mechanismskwolekr
2015-01-13Performance fixes.onkrot
2014-12-28Skip further loading of client if there was an exit signalChristophe Piveteau
2014-12-15Set WM_CLASS window hint for Xorgkwolekr
2014-12-14Fix misleading error when exiting the client from the main menuCraig Robbins
2014-12-13Provide more info if a subgame is not valid/foundCraig Robbins
2014-11-30Make hud use fontengine toosapier
Fix non coding style conforming glb_fontengine to g_fontengine Fix fonts never been deleted due to grabbed to often
2014-11-30Implement proper font handlingsapier
2014-11-29Fix MSVC compiling error (argc/argv not available to pass to init_gettext)SmallJoker
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-28Fix regression with command line --go optionCraig Robbins
2014-11-26Fix Android main menu crash, and user data directory check.Kodexky
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-23Fix regression with USE_REDIS (refactor_main)Craig Robbins
2014-11-23refactor main.cppCraig Robbins
2014-11-02Refactor the_game() to make it more understandable and maintainable.Craig Robbins
The following is a record of 31 commits before squashing: Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism" This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4. Basic reformatting with astyle -- additional formatting will be modified, manually, as the need for it is encountered Start "outlining" what a MinetestApp class might look like Add MinetestApp::shutdown() Converted class member functions to camelCase and created protos for new functions First stage of connect to server done Add get itemdefs/nodedefs/media code Init clouds, camera, sky, init GUI, HUD Input handling Client events, camera, sound, draw Fix wield hand getting stuck digging and add debug text back Fix FPS Added profiler graph back Fix FPS issue Need to work out what went wrong and clean up the copy/paste stuff Annotate Various: Rewrote limitFps() Limited scope of some variables Jitter calcs Reduce scope of objects Move some stuff out of ::run and minor formatting cleanup Scope reduction Function splits Removed old (broken) limitFps() Added exception handling back Fixed some formatting Reverted commented out unit tests (uncommented them) Slow clouds down on loading and media screens so the behaviour is like the original the_game() Formatting/style (no functional changes) Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism Fixed silly errors on my part Minor formatting cleanups Removed strange differentiation in FPS limiting when loading FPS limiting was done differently if cloud_menu_background was true, which does not make sense Cleaning up Add some comments
2014-08-23Add video driver selection to settings menu (based uppon idea from ↵sapier
webdesigner97)
2014-08-22Fix to to too two timessapier
2014-08-22Add player name length checkssapier