| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
Store the rotation in the node as a 4x4 transformation matrix internally (through IDummyTransformationSceneNode), which allows more manipulations without losing precision or having gimbal lock issues.
Network rotation is still transmitted as Eulers, though, not as matrix. But it will stay this way in 5.0.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* Use constexpr + unroll some calculations to cache definitively some calculations
* Unroll some calls in collision code & use a constref instead of a copy in one occurence
|
|
|
|
|
|
| |
Based on https://travis-ci.org/minetest/minetest/jobs/361810382 output
Also fix 2 missing copyright notices
|
| |
|
|
|
|
|
| |
This allows the client to retrieve blocks at a greater distance
from the server, thus allowing for a real zoom.
|
|
|
|
| |
* Move files around
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Code modernization: subfolders
Modernize various code on subfolders client, network, script, threading, unittests, util
* empty function
* default constructor/destructor
* for range-based loops
* use emplace_back instead of push_back
* C++ STL header style
* Make connection.cpp readable in a pointed place + typo
|
|
|
|
|
| |
I also optiized FacePositionCache a bit: I removed a map
lookup and vector copy from both branches of getFacePosition.
|
| |
|
|
|
|
|
|
|
|
| |
The client would not compute the distance from the camera to
to a mapblock correctly. The result was that blocks that were in
view (i.e. not beyond the fog limit) would not be rendered.
With the improved distance computation, a range adjustment that
existed in clientiface.cpp is no longer required.
|
|
|
|
| |
Also remove some unused parameters/functions
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Rename everything.
* Strip J prefix.
* Change UpperCamelCase functions to lowerCamelCase.
* Remove global (!) semaphore count mutex on OSX.
* Remove semaphore count getter (unused, unsafe, depended on internal
API functions on Windows, and used a hack on OSX).
* Add `Atomic<type>`.
* Make `Thread` handle thread names.
* Add support for C++11 multi-threading.
* Combine pthread and win32 sources.
* Remove `ThreadStarted` (unused, unneeded).
* Move some includes from the headers to the sources.
* Move all of `Event` into its header (allows inlining with no new includes).
* Make `Event` use `Semaphore` (except on Windows).
* Move some porting functions into `Thread`.
* Integrate logging with `Thread`.
* Add threading test.
|
| |
|
| |
|
|
|
|
| |
Add core.clear_registered_schematics() and refactor schematics somewhat
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected.
In the callgrind map, you will see original:
* 3.3M calls to std::list for 9700 calls to getFacePositions
In the modified version, you will see:
* 3.3K calls to std::list for 6900 call to getFacePositions
Callgrind map is here: #2321
it's a huge performance improvement to l_find_node_near
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|