- Oct 02, 2015
-
-
SmallJoker authored
Also add PATH_DELIM for Windows compatibility.
-
paramat authored
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
-
- Sep 30, 2015
-
-
est31 authored
-> Remove memory allocation bugs -> Merge changes from upstream, enabling customizeable memory allocation
-
- Sep 29, 2015
-
-
est31 authored
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.
-
Kahrl authored
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).
-
- Sep 27, 2015
-
-
paramat authored
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.
-
est31 authored
Change a remaining assert(0) call to FATAL_ERROR(msg). There was a regression since commit ced6d202 "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.
-
- Sep 26, 2015
-
-
est31 authored
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: 524a7656 "redis: throw error if block request failed" Now we branch out on the valid reply type "not found".
-
Christof Kaufmann authored
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.
-
netinetwalker authored
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.
-
- Sep 23, 2015
- Sep 22, 2015
-
-
paramat authored
-
- Sep 19, 2015
-
-
est31 authored
-> 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
-
Loïc Blot authored
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.
-
paramat authored
-
paramat authored
-
- Sep 17, 2015
-
-
est31 authored
The legacy code added in commit d879a539 - "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.
-
kwolekr authored
-
- Sep 16, 2015
-
-
est31 authored
Borders have to be converted into BS format in order to be accurately comparable to object positions.
-
- Sep 15, 2015
-
-
est31 authored
Entity positions are serialized as F1000. Disallow placing entities outside safe borders with the minetest.add_entity call. Note that this patch only enforces those boundaries for placing entities, moving entities that move outside boundaries aren't affected. Thanks to @nanepiwo for pointing this out.
-
- Sep 14, 2015
-
-
paramat authored
Remove unusable fine rotation by param2 Remove unused and redundant code Fix code style issues
-
est31 authored
1. Do two renames: * SER_FMT_CLIENT_VER_LOWEST -> SER_FMT_VER_LOWEST_WRITE * SER_FMT_VER_LOWEST -> SER_FMT_VER_LOWEST_READ Now the two define values are consistently named with the _WRITE defines SER_FMT_VER_{HIGHEST,LOWEST}_WRITE, and to better point out what the two serialisation versions actually are for. 2. wrap some lines in doc/worldformat.txt, and point out that the node timers are serialized at a later point, as this can cause confusion about what now happens (if one doesn't strictly read the if block's conditions). 3. some whitespace fixes in NodeTimerList::serialize, and one new comment.
-
- Sep 13, 2015
-
-
kwolekr authored
Modders are now able to select the range of ore column height, and the midpoint at which they 'grow' starting from. This commit adds three new parameters for the 'sheet' ore type: column_height_min, column_height_max, and column_midpoint_factor. clust_size is now deprecated for this ore type.
-
- Sep 10, 2015
-
-
est31 authored
Its obvious that "u16 command" is inside every packet, therefore this commit removes all mentions of the command, if non-array like notation is used. We already didn't add "u16 command" to new packets or removed it at packet changes, so now we remove it from existing packets.
-
est31 authored
Use in-place locale directory if that exists, and static one (RUN_IN_PLACE or CUSTOM_LOCALEDIR) doesn't exist. Report to errorstream if neither static nor in-place locale dirs exist, and report successfully found paths to infostreem. Fixes two bugs: -> Regression of commit [1] where if we use RUN_IN_PLACE=false, but don't make install, locales aren't found. One might think this is no regression, as its no bug, but all other paths (mainmenu, etc.) are detected properly. -> Regression of commit [1] where locales don't work on windows. References: [1]: Commit 645e2086 "Use CUSTOM_LOCALEDIR if specified" by @ShadowNinja
-
- Sep 08, 2015
-
-
Loïc Blot authored
As indicated in its name, m_client_event_queue should be a queue. Change std::list to std::queue to improve the queue's performance.
-
- Sep 07, 2015
-
-
paramat authored
-
- Sep 06, 2015
-
-
ShadowNinja authored
-
Pavel Puchkin authored
Commit e4bff8be - Clean up threading by @ShadowNinja has broken the OSX build. Including things inside a namespace isn't good. Also fixes #3124.
-
- Sep 03, 2015
-
-
est31 authored
Before, calling get_areas_in_area for an areastore with both include_borders and include_data would result in a lua error, if there was at least one area as result: attempt to index a number value in function 'get_areas_in_area'
-
- Sep 01, 2015
-
-
ShadowNinja authored
-
ShadowNinja authored
-
est31 authored
-
jh10001 authored
Also remove trailing whitespaces from the file
-
- Aug 31, 2015
-
-
est31 authored
Fixes minetest.get_player_information segfault due to out of bounds access problems, when compiled as debug build.
-
- Aug 30, 2015
-
-
est31 authored
The commit 8f9af573 "Add core.get_dir_list" by @ShadowNinja has removed the implementation of the l_get_dirlist function and all its usages from the l_mainmenu.cpp file, but hasn't removed it from the header file. The reason why this hasn't been detected earlier is that C++ has this interesting feature to still make it possible to create instances of classes whose never used private methods are declared but not defined.
-
Gael-de-Sailly authored
-
- Aug 29, 2015
-
-
paramat authored
Preserves the rare unbroken protruding dungeons Fix random range for first room roomplace Fix checked volume for first room 'fits' bool and check for 'untouchable' flag instead of 'inside' Remove 'enable floating dungeons' setting
-
- Aug 27, 2015
-
-
Kahrl authored
Fixes "double fault" / "error in error handling" messages (issue #1423) and instead shows a complete backtrace.
-