Loic Blot
0c634a9719
Use std::vector instead of std::set for Environment::getObjectsInsideRadius
...
We are only iterating sequentially, we don't need a set here
Also use a vector reference instead of a copy
2015-04-16 18:37:29 +02:00
kwolekr
b2a89c04b2
Schematics: Reorganize (de)serialization and add Lua serialization API
2015-04-13 03:10:52 -04:00
est31
0a413265cb
Document for api functions that rely on current_modname, that it doesn't work when not loading mods
2015-04-08 23:05:26 +02:00
kwolekr
0df736173e
Schematics: Prepend mod path to relative schematic filepaths
2015-04-08 00:28:56 -04:00
Craig Robbins
9527984dbc
Move globals from main.cpp to more sane locations
...
Move debug streams to log.cpp|h
Move GUI-related globals to clientlauncher
Move g_settings and g_settings_path to settings.cpp|h
Move g_menuclouds to clouds.cpp|h
Move g_profiler to profiler.cpp|h
2015-04-01 23:04:25 +10:00
kwolekr
337e79c656
ObjDefManager, Mapgen SAPI: Huge refactoring
...
- General code cleanup
- Unified object creation and loading
- Specifying objects in APIs is now orthogonal (i.e. anything can take an ID,
name string, or the raw table definition (and automatically registers if present
2015-03-31 23:27:58 -04:00
kwolekr
ed10005d38
GenElementManager: Pass opaque handles to Lua and rename to ObjDefManager
...
Add core.clear_registered_schematics() and refactor schematics somewhat
2015-03-31 01:11:51 -04:00
Craig Robbins
34101015b2
Fix typo
2015-03-29 22:08:14 +10:00
Craig Robbins
2430b2e998
Add Lua function get_video_modes() for main menu
...
Also updates and uses porting::getSupportedVideoModes()
2015-03-28 13:26:03 +10:00
ShadowNinja
93fcab952b
Clean up and tweak build system
...
* Combine client and server man pages.
* Update unit test options and available databases in man page.
* Add `--worldname` to man page.
* Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`.
* Disable server build by default on all operating systems.
* Make `ENABLE_FREETYPE` not fail if FreeType isn't found.
* Enable LevelDB, Redis, and FreeType detection by default.
* Remove the `VERSION_PATCH_ORIG` hack.
* Add option to search for and use system JSONCPP.
* Remove broken LuaJIT version detection.
* Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`.
* Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`.
* Clean up style of CMake files.
2015-03-27 15:00:48 -04:00
paramat
d1681872bf
lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional
2015-03-24 18:07:29 +00:00
kwolekr
732d7b9a7c
Add core.register_schematic() and cache schematics on use
2015-03-23 22:23:38 -04:00
est31
5b5c498011
Fix minetest.get_craft_recipe function
...
Previously, calling it resulted in a crash.
2015-03-23 13:40:20 +10:00
Loic Blot
008d7e0467
Revert "Add a Lua call to do damages / heals" ok @ShadowNinja
...
This reverts commit 467fc0ddc912ae38c3bf9fcb99e0b66d7478eec0.
2015-03-22 18:01:56 +01:00
kwolekr
3993093f51
Add support for the PCG32 PRNG algo (and associated script APIs)
2015-03-22 00:48:08 -04:00
gregorycu
03e0dd33a8
Optimize minetest.get_(all)_craft_recipe(s)
...
Signed off by: ShadowNinja, kwolekr
2015-03-20 21:41:18 -04:00
kwolekr
26153bab7d
Revert "Fix issue #2441 : crash on respawn, since a conversion std::list to std::vector on Environment.cpp"
...
This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver
list clearing
2015-03-20 18:41:26 -04:00
est31
538036d004
Fix game minetest.conf default settings
...
This was a regression introduced by f6e4c5d9cf459e8278a76a2beaee59732e841458 .
2015-03-18 13:03:02 -04:00
Loic Blot
467fc0ddc9
Add a Lua call to do damages / heals
2015-03-18 14:52:35 +01:00
Loic Blot
74d34da6cb
Prepare Protocol v25 init & authentication.
...
* TOSERVER_INIT and TOCLIENT_INIT renamed to _LEGACY
* TOSERVER_PASSWORD merged from dev-0.5, can use protocol v24 and v25
* TOCLIENT_ACCESS_DENIED merged from dev-0.5, can use protocol v24 and v25, with normalized strings an a custom id for custom errors
* new TOSERVER_INIT packet only send MT version, supported compressions, protocols and serialization, this permit to rework everything later without break the _INIT packet
* new TOSERVER_AUTH packet which auth the client
* new TOCLIENT_HELLO packet which send server serialization version atm
* new TOCLIENT_AUTH_ACCEPTED which is send when TOCLIENT_AUTH was okay. After this packet, the client load datas from servers, like after TOCLIENT_INIT_LEGACY packet
2015-03-13 20:23:03 +01:00
paramat
b2b6bbf3e8
lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorations
2015-03-11 03:36:39 +00:00
ShadowNinja
d75a0a7394
Don't use luaL_checkstring to read node names, it's only for arguments
...
This caused confusing error messages like "argument #4 to set_node is not a string."
2015-03-07 20:04:01 -05:00
Craig Robbins
ced6d20295
For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives
2015-03-07 22:41:47 +10:00
Loic Blot
40c2c18a3f
l_get_modnames: Compare using std::sort instead of a custom function which does same work
2015-03-05 20:12:54 +01:00
Loic Blot
9749d9fee6
Fix issue #2441 : crash on respawn, since a conversion std::list to std::vector on Environment.cpp
...
* Also change some std::list to std::vector for ClientMap::renderMap
* Remove disabled code in ClientMap::renderMap, disabled since a long time
2015-03-05 15:36:20 +01:00
Loic Blot
365e4ae0fa
Performance improvement: Use std::list instead of std::vector for request_media, Server::getModNames, Environment::m_simple_objects.
...
* Also remove unused Server::m_modspaths
2015-03-05 10:44:48 +01:00
Loic Blot
7e088fdfe3
We always know playerSAO when calling SendInventory. Using it instead of searching it via peer_id
2015-03-04 15:28:33 +01:00
Loic Blot
1b2f64473e
Send Inventory packet on event, don't check it at each AsyncRunStep.
...
* Call UpdateCrafting into SendInventory because this functions is only called before SendInventory
* Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id
* m_env_mutex don't need to be used with this modification because it's already locked before the calls
2015-03-04 11:29:39 +01:00
Loic Blot
7e56637ed0
Send Breath packet on event, don't check it at each AsyncRunStep
2015-03-03 16:33:20 +01:00
Loic Blot
64ff966bae
Send Player HP when setHP (or a setHP caller) is called instead of looping and testing the state change.
2015-03-03 16:06:04 +01:00
Craig Robbins
fdb9140825
Change find_surface_nodes_in_area to find_nodes_in_area_under_air
2015-02-27 21:42:00 +10:00
Loic Blot
0f556d0c7f
Add find_surface_nodes_in_area LUA call which permit to only get the nodes which touch air. This permit to massively improve performance for mods like plantlife
2015-02-27 21:34:33 +10:00
paramat
14f7df980b
Biome API: Re-calculate biome at every surface in a mapchunk column
2015-02-26 03:35:25 +00:00
Kahrl
38cf080a9c
Disallow object:remove() if the object is a player
...
Rebased by Zeno- (conflict in lua_api.txt)
2015-02-23 16:49:48 +10: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
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
onkrot
0fd1ee0380
Performance fixes.
2015-01-13 23:48:56 +10: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
6fdb32361a
Remove freezemelt (the remainder of proller nonsense)
2015-01-04 03:30:10 -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
8fe1d3fc2e
Expose mapgen chunksize in on_mapgen_init callbacks
2014-12-14 18:46:46 -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
390c0cd691
Schematics: Fix minetest.place_schematic() when defined by a Lua table
2014-12-06 18:39:05 -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
Ciaran Gultnieks
77137a92cf
Don't corrupt stepheight when setting other properties
2014-11-26 20:02:48 +01:00
ShadowNinja
c4e393deea
Simplify loading of Android version of menu
2014-11-20 15:37:20 -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
RealBadAngel
e5652cb75c
Custom collision boxes node property.
2014-10-19 20:48:21 +02:00
RealBadAngel
0066bd77d2
Add meshnode drawtype.
2014-10-18 16:42:23 +02:00
ShadowNinja
741df993ff
Fix object reference pushing functions when called from coroutines
2014-10-07 16:37:45 -04:00
BlockMen
f48f686930
Add optional framed glasslike drawtype
2014-10-02 11:35:15 +02:00
TriBlade9
9a685a4f2e
Add firelike drawtype
2014-09-21 15:50:27 -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
Kahrl
3e267a6ece
Fix LuaJIT exception wrapper
2014-08-23 20:41:03 +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
2a5c88bde1
Don't call a player event without having player to do a event for
2014-08-21 17:29:26 +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
5bd2aea663
Fix over-poping and only push the core once
2014-05-30 19:38:11 -04: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
ShadowNinja
db4ea4658c
Only push the Lua error handler once
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
f3d83a4516
Add more informative error messages for inventory and item method errors
2014-03-15 17:20:52 -04: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
Selat
7cac34c807
Pass arguments by reference
2014-03-12 17:34:48 -04:00
Ciaran Gultnieks
5ce3f8f7b7
Correct misleading detached inventory error message
...
Looks like a bit of hasty copying and pasting from s_item.cpp.
2014-03-09 11:16:09 +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
a0683b811c
Define strlcpy on platforms that do not have it
2014-02-09 13:57:29 -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
ShadowNinja
458045d49f
Fix crash when a error occurs in a globalstep callback
2014-02-03 18:15:03 -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
kwolekr
21c96249fa
Schematic: Read slice probability table from schematic descriptors
2014-01-19 02:44:45 -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
a3586cd18d
Add maximum recursion depth to read_json_value
2014-01-11 14:08:02 -05: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
ShadowNinja
829426c714
Fix InventoryList reading order
...
Lua does not guarantee that the indexes of a table will be in numerical order.
2013-12-30 14:00:05 -05: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
Kahrl
ba8fa0bd42
Log guilty node name when allow_metadata_inventory_move/put/take fails
2013-12-18 23:04:13 +01: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
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
kwolekr
3cc45fd8ad
Fix leak and possible segfault in minetest.set_mapgen_params
2013-12-08 01:37:41 -05:00
ShadowNinja
a0dce51af6
Move script_run_callbacks to Lua
2013-12-07 22:03:07 -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
RealBadAngel
2330267d22
Shaders rework.
2013-12-03 18:55:25 +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
5323d800cc
Fix possible implicit conversion of NULL to std::string
2013-11-21 00:49:32 -05: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
MetaDucky
35606cfb67
fixed array limit check when reading Lua specialtiles table
2013-11-16 15:31:17 +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
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
PilzAdam
a9c0961e0c
Add set_name(), set_count(), set_wear() and set_metadata() to Lua ItemStack
2013-09-28 23:46:48 +02:00
Kahrl
8bc7ea61b9
Show git hash in version string at top left corner of window
2013-09-28 21:30:17 +02:00
kwolekr
fb6a789991
Re-fix hud_change stat argument retrieval
...
Conflicts:
src/script/lua_api/l_object.cpp
2013-09-26 04:39:10 +02:00
kwolekr
c0398224ef
Fix some warnings and other minor details
2013-09-16 23:52:42 -04:00
kwolekr
9bccd75e34
Weather: Clean up getHeat/getHumidity somewhat
2013-09-16 23:33:53 -04:00
kwolekr
d308352dbd
Always use builtin JThread library
2013-09-15 23:00:01 -04:00
PilzAdam
4feea0ac68
Add offset to automatic_face_movement_dir
2013-09-10 23:31:44 +02:00
PilzAdam
dd5c451e03
Allow non-string arguments for minetest.is_yes()
2013-09-10 21:38:44 +02:00
PilzAdam
d820a6bfd8
Add Settings interface for Lua
2013-09-10 18:31:38 +02:00
Novatux
6291fd1cbb
Add minetest.get_gametime() API function, that returns the number of seconds since the world was created.
2013-09-08 11:09:50 +02:00
PilzAdam
7860097eda
Use player:set_hotbar_image() instead of hardcoded hotbar.png
2013-09-05 00:21:16 +02:00
Kahrl
1ecf51a13f
Add minetest.parse_json, engine.parse_json
2013-09-02 02:20:08 +02:00
BlockMen
78ea818aaf
Fix umlauts/special character issue in lua gettext
2013-08-19 22:23:41 +02:00
Kahrl
ade70fe4b9
Allow SIGINT to kill mainmenu again
2013-08-19 15:49:36 +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
Kahrl
4e1f50035e
Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu
2013-08-14 21:03:33 +02:00
sapier
fc571ad46d
Add support for entities to automatic face movement direction
2013-08-13 23:48:47 +02:00
kwolekr
c06caa14c3
Decoration: Fix schematic probability mess with new MTS file version
2013-08-11 15:34:49 -04:00
BlockMen
7b13d119ed
Add support for different drowning damage and allow drowning in other nodetypes
2013-08-06 17:49:39 +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
45589fae58
Add replacements to schematics
2013-08-03 03:22:14 +02:00
PilzAdam
0b77588e87
Allow multiple 'wherein' nodes in oredef
2013-08-02 00:55:16 +02:00
sapier
251e3e01c7
Add support for setting stepheight for entities
2013-07-30 19:48:02 +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
PilzAdam
8cae659786
Add an option to disable object <-> object collision for Lua entities
2013-07-20 20:43:11 +02:00
PilzAdam
413f0d0353
Add liquid_range to nodedef
2013-07-20 20:41:17 +02:00
PilzAdam
cba90d4441
Make range of tools configureable
2013-07-20 20:37:59 +02:00
RealBadAngel
d19c8b815d
Add set_breath and get_breath to lua API.
2013-07-20 20:34:11 +02:00
Kahrl
112dbba7c4
Change ContentFeatures array to a vector
2013-07-14 23:06:31 +02:00
proller
9733dd5b5e
Leveled nodebox
2013-07-13 22:13:24 +04:00
kwolekr
06266abd6e
LuaVoxelManip: Allow liquid updates in non-mapgen VoxelManip objects
2013-07-06 15:12:40 -04:00
kwolekr
18d7bc7fa1
Mapgen V7: Huge rewrite, also tweaks to cavegen et al.
2013-07-06 02:21:54 -04:00
sapier
b1ef850877
Fix possible 0 pointer access
2013-07-02 20:01:48 -04:00
kwolekr
dd6d1afd8e
Decoration: Add schematic rotation support
2013-07-01 18:04:51 -04:00
kwolekr
067888d549
LuaVoxelManip: Fix minor bug with set_lighting, remove coordinate params for light and liquid updates
2013-06-29 22:23:00 -04:00
kwolekr
9e100bc42b
Apply various fixes to several things
2013-06-27 22:35:35 -04:00
kwolekr
6b3169e4d0
LuaVoxelManip: Separate VoxelManip data get/set from emerging/blitting data back to map
2013-06-27 22:35:35 -04:00
kwolekr
2e292b67a0
Add Lua on_mapgen_init callback, and minetest.set_mapgen_params API
2013-06-27 22:35:35 -04:00
kwolekr
18882a4d26
Add Lua PerlinNoiseMap:get#dMap_flat API
2013-06-27 22:35:35 -04:00
kwolekr
8aa930f28e
Add minetest.get_mapgen_object to API
2013-06-27 22:35:35 -04:00
kwolekr
d6ac3d8d9a
Add LuaVoxelManip
2013-06-27 22:35:35 -04:00
kwolekr
309c5f3641
Decoration: Add support for zero probability, fix breakage from last commit
2013-06-22 20:49:01 -04:00
kwolekr
4d77781ce7
A handful of minor fixes to various things
2013-06-22 17:27:48 -04:00
kwolekr
c1b829077a
Decoration: Add Schematic decoration type
2013-06-22 01:11:52 -04:00
Kahrl
c2cdaceed0
Make minetest.debug accept multiple parameters; convert them to string
2013-06-21 00:04:18 +02:00
PilzAdam
53066024f6
Add drowning
2013-06-19 15:47:00 +00:00
kwolekr
56093b6614
Decoration: Change divlen to sidelen
2013-06-17 18:23:31 -04:00
kwolekr
0a8519a26f
Add initial Decoration support, many misc. improvements & modifications
2013-06-17 03:21:36 -04:00
Kahrl
4405310184
Lazy sunday typo fixing. s/unban_player_of_ip/unban_player_or_ip/g
2013-06-16 14:07:12 +02:00
Kahrl
773471750d
Fix class/struct forward declaration inconsistencies (good on ya, MSVC)
2013-06-06 22:57:38 +02:00
sweetbomber
601ab85226
Corrected segfault when registering new biomes.
2013-06-03 20:35:51 +02:00
sapier
c25102a4f7
Fix missing find_path and line_of_sight
2013-06-01 15:07:43 +02:00
MetaDucky
c893958bb1
Fix some nullptr exceptions when handling invalid node inventories
2013-06-01 14:45:43 +02:00
MetaDucky
64627817fc
Fix minetest.get_inventory(loc) always returning nil for "node" type loc
2013-06-01 12:15:11 +02:00
MetaDucky
f62ddf9022
Fixed wrongly named invref:get_location() table members for nodes.
...
Makes the result compatible with the minetest.get_inventory(location) param.
2013-05-26 00:35:11 +02:00
Kahrl
96fe1de832
Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAM
2013-05-26 00:23:33 +02:00
sapier
e464f19356
Fix itemstack:add item not working correct
2013-05-25 19:23:10 +02: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