Commit Graph

274 Commits

Author SHA1 Message Date
rubenwardy 9b771420d1
Fix installed modpacks not being found correctly 2022-05-21 16:16:37 +02:00
rubenwardy 59af35cf68
Content store: Fix bugs relating to packages list size 2022-05-21 16:16:36 +02:00
paramat b2eb5fca5b
Remove 'Reset singleplayer world' button from full menu on Android (#8017)
Make button appearence dependent on menustyle not platform.
Button only functions with simple menu.
2022-05-21 16:16:35 +02:00
SmallJoker 24fb09eb40
Fix ignored mod.conf mod name for world.mt (broken by e8eaab6)
Patch supplied by @pgimeno. Thank you.
2022-05-21 16:16:35 +02:00
rubenwardy caa02f7b10
Fix ContentDB packages timing out by using download_file instead (#7891) 2022-05-21 16:16:34 +02:00
random-geek bf317a486d
Content store: Fix missing screenshot in package view dialog 2022-05-21 16:16:34 +02:00
paramat d36ff1f24d
Main menu style: Set to 'full' for Android, remove 'auto' option (#7936) 2022-05-21 16:16:33 +02:00
rubenwardy 44fb7e708e
Disable game bar and header on Android (#7940) 2022-05-21 16:16:32 +02:00
Paul Ouellette 43ddecfffd
Improve world configure menu (#7922)
Replace `Subgame mods` with <game name> mods.
Display game description on left instead of dependencies.
Fix double DIR_DELIM in some paths.
2022-05-21 16:16:31 +02:00
ANAND d86b78a903
Content store: Hide navigation buttons when there's no packages 2022-05-21 16:16:29 +02:00
stujones11 b42a49f264
Android: Improve UI scaling on smaller high-density displays (#7834)
* Android: Improve UI scaling on smaller high-density displays
2022-05-21 16:16:27 +02:00
ANAND 400811345e
dlg_contentstore.lua: Various fixes and improvements (#7612)
Add missing 'core.formspec_escape' to 'get_screenshot'.
Add warning label when no packages fetched.
Internal name of the "Update" button was the same as "Install". Rename to 'update_'.
2022-05-21 16:16:26 +02:00
ChimneySwift 0b17717cdb
Escape special characters when searching the server list (#7842)
Simple fix to stop searching for "[" or other special characters causing a crash.
2022-05-21 16:16:25 +02:00
srfqi 27a428dc8a
Conf.example generation: Remove quotation marks from noise flags (#7844) 2022-05-21 16:16:25 +02:00
random-geek 732605b7c6
Improve content store layout (#7806) 2022-05-21 16:16:24 +02:00
paramat b72c46443f
Advanced settings: Fix noise parameter flags (#7819)
Populate the 'checkboxes' table with bools when creating the editing formspec.
2022-05-21 16:16:23 +02:00
SmallJoker 622db08246
Mainmenu: Clean up and improve advanced settings dialogues (#7802)
Improvements:
1. Formspec size and description box are calculated last
2. Width and height are now adjustable per setting type
3. Error message (dialogdata.error_message) shortens the description field and is placed below
4. Add more spacing for larger fonts
5. More comments and extensible by setting different height and width values
2022-05-21 16:16:22 +02:00
paramat 8c0937caee
Advanced settings tree menu: Resize, fix clipped values (#7790) 2022-05-21 16:16:22 +02:00
paramat 62f9d15714
Advanced settings menu: Centre setting edit box (#7778) 2022-05-21 16:16:21 +02:00
paramat 1dba8b8933
Various grammar improvements (#7769)
In builtin//pkgmgr.lua, README.md and settingtypes.txt.
Based on 2 pull requests by comradekingu.
2022-05-21 16:16:19 +02:00
SmallJoker 19e83f39db
Remove settings properly (#7676) 2022-05-21 16:16:19 +02:00
SmallJoker faeb4bbc5f
Menu content tab: Fix clipped description and missing depends (#7703) 2022-05-21 16:16:18 +02:00
paramat 2d06c7f22c
Content tab: Fix clipped text in texture pack button (#7667)
Wider buttons to not clip 'Disable Texture Pack' text when using a
small game window (1024x600, the default).
2022-05-21 16:16:17 +02:00
HybridDog a269d45a3b
World config: Add modpack descriptions and remove dependencies there (#7397)
* Allow adding descriptions to modpacks using description.txt
* Use a proper multiline formspec element: textarea
2022-05-21 16:16:16 +02:00
texmex a96e24cb15
Make the primary, flow-advancing action the right-most (#7594) 2022-05-21 16:16:14 +02:00
numzero e996c3af5f
Disable shaders GUI on unsupported drivers (#7563)
* Disable shaders GUI on unsupported drivers (#2060)

* Disable shaders if unavailable
2022-05-21 16:16:13 +02:00
rubenwardy 76fc93c91d
Update to new ContentDB API 2022-05-21 16:16:05 +02:00
nOOb3167 4f676807e2
Make os.tempfolder work correctly for MinGW & MSVC (#7443) 2022-05-21 16:16:04 +02:00
nOOb3167 738d5dfd3b
Fix builtin lua function os.tempfolder (#7368)
* Fix builtin lua function os.tempfolder
2022-05-21 16:16:01 +02:00
HybridDog 0a09472aee
Tidy up dlg_config_world.lua (#5351)
Move code to pkgmgr
2022-05-21 16:16:00 +02:00
rubenwardy 595d45bc57
Add screenshots to online content browser 2022-05-21 16:15:59 +02:00
rubenwardy de55f24677
Add updating to online content browser 2022-05-21 16:15:59 +02:00
rubenwardy 149a82de6b
Fix description wrapping in browse online content 2022-05-21 16:15:58 +02:00
rubenwardy b744f1d46f
Add online content repository
Replaces mods and texture pack tabs with a single content tab
2022-05-21 16:15:57 +02:00
rubenwardy fc13f12584
Load dependencies and description from mod.conf 2022-05-21 16:15:53 +02:00
paramat f883baa51e
Rename 'subgame' to 'game' 2022-05-21 16:15:52 +02:00
srfqi 77f9da1c8a
Delete world dialog: Move buttons to avoid double click deletion
Move confirmation delete button to never overlap initial delete button,
to avoid world deletion by accidental double click.
2022-05-21 16:15:50 +02:00
Tre d08af64363
Add a refresh button to the serverlist (#6957)
* add refresh button

* Make search and refresh buttons smaller

* Change to image button
2022-05-21 16:15:49 +02:00
PorygonZRocks 854202903f
Add main_menu_style setting 2022-05-21 16:15:46 +02:00
Tre b471d21427
Main menu: Change tabs to 'Start Game' and 'Join Game' (#6955) 2022-05-21 16:15:43 +02:00
srfqi 1c624759bb
Advanced settings: Add range check for float type 2022-05-21 16:15:40 +02:00
nOOb3167 a7436a3bd4
Fix error if setting menu_last_game is not a valid game 2022-05-21 16:15:40 +02:00
Ezhh 5849b6fc97
Give subgames the ability to disallow specific mapgens (#6792) 2022-05-21 16:15:38 +02:00
Tre 4ed4d02f93
Change Normal Map setting to be less ambigous 2022-05-21 16:15:38 +02:00
Ezhh 5fdad16377
Mainmenu: Improve button alignment 2022-05-21 16:15:32 +02:00
Ezhh eaad3edd8d
Mainmenu: Make capitalisation consistent in mainmenu and advanced settings 2022-05-21 16:15:32 +02:00
Ezhh 93e0d1b036
Improve Settings tab button alignments 2022-05-21 16:15:31 +02:00
Ezhh 3838b9c096
Fix Settings tab formspec alignment (#6585) 2022-05-21 16:15:29 +02:00
srfqi cccbbc2187
Improvements/fixes for noise parameter input in advanced settings
Formspec input for each individual noise parameter and flag.
Allow noise flags to be set in advanced settings, previously only settable
in minetest.conf.

Standardise 'group format' for noise parameters set in minetest.conf, as
only these support noise flags. However the older 'single line' format is
still accepted to support existing minetest.conf files.
Therefore auto-generate minetest.conf.example with noise parameters in
'group format'.

Setting 'type' in settingtypes.txt is now either 'noise_params_2D' or
'noise_params_3D', the dimension number is displayed in the advanced
settings edit page.
2022-05-21 16:15:28 +02:00
adrido a06be5551d
Formspec: textarea with scrollbar improvements
Increase scrollrate depending on fontsize

Scroll on mousewheel

Allow scrolling and marking text on non writable textareas

Update lua api about readonly mode

Show scrollbar if text overflows
2022-05-21 16:15:26 +02:00
sfan5 10fbc96971
Fix core.wrap_text and make its behaviour consistent with the docs
Code based on initial implementation by @dsohler.
2022-05-21 16:15:19 +02:00
lisacvuk 2113286d2c
Make world creation menu automatically generate a random world name (#6257)
* Make world creation menu automatically generate a name.

* Name is now initialy empty, and generated if player tries to create a world without a name.
2022-05-21 16:15:09 +02:00
paramat 5aeb5b81b1
Advanced settings: Re-organise mapgen settings for ease of use
Add a comment about the auto-generated minetest.conf.example possibly
appearing in the bin folder.
2022-05-21 16:15:08 +02:00
Wuzzy 479cfdf2ca
Add short description for disabled texture packs 2022-05-21 16:15:07 +02:00
Zeno- c0be758367
Update credits (#6228) 2022-05-21 16:15:05 +02:00
Elijah Duffy b9cf7066c5
Remove remaining modstore code (#6120) 2022-05-21 16:15:01 +02:00
paramat 61d6101b74
Advanced settings: Reformat noise parameter format example
Previously the example ran off the edge of the formspec.
Also include 'lacunarity' in the format instead of treating it as an option.
2022-05-21 16:15:01 +02:00
red-001 2dcce68936
Create a filesystem abstraction layer for CSM and only allow accessing files that are scanned into it. (#5965)
* Load client-side mods into memory before executing them.

This removes the remaining filesystem access that client-sided mods had and it will hopefully make then more secure.

* Lua Virtual filesystem: don't load the files into memory just scan the filenames into memory.

* Fix the issues with backtrace

* fix most of the issues

* fix code style.

* add a comment
2022-05-21 16:14:59 +02:00
Vincent Glize 2ce5c08c16
Change the server description after a search (#6074) 2022-05-21 16:14:59 +02:00
red-001 e6aaccee1d
Improve the path select GUI (#5852)
- 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
2022-05-21 16:14:55 +02:00
Elijah Duffy 2e9ef9b4eb
Menu: Do not use textlist for shaders in settings tab (#5820)
Replace the textlist used if the shaders checkbox is unchecked in the settings tab of the main menu with labels. This makes the formspec feel more consistent as the items do not move when shaders is unchecked but only change colour and the checkboxes beside them disappear.
2022-05-21 16:14:55 +02:00
Desour 98efd63719
make ret variable in /builtin/mainmenu/tab_credits.lua local (#5942) 2022-05-21 16:14:53 +02:00
rubenwardy 2c6fba3904
Update credits
The following algorithm was used when selecting contributors:

* Every non-trivial contributor from the current release,
  Non-trivial meaning more than X non-trivial commits, not counting documentation/translation changes
* The top Y contributors from the last 4 years.
* Previous contributor means no contributions since a few months before the last release.

In the future this should be automated
2022-05-21 16:14:51 +02:00
rubenwardy 444a360e04
Add formspec escaping to subgame list in create world dialog (#5808) 2022-05-21 16:14:50 +02:00
Elijah Duffy 16f43df791
Menu: Merge singleplayer and server tabs (#5627)
Rename "Singleplayer" tab to "Play" and remove "Server" tab placing server functionality under a "Host Game" checkbox in "Play."
2022-05-21 16:14:49 +02:00
SmallJoker 3d73357885
Mainmenu: Fix issues while trying to enable all mods (#5770) 2022-05-21 16:14:48 +02:00
SmallJoker 3fe2935a57
Builtin: Fix subgame mod selection (#5367) 2022-05-21 16:14:48 +02:00
SmallJoker 7b4120ee9f
CSM: Document forgotten functions 2022-05-21 16:14:47 +02:00
Ezhh e080ccdf39
Add option to use neither node highlighting nor outlining 2022-05-21 16:14:47 +02:00
red-001 25d089cf5f
Menu: Fix starting a server if the server address is an empty string. (#5742)
Minetest uses an empty string internal to signal that a server should be started.
2022-05-21 16:14:46 +02:00
red-001 6fa4c1f2d0
Android: Fix crash while loading main menu (#5736)
Broken by 43d1f37
2022-05-21 16:14:45 +02:00
Auke Kok a6cd795949
Move Pilzadam to previous developers. (#5735) 2022-05-21 16:14:45 +02:00
ShadowNinja 5030ce5f4b
Use a settings object for the main settings
This unifies the settings APIs.

This also unifies the sync and async registration APIs, since the async
registration API did not support adding non-functions to the API table.
2022-05-21 16:14:45 +02:00
Loïc Blot e57e8ceba1
Save minetest screen width/height options when modified (#5683)
* Save minetest screen width/height options when modified

* Add autosave_screensize setting (default true)

* Fix @SmallJoker comments
2022-05-21 16:14:43 +02:00
paramat 059c5e1d41
Conf.example: Move some lines to minetest.conf.example.extra
Some information in conf.example cannot be generated from
settingtypes.txt, moving it to a new file makes generating
conf.example while preserving that information easier.

Regenerate conf.example from settingtypes.txt.
2022-05-21 16:14:41 +02:00
Jean-Patrick Guerrero b62c15b4b1
Multiplayer menu: fix attempt to open nonexistant image
Since local servers and local favorites have no ping value (these
are only provided by the server) we shouldn't load a broken
image filename.

Fixes #5238
2022-05-21 16:14:22 +02:00
HybridDog 90478ea779
Mainmenu: Brighter text colours for readability 2022-05-21 16:14:21 +02:00
rubenwardy a41241456a
Use tree to list mods rather than textlist 2022-05-21 16:14:20 +02:00
Jean-Patrick Guerrero 464935baec
Serverlist: Add ping indicators (#5164) 2022-05-21 16:14:19 +02:00
rubenwardy 79c4ab386c
Add search to advanced settings (#4806)
* Add search to advanced settings

* Press enter again to go to next result

* Use keyword based search, auto select best option
2022-05-21 16:14:15 +02:00
rubenwardy 33b02fcb36
Adjust formspec spacing on the Client tab of the mainmenu 2022-05-21 16:14:14 +02:00
red-001 1b7a21e322
Add keyword based search to serverlist 2022-05-21 16:14:13 +02:00
ShadowNinja fc2c76e0fc
Main menu tweaks 2022-05-21 16:14:13 +02:00
Ezhh 5bfa146c8d
Make column alignment consistent in advanced settings (#5004) 2022-05-21 16:14:11 +02:00
Zeno- 9d48204b43
Final update to credits before release 2022-05-21 16:14:09 +02:00
Bernardo Sulzbach d3211f2592
Mod dependency lists: Should have platform-independent line breaking
This fixes a bug existing in modmgr.lua as reported by @Wuzzy2 which
caused the mod dependency list to glitch if input was using a line
terminator different than the OS default.

The C++ code does not need any changes as it already trims CR
occurrences on platforms on which the line termination sequence is LF.

Taken into account the size of the depends.txt files used, this should
not introduce a noticeable performance regression.

Fixes #4720
2022-05-21 16:14:06 +02:00
Rogier 59c800886c
Setting limits: Fix message text in advanced settings tab
It would complain that the value should be higher than the lower
bound, when it should be higher than or equal to the lower bound.

Similar issue for the upper bound.
2022-05-21 16:14:06 +02:00
Zeno- dc5c2609ce
Update credits (#4827)
Update credits
2022-05-21 16:14:05 +02:00
Wuzzy 67fbbcec71
Separate optional from required mod dependencies in main menu (#4721)
* Separate optional from require dep's in main menu

* Simplify modmgr mod dependency listing code
2022-05-21 16:13:59 +02:00
ShadowNinja eb60afd472
Add version API 2022-05-21 16:13:58 +02:00
red-001 db4234d742
Add a button for disabling all mods to world config. (#3900) 2022-05-21 16:13:54 +02:00
paramat eef3643501
Conf.example: Re-add deleted noise parameter documentation
Re-add documentation of noise parameter formats.
Re-add 'mgv5_np_ground' noise parameters in group format.
Both these were deleted through auto-generation of conf.example.
Add note to builtin/mainmenu/dlg_settings_advanced.lua that this
documentation must be preserved.
2022-05-21 16:13:52 +02:00
est31 d6ef8bb772
Fix a typo and use proper deprecation notification system
Fix a typo pointed out by @thecow275.

Also, use the deprecated notification system which respects the
deprecated_lua_api_handling setting.
2022-05-21 16:13:50 +02:00
est31 6213fb1cf6
Client: disable pre v25 init sending by default
Disable the ability to connect to old servers by default to
improve password security.

If people still want to connect to old (0.4.12 and earlier)
servers, they can flip the send_pre_v25_init setting.

Add the ability to detect if we've tried to connect
to a server which only supports the pre v25 init protocol,
and show an apropriate error message. Most times the error
will already be catched at the serverlist level, the
detection mechanism only acts as last resort, because the
"Connection timed out" error message that would be shown
otherwise would be very confusing.

Automatic "fixing" of this condition is not desired,
as it would allow for downgrade attacks.

As already 161 of the 167 servers on the serverlist
support the new srp based auth protocol (> 96%),
the breakage should be minimal.

Follow up of commit

af30183124d40a969040d7de4b3a487feec466e4 "Add option to not send pre v25 init packet"

Also change the pessimistic assumption of masterlist
server versions to optimistic, in order to avoid buggy
behaviour (favourites not in the serverlist would be
denied to connect to, etc).
2022-05-21 16:13:48 +02:00
Tim cae4272b18
Tidy up generate_from_settingtypes.lua a bit.
* Multiline strings
* Table-concat instead of String-concats
* string.rep instead of loop-concat
* string.format %q instead of manual quotation by gsub
* Assert writeable files
* Generate new settings_translation_file
2022-05-21 16:13:47 +02:00
Tim caeafe3a44
Move generation from settingtypes out of dlg_settings_advanced
Avoids unreachable code linter warning by moving generation code
(of minetest.conf.example and settings_translation_file.cpp)
out of dlg_settings_advanced.

Due to passing the settings, also it avoids reading the settings file twice.

Instead of activating the code by changing the active if-clauses,
its activation is now done by uncommenting the loadfile() statement.
2022-05-21 16:13:46 +02:00
Wuzzy ac759533bd
Main menu, lua_api.txt: Fix mod/texture pack screenshot size issues
Recommend mod screenshot size in lua_api.txt
Adjust displayed screenshot size of texture packs
Document texture pack files in lua_api.txt
2022-05-21 16:13:45 +02:00
est31 f0f9cda43b
Android: Re-add button to remove singleplayer world
Fixes #4120.
2022-05-21 16:13:38 +02:00
est31 2c07dc8219
Mainmenu: don't show change keys dialog on android
The change keys dialog can't be left. It doesn't make
much sense to show it on Android in the first place,
therefore disable it, just like commit

aed70cb0b652d6cb2272e7b94cd56671b3df6239 'Disable sound and key binding settings in "pause" menu on android'

has disabled it for the esc menu.

Fixes #4115.
2022-05-21 16:13:38 +02:00
Rui b6af7f73ec
Fix #4111 ("Provided world path doesn't exist" if choosing singleplayer on first run")
Bug and whitespace error fixed (Zeno)
2022-05-21 16:13:38 +02:00