41 Commits

Author SHA1 Message Date
kwolekr
55913a1218 Mapgen: Refactor mapgen creation and management
- Move mapgen creation logic out of EmergeManager and into Mapgen
- Internally represent mapgen type as an enum value, instead of a string
- Remove the need for a MapgenFactory per mapgen
2016-07-03 14:04:11 -04:00
est31
a334f5f527 Add option to not send pre v25 init packet
The legacy init packet (pre v25) sends information about the client's
password that a server could use to log in to other servers if the
username and password are the same. All the other benefits of SRP of
protocol v25 are missed if the legacy init packet is still sent during
connection creation.

This patch adds an option to not send the v25 init packet. Not sending
the v25 packet means breaking compat with pre v25 servers, but as the
option is not enabled by default, no servers are affected unless the
user explicitly flips the switch. More than 90% of the servers on the
serverlist support post v25 protocols.

The patch also fixes a bug with greying out of non compliant servers
being done wrongly, the min and max params were mixed.
2016-03-15 17:20:09 +01:00
est31
77deb12da0 Remove wstrgettext
Everywhere where wstrgettext was used, its output was converted back
to utf8. As wstrgettext internally converts the return value
from utf8 to wstring, it has been a waste. Remove the function, and
use strgettext instead.
2015-10-18 02:29:06 +02:00
kwolekr
3272113636 Hide mapgens from main menu not intended for end users 2015-10-04 17:11:41 -04:00
kwolekr
8c2bf6e89b Add emerge completion callback mechanism
Major refactor of emerge.cpp and Map::init/finishBlockMake
2015-10-04 16:27:50 -04:00
est31
713002778f Optional reconnect functionality
Enable the server to request the client to reconnect.

This can be done with the now extended minetest.request_shutdown([reason], [reconnect]) setting.
2015-07-23 07:38:13 +02:00
est31
dd302e0032 Use UTF-8 instead of narrow
Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places.
Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
2015-07-08 10:12:44 +02:00
Ilya Zhuravlev
415372ca13 Use utf-8 in formspecs 2015-06-13 19:49:55 +02:00
ShadowNinja
d85feedccc Add core.get_dir_list 2015-05-16 18:33:22 -04:00
Craig Robbins
0731f9ed2a Move globals from main.cpp to more sane locations
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-04-01 23:04:25 +10:00
Craig Robbins
00b9ca5e77 Fix typo 2015-03-29 22:08:14 +10:00
Craig Robbins
918e2548d0 Add Lua function get_video_modes() for main menu
Also updates and uses porting::getSupportedVideoModes()
2015-03-28 13:26:03 +10:00
ShadowNinja
2de60ae349 Clean up and tweak build system
* 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-27 15:00:48 -04:00
est31
256e16dbea Fix game minetest.conf default settings
This was a regression introduced by f6e4c5d9cf459e8278a76a2beaee59732e841458 .
2015-03-18 13:03:02 -04:00
Craig Robbins
27791ee1aa For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives 2015-03-07 22:41:47 +10:00
est31
22ea6a5d81 Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist
Client now informs about incompatible servers from the list, this permits to prevent the protocol movements.
Server announces its supported protocol versions to master server
2015-02-18 16:09:59 +01:00
ngosang
b19cbb43a0 Fix .zip extraction (mod store) 2015-02-12 15:27:20 +01:00
ShadowNinja
0a2e53077b Reduce gettext wide/narrow and string/char* conversions 2015-02-05 03:24:22 -05:00
kwolekr
87330183bf Fix all warnings and remove -Wno-unused-but-set cflag 2015-01-18 23:29:19 -05:00
kwolekr
5bb6adee32 Reorganize supported video driver query mechanisms 2015-01-18 13:24:25 -05:00
kwolekr
6a136cf876 Add core.get_mapgen_names() to Main Menu API (and use it)
Also rewrite mapgen registration for static initialization
2014-12-29 21:23:51 -05:00
sapier
e6e2f1de60 Add video driver selection to settings menu (based uppon idea from webdesigner97) 2014-08-23 01:55:54 +02:00
SmallJoker
f9ef79e40e Fix the *CDP display 2014-08-15 21:46:04 +02:00
sapier
8e5906f868 Remove a lot of superfluous ifndef USE_CURL checks 2014-06-19 19:05:37 +02:00
sapier
bb33052a28 Fix regression dirt texture not beeing default in non cloud menu 2014-06-14 20:51:57 +02:00
ShadowNinja
6001210df6 Organize builtin into subdirectories 2014-05-07 17:14:23 -04:00
ShadowNinja
e414ce7d7d Fix code style of async API 2014-04-27 16:15:53 -04:00
ShadowNinja
5805a3dc4c Remove dependency on marshal and many other async changes
This makes a number of changes:
  * Remove the dependency on marshal by using string.dump and loadstring.
  * Use lua_tolstring rather than having Lua functions pass string lengths to C++.
  * Move lua_api/l_async_events.* to cpp_api/s_async.*, where it belongs.
  * Make AsyncWorkerThread a child of ScriptApiBase, this removes some duplicate functionality.
  * Don't wait for async threads to shut down.  (Is this safe?  Might result in corruption if the thread is writing to a file.)
  * Pop more unused items from the stack
  * Code style fixes
  * Other misc changes
2014-04-27 16:15:53 -04:00
sapier
f4753a9cd4 Add support for dpi based HUD scaling
Add support for (configurable) multiline hotbar
Improved screensize handling
Add userdefined gui scale by BlockMen
2014-04-27 21:53:13 +02:00
sapier
1e3f261db4 Minor fixes for file/modlist download in mainmenu 2014-04-09 20:22:21 +02:00
sapier
e75474f239 Fix invalid check for fread error on extracting zip 2014-02-07 21:29:31 +01:00
Kahrl
d58f5a0878 Add formspec table 2014-01-13 18:11:08 -05:00
Ilya Zhuravlev
7c1c3e1f7b Fix absence of images when compiled with RUN_IN_PLACE=0. 2014-01-05 12:43:40 +02:00
sapier
723f6e156a Implement search tab and version picker 2013-12-11 23:07:38 +01:00
sapier
b1a9e58d6a Fix modstore/favourites hang by adding asynchronous lua job support 2013-11-29 22:09:14 +01:00
sapier
a0f5cd74d0 Fix invalid usage of temporary object in mainmenu json conversion 2013-11-11 23:23:58 +01:00
Kahrl
99ae783310 Show git hash in version string at top left corner of window 2013-09-28 21:30:17 +02:00
BlockMen
78c035708b Fix umlauts/special character issue in lua gettext 2013-08-19 22:23:41 +02:00
Kahrl
416531bf72 Allow SIGINT to kill mainmenu again 2013-08-19 15:49:36 +02:00
sapier
281dc6a502 Add translation for main menu
Add engine.gettext() and remove gettext() calls in guiFormspecMenu.cpp
2013-08-17 16:01:43 +02:00
Kahrl
ee90d438b8 Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00