207 Commits

Author SHA1 Message Date
Perttu Ahola
92555ef70b Create new instance of mesh every time it's required (Solves #703) 2014-01-06 13:24:31 +02:00
PilzAdam
2970a9dd03 Remove an unused function and include from client.cpp 2013-12-15 19:57:08 +01:00
sapier
6474caa15f Replace SimpleThread by JThread now implementing same features 2013-12-15 13:39:42 +01:00
Kahrl
b34a01f4c8 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
sapier
396602432c Cleanup jthread and fix win32 build 2013-12-01 16:25:46 +01:00
Novatux
92d806ab21 Add minetest.swap_node 2013-11-30 18:37:56 +01:00
proller
faa3e90283 Correct useragent in http queries
Net struct init
2013-11-06 00:50:32 +04:00
kwolekr
d017bf220a Always use builtin JThread library 2013-09-15 23:00:01 -04:00
PilzAdam
49f6e00cf3 Use player:set_hotbar_image() instead of hardcoded hotbar.png 2013-09-05 00:21:16 +02:00
Kahrl
ee90d438b8 Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu 2013-08-14 21:03:33 +02:00
proller
f821824943 Weather backward compatibility 2013-08-02 00:51:36 +04:00
RealBadAngel
b737eaa357 Add set_breath and get_breath to lua API. 2013-07-20 20:34:11 +02:00
proller
cb3e7ca3b7 Masterserver mods announse, ipv6, better curl errors 2013-07-13 00:19:05 +04:00
Kahrl
36fbef747c When server sends late media, log to errorstream instead of crashing.
Do a check for valid num_files before doing
assert(!m_mesh_update_thread.IsRunning());

In particular, don't execute the assertion if all media has already
been received.
2013-07-07 08:35:25 +02:00
Kahrl
256eb4a122 Don't rebuild the dummy shader (less SourceShaderCache warning spam)
Also write something about rebuilding shaders to infostream in
Client::afterContentReceived()
2013-07-05 04:24:05 +02:00
Kahrl
46340cbbe0 Remove texture atlas / AtlasPointer, rename getTextureRaw to getTexture 2013-07-02 03:03:10 +02:00
proller
06ddcb4b1e Add support for IPv6
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-23 11:31:22 +04:00
PilzAdam
942228a796 Add drowning 2013-06-19 15:47:00 +00:00
Kahrl
780a234d48 Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAM 2013-05-26 00:23:33 +02:00
MetaDucky
b2dc20002a Fix typo in particle spawning 2013-05-20 16:24:07 +02:00
PilzAdam
1579304a38 Fix memory leak in MeshUpdateThread 2013-05-18 01:52:18 +02:00
Zeg9
95e529c66e Add progress bar to item visuals preloading 2013-05-13 17:08:51 +02:00
PilzAdam
7633c4d82f Fix memory leak: remove InventoryAction after sending and applying 2013-05-11 00:12:14 +02:00
kwolekr
c3b246b585 Generalize hud_builtin_enable into hud_set_flags 2013-04-25 19:37:36 -04:00
Diego Martínez
b02e6b1403 Added support to disable built-in HUD elements 2013-04-24 17:28:00 +03:00
Diego Martínez
e53e686cc5 Fixes possible crash when using hud_change with "align" or "offset" 2013-04-23 23:18:05 -04:00
RealBadAngel
5525f6f88b Fix to: addUpdateMeshTaskWithEdge
Check in all 6 directions instead of just 3.
2013-04-23 22:30:09 -04:00
Diego Martínez
f2e5d4ebe2 Added offset support for HUD items 2013-04-23 09:34:11 +03:00
Diego Martínez
cf39a2950a Added support for alignment in HUD items 2013-04-23 09:34:10 +03:00
kwolekr
45409b509b Split HUD code off to hud.cpp, make into a class, extensive Lua HUD modification 2013-04-18 02:19:31 -04:00
Jonathon Anderson
2cb3f5eb6b Lua HUD 2013-04-18 02:14:33 -04:00
sapier
66872b7884 fix memory leak in loadMedia 2013-04-07 23:40:33 -04:00
sapier
acf94e90b4 fix 3d model mesh leak 2013-04-07 21:51:35 -04:00
PilzAdam
7d5d34de34 Fix nick completion 2013-04-05 02:31:58 +02:00
Jeija
a8562392b0 Allow spawning particles from the server, from lua
Spawn single particles or make use of ParticleSpawner for many randomly spawned particles.
Accessible in Lua using minetest.spawn_particle and minetest.add_particlespawner.
Increase Protocol Version to 17.

Conflicts:
	src/clientserver.h
2013-03-23 23:16:29 +01:00
Ilya Zhuravlev
a12df55f29 Migrate to STL containers/algorithms. 2013-03-11 19:08:39 -04:00
Sfan5
3fab3825aa Update Copyright Years 2013-02-24 20:15:24 +01:00
PilzAdam
269f01224b Change Minetest-c55 to Minetest 2013-02-24 18:49:03 +01:00
MirceaKitsune
f0f07b20f0 Improved Player Physics 2013-02-14 06:21:30 +10:00
sapier
59ab6e50b5 Fix buttons not working for Lua-triggered formspecs 2013-01-07 19:00:33 +02:00
sapier
2683dde4e8 Add TOCLIENT_SHOW_FORMSPEC to display formspecs at client from lua 2013-01-02 20:59:37 +02:00
PilzAdam
bdfd5da1f4 Fix 'longjmp causes uninitialized stack frame' in cURL 2012-12-26 21:41:00 +01:00
Ilya Zhuravlev
e910464bc6 Make m_media_fetch_threads to contain MediaFetchThread* instead of MediaFetchThread 2012-12-17 20:56:59 +04:00
Ilya Zhuravlev
f189ab2ccd Added ability to fetch media from remote server (using cURL library) 2012-12-16 15:20:18 +04:00
MirceaKitsune
c294d6809c Don't send player position from client to server if the player hasn't moved 2012-12-02 20:22:02 +02:00
Kahrl
c9e7e8ba3c ShaderSource and silly example shaders 2012-12-02 00:46:18 +02:00
Perttu Ahola
7e50a0f75d Add setting preload_item_visuals 2012-12-02 00:46:10 +02:00
Perttu Ahola
e187e834c3 On-demand item meshes and textures 2012-12-02 00:38:26 +02:00
Perttu Ahola
f47ab33cfd Modify some client log message levels 2012-12-02 00:24:11 +02:00
Perttu Ahola
449111ddc1 Default server step to 0.1s and sync object/player update intervals to it 2012-11-26 22:34:59 +02:00