3987 Commits

Author SHA1 Message Date
Kahrl
799adf20e9 Push error handler afresh each time lua_pcall is used
Fixes "double fault" / "error in error handling" messages
(issue #1423) and instead shows a complete backtrace.
2015-08-27 01:56:06 +02:00
Kahrl
236844f409 Use numeric indices and raw table access with LUA_REGISTRYINDEX 2015-08-27 01:56:06 +02:00
David Jones
9d1284b324 Change i++ to ++i 2015-08-25 18:33:52 -04:00
ShadowNinja
098d28aa5e Clean up threading
* Rename everything.
    * Strip J prefix.
    * Change UpperCamelCase functions to lowerCamelCase.
  * Remove global (!) semaphore count mutex on OSX.
  * Remove semaphore count getter (unused, unsafe, depended on internal
    API functions on Windows, and used a hack on OSX).
  * Add `Atomic<type>`.
  * Make `Thread` handle thread names.
  * Add support for C++11 multi-threading.
  * Combine pthread and win32 sources.
  * Remove `ThreadStarted` (unused, unneeded).
  * Move some includes from the headers to the sources.
  * Move all of `Event` into its header (allows inlining with no new includes).
  * Make `Event` use `Semaphore` (except on Windows).
  * Move some porting functions into `Thread`.
  * Integrate logging with `Thread`.
  * Add threading test.
2015-08-23 22:04:06 -04:00
RealBadAngel
7b1b1c5a36 tileable flags are needed also without shaders because of filters 2015-08-20 03:42:22 +02:00
RealBadAngel
5f0aa06221 Remove use of engine sent texture tiling flags - theyre no longer needed 2015-08-20 02:41:40 +02:00
Rui
714a8b4af3 Fix indianred and indigo of color-string 2015-08-19 19:49:45 +02:00
est31
6d9b4a1d36 Android: bypass broken wide_to_utf8 with wide_to_narrow (again)
This bypass had to be re-enabled as some users reported issues,
even after the iconv build fix.

While utf8_to_wide works well, wide_to_utf8 is quite broken
on android, for some reason, and some devices (unrelated from build
configuration).
2015-08-19 18:38:00 +02:00
est31
78d8a57fd5 Fix inventory replace bug 2015-08-19 03:42:00 +02:00
kwolekr
72ee8bc2ba SAPI: Disable unlockable time profiling 2015-08-18 01:26:11 -04:00
kwolekr
09ce485271 SEnv: Remove static_exists from ActiveObjects in deleted blocks 2015-08-16 15:55:07 -04:00
onkrot
d06a5db736 Remove unused functions. 2015-08-16 14:29:33 +02:00
paramat
682026c8fc Defaultsettings: Increase client_mapblock_limit to 5000 2015-08-15 20:29:30 +01:00
kwolekr
4266e5b443 Rollback: Fail on bad precondition instead of causing assertion error 2015-08-15 14:51:38 -04:00
BlockMen
7ba5f27c38 Fix sneaking (fixes #665 and #3045) 2015-08-15 20:36:45 +02:00
nerzhul
21ff4ea231 Remove unused function from connection.{cpp,h} 2015-08-15 08:48:20 +02:00
kwolekr
925187a32b minimap: Add ability to disable from server 2015-08-13 15:05:48 -04:00
est31
d8c546aa23 game.cpp: Update cached settings 2015-08-13 20:05:53 +02:00
Perttu Ahola
9aeb54f787 Fix segfault caused by a8e238ed06ee8285ed4459e9deda3117419837f6 2015-08-13 19:02:48 +03:00
est31
143d1f6835 Add count based unload limit for mapblocks 2015-08-13 07:56:07 +02:00
kwolekr
2fb4917d8e SAPI: Track last executed mod and include in error messages 2015-08-12 23:56:12 -04:00
est31
6b06190c64 Fix Lua PcgRandom
Before, this lua code led to a crash:

local pcg = PcgRandom(42)
local value = pcg:next()

This was because if you called s32 PcgRandom::range(min, max) with the
minimum and maximum possible values for s32 integers (which the lua
binding code did), u32 PcgRandom::range(bound) got called with 0 as the
bound. The bound however is one above the maximum value, so 0 is a "special"
value to pass to this function. This commit fixes the lua crash by
assigning the RNG's full range to the bound 0, which is also fits to the
"maximum is bound - 1" principle, as (u32)-1 is the maximum value in the
u32 range.
2015-08-12 11:36:22 +02:00
paramat
b9d48ff493 Treegen: Rename pine tree mapgen alias 2015-08-10 09:50:58 +01:00
Kahrl
4b745550c6 Fix intlGUIEditBox leak and uninitialized value in Mapper (reported by valgrind) 2015-08-10 08:41:45 +02:00
kwolekr
7451e9bcf2 Make NetworkPacket respect serialized string size limits 2015-08-10 02:16:55 -04:00
kwolekr
f1eca24ce0 Display Lua memory usage at the time of Out-of-Memory error
Also misc. minor cleanups
2015-08-10 01:38:09 -04:00
rubenwardy
3a5596ccc8 Fix segfaults caused by the Environment not being initialized yet 2015-08-09 23:36:55 +02:00
Loic Blot
9a5bcf3211 Remove unused file 2015-08-09 13:27:42 +02:00
Kahrl
ccb46d0379 Fix camera updates being toggled by N key in release mode (#2762) 2015-08-07 06:02:06 +02:00
gregorycu
f667a66a15 Fix detection of sneaking node
This fixes bug 1551
2015-08-06 03:14:56 -04:00
kwolekr
ab6563e4fd Fix BufferedPacket race condition (fixes #2983)
This was caused by the use the non-threadsafe SharedBuffer in a
threaded context.
2015-08-06 02:25:35 -04:00
kwolekr
5b611a6f68 Fix critical vulnerabilities and bugs with NetworkPacket 2015-08-06 00:10:57 -04:00
est31
5dc84c8820 Initialize random for verification key generation too 2015-08-06 05:48:07 +02:00
kwolekr
be00c2f46a Improve Script CPP API diagnostics 2015-08-05 21:13:03 -04:00
kwolekr
ad4497a754 connection: Make assertions non-fatal for received data 2015-08-05 21:01:13 -04:00
RealBadAngel
b82d4913a2 Fix tiling issues for PLANTLIKE and FIRELIKE with FSAA 2015-08-05 22:52:32 +02:00
paramat
fab13e6805 Cavegen V6: Make all caves consistent with 0.4.12 stable
When tunnels entirely above ground were avoided, the
missing pseudorandom calls changed the allowed caves.
Now, above ground tunnels are not placed while
still running all previous pseudorandom calls.
2015-08-03 06:39:23 +01:00
paramat
b1fdade2be Biome API: Make fallback biome stone and water, disable filler 2015-08-03 02:34:32 +01:00
Břetislav Štec
a41b127c65 src/util/numeric.{cpp,h}: Fix FacePositionCache data race 2015-08-02 19:42:22 +02:00
Miner59
201cac12ae Fix "bouncy" blocks
Before players "bounced" too high. Now, while still allowing to bounce, higher speed bounces are throttled.
2015-08-02 19:40:23 +02:00
Břetislav Štec
a20f64d877 src/client/tile.cpp: Fix reference counting 2015-08-02 19:26:15 +02:00
rubenwardy
c2efd3e81b Add map limit config option 2015-08-02 14:27:04 +02:00
Břetislav Štec
ecbbc8a1a2 Prepend "Lua: " before lua exceptions
src/server.cpp
src/emerge.cpp
2015-08-02 02:17:37 -04:00
Břetislav Štec
aad5f09f6f src/wieldmesh.cpp: Fix mesh extrusion memory leak 2015-08-02 02:16:30 -04:00
Břetislav Štec
563d8138ea src/client.cpp: Fix mapper memory leak 2015-08-02 02:15:38 -04:00
kwolekr
e92f45d033 Improve accuracy and safety of float serialization
Multiplying by a factor of 1/1000.f (rather than dividing by 1000.f) directly
introduces an error of 1 ULP.  With this patch, an exact comparison of a
floating point literal with the deserialized F1000 form representing it is now
guaranteed to be successful.
In addition, the maxmium and minimum safely representible floating point
numbers are now well-defined as constants.
2015-08-01 19:30:08 -04:00
kwolekr
7be922f0eb Clean up util/serialization.{cpp,h} and add unit tests 2015-08-01 19:24:46 -04:00
Břetislav Štec
1a8e4c834b src/environment.cpp: Fix NULL pointer dereference 2015-08-01 20:44:18 +02:00
Břetislav Štec
694d0f94d5 src/network/connection.h: Fix race condition 2015-08-01 20:44:17 +02:00
est31
5d5be00ce3 Android: Add githash header to spare rebuilds after new commits
Before, android_version.h got changed at every new commit. Now, we
only change it with new minetest releases. Analogous to how cmake
does it,  we add an android_version_githash.h file that communicates
the git hash to C++ code.

Also, unify VERS_MAJOR, VERS_MINOR and VERS_PATCH variable
calculation inside the whole makefile.
2015-08-01 20:42:07 +02:00