| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
These caused inability to pass through 2 node high spaces or step up onto slabs
or steps when a new client connected to an older server.
|
|
|
|
|
|
|
|
| |
* read_schematic_replacements: ensure fields are strings
add a type check before reading strings on read_schematic_replacements deserializer
* throw LuaError instead of asserting the whole client
|
|
|
|
|
|
|
|
|
|
|
| |
Recent commit 45ab62d6a3d90ab3b97aec88251a766cb5dd1899 had a coding error that
made climbing out of water difficult due to an incorrect value of the step height
when not 'touching ground'.
It also incorrectly multiplied the custom stepheight by BS, resulting in being
able to step-up 2 nodes if set to the default of 0.6, or even 0.3.
Also the implementation was wrong because it customised the step height when
not 'touching ground', this step height is for a slight rise when catching the
edge of a node during a jump, and should always remain at 0.2 * BS.
|
|
|
|
|
|
|
|
|
|
| |
Also remove hardcoded MTGame node.
The 'water surface shader' was duplicated shader code in preparation for
intended new water surface shaders. For development purposes the MTGame node
'default:water_source' had it's top tile assigned to 'water surface shader'.
Due to shader duplication this commit does not cause any change to shader
behaviour.
|
|
|
|
|
|
|
|
|
|
| |
* Player attrs: permits to remove an attribute by setting value to nil
When doing player:set_attribute("attr", nil) remove attribute
Also remove a useless check on C++ API part (already done by checkplayer)
Fix #5709
|
| |
|
|
|
|
|
|
|
|
|
| |
Recent commit b6f4a9c7e1a4f0bac66fd6f6ff844425ac775975 removed a hardcoded
player collisionbox which resulted on falling back to an incorrect default.
This stopped players walking through 2-node high spaces and made the player
slightly wider.
Improve docs for custom player collisionbox feature and reformat nearby lines.
|
|
|
|
|
| |
Related to commit 41c5483. Replace an occurrence of luaL_reg in
src/script/lua_api/l_camera.cpp (added by commit de028fc).
|
| |
|
|
|
|
|
| |
I also optiized FacePositionCache a bit: I removed a map
lookup and vector copy from both branches of getFacePosition.
|
| |
|
|
|
|
|
|
|
| |
This unifies the settings APIs.
This also unifies the sync and async registration APIs, since the async
registration API did not support adding non-functions to the API table.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* [CSM] Add camera API
roper rebase & squash
* Address nerzhul's review
|
| |
|
| |
|
|
|
|
| |
* Fix Android build
|
|
|
|
|
|
|
|
| |
* Save minetest screen width/height options when modified
* Add autosave_screensize setting (default true)
* Fix @SmallJoker comments
|
|
|
|
|
| |
* Add option to also check the center to `find_node_near`
|
|
|
|
|
|
|
|
| |
Fixes issue: #4274
I have tested on MacOS 10.12.4
Requires testing on:
FreeBSD, Windows and Linux which I do not have access to.
|
| |
|
|
|
|
|
| |
'video::SColor pointcolor' was initialised with order RGBA instead of ARGB.
No change in behaviour as 'm_bgcolor' has alpha 255.
|
|
|
|
|
| |
Fix accidental swap of red and blue components that caused reddish clouds
Add missing update of alpha in remoteplayer.cpp
|
| |
|
| |
|
|
|
|
|
|
|
| |
Default true.
Add 'm_clouds_enabled' bool to sky.h, set from new bool in 'set sky' API.
Make 'getCloudsVisible()' depend on 'm_clouds_enabled' instead of
'm_visible' (whether normal sky is visible).
|
|
|
|
|
|
| |
Remove useless `got_teleported`.
Fix jitter when walking against the sneak limits.
Fix damage evading on sneak ladders.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Optimize updateFastFaceRow processing by removing some TileSpec copy
It permit to decrease this function from 54% runtime to 45% and reduce copy from 14% runtime to 12.5%
getTileInfo also reduced from 27% to 23%
* makeFastFace should use a const ref too
this trigger a const pointer need in the underlying function
Also fix some code style and prevent calculating 4 times the same position at a point
* Reduce a comparison cost for lights in updateFastFaceRow
|
| |
|
|
|
| |
Also fix some codestyle issues around it.
|
|
|
|
|
|
|
| |
Instead of create fake events on the stack on each loop call (Game::run), verify is queue is empty or not and handle event directly if there is.
This prevents fake ClientEvent creation & memory allocations
Same fix is also applied on ClientEnvironment, & rename getClientEvent to getClientEnvEvent to match ClientEnvEvent object
|
| |
|
| |
|
|
|
|
| |
* [CSM] Add event on_place_node API lua
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Despite the split of TileSpec into TileDef and TileLayer, the
TileLayer struct is still 66 bytes large, and doesn't fit in
a single cacheline.
I'm moving the color member to cacheline 2, in the hope that it
is less used and the compiler loads all the hot members in a single
cacheline instead. Only color sits now in cacheline 2, all the
other members are in cacheline 1.
Note: is_color is probably rarely set, most nodes will likely
not use hardware coloring, but this may change in the future.
Ideally, this class is shrunk to 64 bytes.
|
|
|
|
| |
* [CSM] add screenshot api lua
|
|
|
|
|
|
| |
This increases size of the getTime return values to 64 bits.
It also removes the TimeGetter classes since the getTime functions
are now very precise.
|
|
|
|
| |
Torches are dug instantly again.
When the digging time is 0, a delay of 0.15 seconds is added between digging nodes. If the left mouse button is released, the delay is set to 0, thus click-digging.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We introduce a new value for "waving" - 2:
0 - waving disabled
1 - wave like a plant
2 - wave like a leave
Plantlike nodes will only allow waving = 1, but for leaves we will
permit both 1 and 2 since current minetest_game sets it to 1 for
all leaves. This makes it somewhat backwards compatible.
For mesh and nodebox, values 1 and 2 are both valid, and the node
can wave in both fashions as desired.
I've tested this with the crops:corn plants, which are mesh nodes,
and the results are really good. The code change is trivial as
well, so I've opted to document the waving parameter in lua_api.txt
because it was missing from there.
Nodeboxes likely will not wave properly unless waving = 2. However
it's possible that waving=1 may be desired by some mod developers
for geometries I have not tried, so the code will not prohibit
either value for mesh and nodebox drawtypes.
Add lua_api.txt documentation for this feature and document both
the existing functionality and the expansion to mesh and nodebox
drawtypes.
|
| |
|
| |
|
| |
|
|
|
|
| |
Client: Don't send `TOSERVER_RECEIVED_MEDIA` since it's not used anymore
Server: Handle `TOSERVER_RECEIVED_MEDIA` using `Server::handleCommand_Deprecated`
|