aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-12-14Add map feature generation notify Lua APIkwolekr
2013-12-13Remove support for optdepends.txtShadowNinja
2013-12-13Don't call curl_global_init twiceKahrl
2013-12-13Replace any direct curl usage by httpfetchsapier
2013-12-13Use httpfetch_async in serverlist announce codeKahrl
2013-12-13Implement urlencode and urldecodeKahrl
2013-12-13Rewrite client media download and support hash-based remote downloadKahrl
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-13Implement httpfetch module and initialize it from main()Kahrl
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-13Fix a bug in GenericCAO GENERIC_CMD_UPDATE_POSITION parsing.Ilya Zhuravlev
2013-12-12Make line_of_sight return blocking node positionstujones11
2013-12-12Add 'on_prejoinplayer' callbackkaeza
2013-12-12Add configurable font shadow.Ilya Zhuravlev
2013-12-11Implement search tab and version pickersapier
2013-12-09Check if width, height or start index of a list[] is negativePilzAdam
2013-12-09Optimize shaders code. Add settings at compile time.RealBadAngel
2013-12-08Mapgen Indev: Fix segfault in cave generation due to uninitialized variablekwolekr
2013-12-08Fix shaders on some GPUsNovatux
2013-12-08Fix leak and possible segfault in minetest.set_mapgen_paramskwolekr
2013-12-08EmergeManager: Fix Lua mapgen override param handlingkwolekr
2013-12-07Dungeongen: Create dungeon gen tuneables; add desert temples for Mapgen V6kwolekr
2013-12-07Move script_run_callbacks to LuaShadowNinja
2013-12-06Fix paralax occlusion settingShadowNinja
2013-12-06Fix win32 jthread implementationsapier
2013-12-05Improve (re)spawn, add cache_block_before_spawn and max_spawn_height settingssweetbomber
2013-12-03Use a table in set_physics_override()PilzAdam
2013-12-03Add sneak and sneak_glitch to set_physics_override()PilzAdam
2013-12-03Fix LevelDB mapsSfan5
2013-12-03Shaders rework.RealBadAngel
2013-12-03Dont move item back when not clicking on a slotPilzAdam
2013-12-03Rename names -> can_see_far_names in announceproller
2013-12-03Fix broken async locking in release buildsapier
2013-12-03Remove link to #, add unlimited_player_transfer_distance to announceproller
2013-12-01Fix MinGW buildSfan5
2013-12-01Cleanup jthread and fix win32 buildsapier
2013-12-01Cavegen: Fix possible out-of-bounds heightmap accesskwolekr
2013-12-01Decoration: Add schematic Y-slice probability supportkwolekr
2013-11-30Fix log threadname lookup handling not beeing threadsafesapier
2013-11-30Add error handler to async stepShadowNinja
2013-11-30Optimize table creationShadowNinja
2013-11-30Add minetest.swap_nodeNovatux
2013-11-30Fix MSVC build.Ilya Zhuravlev
2013-11-30LuaVoxelManip: Add area parameters back to calc_lighting and set_lighting, ↵kwolekr
made optional this time; also fixed a slight bug with night values being ignored
2013-11-30LuaVoxelManip: Add get_light_data() and set_light_data()kwolekr
2013-11-29Fixed potential NULL pointer and leak when setting node metadataMetaDucky
2013-11-29Cavegen: Respect is_ground_content MapNode setting; fix some code formatting ↵kwolekr
issues
2013-11-30Fix broken thread stop handlingsapier
2013-11-29Fix old gcc buildsapier
2013-11-29Fix modstore/favourites hang by adding asynchronous lua job supportsapier
2013-11-28Split server/client port setting to avoid port number clashes in mainmenusapier
2013-11-28Don't use variable length arraysShadowNinja