Commit Graph

2556 Commits

Author SHA1 Message Date
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 3f376a092e.
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 22dbbf0a6f.

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