aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-10-17New settings tab contain all possible settingsPilzAdam
Settings are automatically parsed from builtin/settingtypes.txt The edit dialog automatically adjust based on the type of setting
2015-10-17Fix == to =Rui
2015-10-17Fix missing include on AIXkwolekr
2015-10-16Refactor Thread class to improve readability and portabilitykwolekr
- Fix some incompatibilities with obscure platforms (AIX and WinCE) - Clean up Thread class interface - Add m_ prefix to private member variables - Simplify platform-dependent logic, reducing preprocessor conditional clauses and improving readibility - Add Thread class documentation
2015-10-16Refactor thread utility interfacekwolekr
- Add "thr_" prefix to thread utility functions - Compare threadid_ts in a portable manner, where possible
2015-10-17Fix crash regression when invsize formspec gets usedest31
The invsize formspec element is outdated. Even though, it is still supported, only a deprecation warning is shown, introduced by commit [1]. The lua context passed to the log_deprecated method added by commit [1] is NULL for the invsize deprecation warning, as its run on the client and not the server. Commit [1] has removed checks for NULL inside the log_deprecated method, resulting in a crash when a formspec with an invsize element is parsed. This commit puts the check back. Fixes #3260. Referenced commits: [1]: b5acec0a3c5701c53854ff7afdf4008863e6e8df "Add proper lua api deprecated handling" [2]: 7b8d372947aae232ddf598155e972bb4dda157a "Use warningstream for deprecated field messages and refactor log_deprecated"
2015-10-15Fix enforcing of nametag hidingest31
Commit d2ca662569427d36642660314668e416bf68f3c8 "Enforce hiding nametag" didn't fix the issue for "client" instances, where the nametag update was received before the object was added to the scene. This resulted in the grey shadow on the nametag that commit tried to fix. Thanks to @neoascetic for pointing out that there still is a shadow.
2015-10-15Add BufReader and vector-based serialization methodskwolekr
2015-10-15Clean up gettext initializationShadowNinja
2015-10-15Use warningstream for deprecated field messages and refactor log_deprecatedShadowNinja
2015-10-15Remove explicit syslog printing for uncaught exceptions on AndroidShadowNinja
All log operations are now added to the syslog implicitly. Also, pass along mutable string to argument vector for main().
2015-10-14Rename macros with two leading underscoresShadowNinja
These names are reserved for the compiler/library implementations.
2015-10-14Always use errorstream for DEBUG_EXCEPTION_HANDLERShadowNinja
2015-10-14Lower log level for benign socket errorsShadowNinja
2015-10-14Use warningstream for log messages with WARNINGShadowNinja
Remove DTIME macro and its uses, too
2015-10-14Refactor loggingShadowNinja
- Add warning log level - Change debug_log_level setting to enumeration string - Map Irrlicht log events to MT log events - Encapsulate log_* functions and global variables into a class, Logger - Unify dstream with standard logging mechanism - Unify core.debug() with standard core.log() script API
2015-10-12Fix how address is logged when a wrong password is suppliedKahrl
- SRP: print the address only once, not twice - Legacy: previously the address was not printed at all - Make both messages structurally the same, to facilitate log analyzers
2015-10-11Mgfractal: Independant offset and slice params for mandelbrot and juliaparamat
Player now spawns on julia set due to julia offset Add commented-out '#include profiler.h' for timetaker use Use v3fs to reduce number of parameters Tune tunnel width to match mgv7
2015-10-10Fractal mapgen: Fix mysterious bugparamat
2015-10-10Clear list rings when loading a new formspecest31
Fixes a bug where the old list ring remained when a new formspec was displayed over the old one. This created the list-ring of the new formspec to be partly ignored. Thanks to @VanessaE to report the bug, and @DonBatman to produce the code that exposed it.
2015-10-09Mapgen: Use mapgen-specific names for constants in headersparamat
Update copyright years in all mapgens Add myself to copyright notices in mgv5 and mgv7
2015-10-07Fractal mapgen: Add seabed and large pseudorandom cavesparamat
2015-10-06Mapgen: Add 4D fractal mapgenparamat
2015-10-05Mgv5: getGroundLevelAtPoint searches a larger rangeparamat
2015-10-04Add new ContentParamType2 "CPT2_DEGROTATE"est31
This might break some mods, but it is important for all uses of the param2 to be documented. This doesn't need a serialisation version or network protocol version change, as old clients will still work on new servers, and it is bearable to have new clients getting non rotated plants on old servers.
2015-10-04Allow setting chunksize in core.set_mapgen_paramskwolekr
2015-10-04Hide mapgens from main menu not intended for end userskwolekr
2015-10-04Add emerge completion callback mechanismkwolekr
Major refactor of emerge.cpp and Map::init/finishBlockMake
2015-10-04Remove redundant code in player interact handlerkwolekr
2015-10-04Define and use limit constants for Irrlicht fixed-width typeskwolekr
2015-10-03Fix MinGW 32-bit buildShadowNinja
2015-10-02Add get_biome_id(biome_name) callbackDuane Robertson
It returns the index used in mg->biomemap for a given biome name. The biomemap is useless without this unless you re-register all existing biomes, which could cause problems for anyone else trying to use biomemap. With this, you can quickly create a lookup table of ids and names.
2015-10-02Add environment variable MINETEST_WORLD_PATHSmallJoker
Also add PATH_DELIM for Windows compatibility.
2015-10-02Mapnode: Replace rotateAlongYAxis with improved versionparamat
Get facedir by using lowest 5 bits of param2 and limiting to 23 More robust, frees up higher param2 bits for other uses Change lookup table and table index to u8
2015-09-30Fix some SRP issuesest31
-> Remove memory allocation bugs -> Merge changes from upstream, enabling customizeable memory allocation
2015-09-29Some map border related fixesest31
1. Check for entity addition success in spawn_item implementation 2. Check for success in item_drop callback, so that the player doesn't lose the item if they are outside bounds and try to drop it. 3. When existing player joins game, check that their position is inside map bounds. If not, set their position to the return value of findSpawnPos(). 4. Make findSpawnPos() respect the border 2 fixes a lua crash if a player drops an item outside map bounds. 3 fixes an assertion crash if a player leaves when being outside map bounds, and then rejoins.
2015-09-29Don't serialize StaticObjectList with > 65535 objectsKahrl
Because the count is serialized as u16, this would cause overflow. If minetest later deserialized a mapblock with an incorrect static object count, it would be unable to find the NameIdMapping (which comes after the StaticObjectList) and abort with an error such as "Invalid block data in database: unsupported NameIdMapping version" (issue #2610).
2015-09-26Decorations: Remove error message 'chunksize not divisable by sidelen'paramat
Sidelen larger than 16 is essential for low density decorations With sidelen > 16 chunksize may not be divisable by sidelen if chunksize is changed, in this situation setting sidelen = chunksize is desirable and should not create error messages.
2015-09-27Abort at uncatched exceptionsest31
Change a remaining assert(0) call to FATAL_ERROR(msg). There was a regression since commit ced6d20295a8263757d57c02a07ffcb66688a163 "For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives" where when an "uncatched" exception is thrown inside a "side thread", the program doesn't abort anymore. This led to the problem @netinetwalker experienced where the emergethread got an unhandled exception for loading a mapblock while redis was loading, (see #3196) and then jmped outside its loop to work down its queue. This resulted in the server not doing any emerges anymore.
2015-09-26Fix redis erroring on non found blocksest31
Thanks to @netinetwalker for spotting the error, proposing a fix, and testing it. Error due to @est31's merging changes to PR #3202 to add more error reporting for invalid reply types, commit: 524a7656e3e5cd671b05c13e2ad69cb84bad0423 "redis: throw error if block request failed" Now we branch out on the valid reply type "not found".
2015-09-26Fix falling through nodes on world load (fixes #2784)Christof Kaufmann
On world load the collision code can not see node boxes, since the nodes have not been loaded. Thus it collided only at the next full node. However, standing on a slab on world load leaded to sinking into it until the world finished loading. Then one maybe fell further, if the node below was not walkable. Now, with this commit, when no node around the player has been loaded it simply does not move the player.
2015-09-26redis: throw error if block request failednetinetwalker
Fixes #3196. Before, we didn't throw an error, and the engine thought the block isn't occupied. But in fact it might be that redis is still loading, and the block does exist in the database. The result was a cheesy map.
2015-09-23Add /emergeblocks command and core.emerge_area() Lua APIkwolekr
2015-09-23Save and remove player by pointerLoic Blot
Why doing things simple ? Use pointer instead of strings to save players and remove them. Saving players by name does a lookup to find pointer we already have ! Idem with removePlayer Also remove unused removePlayer(peer_id), it's never called
2015-09-22Mapnode: Add rotateAlongYAxisFull supporting 24 facedirsparamat
2015-09-19Various style cleanups + unused code removalest31
-> Don't pass pointer to whole IGameDef to NodeMetadata constructors and deserializers, but only to IItemDefManager, which is needed -> Remove the unused content_mapnode_get_new_name() method -> Fix style for MapBlock::deSerialize and MapBlock::deSerialize_pre22, improving accuracy of error messages a bit -> Fix style at other serialisation methods too -> Improve accuracy of some comments
2015-09-19Little optimization on getAdded/Removed activeobjects per player loop.Loic Blot
Use std::queue instead of std::set, we don't need such a heavy container. Don't convert position to int to convert it back to float in the next function.
2015-09-19Mgv5/6/7: Re-add #include profiler.h as commented-out optionparamat
2015-09-19Blob ore: Fix partial blobsparamat
2015-09-17Send proper block to old clients for swap_node callsest31
The legacy code added in commit d879a539cd19ddd1ee34afec2512fb2238de2822 - "Add minetest.swap_node" for sending the whole mapblock to older clients on the case of a node modification with swap_node, had the problem that the block chosen to be sent to the client was referenced with node coordinates and not with block coordinates, resulting in getting the wrong block sent to the client.