aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Remove unused function in ReliablePacketBuffersfan52019-08-16
|
* Minor refactor of IncomingSplitBuffersfan52019-08-16
|
* Drop m_list_size from ReliablePacketBuffersfan52019-08-16
| | | | It's not required and, worse, can lead to bugs.
* Mapgen v6: Fix mudflow iteration and iterate twice (#8795)Paramat2019-08-15
| | | | | | | | | | In MapgenV6::flowMud(), the previous implementation of coordinate inversion caused the 2 inverted mudflow iterations (out of the 3 iterations) to not loop over the area, so only 1 non-inverted iteration occurred. Fix this bug but only iterate mudflow twice, as mapgen v6 has only had 1 iteration for many years. There is now a good balance of 1 non-inverted iteration and 1 inverted iteration.
* network: Stricter handling of split packetssfan52019-08-15
|
* network: Fix crash in ReliablePacketBuffer on mismatching packetssfan52019-08-15
| | | | | In the error condition the exception would be thrown before m_list_size is decremented, causing a nullptr dereference in e.g. popFirst().
* Add function `minetest.read_schematic`upsilon2019-08-14
|
* Fix unnecessary exception use in 3 more methods (#8791)Jozef Behran2019-08-13
| | | | | | | | | | | | | | | | | | | | | | | | * Fix unnecessary exception use in Server::SendBlocks The code in this method calls getBlockNoCreate and then messes around with try...catch to skip blocks which are not in the memory. Additionally, it repeatedly calls m_env.getMap() inside this loop. Speed the code up by extracting the m_env.getMap() out of the loop and getting rid of the try...catch. * Fix unnecessary exception use in Server::SendBlock Another unnecessary try...catch is slowing down Server::SendBlock. Remove that to speed it up and get a nice side effect of simplifying the code in question. * Fix unnecessary exception use in MMVManip::initialEmerge Remove another unneeded exception usage from MMVManip::initialEmerge to speed that code up and simplify it but be careful to not remove the braces as there is a TimeTaker in use there.
* Fix unnecessary exception use in Map::getSectorXXX (#8792)Jozef Behran2019-08-13
| | | | | | | The Map::getSectorNoGenerate throws an exception but no other code is really dependent on that. Fix the odd instance of misuse in ClientMap::emergeSector and remove the exception throwing version of the method along with the "NoEx" suffixes in the names of these methods.
* Better F6 profiler (#8750)SmallJoker2019-08-13
| | | | | | | Update the profiler names to make more sense of what they actually represent Move the profiler code from header to its source file Use monospace font to align lines Format the statistics line to align better with surrounding values Refresh the profiler each 3 seconds (roughly)
* Fix unnecessary exception use in Map::isNodeUndergroundJozef Behran2019-08-13
| | | | | | | | | | The isNodeUnderground calls getBlockNoCreate which calls getBlockNoCreateNoEx and throws InvalidPositionException if the returned value is nullptr, which isNodeUnderground then catches to return "false". Remove the try..catch in isNodeUnderground by calling getBlockNoCreateNoEx instead of getBlockNoCreate and checking the returned value for nullptr.
* Fix compare between pointer and 0 in unittestsJozef Behran2019-08-13
| | | | | | Pointers shall be set to nullptr, not 0, according to the coding standards. By implication they shall be compared with nullptr, not 0, too. Fix this code to match that.
* Clear old item groups when they are overridden. (#8753)Beha2019-08-12
| | | | | | | This fixes overridden items keeping their old groups in the group to items mapping even after their groups have been changed in lua. It also prevents a more widespread issue where overriding an item will add its content ID *twice* to the mapping, resulting in odd behaviour in features such as ABMs.
* Add support for set_formspec_prepend in main menu (#8611)rubenwardy2019-08-12
|
* Handle multiple deserialization of a block's entitiesRogier2019-08-12
| | | | | | | | | | | | | | | | | This fix consists of two parts: - Clear the list of stored entities. This has no side-effects. - Catch the case where active entities exist and print a message. Clearing the active entitiy list has side-effects that should be handled. (those entities are known to the environment and to clients). As avoiding those side-effects is more complex, and as this problem is not expected to occur (with PR #4847 merged), there is no real incentive to implement this ATM. This issue was a contributing factor to bug #4217. With the other contributing factor removed (PR #4847), this commit makes sure this factor does not go unnoticed if it ever happens again.
* Fix breakage of non-GLES2 setups (#8774)Jozef Behran2019-08-10
| | | | | | | | | | | The commit 526a9e4b66abaf83eb6b1aaa3e93375acd87b830 breaks the non-GLES2 setups because the code that is intended to handle that is behind "elseif()" which is interpreted as "elseif(false)" and thus the code never gets executed. Fix that by changing the offending line to else(). Additionally, to avoid breaking the server only build (which shall not have a dependency on GL/GLU/GLES at all), enclose the entire block code in if(BUILD_CLIENT).
* Fix some issues with minetest.clear_craft (#8712)Paul Ouellette2019-08-10
| | | | | | | | | | | * Fix some issues with minetest.clear_craft - Fix memory leak - Fix crafts with an output count not being cleared when clearing by input. - Fix recipe list being reversed when clearing by input. * Add CraftInput::empty()
* Merge pull request #8776 from osjc/FixGetNodeJozef Behran2019-08-10
| | | Finish getNode cleanup
* Implement adding velocity to player from Luasfan52019-08-10
| | | | The intended usecase is knockback, but there's potential for more.
* Allow customizing chat message format (#8529)ANAND2019-08-08
|
* guiVolumeChange: Fix child not being removedANAND2019-08-08
|
* Avoid crash caused by, and improve, 'findSpawnPos()' (#8728)Paramat2019-08-07
| | | | | | | | | | | | | | | | Avoid an unsuitable spawn position (which if outside mapgen limits can cause a crash) if the main 0-3999 loop reaches its end. Fallback to a spawn at 0,0,0. Check the mapgen-returned 'spawn_level' value for being outside limits. When 'air_count' reaches 2, move back down 1 to spawn in the lower empty node. If the spawn position is disallowed by 'objectpos_over_limit()', 'break' from loop instead of 'continue' because positions above are probably also over limit. Reset 'air_count' to 0 if an obstruction is found, to make 'air_count' consecutive empty nodes. Allow spawn in 'airlike' drawtype nodes such as mod-added vacuum, alien atmospheres, fog etc. Add clarifying comments and improve codestyle.
* Game: Fix double BS multiplicationSmallJoker2019-08-07
|
* Client::Interact: Use InteractAction enum instead of numeric constantsANAND2019-08-07
| | | | This replaces the magic numbers used as interaction modes both client-side and server-side, primarily for the sake of ease-of-readability.
* Unify wield item handling (#8677)SmallJoker2019-08-07
| | | | This moves the wield item functions to Player and the tool utils for range calculation Also 'local_inventory' was removed due to redundancy in Client
* guiConfirmRegistration: Set focus to text field (#8761)ANAND2019-08-07
|
* Hide chat when console is open (#8656)ANAND2019-08-07
|
* Fix inventory_overlay for nodes without inventory_image (#8433)DS2019-08-07
|
* Optimize usage of TOSERVER_GOTBLOCKS packetsfan52019-08-07
|
* Do not add group values of zero to group lists. (#8751)Beha2019-08-07
| | | | | | | | | | This fixes an issue where when the engine looked up groups (for example, in ABM node names), NodeDefManager's m_group_to_items would contain nodes with a group value of zero, resulting in nodes with flammable = 0 being burned by a fire mod with a group:flammable checking ABM. It brings consistency to the behaviour described in the api documentation, where zero and nil groups should be the same.
* Clean up and fix freetype=false crashes (#8641)SmallJoker2019-08-06
| | | | | A IGUIFont of type bitmap/vector cannot be converted to CGUITTFont Fixes various segfaults in gameplay Shorter font cache code, cleaned up (?)
* Mapgen Flat: Fix and improve getSpawnLevelAtPoint() (#8756)Paramat2019-08-06
| | | | | | Previously, this wrongly returned ground level (a position containing a solid node) as spawn level. Return ground level + 2 (+ 2 to spawn above biome 'dust' nodes). Improve codestyle and make more consistent with generateTerrain().
* Fix binary-string confusion in client network codesfan52019-08-04
|
* Unify GLES support in gui scaling filtersfan52019-08-04
|
* Unify OpenGL ES supportsfan52019-08-04
|
* Let ENABLE_GLES appear in cmake_config.h and change its functionalitysfan52019-08-04
|
* Add formspec testing to test mod in minimalrubenwardy2019-08-03
|
* Add styles to most elementsrubenwardy2019-08-03
|
* Add style[] tag with button supportrubenwardy2019-08-03
|
* Add custom colorable GUIButton implementationrubenwardy2019-08-03
|
* Fix negative offsets not being supported by container[]rubenwardy2019-08-03
|
* Correct ServerActiveObject's virtual getArmorGroups() to be const.Beha2019-08-01
| | | | | | Due to commit ec3142a , UnitSAO's getArmorGroups() did not match ServerActiveObject's, notably resulting in the lua get_armor_groups() call returning nothing.
* Mainmenu: Use textarea in error formspecsSmallJoker2019-08-01
|
* Group "immortal" also protects players from damageWuzzy2019-08-01
| | | | | | | | | | Document new meaning of immortal=1 for players Disable breathing if player is immortal Hide builtin statbars if player immortal (delayed) Co-authored-by: ClobberXD <ClobberXD@gmail.com>
* Allow toolcaps to override the built-in times for dig_immediatesfan52019-07-31
|
* Sky: Refactor of moon and sun drawing (#8683)Methacrylon2019-07-30
| | | Split sun and moon render parts from the main render function.
* Move the clamping of hp/breath when their maximums change to ↵Beha2019-07-30
| | | | | read_object_properties(). (#8689) This prevents set_properties() calls that have nothing to do with hp_max or breath_max overriding the saved hp before another mod has the chance to set a player's intended hp_max (such as in on_joinplayer).
* Rename guiScrollBar to GUIScrollBarDS-Minetest2019-07-29
|
* ContentCAO: Fix broken attachments on join (#8701)SmallJoker2019-07-29
| | | | | | | | | | | | | What happened: 1) Object data is received. Client begins to read the data 2) Client initializes all its children (gob_cmd_update_infant) 3) Children try to attach to parent (yet not added) 4) Parent initializes, is added to the environment And somewhere in between, Irrlicht wrecks up the attachments due to the missing matrix node. The solution here is to: 1) Use the same structure as ServerActiveObject 2) Attach all children after the parent is really initialized
* guiScrollBar: move directly to clicked pos if clicked into trayDS-Minetest2019-07-28
|