Commit Graph

469 Commits

Author SHA1 Message Date
Dalai Felinto 2461f6d985
New 3D Mode: Pageflip
The pageflip mode requires a stereo quadbuffer, and a modern graphic
card. Patch tested with NVidia 3D Vision.

The mini-map is not drawn, but that's what is done for topbottom and
sidebyside modes as well.

Also most of the time the user would prefer the HUD to be off. That's
for the user to decide though, and toggle it manually.

Finally, the interocular distance (aka eye separation) is twice as much
as the "3d_paralax_strength" settings. I find this a strange design
decision. I didn't want to chance this though, since it's how the other
3d modes interpret this settings.
2022-05-21 16:13:10 +02:00
paramat b36217f608
Liquids: Flow into and destroy 'floodable' nodes
Add new node property 'floodable', default false
Define "air" as floodable = true in C++ and lua
2022-05-21 16:13:10 +02:00
Jean-Patrick Guerrero eadd017507
Alphabetical sorting of texture packs in menu (fixes #3487) 2022-05-21 16:13:09 +02:00
HybridDog 93de351e5f
Fix missing localization for obj 2022-05-21 16:13:09 +02:00
paramat 681434bc5d
Mgfractal: Add 3D and 4D fractals
3D Mandelbrot/Mandelbar
3D Christmas Tree
3D Mandelbulb
3D Cosine Mandelbulb
4D Mandelbulb
Plus corresponding julia set for each
Add credits for formulas
Rename parameter 'formula' to 'fractal'
Speed optimisations
2022-05-21 16:13:08 +02:00
est31 111be664a8
Fix some setting documentation
* Horizontal and vertical are used wrongly. Use height and width because
	horizontal/vertical describes different things. Thanks @kilbith for pointing out.
* Update minetest.conf.example and settings_translation_file.cpp
* Correct maximum/minimum copy paste mistake.
2022-05-21 16:13:08 +02:00
Alex Ford 8341ca836e
Add on_secondary_use when right clicking an item in the air 2022-05-21 16:13:07 +02:00
Robert Zenz e7bc7c6857
Simplify regex used in check_modname_prefix and other improvements.
Simplified the regex used, added comments and changed the error message
to contain the correct mod name.
2022-05-21 16:13:07 +02:00
paramat 90edce95c3
Mgfractal: Move julia set selection into formula parameter
Improve default parameters
Update and improve documentation
Unhide mapgen, but is still unstable
2022-05-21 16:13:06 +02:00
paramat 93356f96df
Mapgen: Add global 'decorations' flag
Flag is set by default in MapgenParams
The global 'trees' flag remains but is now
undocumented and unset by default in MapgenParams
Add mgv6_spflag 'trees' set by default in
defaultsettings.cpp to affect new worlds only
This is automatically backwards
compatible for existing worlds
2022-05-21 16:13:06 +02:00
Rui aedf15826c
Log static_spawn error only once 2022-05-21 16:13:05 +02:00
paramat 78d2dee49e
Mgfractal: Revert unnecessary duplication of parameters 2022-05-21 16:13:05 +02:00
paramat dfce6ebd28
Mgfractal: Create a choice of 4 mandelbrot formulas 2022-05-21 16:13:04 +02:00
paramat 86b75dbdfa
Mgv6: Move global mapgen flag 'flat' into mgv6 spflags
Add mgv6 spflag 'flat'
Global flag is kept for backwards compatibility but is now undocumented
2022-05-21 16:13:04 +02:00
Robert Zenz 4662b21222
Add the player name to dropped items
The player name is now added in the field "dropped_by" on the created
entity.
2022-05-21 16:13:04 +02:00
paramat d35da6cac9
Mapgen: Add flat mapgen in hidden form 2022-05-21 16:13:03 +02:00
est31 bf7ed56ddd
Settings tab: add v3f type
Add the v3f type, currently is just a nice placeholder for string.
Currently undocumented, on wish of @PilzAdam, to support future changes.
2022-05-21 16:13:03 +02:00
kwolekr f9e25279e1
Improve LuaVoxelManip documentation 2022-05-21 16:13:02 +02:00
paramat 5bc192a744
Conf.example, settingtypes: Improve mgfractal documentation 2022-05-21 16:13:02 +02:00
est31 d70090cc51
Add server side ncurses terminal
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.
2022-05-21 16:13:01 +02:00
paramat 3d92807282
Settingtypes: Correct documentation for mgfractal
Use type 'string' for v3fs and add comments
2022-05-21 16:13:01 +02:00
paramat 272541a8bb
Mgfractal: Add documentation to conf.example and settingtypes 2022-05-21 16:13:00 +02:00
kwolekr 0b80c8c114
Add callback parameter for core.emerge_area() 2022-05-21 16:13:00 +02:00
Rui914 9bca5b37c4
minetest. to core. 2022-05-21 16:13:00 +02:00
paramat e532e69c98
findSpawnPos: Add setting for max height above water level
Increase default from 6 to 16 to help with mgv7 and mgfractal
Large-scale or alternative mapgens can result in a lowland spawn point not
being found, causing a spawn at (0, 0, 0) possibly buried underground
The max height is now settable to allow correct player spawn
in any mapgen or when using custom noise parameters
2022-05-21 16:12:59 +02:00
PilzAdam 7e69f86aa5
Fix parameter passing to gettext call 2022-05-21 16:12:59 +02:00
BlockMen 1f21ad4da2
Check if hitter has inventory when punching item
Fixes #3280
2022-05-21 16:12:58 +02:00
Rui c0297ebcbe
Credits: Remove my name 2022-05-21 16:12:58 +02:00
PilzAdam 2f0e5a075d
Escape " in generated settings_translation_file.cpp 2022-05-21 16:12:58 +02:00
PilzAdam 4067cf06c3
Fix setting comments 2022-05-21 16:12:57 +02:00
PilzAdam b7a3bf1e30
Don't allow games or mods to add secure. settings 2022-05-21 16:12:57 +02:00
est31 bd43e63b83
Better gettext support for protocol version mismatch messages
Previously, xgettext failed to resolve the dynamic call.
Thanks to @JakubVanek for pointing this out.
2022-05-21 16:12:56 +02:00
PilzAdam c391792fca
Improve Lua settings menu
* Add key settings to setting table and ignore them later
  This way they are added to the auto-generated minetest.conf.example
* Add flags type
* Add input validation for int, float and flags
* Break in-game graphic settings into multiple sections
* Parse settingtpes.txt in mods and games
* Improve description for a lot of settings
* Fix typos and wording in settingtypes.txt
* Convert language setting to an enum
2022-05-21 16:12:56 +02:00
Robert Zenz 9ad5562efb
Add more ways to pass data to check_player_privs
The callback can now be invoked with either the player object or name as
the first parameter, and with either a table or a list of strings, like
this:

    minetest.check_player_privs(player_name, { shout = true, fly = true })
    minetest.check_player_privs(player_name, "shout", "fly")
    minetest.check_player_privs(player, { shout = true, fly = true })
    minetest.check_player_privs(player, "shout", "fly")
2022-05-21 16:12:55 +02:00
est31 b29666b49a
Display sane output for empty descriptions
According to its man page, the function gettext(3)
"may return a nonempty string" when msgid is "".

This commit fixes a bug where the comment ""
for some settings caused gettext to return a
"nonempty string", in this case header info of the
po file.
2022-05-21 16:12:55 +02:00
PilzAdam 86c317e796
New settings tab contain all possible settings
Settings are automatically parsed from builtin/settingtypes.txt
The edit dialog automatically adjust based on the type of setting
2022-05-21 16:12:55 +02:00
ShadowNinja 8fc9b3b9cb
Refactor logging
- 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
2022-05-21 16:12:54 +02:00
Rui f3c5e76d9a
Localize digprop_err function 2022-05-21 16:12:54 +02:00
Jean-Patrick Guerrero e55a5a1c24
Add viewing range GUI setting 2022-05-21 16:12:53 +02:00
Fernando Carmona Varo 095cfc2c70
Added minetest.wallmounted_to_dir 2022-05-21 16:12:53 +02:00
est31 e1b5a8789e
Some map border related fixes
1. Check for entity addition success in spawn_item implementation
2. Check for success in item_drop callback, so that the player
doesn't lose the item if they are outside bounds and try to drop it.
3. When existing player joins game, check that their position is inside
map bounds. If not, set their position to the return value of findSpawnPos().
4. Make findSpawnPos() respect the border

2 fixes a lua crash if a player drops an item outside map bounds.
3 fixes an assertion crash if a player leaves when being outside map bounds,
and then rejoins.
2022-05-21 16:12:52 +02:00
kwolekr 37a94ffa9d
Add /emergeblocks command and core.emerge_area() Lua API 2022-05-21 16:12:52 +02:00
est31 7feed28ef0
Replace "self program" with "this program" in fstk boilerplates
... and remove trailing whitespace.
2022-05-21 16:12:51 +02:00
Rui914 39001fe1f5
Minor tweaks handle_settings_buttons 2022-05-21 16:12:51 +02:00
Rui914 ffffe22f15
Change my email 2022-05-21 16:12:50 +02:00
Rui 55ccf6bce8
Small fixes of minetest.has_feature 2022-05-21 16:12:50 +02:00
Rui 4c9302c8a2
Minor tweaks __builtin:falling_node 2022-05-21 16:12:49 +02:00
est31 4a83767d37
Credits tab: fix accidental merger of two contributors
Fixes #3125
2022-05-21 16:12:49 +02:00
Rui914 5ef81a0e15
Use gettext to "None" of texture pack list 2022-05-21 16:12:49 +02:00
kwolekr 8cda9256e1
Remove some emails from credits tab 2022-05-21 16:12:48 +02:00