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
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
Loic Blot
f8d5af7536
SAO work: ActiveObject types & SAO cleanup * Replace u8 types with ActiveObjectType. * Merge content_object.h into activeobject.h * Remove DummyLoadSAO, it's now unused. * Remove ItemSAO, it's also unused
2015-02-17 09:09:50 +01:00
Loic Blot
7c8793cbea
Performance Improvement: Use a cache which caches result for getFacePositions.
...
This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected.
In the callgrind map, you will see original:
* 3.3M calls to std::list for 9700 calls to getFacePositions
In the modified version, you will see:
* 3.3K calls to std::list for 6900 call to getFacePositions
Callgrind map is here: #2321
it's a huge performance improvement to l_find_node_near
2015-02-16 11:27:44 +01:00
ngosang
e102cbd840
Fix .zip extraction (mod store)
2015-02-12 15:27:20 +01:00
ShadowNinja
9e2a9b55e1
Reduce gettext wide/narrow and string/char* conversions
2015-02-05 03:24:22 -05:00
kwolekr
38bd9e93a2
Fix all warnings and remove -Wno-unused-but-set cflag
2015-01-18 23:29:19 -05:00
kwolekr
976d0b2caa
Reorganize supported video driver query mechanisms
2015-01-18 13:24:25 -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
rubenwardy
2504da28af
Fix direction property of HUD
2015-01-07 20:51:47 +01:00
kwolekr
2d849b0a19
Shorten ManualMapVoxelManipulator to MMVManip
2015-01-05 02:42:27 -05:00
kwolekr
7289d61e99
Optionally specify propagateSunlight area in calcLighting
...
This fixes the Mapgen V5 calcLighting segfault
2015-01-05 01:20:36 -05:00
kwolekr
3bdf3df223
Exclude vertical mapblock borders when setting light
2015-01-04 23:14:16 -05:00
kwolekr
bdcf03ae36
Add minetest.generate_ores() and minetest.generate_decorations()
2015-01-04 22:38:48 -05:00
kwolekr
8eb9cebdd0
Add warning about using deprecated fields in Mapgen API and update docs
2015-01-04 03:24:40 -05:00
kwolekr
ef8ed5d127
LuaVoxelManip: Error when given out-of-bounds area
2015-01-04 03:07:28 -05:00
kwolekr
7233a1228e
Lighting: Fix nearly all issues
...
The cause of a single light source seemingly being lit without spread
was due to its creation in the +Y mapblock boundary layer during map
generation, which was ignored as the overtop. This overtop explicitly
needs to be omitted during sunlight propagation, however. To accomplish
this, Mapgen::calcLighting() was split into separate functions taking
separate parameters.
Additionally, do not diminish light too early during spread. This fixes the
output inconsistency between Map::updateLighting and Mapgen::calcLighting.
2015-01-04 02:42:31 -05:00
kwolekr
9b0d77a549
Replace instances of height_min/height_max with y_min/y_max to remove ambiguity
2014-12-30 01:48:20 -05:00
kwolekr
b589353d89
Decoration: Fix default parameter values
2014-12-30 00:52:40 -05: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
kwolekr
cc3ab5efa5
LuaVoxelManip: Remove blank allocator
2014-12-29 01:31:37 -05:00
kwolekr
3c637b4baf
LuaItemStack: Fix and document behavior of set_name, set_count, set_wear, set_metadata
2014-12-28 23:59:24 -05:00
kwolekr
863379a4c6
Decoration: Add height_min and height_max parameters
...
Also set default height_min/height_max to -31000 and 31000,
respectively, for ore and biomes
2014-12-28 22:37:27 -05:00
paramat
570c2042b1
Biome API: Add shore top and shore filler nodes, underwater node, water top node. Add water top depth and shore height parameters. Remove water dust node
2014-12-28 21:37:43 -05:00
kwolekr
61dfa912f5
Ore: Add Vein ore type
2014-12-28 21:17:12 -05:00
kwolekr
900fa26965
Ore: Add Blob ore type
2014-12-28 03:11:00 -05:00
kwolekr
8334100fe1
LuaVoxelManip: Add option to allocate blank data
2014-12-27 23:09:36 -05:00
kwolekr
08d259cf41
Set fallback content if resolving content vector requires everything
2014-12-27 22:20:04 -05:00
kwolekr
b67f37f27e
Redefine NodeResolver interface and replace with callback mechanism
2014-12-27 02:12:21 -05:00
kwolekr
035e6bfc18
LuaPerlinNoiseMap: Fix 3d noise safety check
2014-12-12 22:58:44 -05:00
kwolekr
cf8213ea82
Add minetest.clear_registered_decorations() and clear_registered_ores()
2014-12-12 14:08:04 -05:00
kwolekr
4e5d17f666
LuaPerlinNoiseMap: Prevent invalid memory access when attempting to generate 3d noise with a buffer created for 2d
2014-12-12 02:46:52 -05:00
kwolekr
2b8180a417
Add support for NoiseParams in minetest.get_perlin() and add docs on NoiseParams to lua_api.txt
2014-12-12 02:02:44 -05:00
kwolekr
d3dc88fe6b
Settings: Fail on invalid sequence and throw exception for LuaSettings
2014-12-12 00:44:17 -05:00
kwolekr
16baed0467
Noise: Automatically transform noise maps if needed
2014-12-10 23:35:37 -05:00
kwolekr
dcc48976ce
Move get_schematic and read_schematic to l_mapgen.cpp
2014-12-10 01:49:57 -05:00
kwolekr
cfba55ba0a
Remove get_noiseparams function. read_noiseparams should be used from now on
2014-12-10 00:56:44 -05:00
kwolekr
fb2bc956b1
Noise: Create a deep copy of NoiseParams
2014-12-10 00:37:09 -05:00
kwolekr
88c28414f4
Settings: Sanitize setting name everywhere, not just LuaSettings
2014-12-09 23:52:13 -05:00
kwolekr
d50878d608
Rename and repurpose minetest.set_noiseparam_defaults to set_noiseparams
2014-12-09 23:44:04 -05:00
kwolekr
2fd3d52020
Add flags and lacunarity as new noise parameters
...
Add 'absolute value' option to noise map functions
Extend persistence modulation to 3D noise
Extend 'eased' option to noise2d_perlin* functions
Some noise.cpp formatting fixups
2014-12-07 21:59:32 -05:00
kwolekr
60feb4ad25
Add minetest.clear_registered_biomes() api
2014-12-06 18:08:23 -05:00
kwolekr
5062b99cb0
Rewrite generate notification mechanism
...
Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
2014-12-06 13:53:35 -05:00
paramat
0a5373d400
Add definable node_stone to biome API, mgv5, mgv7. Reduce and correct depth of mgv7 biomes. l_mapgen.cpp: add '#include mapgen_v5.h' because '#include mapgen_v7' is there. Improve underwater grass hack
2014-12-03 19:45:29 -05:00
kwolekr
360660947b
LuaSettings: Sanitize setting name strings
2014-11-30 19:01:54 -05:00
kwolekr
25945dc539
noise: Throw exception on noise allocation failure
2014-11-29 16:52:45 -05:00
ShadowNinja
b1965ac209
Clean up rollback
2014-11-19 16:21:59 -05:00
kwolekr
8d3a68f343
Fix warnings and other misc. minor changes
2014-11-14 03:07:12 -05:00
Craig Robbins
5b8855e83c
Remove most exceptions from getNode() (and variants)
2014-11-14 18:05:34 +10:00
SmallJoker
874109c520
Add option 'eased' to NoiseParams
...
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-13 23:06:38 +10:00
kwolekr
7616537bc0
Add Generator Element Management framework
...
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-12 23:02:41 -05:00
kwolekr
9e811a92e7
Split up mapgen.cpp
2014-11-01 13:16:23 -04:00
kwolekr
db25f75337
Fix erroneous lua_pop parameter
2014-10-30 16:23:48 -04:00
kwolekr
03f3f958ed
Check minetest.hud_change() parameters on conversion ( Fix #1714 )
2014-10-30 00:12:12 -04:00
kwolekr
1cb6ea6346
Refactor decoration-related code
...
Split up ModApiMapgen::l_register_decoration()
Define and make use of CONTAINS() and ARRLEN() macros
2014-10-29 01:56:37 -04:00
kwolekr
bc28ca0636
Prevent invalid memory access under failure conditions
2014-10-28 00:18:53 -04:00
kwolekr
d274cbfce6
Add NodeResolver and clean up node name -> content ID resolution system
2014-10-26 23:55:45 -04:00
ShadowNinja
741df993ff
Fix object reference pushing functions when called from coroutines
2014-10-07 16:37:45 -04:00
ShadowNinja
6bc4cad0ed
Split settings into seperate source and header files
...
This also cleans up settings a bit
2014-09-21 14:39:35 -04:00
ShadowNinja
406ed5efac
Add compression API
2014-09-20 14:02:54 -04:00
ShadowNinja
2f170a63c6
Simplify and optimize schematic replacements
2014-09-11 22:25:06 -04:00
kwolekr
f3eefeb794
Add LuaVoxelManip methods: get_node_at() and set_node_at()
2014-09-01 17:33:21 -04:00
kwolekr
9e4e7072da
Update Mapgen VoxelManipulator on buffer invalidation
2014-09-01 15:12:22 -04:00
sapier
e09293b483
Add lua exception handling test code
...
Catch some error situations when mod used without thinking about it
2014-08-23 20:53:34 +02:00
Craig Robbins
f33d31693e
Fix seg fault if popping from empty stack (L-system trees)
...
See: https://github.com/minetest/minetest/issues/1525
Background
Wuzzy2: If you attempt to spawn a L-system tree with minetest.spawn_tree, you can make Minetest crash if it is attempted to pop an empty stack.
ShadowNinja: This shouldn't cause a segmentation fault, but it should throw a Lua error
Commit Description
This commit throws a Lua error instead of causing a segmentation fault. The server will still "crash" but will include a Lua backtrace.
L-Systems fix randomness
Unless a random seed is provided (via Lua treedef) seed the PRNG with a different seed for each tree
Resolves: https://github.com/minetest/minetest/issues/1469
Fix l-system crash when treedef random_level not set by Lua
2014-08-23 06:40: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
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
SmallJoker
6c5f79fee9
Fix the *CDP display
2014-08-15 21:46:04 +02:00
Craig Robbins
6929206bc2
Fix issue 1527
...
https://github.com/minetest/minetest/issues/1527
2014-07-29 22:39:39 -04:00
ShadowNinja
d9de29fa50
Clear inventory before setting lists
2014-06-23 15:28:48 -04:00
sapier
9a39848ba9
Remove a lot of superfluous ifndef USE_CURL checks
2014-06-19 19:05:37 +02:00
sapier
7b3602bab3
Fix regression dirt texture not beeing default in non cloud menu
2014-06-14 20:51:57 +02:00
sapier
d76b8c6e7c
Small cleanup of hud add/remove code
2014-05-31 22:32:44 +02:00
ShadowNinja
34d872628d
Make print() NUL-safe
2014-05-15 19:09:47 -04: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
ShadowNinja
fef2729fd0
Add write_json() to the async API
2014-05-07 17:05:44 -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
b5acec0a3c
Add proper lua api deprecated handling
2014-04-29 22:49:04 +02:00
ShadowNinja
f2b93b7bae
Fix code style of async API
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
sapier
1838a3fd69
Add support for dpi based HUD scaling
...
Add support for (configurable) multiline hotbar
Improved screensize handling
Add userdefined gui scale by BlockMen
2014-04-27 21:53:13 +02:00
proller
0279f32db7
Remove liquid_finite and weather
2014-04-18 21:56:48 +04:00
Sfan5
118e2ae865
Fix all warnings reported by clang
2014-04-15 21:34:53 +02:00
BlockMen
8b02a015eb
Use integers instead of float values
2014-04-12 20:04:12 +02:00
BlockMen
c0ab09af74
Add player:set_eye_offset() by @MirceaKitsune and clean up
2014-04-12 17:44:20 +02:00
BlockMen
a1db9242ec
Add third person view
2014-04-12 17:44:15 +02:00
sapier
edcad09dee
Add support for named threads (atm linux only)
2014-04-09 21:32:21 +02:00
sapier
a88c685f02
Minor fixes for file/modlist download in mainmenu
2014-04-09 20:22:21 +02:00
sapier
142e2d3b74
Cleanup client init states by bumping protocol version
...
Don't use TOSERVER_RECEIVED_MEDIA but TOSERVER_CLIENT_READY as indicatio for client ready
Handle clients with protocol version < 23 (almost) same way as before
Make client tell server about it's version
Add client state to not send bogus player position updates prior init complete
Add access to statistics information (peer connction time,rtt,version)
Fix clients standing stalled in world while preloading item visuals (new clients only)
Add get_player_information to read client specific information from lua
2014-04-08 21:12:20 +02:00
ShadowNinja
31fe72dbac
Remove lua_State parameter from LuaError::LuaError
2014-03-15 16:28:59 -04:00
ShadowNinja
f8b7555558
Revert "Make sure we get a stacktrace for as many lua errors as possible"
...
This reverts commit 362ef5f6ced862daa4733034810d0b07e2ad5d89.
Stack tracebacks couldn't be generated in LuaError::LuaError anyway and this
caused a second, empty traceback in most cases. In cases where there wasn't
annother traceback the stack had already unwound and the traceback was empty.
2014-03-15 16:01:06 -04:00
Sfan5
362ef5f6ce
Make sure we get a stacktrace for as many lua errors as possible
2014-03-15 14:51:00 +01:00
kwolekr
28d6326bd4
Update set_mapgen_params and set_gen_notify Lua API to use new flag format
2014-03-08 11:35:04 -05:00
ShadowNinja
9a3b7715e2
Remove "Server -!- " prefix from player messages
2014-02-27 00:00:22 -05:00
Sfan5
d9d06ad920
Fix g_settings not being included
2014-02-16 08:25:53 +01:00
kwolekr
c163859057
Schematic: Add force_placement parameter to minetest.place_structure API
2014-02-15 19:46:57 -05:00
kwolekr
3570f3e396
Add minetest.set_noiseparam_defaults() Lua API
2014-02-15 19:13:14 -05:00
kwolekr
2a01050a0c
Add capability to read table flag fields from Lua API
2014-02-09 12:44:31 -05:00
kwolekr
83bafbe08b
Make flag strings clear specified flag with 'no' prefix
...
Remove flagmask field from set_mapgen_params table
Add small bits of needed documentation
2014-02-08 17:50:59 -05:00
sapier
3670f5a37b
Fix invalid check for fread error on extracting zip
2014-02-07 21:29:31 +01:00
kwolekr
5a34f40d80
Huge overhaul of the entire MapgenParams system
...
MapgenParams is no longer a polymorphic class, eliminating the need for messy and bug-prone reallocations.
Separation between the common and mapgen-specific parameters is now strongly defined.
Mapgen parameters objects are now properly encapsulated within the proper subsystems.
2014-02-03 22:50:14 -05:00
sapier
857a49e081
Add minetest.kick_player(name, reason)
2014-02-03 17:33:59 -05:00
Perttu Ahola
6a3fa9df12
Add player:override_day_night_ratio() for arbitrarily controlling sunlight brightness
2014-02-01 18:38:21 +01:00
Perttu Ahola
86a6cca3cf
Add player:set_sky() with simple skybox support
2014-02-01 18:34:26 +01:00
RealBadAngel
21f1bec724
New HUD element - waypoint.
2014-01-26 21:31:59 +01:00
ShadowNinja
76d4396fa1
Pass pointed_thing to on_punch and minetest.register_on_punchnode callbacks
2014-01-23 19:21:56 -05:00
kwolekr
bafc4ac6a1
LuaVoxelManip: Add get_param2_data and set_param2_data
2014-01-19 02:55:59 -05:00
Kahrl
8966c16ad2
Add formspec table
2014-01-13 18:11:08 -05:00
khonkhortisan
2b1eff7725
Allow vertical axis particle rotation constraint
...
Use tables for adding particles, deprecate former way.
separate particles(pawner) definition, add default values, work with no
arguments
2014-01-13 17:34:56 -05:00
Ilya Zhuravlev
a4c5f10ecf
Fix some errors reported by clang static analyzer.
2014-01-13 03:29:12 +04:00
ShadowNinja
a9df87ede0
Rename get_json_value to read_json_value
2014-01-11 13:52:26 -05:00
ShadowNinja
bd8ddf1a52
Add InvRef::get/set_lists()
2014-01-11 13:52:26 -05:00
Novatux
84b94eb198
Add forceloading
2014-01-11 17:54:00 +01:00
Ilya Zhuravlev
b8c3221d55
Fix absence of images when compiled with RUN_IN_PLACE=0.
2014-01-05 12:43:40 +02:00
kaeza
767b2e7b17
Fix enum element name in Lua HUD code (position vs. pos)
2013-12-31 06:13:54 +01:00
RealBadAngel
7ae0b90ff7
Bugfix to get_all_craft_recipes.
...
Indexes for empty slots shall not be skipped.
2013-12-21 23:03:51 +01:00
ShadowNinja
e1f9ba435f
Don't throw a error when writing JSON fails
2013-12-18 18:18:43 -05:00
ShadowNinja
1ed90c90c3
Add 'minetest.write_json'
2013-12-18 16:46:53 -05:00
ShadowNinja
49cec3f782
Handle LuaErrors in Lua -> C++ calls on LuaJIT
2013-12-18 16:35:55 -05:00
kwolekr
c3708b456e
Add map feature generation notify Lua API
2013-12-14 01:52:24 -05:00
stujones11
d9ef072305
Make line_of_sight return blocking node position
2013-12-12 16:11:00 -05:00
sapier
4ccaa6d0af
Implement search tab and version picker
2013-12-11 23:07:38 +01:00
kwolekr
3cc45fd8ad
Fix leak and possible segfault in minetest.set_mapgen_params
2013-12-08 01:37:41 -05:00
PilzAdam
e51ad5337f
Use a table in set_physics_override()
2013-12-03 23:20:00 +01:00
PilzAdam
15be2659ea
Add sneak and sneak_glitch to set_physics_override()
2013-12-03 23:20:00 +01:00
sapier
5004f31575
Fix broken async locking in release build
2013-12-03 17:50:00 +02:00
Sfan5
6fa3892a71
Fix MinGW build
2013-12-01 20:58:46 +01:00
sapier
04e9a9d541
Cleanup jthread and fix win32 build
2013-12-01 16:25:46 +01:00
kwolekr
20e3d550fa
Decoration: Add schematic Y-slice probability support
2013-12-01 01:24:59 -05:00
ShadowNinja
4696c59a5f
Add error handler to async step
2013-11-30 13:05:13 -05:00
ShadowNinja
4594ba6522
Optimize table creation
2013-11-30 13:05:13 -05:00
Novatux
d879a539cd
Add minetest.swap_node
2013-11-30 18:37:56 +01:00
Ilya Zhuravlev
752e11e114
Fix MSVC build.
2013-11-30 21:00:18 +04:00
kwolekr
ff7d7080e3
LuaVoxelManip: Add area parameters back to calc_lighting and set_lighting, made optional this time; also fixed a slight bug with night values being ignored
2013-11-30 00:27:39 -05:00
kwolekr
769b2d7c05
LuaVoxelManip: Add get_light_data() and set_light_data()
2013-11-30 00:01:43 -05:00
MetaDucky
5be786c804
Fixed potential NULL pointer and leak when setting node metadata
2013-11-29 23:35:16 -05:00
sapier
d19a69cd0d
Fix broken thread stop handling
2013-11-30 02:15:31 +01:00
sapier
d02ce1cf4d
Fix old gcc build
2013-11-29 23:36:18 +01:00
sapier
2e66aca357
Fix modstore/favourites hang by adding asynchronous lua job support
2013-11-29 22:09:14 +01:00
ShadowNinja
7433d65d3e
Rollback fixes and get_node_actions
2013-11-27 18:13:06 -05:00
sapier
4f246f0e22
Fix line_of_sight (AGAIN)
2013-11-25 00:04:05 +01:00
kwolekr
98e4e2b373
LuaVoxelManip: Update parameter index of set_lighting()
2013-11-21 00:45:17 -05:00
kwolekr
86ef7147b6
Fix issue #1009 (minetest.get_connected_players() returns non-existing players)
2013-11-17 15:15:59 -05:00
kwolekr
cca4f09ba1
Decoration: Stop DecoSimple::resolveNodeNames from complaining about no node name if decolist is used
...
Fix warning message for spawnby nodes
Prevent type-punning warning caused by casting enum to int
2013-11-17 02:22:24 -05:00
sapier
90e7832408
Fix invalid listname and listsize not handled correctly in set_size
2013-11-16 15:52:41 +01:00
ShadowNinja
371b39a09a
Pass a errfunc to lua_pcall to get a traceback
2013-11-15 14:13:31 -05:00
sapier
a935d81053
Fix invalid usage of temporary object in mainmenu json conversion
2013-11-11 23:23:58 +01:00
PilzAdam
a9c0961e0c
Add set_name(), set_count(), set_wear() and set_metadata() to Lua ItemStack
2013-09-28 23:46:48 +02:00