Commit Graph

992 Commits (master)

Author SHA1 Message Date
red-001 338d645fcf Add `on_auth_fail` callback (#7039)
Called when a client fails to supply the correct password for the account it's attempting to login as.
2018-02-15 21:18:54 +01:00
paramat 1156088db7 Item entity: Delete in 'ignore' nodes 2018-02-13 03:48:34 +00:00
paramat 737f0b4473 Falling.lua: Delete falling node entities on contact with 'ignore'
Prevents falling node entities entering the ignore at a world edge and
resting on unloaded nodes 16 nodes below, unreachable, undiggable and
still being processed by 'on step' because they don't revert to nodes.
2018-02-13 03:48:28 +00:00
you a6bb2c4ea8 Allow dumping userdata (#7012) 2018-02-08 19:17:06 +01:00
red-001 1e94a7feaf Move `setlocale` from Lua to C++. 2018-02-08 15:38:34 +01:00
PorygonZRocks 0e4c467a82 Add main_menu_style setting 2018-02-08 15:38:24 +01:00
you 87e08b1b3a Add minetest.is_player (#7013)
* Add minetest.is_player

* First use for is_player
2018-02-05 15:17:10 +01:00
paramat 520293b4cb Item entity: Prevent motion in ignore nodes 2018-02-05 05:07:29 +00:00
Wuzzy 7b2687ffc6 Add kill chat command (#6992)
Replace minetest.* with core.* in 1 file
2018-02-04 19:21:41 +01:00
Wayward One cc400581e2 Add Android drivers to the video_driver drop-down menu
Adds the Android video drivers ogles1 and ogles2 to the video_drivers drop-down menu
2018-01-30 21:11:47 +01:00
Wuzzy 3b4df956b1 Make chat command + privilege help slightly more accurate (#6964)
* Make chat command help slightly more accurate

* Slightly more accurate privilege help

* Simplify command/priv help

* More command/priv help tweaks
2018-01-29 23:39:36 +01:00
Tre 3a5959ae6b Main menu: Change tabs to 'Start Game' and 'Join Game' (#6955) 2018-01-25 20:59:24 +01:00
Muhammad Nur Hidayat Yasuyoshi (MNH48.com) 04e5a65c65 Add missing languages from menu (#6953)
The following languages exist in Minetest PO folder were missing from the selection menu:
- dv (Dhivehi)
- ms (Malay)
- sl (Slovenian)
- sv (Swedish)
- sw (Swahili)
2018-01-23 19:27:41 +01:00
Paramat 01bc817fe0 Intersects_protection(): Move from Minetest Game to builtin (#6952)
A useful function that applies 'core.is_protected()' to a 3D lattice of
points evenly spaced throughout a defined volume, with a parameter for
the maximum spacing of points.
2018-01-23 19:04:58 +01:00
red-001 49ff1d2ea8 [CSM] Remove `on_connect` callback (#6941)
Fixes #6939
2018-01-21 18:27:27 +01:00
Lars Hofhansl fad263dec9 Revert "Add an active object step time budget #6721"
This reverts commit 9c669016d1.
See #6907
2018-01-12 23:47:39 -08:00
paramat b8fc6a1955 Settingtypes.txt: Correct value of 'max block send distance' 2018-01-12 05:45:39 +00:00
paramat e7396a0c50 Mgv7: Add docs for the new floatland exponent parameter 2018-01-04 04:29:04 +00:00
Muhammad Rifqi Priyo Susanto 4e652ea9dd Advanced settings: Add range check for float type 2017-12-26 21:55:58 +00:00
rubenwardy 0bcc2f33eb Add check to pause game on lost window focus 2017-12-26 21:53:45 +00:00
nOOb3167 8037eda42c Fix error if setting menu_last_game is not a valid game 2017-12-22 10:39:51 +00:00
Paramat d04c41ad80 Vector functions: Fix vector.direction() function, improve documentation (#6801)
vector.direction() now returns a normalised vector with direction p1 to p2.
2017-12-21 20:57:42 +01:00
Ezhh 26c7e98e3d Adjust default console height
#6797
2017-12-17 04:38:54 +00:00
Ezhh 649eef9e4f Give subgames the ability to disallow specific mapgens (#6792) 2017-12-16 17:02:08 +01:00
Tre fd71a7c163 Change Normal Map setting to be less ambigous 2017-12-16 04:05:36 +00:00
ashtrayoz abd8a30c05 Add callback to preserve node metadata as item metadata 2017-12-14 20:54:04 +00:00
SmallJoker b19241b9bc Builtin: Fix handle_node_drops crash with nil digger 2017-12-12 19:19:04 +01:00
Loïc Blot 308bb69eef
CSM fixes: load mods after flavours & add flavour to block mod loading (#6738)
* CSM fixes: load mods after flavours & add flavour to block mod loading

* Don't permit to load mods twice

* Prepare builtin integrity global algorithm

* Add missing doc & use a nicer byteflag for LOAD_CLIENT_MODS flavour

* flag typo fix

* Invert CSM_FL_LOOKUP_NODES & CSM_FL_LOAD_CLIENT_MODS ids
2017-12-11 17:33:44 +01:00
Paramat da298a26ff Pointed thing to face pos: Use 'eye height' object property (#6754) 2017-12-09 14:30:26 +01:00
Lars Hofhansl 9c669016d1 Add an active object step time budget #6721
This can be set via the active_object_interval option.
2017-12-06 12:21:54 -08:00
you e049405fdc Add coloured logs (#4549)
The setting log_colour can be used to en-/disable or autodetect it.
2017-12-06 18:50:39 +01:00
sfan5 4edf087090 Auth handler: Player deletion & Iterator (#6741)
* Add player deletion method to auth handler (fixes #6653)
* Support iterating over the auth database

There was no way to do this previously and a recent commit
broke doing this the "hacky" way by accessing `core.auth_table`.
2017-12-06 17:32:49 +01:00
paramat f470cb7270 Zoom: Set zoom FOV per-player using a player object property
Remove player object property 'can zoom'.
Add player object property 'zoom fov'.
Remove clientside setting for 'zoom fov'.
Object property default is 15 degrees in creative mode, zoom disabled
in survival mode.

Needed due to zoom now loading and/or generating distant world
according to zoom FOV.

Update object properties serialisation version to 3.
2017-12-04 02:25:10 +00:00
Lars Hofhansl 2174298ffa Document extended meaning of active_object_send_range_blocks setting. 2017-12-03 17:56:39 -08:00
sfan5 36838ea22f Make core.auth_table private and structure builtin/auth.lua
If you give modders the ability to do something, they will...
2017-12-01 09:30:03 +01:00
paramat 03c11a73d8 Light curve: Add and tune mid boost gaussian
Create a closer match to the light curve of 0.4.16 stable.
Results in darker shadows while maintaining the 'brightness' and light
spread.
2017-11-27 01:28:29 +00:00
paramat 912ba1e47f Clearobjects: Send progress messages to terminal using actionstream
Change default mode to 'quick' as 'full' can lock up a server for a
long time.
2017-11-24 05:38:53 +00:00
SmallJoker f7733f41ea
core.rotate_node: Run callbacks like with any regular placed node (#6648) 2017-11-21 20:21:52 +01:00
ezhh c655984849 Mainmenu: Improve button alignment 2017-11-19 00:24:40 +00:00
ezhh 8ea86338ab Mainmenu: Make capitalisation consistent in mainmenu and advanced settings 2017-11-14 00:39:04 +00:00
Auke Kok 41bc0efe71 Sounds: Add falling node sounds
Falling nodes should make a sound. This can only be done here,
so for simplicity we just call the sound_play() here with the node
place sound. We ignore any gain value in the sound spec since a
falling node should be loud, so the 1.0 default gain makes sense
here.
2017-11-14 00:37:31 +00:00
ezhh 5b7687c08c Improve Settings tab button alignments 2017-11-13 03:40:20 +00:00
Ezhh 66ec50db3a Remove incorrect entry from settingtypes 2017-11-12 00:45:22 +00:00
sfan5 fc9747eb4b Make use of safe file writing in auth handler (fixes #6576) 2017-11-08 16:14:05 +01:00
DTA7 ce832eb421 Item entities: Enable item collision detection for sudden movement 2017-11-06 13:51:26 +00:00
Ezhh a07d2594e3 Fix Settings tab formspec alignment (#6585) 2017-11-05 11:15:32 +01:00
Vitaliy 28841961ba Rewrite rendering engine (#6253)
* Clean draw_*() arguments

* Split rendering core

* Add anaglyph 3D

* Interlaced 3D

* Drop obsolete methods
2017-10-31 19:27:10 +01:00
raymoo a5d5728f24 Fix default item callbacks to work with nil users (#5819)
* Fix default item callbacks to work with nil users

* item.lua: Handle node drops for invalid players

The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used.
Remove redundant `local _, dropped_item`
2017-10-28 10:30:50 +02:00
Muhammad Rifqi Priyo Susanto a1e1a19ac3 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.
2017-10-23 01:28:13 +01:00
Esteban I. RM 792e013eaf
don't pass g_settings around, and use it directly 2017-10-17 19:22:09 +02:00
Esteban I. RM 0e8ee84d74
Implement #6096 2017-10-17 19:21:32 +02:00
Vitaliy 75320e7e88 Real global textures (#6105)
* Real global textures

* Add world-aligned textures
* Update minimal to support world-aligned tiles
* Update minimal
2017-10-15 09:34:14 +02:00
rubenwardy 9f3a585937 Profiler: Fix var args not being passed to callback register function
Fixes #6517
2017-10-14 18:28:56 +01:00
adrido e6e5fa3bf8
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
2017-10-09 08:11:03 +02:00
lhofhansl d386586201 Do not grant all privs to the admin - changes game behavior (#6460)
* Do not grant all privs to admins.

* Default give_to_admin to give_to_singleplayer
2017-10-07 15:12:09 +02:00
Rob Blanckaert 3c93a56e16 Add setting for near plane distance. (#6395)
* Allow setting the near plane

* - Add near_plane limit of 0.5 to prevent x-ray.
- Add more details to near_plane setting.
2017-10-07 15:11:48 +02:00
James Alexander Stevenson 00ceec9ff9 settingtypes.txt: Update zoom description (#6443) 2017-10-06 19:56:05 +02:00
Vincent Glize 4e19791cde [CSM] Add callback on open inventory (#5793) 2017-10-02 22:09:49 +02:00
DTA7 9eb163ab4f Add mute setting (toggled by the mute key and in the volume menu) (#6415)
* Add mute setting (toggled by the mute key and in the volume menu)
2017-09-26 08:17:50 +02:00
Loïc Blot 6f1c907204 Implement mod communication channels (#6351)
Implement network communication for channels

* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
2017-09-26 00:11:20 +02:00
DTA7 5a3b8e34b3 Set placer to nil instead of a non-functional one in item_OnPlace (#6449)
* Set placer to nil instead of a non-functional one

This requires nil checks in core.rotate_node and core.rotate_and_place.
2017-09-21 21:52:52 +02:00
paramat 27144b4716 Biome API: Revert biomes, decos, ores being relative to water level
Feature is unnecessary and would greatly complicate future development,
it would also make 'get biome at pos' extremely complex.
Mgv7: Revert option to repeat surface biomes in floatlands, which
depended on the above.
2017-09-17 05:31:48 +01:00
tenplus1 5b6d4482ee Fix Rotate Node Placement (#6424)
This properly checks for creative mode or privilege when using fixed rotate_node() function.
2017-09-16 22:39:38 +02:00
DTA7 45e9f80811 Correct tooltip_append_itemstring terminology (#6421) 2017-09-16 18:42:17 +02:00
DTA7 808ada11db Add setting to display the itemstring after the tooltip in the inventory. (#6413)
* Add setting to display the itemstring after the tooltip in the inventory.
2017-09-15 14:31:32 +02:00
SmallJoker edbc533414 Customizeable max breath for players (#6411)
* Customizeable maximal breath for players
2017-09-15 12:18:47 +02:00
Paramat 604fe2083d Item drop: Tune to land exactly 2 nodes away with level view (#6410) 2017-09-13 00:01:50 +02:00
SmallJoker ee9a442ecc Network: Remove large parts of deprecated legacy code (#6404)
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
2017-09-12 19:48:09 +02:00
sfan5 6fa2f6b4aa Fix core.wrap_text and make its behaviour consistent with the docs
Code based on initial implementation by @dsohler.
2017-09-12 19:33:00 +02:00
red-001 d10cccee31 Allow the join/leave message to be overridden by mods. 2017-09-11 20:54:07 +02:00
you bb225672f9 Fix dropped item look (#6370)
* Abort set_item when it does nothing

* Do not adjust dropped item size linearly

Instead use cube root because the item count is proportional to the volume, not to the length.

* Make the item rotate slower when it's bigger

Bigger items chafe more on the ground, so they can't rotate as fast as small ones

* Fix items flying in air
2017-09-11 08:20:06 +02:00
rubenwardy faad6479de Fix crash on revocation of removed privilege 2017-09-08 23:45:56 +01:00
SmallJoker 745a90dc84 Server: Calculate maximal total block sends dynamically (#6393)
The block sends per client is 1/2 when reaching the maximal player count.
2017-09-09 00:36:48 +02:00
Wuzzy e3093cbe85 Prevent /spawnentity from spawning unknown entity (#6388) 2017-09-08 18:39:02 +02:00
Rui 87c5a3fb2f Remove DSTACK keybind setting (#6378) 2017-09-05 20:00:36 +02:00
Loïc Blot 40dd03e328 Implement minetest.register_can_bypass_userlimit (#6369)
* Implement minetest.register_on_userlimit_check

This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP
Only one mod needs to permit it.

Move core part for builtin privileges checks to builtin
2017-09-04 22:08:59 +02:00
paramat a383eb0eb9 World start time: Add setting for this, default unchanged 2017-09-04 05:10:52 +01:00
Vaughan Lapsley 2ac5a45faa Remove 3D noise from getSteps function (#6360) 2017-09-02 18:01:13 +02:00
Rui b8f06ad37e Remove nodeupdate and nodeupdate_single 2017-08-30 19:39:10 +01:00
paramat 561a01cc2a Zoom: Move enabling zoom to a new player object property
Default enabled for no change in default behaviour.
Remove 'zoom' privilege.
2017-08-30 19:39:05 +01:00
Loïc Blot 1b3e4e1736 Formspec: Add options to set background color and opacity (fullscreen mode + default mode) (#5493)
* Formspec: Add options to set background color and opacity (fullscreen mode)

* Enhance previous comment: Set formspec background when regenerate UI.

* This permit to do the calcul only at regen and override it with bgcolor tag
* Add a setting for default background color into formspec, separated from fullscreen
* Add a little performance gain on formspecs using a const ref instead of copying formspec string
2017-08-29 19:25:16 +02:00
rubenwardy 72c09f524b Fix mistake when calling on_priv_grant/revoke, and document them (#6341) 2017-08-29 07:57:56 +02:00
paramat 2bd1a31239 Advanced settings: Make 'controls', 'graphics', 'sound' more accessible
Move client 'controls', 'graphics' and 'sound' into the first level to be
immediately visible to players who may not realise these come under 'client'.
These are the settings that new players or players on a server are likely to
want to access while not having understanding of what comes under 'client'.

Leave client 'network' and 'advanced' under 'client' as these are more
advanced.

Move 'show entity selection boxes' from the bizarre location in
'client'>'network' to 'graphics'>'in game'>'advanced'.
2017-08-28 20:57:22 +01:00
zeuner 1f207a3ddb Lua API: Add function to deregister single biomes (#5445) 2017-08-27 18:39:47 +02:00
Nathanaël Courant 5a6618cc57 Add '@n' escape sequences and some documentation on translated strings. 2017-08-26 09:43:08 +02:00
rubenwardy 096ea031de Add on_grant and on_revoke callbacks (#4713)
* Add register_on_priv_grant/revoke, and on_grant/revoke to privs. Call from /grant and /revoke

* Call on_grant and on_revoke callbacks from set_privs
2017-08-26 08:17:05 +02:00
rubenwardy ad9677a14f Check item_drop amount clientside (#6242) 2017-08-26 08:11:59 +02:00
SmallJoker d3f1743fdd Builtin item: Tidy up (#4370)
New code structure
Use setting movement_gravity
Reset age on merge
Set merge radius to 1.0m
2017-08-24 23:06:36 +02:00
Ekdohibs b24e6433df Add clientside translations. 2017-08-24 17:54:10 +02:00
Ben Deutsch 397a701f98 Safe digging and placing (#6127)
* Setting: Safe digging and placing

* New setting 'safe_dig_and_place' under Controls
* If set, digging and placing will not auto-repeat
* Releasing buttons unblocks the respective action again
* Useful for inexperienced users in creative mode where default
  repeat times may be too short

* Safe placing (right click repetition) does not need a guarding flag

* Added new setting to minetest.conf.example
2017-08-24 08:30:46 +02:00
SmallJoker f7d50a8078 Respect object property hp_max field for players (#6287)
* Respect object property hp_max field for players
This allows modders to configure the maximal HP per player

* Statbars: Downscale bar to full 20 HP when exceeding this value
Add default max HP for players and breath constants to builtin
Document the constants

* Rename PLAYER_MAX_HP -> PLAYER_MAX_HP_DEFAULT
2017-08-23 22:32:10 +02:00
lisacvuk d1a39f0140 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.
2017-08-18 19:39:44 +02:00
Loïc Blot 9bd18874a1 Reduce dedicated server step to 0.09 (#6252)
Minetest performance improvement has been huge since months, server step reduction will permit to handle client events a little bit faster without too many penalty costs due to core engine
2017-08-17 19:16:02 +02:00
Vitaliy 9c8fec83af New lighting curve (#5279)
* New lighting curve

* Make polynomial lighting curve

* Update default lighting settings
2017-08-17 00:23:20 +02:00
paramat 940bd93e88 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.
2017-08-14 12:53:12 +01:00
Dániel Juhász 71b02d626f Make dropped items colorable 2017-08-14 12:52:13 +01:00
Wuzzy 2ea26e655d Add slippery group for nodes (players/items slide) 2017-08-13 21:39:08 +01:00
Wuzzy fa7fe40509 Add short description for disabled texture packs 2017-08-13 21:35:53 +01:00
TeTpaAka 028c9f899f Change “Use” key name to “Special” 2017-08-13 21:35:42 +01:00
Ben Deutsch 9ef9c72e5a Remove cloud_height setting
With the cloud API, the cloud_height setting has become obsolete
and replaceable by a mod. It, and supporting code, can be
removed.
2017-08-12 19:37:53 +01:00
Hybrid Dog 7e23532bc2 Abort if static_spawnpoint is an invalid setting instead of just giving an error log 2017-08-12 19:37:53 +01:00
Zeno- b9ab51dd81 Update credits (#6228) 2017-08-09 00:11:41 +10:00
Wuzzy 640ba77276 Make direct item selection keys freely bindable 2017-07-30 18:24:45 +01:00
paramat f61928d3fc Mgv7: Add 'mount_zero_level' parameter
Allows setting of the mountain 'zero level' (y where density gradient is zero).

It is easy to vertically shift smooth terrain by editing noise parameter 'offset',
but vertically shifting mountain terrain was complex and imprecise, involving
making a calculation based on an average of the mountain height parameter.
2017-07-26 02:41:30 +01:00
paramat dc9e4517a8 Mgv7: Add option to repeat surface biomes in floatlands 2017-07-22 00:56:55 +01:00
paramat 5f37efbec4 Window size: use 1024x600 to avoid a smaller UI
The change from 800x600 to 1024x576 (16:9) was a reduction in height which caused
user interface to become smaller.
Continue to use width 1024 as it is a common small screen width.
2017-07-18 22:11:34 +01:00
Loïc Blot 79f19b8369 [CSM] Add flavour limits controlled by server (#5930)
* [CSM] Add flavour limits controlled by server

Server send flavour limits to client permitting to disable or limit some Lua calls

* Add limits for reading nodedefs and itemdefs

* flavour: Add lookup node limits

* Merge get_node_or_nil into get_node.

Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason

* Add node range customization when noderange flavour is enabled (default 8 nodes)

* Limit nodes range & disable chat message sending by default

* Bump protocol version
2017-07-18 21:39:55 +02:00
Loic Blot 84aa845911
Revert "CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand""
This reverts commit bdac12761c.
2017-07-15 09:28:10 +02:00
paramat fafa51202c Default window size: Increase to 1024x576, aspect ratio 16:9 2017-07-15 01:36:37 +01:00
rubenwardy bdac12761c CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand"
Original PR: #5747.
This reverts commit 39f4a2f607.
2017-07-15 01:35:18 +01:00
Elijah Duffy dc3ca09e0e Remove remaining modstore code (#6120) 2017-07-14 20:37:58 +02:00
paramat 0b3a8deb2c 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.
2017-07-11 01:15:01 +01:00
vlapsley f871852f13 Mapgen Carpathian: Add lava_depth parameter 2017-07-07 22:28:40 +01:00
Vaughan Lapsley a80ecbee1e Mapgen: Add Carpathian mapgen (#6015) 2017-07-06 13:53:56 +02:00
paramat ab746b0704 Dungeons: Add setting to prevent projecting dungeons
Prevents dungeons generating into ignore nodes in ungenerated mapchunks,
which can occasionally result in a dungeon projecting from the terrain.
2017-07-02 13:33:21 +01:00
red-001 f3ad75691a 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
2017-06-30 20:14:39 +02:00
Vincent Glize 367d218f2b Change the server description after a search (#6074) 2017-06-29 07:53:44 +02:00
kilbith 1d1d922a7a Add Arm Inertia (#6050) 2017-06-26 20:03:48 +02:00
Dániel Juhász 5a41a98ff6 Helper methods for hardware colorization (#5870) 2017-06-24 20:15:09 +02:00
paramat 2652d8db19 CavesRandomWalk: Make 'lava_depth' a mapgen parameter
As with 'large_cave_depth', lava depth was previously a fixed y value and
therefore incompatible with the ability to shift terrain vertically.

Add 'lava_depth' mapgen parameter to mgflat, mgfractal, mgv5, mgv7.
2017-06-22 03:14:56 +01:00
Gael-de-Sailly bc53c82bcf Add minetest.rgba function that returns ColorString from RGBA or RGB values 2017-06-22 03:11:50 +01:00
paramat b8237099b2 Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value
The value cannot be fixed because we can shift terrain vertically.
This also makes these mapgens consistent with mgflat and mgvalleys which
have 'large_cave_depth' parameters.
2017-06-21 01:58:04 +01:00
Dániel Juhász 0fcaf9fb1b Automatic item and node colorization (#5640)
* Automatic item and node colorization

Now nodes with a palette yield colored item stacks, and colored items
place colored nodes by default. The client predicts the colorization.

* Backwards compatibility

* Use nil

* Style fixes

* Fix code style

* Document changes
2017-06-20 11:19:56 +02:00
Ezhh 2ab09bb486 Improve chatcommand params consistency (#5985)
* Fix and improve params consistency

* Move parenthesis requirement to descriptions
2017-06-15 22:38:41 +02:00
red-001 26e2eb019a 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
2017-06-11 09:43:31 +02:00
Elijah Duffy a9f02ab51c 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.
2017-06-10 20:14:26 +02:00
red-001 25ae0739ed Add a server-sided way to remove color codes from incoming chat messages (#5948)
These code be generated by CSM, a modded client or just copy and pasted by the player.

Changes
- Update configuration example and setting translation file.
- Remove colour codes before logging chat.
- Add setting to remove colour codes before processing the chat.
2017-06-10 13:49:44 +02:00
red-001 740b4bec07 Fix sending color codes to clients that don't support them. (#5950)
Also remove `disable_escape_sequences` since it's not needed anymore.
2017-06-09 21:39:25 +02:00
DS 44495ea719 CSM: Fix documentation error for register_on_*_chat_messages (#5917) 2017-06-09 15:48:04 +02:00
Paramat 0a5c3c2852 Autorun: Change to 'autoforward' (#5926)
Minetest does not have 'run'.
Automatic forwards is very often used while flying or swimming, so a general
word is more suitable.
2017-06-08 09:57:00 +02:00
DS 00dfced195 make ret variable in /builtin/mainmenu/tab_credits.lua local (#5942) 2017-06-07 19:11:28 +02:00
red-001 c91a8c7061 [CSM] Add function to get player privileges (#5933)
* [CSM] Add function to get player privileges + move related help functions to common

* Added @Zeno- const
2017-06-07 09:09:06 +02:00
Vincent Glize dfd79c086b Fixed #5907 Documentation for screen_h and screen_w (#5909) 2017-06-05 09:43:21 +02:00
rubenwardy fe046fab8a 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
2017-06-03 14:28:36 -04:00
red-001 994802a774 Remove unimplemented setting `movement_speed_descend` (#5892) 2017-06-03 14:44:04 +02:00
Wuzzy 80fe516e4e Remove “inf” argument from shutdown command help (#5880) 2017-06-02 17:16:30 +02:00
Nathan Salapat c09e16ff5b Added missing levels to logging menu (#5836)
* Added missing levels to logging menu

Added none and error options to the debug_log_level in the advance settings.
2017-05-28 09:23:06 +02:00
rubenwardy e8fb1f79bc Add formspec escaping to subgame list in create world dialog (#5808) 2017-05-24 07:45:23 +02:00
Pierre-Adrien Langrognet 39f4a2f607 [CSM] Add send_chat_message and run_server_chatcommand API functions (#5747)
* [CSM] Add send_chat_message and run_server_chatcommand API functions

* Add client-side chat message rate limiting

* Limit out chat queue size

* [CSM] Add minetest.clear_out_chat_queue API function and .clear_chat_queue chatcommand

* Last fixes/cleanups before merge
2017-05-21 23:06:51 +02:00
Elijah Duffy 4dc97eb99f 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."
2017-05-21 10:07:05 +02:00
Elijah Duffy dada983ff4 Add /clearinv chat command (#4994)
Allow players to clear their own inventory or that of another player with /clearinv command. server privilege is required to clear another player's inventory, no privileges are required to clear your own inventory.'
2017-05-20 12:56:17 +02:00
SmallJoker 674400523e Mainmenu: Fix issues while trying to enable all mods (#5770) 2017-05-19 07:45:47 +02:00
SmallJoker 9b5effffbb Builtin: Fix subgame mod selection (#5367) 2017-05-17 19:31:57 +02:00
SmallJoker 0120fe16a7 CSM: Document forgotten functions 2017-05-16 21:57:26 +01:00
ezhh 018217f6b2 Add option to use neither node highlighting nor outlining 2017-05-15 19:51:40 +10:00
red-001 441740e021 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.
2017-05-10 23:25:45 +02:00
SmallJoker 6945f807ab minetest.deserialize: Throw error when argument not string (#5738) 2017-05-09 23:11:20 +02:00
red-001 34c52d0ad7 Android: Fix crash while loading main menu (#5736)
Broken by 43d1f37
2017-05-09 18:30:34 +02:00
Auke Kok a32a06e088 Move Pilzadam to previous developers. (#5735) 2017-05-09 08:56:57 +02:00
ShadowNinja 43d1f375d1 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.
2017-05-06 15:33:19 -04:00
Wuzzy 07c17db114 Add configurable key bindings for hotbar scrolling, and for changing volume. 2017-05-06 21:21:59 +02:00
red-001 5ebf8f9450 [CSM] add `on_item_use` (#5544) 2017-05-06 21:12:44 +02:00
Loïc Blot 21e0a049f8 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
2017-05-05 13:47:11 +02:00
Vincent Glize dc5bc6cac7 [CSM] Add event on_place_node API lua (#5548)
* [CSM] Add event on_place_node API lua
2017-04-29 12:08:16 +02:00
Louis Pearson db17225a97 Footsteps without view bobbing (#5645)
* Remove redundant view_bobbing setting

Also fixes bug where disabling view_bobbing disables footstep sounds.

* Removes redundant view_bobbing setting

Setting view_bobbing amount to 0 is now the only way to
turn view_bobbing on and off. Also fixed a bug where footstep
sounds would not play when view_bobbing was disabled.
2017-04-25 21:11:51 +10:00
Loïc Blot 29ab20c272 Player data to Database (#5475)
* Player data to Database

Add player data into databases (SQLite3 & PG only)

PostgreSQL & SQLite: better POO Design for databases

Add --migrate-players argument to server + deprecation warning

* Remove players directory if empty
2017-04-23 14:35:08 +02:00
Dániel Juhász f6d1b682d3 Add /fixlight chat command 2017-04-22 01:24:41 +01:00
paramat cfe0291b13 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.
2017-04-19 02:02:11 +01:00
MarkuBu efd509f796 Pointed thing to face pos: Fix crash if opening door with slab or stair
Avoids crash caused when 'pointed thing -under' and '-above' are not
face-neighbours, for example in the case of pointing to the top half
of a door.
2017-04-19 02:01:42 +01:00
Perttu Ahola 04cc9de8f2 MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock copying done in the main thread
Cache size is configurable by the meshgen_block_cache_size (default 20 MB).

New profiler stats:
- MeshUpdateQueue MapBlock cache hit %
- MeshUpdateQueue MapBlock cache size kB

Removes one type of stutter that was seen on the client when received MapBlocks
were being handled. (the "MeshMakeData::fill" stutter)

Kind of related to at least #5239

Originally preceded by these commits, now includes them:
- Move the mesh generator thread into src/mesh_generator_thread.{cpp,h}
- mesh_generator_thread.cpp: Update code style
- MeshUpdateThread: Modify interface to house a different implementation: Actual functionality will be changed by next commits.
- MeshMakeData: Add fillBlockData() interface (so that caller can fill in stuff from eg. a MapBlock cache)
2017-04-17 14:58:29 +03:00
Loïc Blot 34d32ce55a Implement delayed server shutdown with cancelation (#4664) 2017-04-15 23:19:18 +02:00
red-001 4e2479e46a [CSM] Allow escaping chatcommands and add missing calls to gettext. (#5565) 2017-04-11 23:35:25 +02:00
red-001 eb587996e4 [CSM] Use more gettext (#5553) 2017-04-10 21:14:00 +02:00
red-001 e8d8723320 [CSM] Move `.list_players` and `.disconnect` to builtin. (#5550) 2017-04-10 21:13:20 +02:00
number Zero 0a8834608d Hard-coded undersampling.
Adds uniform undersampling for the 3D rendered scene. GUI elements
are not undersampled, resulting in better playability for users
with low-performance platforms with readable fonts and formspecs.

The undersampling setting can be set to 0 (disabled), 2, 3, 4 pixels
which translates into a resolution reduction of x4, x9 or x16, and
is significant.
2017-04-09 17:30:19 -07:00
Dániel Juhász 58d83a7bb2 Hardware coloring for itemstacks
Adds the possibility to colorize item stacks based on their metadata.

In the item/node definition you can specify palette (an image file)
and color (fallback color if the item has no palette or metadata).
Then you can add palette_index to the metadata.

Dropped itemstacks with different colors do not merge.
2017-04-08 18:39:15 -07:00
red-001 d4e9dd4643 Move chat command handling code from C++ to Lua (#5528) 2017-04-08 20:03:57 +02:00
Vincent Glize f73534640a [CSM] Add event on_connect player API lua (#5540)
* Add event on_connect player API lua
2017-04-08 08:20:30 +02:00
SmallJoker 71ffe699d0 Settings: Update documentation (#5534)
Now documented (sorted a-z):
enable_console
enable_particles
creative_mode
hud_scaling
inventory_image_hack
keymap_console
keymap_zoom
shader_path
view_bobbing
2017-04-07 17:10:26 +02:00
rubenwardy bce0d458d8 Add Joystick type detection and Xbox controller support
* Add joystick type detection (with joystick_type setting to override it)
* Fix multiple joysticks from interfering with each other by only reading from one (add joystick_id setting)
* Add support for Xbox controllers
2017-04-06 20:58:52 -07:00
Loic Blot 6da828c471
Expose vector helpers to CSM 2017-04-06 07:57:49 +02:00
paramat 460e094a9f Mapgen documentation: Add descriptions to noise parameters
Shorten 'readable names'.
Add a new advanced settings menu section for Biome API noises.
Various minor edits and improvements.
2017-04-05 07:30:06 +01:00
paramat 859141a0ce Cavegen/Mgv5/Mgv7: Add optional giant caverns
Add to MapgenBasic for use by multiple mapgens.
Add to mgv5 and mgv7, enabled by default.

Similar to mgvalleys caverns but half the scale.
Parameters for upper y limit, distance caverns taper to full size, and
noise threshold (full cavern size).
As with mgvalleys caverns are generated first and classic caves are
disabled in any mapchunk containing a cavern, to avoid excessive
spreading volumes of liquids.
This also avoids floating blobs of liquid where a large classic cave
has overgenerated out into a neighbouring previously-generated mapchunk.
2017-04-03 04:49:32 +01:00
Auke Kok 75fb3e4730 minetest.after(): simplify further, pause in singleplayer (#5500)
Using the `dtime` value entirely, this will stop the clock
if the game is paused in singleplayer. Since most of the
clocks were fixed a long time ago, this should again be
safe to use.
2017-04-02 10:51:16 +02:00
MarkuBu 26f4a5c2d1 First commit for fine pointed (#5485) 2017-04-01 16:50:53 +02:00
Diego Martínez 81c3dc32a8 Add functions to strip color information. (#5472) 2017-03-28 21:55:39 +02:00
Loïc Blot 1b299b4039 Fix a type bug in colorize function
This bug was introduced by dd2f1d7551 and reported by @kilbith
2017-03-28 14:50:17 +02:00
paramat ec0c4d33db Map generation limit: Make per-world
The setting limits map generation but affects nothing else.
Add 'mapgen_limit' to global mapgen parameters.
Move 'blockpos_over_mapgen_limit()' to the only place it is called
from: map.cpp.
Allow teleportation to any part of the world even if over the set
mapgen limit.
Simplify the reading of this limit in mgvalleys.
Remove the 'map_generation_limit' setting.
2017-03-27 03:18:09 +01:00
red-001 e70e15134c Change command prefix to "." and add "help" command. 2017-03-26 05:51:14 +01:00
number Zero 4d5177ff70 Add mesh generation delay 2017-03-26 05:50:59 +01:00
Loïc Blot 329d654e37 Typo fix 2017-03-24 08:59:52 +01:00
red-001 dd2f1d7551 Add multiline support to colorize. (#5444) 2017-03-24 08:36:29 +01:00
red-001 2e3778ec0c Block access to the `io` library 2017-03-19 12:34:33 +01:00
red-001 d31750cb93 Give CSM access to use `core.colorize()` (#5113) 2017-03-17 19:20:13 +01:00
Auke Kok b539985ab8 Fix two nul deref if digging unknown nodes. (#5398)
Introduced by d785456b3f (#5162)
2017-03-15 08:04:53 +01:00
nerzhul 44ca9c9cb2 [CSM] Add enable_client_modding param (default: false) 2017-03-13 23:56:05 +01:00
red-001 0727bb3ddd [CSM] Add `on_punchnode` callback 2017-03-13 23:56:05 +01:00
red-001 073f5cf03d [CSM] Add `on_dignode` callback (#5140) 2017-03-13 23:56:05 +01:00
red-001 a50d07d39a [CSM] Improve security for client-sided mods (#5100) 2017-03-13 23:56:05 +01:00
Loïc Blot 92b45b2a18 [CSM] implement client side mod loading (#5123)
* client side mods are located in clientmods/
* move builtin/preview.lua to clientmods/preview/init.lua as a preview mod
* refactor ModConfiguration class to work properly with client and server using child objects
* move some Server constructor mod load code to ModConfiguration to reduce code duplication between client and server
* remove mods.{cpp,h} unused functions
* use UNORDERED_SET instead of std::set in some modspec storages
2017-03-13 23:56:05 +01:00
red-001 c42c53fccf [CSM] Add local formspecs. (#5094) 2017-03-13 23:56:05 +01:00
Loïc Blot 2c19d51409 [CSM] sound_play & sound_stop support + client_lua_api doc (#5096)
* squashed: CSM: Implement register_globalstep
  * Re-use fatal error mechanism from server to disconnect client on CSM error
  * Little client functions cleanups

* squashed: CSM: add core.after function
  * core.after is shared code between client & server
  * ModApiUtil get_us_time feature enabled for client
2017-03-13 23:56:05 +01:00
red-001 d7bc346981 [CSM] Add client-sided chat commands (#5092) 2017-03-13 23:56:05 +01:00
Loïc Blot 9978f5af82 [CSM] Add on_death, on_hp_modification & oh_damage_taken callbacks (#5093)
* Add on_death callback
* Add on_hp_modification & on_damage_taken callbacks
* move preview code to preview.lua
2017-03-13 23:56:05 +01:00
Loic Blot 2efae3ffd7 [CSM] Client side modding
* rename GameScripting to ServerScripting
* Make getBuiltinLuaPath static serverside
* Add on_shutdown callback
* Add on_receiving_chat_message & on_sending_chat_message callbacks
* ScriptApiBase: use IGameDef instead of Server
  This permits to share common attribute between client & server
* Enable mod security in client side modding without conditions
2017-03-13 23:56:05 +01:00
Vladislav Tsendrovskii 7a4878cd0b Save metainfo for falling nodes 2017-03-11 23:42:19 -08:00
Lars Hofhansl ff80696947 Enable server side occlusion culling by default. 2017-03-11 18:11:19 -08:00
Lars Hofhansl ba4b704ebf Allow server side occlusion culling. 2017-03-11 18:11:19 -08:00
paramat d34f149bdc Climb speed: Increase default setting from 2 to 3 2017-03-11 02:17:16 +00:00
tenplus1 d785456b3f Optimize item.lua
Replace slow ItemStack get_definitions with registered_nodes one's and cached playername as it's used multiple times.  Also removed local item = itemstack:peek_item() as it is never used.
2017-03-10 11:24:10 -08:00