summaryrefslogtreecommitdiff
path: root/src/game.cpp
AgeCommit message (Collapse)Author
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-09Optimize shaders code. Add settings at compile time.RealBadAngel
2013-12-06Fix paralax occlusion settingShadowNinja
2013-12-03Shaders rework.RealBadAngel
2013-09-28Show git hash in version string at top left corner of windowKahrl
2013-09-17Use cached "weather" settingproller
2013-09-17Fog depend on humidityproller
2013-09-11Change mainmenu texture handling + small misc changesKahrl
Texture names must now be escaped in formspec elements image[], background[], image_button[], image_button_exit[]. Instead of special-case handling of texture loading (and unloading which was missing) in guiFormSpecMenu.cpp, use the newly created ISimpleTextureSource interface which is a minimal subset of ITextureSource. There is an implementation of this interface used by GUIEngine (MenuTextureSource). Fix an off-by-one bug in unescape_string; it caused requests for a texture called "\0".
2013-09-05Fix selectionbox not honoring anaglyph mode 3d distortionsapier
2013-09-03Fix enable_fog = false not having any effect when shaders are enabledKahrl
2013-08-14Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl
2013-08-13Remove farmeshKahrl
2013-08-04Add texture pack selection to main menuNovatux
2013-08-03Fix and improve view range tunerPerttu Ahola
2013-07-31Make bumpmapping compatible with irrlicht 1.8Esteban I. Ruiz Moreno
2013-07-27Weather supportproller
2013-07-20Make range of tools configureablePilzAdam
2013-07-09Dont play digging sound if not diggingPilzAdam
2013-07-04Add texture bumpmapping feature.RealBadAngel
2013-07-02Replace C++ mainmenu by formspec powered onesapier
2013-07-02Remove texture atlas / AtlasPointer, rename getTextureRaw to getTextureKahrl
2013-07-02Fix i18n of some strings.arsdragonfly
2013-06-23Add support for IPv6proller
Two new configuration options are added: - "enable_ipv6" to enable/disable the overall use of IPv6 - "ipv6_server" to enable/disable the use of IPv6 sockets when running a server (when "enable_ipv6" is enabled)
2013-06-19Play placing sound only if place prediction was successfulPilzAdam
2013-06-19Dont dig or place nodes if interact priv is missing (clientside)PilzAdam
2013-06-19Add drowningPilzAdam
2013-06-13Reset dig_time when switching to a tool that cant dig the current nodePilzAdam
2013-06-13Enable word wrapping in profiler IGUIStaticText (freetype needs this)Kahrl
2013-06-12Play player_damage.ogg when recieving damage and additionally play ↵PilzAdam
player_falling_damage.ogg when recieving falling damage
2013-06-05Close console when it loses focus but it is still on screenEsteban I. Ruiz Moreno
2013-06-01Generate debug HUD text with ostringstream instead of snprintf.Kahrl
This should fix #730.
2013-05-26Bugfix: Update formname on showing new formspec while already one shownsapier
2013-05-26Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAMKahrl
2013-05-24Predict param2 of facedir nodes and attachment of attached_node nodesPilzAdam
2013-05-20Add a little animation when changing the wielded itemPilzAdam
2013-05-19Fix regression of world loading caused by 81c863ackwolekr
2013-05-13Add mouse_sensitivity optionEsteban I. Ruiz Moreno
2013-05-13Add progress bar to item visuals preloadingZeg9
2013-05-10Fix memory leak by dropping skyPilzAdam
2013-05-10Add clouds to all loading screens and better progress handlingZeg9
2013-05-08Add progress bar and clouds to loading screenZeg9
2013-05-03Don't predict placement of nodes if they would replace a non buildable_to nodeShadowNinja
2013-05-03Predict wallmounted param2 during node placement prediction.Kahrl
Also clean up the_game a bit: move node placement prediction to a separate function.
2013-04-25Generalize hud_builtin_enable into hud_set_flagskwolekr
2013-04-24Added support to disable built-in HUD elementsDiego Martínez
2013-04-23Added offset support for HUD itemsDiego Martínez
2013-04-23Added support for alignment in HUD itemsDiego Martínez
2013-04-18Split HUD code off to hud.cpp, make into a class, extensive Lua HUD modificationkwolekr
2013-04-18Lua HUDJonathon Anderson
2013-04-07addon extended resource accountingsapier