Commit Graph

1326 Commits

Author SHA1 Message Date
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 dd2f1d7551bfd70357ad4f3fb180704194272147 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 d785456b3fa35faf47cb972fde9e8668382c5e22 (#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
zaoqi
c9ac722ea9 Add minetest.spawn_falling_node(pos) (#5339)
* Add minetest.spawn_falling_node(pos)

* lua_api.txt: Add minetest.spawn_falling_node(pos)

* Update minetest.spawn_falling_node(pos)
2017-03-04 18:36:37 +01:00
red-001
4d634ef675 Fix crash that can be caused by the shutdown command. (#5292) 2017-02-25 09:28:25 +01:00
Dániel Juhász
00123ee04d Fixes for colorwallmounted and colorfacedir nodes
Correct node placement prediction for attached colorwallmounted nodes.
Correct placement direction for colorfacedir and colorwallmounted nodes.
Correct detatch mechanism for attached colorwallmounted nodes.
2017-02-18 22:47:24 +00:00
kilbith
d0a6cacd51 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
2017-02-18 22:46:45 +00:00
tenplus1
e9cd7187e8 Statbars.lua: Cache enable_damage setting 2017-02-18 22:46:06 +00:00
red-001
3d25914986 Add support for the new arguments of request_shutdown to the /shutdown chatcommand. (#5252) 2017-02-18 12:16:11 +01:00
Hybrid Dog
2bd10022cb Mainmenu: Brighter text colours for readability 2017-02-12 01:53:18 +00:00
rubenwardy
bb4db84bdb Use tree to list mods rather than textlist 2017-02-10 17:59:17 +00:00
Wuzzy
f5d4494a51 Add textures for air and ignore items (#5196) 2017-02-10 08:19:31 +01:00
Auke Kok
5707b739f3 Change default nodetimer_interval to 0.2s. (#5193)
We want to reduce the chance that we get lots and lots of node
timers all happening once a second, because we're better off doing
small bits of work as they are available.

Reducing this to 0.2 seconds will greatly reduce the total amount
of nodetimers that elapse at the same instance, while not effecting
total work load. This results in a far better chance of the server
keeping up with work loads.
2017-02-09 08:00:37 +01:00
kilbith
03b34cb3dd Serverlist: Add ping indicators (#5164) 2017-02-03 23:53:43 +10:00
Nathanaël Courant
3e355ab7d5 Make facedir_to_dir and wallmounted_to_dir work with coloured nodes as well. (#5153) 2017-01-31 15:02:30 -08:00
Ezhh
0c9189d109 Add console height setting (#5136) 2017-01-30 02:10:17 +10:00
paramat
59fdf57134 Zoom FOV: Reduce minimum zoom FOV to 7 degrees
The default of 15 is unchanged.
7 degrees is x10 magnification which is common for binoculars.
Alter hardcoded limits in camera.cpp:
Minimum 7 degrees.
Maximum 160 degrees to match upper limits in advanced settings.
2017-01-23 07:39:58 +00:00
Auke Kok
7fc6719968 core: Add dir_to_yaw and yaw_to_dir helpers
These are needed to go from things like entity yaw to a vector
and vice versa.
2017-01-23 07:38:39 +00:00
Auke Kok
2d7a6f2cc0 Vector: Add vector.sort(a, b): return box edges
This function returns the box corners of the smallest box
that includes the two given coordinates.
2017-01-23 07:38:39 +00:00
Loïc Blot
6d5a407133 Add show_statusline_on_connect setting (#5084)
Add show_statusline_on_connect setting
2017-01-21 19:30:42 +01:00
Elijah Duffy
efa54f9c46 Add chatcommand unregister and override API (#5076)
Introduces two functions to unregister and override chatcommands.
minetest.unregister_chatcommand("<name>") and
minetest.override_chatcommand("<name>", {<redifinition>})
2017-01-20 19:49:20 +01:00
rubenwardy
c5967f75f0 Add minetest.player_exists() (#5064) 2017-01-18 11:19:57 +01:00
rubenwardy
a378e32751 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
2017-01-18 07:48:25 +01:00
Ezhh
d218baa3ac Improve priv descriptions (#5047) 2017-01-17 15:41:25 +01:00
red-001
2f56a00d9e Remove client-side chat prediction. (#5055)
Network lag isn't really a big issue with chat and chat prediction makes writing mods harder.
2017-01-17 00:09:47 +01:00
rubenwardy
d2f5732f89 Adjust formspec spacing on the Client tab of the mainmenu 2017-01-16 18:56:04 +00:00
red-001
f3bd4c405d Add keyword based search to serverlist 2017-01-15 13:43:47 -08:00
paramat
e12019cfd9 Documentation: Correct biome heat / humidity noise parameters
When the new set of biomes was added in MTGame the 'spread' for heat
and humidity noise parameters was increased to 1000, i forgot to update
settingtypes.txt and minetest.conf.
2017-01-15 02:04:01 +00:00
ShadowNinja
bb154c2e1c Main menu tweaks 2017-01-13 18:13:43 -05:00
ShadowNinja
7ae7f1ea4c Enable mod security by default 2017-01-13 14:08:24 -05:00
Rui
ec30d49e02 Add staticdata parameter to add_entity (#5009)
* Add staticdata parameter to add_entity
* Add add_entity_with_staticdata to core.features
2017-01-09 20:39:45 +01:00
sfan5
73fdb63597 builtin/.../falling.lua: Avoid crash when hitting unknown nodes 2017-01-09 16:39:40 +01:00
Ezhh
8f9611bcb2 Make column alignment consistent in advanced settings (#5004) 2017-01-07 21:33:38 +10:00
rubenwardy
e8b7179ccd Expose and document chatcommands as minetest.registered_chatcommands 2017-01-04 20:56:07 +00:00
Dorian Wouters
a1346c916e Fix /grant & /revoke not working with custom auth handler (#4974)
core.auth_table is not supposed to be accessed directly.
2016-12-31 18:12:26 +01:00
Auke Kok
094a5a73d3 Redo light.cpp.
Remake the light_decode_table.

The table starts out without pre-filled in values since those
are always discarded by the code apparently. We calculate a
pseudo curve with gamma power function, and then apply a new
adjustment table.

The adjustment table is setup to make the default gamma of 2.2
look decent: not too dark at light level 3 or so, but too dark
at 1 and below to be playable. The curve is much smoother than
before and looks reasonable at the whole range, offering a
pleasant decay of light levels away from lights.

The `display_gamma` setting now actually does something logical:
the game is darker at values below 2.2, and brighter at values
above 2.2. At 3.0, the game is very bright, but still has a good
light scale. At 1.1 or so, the bottom 5 light levels are virtually
black, but you can still see enough detail at light levels 7-8,
so the range and spread is adequate.

I must add that my monitor is somewhat dark to begin with, since
I have a `hc` screen that doesn't dynamic range colors or try to
pull up `black` pixels for me (it is tuned for accurate color and
light levels), so this should look even better on more dynamic
display tunings.
2016-12-28 14:16:39 -08:00
Lars Hofhansl
2f59a0c840 Process ABMs in a spherical volume instead of cubic
Increase active_block_range default to a 3 mapblock radius.
2016-12-24 00:28:39 +00:00
Craig Robbins
5114329ada Final update to credits before release 2016-12-22 23:14:17 +01:00
paramat
5e4d6468a3 Builtin/../falling.lua: Avoid crash when object pos over limit
If the object pos is over limit, 'add entity' will not add an entity,
causing 'obj' to be nil.
2016-12-21 13:30:10 +00:00
sfan5
09f1a0c1ff Disable mod security by default (closes #4944) 2016-12-21 14:13:10 +01:00
Auke Kok
78bf7c46e5 Mapgen: Make mgv7 the default in UI
The actual menu default comes from defaultsettings.cpp.
2016-12-16 12:31:38 +00:00
paramat
f8408398f5 Cavegen: Wider tunnels in mgflat, mgfractal, mgvalleys
As mgv7 is now the default mapgen i re-checked its tunnel width on request,
discovered they needed to be wider, and have made this change.
This commit widens the identical 3D noise tunnels in the other mapgens in
exactly the same way.
2016-12-14 06:28:45 +00:00
sfan5
0d94bfabcc Mgv7: Change default cave width to 0.09 2016-12-13 03:32:51 +00:00
Bernardo Sulzbach
d9675d3d92 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
2016-12-12 07:22:47 +00:00
Rogier
c98ae2a91f 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.
2016-12-12 07:21:46 +00:00
Rogier
02112f84e2 View range: Set maximum to 4000 nodes
The network protocol does not support larger than 255 mapblocks.
2016-12-12 07:20:50 +00:00
Zeno-
bbe8386a66 Update credits (#4827)
Update credits
2016-12-07 23:45:29 +10:00
Lars Hofhansl
075833e393 Fog: Make fraction of visible distance at which fog starts configurable
Optimise the fetching of global settings 'camera_smoothing',
'cinematic' and 'cinematic_camera_smoothing'.
Cache 'cam_smoothing'.
2016-12-07 04:07:54 +00:00
red-001
fb1406bdff Don't send a join message in singleplayer mode. 2016-12-03 00:13:02 +01:00
sfan5
c38985825f Allow restricting detached inventories to one player
This combats the problem of sending the hundreds of
"creative" / "armor" or whatever detached invs that
exist on popular servers to each and every player
on join or on change of said invs.
2016-11-28 13:41:19 +01:00
orwell96
0d1c9598a0 Make supplying empty formspec strings close the formspec (#4737)
This will only happen if the formname matches or if formname is "".
2016-11-23 02:15:22 +10:00
paramat
c6ca7a81cc Tool break: Reduce gain of break sounds 2016-11-20 04:43:09 +00:00
Auke Kok
4a0a6723af Builtin/../item: Enable tool breaking sounds
If a tool wears out and is destroyed, it's itemstack count
goes to 0, and we can optionally play a breaking sound.

This patch implements playing a breaking sound when this
occurs. Sounds need to be added to the tool itemdef
registration as the sound name string in the .sound.breaks
member.
2016-11-18 06:15:08 +00:00
est31
afc48c802a Introduce builtin_shared and use it to fix #4778
Fixes #4778 which was about the error:

ServerError: Lua: Runtime error from mod '' in callback item_OnPlace():
/usr/local/share/minetest/builtin/game/item.lua:278: attempt to call global 'check_attached_node' (a nil value)

The issue was a regression of commit 649448a2a91fbf3e944b2f2e739f4e2292af1df0

"Rename nodeupdate and nodeupdate_single and make them part of the official API"
2016-11-16 18:51:36 +01:00
paramat
bc3980e1d6 Mgv7: Add optional floatlands, disabled by default 2016-11-15 23:07:06 +00:00
sfan5
5fd1ef9b58 Revert "Adding particle blend, glow and animation (#4705)"
This reverts commit 93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.
2016-11-14 15:28:06 +01:00
Foghrye4
93e3555eae Adding particle blend, glow and animation (#4705) 2016-11-15 00:09:59 +10:00
est31
649448a2a9 Rename nodeupdate and nodeupdate_single and make them part of the official API
Now, the renamed forms of nodeupdate and nodeupdate_single are part of the official API.

As nodeupdate has been used by Minetest Game and in mods despite of not
being part of the official API, we ease the transition by still supporting
it for the 0.4.15 release. After the release, the two functions can be removed.

The removal will not violate the stability promise, as that promise only
includes the official and documented API.

Also, make some formerly global functions local. They most likely haven't
been used by mods, therefore they won't get stubs with deprecation warnings,
hard erroring directly.
2016-11-14 13:08:22 +01:00
paramat
3c5da70d7c Builtin/../falling: Fix bugs caused by 'ignore' nodes
Original commit by t4im, rebased and developed by paramat.
Fix CONTENT_IGNORE being replaced by falling nodes or causing large
areas of sand to collapse into itself.
Format some conditional code for clarity.
Add and clarify some comments.
2016-11-07 21:55:17 +00:00
Wuzzy
e82bd3f067 Privileges: Only give singleplayer 4 basic privs
- interact
- shout
- privs
- basic_privs
2016-11-07 21:55:17 +00:00
Wuzzy
1c570cb390 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
2016-11-05 18:42:14 +01:00
lhofhansl
f8fd432dca Add debug priv, and allow player to display the scene as wire-frame. (#4709) 2016-11-04 03:14:32 +01:00
ShadowNinja
7607b0ac20 Add version API 2016-10-31 21:53:00 -07:00
Auke Kok
380a4b6d60 Core.rotate_and_place: Remove unused call to get_look_pitch() 2016-10-31 10:55:36 +00:00
lhofhansl
e1842ed370 Optionally disable optimization that causes underwater and cave rendering glitches. (#4686) 2016-10-30 23:35:55 -04:00
paramat
63a3bb229a Changes to static object storage limit and error message
Move static object storage force-delete message from errorstream to
warningstream.
Increase 'max objects per block' setting to 64.
Add missing spaces in warning code.
2016-10-20 03:40:47 +01:00
red-001
c7d569b863 Chat commands: Trim whitespaces from input of /privs command 2016-10-20 03:39:03 +01:00
rubenwardy
0d740c5d82 Builtin: Add vector.floor helper function 2016-10-17 22:03:49 +02:00
ShadowNinja
2ff054d041 Enable mod security by default 2016-10-16 01:14:54 +01:00
red-001
c31e354342 Builtin/../chatcommands: Add /grantme command 2016-10-16 01:13:50 +01:00
tenplus1
a468acce2c Builtin/../falling.lua: Code optimisation 2016-10-14 02:12:32 +01:00
red-001
4f684b589d Add a button for disabling all mods to world config. (#3900) 2016-10-12 03:11:38 +10:00
SmallJoker
b6569f1c69 Add missing languages to the settings 2016-10-11 07:32:47 +02:00
HybridDog
9978d0796f VoxelArea: faster iter function (#4490) 2016-10-08 22:42:17 +10:00
Loic Blot
d4c76258e3 Chat: new settings to prevent spam
Added the following chat coreside features
* Chat messages length limit
* Message rate limiting
* Message rate kicking

Note:
* handleChat now takes RemotePlayer pointer instead of u16 to remove useless
  lookups
2016-10-05 00:13:37 +02:00
paramat
89dbc0a25d Builtin/falling: Add fallback vector in case of nil 'wallmounted to dir'
The fallback vector is in case 'wallmounted to dir' is nil due
to voxelmanip placing a wallmounted node without resetting a
pre-existing param2 value that is out-of-range for wallmounted.
The fallback vector corresponds to param2 = 0.
2016-10-03 01:56:08 +01:00
raymoo
2516c516bc Forceloading: Transient forceloads
Adds a flag to forceload_block which lets you turn off persistence for
that forceload.
2016-10-03 01:54:36 +01:00
Rui
3a95054db5 Fix typo in core.after (#4560) 2016-10-01 16:16:50 +02:00
paramat
cd2c8ade2d 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.
2016-09-23 19:01:31 +01:00
paramat
5091cb5ecd Builtin: Change error to warning for light_source > 14 2016-09-21 08:04:11 +02:00
James Stevenson
679c8de63f Increase default font size by 1 2016-09-21 08:04:11 +02:00
est31
abb6fba24f 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.
2016-09-19 12:14:06 +02:00
paramat
3aefa5d3ce Register.lua: Throw error if node 'light_source' > core.LIGHT_MAX
Add 'core.LIGHT_MAX = 14' to builtin/game/constants.lua with the intention
to replace misplaced 'default.LIGHT_MAX = 14' in Minetest Game.
Add comment in light.h requiring the constant be changed in both places.
Add lighting bug warning to note in lua_api.txt.
There are hundreds of mod uses of 15 which causes a lighting bug.
2016-09-17 09:33:25 +01:00
paly2
aa33166386 Add minetest.unregister_item and minetest.register_alias_force 2016-09-08 03:26:52 -04:00
Rui
3b0f7659c7 Document keymap_autorun in settingtypes.txt and minetest.conf.example (#4486) 2016-08-30 05:40:48 +02:00
red-001
fbe4a9267f Settingtypes.txt: Clarify comments, correct spelling 2016-08-29 01:00:05 +01:00
SmallJoker
51e13ae588 Builtin: Disallow registering users with the same name
Prevents duplicate names: 'NickName', 'nickname', 'NICKNAME'.
Skips already registered users, so they can connect as usual.
2016-08-29 00:58:39 +01:00
est31
d767f025cb 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).
2016-08-22 20:23:28 +02:00
Xunto
0b0075e6ad Move on join and on leave messages to lua (#4460) 2016-08-22 20:21:48 +02:00
Tim
6590140260 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
2016-08-20 15:48:47 +02:00
Tim
ba50127309 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.
2016-08-20 15:48:47 +02:00
Ben Deutsch
82494b8cc1 Zooming the camera requires the 'zoom' privilege 2016-08-10 12:18:25 +02:00
Ben Deutsch
d1df09841d Document zoom_fov in settingtypes.txt and minetest.conf.example 2016-08-10 12:18:25 +02:00
Wuzzy
2cb0f649f4 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
2016-07-27 22:20:31 +01:00
Tim
c8b4bedaa8 Builtin: Add core.MAP_BLOCKSIZE constant 2016-07-26 04:17:07 +01:00
Tim
58eb5f39d4 Builtin: Fix check for a player object in core.check_player_privs
core.check_player_privs accepts as first argument a name or player object, but just tested for a string.
This caused crashes inside builtin, when being passed any unexpected types.

This provides a better (duck-typing like) test, better error reporting.
2016-07-26 04:15:06 +01:00
Tim
d7060c212f Builtin/profiler: Replace game profiler (#4245)
Use the setting "profiler.load" to enable profiling.
Other settings can be found in settingtypes.txt.

* /profiler print [filter] - report statistics to in-game console
* /profiler dump [filter] - report statistics to STDOUT and debug.txt
* /profiler save [format [filter]] - saves statistics to a file in your worldpath
	* txt (default) - same treetable format as used by the dump and print commands
	* csv - ready for spreadsheet import
	* json - useful for adhoc D3 visualizations
	* json_pretty - line wrapped and intended json for humans
	* lua - serialized lua table of the profile-data, for adhoc scripts
* /profiler reset - reset all gathered profile data.
	This can be helpful to discard of any startup measurements that often spike during loading or to get more useful min-values.

[filter] allows limiting the output of the data via substring/pattern matching against the modname.

Note: Serialized data structures might be subject to change with changed or added measurements.
	csv might be the most stable, due to flat structure.

Changes to the previous version include:

* Updated and extended API monitoring
* Correct calculation of average (mean) values (undistorted by idleness)
* Reduce instrumentation overhead.
* Fix crashes related to missing parameters for the future and occasional DIV/0's.
* Prevent issues caused by timetravel (overflow, timejump, NTP corrections)
* Prevent modname clashes with internal names.
* Measure each instrumentation individually and label based on registration order.
* Labeling of ABM's and LBM's for easier classification.
  Giving several ABM's or LBM's the same label will treat them as one.
  Missing labels will be autogenerated based on name or registration order.
* Configurable instrumentation and reporting. Skip e.g. builtin if you don't need it.
* Profile the profiler to measure instrumentation overhead.
2016-07-12 21:51:10 +02:00
rubenwardy
538af97d8d Remove cinematic toggle on F8
Also update cinematic mode's description to include mouse
2016-07-05 19:50:30 +02:00
est31
f649147080 Disable joysticks per default for now
It seems that various different devices register as
Joysticks on linux, and their presence has caused
lots of confusion amongst minetest users.

Therefore, disable the joystick feature.

Closes #4261
Closes #4221
2016-07-04 20:49:13 +02:00
HybridDog
80cebdc23c Only allow strings to be passed to minetest.global_exists (#4253)
Sometimes you accidentally forget the quotes when using global_exists, this makes minetest abort if you did so.

M  builtin/common/strict.lua
2016-06-28 06:34:22 +02:00
paramat
9997e2030c Mgflat/fractal/v7/valleys: Denser 3D noise tunnels
Reduce spread from 96 to primes 61 and 67 (either side of 64)
Prime spreads help to keep 3D noise periodic features unaligned
'cave width' 0.2 to preserve tunnel width
Reduce octaves to 3 to improve network structure
2016-06-24 02:17:51 +01:00
Auke Kok
39a9e9874e Builtin/game/item: Add place_param2 nodedef field
This allows a nodedef to specify a fixed value for param2 to be
used for all normal placements.

There are several uses for this:

- nodes that require param2 to be set to a non-zero value for
  internal mod use. E.g. leafdecay could use this to detect that
  leaves are played by players.
- force wallmounted or facedir value at placement at placement

This overrides any player look direction or other on-the-fly
param2 setting during placement.
2016-06-17 04:41:20 +01:00
est31
2060fd9cbe Initial Gamepad support
Adds initial ingame gamepad support to minetest.

Full Formspec support is not implemented yet and
can be added by a later change.
2016-06-03 19:42:57 +02:00
Ekdohibs
14ef2b445a Add colored text (not only colored chat).
Add documentation, move files to a proper place and avoid memory leaks.
Make it work with most kind of texts, and allow backgrounds too.
2016-05-31 17:34:29 +02:00
TriBlade9
1d40385d4a Colored chat working as expected for both freetype and non-freetype builds. @nerzhul improvements * Add unit tests * Fix coding style * move guiChatConsole.hpp to client/ 2016-05-31 17:34:29 +02:00
Sokomine
4134d8ad13 protection_bypass priv can now be revoked in singleplayer (#4169) 2016-05-30 22:40:32 +10:00
paramat
643ac9dd7a Item entities: Don't show description as infotext
Partially reverts #3547
Infotext remains optional for objects, empty by default
2016-05-22 08:21:44 +01:00
Wayward One
8b940c005f Add on_punchnode callback 2016-05-17 22:16:21 +10:00
paramat
01a784bd11 Documentation: Remove incorrect and excessive mapgen flags text 2016-05-16 05:14:15 +01:00
est31
c65e7a9b3e Android: Re-add button to remove singleplayer world
Fixes #4120.
2016-05-14 22:25:58 +02:00
est31
ec15e35ad7 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.
2016-05-13 17:30:53 +01:00
Rui
9d3d43f334 Fix #4111 ("Provided world path doesn't exist" if choosing singleplayer on first run")
Bug and whitespace error fixed (Zeno)
2016-05-13 01:41:16 +10:00
est31
95446f4b6d Update credits tab 2016-05-09 20:41:27 +02:00
Rui
29877dfb45 Mainmenu: Remove space under mod list 2016-05-01 14:16:37 +10:00
paramat
8b1f8e99cf Mapgen: Make 3D noise tunnels' width settable
Correct parameter names mg_valleys to mgvalleys
Remove biome NoiseParams from MapgenValleysParams
Improve format of parameter code
2016-04-28 23:36:19 -04:00
tenplus1
7baddd1735 Avoid teleporting player if /teleport coords are out-of-range 2016-04-29 00:00:35 +10:00
kilbith
dc35091aff Android menu: Unified serverlist 2016-04-28 07:19:31 +01:00
rubenwardy
17bfe2fe5b Builtin: Add basic_privs setting 2016-04-28 07:19:07 +01:00
SmallJoker
30083d1e00 Mainmenu: Standardize the menu button order and sizes 2016-04-28 07:16:58 +01:00
Ekdohibs
2177f3090e Fix mainmenu code downloading the public serverlist twice.
Also, fix a nil error that can happen sometimes in
menu_handle_key_up_down
2016-04-22 23:39:54 +10:00
paramat
9b437088df Textures: Replace menu background fallback dirt_bg.png with empty sky texture 2016-04-21 10:15:05 +01:00
Auke Kok
a60aa8e226 Fix timer initialization.
This fixes the problem that the first timer tick is an
overrun and causes all timers to expire immediately.

replaces #4003
2016-04-21 10:14:59 +01:00
kilbith
8cf26bb0bb Mainmenu: Code cleaning 2016-04-20 21:31:40 +10:00
kilbith
65db88d24e Mainmenu: Unify favorite servers with main serverlist 2016-04-20 21:31:40 +10:00
Auke Kok
855a305057 falling: walk 4 additional diagonally down directions.
This seems very little cost and matches the old behavior more
closely. This will cause some more falling nodes to get added
to falling clusters. With the efficiency of the algorithm, this
really doesn't do much damage.
2016-04-20 06:51:11 +01:00
est31
bc4dc80c01 Mainmenu: Still support favorites if send_pre_v25_init is disabled
@SmallJoker has noted a bug that servers from the (local) main menu
favorites list can't be opened.

This commit fixes the bug by disabling any main menu based protocol
checks for servers from the favorite list.

Also, it fixes a second bug that happens when a server from the
public serverlist doesn't send its supported protocol versions,
most likely because its running a minetest older than commit [1].
Then we have shown an error msg that the server has enforced
one specific protocol version. This was most likely not the case.

Of course, we can't do anything better than do an assumption on
the protocol versions if they are not known. That assumption
should however be closest to the most often occuring case as
possible.

Also, some little cleanups.

[1]: 5a0ed780f56a5225b3d7c5f64099586e390e5f39 "Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist"
2016-04-15 14:40:31 +02:00
SmallJoker
d82c5da0dc mainmenu: Tidy up logic in is_server_protocol_compat() (#3997)
Apply de morgan to simplify the logic.
2016-04-15 14:37:09 +02:00
TriBlade9
6530ed4dd8 Add option to disable entity selectionboxes. (#3992)
Setting only loaded once, default value is to enable them.
2016-04-14 11:20:11 +02:00
Auke Kok
d7908ee494 Convert nodeupdate to non-recursive
This took me a while to figure out. We no longer visit all 9 block
around and with the touched node, but instead visit adjacent plus
self. We then walk -non- recursively through all neigbors and if
they cause a nodeupdate, we just keep walking until it ends. On
the way back we prune the tail.

I've tested this with 8000+ sand nodes. Video result is here:

  https://youtu.be/liKKgLefhFQ

Took ~ 10 seconds to process and return to normal.
2016-04-11 00:01:28 -04:00
Rui914
92d4a73843 Mainmenu: Refactor tab UI code
- Use local variables for tabs in place of globals
 - Merge together if statements where possible
 - Replace manual table searching code with indexof where possible
2016-04-08 02:25:04 -04:00
Rui914
c8ff11b417 Mainmenu: Move description.txt textbox down
Additionally, fix misc. code style issues
2016-03-31 04:15:41 -04:00
paramat
630f453da4 Mgv7: Decrease cliff steepness 2016-03-30 01:53:14 +01:00
tenplus1
e72b8f25ee stop falling.lua error
2016-03-27 15:47:01: ERROR[Main]: ServerError: Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): Node name is not set or is not a string!
2016-03-27 15:47:01: ERROR[Main]: stack traceback:
2016-03-27 15:47:01: ERROR[Main]: 	[C]: in function 'add_node'
2016-03-27 15:47:01: ERROR[Main]: 	/usr/share/minetest/builtin/game/falling.lua:96: in function </usr/share/minetest/builtin/game/falling.lua:43>
2016-03-29 23:56:23 +02:00
Rui
c3f6cdcd54 Falling: Set acceleration on step again
Commit

65c09a96f41705bb8e75fc5ff4276342be91ed11 "Set acceleration only once in falling node"

has made the acceleration being set only once.
But this has introduced a regression.

Fix #3884.
2016-03-25 15:19:39 +01:00
Rui
21c479688b Credits: Make that easy to add/remove 2016-03-24 16:56:23 +01:00
Auke Kok
2f640888d8 Make options local here.
Undoubtably this may cause problems later if unchecked.

```
2016-03-22 21:57:52: WARNING[Server]: Assignment to undeclared global "options" inside a function at .../sofar/git/minetest/bin/../builtin/game/chatcommands.lua:862.
```
2016-03-24 16:52:26 +01:00
paramat
2ce02c99b4 Builtin/game/falling: Re-add comma removed by recent commit 2016-03-19 18:46:08 +00:00
Rui914
65c09a96f4 Set acceleration only once in falling node 2016-03-19 17:56:46 +00:00
Auke Kok
c5c727d627 Allow NodeTimer, ABM and block mgmt interval changes.
ABM's are hardcoded to run every 1.0s, NodeTimers are hard coded to
run at every 1.0s. Block mgmt is running every 2.0sec.

However, these timers can be better tuned for both higher and lower
values by server owners. Some server owners want to, and have the
resources to send more packets per second to clients, and so they
may wish to send smaller updates sooner. Right now all ABM's are
coalesced into 1.0 second intervals, resulting in large send queues
to all clients. By reducing the amount of possible timers, one can
get a far better response rate and lower the perception of lag.

On the other side of the camp, some servers may want to increase
these values, which again isn't easily doable.

The global settings abm_interval and nodetimer_interval are set to
current values by default. I've tested with 0.2/0.5 type values
and noticed a greatly improved response and better scattering of
nodetimers, as well as enjoying not faceplanting into doors with
pressure plates anymore.
2016-03-19 17:56:26 +00:00
est31
af30183124 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
Diego Martinez
2c72f6da7b Add options for screenshot format and quality 2016-03-12 17:12:43 -05:00
paramat
6f325070dd Documentation: Clarify global and mapgen-specific mapgen flags 2016-03-11 21:09:59 +00:00
Auke Kok
f627ef39e0 Introduce "protection_bypass" privilege.
This privilege allows map protection bypassing for server operators
and world moderators.

Initially I had thought that bypassing protection mods would have been
something that could entirely be done inside mods and minetest_game,
but the concept of protection is defined in core, in the code of
core.is_protected().

I don't feel that it would be logical to introduce a protection
concept in core, but not some way around that for server operators
to maintain map parts that need fixing, de-griefing or cleanup.

Others had noticed the same problems, and proposed a patch to
minetest_game. That patch is fine by itself, but it fails to add
protection bypass functionality for digging normal nodes and placing
nodes.

So, instead, we indroduce the new priv "protection_bypass" in core,
and modify 'on_place_node' and 'node_dig' to allow bypassing node
protections if the player holds this priv.

This priv was tested with protector redo by tenplus1.

A followup patch to Minetest Game will include allowing special checks
for doors, trapdoors, chests in Minetest Game.

Protection mods will likely want to mimic the changes in their relevant
code sections.
2016-03-11 21:09:53 +00:00
Auke Kok
4e59fcf5c1 Add consistent monotonic day counter - get_day_count()
I've written several experimental bits of code that revolve around the
need for a consistent calendar, but implementing one is extremely hard
in mods due to time changes and mods overriding core.get_timeofday(),
which will conflict.

The second part of the problem is that doing this from a mod requires
constant maintenance of a settings file.

An implementation in core is trivial, however, and solves all of
these problems at virtually no cost: No extra branches in server
steps, and a single branch when minetest.set_time_of_day(), which is
entirely reasonable.

We store the day_count value in env_meta.txt.

The use case is obvious: This change allows mods to create an actual
virtual calendar, or properly account for seasonal changes, etc..

We add a "/days" chatcommand that displays the current day count. No
permissions are needed. It can only retrieve the day count, not
modify it.
2016-03-09 01:45:23 +01:00
ShadowNinja
3ce6642a26 Add AreaStore custom ID API 2016-03-07 16:33:20 -05:00
est31
d494733839 Add minetest.register_lbm() to run code on block load only 2016-03-07 19:54:26 +01:00
Jean-Patrick Guerrero
04e311a36d Settings Tab: Regroup dropdown datas in tables 2016-03-06 23:42:21 +00:00
Rui914
24e8b0ac1e Faster insertion into table 2016-03-06 23:42:04 +00:00
Muhammad Rifqi Priyo Susanto
75db0543f3 Add forgotten valleys mapgen in mapgen name
Missing `valleys` in `settingtypes.txt` and `minetest.conf.example`.
2016-03-05 16:06:27 +01:00
Jean-Patrick Guerrero
335ad705e6 Update settings tab + some misc. clean-up 2016-03-05 10:41:51 +01:00
est31
e81753b69c Don't generate trailing spaces in minetest.conf.example
If the default value of a setting was empty,
it previously generated a trailing space.
2016-02-27 05:49:22 +01:00
RealBadAngel
f9d727764f Mapblock mesh: Allow to use VBO 2016-02-26 00:51:01 +00:00
RealBadAngel
8eb7ddb0a2 Remove new_style_water 2016-02-26 00:50:46 +00:00
Jeija
31e0667a4a Add Lua interface to HTTPFetchRequest
This allows mods to perform both asynchronous and synchronous HTTP
requests. Mods are only granted access to HTTP APIs if either mod
security is disabled or if they are whitelisted in any of the
the secure.http_mods and secure.trusted_mods settings.

Adds httpfetch_caller_alloc_secure to generate random, non-predictable
caller IDs so that lua mods cannot spy on each others HTTP queries.
2016-02-22 15:39:41 +01:00
RealBadAngel
b2aabdfe07 Camera: remove auto tune FPS, single view range setting 2016-02-21 18:18:13 +01:00
RealBadAngel
2f4cf0bcca Remove preload_item_visuals code
Closes #3748
2016-02-21 17:46:50 +01:00
BlockMen
ecc8b70182 Restore simple settings tab and add advanced settings as dialog 2016-02-21 08:54:33 +00:00
paramat
7e5eea9ad5 Documentation: Remove now unused 'vertical spawn range' 2016-02-11 04:23:26 +00:00
Diego Martinez
13dd7959db Initialize facedir and wallmounted tables only once.
This makes the functions a bit faster since they don't
have to recreate the tables every invocation, and makes
the code more readable.

Also, document `wallmounted_to_dir`.

The function was implemented but not documented in `lua_api.txt`.
2016-02-11 04:23:17 +00:00
Kahrl
0f03547b03 Log /clearobjects mode 2016-02-11 04:22:58 +00:00
Kahrl
b1428ab4bb Add '/clearobjects quick' 2016-02-11 04:22:58 +00:00
RealBadAngel
eb3840a3f8 Filmic HDR tone mapping 2016-02-09 02:55:59 -05:00
RealBadAngel
b44da4916a Cleanup selection mesh code, add shaders for halo and selection boxes 2016-02-08 03:57:42 -05:00
Diego Martinez
430195381d builtin: Fix print crashing on nil "holes".
The engine implementation of `print` packs the varargs into a
table and passes the table directly to `table.concat`. If you
pass any value not supported by `table.concat` (particularly
`nil`), the server crashes. This is unexpected behavior, as
`print` is supposed to be able to work with anything.

This patch changes the implementation so it first converts
all arguments using `tostring`, which fixes the issue and
makes the custom `print` function compatible with the stock
Lua behavior.
2016-02-08 01:55:02 +01:00
RealBadAngel
6cd2b3b445 Use meshes to display inventory items 2016-02-07 19:51:55 +01:00
Splizard
0e75eb4324 Add admin command which says who the administator is for the server. 2016-02-04 13:23:02 +01:00
Duane Robertson
80c7612e76 Mgvalleys: use standard caves
Replace simple caves with V5 caves, adding unpredictable water and lava
settings and massive caves based on subterrain. Remove fast terrain mode
and accompanying settings. Remove superfluous temperature/humidity
settings. Remove lava/water height setting. Fix errors in humidity
handling and remove humidity_break_point setting. Move cave noises to
generateCaves. Fix minor formatting/naming issues and use
MYMAX/MYMIN/myround.
2016-01-31 22:31:25 +00:00
Auke Kok
ad884f23d4 New timer design.
I could honestly not make much sense of the timer implementation
that was here. Instead I've implemented the type of timer algorithm
that I've used before, and tested it instead.

The concept is extremely simple: all timers are put in an ordered
list. We check every server tick if any of the timers have
elapsed, and execute the function associated with this timer.

We know that many timers by themselves cause new timers to be
added to this list, so we iterate *backwards* over the timer
list. This means that new timers being added while timers are
being executed, can never be executed in the same function pass,
as they are always appended to the table *after* the end of
the table, which we will never reach in the current pass over
all the table elements.

We switch time keeping to minetest.get_us_time(). dtime is
likely unreliable and we have our own high-res timer that we
can fix if it is indeed broken. This removes the need to do
any sort of time keeping.
2016-01-29 01:04:51 -05:00
Diego Martinez
a594963a7d Fix world config menu ignoring name in mod.conf. 2016-01-23 21:14:14 -05:00
RealBadAngel
87291ea44a Show infotext with description for item entities 2016-01-18 17:21:41 +00:00
Rogier
487ab593d0 Fix error message in settings tab overlapping 'save' button
The save button is now fully functional again when an error message
is shown.

After an invalid value is entered in the settings tab dialog, the GUI
label for the error message that is shown was partly overlapping the
'save' button, so that the top half of the button could not be clicked
on.
2016-01-16 13:05:46 +00:00
Duane Robertson
3c6b2ffb10 Add Valleys mapgen. 2016-01-14 05:04:29 +00:00
paramat
3e0ea3c6ed Mgflat: Set blank default spflags. Unhide 2016-01-10 04:07:47 +00:00
Rogier
31ac53dfd0 Fix the checking of flags values in the settings tab
Changes:
- Accept setting an empty flags-type value in the settings tab
  if the variable specification permits it
- Don't accept substrings of flag values
  E.g. with values: 'one,two,three', 'hree', 'w', etc. used to
  be accepted. Not any more
- Don't accept flags with random pattern-matching special characters
  E.g. with values: 'one,two,three', 'on.', '(o)[n]e*' etc. used
  to be accepted. Not any more.
2016-01-10 01:03:06 +00:00
Rogier
58babf8b19 Improve parsing of setting types from settingtypes.txt for settings tab
- Accept numbers prefixed with '+'
- Accept multiple spaces instead of just a single one where spaces are expected
- Allow flags to have an empty default value
2016-01-10 01:03:06 +00:00
Dalai Felinto
9943ae3f1a 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.
2016-01-09 16:52:29 +01:00
paramat
0bbbc6e13d Liquids: Flow into and destroy 'floodable' nodes
Add new node property 'floodable', default false
Define "air" as floodable = true in C++ and lua
2016-01-07 05:57:19 +00:00
jeanpatrick.guerrero@gmail.com
382ab969d4 Alphabetical sorting of texture packs in menu (fixes #3487) 2015-12-26 21:53:12 +01:00
HybridDog
5755c9a439 Fix missing localization for obj 2015-12-20 16:25:33 +01:00
paramat
c26eb87aec 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
2015-12-15 04:18:19 +00:00
est31
8e3602f694 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.
2015-12-10 19:08:03 +01:00
Alex Ford
97908cc656 Add on_secondary_use when right clicking an item in the air 2015-12-02 02:18:44 +00:00
Robert Zenz
0cf15470fc 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.
2015-11-24 01:49:59 +01:00
paramat
c24f3b0a65 Mgfractal: Move julia set selection into formula parameter
Improve default parameters
Update and improve documentation
Unhide mapgen, but is still unstable
2015-11-23 00:34:09 +00:00
paramat
d7bbe81726 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
2015-11-21 00:10:08 +00:00
Rui
4fd394b657 Log static_spawn error only once 2015-11-21 00:13:28 +01:00
paramat
cb7da90138 Mgfractal: Revert unnecessary duplication of parameters 2015-11-15 08:13:36 +00:00
paramat
987d6a82f6 Mgfractal: Create a choice of 4 mandelbrot formulas 2015-11-14 04:25:47 +00:00
paramat
4434498367 Mgv6: Move global mapgen flag 'flat' into mgv6 spflags
Add mgv6 spflag 'flat'
Global flag is kept for backwards compatibility but is now undocumented
2015-11-13 04:25:08 +00:00
Robert Zenz
0876623aed Add the player name to dropped items
The player name is now added in the field "dropped_by" on the created
entity.
2015-11-12 00:47:11 +01:00
paramat
76c9abe4c8 Mapgen: Add flat mapgen in hidden form 2015-11-11 09:37:54 +00:00
est31
9a91f58e66 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.
2015-11-08 21:19:21 +01:00
kwolekr
f9e394a466 Improve LuaVoxelManip documentation 2015-11-07 11:59:24 -05:00
paramat
2ec1eee090 Conf.example, settingtypes: Improve mgfractal documentation 2015-11-06 11:12:07 +00:00
est31
5e507c9829 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.
2015-11-06 08:51:14 +01:00
paramat
732cabee19 Settingtypes: Correct documentation for mgfractal
Use type 'string' for v3fs and add comments
2015-11-05 00:53:39 +00:00
paramat
64049cf72a Mgfractal: Add documentation to conf.example and settingtypes 2015-11-04 05:22:55 +00:00
kwolekr
c2b5da735e Add callback parameter for core.emerge_area() 2015-11-02 18:43:09 -05:00
Rui914
482c4d69b0 minetest. to core. 2015-10-31 02:28:06 +01:00
paramat
c0a7c670a4 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
2015-10-29 20:03:15 +00:00
PilzAdam
eba5f7cd6c Fix parameter passing to gettext call 2015-10-25 19:14:07 +01:00
BlockMen
eb92bfb030 Check if hitter has inventory when punching item
Fixes #3280
2015-10-25 18:15:31 +01:00
Rui
df2c474d19 Credits: Remove my name 2015-10-25 16:10:49 +01:00
PilzAdam
6907c3e40a Escape " in generated settings_translation_file.cpp 2015-10-25 10:56:58 +01:00
PilzAdam
7d5c736531 Fix setting comments 2015-10-24 23:11:21 +02:00
PilzAdam
9ee0d376d4 Don't allow games or mods to add secure. settings 2015-10-24 22:32:03 +02:00
est31
85c6b5fd06 Better gettext support for protocol version mismatch messages
Previously, xgettext failed to resolve the dynamic call.
Thanks to @JakubVanek for pointing this out.
2015-10-24 20:16:47 +02:00
PilzAdam
6f2d9de769 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
2015-10-24 19:39:15 +02:00
Robert Zenz
c32847838d 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")
2015-10-22 19:55:48 +02:00
est31
f3d82567c9 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.
2015-10-18 02:18:10 +02:00
PilzAdam
006ef5b4a5 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
2015-10-17 22:06:29 +02:00
ShadowNinja
2139d7d45f 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
2015-10-14 01:03:54 -04:00
Rui
7f2cefa093 Localize digprop_err function 2015-10-12 02:05:11 +02:00
kilbith
caf0df8924 Add viewing range GUI setting 2015-10-06 19:00:26 +02:00
Fernando Carmona Varo
b12bdcce34 Added minetest.wallmounted_to_dir 2015-10-04 03:19:18 +02:00
est31
2a7d01b833 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.
2015-09-29 23:06:15 +02:00
kwolekr
f062bbd7a1 Add /emergeblocks command and core.emerge_area() Lua API 2015-09-23 15:56:24 -04:00
est31
1adc7bf5c6 Replace "self program" with "this program" in fstk boilerplates
... and remove trailing whitespace.
2015-09-21 20:05:17 +02:00
Rui914
620dcddf43 Minor tweaks handle_settings_buttons 2015-09-14 08:29:15 +02:00
Rui914
91bf68e1fe Change my email 2015-09-03 22:57:52 +02:00
Rui
d493855481 Small fixes of minetest.has_feature 2015-09-03 06:10:17 +02:00
Rui
4124e360cb Minor tweaks __builtin:falling_node 2015-09-01 19:14:08 +02:00
est31
714b68add2 Credits tab: fix accidental merger of two contributors
Fixes #3125
2015-08-31 16:37:02 +02:00
Rui914
ca9ebd4545 Use gettext to "None" of texture pack list 2015-08-25 00:22:58 +02:00
kwolekr
5009d31a33 Remove some emails from credits tab 2015-08-19 15:56:08 -04:00
kwolekr
f3c16ab373 Update credits tab 2015-08-19 15:14:27 -04:00
est31
d565ce9539 Client: disable mmdb modstore
The service isn't online, and on the long term, mmdb will likekly be
replaced with other services from the modding community.
2015-08-19 18:56:44 +02:00
est31
25dfd1bbf5 Don't do formspec escaping twice for loading description 2015-08-14 15:56:25 +02:00
kwolekr
2b04ab874d SAPI: Track last executed mod and include in error messages 2015-08-12 23:56:12 -04:00
jeanpatrick.guerrero@gmail.com
ffd0ef16c4 Fix FSAA dropdown option reset after changing another dropdown option 2015-07-25 17:33:41 +02:00
kilbith
a8c5841140 Remove drivers dropdown in the settings tab 2015-07-25 10:41:04 +02:00
Novatux
5dc9df8bbe Update my name 2015-07-24 12:04:44 +02:00
est31
3b50b2766a 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
sfan5
5b0c719171 Fix crash in mainmenu when loaded subgame does not have a "menu" directory 2015-07-21 21:55:58 +02:00
sfan5
8994913259 Allow random menu images for subgames 2015-07-21 16:58:22 +02:00
Mark Schreiber
74d8fdbd95 Add antialiasing UI setting
The Irrlicht engine supports antialiasing, and Minetest already supports
saving an antialiasing setting in its configuration file.  However,
Minetest lacked UI elements to set this setting, and previously the only
way to enable the feature was by hand-editing the configuration file.

Add a drop-down menu that can enable antialiasing.
2015-07-18 08:40:57 +02:00
Marcin
c5c609ce3d Add ability to specify coordinates for /spawnentity 2015-07-18 08:35:36 +02:00
ExcaliburZero
5b9c8dfbd2 Change texture pack description file name
Change the name for texture pack description files from "info.txt" to "description.txt" in order to keep the naming consistent between description files for both mods and texture packs.

Also add backwards compatibility for texture packs that use "info.txt", and note in the log that "info.txt" is depreciated.
2015-07-18 07:50:44 +02:00
jp
c3dead719a Fix remnant bugs on mainmenu
- Stop attempting to start a world when no world's created/selected in server tab
- Better world's indexes handling between subgames lists
2015-07-10 16:52:57 -04:00
RealBadAngel
39439cbd3d Add new leaves style - simple (glasslike drawtype) 2015-07-08 11:20:07 +02:00
jeanpatrick.guerrero@gmail.com
c53520aa31 Fix attempt to start a world when no world is selected/created 2015-07-04 17:09:26 +02:00
Sokomine
0a0378fece Set server_announce to world.mt and respect modes when changing subgame 2015-07-02 23:03:42 +02:00
Sokomine
75d2cfef5c Fix world.mt not written when selecting mode 2015-07-01 19:50:24 +02:00
est31
29b0dc89e6 Fix single click world select 2015-06-30 20:09:29 +02:00
jeanpatrick.guerrero@gmail.com
85f3d575ec Fix bugs in mainmenu 2015-06-30 18:11:38 +02:00
rubenwardy
0d65ee878c Add Lua errors to error dialog 2015-06-29 04:47:35 +02:00
est31
7b7f8b7225 Update credits tab 2015-06-16 19:34:27 +02:00
Wuzzy
bbf6f4fc25 Don't highlight entries in credits 2015-06-15 17:43:47 +02:00
Craig Davison
ecdfbfc8dc Remove reference to deprecated privilege 2015-06-14 23:53:30 +02:00
TeTpaAka
aa13baa30a Add minetest.register_on_player_hpchange 2015-06-13 19:40:31 +02:00
HybridDog
05f4e9ee08 More reliable serverlist behaviour
-> remember the previously loaded serverlist, and use if new one failed
-> show a "loading" serverlist
2015-06-09 16:44:43 +02:00
HybridDog
8383a61eac Decrease minetest.after globalstep lag
* abort if theres no active timer
* only reduce the timer.time of all timers when its necessary
* move updating timers_to_add into a seperate function
2015-06-06 21:00:38 +02:00
est31
b8a8be9c86 Nicer time setting logging
Now logs

ACTION[ServerThread]: player sets time to 6:03

instead of

ACTION[ServerThread]: player sets time to 6:3
2015-06-02 06:49:05 +02:00
est31
e479337c1a Fix wrong replace from previous commit 2015-06-02 00:20:12 +02:00
est31
6df6b2a0e0 Localize inside whole misc_helpers.lua 2015-06-01 18:18:18 +02:00
ShadowNinja
8f9af57314 Add core.get_dir_list 2015-05-16 18:33:22 -04:00
LeMagnesium
f26421228b Added hour:minute format to time command
* The time command now accepts parameters in the form <hour>:<minute>,
    and if invoked with no parameters returns the current time in said format.
2015-05-16 18:15:34 -04:00
Brandon
c5b4e54174 Add minetest.register_on_punchplayer 2015-05-15 11:09:55 +02:00
tenplus1
be18bd6a8c Don't crash if an item gets dropped into unloaded space
Items dropped into unloaded map space will crash game so here's a fix...
2015-05-15 00:15:25 +02:00
est31
178f536f08 Item entity merging refactor
Don't ident too much, and add a comment.
2015-05-15 00:06:18 +02:00
Novatux
75622c30be Add code to support raillike group names 2015-05-12 20:48:55 +02:00
Tomas Brod
732eb72a0c Fix minetest.clear_* creating new LOCAL table instead of clearing the existing one.
On calling clear_redistered_biomes the registered_biomes table is cleared
by creating a new empty table, but the pointer is not updated to point to
the new one. So after calling more register_biome, the registered_biome
table always contains 0 items, which is an error. Instead, the table is
cleared by removing all its items so the pointer (minetest.registered_*)
remains valid.
2015-04-26 15:45:58 -04:00
Muhammad Rifqi Priyo Susanto
1c7c349264 Remove fly mode in simple main menu
As the fly mode option is avaiable in-game, this is not used anymore.
2015-04-26 23:35:32 +10:00
ShadowNinja
436cb468e9 Add minetest.global_exists() 2015-04-21 22:58:37 +02:00
est31
fedbbc8883 Add reason to kicked log message and use present tense 2015-04-05 04:18:47 +02:00
Craig Robbins
bf06b68c96 Let main menu scale (non-Android)
This fixes main menu not fitting for 800x600 (and lower resolutions) on PC builds
2015-03-30 00:33:07 +10:00
Craig Robbins
e3d69f2920 Update credits 2015-03-29 21:31:13 +10:00
Loic Blot
284fefb0c3 Remove duplicate code since 8ca08a850ff2494652aa0ac2daa3d00f03aa4e7a 2015-03-25 09:08:17 +01:00
fz72
8ca08a850f Save creative_mode and enable_damage setting for each world in world.mt
Create Parameters on world initialisation and set settings of old worlds
2015-03-18 09:53:24 +01:00
est31
16b961b2eb Android: Fix auto-entry of server address and port in mainmenu
Fixes #2497.
2015-03-16 20:04:00 +01:00
SmallJoker
bbed01ab62 Radius parameter for /deleteblocks here 2015-03-05 00:10:53 +10:00
est31
1a175c6982 Add /setpassword and /clearpassword logging 2015-02-27 23:00:28 +01:00
ShadowNinja
cd4324e5a8 Fix serialization of floating point numbers 2015-02-21 13:16:18 -05:00
Novatux
804d65a8ec Add modname convention checking
Fixes #2037
2015-02-18 16:48:58 +01:00
est31
5a0ed780f5 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
Perttu Ahola
4d744cf87a Use fixed size for builtin menus on non-android platforms 2015-02-18 12:33:40 +02:00
Loic Blot
27d4e89d32 Fix unused (and so, broken) enable_rollback_recording. This option must be reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable)
ok @ShadowNinja
2015-02-18 09:28:39 +01:00
fz72
0a299fd4e5 Fix map_seed not changed when creating a new world after login to another 2015-02-18 08:57:14 +01:00
rubenwardy
efa977518a Fix minetest.item_eat's replace_with_item, fixes #2292 2015-02-16 10:24:19 +01:00
Loic Blot
346652a809 Fix issue #2278, Connection sent before address data loading 2015-02-14 23:23:54 +01:00
est31
7c5accf605 Fix crash on passing false as value in table to table.copy(t)
Fixes #2293.
2015-02-14 15:18:11 +10:00
ngosang
c7a7803780 Minor fixes in translations 2015-02-12 16:41:40 +01:00
Rui
92d1985802 Fix store.lua bug: default screenshot 2015-02-12 11:32:42 +01:00
Rui
14cc2c23d7 Fix tab_mods.lua: default screenshot patch
https://forum.minetest.net/viewtopic.php?f=6&t=11201
Fixed this bug.
2015-02-12 11:31:34 +01:00
ngosang
704453ff12 Fix 'Download complete' dialog in the mods store 2015-02-11 19:58:48 +01:00
kwolekr
15c037614f Hud: Modify Y-positioning of health/breath starbars to prevent overlapping with Hotbar 2015-02-08 12:47:45 -05:00
rubenwardy
b56f1175a2 Change assignment to global in a function to warning 2015-02-04 14:57:06 -05:00
kwolekr
a8ec7876a6 Prevent null concatenation when /deleteblocks is provided an incorrect format 2015-01-27 22:36:53 -05:00
ShadowNinja
47aca6f6d1 Fix imprecise serialization of large numbers 2015-01-25 20:19:35 -05:00
Craig Robbins
a28055f8fd Allow filter and mipmap drop down menues to be translated 2015-01-21 22:33:19 +10:00
kwolekr
976d0b2caa Reorganize supported video driver query mechanisms 2015-01-18 13:24:25 -05:00
kwolekr
44e4f5ab6e Revert "Fix style on settings tab"
This reverts commit 7b17b9059e30cef384ecca37feec87cdcdfd39b8.
2015-01-18 13:19:40 -05:00
jeanpatrick.guerrero@gmail.com
7b17b9059e Fix style on settings tab 2015-01-18 23:40:18 +10:00
kwolekr
5aeeb219e3 Simplify deleteblocks chat command argument parsing
Add optional core.pos_to_string decimal place rounding
Move core.string_to_pos to builtin/common/misc_helpers.lua for consistency
2015-01-15 18:05:13 -05:00
kwolekr
9736548720 Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
2015-01-15 16:48:56 -05:00
Diego Martínez
c9669e90bb Fix typo in serialize.lua. 2015-01-15 16:16:41 -05:00
kilbith
eb6b6ff333 Add missing return value for filter/mipmap dropdown in mainmenu 2015-01-15 20:26:05 +01:00
kilbith
5cf911ffe1 Small tweaking (alignement - client tab) 2015-01-15 23:25:31 +10:00
jeanpatrick.guerrero@gmail.com
227e4807b4 Reorganizing client and server tabs 2015-01-15 00:50:23 +10:00
kwolekr
a4a6cc8eb1 builtin: Unify register wrapper functions and wrap clear_registered_* functions too 2015-01-13 12:36:05 -05:00
paramat
a77c85fa6d Remove builtin_biome.lua from builtin and add simple biome minimal 2015-01-11 22:32:48 -05:00
sapier
de3888ca09 Remove automatic consistent formspec size <-> font size (now has to be done manually)
Set builtin formspecs to autoscale in order to get consistent formspec look and feel
Uncouple label positioning from font size (May break some formspecs but is required to allow manual font adjustment)
2015-01-09 18:46:24 +01:00
ShadowNinja
ef0a4e3614 Add registered_ores and registered_decorations 2015-01-05 18:24:15 -05:00
Diego Martínez
00bca11f59 Fix off-by-one error in string:split implementation. 2015-01-04 23:33:55 -05:00
sapier
663e42ca3f Fix forgotten favourite list image update of simple menu 2015-01-04 17:37:45 +01:00
sapier
21ee434832 Re-add lost way to debug simple menu on PC 2015-01-04 17:19:25 +01:00
kwolekr
ca89e63b27 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
kwolekr
5e2753c712 Expose mapgen parameters on scripting init
Add minetest.get_mapgen_params()
Deprecate minetest.register_on_mapgen_init()
2014-12-29 12:59:59 -05:00
Kahrl
ff3cfb746e Ignore downloaded public serverlist if public_serverlist is false
Fixes #1807: When the server list finishes downloading, the local server
list resets in certain conditions
2014-12-30 00:49:23 +10:00
Diego Martinez
ab55da589c Faster string.split implementation. 2014-12-28 23:27:07 -05:00
fz72
86cfbc21da MainMenu: Save 'hide gamemods' and 'hide modpack contents' checkbox state (fixes #1960) 2014-12-28 23:20:51 -05:00
kwolekr
7dbb3916cb Temporarily set default biome in builtin
This should probably be removed when minetest_game has proper biomes.
If I hear "the whole map is just stone!" again after this, I am going to detonate.
2014-12-18 09:57:38 -05:00
Kahrl
581efea60e Remove vertlabels from main menu and relayout a bit 2014-12-13 00:33:38 +01:00
Kahrl
733d3182bd Display serverlist flags as icons 2014-12-13 00:33:38 +01:00
Craig Robbins
c151099b79 Revert "Adjust the values of dirs1 and dirs2 so that rotate_and_place orients textures correctly"
This reverts commit 9878e8de4fdf232ebb77b396766c339786c01218.

See: https://github.com/minetest/minetest/issues/1939 and IRC log for discussion
2014-12-12 16:21:29 +10:00
paramat
f114fc74d6 Fix undeclared globals in functions and shorten lines in misc_helpers.lua. 2014-12-11 21:37:46 -05:00
SmallJoker
5229a229a6 Ignore .name directories and files
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-10 02:49:02 +10:00
Kahrl
d0be823807 Always escape user provided data in mainmenu fields 2014-12-08 07:48:51 +01:00
SmallJoker
2fd14e1bd5 Add Lua helper functions vector.apply(v) math.sign(x, tolerance) 2014-12-06 10:07:25 +01:00
Calinou
d7b3046cf6 Make dropped items larger and rotate faster
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-04 21:10:12 +10:00
SmallJoker
6a43b3af09 Add minetest.copy_table(table) To get rid off the "table references"
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-27 18:19:01 +10:00
Craig Davison
dbae8a8854 Fix some undeclared global variables 2014-11-26 22:50:08 +10:00
Kodexky
9aaf67ebe0 Fix Android main menu crash, and user data directory check.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-26 18:11:08 +10:00
dvere
9878e8de4f Adjust the values of dirs1 and dirs2 so that rotate_and_place orients textures correctly
According to doc/lua_api.txt if paramtype2 == "facedir" the two least significant bits of parm2 orient the texture around the axis. For dirs1 (looking at a wall) these would be 0, 1, 2, 3 and for dirs2 (looking at the ceiling) 2, 1, 0, 3
2014-11-25 12:44:47 +10:00
ShadowNinja
a1db83e93f Make duplicate warning checks file and line specific 2014-11-23 16:34:49 -05:00
sapier
0dcc4b251f Fix console spaming by debug function on mod checking for global variable to exist. 2014-11-23 15:24:37 +01:00
ShadowNinja
6c52de88fb Update credits menu 2014-11-21 11:35:29 -05:00
ShadowNinja
c4e393deea Simplify loading of Android version of menu 2014-11-20 15:37:20 -05:00
ShadowNinja
d2b5ba83b0 Fix leaking global in texture pack menu 2014-11-20 15:37:20 -05:00
ShadowNinja
a6ba042cf7 Add strict module
Also fix leaking globals found by it.
2014-11-19 12:40:54 -05:00
ShadowNinja
6afdb22ba7 Tweak core.serialize
This adds proper support for nested tables and improves performance a bit.
2014-11-19 12:40:54 -05:00
Wouters Dorian
92815ad54b Improved VoxelArea variable locality, thus performance
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-14 00:10:09 +10:00
Wuzzy
18c583ee0b Add tooltips to main menu subgames button bar 2014-11-09 09:38:43 +01:00
paramat
92981b2fee Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, blobs 2014-11-08 21:37:26 +01:00
ShadowNinja
05e7f71b33 Fix dump() indentation with non-tab indents 2014-11-08 12:49:50 -05:00
Ryan Newell
90b6de173e Add last_login field to auth.txt
Also shortens some related code and adds more parameters to string.split.
2014-11-08 12:49:50 -05:00
rubenwardy
9bb6648f26 Add notice when only minimal is installed 2014-10-28 13:17:14 -04:00
Kahrl
8a44df8cba Change topleft text when switching subgames, fixes #1728 2014-10-09 08:58:47 +02:00
LeMagnesium
b98e8d6da8 Add a better error message when trying to teleport another player without bring privileges 2014-10-07 16:52:52 -04:00
BlockMen
f48f686930 Add optional framed glasslike drawtype 2014-10-02 11:35:15 +02:00
SmallJoker
db5aff832b Use round if falling node is misplaced
Fixes: http://i.imgur.com/arAWw1i.png (middle-right)
2014-09-28 13:33:39 +02:00
ShadowNinja
3e7e65885a Make dump's output prettier
Changes:
  * Indentation with tabs by default.
  * Array keys dumped without "[i] = " prefix.
  * String keys that are valid identifiers aren't enclosed in '[""]'.
  * Basic support for multiple references (as specified in the comment).
2014-09-21 15:24:00 -04:00
SmallJoker
44a1d0c192 Fix wrong video_driver setting when changing in mainmenu
Fixes issue with direct3d(8|9)
2014-09-21 16:27:58 +02:00
sapier
3ce6888c1c Fix retval of entity.get_staticdata beeing lost while profiling is enabled 2014-08-24 01:56:27 +02:00
sapier
996ea60642 Add video driver selection to settings menu (based uppon idea from webdesigner97) 2014-08-23 01:55:54 +02:00
Casimir
08f7ac5704 Remove buildable_to nodes without dropping item when replaced by a falling node 2014-08-22 11:14:15 +02:00
sapier
a4c987b339 Fix caption of config mods button (simple menu) 2014-08-19 22:34:25 +02:00
sapier
c24e0753fc Mod profiling support
Config settings:
profiling = true/false (gather statistics)
detailed_profiling = true/false (break mod times to callbacks)

Chat commands:
save_mod_profile saves current statistics in debug.txt and shows on console (on default loglevel)
2014-08-19 22:22:57 +02:00
BlockMen
e9e9e42573 Fix mainmenu game initialisation 2014-08-14 07:18:32 +02:00
ShadowNinja
15f3713e2f Formspec escape fixed seen in world creation menu 2014-08-05 15:37:53 -04:00
sfan5
5884236046 Rework texture generating code, add texture grouping via ( ... ) 2014-07-29 20:02:56 +02:00
ShadowNinja
33ca115ae4 Remove vector assertions
These were initially added to get tracebacks for invalid vector errors, but it
didn't work and tracebacks have since been properly fixed in the core.
2014-07-19 23:50:50 -04:00
Zefram
aebbcbf398 Fix indexing error in timer processing 2014-07-16 17:24:39 +02:00
sapier
65b8b524c0 Add srollbar formspec element 2014-07-16 15:02:56 +02:00
Novatux
24a631ee2a Fix crash reported here: https://forum.minetest.net/viewtopic.php?f=6&t=9726 2014-07-13 11:05:07 +02:00
proller
3feece1f28 Remove proller from credits 2014-07-12 18:28:17 +04:00
proller
2d90aca4ab Remove indev mapgen 2014-07-12 18:21:54 +04:00
proller
7df83c2c67 Remove math mapgen 2014-07-12 18:15:55 +04:00
sapier
1cc40c0a7c Add support for Android 2.3+
There have been plenty of ppl involved in creating this version.
I don't wanna mention names as I'm sure I'd forget someone so I
just tell where help has been done:
- The partial android versions done by various ppl
- Testing on different android devices
- reviewing code (especially the in core changes)
- testing controls
- reviewing texts

A big thank you to everyone helping this to be completed!
2014-06-29 18:17:56 +02:00
sapier
2625323f25 Fix menu crash due to lack of favourites list 2014-06-22 14:00:57 +02:00
sapier
d4245e6cac Support for scalable font and gui elements
Fix positioning of tabheader in order to be usable for scaling GUIs
WARNING: this changes position of current tabheaders, mods have to adjust!
2014-06-22 00:08:55 +02:00
sapier
1c7cc2665b Fix broken serverdescription in multiplayer tab 2014-06-19 22:03:49 +02:00
sapier
65a4630f31 Fix bounding rect for formspec elements label vertlabel and checkboxes 2014-06-18 22:38:29 +02:00
sapier
9ffa88b558 Fix regression main_menu_script setting not working any longer 2014-06-14 21:20:09 +02:00
sapier
7b3602bab3 Fix regression dirt texture not beeing default in non cloud menu 2014-06-14 20:51:57 +02:00
sapier
003634e049 Add support for exiting formspecs by doubleclicking outside 2014-06-12 23:15:05 +02:00
Lord89James
9675d9e9cb New feature: drop a item instead a stack while...
sneaking
2014-06-10 18:11:43 +02:00
sfan5
282f53ddb7 Allow custom liquids to have drops 2014-06-08 23:25:13 +02:00
RealBadAngel
f70e0556fc Re-add missing shaders setting. (Generate normalmaps) 2014-06-04 16:41:33 +02:00
ShadowNinja
e7706593c6 Add success and output return values to chat commands 2014-05-28 18:36:46 -04:00
rubenwardy
832d7973c8 Add item eat callback 2014-05-26 18:41:58 -04:00
Diego Martinez
f0a9e7ddc8 Sort commands and privs alphabetically in '/help'.
Also make a stray variable local.
2014-05-24 17:33:59 -04:00
ShadowNinja
882e12f8ab Rework dumping functions
Changes:
  * Add comments to explain the dumping code
  * Add support for dumping values of any type (as '<' <type> '>')
  * Add support for tables as keys in dump2()
  * Make dump2() return it's result (like dump()) rather than printing it
  * Simplify and optimize function serialization via serialize()
2014-05-24 17:32:42 -04:00
sapier
f969a91c0a Fix a bunch of small bugs due to mainmenu cleanup
Fix doubleclick not working in singleplayer
Fix of by one issue on accessing raw list
Fix this->self
Fix copy&paste error for scroll button
2014-05-24 11:16:05 +02:00
RealBadAngel
18fe277d94 Item entity stacks merge on the ground.
Add TTL to item entities.
2014-05-23 22:46:05 +02:00
sapier
87b4bce594 Fix singleplayer dialogs missing game customization 2014-05-17 15:32:51 +02:00
sapier
c3984569c0 Add formspec toolkit and refactor mainmenu to use it
Fix crash on using cursor keys in client menu without selected server
Add support for non fixed size tabviews
2014-05-16 22:57:14 +02:00
sapier
6c37e89f08 Fix old client showing duplicated health bar on new server
Fix client not showing hearts and bubbles on connecting to old server
Fix server not remembering hud flags correctly
2014-05-11 22:34:44 +02:00
sapier
c8aed03ace Fix healthbar not beeing hidden on disabled damage 2014-05-10 23:32:25 +02:00
ShadowNinja
c4359ff65c Use "core" namespace internally 2014-05-08 13:02:04 -04:00
ShadowNinja
1cd512913e Organize builtin into subdirectories 2014-05-07 17:14:23 -04:00
sapier
d3ee617f37 Fix heart + bubble bar size on different texture packs
Add DPI support for statbar
Move heart+bubble bar to Lua HUD
Add statbar size (based upon an idea by blue42u)
Add support for customizing breath and statbar
2014-05-07 21:46:27 +02:00
sapier
4b44d359f5 Fix usage of deprecated functions in builtin 2014-04-29 23:57:07 +02:00
sapier
b5acec0a3c Add proper lua api deprecated handling 2014-04-29 22:49:04 +02:00
ShadowNinja
0d6e4ef5f3 Add support for function serialization to minetest.serialize 2014-04-27 16:15:53 -04:00
ShadowNinja
6ab3b4c838 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
ShadowNinja
e3bdd7b2ed Revert "Add backtrace to error function"
This reverts commit 5b518ed2feff28c9bf21ad940c1b211b72d71bd1.

This caused duplicate tracebacks and tracebacks when unwanted.
It also ignored the level argument to error() and didn't pass the message (or level) to debug.traceback().
Use xpcall() or lua_pcall()'s errorhandler argument instead.
2014-04-24 18:27:25 -04:00
proller
0279f32db7 Remove liquid_finite and weather 2014-04-18 21:56:48 +04:00
ShadowNinja
dcafad2f73 Add checks for nil in minetest.after 2014-04-13 17:54:00 -04:00
BlockMen
fefec8cdc4 Fix crash when teleporting near unknown node 2014-04-11 21:38:16 +02:00
Novatux
936c6f577a Fix "ghost stacks" created when a player clicks an item on the ground:
since the object is not immediately removed, any other code may still
think an object is there, therefore leading to item duplication. This code
therefore sets the itemstring to '' after the object is picked up to avoid
such issues
2014-03-22 18:15:33 +01:00
RealBadAngel
0dc1aec509 Normal maps generation on the fly.
Parallax mapping with slope information.
Overriding normal maps.
2014-03-21 01:32:00 +01:00
ShadowNinja
c9b64206f9 Fix error when calling minetest.node_punch without a pointed_thing 2014-03-11 13:00:16 -04:00
sapier
a4e2198e41 Replace pause and message menu by formspec ones 2014-03-05 18:44:14 +01:00
ShadowNinja
9a3b7715e2 Remove "Server -!- " prefix from player messages 2014-02-27 00:00:22 -05:00
ShadowNinja
85fe75d1cb Add the option to bind to a specific address 2014-02-05 21:24:46 +01:00
ShadowNinja
fbef701bcd Escape texture pack names 2014-02-03 17:57:19 -05:00
sapier
857a49e081 Add minetest.kick_player(name, reason) 2014-02-03 17:33:59 -05:00
ShadowNinja
6e352e3cbf Fix error on mod download failure 2014-01-24 15:22:22 -05:00
ShadowNinja
76d4396fa1 Pass pointed_thing to on_punch and minetest.register_on_punchnode callbacks 2014-01-23 19:21:56 -05:00
ShadowNinja
1b5b6fe692 Add pointed_thing to minetest.register_on_placenode
As suggested by qwrwed.
2014-01-21 22:06:40 -05:00
PilzAdam
4585e855a7 Fix minetest.rotate_and_place() calling on_rightclick() with nil/random param for node 2014-01-19 23:16:22 +01:00
Dániel Varga
66b24cc9ff Fixed mainmenu lua errors because of changes in get_textlist_index
Fixed lua error when none of the worlds or servers selected are and connect,
delete or configure buttons used.
2014-01-18 10:41:43 +01:00
ShadowNinja
5434d87da2 Fix spelling of "attempt" 2014-01-13 22:11:31 -05:00
ShadowNinja
574ed6a363 Add minetest.override_item 2014-01-13 21:41:00 -05:00
Kahrl
8966c16ad2 Add formspec table 2014-01-13 18:11:08 -05:00
Novatux
676f34a02b Fix doc and forceloading crash. 2014-01-12 14:31:32 +01:00
Novatux
84b94eb198 Add forceloading 2014-01-11 17:54:00 +01:00
Novatux
e21b29f422 Deepcopy pointed_thing for after_place_node, give it to on_rightclick too. 2014-01-11 17:23:28 +01:00
ShadowNinja
c46574f30f Pass pointed_thing to after_place_node 2014-01-06 21:25:10 -05:00
ShadowNinja
9551f651cb Add protection support to auto-rotated nodes 2014-01-06 21:25:10 -05:00
ShadowNinja
811ea6cfc0 Prevent auto-rotated nodes replacing the nodes they are placed on 2014-01-06 21:25:10 -05:00
PilzAdam
3e728e722a Escape error messages in error dialog 2014-01-06 18:59:14 +01:00
Perttu Ahola
86c616a545 Fix main menu error message dialog: Now multi-line messages aren't cut at half of second line 2014-01-06 02:37:36 +02:00
Ilya Zhuravlev
b8c3221d55 Fix absence of images when compiled with RUN_IN_PLACE=0. 2014-01-05 12:43:40 +02:00
Novatux
8e1d78e9de Revert "Fix minetest.facedir_to_dir when param2 is 5 or 7."
This reverts commit 4e5760a5416cbca6945b1b4484cbd96bea7b250c.
2013-12-30 18:45:34 +01:00
kaeza
33de69a173 Add 'on_prejoinplayer' callback 2013-12-12 13:42:14 -05:00
sapier
4ccaa6d0af Implement search tab and version picker 2013-12-11 23:07:38 +01:00
ShadowNinja
a0dce51af6 Move script_run_callbacks to Lua 2013-12-07 22:03:07 -05:00
ShadowNinja
000da6b25d Only create one alias metatable 2013-12-04 14:31:55 -05:00
RealBadAngel
2330267d22 Shaders rework. 2013-12-03 18:55:25 +01:00
0gb.us
e605d70256 Assume a selection box for fences
Similar to assuming a selection box for the nodebox drawtype, minetest.register_item() now assumes a selection box for the fencelike drawtype.
2013-11-30 13:22:50 -05:00
kwolekr
9a927476ca Change default value of is_ground_content to true
Most modders would otherwise forget to explicitly define this, and generated nodes aliased from mods would wall-off caves
2013-11-30 02:37:10 -05:00
sapier
2e66aca357 Fix modstore/favourites hang by adding asynchronous lua job support 2013-11-29 22:09:14 +01:00
sapier
b08d7558de Split server/client port setting to avoid port number clashes in mainmenu 2013-11-28 21:43:06 +01:00
ShadowNinja
7433d65d3e Rollback fixes and get_node_actions 2013-11-27 18:13:06 -05:00
sapier
16bd368374 Temporary disable local install button due to irrlicht dialog breaking localization 2013-11-24 02:15:25 +01:00
Novatux
83f1d9ae6b Fix my name (doesn't display correctly because of utf8 characters) 2013-11-23 20:05:07 +01:00
Sfan5
374e68d205 Fix rename modpack button not working, fixes #1019 2013-11-23 19:06:35 +01:00
Sfan5
ee0b8da844 Prevent enabling Shaders if Direct3D is used 2013-11-23 15:41:47 +01:00
ShadowNinja
e52d811110 Fix usage of 'minetest' where 'engine' was intended 2013-11-21 21:24:04 -05:00
BlockMen
0c8bf7cf94 Fix modmanager screenshot path 2013-11-19 15:39:40 +01:00
kwolekr
86ef7147b6 Fix issue #1009 (minetest.get_connected_players() returns non-existing players) 2013-11-17 15:15:59 -05:00
PilzAdam
367b5382a3 Replace print()s with minetest.log() in builtin 2013-11-17 12:11:44 +01:00
sapier
0f9440fa61 Fix "TODO read modinfo" in modmanager to improve ui usability 2013-11-10 19:37:45 +01:00
PilzAdam
0aeecf3f7f Add BlockMen to core dev list 2013-11-09 14:28:00 +01:00
sapier
b6bb3ffec4 Fix game buttons not beeing 48x48 2013-11-09 13:58:57 +01:00
sapier
7bd30b59ee Fix crash updating gametype without game 2013-11-09 13:30:44 +01:00
4Evergreen4
1d856b734b Add wrapper for minetest.rotate_and_place. 2013-11-07 20:14:26 -05:00
Cy
3d63492f50 Don't assert scalars must be vectors. 2013-11-06 23:16:49 -05:00
Vanessa Ezekowitz
8ad052881c Fix orient_flags to be optional. 2013-11-06 22:23:00 -05:00
Vanessa Ezekowitz
d886f34003 Add 6d facedir rotation prediction routine 2013-11-06 21:08:36 -05:00
kwolekr
2e89209cf1 Add seed entry to world creation dialog 2013-11-05 00:00:01 -05:00
BlockMen
25edae00ea Reworked formspecs and kahrl's hexcolor parser 2013-11-03 22:14:37 +01:00
ShadowNinja
06a5eceb81 Add basic protection support to builtin 2013-11-02 14:01:10 -04:00
Novatux
69a59f1e41 Move the sapling growing and grass adding/removing ABMs to Lua 2013-11-02 10:50:11 +01:00
ShadowNinja
b1c82f332c Add my email address to the main menu credits 2013-11-01 16:30:30 -04:00
ShadowNinja
fba2650e39 Add more checks to vector functions 2013-11-01 13:16:07 -04:00
BlockMen
1cbba877ff Don't remove background of games in submenus 2013-11-01 16:46:25 +01:00
0gb.us
53ab2f8def Fixed ignoring of "diggable" property of nodes. 2013-11-01 10:58:41 -04:00
Novatux
bd6d4666ab Add a callback: minetest.register_on_craft(itemstack, player,
old_craft_grid, craft_inv) and
minetest.register_craft_predict(itemstack, player, old_craft_grid,
craft_inv)
2013-11-01 15:55:34 +01:00
ShadowNinja
2f10cfb226 Made unknown nodes stop falling nodes properly and shorten lines 2013-11-01 10:33:29 -04:00
Novatux
6e17503208 Move new core devs to the "Core Developpers" section of mainmenu. 2013-11-01 12:27:50 +01:00
ShadowNinja
e232f7311f Add sanity checks to vector functions 2013-10-17 09:42:57 +03:00
ShadowNinja
12504a18ec Remove vector metatable setting
This not only makes the vector functions faster, but also makes them more
consistent with other functions.
2013-10-17 09:41:01 +03:00
Novatux
34e0a0ca0f Add tool callback 2013-10-16 21:58:29 +04:00
Novatux
4e5760a541 Fix minetest.facedir_to_dir when param2 is 5 or 7. 2013-10-16 21:55:01 +04:00
fairiestoy
2170c9958a Optimized minetest.get_connected_players()
Instead of collecting all objects within a huge radius (which could be
a big value), just register each player that connects and give back the
current hold list.
2013-10-01 15:03:03 +02:00
PilzAdam
731392866f Allow to manually specify param2 in minetest.item_place() and return success 2013-09-28 23:46:48 +02:00
Kahrl
3c4734d69a Change mainmenu texture handling + small misc changes
Texture names must now be escaped in formspec elements image[],
background[], image_button[], image_button_exit[].

Instead of special-case handling of texture loading (and unloading
which was missing) in guiFormSpecMenu.cpp, use the newly created
ISimpleTextureSource interface which is a minimal subset of
ITextureSource. There is an implementation of this interface
used by GUIEngine (MenuTextureSource).

Fix an off-by-one bug in unescape_string; it caused requests for a
texture called "\0".
2013-09-11 00:08:56 +02:00
sapier
681e136d5f Fix bug: texture pack not overriding default menu textures 2013-09-10 22:51:27 +02:00
PilzAdam
e0f9f15d1d Use engine.is_yes() in mainmenu 2013-09-10 21:38:50 +02:00
PilzAdam
214da7bef9 Use the Settings Lua interface to read world.mt 2013-09-10 21:38:49 +02:00
Sfan5
1f3402e7a1 Prevent ModMgr from deleting backend setting in world.mt 2013-09-09 22:50:51 +02:00
sapier
8489980039 Add sanity check to sort function 2013-09-05 01:45:39 +02:00
sapier
5b518ed2fe Add backtrace to error function 2013-09-04 12:19:26 +02:00
Ilya Zhuravlev
82e1ab7b2b Add escaping to world list in main menu (fixes #896). 2013-08-29 16:12:16 +04:00
Kahrl
4242782dc2 World config dialog: Use engine determined path for game mods 2013-08-19 15:49:36 +02:00
Kahrl
8548bb75b6 GUIFormSpecMenu focus fixes 2013-08-19 15:49:36 +02:00
Kahrl
392689e7ba Fix trailing nils being dropped by deprecated minetest.env handler 2013-08-18 15:15:33 +02:00
sapier
09a50d0458 Add translation for main menu
Add engine.gettext() and remove gettext() calls in guiFormspecMenu.cpp
2013-08-17 16:01:43 +02:00
Novatux
4095e8f383 Fix modstore pagecount 2013-08-16 17:54:19 +02:00
Novatux
a2380bf76f Use get_texturepath() instead of get_gamepath()/../textures 2013-08-16 17:44:39 +02:00
PilzAdam
b94f18298d Sort modlist alphabetically 2013-08-16 02:09:45 +02:00
PilzAdam
d52185c43e Add ability to activate mods with doubleclick (remove old_style_mod_selection) 2013-08-16 01:04:37 +02:00
Novatux
7921fe2cd1 Fix formspec escaping, add escaping to info.txt for texture packs. 2013-08-15 22:12:51 +02:00
Kahrl
4e1f50035e Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00
Ilya Zhuravlev
6228d634fb Fix my name. 2013-08-14 20:35:38 +04:00
PilzAdam
0d60bc55e4 Dont download modstore info if its isnt needed 2013-08-10 13:35:38 +02:00
Novatux
779165144e Simplify code of mainmenu world sort 2013-08-06 18:33:23 +02:00
BlockMen
7b13d119ed Add support for different drowning damage and allow drowning in other nodetypes 2013-08-06 17:49:39 +02:00
PilzAdam
ba65e2ae6c Fix worldlist in servertab being filtered by selected game 2013-08-06 17:28:51 +02:00
Novatux
14eab22d81 Add minetest.registered_biomes 2013-08-06 13:24:54 +02:00
PilzAdam
3fd84edb61 Dont show gamefilter in TP tab 2013-08-04 18:37:19 +02:00
Novatux
383153419b Add texture pack selection to main menu 2013-08-04 16:52:30 +02:00
Perttu Ahola
8831669505 Allow mods to listen to cheat detections using minetest.register_on_cheat() 2013-08-04 00:45:49 +03:00
PilzAdam
4fb4efd8ed Play sounds/main_menu.ogg in menu 2013-07-28 23:29:03 +02:00
proller
037e84d377 Better snow fall, finite liquid transform, leveled nodes api 2013-07-28 17:14:31 +04:00
proller
3aedfac968 Weather support 2013-07-27 23:21:48 +04:00
sapier
215e37aac3 Show portnumber for ip adresses only 2013-07-25 12:58:14 +02:00
hdastwb
a0f5b70568 added (optional) support for 6d facedir in dir_to_facedir and added facedir_to_dir 2013-07-24 00:31:32 +02:00
sapier
4f3bc05a5b Fix enable mod/enable button not shown on entering world config dialog 2013-07-22 18:10:00 +02:00
sapier
b3db44f801 Fix bug in world creation
Add old style mod selection in worldconfig dialog
2013-07-22 18:10:00 +02:00
sapier
4e2b394ae8 Add missing header/footer for singleplayer tab 2013-07-22 18:10:00 +02:00
sapier
e7ba4777fe Remove debug output 2013-07-22 18:10:00 +02:00
sapier
60225be7fa Fix Bug in modname guessing resulting in undefined modname 2013-07-22 18:10:00 +02:00
sapier
32001d1e2b merge mainmenu_helper.lua to misc_helpers.lua 2013-07-22 18:10:00 +02:00
sapier
e3827fbc23 Fix background/overlay/footer/header handling
Add missing file headers
2013-07-22 18:10:00 +02:00
sapier
d6c052038f Add playernumber to favorites list 2013-07-22 18:09:59 +02:00
sapier
8a1658ec3e filterlist api cleanup 2013-07-22 18:09:59 +02:00
sapier
baf5614880 Add port to favorites if not 30000
Major modmgr overhaul
Add missing formspec checkbox doc
2013-07-22 18:09:59 +02:00
sapier
868f35e27a Replace worldlist by generic filterlist implementation 2013-07-22 18:09:59 +02:00
sapier
5c7ecdb7c5 Add support for modstore screenshots
Add error output on invalid mmdb entries
2013-07-22 18:09:59 +02:00
sapier
80a2acaa86 Swap name/password <-> server description 2013-07-22 18:09:59 +02:00
sapier
47a0a5c746 Revert "Fix serverdescription and name not beeing saved to local serverlist"
This reverts commit 7dbbbfc665e285cc9eb9d750c3a449d7da178d4f.
(was added twice)
2013-07-22 18:09:59 +02:00
sapier
7a9f365ba4 Remove unused required by list in worldconfig 2013-07-22 18:09:59 +02:00
PilzAdam
8cae659786 Add an option to disable object <-> object collision for Lua entities 2013-07-20 20:43:11 +02:00
sapier
288948edf7 Don't show flags in local favorites 2013-07-12 22:55:34 +02:00
sapier
a0771d0940 Fix bug server name set to address field when using up/down keys
Show server description above connect button instead of in favorites list
2013-07-12 22:46:28 +02:00
sapier
38bc38cd88 Add missing server flags in public serverlist 2013-07-12 22:46:27 +02:00
sapier
494fa0c81a Remove lots of debug output from modmgr
Fix RUN_IN_PLACE=0 mod install (now mods are saved in user folder in that case)
Fix text of field element not unescaped correctly
2013-07-12 22:46:27 +02:00
sapier
7dbbbfc665 Fix serverdescription and name not beeing saved to local serverlist 2013-07-12 22:46:27 +02:00
Kahrl
6027c8d259 Add VoxelArea:position, VoxelArea:iter and VoxelArea:iterp 2013-07-11 22:57:26 +02:00
sapier
52beafff53 Worldlist fixes
Add alphabeticaly sorted worldlists
Select world after creation
Move worldlist handling to separate file
Merge world selection of singleplayer/server tab
Remove some useless code
2013-07-11 22:20:50 +02:00
sapier
1c7c5d571d Fix serverlist 2013-07-09 22:55:39 +02:00
proller
e3b7c8e0cc Public server checkbox 2013-07-10 00:17:47 +04:00
kwolekr
e1a13608d8 Revert "Fix serverlist not beeing escaped correctly"
This reverts commit 39d03148e5d98ef5f9a31b131a79ff2bbd71a877.
2013-07-08 20:21:09 -04:00
sapier
eedb29346e Fix header not beeing shown except on singleplayer tab 2013-07-08 19:58:28 -04:00
sapier
39d03148e5 Fix serverlist not beeing escaped correctly
Always use address for server
Fix first (empty) element beeing selected after deleting last world
2013-07-08 19:58:17 -04:00
sapier
f419f66546 fix crash on play/start with empty world list
make enter button work in create world dialog
2013-07-08 19:58:03 -04:00
PilzAdam
0b5f18754c Make sure that coordinates passed to /teleport are actual numbers 2013-07-08 13:33:14 +02:00
ShadowNinja
a75afb85ca Move math.hypot() to misc_helpers.lua and fix zero-division error 2013-07-07 21:47:38 -04:00
kwolekr
9dcd21911a Lua main menu: Fix world creation dialog 2013-07-07 20:37:00 -04:00
PilzAdam
9bd5f612f7 Set numeric locale in Lua in main menu 2013-07-08 02:28:36 +02:00
sapier
88d43af276 Fix many formspec menu bugs 2013-07-07 19:49:52 -04:00
Sfan5
7e73b7cae9 Fix parseColor, change remaining colorkeys to new format, fix Contributor list 2013-07-07 19:59:18 +02:00
ShadowNinja
07715b1b6a Handle 0 vectors in vector.normalize() 2013-07-07 02:29:09 -04:00
ShadowNinja
ae8ff4b8e2 Add vector helpers 2013-07-07 01:49:11 -04:00
Sfan5
307c57dcc4 Use hexadecimal RRGGBB instead of colorkeys, rename getColor to parseColor 2013-07-06 10:32:58 +02:00
kwolekr
a225efaec5 Lua main menu: Fix crash on init lua error, mapgen dropdown index, and new worlds not saving index 2013-07-03 01:25:26 -04:00
sapier
967121a34b Replace C++ mainmenu by formspec powered one 2013-07-02 19:58:20 -04:00
PilzAdam
caf0b67e47 Remove unnecessary debug output in node_dig() 2013-07-02 00:34:59 +00:00
Lord89James
90b095aa54 Infinite tools in creative mode 2013-07-02 00:33:31 +00:00
kwolekr
0003fc8215 Add Lua VoxelArea methods: contains, containsp, containsi 2013-06-28 22:52:13 -04:00
kwolekr
3f13dc790c Add voxelarea.lua helper to builtin 2013-06-28 11:07:45 -04:00
kwolekr
2e292b67a0 Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API 2013-06-27 22:35:35 -04:00
Diego Martínez
e65ac4d626 Restore old output format of dump() 2013-06-18 19:55:53 +00:00
khonkhortisan
3e4f1462bc Fix crash in dump() when index is a table 2013-06-15 00:10:16 +00:00
sapier
ab43377577 Move scriptapi to separate folder (by sapier)
On the lua side, notably minetest.env:<function>(<args>) should now
be replaced by minetest.<function>(<args>).
The old way is and will stay supported for a long time.

Also:
Update and clean up lua_api.txt (by celeron55)
Move EnvRef to lua and remove add_rat and add_firefly (by kahrl)
Add separate src/util/CMakeLists.txt, other minor fixes (by kahrl)
2013-05-25 00:51:02 +02:00
PilzAdam
b28734c82c Fix minetest.features 2013-05-01 16:00:58 +02:00
Sfan5
a4183994a4 Add a Way of checking for specific Feature with Lua Adds minetest.get_feature() and minetest.has_feature() 2013-05-01 15:06:01 +02:00
ShadowNinja
3d4d0cb574 Add option to not prepend "Server -!- " to messages sent with minetest.chat_send_player() 2013-04-23 09:47:08 +03:00
RealBadAngel
9449026839 Use system wide LuaJIT if aviable. 2013-04-08 22:10:00 +02:00
PilzAdam
97f0bb0342 Only enqueue falling nodes if they really want to fall 2013-04-05 22:33:11 +02:00
khonkhortisan
1586cdac53 unkn own block -> unkn own node 2013-04-05 15:57:39 +02:00
ShadowNinja
1bae82e6c4 Add private messaging with /msg 2013-04-05 15:25:59 +02:00
Diego Martínez
2fb0e547a0 Use the nodebox as selection box if it's not set manually 2013-04-05 15:14:37 +02:00
PilzAdam
76b86c0368 Add a delay to nodeupdate() 2013-04-05 02:24:39 +02:00
PilzAdam
9ff8012655 Return an ItemStack in minetest.item_place() if nodes' on rightclick doesnt return it 2013-04-02 15:19:02 +02:00
0gb.us
23590a8383 Don't grant priveleges to non-existent players.
When accidentally misspelling a name, privileges are sometimes granted to non-existent players, leaving them with the extra privileges, but without the default privileges, if they ever join the server. This corrects that by disallowing /grant from working with invalid players. For completeness, it does the same for /revoke.
2013-03-30 21:50:07 -04:00
0gb.us
02cbb58107 Fix node replacement in not-quite-loaded chunks
When first entering an area, sometimes placing nodes replaces other nodes that are not buildable_to. This seems to be caused by the fact that nodes in unloaded map blocks are treated as ignore, a node that is buildable_to. This fixes that, by using get_node_or_nil() instead of the previously-used get_node(), then checking to see if the nodes were actually loaded before replacing.
2013-03-29 14:18:51 -04:00
Splizard
9b5bb5c755 Allow falling nodes to pass through solid "buildable_to" nodes. 2013-03-19 16:38:56 +01:00
PilzAdam
d6026a5fee Prevent passing nil to unpack() in minetest.after 2013-03-19 00:15:41 +01:00
Jeija
fc5d2074b9 Allow minetest.after to take a variable number of arguments 2013-03-17 00:23:30 -04:00
kwolekr
ba78194636 Allow any character in formspec strings with escape char 2013-03-05 23:25:02 -05:00
PilzAdam
55097e1985 Fix pickup of dropped items when the player only takes a part of them 2013-03-03 16:35:29 +01:00
PilzAdam
ef6b8bee07 Drop nodes as items when dugged and no room in inventory and dont remove dropped items when no room in inventory 2013-02-21 16:58:50 +01:00
PilzAdam
fc61c8809b Dont drop tools on rightclick 2013-02-19 20:16:55 +01:00
Ilya Zhuravlev
214a8b4597 Set numeric locale for Lua 2013-02-18 13:58:55 +04:00
PilzAdam
86b906d015 Fix minetest.item_place_node() and minetest.item_drop() to always return an ItemStack 2013-02-13 18:06:25 +01:00
RealBadAngel
b1019a88ba Fix to on_rightclick not able to change wielded_item 2013-02-13 02:06:36 +04:00
PilzAdam
28f5b55643 Dont call on_rightclick() if sneak is pressed 2013-01-27 21:58:46 +01:00
PilzAdam
443bbe6a78 Fix spread of items in falling code 2013-01-12 20:55:45 +01:00
PilzAdam
5bc14e2fe4 Add on_rightclick(pos, node, clicker) callback for nodes 2013-01-04 17:15:16 +01:00
PilzAdam
29c17c14f1 Add ability to change the itemstack in placenode callbacks 2012-12-17 19:49:18 +01:00
jordan4ibanez
aa46e5c5e7 Fix item entity's collision with nodeboxes 2012-12-15 15:32:17 -05:00
PilzAdam
52ba413185 Only fly through walls in noclip mode wich requires the noclip privilege 2012-12-11 16:44:13 +01:00
Ilya Zhuravlev
eeb0900291 Fix minetest.get_node_drops(). It should always return list of item names, not ItemStack(s). 2012-12-02 21:09:30 +04:00
PilzAdam
fa50341a71 Only check attachment for nodes with group attached_node 2012-12-01 15:20:53 +01:00
PilzAdam
fa76057e7f Add the group attached_node
Nodes in this group will be dropped as items if the node under them or the node in the wallmounted direction is not walkable.
2012-12-01 13:32:32 +01:00
DannyDark
84ace27872 Log /grant and /revoke command usage 2012-11-30 22:12:21 +02:00
Matthew I
6c8fa83ecd Add shutdown hook interface to Lua API
Scripts can call minetest.register_on_shutdown() to register a
shutdown hook.

Document that minetest.register_on_shutdown() callbacks may not be run

If the server crashes, it is unlikely that callbacks registered using
minetest.register_on_shutdown() will be called.
2012-11-30 19:26:51 +02:00
Perttu Ahola
117f208826 Revert "Use wielditem drawtype for all nodes in item_entity"
This reverts commit ffad18e42442fed10c312adc989fc62b74e05896.
2012-11-27 17:32:58 +02:00
PilzAdam
ffad18e424 Use wielditem drawtype for all nodes in item_entity 2012-11-26 18:30:07 +01:00
Anthony
3ba9b26310 Fix server crash on /clearpassword
According to #253, using `/clearpassword` without an argument causes the server to crash from an assertion failure. I've resubmitted matttpt's patch as a pull request to aid in merging.
2012-11-20 16:45:30 +01:00
PilzAdam
23837e4352 Merge pull request #274 from PilzAdam/falling
Fix a bug in falling code where entities get stuck
2012-11-03 15:14:14 -07:00
PilzAdam
936411e4d1 Make air and ignore drop nothing 2012-11-03 18:29:01 +01:00
PilzAdam
21317be493 Fix a bug in falling code where entities get stuck 2012-11-03 18:07:49 +01:00
PilzAdam
df2ad89518 Remove a useless comment 2012-10-31 19:08:00 +01:00
PilzAdam
10dc2b30fb Move falling to builtin 2012-10-31 19:06:11 +01:00
Perttu Ahola
72ef6f637e Statically store always_collect field of __builtin:item 2012-09-09 23:14:41 +03:00
Perttu Ahola
d53a6cd851 Add overridable function for handling dropped items from nodes 2012-09-02 19:38:44 +03:00
Perttu Ahola
0b1ab41a95 Fix github issue #213: Dropping unknown items crashes the game
The items will now just disappear when dropped.
2012-08-19 10:55:04 +03:00
Matthew I
b29d609b0b Move chat commands to Lua and remove servercommand.{cpp,h}
Commands moved:
 /me
 /status
 /time
 /shutdown
 /ban
 /clearobjects
2012-08-12 16:45:58 +03:00
Matthew I
1ed559bd24 Allow digging of unknown nodes
This allows the removal of nodes with unknown types.
get_item_callback() (C++) would fail if a node has an unknown type.  Now it
will try using the callback from minetest.nodedef_default in this case.
Also, minetest.node_dig() (Lua) was altered to always allow digging when
the node definition is empty (i.e. unknown node).
2012-08-12 16:04:18 +03:00
Perttu Ahola
a9d8df83d2 Make the rollback system VERY FUCKING GOD DAMN POWERFUL 2012-07-27 13:24:28 +03:00
Perttu Ahola
508b7b5e51 Don't track liquids for rollback because of too much log 2012-07-27 02:46:54 +03:00
Perttu Ahola
0190f9b077 Experimental-ish rollback functionality 2012-07-27 02:27:18 +03:00
Perttu Ahola
100345f1e4 Deprecate minetest.add_to_creative_inventory and use group not_in_creative_inventory instead 2012-07-25 18:05:31 +03:00
Perttu Ahola
0a18dda158 Remove special handling of creative mode 2012-07-25 14:07:45 +03:00
Perttu Ahola
9eaf93d41d Detached inventory callbacks and reworked node metadata callbacks 2012-07-25 02:36:54 +03:00
Perttu Ahola
96eac87d47 builtin/item.lua: callbacks with copies of positions and nodes rather than recycle the same ones, which callbacks can modify 2012-07-24 17:46:17 +03:00
Perttu Ahola
e8331f0c1d Add oldnode parameter to minetest.register_on_placenode callback 2012-07-23 20:44:56 +03:00
Perttu Ahola
c009aa3a22 Fix building on top of (pointable && buildable_to) nodes 2012-07-23 20:42:08 +03:00
Perttu Ahola
2c027b03db Move /give, /giveme, /spawnentity and /pulverize to builtin/chatcommands.lua 2012-07-23 17:43:08 +03:00
Perttu Ahola
4cc98d7add minetest.register_on_player_receive_fields() 2012-07-22 17:40:48 +03:00
Matthew I
c62a121cca Add "/mods" command to list mods to client 2012-07-22 13:36:10 +03:00
Perttu Ahola
0b61253931 Actually fix facedir-rotated nodes placed using minetest.env:place_node() 2012-07-21 21:23:15 +03:00
Perttu Ahola
43df78102c Check whether node is known before reading definition in __builtin:item:on_step() 2012-07-21 16:36:14 +03:00
Calinou
61e58ee9b7 Message cleanups (consistency) and prevent /me when not allowed to shout 2012-07-21 02:27:58 +03:00
darkrose
f21af8da9c Handle nil placer as it might occur when using minetest.env:place_node. (Uberi) 2012-07-21 02:27:46 +03:00
Perttu Ahola
57550b2b3d Fix /setpassword and /clearpassword 2012-06-16 23:35:11 +03:00
Perttu Ahola
2b500d72e5 Remove tiles and special_tiles from node definition prototype because otherwise the old names can't be used 2012-06-16 18:02:26 +03:00
Perttu Ahola
cd0014b24f Update field names to non-deprecated ones in node definition prototype 2012-06-16 17:05:21 +03:00
Perttu Ahola
6a0388bb4b Node placement client-side prediction 2012-06-10 12:46:48 +03:00
Perttu Ahola
22502f80db Don't deprecate minetest.register_on_placenode and minetest.register_on_dignode 2012-06-08 01:51:23 +03:00
Perttu Ahola
81554fbf72 Add minetest.serialize() and minetest.deserialize() 2012-06-07 00:05:00 +03:00
Perttu Ahola
c3658e7c79 place_node, dig_node and punch_node; an in-game tester tool; remove old code 2012-06-05 23:10:07 +03:00
darkrose
a149c6ecde Add can_dig callback 2012-06-03 22:31:02 +03:00
Perttu Ahola
bf8cfce50e Add ObjRef:is_player() and modify ObjRef:get_player_name() to always return a string to aid better inter-object compatibility of code that assumes objects to be players 2012-06-03 22:31:01 +03:00
Perttu Ahola
35df1ee253 Implement locked chest; add after_place_node and after_dig_node node callbacks 2012-06-03 22:31:01 +03:00
Perttu Ahola
aba7134301 on_metadata_inventory_{move,offer,take} 2012-06-03 22:31:01 +03:00
Perttu Ahola
f3ec1452cd Random node metadata things 2012-06-03 22:31:00 +03:00
Perttu Ahola
29f03756bd Attempt to begin to implement chests and furnace in Lua (with problems) 2012-06-03 22:31:00 +03:00
Perttu Ahola
7a427c9070 Take out the "Privileges of foo are hidden from you." response of /privs 2012-05-19 12:42:55 +03:00
Perttu Ahola
24603d7ad3 Fix executing register_chatcommand-defined commands even in the middle of a chat line 2012-04-13 17:20:48 +03:00
Perttu Ahola
8742b3dab2 basic_privs to allow granting/revoking interact_extra too 2012-04-10 00:41:28 +03:00
Perttu Ahola
93cdc9b9dc Support static_spawnpoint setting 2012-04-09 23:32:13 +03:00
Perttu Ahola
07a5e59ae7 Allow redefining minetest.item_place and the like 2012-04-09 21:14:16 +03:00
Perttu Ahola
b1f043d010 Add basic_privs privilege 2012-04-09 18:57:41 +03:00
Perttu Ahola
251c0c8508 Improve doc/lua_api.txt and add minetest.get_item_group(name, group) 2012-04-09 12:36:25 +03:00
Perttu Ahola
3214daca4c Fix unable to join server first time with a password 2012-04-09 11:24:35 +03:00
Perttu Ahola
2b4d21160f minetest.get_node_group(name, group) 2012-04-08 18:39:55 +03:00
Perttu Ahola
24953ba974 Fix super-small size of regular item entities 2012-04-04 22:57:29 +03:00
Perttu Ahola
b22168d3da Fix dropped nodeitem visuals 2012-04-04 13:16:09 +03:00
Perttu Ahola
f0e7da8a63 Implement dropped items as LuaEntities; leave the old ones as is for compatibility 2012-04-01 16:06:01 +03:00
Perttu Ahola
8ecfd88d92 Remplement and improve /setting in Lua, now called /set 2012-04-01 13:08:52 +03:00
Perttu Ahola
b54178bbbd Don't allow /granting unknown privileges 2012-04-01 12:45:38 +03:00
Perttu Ahola
67547f74fc Split builtin.lua to multiple files 2012-04-01 12:38:19 +03:00
Perttu Ahola
d5594e431c granting and revoking of all privileges at once 2012-04-01 01:10:29 +03:00
Perttu Ahola
a18326e97a Fix authentication handler reporting failed password change while it isn't 2012-03-31 17:41:04 +03:00
Perttu Ahola
36c9463467 Improve /grant and /revoke output, add /auth_reload 2012-03-31 17:26:44 +03:00
Perttu Ahola
52122c342d Add 'fly' and 'fast' privileges and the underlying privileges-to-client system 2012-03-31 16:25:02 +03:00
Perttu Ahola
e297c73913 More documentation in doc/lua_api.txt 2012-03-31 13:08:17 +03:00
Perttu Ahola
280e1a2512 Allow group:groupname in ABM definition and implement minetest.hash_node_position() 2012-03-31 12:30:11 +03:00
Perttu Ahola
29110d5428 Fix handling of missing auth.txt in the new handler 2012-03-30 23:12:01 +03:00
Perttu Ahola
b494324ec3 Fix admin password handling in minetest.builtin_auth_handler.get_auth 2012-03-30 21:25:54 +03:00
Perttu Ahola
4cee9a86ac Improved teleport command 2012-03-30 20:54:57 +03:00
Perttu Ahola
7cad0a2dcd Reimplement authentication handler in Lua; now we have 1) infinite privilege names, 2) minetest.register_authentication_handler() 2012-03-30 18:42:18 +03:00
Perttu Ahola
80a64341f0 Add minetest.get_connected_players() 2012-03-30 13:45:51 +03:00
Perttu Ahola
b9ffb5f30d minetest.register_chatcommand(cmd, def) 2012-03-30 01:45:23 +03:00
Kahrl
a9ddbb4beb on_joinplayer + on_leaveplayer + scriptapi_run_callbacks + bugfix
Add minetest.register_on_joinplayer and minetest.register_on_leaveplayer,
make adding new callbacks to scriptapi.cpp easier by adding
scriptapi_run_callbacks, also fix a minor bug with PlayerSAO <->
singleplayer mode interaction
2012-03-29 14:27:09 +03:00
Perttu Ahola
fa24e6b995 Fix and extend minetest.after(time, func, param) 2012-03-27 08:17:42 +03:00
Perttu Ahola
37b64ff616 Add minetest.after(time, func) 2012-03-27 00:37:31 +03:00
Perttu Ahola
97b693052c Flatten share/ and user/ in the source and for the RUN_IN_PLACE build 2012-03-20 00:08:00 +02:00