minetest/src/util
Dániel Juhász 3f8261830e Improve getPointedThing() (#4346)
* Improved getPointedThing()

The new algorithm checks every node exactly once.
Now the point and normal vector of the collision is also returned in the
PointedThing (currently they are not used outside of the function).
Now the CNodeDefManager keeps the union of all possible nodeboxes, so
the raycast won't miss any nodes. Also if there are only small
nodeboxes, getPointedThing() is exceptionally fast.
Also adds unit test for VoxelLineIterator.

* Cleanup, code move

This commit moves getPointedThing() and
Client::getSelectedActiveObject() to ClientEnvironment.
The map nodes now can decide which neighbors they are connecting to
(MapNode::getNeighbors()).
2017-01-04 19:18:40 +01:00
..
CMakeLists.txt Add colored text (not only colored chat). 2016-05-31 17:34:29 +02:00
areastore.cpp couple of memory leaks fixes. 2016-08-10 16:59:32 +02:00
areastore.h Add AreaStore custom ID API 2016-03-07 16:33:20 -05:00
auth.cpp Much better API for auth.{cpp, h} 2016-03-15 05:55:49 +01:00
auth.h Add minetest.check_password_entry callback 2016-05-30 23:28:08 +10:00
base64.cpp Move sha1.hpp and base64.hpp to util/ 2015-02-21 14:03:27 +01:00
base64.h Move sha1.hpp and base64.hpp to util/ 2015-02-21 14:03:27 +01:00
basic_macros.h Move PP() and PP2() macros to basic_macros.h 2016-12-24 00:32:50 +00:00
container.h Clean up threading 2015-08-23 22:04:06 -04:00
cpp11_container.h Ensure std::unordered_ be used on MSVC 2010 too (#4600) 2016-10-09 00:25:34 +10:00
directiontables.cpp Update Copyright Years 2013-02-24 20:15:24 +01:00
directiontables.h Update Copyright Years 2013-02-24 20:15:24 +01:00
enriched_string.cpp Add colored text (not only colored chat). 2016-05-31 17:34:29 +02:00
enriched_string.h Add colored text (not only colored chat). 2016-05-31 17:34:29 +02:00
hex.h Move hex.h to util/ 2015-02-21 14:32:35 +01:00
mathconstants.h Define M_PI on MSVC 2012-07-21 03:36:34 +03:00
md32_common.h Make early protocol auth mechanism generic, and add SRP 2015-05-11 18:40:27 +02:00
numeric.cpp Fix incorrect distance computation for visible blocks (#4765) 2016-11-11 18:30:37 +10:00
numeric.h use unordered containers where possible (patch 4 on X) 2016-10-06 22:37:26 +02:00
pointedthing.cpp Improve getPointedThing() (#4346) 2017-01-04 19:18:40 +01:00
pointedthing.h Improve getPointedThing() (#4346) 2017-01-04 19:18:40 +01:00
pointer.h Fix BufferedPacket race condition (fixes #2983) 2015-08-06 02:25:35 -04:00
serialize.cpp Fix misc. MinGW and Valgrind warnings 2015-11-08 16:34:56 -05:00
serialize.h Add macos/freebsd missing endian.h include and add win endianness info 2015-12-29 23:03:30 +01:00
sha1.cpp Move sha1.hpp and base64.hpp to util/ 2015-02-21 14:03:27 +01:00
sha1.h Move sha1.hpp and base64.hpp to util/ 2015-02-21 14:03:27 +01:00
sha2.h Make early protocol auth mechanism generic, and add SRP 2015-05-11 18:40:27 +02:00
sha256.c Check output of mpz_set_str and fix leak on error condition 2015-07-24 22:42:54 +02:00
srp.cpp couple of memory leaks fixes. 2016-08-10 16:59:32 +02:00
srp.h Update CSRP-GMP to commit deaa11a7c29a73008 2016-04-10 14:56:54 +02:00
strfnd.h Clean up Strfnd 2016-03-19 21:27:57 -04:00
string.cpp Random misc. warning fixes and cleanups 2016-06-11 03:23:53 -04:00
string.h Use more unordered_maps to improve performance in c++11 builds 2016-10-06 12:33:35 +02:00
thread.h Rename macros with two leading underscores 2015-10-14 02:39:37 -04:00
timetaker.cpp Fix unit reported by TimeTaker (was always ms) 2014-10-09 11:15:03 +02:00
timetaker.h Add varying levels of precision to TimeTaker 2013-03-29 16:53:15 -04:00