Commit Graph

2611 Commits

Author SHA1 Message Date
kwolekr
89f7dc1efd ServerEnvironment: Remove direct dependency on EmergeManager 2014-02-09 16:36:30 -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
57710520dc Tune block emerge and sending parameters to more aggressive values 2014-02-08 18:32:12 -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
f4f98c9550 Remove lots of dead code
Add check for datatype overflows
use native datatype indices instead of fixed 16bit/32bit ones
2014-02-07 21:39:45 +01:00
sapier
3670f5a37b Fix invalid check for fread error on extracting zip 2014-02-07 21:29:31 +01:00
Selat
6715c422ae Fix memory leak in database migration 2014-02-07 20:43:12 +01:00
BlockMen
bc0bbffa14 Add missing header 2014-02-06 21:55:12 +01:00
ShadowNinja
85fe75d1cb Add the option to bind to a specific address 2014-02-05 21:24:46 +01:00
kwolekr
7f743178db Remove blank default values for emergequeue_limit_* settings
Add checks for invalid user input for important settings
Rename Settings::tryGet* to Settings::get*NoEx for consistency
2014-02-05 00:17:53 -05:00
kwolekr
c6c5edd73a Revert "Fix settings to honor numeric conversion errors"
This reverts commit 3f376a092e1c16429fb52f24736e9da98aff4cd5.
2014-02-05 00:05:58 -05:00
Ilya Zhuravlev
7859e57f6c Fix another heap-use-after-free in pause menu. 2014-02-04 22:17:02 -05:00
Ilya Zhuravlev
2d16ebf57c Fix unexpected preprocessor directive in gettext.cpp 2014-02-04 22:16:51 -05:00
sapier
3f376a092e Fix settings to honor numeric conversion errors
Rename try* non exceptioning functions to *NoEx
2014-02-04 22:14:13 -05: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
kwolekr
a439343844 Settings: Add no-exception variants of each get method 2014-02-03 22:47:40 -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
sapier
ea0def381d Remove noisy error messages, prepend "pathfinder: " to pathfinder messages 2014-02-03 20:13:31 +01:00
sapier
284fc0b885 Add missing "-" to list of allowed chars in media filenames 2014-02-02 15:34:33 +01:00
sapier
e7c2e61b19 Add additional check to avoid broadcasting private messages in error conditions 2014-02-02 01:55:24 +01: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
sapier
e258675eab Add propper client initialization
-add client states to avoid server sending data to uninitialized clients
  -don't show uninitialized clients to other players
  -propper client disconnect handling
Minor comment fixes in server
Minor bugfixes in connection
  -improved peer id calculation
  -honor NDEBUG flag
  -improved disconnect handling
  -increased initial send window
Remove some dead code
2014-01-31 18:44:43 +01:00
RealBadAngel
21f1bec724 New HUD element - waypoint. 2014-01-26 21:31:59 +01:00
sapier
3f0ee5d680 Fix bug only half of unreliable queue handled per step in worst case 2014-01-26 17:40:59 +01:00
kwolekr
9b978db0c2 Fix use of previously deallocated EmergeManager 2014-01-26 01:12:18 -05:00
ShadowNinja
76d4396fa1 Pass pointed_thing to on_punch and minetest.register_on_punchnode callbacks 2014-01-23 19:21:56 -05:00
Sfan5
cd7e8372f3 Include system info in the HTTP user agent on Windows 2014-01-23 22:27:13 +01:00
kwolekr
057858ddda Connection: Stop processing malformed packet when encountered 2014-01-21 09:33:54 -05:00
Sfan5
3875a77bf8 Fix curl dll not getting installed when sound is disabled 2014-01-21 13:35:26 +01: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
ShadowNinja
b11b48ec07 Deindent HTTPFetchRequest::HTTPFetchRequest() 2014-01-16 20:14:55 -05:00
BlockMen
64c0e40605 Prevent player jumping into nodes from below
Fixes camera glitch and cheating at drowning
2014-01-16 15:46:55 +01:00
BlockMen
1b4908bf56 Prevent placing node when player would be inside new node 2014-01-15 21:26:54 +01:00
sapier
4896d4b829 Fix win32 reading semaphore count not working (broke all queues) 2014-01-15 20:03:11 +01:00
ShadowNinja
f42f01758c Make default User-agent follow RFC 2616 2014-01-15 12:10:53 -05:00
Sfan5
a5287b6777 Fix building with MinGW 2014-01-15 17:35:00 +01:00
BlockMen
84bbe1ec6e Fix building under MSVC 2014-01-14 16:14:56 +01: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
kwolekr
a358c040f2 Mapgen V6: Add flag to stop mud flow 2014-01-12 18:21:28 -05: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
Kahrl
6f6f289db4 Compare values instead of pointers in Inventory::operator== 2014-01-11 19:47:16 +01:00
Kahrl
51e6feb17c Add operator!= to Inventory(List), make operator== a const method 2014-01-11 19:46:37 +01:00
Novatux
84b94eb198 Add forceloading 2014-01-11 17:54:00 +01:00
sapier
3bbd280336 Fix check for max_fd == -1 should actually be max_fd != -1 2014-01-10 19:19:16 +01:00
sapier
9edb91da57 Fixed minetest reliable udp implementation (compatible to old clients) 2014-01-10 10:10:45 +01:00
sapier
8b0b857eaa Make MutexQueue use jsemaphore for signaling 2014-01-10 10:10:45 +01:00
Perttu Ahola
10fdbf7375 Set locale properly when built without gettext support 2014-01-09 14:46:02 +01:00
sapier
6f661f77a6 Don't lookup node texts in a endless recursion loop 2014-01-07 11:15:24 +01:00
ShadowNinja
0fd5c61c00 Revert "Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings"
The commit didn't work because the blocks weren't loaded yet.

This reverts commit 22dbbf0a6fc9547f0dbdb7f6076337b8c6acd48b.

Conflicts:
	minetest.conf.example
2014-01-06 21:25:10 -05:00
proller
78f7f9eca8 Fix wrong named masterserver announce variable 2014-01-07 03:11:18 +04:00
proller
c62bab010f Send long announce as POST, show OS in useragent
Add lag reporting to masterserver (average dtime)
StyledWriter  -> FastWriter in masterserver announce
2014-01-07 02:50:45 +04:00
Perttu Ahola
92aa38bdfc Actually pause singleplayer game in pause menu and use lower maximum FPS in it 2014-01-06 17:39:44 +02:00
sapier
6833e04bc5 Add function to deregister a profiler from profiler list 2014-01-06 15:26:24 +01:00
Perttu Ahola
d76957ee22 Create new instance of mesh every time it's required (Solves #703) 2014-01-06 13:24:31 +02:00
hasufell
10eea107ed BUILD: fix cmake list parsing
because cmake is unable to parse it's own lists properly
2014-01-05 20:58:40 +04:00
hasufell
cb7bb736c7 BUILD: prefer pkg-config for freetype2 detection
This can solve numerous problems such as:
http://www.cmake.org/Bug/view.php?id=13959
http://www.cmake.org/Bug/view.php?id=14601

If pkg-config or freetype2.pc is not found, then fall back to the
FindFreetype.cmake module logic.

Restrict to UNIX since I only tested it here.
2014-01-05 20:58:40 +04:00
Sfan5
160e2b7b7d Add option to link to OpenGL ES, fixes #1051 2014-01-05 20:50:55 +04:00
Ilya Zhuravlev
b8c3221d55 Fix absence of images when compiled with RUN_IN_PLACE=0. 2014-01-05 12:43:40 +02:00
Novatux
91923806a9 Fix objects being selected behind a node 2014-01-02 14:26:21 +01:00
kwolekr
25b1cca415 Fix exception caused by destroying sockets on Server shutdown 2013-12-31 15:00:49 -05:00
kaeza
767b2e7b17 Fix enum element name in Lua HUD code (position vs. pos) 2013-12-31 06:13:54 +01:00
ShadowNinja
2902a29c2d Initialize world before creating BanManager and RollbackManager 2013-12-30 14:29:33 -05: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
PilzAdam
4b31a38ae9 Remove FPS from window title
This doubles performance on some window managers (WTF?!)
2013-12-25 03:52:44 +01:00
Kahrl
bf9f50bc0e Make SHA1::addBytes(..., 0) a no-op instead of an assertion failure 2013-12-25 00:29:00 +01:00
Kahrl
3aa28bc7a2 Use sleep_ms instead of select in httpfetch when max_fd == -1, fixes WSAEINVAL 2013-12-24 19:28:09 +01:00
Kahrl
a5377251e2 Fix particle code ignoring return value of std::vector::erase(). Wat. 2013-12-23 15:11:53 +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
Kahrl
a50db0e824 Check for denied access in itemdef/nodedef/media fetch loop 2013-12-19 21:47:08 +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
BlockMen
38d112033b Fix formspec field labels 2013-12-17 01:13:16 +01:00
sapier
54dbd78f90 Fix broken httpfetch due to SimpleThread removal 2013-12-16 23:31:56 +01:00
BlockMen
c9ac9992c7 Fix MSVC compiling issue 2013-12-16 01:13:08 +01:00
sapier
3946d2a504 Reduce cloud coloring for colored fog and cloud mode 2013-12-16 00:16:06 +01:00
PilzAdam
5fd92d67d5 Remove an unused function and include from client.cpp 2013-12-15 19:57:08 +01:00
sapier
c120ea57c9 Add setting to disable direction dependent fog and sky colors 2013-12-15 15:30:02 +01:00
MirceaKitsune
848f80b2e5 Directional fog + horizon colors, based on sun & moon positions at sunrise / sunset 2013-12-15 14:28:50 +01:00
sapier
e9e9fd7c3f Replace SimpleThread by JThread now implementing same features 2013-12-15 13:39:42 +01:00
BlockMen
9772322613 Add alpha setting to font shadow 2013-12-14 21:11:38 +01:00
kwolekr
7a4c1e7327 Update mapgen params in ServerMap after Mapgen init 2013-12-14 10:49:20 -05:00
kwolekr
15c316765d Handle Lua errors in on_generate callbacks instead of throwing SIGABRT 2013-12-14 01:59:16 -05:00
kwolekr
c3708b456e Add map feature generation notify Lua API 2013-12-14 01:52:24 -05:00
ShadowNinja
83853ccd41 Remove support for optdepends.txt 2013-12-13 13:10:24 -05:00
Kahrl
e275b7099a Don't call curl_global_init twice 2013-12-13 18:08:53 +01:00
sapier
0d990bd189 Replace any direct curl usage by httpfetch 2013-12-13 18:05:46 +01:00
Kahrl
b03135548b Use httpfetch_async in serverlist announce code 2013-12-13 18:05:39 +01:00
Kahrl
0a903e69fb Implement urlencode and urldecode 2013-12-13 18:05:35 +01:00
Kahrl
0404bbf671 Rewrite client media download and support hash-based remote download
Move most of the media-related code in client.cpp into a new class
ClientMediaDownloader (clientmedia.cpp, clientmedia.h). Among other
things, this class does the following things:

- Download [remote_server][sha1] instead of [remote_server][name]. This
is to support servers that provide the same file name with different
contents.
- Initially fetch [remote_server]index.mth. This file should follow the
Minetest Hashset format (currently version 1) and contain a list of SHA1
hashes that exist on the server.
- The list of needed SHA1s is uploaded (via HTTP POST) when index.mth is
requested, so servers can optionally narrow down the list to the needs
of the client.
- If index.mth is missing (HTTP response code 404), we enter compat mode,
fetching [remote_server][name] as before this commit.
- remote_server can now contain multiple servers, separated by commas.
The downloader code attempts to split requests between the different
servers, as permitted by each server's index.mth. If one server claims
to have a file but actually doesn't (or something fails), we ask a
different server that also claims to have it.
- As before, when none of the remote servers provide a particular
file, we download it via the conventional method, i.e. using
the minetest protocol: TOSERVER_REQUEST_MEDIA / TOCLIENT_MEDIA.
- Bugfix: Every downloaded file's SHA1 is now verified against the SHA1
announced by the minetest server (before loading it and inserting it
into the file cache).
- Bugfix: Only send TOSERVER_RECEIVED_MEDIA when we actually have all
media. This should fix #863.
2013-12-13 18:05:20 +01:00
Kahrl
0ea3e6dbe2 Implement httpfetch module and initialize it from main()
Add curl_parallel_limit setting that will replace media_fetch_threads in
a later commit.

Fix a typo in MutexedQueue::pop_back() that made it impossible to compile
code that used this function. (Noticed this while implementing httpfetch.)
2013-12-13 18:05:10 +01:00
Ilya Zhuravlev
67bf7130ce Fix a bug in GenericCAO GENERIC_CMD_UPDATE_POSITION parsing. 2013-12-13 13:18:00 +04: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
Ilya Zhuravlev
76036abdb0 Add configurable font shadow. 2013-12-12 21:47:54 +04:00
sapier
4ccaa6d0af Implement search tab and version picker 2013-12-11 23:07:38 +01:00
PilzAdam
6c4a8766ab Check if width, height or start index of a list[] is negative 2013-12-09 22:39:24 +01:00
RealBadAngel
dae03382bf Optimize shaders code. Add settings at compile time. 2013-12-09 13:28:50 +01:00
kwolekr
50b0e9f7a4 Mapgen Indev: Fix segfault in cave generation due to uninitialized variable 2013-12-08 22:13:05 -05:00
Novatux
206565d965 Fix shaders on some GPUs 2013-12-08 08:01:20 +01:00
kwolekr
3cc45fd8ad Fix leak and possible segfault in minetest.set_mapgen_params 2013-12-08 01:37:41 -05:00
kwolekr
83cc882335 EmergeManager: Fix Lua mapgen override param handling 2013-12-08 01:31:06 -05:00
kwolekr
bbae8eb751 Dungeongen: Create dungeon gen tuneables; add desert temples for Mapgen V6 2013-12-07 22:45:26 -05:00
ShadowNinja
a0dce51af6 Move script_run_callbacks to Lua 2013-12-07 22:03:07 -05:00
ShadowNinja
96f753a108 Fix paralax occlusion setting 2013-12-06 22:42:09 -05:00
sapier
35f88ac67c Fix win32 jthread implementation 2013-12-06 17:49:10 +01:00
sweetbomber
22dbbf0a6f Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settings 2013-12-05 16:09:02 -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
Sfan5
d9de9f23d9 Fix LevelDB maps 2013-12-03 20:03:20 +01:00
RealBadAngel
2330267d22 Shaders rework. 2013-12-03 18:55:25 +01:00
PilzAdam
60113bde74 Dont move item back when not clicking on a slot 2013-12-03 18:05:36 +01:00
proller
1309e52198 Rename names -> can_see_far_names in announce 2013-12-03 20:14:06 +04:00
sapier
5004f31575 Fix broken async locking in release build 2013-12-03 17:50:00 +02:00
proller
6cbd1b8bf7 Remove link to #, add unlimited_player_transfer_distance to announce 2013-12-03 19:48:43 +04: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
f3439c40d8 Cavegen: Fix possible out-of-bounds heightmap access 2013-12-01 08:57:35 -05:00
kwolekr
20e3d550fa Decoration: Add schematic Y-slice probability support 2013-12-01 01:24:59 -05:00
sapier
de0cdbc01c Fix log threadname lookup handling not beeing threadsafe 2013-11-30 21:22:15 +01: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
kwolekr
747bc40840 Cavegen: Respect is_ground_content MapNode setting; fix some code formatting issues 2013-11-29 20:54:04 -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
sapier
b08d7558de Split server/client port setting to avoid port number clashes in mainmenu 2013-11-28 21:43:06 +01:00
ShadowNinja
ff25218374 Don't use variable length arrays 2013-11-28 11:22:41 -05:00
ShadowNinja
7433d65d3e Rollback fixes and get_node_actions 2013-11-27 18:13:06 -05:00
Mario Barrera
1fd9a11e30 SQLite rollback 2013-11-27 18:13:06 -05:00
sapier
4f246f0e22 Fix line_of_sight (AGAIN) 2013-11-25 00:04:05 +01:00
kwolekr
068dd796f5 Don't continue trying to deserialize blank block data 2013-11-24 02:10:15 -05:00
Kahrl
ab601e8710 Fix invalid escape sequence in database migration code 2013-11-23 16:09:38 +01:00
Kahrl
6f851c9692 Fix crash when pressing Enter key in formspec menu 2013-11-23 00:37:32 +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