kwolekr
52e5b513ed
Fix Lua scripting synchronization
...
For several years now, the lua script lock has been completely broken.
This commit fixes the main issue (creation of a temporary rather than
scoped object), and fixes a subsequent deadlock issue caused by
nested script API calls by adding support for recursive mutexes.
2015-11-01 11:32:05 -05:00
ShadowNinja
9269a0ecc7
Fix server crashing on Lua errors
...
Previously, the server called FATAL_ERROR when a Lua error occured.
This caused a (mostly useless) core dump.
The server now simply throws an exception, which is caught and printed before
exiting with a non-zero return value.
This also fixes a number of instances where errors were logged multiple times.
2015-10-31 13:28:58 -04:00
kwolekr
bc0318d2fc
SAPI: Fix seed parameter truncation for LuaPseudoRandom constructor
...
Also fix a potential seed truncation issue on platforms where the
range of ptrdiff_t (the underlying type of lua_Integer) is too small.
2015-10-26 04:04:52 -04:00
kwolekr
306b067091
SAPI: Move core.get_us_time() to Util module
2015-10-26 03:46:36 -04:00
est31
5f342aa015
Remove some abort() calls
...
abort() doesn't benefit from the high level abstractions from FATAL_ERROR.
2015-10-26 04:45:00 +01:00
kwolekr
d69ef6acd3
SAPI: Throw runtime error instead of if l_get_mapgen_object called in incorrect thread
2015-10-25 23:15:57 -04:00
kwolekr
54f1267c2c
SAPI: Mark all Lua API functions requiring envlock
2015-10-25 23:06:48 -04:00
est31
3936a5e3f7
Correct comment in l_util.cpp
...
Remove outdated loglevel list from a l_util.cpp comment,
and rather point to the updated code.
2015-10-26 00:32:48 +01:00
BlockMen
50ba7e114d
Add option to disable backface culling for models
...
- Disabled by default (except players)
- Fixes #2984
2015-10-25 12:06:08 +01:00
paramat
3b9f99e0d6
ABMs: Make catch-up behaviour optional
...
Default is true for backwards compatibility
Update lua_api.txt
2015-10-18 16:42:59 +01:00
est31
6b0cae5a9d
Remove wstrgettext
...
Everywhere where wstrgettext was used, its output was converted back
to utf8. As wstrgettext internally converts the return value
from utf8 to wstring, it has been a waste. Remove the function, and
use strgettext instead.
2015-10-18 02:29:06 +02:00
est31
836486a98e
Fix crash regression when invsize formspec gets used
...
The invsize formspec element is outdated. Even though,
it is still supported, only a deprecation warning is shown,
introduced by commit [1]. The lua context passed to the
log_deprecated method added by commit [1] is NULL for the
invsize deprecation warning, as its run on the client and not
the server.
Commit [1] has removed checks for NULL inside the log_deprecated
method, resulting in a crash when a formspec with an invsize
element is parsed. This commit puts the check back.
Fixes #3260 .
Referenced commits:
[1]: b5acec0a3c5701c53854ff7afdf4008863e6e8df "Add proper lua api deprecated handling"
[2]: 7b8d372947aae232ddf598155e972bb4dda157a "Use warningstream for deprecated field messages and refactor log_deprecated"
2015-10-17 01:29:05 +02:00
ShadowNinja
7b8d372947
Use warningstream for deprecated field messages and refactor log_deprecated
2015-10-15 01:14:38 -04:00
ShadowNinja
6f2d785d0f
Rename macros with two leading underscores
...
These names are reserved for the compiler/library implementations.
2015-10-14 02:39:37 -04: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
est31
b0523adc5f
Add new ContentParamType2 "CPT2_DEGROTATE"
...
This might break some mods, but it is important for all uses of the param2 to
be documented.
This doesn't need a serialisation version or network protocol version change,
as old clients will still work on new servers, and it is bearable to have
new clients getting non rotated plants on old servers.
2015-10-04 23:59:41 +02:00
kwolekr
5130dbce7b
Allow setting chunksize in core.set_mapgen_params
2015-10-04 17:26:08 -04:00
kwolekr
9f25aba6c2
Hide mapgens from main menu not intended for end users
2015-10-04 17:11:41 -04:00
kwolekr
0850d3bb93
Add emerge completion callback mechanism
...
Major refactor of emerge.cpp and Map::init/finishBlockMake
2015-10-04 16:27:50 -04:00
kwolekr
f0cd5da687
Define and use limit constants for Irrlicht fixed-width types
2015-10-04 04:00:16 -04:00
Duane Robertson
a5bdfb6b3c
Add get_biome_id(biome_name) callback
...
It returns the index used in mg->biomemap for a given biome name.
The biomemap is useless without this unless you re-register all existing biomes,
which could cause problems for anyone else trying to use biomemap.
With this, you can quickly create a lookup table of ids and names.
2015-10-02 22:49:31 +02:00
kwolekr
f062bbd7a1
Add /emergeblocks command and core.emerge_area() Lua API
2015-09-23 15:56:24 -04:00
est31
452df1c723
Various style cleanups + unused code removal
...
-> Don't pass pointer to whole IGameDef to NodeMetadata constructors
and deserializers, but only to IItemDefManager, which is needed
-> Remove the unused content_mapnode_get_new_name() method
-> Fix style for MapBlock::deSerialize and MapBlock::deSerialize_pre22,
improving accuracy of error messages a bit
-> Fix style at other serialisation methods too
-> Improve accuracy of some comments
2015-09-19 20:57:29 +02:00
kwolekr
dcbb95338a
Ore: Add puff ore type
2015-09-17 03:04:50 -04:00
kwolekr
beba969413
Ore: Add ore sheet column height range selection
...
Modders are now able to select the range of ore column height,
and the midpoint at which they 'grow' starting from.
This commit adds three new parameters for the 'sheet' ore type:
column_height_min, column_height_max, and column_midpoint_factor.
clust_size is now deprecated for this ore type.
2015-09-13 00:11:50 -04:00
est31
2035bfc3a6
Areastore: fix "attempt to index a number value"
...
Before, calling get_areas_in_area for an areastore with both
include_borders and include_data would result in a lua error,
if there was at least one area as result:
attempt to index a number value in function 'get_areas_in_area'
2015-09-03 06:17:02 +02:00
est31
9c44aace4f
l_mainmenu.h: remove unused l_get_dirlist function
...
The commit
8f9af57314f71aae1cc77e13f9996e13015d776d "Add core.get_dir_list" by @ShadowNinja
has removed the implementation of the l_get_dirlist function and all its usages
from the l_mainmenu.cpp file, but hasn't removed it from the header file.
The reason why this hasn't been detected earlier is that C++ has this interesting
feature to still make it possible to create instances of classes whose never used
private methods are declared but not defined.
2015-08-30 01:17:03 +02:00
Kahrl
3304e1e517
Push error handler afresh each time lua_pcall is used
...
Fixes "double fault" / "error in error handling" messages
(issue #1423 ) and instead shows a complete backtrace.
2015-08-27 01:56:06 +02:00
Kahrl
8658c8d9b5
Use numeric indices and raw table access with LUA_REGISTRYINDEX
2015-08-27 01:56:06 +02:00
ShadowNinja
e4bff8be94
Clean up threading
...
* Rename everything.
* Strip J prefix.
* Change UpperCamelCase functions to lowerCamelCase.
* Remove global (!) semaphore count mutex on OSX.
* Remove semaphore count getter (unused, unsafe, depended on internal
API functions on Windows, and used a hack on OSX).
* Add `Atomic<type>`.
* Make `Thread` handle thread names.
* Add support for C++11 multi-threading.
* Combine pthread and win32 sources.
* Remove `ThreadStarted` (unused, unneeded).
* Move some includes from the headers to the sources.
* Move all of `Event` into its header (allows inlining with no new includes).
* Make `Event` use `Semaphore` (except on Windows).
* Move some porting functions into `Thread`.
* Integrate logging with `Thread`.
* Add threading test.
2015-08-23 22:04:06 -04:00
kwolekr
c2d23ff9cc
SAPI: Disable unlockable time profiling
2015-08-18 01:26:11 -04:00
kwolekr
bcf38a2ad1
SEnv: Remove static_exists from ActiveObjects in deleted blocks
2015-08-16 15:55:07 -04:00
kwolekr
be9024a397
minimap: Add ability to disable from server
2015-08-13 15:05:48 -04:00
kwolekr
2b04ab874d
SAPI: Track last executed mod and include in error messages
2015-08-12 23:56:12 -04:00
kwolekr
18cfd89a86
Display Lua memory usage at the time of Out-of-Memory error
...
Also misc. minor cleanups
2015-08-10 01:38:09 -04:00
kwolekr
bcf47bc67c
Improve Script CPP API diagnostics
2015-08-05 21:13:03 -04:00
RealBadAngel
3295f3c401
Fix tiling issues for PLANTLIKE and FIRELIKE with FSAA
2015-08-05 22:52:32 +02:00
paramat
cf77e0333d
Biome API: Make fallback biome stone and water, disable filler
2015-08-03 02:34:32 +01:00
est31
c30a2d6854
Add AreaStore data structure
2015-07-27 06:42:56 +02:00
SmallJoker
454a290370
Fix MSVC number conversion warning
2015-07-25 17:38:04 +02:00
est31
fa1096ec49
Fix minetest.get_(all)_craft_recipe(s) regression
...
Since 03e0dd33a847a83d975282c6caf6b926306e7b57 the calls didn't return an output count
for the recipes.
2015-07-25 17:33:41 +02:00
Loic Blot
4e6971e593
Cleanup server addparticle(spawner) by merge two identical functions.
2015-07-25 12:24:28 +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
Elia Argentieri
5ebb4237e2
Added get_player_velocity() method. Fixes #1176
2015-07-20 05:40:44 +02:00
TeTpaAka
e47f390e0d
Refactor particle code to remove the while loops
...
Replaces while loops with proper getfield calls
2015-07-18 14:54:07 +02:00
TeTpaAka
dd2e08e117
Make acc and vel deprecated in add_particle and search for acceleration and velocity instead
...
The doc and the actual behaviour differed.
2015-07-18 07:57:20 +02:00
TeTpaAka
8d03301138
Fix invisible player when the attached entity is removed
2015-07-18 07:41:43 +02:00
RealBadAngel
655fc6010f
Fix relief mapping issues
2015-07-16 15:36:48 +02:00
kwolekr
1a1774a105
Fix damage flash when damage disabled
2015-07-10 15:58:57 -04:00
est31
b0784ba871
Use UTF-8 instead of narrow
...
Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places.
Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
2015-07-08 10:12:44 +02:00
kwolekr
7b171ea2be
Fix code style from recent commits and add misc. optimizations
2015-07-02 23:14:30 -04:00
rubenwardy
0d65ee878c
Add Lua errors to error dialog
2015-06-29 04:47:35 +02:00
TeTpaAka
17ba584fe2
Fix bug when craft input isn't replaced
2015-06-22 19:30:35 +02:00
MirceaKitsune
660fa516bf
Fix some issues with animations, and allow non-looped animations to be defined
2015-06-22 01:53:38 +02:00
paramat
70da8a940b
Mapgen objects: Enable heatmap and humidmap for all biome api mapgens
2015-06-20 04:16:17 +01:00
Ilya Zhuravlev
b6387b4e0f
Use utf-8 in formspecs
2015-06-13 19:49:55 +02:00
TeTpaAka
aa13baa30a
Add minetest.register_on_player_hpchange
2015-06-13 19:40:31 +02:00
TeTpaAka
e50aa4ed06
Add return list of individual counts to find_node_in_area
2015-06-13 19:39:18 +02:00
est31
502e40a649
dofile error reporting for syntax errors
...
According to doc, dofile() raises an error when parsing failed due to syntax errors.
Fixes #2775
2015-06-12 20:23:31 +02:00
est31
ba3ff5ef39
Fix uninitialized variable error
...
If you run minetest with valgrind, you'll quickly notice uninitialized jump
depend error messages that point to s_base.cpp:131. This commit fixes those.
2015-06-02 13:55:02 +02:00
kwolekr
522acf920f
Make get_biome_list() error message more helpful
2015-05-28 20:04:50 -04:00
TeTpaAka
c0335f7d13
Add some missing getter functions to the lua API
...
ObjectRef:
get_properties
get_armor_groups
get_animation
get_attach
get_bone_position
Players:
get_physics_override
hud_get_hotbar_itemcount
hud_get_hotbar_image
hud_get_hotbar_selected_image
get_sky
get_day_night_ratio
get_local_animation
get_eye_offset
Global:
minetest.get_gen_notify
minetest.get_noiseparams
2015-05-28 16:46:35 +02:00
SmallJoker
39869aaa25
Fix Windows build, clean up included headers
...
Also fix a startup error caused by s_security.cpp
2015-05-22 20:37:59 +02:00
kwolekr
da34a2b33e
Replace instances of std::map<std::string, std::string> with StringMap
...
Also, clean up surrounding code style
Replace by-value parameter passing with const refs when possible
Fix post-increment of iterators
2015-05-19 16:10:49 -04:00
kwolekr
20aa78cffb
Fix null dereference when loading schematic from definition without a NodeDefManager
2015-05-17 22:32:35 -04:00
kwolekr
46684beec1
Record MapBlock modification reasons as flags instead of strings
...
This improves performance of MapBlock::raiseModified by a factor of 6.
Also, clean up mapblock.h a bit and inline small functions.
2015-05-17 22:14:26 -04:00
kwolekr
4c9a8a91c4
SAPI/Noise: Add PerlinNoiseMap:getMapSlice() function
...
This adds the ability to grab 'slices' of noise calculated by PerlinNoiseMap.
Retrieving smaller slices of noise from the computation result as needed
optimizes memory usage while maintaining a reasonable amount of CPU overhead.
2015-05-17 04:04:17 -04:00
kwolekr
3ffb5f5761
Add optional buffer param for bulk data array writes in Lua
2015-05-17 00:07:45 -04:00
ShadowNinja
c00b6812b1
Fix current mod name change missed during rebase
2015-05-16 21:12:03 -04:00
kwolekr
fb36c471d7
SAPI: Accept either ARGB8 table or ColorString to specify colors
2015-05-16 20:15:03 -04:00
ShadowNinja
8f9af57314
Add core.get_dir_list
2015-05-16 18:33:22 -04:00
ShadowNinja
6c06330daf
Add core.request_insecure_environment()
2015-05-16 18:33:19 -04:00
ShadowNinja
05ab9973f9
Add core.mkdir
2015-05-16 18:32:37 -04:00
ShadowNinja
3a8c788880
Add mod security
...
Due to compatibility concerns, this is temporarily disabled.
2015-05-16 18:32:31 -04:00
TeTpaAka
19cbb6b37b
Add push_ARGB8 to script/common/c_converter
2015-05-15 16:21:56 -04:00
TeTpaAka
18c2f16c13
Generalize core.get/set_nametag_color into core.get/set_nametag_attributes
2015-05-15 16:21:01 -04:00
Brandon
c5b4e54174
Add minetest.register_on_punchplayer
2015-05-15 11:09:55 +02:00
TeTpaAka
86a963caca
Add get and set functions for the nametag color
2015-05-15 11:03:27 +02:00
est31
b70e67df8c
Fix compiler warning about sign comparison
2015-05-13 00:04:30 +02:00
est31
b4c3ff6eab
is_player() is no player-only function
2015-05-12 05:52:49 +02:00
est31
82e35edff5
Make early protocol auth mechanism generic, and add SRP
...
Adds everything needed for SRP (and everything works too),
but still deactivated, as protocol v25 init packets aren't final yet.
Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25
inside networkprotocol.h.
2015-05-11 18:40:27 +02:00
kwolekr
2b99d904f6
Schematics: Add per-node force placement option
2015-05-09 18:44:00 -04:00
kwolekr
2dba29ebf2
Tests: Add schematic unittests
...
Improve schematic file-saving interface
Add ability to create temporary test files
2015-05-08 00:55:42 -04:00
kwolekr
0e64fc45b9
Fix missing Y component assignment in check_v3f
2015-05-08 00:03:41 -04:00
Kevin Ott
e17c6ba2cd
Remove duplicate lua_getfield() in c_converter.cpp
...
Fixes #2678
2015-05-07 09:57:34 +02:00
kwolekr
b246812455
Schematics: Add indent-with-space option for schematic Lua table serialization
2015-05-07 02:54:35 -04:00
kwolekr
656575b59d
NodeResolver: Remove NodeResolveMethod
...
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-05-07 02:36:01 -04:00
ShadowNinja
3a8e7341ec
Fix error messages for type-checking Lua reading functions
2015-05-06 15:33:36 -04:00
kwolekr
b785577f03
Add core.find_nodes_with_meta() script API
2015-05-05 16:21:59 -04:00
kwolekr
46a2c1f167
Ore: Add biomes parameter
2015-04-20 20:25:33 -04:00
kwolekr
3d4244cc75
Add 'persistence' alias for Lua noiseparams and validate more vector parameters
2015-04-19 21:42:40 -04:00
paramat
a615da6b12
Biome API: Add biome-specific river water
2015-04-19 06:09:57 +01:00
kwolekr
e0889c6c03
Schematics: Fix core.schematic_create()
2015-04-17 18:39:37 -04:00
kwolekr
3576f4fab7
Switch to check_v3s16 in l_mapgen.cpp and l_vmanip.cpp for type safety
2015-04-17 01:03:13 -04:00
est31
f0a1379e5a
Refactor around translatePassword
...
Change types for passed password from wstring to string, which removes converting
back and forth in most cases. Move the narrow_to_wide conversion, where its neccessary,
closer to irrlicht. Remove trailing spaces in guiPasswordChange.cpp. Make parameters for
translatePassword passed as const reference.
2015-04-17 06:10:30 +02:00
kwolekr
821d0025da
Biomes: Remove referenced biomes from Decorations on clear
2015-04-16 23:38:05 -04:00
kwolekr
479f38973e
Schematics: Refactor NodeResolver and add NodeResolveMethod
...
NodeResolver name lists now belong to the NodeResolver object instead of
the associated NodeDefManager. In addition to minimizing unnecessary
abstraction and overhead, this move permits NodeResolvers to look up nodes
that they had previously set pending for resolution. So far, this
functionality has been used in the case of schematics for
serialization/deserialization.
2015-04-16 16:27:05 -04:00
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