Commit Graph

5156 Commits

Author SHA1 Message Date
pilino1234 e3c3eab101 Translated using Weblate (German)
Currently translated at 94.1% (709 of 753 strings)
2015-11-08 18:40:23 +01:00
Jordi Fornaguera 5124799303 Translated using Weblate (Spanish)
Currently translated at 32.5% (245 of 753 strings)
2015-11-08 18:40:23 +01:00
PilzAdam 5d99018978 Translated using Weblate (German)
Currently translated at 94.0% (708 of 753 strings)
2015-11-08 18:40:23 +01:00
PilzAdam ad7c37b58b Translated using Weblate (German)
Currently translated at 98.1% (739 of 753 strings)
2015-11-08 18:40:23 +01:00
PilzAdam 22ff2c34fb Translated using Weblate (German)
Currently translated at 98.1% (739 of 753 strings)
2015-11-08 18:40:23 +01:00
Wuzzy 1c03176078 Translated using Weblate (German)
Currently translated at 98.0% (738 of 753 strings)
2015-11-08 18:40:23 +01:00
Wuzzy d1ab04146b Translated using Weblate (German)
Currently translated at 95.4% (719 of 753 strings)
2015-11-08 18:40:23 +01:00
Jeff Huang 81ff738ccd Translated using Weblate (Chinese (Taiwan))
Currently translated at 43.8% (330 of 753 strings)
2015-11-08 18:40:23 +01:00
Wuzzy 56162a647e Translated using Weblate (German)
Currently translated at 75.5% (569 of 753 strings)
2015-11-08 18:40:23 +01:00
Muhammad Rifqi Priyo Susanto 4f1f652d96 Translated using Weblate (Indonesian)
Currently translated at 40.2% (303 of 753 strings)
2015-11-08 18:40:23 +01:00
Jeff Huang 1e6f0e63f8 Translated using Weblate (Chinese (Taiwan))
Currently translated at 36.9% (278 of 753 strings)
2015-11-08 18:40:23 +01:00
PilzAdam 6a15211bc2 Translated using Weblate (German)
Currently translated at 61.6% (464 of 753 strings)
2015-11-08 18:40:23 +01:00
PilzAdam b046023b78 Translated using Weblate (German)
Currently translated at 54.1% (408 of 753 strings)
2015-11-08 18:40:23 +01:00
PilzAdam d0567e92f5 Translated using Weblate (German)
Currently translated at 52.3% (394 of 753 strings)
2015-11-08 18:40:23 +01:00
Jean-Patrick G 25526551bb Translated using Weblate (French)
Currently translated at 35.4% (267 of 753 strings)
2015-11-08 18:40:23 +01:00
pilzadam 330f94ed73 Translated using Weblate (German)
Currently translated at 36.2% (273 of 753 strings)
2015-11-08 18:40:23 +01:00
est31 337c02c0f0 Don't compile pcgrandom on Windows
There it isn't needed.
2015-11-08 18:26:20 +01:00
kwolekr f9e394a466 Improve LuaVoxelManip documentation 2015-11-07 11:59:24 -05:00
BlockMen 2a12579fab Add support for audio feedback if placing node failed 2015-11-07 13:23:38 +01:00
Kahrl 578649bd15 Document ENABLE_CURSES in README.txt 2015-11-06 23:05:40 +01:00
paramat 2ec1eee090 Conf.example, settingtypes: Improve mgfractal documentation 2015-11-06 11:12:07 +00:00
est31 5e507c9829 Add server side ncurses terminal
This adds a chat console the server owner can use for administration
or to talk with players.
It runs in its own thread, which makes the user interface immune to
the server's lag, behaving just like a client, except timeout.
As it uses the same console code as the f10 console, things like nick
completion or a scroll buffer basically come for free.
The terminal itself is written in a general way so that adding a
client version later on is just about implementing an interface.

Fatal errors are printed after the console exists and the ncurses
terminal buffer gets cleaned up with endwin(), so that the error still
remains visible.

The server owner can chose their username their entered text will
have in chat and where players can send PMs to.
Once the username is secured with a password to prevent anybody to
take over the server, the owner can execute admin tasks over the
console.

This change includes a contribution by @kahrl who has improved ncurses
library detection.
2015-11-06 08:51:14 +01:00
kwolekr 1384108f8c Schematics: Add core.place_schematic_on_vmanip API
Fix memory leak in minetest.place_schematic
Slightly refactor Schematic code
2015-11-05 01:18:32 -05:00
paramat 732cabee19 Settingtypes: Correct documentation for mgfractal
Use type 'string' for v3fs and add comments
2015-11-05 00:53:39 +00:00
est31 c75ab52115 Fix time progressing too fast
Before, time progressed wrongly. This was due to a mistake in how m_time_of_day_f was calculated,
and a regression of the last two commits.
2015-11-04 07:12:02 +01:00
paramat 64049cf72a Mgfractal: Add documentation to conf.example and settingtypes 2015-11-04 05:22:55 +00:00
est31 8f03995604 Time: use locks again
The Atomic implementation was only partially correct, and was very complex.
Use locks for sake of simplicity, following KISS principle.
Only remaining atomic operation use is time of day speed, because that
really is only read + written.

Also fixes a bug with m_time_conversion_skew only being decremented, never
incremented (Regresion from previous commit).

atomic.h changes:
	* Add GenericAtomic<T> class for non-integral types like floats.

	* Remove some last remainders from atomic.h of the volatile use.
2015-11-04 03:44:09 +01:00
est31 f9b09368f0 Time: Remove serverside getter, and use atomic operations
It isn't possible to use atomic operations for floats, so don't use them there.

Having a lock is good out of other reasons too, because this way the float time
and the integer time both match, and can't get different values in a race,
e.g. when two setTimeofDay() get executed simultaneously.
2015-11-03 19:07:45 +01:00
est31 abc354a5d0 Atomic: cleanup and add more operations
Cleanup:
	* Remove volatile keyword, it is of no use at all. [1]
	* Remove the enable_if stuff. It had no use either.
	  The most likely explanation why the enable_if stuff was there is that it
	  was used as something like a STATIC_ASSERT to verify that sizeof(T) is not larger
	  than sizeof(void *). This check however is not just misplaced in a place where we
	  already use a lock, it isn't needed at all, as gcc will just generate a call to
	  to the runtime if it compiles for platforms that don't support atomic instructions.
	  The runtime will then most likely use locks.

Code style fixes:
	* Prefix name of the mutex
	* Line everything up nicely, where it makes things look nice
	* Filling \ continuations with spaces is code style rule

Added operations on the atomic var:
	* Compare and swap
	* Swap

The second point of the cleanup also fixes the Android build of the next commit.

[1]: http://stackoverflow.com/q/2484980
2015-11-03 19:07:39 +01:00
est31 1550ab3c5d Only go fast in autorun if fast move is enabled 2015-11-03 15:40:47 +01:00
kwolekr 6ba4f3775e Silence 'unused typedef' warning for STATIC_ASSERT() 2015-11-03 01:03:33 -05:00
kwolekr c2b5da735e Add callback parameter for core.emerge_area() 2015-11-02 18:43:09 -05:00
gregorycu 5c3546e459 Speed up saving of profiling data by 27x
On Windows Release x64 bit build this changes:

ProfilerGraph::put
1.68% -> 0.061%

ProfilerGraph::draw
12% -> 17.%

So yes, there is a tradeoff between saving profiling data
(executed always) and drawing the profiler graph (executed very rarely).
But usually you don't have the profiler graph open.
2015-11-02 13:25:21 +01:00
est31 eabfe091b5 Rename and move basicmacros.h to util/basic_macros.h 2015-11-02 04:57:55 +01:00
Kahrl 8f49358153 Print --videomodes response to standard output, too 2015-11-02 02:46:36 +01:00
Perttu Ahola 3285bf73b9 Print direct command line responses to standard output instead of using the log system
Using logging for these just makes them bloated and hard to read and overally just not neat at all.
2015-11-02 00:11:20 +02:00
kwolekr 52e5b513ed Fix Lua scripting synchronization
For several years now, the lua script lock has been completely broken.
This commit fixes the main issue (creation of a temporary rather than
scoped object), and fixes a subsequent deadlock issue caused by
nested script API calls by adding support for recursive mutexes.
2015-11-01 11:32:05 -05:00
kwolekr d198e420ec Fix Noise compiled under clang >= 3.7.x with -O2 or higher
When compiled with optimizations, the most recent versions of clang seem
to 'optimize' out a crucial "and %reg, 0x7FFFFFFF" instruction in noise2d(),
probably because it somehow assumed the variable n would never become greater
than that amount.
Indeed, signed integer underflow is undefined behavior in C and C++, so while
this optimization is "correct" in that sense, it breaks lots of existing code.
Solved by changing n to an unsigned type, making behavior well-defined.
2015-11-01 11:16:18 -05:00
ShadowNinja 9269a0ecc7 Fix server crashing on Lua errors
Previously, the server called FATAL_ERROR when a Lua error occured.
This caused a (mostly useless) core dump.
The server now simply throws an exception, which is caught and printed before
exiting with a non-zero return value.
This also fixes a number of instances where errors were logged multiple times.
2015-10-31 13:28:58 -04:00
ShadowNinja b872df6ef6 Fix clang warning 2015-10-31 13:28:58 -04:00
kwolekr fdede60034 Fix C++11 compatibility 2015-10-31 02:38:23 -04:00
Rui914 482c4d69b0 minetest. to core. 2015-10-31 02:28:06 +01:00
Duane Robertson b6dfae0221 WoW-style Autorun
This allows the player to toggle continuous forward with a key (F by default),
so we don't have to hold down the forward key endlessly.
2015-10-29 21:48:57 +01:00
paramat c0a7c670a4 findSpawnPos: Add setting for max height above water level
Increase default from 6 to 16 to help with mgv7 and mgfractal
Large-scale or alternative mapgens can result in a lowland spawn point not
being found, causing a spawn at (0, 0, 0) possibly buried underground
The max height is now settable to allow correct player spawn
in any mapgen or when using custom noise parameters
2015-10-29 20:03:15 +00:00
paramat 182b3fd283 Mgfractal: Add filler depth noise 2015-10-29 20:02:57 +00:00
kwolekr 688556a5d1 Add STATIC_ASSERT() macro and use it 2015-10-27 22:27:32 -04:00
kwolekr c56d7fe0eb Add DISABLE_CLASS_COPY macro (and use it)
Use this macro to disallow copying of an object using the assignment
operator or copy constructor.  This catches otherwise silent-but-deadly
mistakes such as "ServerMap map = env->getMap();" at compile time.

If so desired, it is still possible to copy a class, but it now requires
an explicit call to memcpy or std::copy.
2015-10-27 22:05:08 -04:00
est31 ca8e56c15a Environment: Time of day fixes and add serverside getter
-> Put access to time variables under the time lock.
-> Merge both time locks, there is no point to have two locks.
-> Fix the lock being released too early in Environment::setTimeOfDay
-> Add serverside getter so that you don't have to get
	the environment if you only have the server
2015-10-27 23:19:17 +01:00
PilzAdam c406438b95 Fix missing #include 2015-10-27 15:55:34 +01:00
kwolekr 27eed1389b Move basic, non-numeric macros from util/numeric.h to basicmacros.h 2015-10-27 01:53:45 -04:00