Commit Graph

718 Commits

Author SHA1 Message Date
hecks
a049e8267f
Remove unused ITextSceneNode header (#11476)
Co-authored-by: hecktest <>
2021-07-22 00:55:20 +02:00
hecks
850293bae6
Remove unused header includes 2021-07-21 22:07:13 +02:00
SmallJoker
40bee27e56 CSM: Do not index files within hidden directories
CSM would previously scan for files within .git or .svn directories, and also special files such as .gitignore
2021-07-17 16:44:06 +02:00
Wuzzy
f4d8cc0f0b
Add wallmounted support for plantlike and plantlike_rooted nodes (#11379) 2021-07-15 21:19:59 +02:00
Wuzzy
b7b5aad027
Fix revoke debug privs not reliably turn off stuff (#11409) 2021-07-12 20:32:18 +02:00
sfan5
5c89a0e12a Fix build on Ubuntu 16.04 and macOS
Apparently the C++ standard library is supposed to provide
specializations of std::hash for enums (even in C++11)
but those don't always work for whatever reason.
2021-07-12 12:03:39 +02:00
x2048
effb5356ca
Avoid draw list and shadow map update in the same frame to reduce dtime jitter (#11393)
* Separate draw list and shadows update to reduce jitter

* Avoid draw list update and shadow update in the same frame

* Force-update shadows when camera offset changes
2021-07-11 10:57:29 -07:00
x2048
f5706d444b
Improve shadow rendering with non-default camera FOV (#11385)
* Adjust minimum filter radius for perspective

* Expand shadow frustum when camera FOV changes, reuse FOV distance adjustment from numeric.cpp

* Read shadow_soft_radius setting as float

* Use adaptive filter radius to accomodate for PSM distortion

* Adjust filter radius for texture resolution
2021-07-11 08:15:19 -07:00
hecks
1d25d1f7ad
Refactor video driver name retrieval (#11413)
Co-authored-by: hecktest <>
2021-07-11 09:50:34 +02:00
hecks
827a7852e2
Remove unsupported video drivers (#11395)
This completely removes any mention of the software and D3D drivers from MT, preventing the user from accidentally attempting to use them. Users who need a software renderer should be asked to install Mesa drivers which offer superior fidelity and performance over the 'burningsvideo' driver.
2021-06-30 20:42:15 +02:00
Wuzzy
63fc728a84
Require 'basic_debug' priv to view gameplay-relevant debug info, require 'debug' priv to view wireframe (#9315)
Fixes #7245.
2021-06-24 21:21:19 +03:00
Wuzzy
51bf4a6e26
Perform some quality assurance for translation strings (#11375) 2021-06-23 17:35:50 +01:00
sfan5
edf098db63 Drop --videomodes, fullscreen_bpp and high_precision_fpu settings
These have been pointless for a while.
2021-06-16 17:41:34 +02:00
Liso
c47313db65
Shadow mapping render pass (#11244)
Co-authored-by: x2048 <codeforsmile@gmail.com>
2021-06-06 18:51:21 +02:00
sfan5
e15cae9fa0 fontengine: Fix crash loading PNG/XML fonts from paths without dot
fixes #11096
2021-06-01 19:47:41 +02:00
sfan5
f30dcdb504 Fix procession ordering issue in content_cao 2021-05-30 11:40:14 +02:00
Wuzzy
ff48619a85 Fix cloud fog being broken for high clouds 2021-05-29 11:44:31 +02:00
savilli
673c29f7ea
Fix client crash on when con::PeerNotFoundException is thrown (#11286) 2021-05-24 19:40:35 +02:00
sfan5
2443f1e235 Fix overlays for 2D-drawn items
fixes #11248
2021-05-08 19:44:43 +02:00
Loic Blot
225d4541ff fix: extractZipFile is not part of Client but more generic.
This solve a crash from mainmenu while extracting the zip
2021-05-06 16:01:52 +02:00
sfan5
08f1a7fbed Use Irrlicht functions to query npot texture support 2021-05-05 22:49:44 +02:00
Loic Blot
de85bc9227 fix: some code tidy about includes & irr namespaces 2021-05-03 19:49:19 +02:00
Loic Blot
48d5abd5be refacto: remove get_gui_env & draw_load_screen from RenderingEngine singleton 2021-05-03 19:49:19 +02:00
Loic Blot
a93712458b fix: don't use RenderingEngine singleton when it's possible 2021-05-03 19:49:19 +02:00
Loic Blot
5a02c376ea refacto: RenderingEngine::get_scene_manager() is now not callable from singleton
This permits to make evidence that we have some bad object passing on various code parts. I fixed majority of them to reduce the scope of passed objects

Unfortunately, for some edge cases i should have to expose ISceneManager from client, this should be fixed in the future when our POO will be cleaner client side (we have a mix of rendering and processing in majority of the client objects, it works but it's not clean)
2021-05-03 19:49:19 +02:00
Loic Blot
ccdd886e27 refacto: Hud: make driver, client, player, inventory, tsrc private & drop unused guienv
also fix c_content.h, on client it includes the src/client/hud.h instead of src/hud.h, which leads to wrong file dependency on the lua stack
2021-05-03 19:49:19 +02:00
Loic Blot
a47a00228b refacto: drop unused Hud::smgr 2021-05-03 19:49:19 +02:00
Loic Blot
809e68fdc0 refacto: don't use RenderingEngine singleton on CAO
* we don't need on CAO side more than SceneManager, and temporary. Pass only required SceneManager as a parameter to build CAO and add them to the current scene
* Use temporary the RenderingEngine singleton from ClientEnvironment, waitfor for better solution
* Make ClientActiveObject::addToScene virtual function mandatory to be defined by children to ensure we don't forget to properly define it
2021-05-03 19:49:19 +02:00
Loic Blot
1bc855646e refacto: protect some RenderingEngine::get_scene_manager
* protect it from Camera, Sky, ClientMap object calls
* rename Game::sky to Game::m_sky
2021-05-03 19:49:19 +02:00
Loic Blot
258101a910 refacto: RenderingEngine is now better hidden
* No more access to the singleton instance from everywhere (RenderingEngine::get_instance dropped)
* RenderingEngine::get_timer_time is now non static
* RenderingEngine::draw_menu_scene is now non static
* RenderingEngine::draw_scene is now non static
* RenderingEngine::{initialize,finalize} are now non static
* RenderingEngine::run is now non static
* RenderingEngine::getWindowSize now have a static helper. It was mandatory to hide the global get_instance access
2021-05-03 19:49:19 +02:00
Loic Blot
74125a74d3 refacto: hide mesh_cache inside the rendering engine
This permit cleaner access to meshCache and ensure we don't access to it from all the code
2021-05-03 19:49:19 +02:00
Loic Blot
e0716384d6 refacto: add RenderingEngine::cleanupMeshCache
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
2021-05-03 19:49:19 +02:00
Loic Blot
e34d28af9f refacto: rendering engine singleton removal step 1 (filesystem)
Make the RenderingEngine filesystem member non accessible from everywhere

This permits also to determine that some lua code has directly a logic to extract zip file. Move this logic inside client, it's not the lua stack role to perform a such complex operation

Found also another irrlicht <1.8 compat code to remove
2021-05-03 19:49:19 +02:00
Loic Blot
bc1888ff21 fix: drop old irrlicht <1.8 compat on Client::loadMedia 2021-05-03 19:49:19 +02:00
sfan5
1da73418cd
Enable cleanTransparent filter for mipmapping and improve its' algorithm (#11145) 2021-04-20 19:50:19 +02:00
Wuzzy
90a7bd6a0a
Put torch/signlike node on floor if no paramtype2 (#11074) 2021-04-20 19:50:03 +02:00
Seth Traverse
16e5b39e1d
Add a key to toggle map block bounds (#11172)
It's often useful to know where the map block boundaries are for doing server admin work and the like.
Adds three modes: single mapblock, range of 5, and disabled.
2021-04-20 19:23:31 +02:00
sfan5
0077982fb7
GLES fixes (#11205)
* Consistently set float precision for GLES

* Enable DPI scaling on Windows+GLES
2021-04-18 16:07:13 +02:00
Wuzzy
4b8209d9a4
Modifying fall damage via armor group (#11080)
Adds a new fall_damage_add_percent armor group which influences the fall damage in addition to the existing node group.
2021-04-11 17:09:37 +02:00
Wuzzy
e89e6c8380 Don't reseed stars when changing star count 2021-04-09 22:33:45 +02:00
sfan5
19c283546c Don't apply connection timeout limit to locally hosted servers
fixes #11085
2021-04-05 15:21:43 +02:00
SmallJoker
c11208c4b5
Game: Scale damage flash to max HP
The flash intensity is calculated proportionally to the maximal HP.
2021-04-05 13:38:50 +02:00
sfan5
f0bad0e2ba
Reserve vectors before pushing and other code quality changes (#11161) 2021-04-05 13:38:31 +02:00
sfan5
34888a914e
Sort out cURL timeouts and increase default 2021-04-02 00:19:39 +02:00
sfan5
1e4913cd76
Irrlicht support code maintenance 2021-03-31 13:15:47 +02:00
sfan5
0d90ed6d92
Draw items as 2D images (instead of meshes) when possible 2021-03-30 21:50:39 +02:00
SmallJoker
f4118a4fde
Consistent title bar + render information in mainmenu (#10764) 2021-03-30 21:49:15 +02:00
Wuzzy
6c9be39db0
Fix wield image of plantlike_rooted (#11067) 2021-03-30 00:27:46 +02:00
Vitaliy
3b78a22371
Degrotate support for mesh nodes (#7840) 2021-03-30 00:25:11 +02:00
sfan5
8d89f5f0cc
Replace fallback font nonsense with automatic per-glyph fallback (#11084) 2021-03-29 19:55:24 +02:00
Desour
437d011968 Fix attached-to-object sounds having a higher reference distance 2021-03-23 15:43:40 +01:00
Vitaliy
44ed05ddf0
Restore minimal normal texture support (for minimap shading) 2021-03-21 23:22:22 +01:00
Elias Åström
59a1b53d67
Scale mouse/joystick sensitivity depending on FOV (#11007) 2021-03-19 21:43:01 +01:00
Jean-Patrick Guerrero
285ba74723
GUIScene: Clear depth buffer + replace deprecated clearZBuffer calls 2021-03-16 23:28:16 +01:00
Jean-Patrick Guerrero
66b5c08664 Fix deprecated calls with Irrlicht 1.9 2021-03-16 23:27:15 +01:00
sfan5
051bc9e662 Enable Irrlicht debug logging with --trace 2021-03-12 20:56:02 +01:00
sfan5
1bc85a47cb Avoid unnecessary copies during media/mesh loading 2021-03-12 20:56:02 +01:00
sfan5
cff35cf0b3 Handle mesh load failure without crashing 2021-03-12 20:56:02 +01:00
sfan5
3579dd2186 Restore Irrlicht 1.9 support 2021-03-09 21:53:17 +01:00
sfan5
bf8fb2672e
Use place_param2 client-side for item appearance & prediction (#11024) 2021-03-09 00:56:53 +01:00
sfan5
593d5f4465 Clean up ClientEvent hudadd/hudchange internals 2021-03-06 23:02:10 +01:00
Vitaliy
abb0c99a6c Pause animations while game is paused (#10658)
Pauses all mesh animations while game is paused.
2021-03-05 16:30:01 +01:00
hecks
225e69063f
Keep mapblocks in memory if they're in range (#10714)
Some other minor parts of clientmap.cpp have been cleaned up along the way
2021-02-26 21:23:46 +01:00
savilli
3edb1ddb81
Fix hud_change and hud_remove after hud_add (#10997) 2021-02-26 21:21:20 +01:00
Wuzzy
827224635b
Use "Aux1" key name consistently everywhere 2021-02-24 11:45:30 +01:00
sfan5
9b59b2f75d Fix keyWasDown in input handler
This was changed 291a6b70d674d9003f522b5875a60f7e2753e32b but should have never been done.
2021-02-23 19:41:38 +01:00
SmallJoker
bce875fada Minimap: Fix default label translations 2021-02-22 20:25:16 +01:00
Wuzzy
e441ab9675
Fix world-aligned node rendering at bottom (#10742) 2021-02-19 19:45:36 +01:00
rubenwardy
f85e9ab925
Add nametag background setting and object property (#10937) 2021-02-17 19:51:28 +00:00
sfan5
f018737b06 Fix segfault with invalid texture strings and minimap enabled
closes #10949
2021-02-14 11:28:02 +01:00
Jean-Patrick Guerrero
1d64e6537c Pause menu: Fix segfault on u/down key input 2021-02-08 18:56:51 +01:00
Muhammad Rifqi Priyo Susanto
3ac07ad34d
Fall back to default when rendering mode (3d_mode) is set invalid (#10922) 2021-02-06 13:47:12 +01:00
k.h.lai
2072afb72b
Fix memory leak detected by address sanitizer (#10896) 2021-02-02 20:56:24 +01:00
sfan5
c834d2ab25 Drop wide/narrow conversion functions
The only valid usecase for these is interfacing with OS APIs
that want a locale/OS-specific multibyte encoding.
But they weren't used for that anywhere, instead UTF-8 is pretty
much assumed when it comes to that.
Since these are only a potential source of bugs and do not fulfil
their purpose at all, drop them entirely.
2021-02-02 20:46:08 +01:00
sfan5
fd1c1a755e Readd Client::sendPlayerPos optimization (was part of 81c7f0a)
This reverts commit b49dfa92ce3ef37b1b73698906c64191fb47e226.
2021-01-31 20:38:12 +01:00
SmallJoker
2760371d8e Settings: Purge getDefault, clean FontEngine 2021-01-29 17:32:35 +01:00
Vitaliy
ed0882fd58
Include irrlichttypes.h first to work around Irrlicht#433 (#10872)
Fixes the PcgRandom::PcgRandom linker issue, caused by inconsistent data type definition.
2021-01-28 21:25:13 +01:00
rubenwardy
4c76239818
Remove dead code (#10845) 2021-01-22 15:09:26 +00:00
rubenwardy
67aa75d444
Use JSON for favorites, move server list code to Lua (#10085)
Co-authored-by: sfan5 <sfan5@live.de>
2021-01-22 15:08:57 +00:00
Wuzzy
7f25823bd4
Allow "liquid" and "flowingliquid" drawtypes even if liquidtype=none (#10737) 2021-01-21 00:51:24 +01:00
sfan5
74762470b2 Fix some minor code issues all over the place 2020-12-24 13:44:54 +01:00
Lars
289425f6bd Minor profiler fixes. 2020-12-23 14:48:08 -08:00
Markus
af22dd86e3
Fix some more joystick issues (#10624) 2020-12-19 22:01:05 +01:00
Vitaliy
ccbf8029ea
Cleanup shader generation code (#10663)
Shader generation is a mess. This commit cleans some parts up, including dropping remains of HLSL support which was never actually implemented.
2020-12-19 20:57:10 +01:00
Zughy
4d41ed0975
Semi-transparent background for nametags (#10152) 2020-12-14 23:49:30 +01:00
hecks
6d7067fd37
Implement mapblock camera offset correctly (#10702)
Implement mapblock camera offset correctly - reduce client jitter

Co-authored-by: hecktest <>
2020-12-05 15:03:40 -08:00
SmallJoker
3176daee79 Input: Fix on_rightclick called when placing into air 2020-11-29 19:20:45 +01:00
sfan5
868749b4f8 Return star color calculation to what it previously was 2020-11-26 22:17:11 +01:00
numzero
8689e00fca Fix style 2020-11-26 12:49:10 -08:00
numzero
c158e20e5b Provide fallback star color for GLES 2 with MT shaders disabled 2020-11-26 12:49:10 -08:00
numzero
cdcf7dca7c Sky: support GLES2
IrrLicht built-in shader is broken, have to write my own
2020-11-26 12:49:10 -08:00
numzero
be59668f47 Allow missing shaders 2020-11-26 12:49:10 -08:00
numzero
d7cf40a0ce Replace TriangleFan as poorly supported 2020-11-26 12:49:10 -08:00
numzero
560627eef8 Reuse seed when updating stars
The only currently relevant parameter is scale which can now be changed
without resetting stars position
2020-11-26 12:49:10 -08:00
numzero
3077afc0a2 Store stars in a single static mesh buffer 2020-11-26 12:49:10 -08:00
numzero
89cc5bf537 Don't evaluate things many times 2020-11-26 12:49:10 -08:00
numzero
095f82692d Batch cloud drawing 2020-11-26 12:49:10 -08:00
Lars
8dc70ebb93 Fix camera panning glitches (partially revert 10489.) 2020-11-25 14:22:36 -08:00
Pierre-Yves Rollo
78273027bf Add sound to press event of some formspecs elements (#10402) 2020-11-23 21:28:25 +01:00
sfan5
b504a1aa4b Fix player sprite visibility in first person
closes #10525
2020-11-12 21:08:26 +01:00
sfan5
c441baa91b Fix overloaded virtual warnings with get/setAttachment() 2020-11-12 21:08:26 +01:00
SmallJoker
68139a28eb
Revert "Replace MyEventReceiver KeyList with std::unordered_set" (#10622)
This reverts commit 787561b29afdbc78769f68c2f5c4f2cff1b32340.
2020-11-12 19:16:02 +01:00
Markus Koch
e1142ee57f Joystick: Remap joystick-specific KeyTypes to generic ones
According to the following table:
	* MOUSE_L     -> DIG
	* MOUSE_R     -> PLACE
	* SCROLL_UP   -> HOTBAR_NEXT
	* SCROLL_DOWN -> HOTBAR_PREV

This commit entirely removes the special KeyTypes used for joysticks.

Support for the MOUSE KeyTypes had already been removed in the main
game code without adapting the joystick code, breaking joystick
input. This commit restores joystick functionality.
2020-11-09 11:58:50 +01:00
SmallJoker
c940a57a38 ContentCAO: Fix segfault when minimap is disabled 2020-11-08 11:30:16 +01:00
sfan5
627c22c36e Fix integer-string conversion for shaders
closes #10605
2020-11-05 19:34:40 +01:00
Lars Müller
e3bd6704a0
Revert "Fix short 180 degree rotation when using set_bone_position (#10405)" (#10534)
This reverts commit 0f98b54aa4b2361575002d92b29fe222703ba557.
2020-11-04 21:43:32 +01:00
Lars Müller
2dff3dd03f
Player physics: Ensure larger dtime simulation steps (#10563) 2020-10-29 20:15:46 +01:00
Oblomov
a701d24a00
Show RTT in ms with 2 digits of precision (#10573)
If your ping is in seconds, you probably have other problems.
2020-10-29 20:09:59 +01:00
Vitaliy
707c8c1e95
Shaders for Android (GLES 2) (#10506)
Shader support for OpenGL ES 2 devices (Android)

Co-authored-by: sfan5 <sfan5@live.de>
2020-10-25 18:01:03 +01:00
Maksim
5c0a57f606
Fix Media... 0% on loading screen (#9478) 2020-10-21 20:42:40 +01:00
sfan5
c7aa92aaed Fix show_on_minimap default value for local player
fixes #10526
2020-10-20 16:36:05 +02:00
sfan5
660115c1ab
Decouple entity minimap markers from nametags replacing with show_on_minimap property (#10443) 2020-10-19 20:38:15 +02:00
Lars
b826e39730 Minor clientmap improvements.
- Avoid calculating isBlockInSight for blocks without meshes.
- Add metric for how many blocks the client has currently loaded.
- Make some variables constant.
2020-10-19 09:31:09 -07:00
Lars
738f624218 Periodically release all mesh HW buffers to avoid an Irrlicht bottleneck. 2020-10-17 13:22:30 -07:00
Lars
ed22260822 Remove all bump mapping and parallax occlusion related code. 2020-10-17 13:09:16 -07:00
Lars
521a04222a Avoid drawing invisible blocks on the client. 2020-10-13 09:30:59 -07:00
Zughy
a37e96eefc
-Wmem-access only called when GCC > 7 (#10453) 2020-10-06 20:51:27 +02:00
SmallJoker
f46509d5e2
Remove unused functions reported by cppcheck (#10463)
Run unused functions reported by cppcheck

This change removes a few (but not all) unused functions.
Some unused helper functions were not removed due to their complexity and potential of future use.
2020-10-05 09:07:33 +02:00
Pierre-Yves Rollo
81c66d6efb Minimap as HUD element with API control
Features:
 * Define Minimap available modes (surface/radar, scale) from Lua, using player:set_minimap_modes()
 * New HUD elements for displaying minimap with custom size and placing
 * New minimap mode for displaying a texture instead of the map
2020-10-04 15:24:34 +02:00
Jordan Snelling
3068853e8a
Add First Person Attachments (#10360)
Fixes some other third person camera specific attachments.
Implements a single new flag for entities to be forced visible in first person mode.
Old mods do not need to be updated to use the new flag and are fully backwards compatible.
2020-10-04 15:10:34 +02:00
Lars Müller
0f98b54aa4
Fix short 180 degree rotation when using set_bone_position (#10405) 2020-10-04 15:09:12 +02:00
HybridDog
9dc29a75b4
Reduce the FPS when the window is unfocused (#8837) 2020-10-03 17:33:51 +01:00
SmallJoker
947466ab28 (se)SerializeString: Include max length in the name
This commit clarifies the maximal length of the serialized strings.
It will avoid accidental use of serializeString() when a larger string can be expected.

Removes unused Wide String serialization functions
2020-10-01 09:52:59 +02:00
Paramat
9bff154cba
Fix horizontal/vertical merging bug of hardware-colored framed glass (#10417)
Previously, the param2-controlled horizontal/vertical merge feature
(which was undocumented and forgotten) was always active, causing
uses of param2 other than "glasslikeliquidlevel" to affect H/V
merging.

Only respect H/V merge bits when paramtype2 = "glasslikeliquidlevel".
H/V merge bits and liquid level bits are designed to be used
simultaneously.
2020-09-24 00:10:50 +01:00
Vincent Robinson
787561b29a
Replace MyEventReceiver KeyList with std::unordered_set (#10419) 2020-09-23 19:12:20 +02:00
Wuzzy
55e2dd911b
Fix chat/infotext overlap if many chat lines (#10399)
Moves the infotext depending on the value of the recent_chat_messages value + 2 additional lines to account for the 2 debug mode lines + 1 additional line as "buffer" for better readability if chat is full.
2020-09-22 18:38:33 +02:00
rubenwardy
9ec75d7765
Clean up server-side translations, remove global variable (#10075) 2020-09-16 14:51:11 +01:00
hecks
fcff9f2911
Remove "generate normal maps" feature (#10313)
Erase all traces of normal "generation" from fragment shaders
Remove the "feature" from the engine and default config
Remove any leftover documentation of it
2020-09-14 19:27:25 +02:00
David CARLIER
62913b872e
Darwin platform build fix (#10376)
the event header seemingly being generic with libevent thus renaming it.
openal and opengl are deprecated on newer mac os releases thus suppressing the build warnings.
2020-09-09 19:12:03 +02:00
Wuzzy
b3ace8f197
Scale inventory image for scaled allfaces nodes (#10225)
The inventory image size of the inventory image of nodes with drawtype allfaces (and related) is scaled as well if visual_scale is set (previously, the inventory image size was always the same)
2020-09-04 20:49:50 +02:00
EvidenceB
5c4b560b68
Add compass HUD element (#9312)
Co-authored-by: Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Co-authored-by: Pierre-Yves Rollo <dev@pyrollo.com>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-08-29 20:13:30 +02:00
Hugues Ross
9976f36b18
Make bgcolor tint button background images (#9818) 2020-08-29 16:41:19 +01:00
mntmn
44c98089cf
shaders: Fix transparency on GC7000L (#10036)
Workaround for the missing GL_ALPHA_TEST implementation in Mesa (etnaviv driver).
2020-08-25 20:49:51 +02:00
Desour
f27cf47779 Properly handle mod-errors in on_shutdown 2020-08-24 19:55:25 +03:00
adrido
3c2890692b
Fix MSVC compiler warnings (#10197) 2020-08-23 15:41:04 +02:00
hecks
5bda36143f
Clean up sound_fade (#10119)
Add proper documentation and correct gain reduction calculations.

Co-authored-by: hecktest <>
2020-08-19 19:26:37 +02:00
ANAND
291a6b70d6 Allow binding dig, place actions to keys; remove LMB/RMB hardcoding
Co-authored-by: Sam Caulfield <sam@samcaulfield.com>
2020-08-15 12:19:20 +03:00
Paul Ouellette
542df11bed
Fix GCC class-memaccess warnings (#10239) 2020-08-01 17:25:33 +02:00
sfan5
9bba52c400
content_cao: Support texture animation for upright_sprite (#10020) 2020-07-30 17:39:57 +02:00
SmallJoker
e5725dfb8e
Allow starting local server using --go again (#10229) 2020-07-29 23:20:01 +02:00
Lars Müller
470f328216
Revert "Get rid of non-ascii characters in the debug display code (#8821)" (#9828)
This reverts commit 4f9ccd89b347dad3db5ce63d3405a8d60c163af5.
2020-07-29 23:17:52 +02:00
Lejo
715a123a33
Add PUT and DELETE request + specific method value to HTTP API (#9909) 2020-07-29 23:16:21 +02:00
Wuzzy
ae83edd165
Play place_failed sound if occupied or cannot attach (#9486) 2020-07-27 19:40:33 +02:00
Wuzzy
808fa5ecb3
Improve default inventory+wield images of node drawtypes (#9299) 2020-07-23 19:54:58 +02:00
LoneWolfHT
88ffd64124 Add object crosshair, disable entity selectionboxes by default (#9523)
Adds new object crosshair base pack texture
2020-07-14 19:13:04 +02:00
SmallJoker
4fa1e03f68
Cleanup ClientLauncher structure (#10160)
Remove duplicated variables and unify the startup data into a new (inherited) struct.
2020-07-14 19:10:37 +02:00
v-rob
2bec83eec0
Add FormSpec font styling options (#9763)
* Add FormSpec font styling options

* Change multiplication to stof

* Remove extraneous check
2020-07-12 09:48:50 +02:00
Lars Müller
d80def5bbf
Bump animation frame count from u8 to u16 (#10054) 2020-07-10 12:12:19 +02:00
sfan5
c6422e0872
Remove std::shared_ptr use in TileLayer (#10090) 2020-07-10 12:11:44 +02:00
TheTermos
ebb721a476 Fix player controls only being applied for the first move 2020-07-07 19:09:23 +02:00
Paramat
dc6318b84a
Apply camera smoothing to 'air stepheight' (#10025)
Recent changes to collision code have changed the behaviour of the 'touching_ground'
bool in movement code. This had the effect of disabling camera smoothing when
'air stepheight' occurred when jumping onto a node while pressing forwards against
the node, causing an unpleasant sharp camera movement.

Rewrite the conditions for camera smoothing such that it is applied when jumping.
2020-07-05 23:45:21 +01:00
hecktest
7be082f9a8
Fix bone-attached entities (#10015) 2020-06-26 00:06:29 +02:00
SmallJoker
57df895cf9 ParticleSpawner: Fix crash when attaching to invisible entity 2020-06-19 19:29:47 +02:00
sfan5
495f7198ef content_cao: Fix behavior of legacy "textures" field for wielditems 2020-06-18 19:36:06 +02:00
Danila Shutov
3a6dfda358
Make shading of CAOs optional (#10033) 2020-06-16 20:48:31 +01:00
Lars Müller
e7e065f553
Exposing the zoom key to Lua API (#9903)
Co-authored-by: Raul Ferriz <raul.ferriz@gmail.com>
2020-06-13 22:46:20 +02:00
sfan5
2424dfe007
Server pushing media at runtime (#9961) 2020-06-13 19:03:26 +02:00
sfan5
3f0cbbc372 Use multiple light positions for CAO lighting 2020-06-11 21:13:26 +02:00
sfan5
f89794108c content_cao: Do not expire visuals for texture updates 2020-06-11 21:12:36 +02:00
sfan5
80d9e9c183 Fix build error on Ubuntu 16.04 (again) 2020-06-10 11:46:14 +02:00
sfan5
64380cf92e Fix build error on Ubuntu 16.04 2020-06-10 10:58:13 +02:00
Danila Shutov
fe3e69eb40
Fix broken coloring of wielditems (#9969)
Fixes a regression that appeared in 5.3.0-dev.
2020-06-09 21:38:09 +02:00
hecktest
09e285f38c
Fix player-to-object attachment teleport bug (#10008)
Fixes two bugs:

 * The camera offset was not applied to an object while detaching, briefly placing the irrlicht matrixnode in world space.
 *  When attaching, the matrixnode's absolute position was evaluated without evaluating the parent first, resulting in zeroed positions.
2020-06-09 19:36:47 +02:00
MoNTE48
b9f618746c TouchScreenGUI: fix some bugs, cleanup 2020-06-09 19:35:25 +02:00
sfan5
0ab580810c Reset touching_ground when in free_move
This corrects local player animation after enabling fly while standing on ground.
2020-06-07 20:45:26 +02:00
Danila Shutov
fe1f72ab0a
Recalculate mesh normals for CAOs (#10000) 2020-06-07 18:14:00 +02:00
SmallJoker
8fc9e7eb11 GenericCAO: Fix glow not working since a08d18a 2020-06-07 14:17:32 +02:00
Vitaliy
e746607d0f
Restore visual_scale support for nodeboxes (and allfaces) (#9906) 2020-06-06 22:25:18 +02:00
Maksim
7ec0e3df35
Fix HUD scaling (#9721)
This resolves HUD scaling issues on Android and desktops with custom DPI settings.
2020-06-05 21:42:33 +02:00
SmallJoker
c1e01bc638
Move shared parameters sending to UnitSAO (#9968)
Better header sorting by topic
Make UnitSAO-specific parameters private
Skip redundant recursive entity sending code (since ~5.2.0)
2020-06-04 19:31:46 +02:00
SmallJoker
a08d18acad
ContentCAO: Update light of all attached entities (#9975) 2020-06-01 19:01:47 +02:00
Hugues Ross
f849917bbe
imageScaleNNAA: Fix image clipping on rect- instead of image dimensions (#9896)
Fixes GUI scaling filters applied on animated images and 9slice backgrounds.
2020-06-01 15:22:04 +02:00
sfan5
4c8e1c3200 Clean up CAO nametag handling and remove deprecated AO_CMD
AO_CMD_UPDATE_NAMETAG_ATTRIBUTES was deprecated in
9eee3c3f465c071bb9908749cf48be3c131a1bdf (0.4.14)
2020-05-29 22:54:50 +02:00
sfan5
db7c262ee8 content_cao: Do not expire visuals when not necessary
fixes #6572
2020-05-29 22:54:50 +02:00
MoNTE48
34862a6442 Add disable_jump check for the player's feet 2020-05-29 22:53:58 +02:00
sfan5
471e567657 Value copy / allocation optimizations mostly in server, SAO and serialize code 2020-05-27 21:58:40 +02:00
SmallJoker
5311a27523 Silence GCC warning in mapblock_mesh
Fixes following warning:
  warning: ‘waving’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2020-05-25 19:10:23 +02:00
SmallJoker
a9b74f4c39
Add chat_font_size setting (#9736)
Default font sizes are used when the setting value is 0 or below (clamped by Settings).
2020-05-24 14:24:13 +02:00
sfan5
f51cf7c68a
Fix two bugs in content_cao
fixes #9889 (backface_culling with visual = "cube")
fixes #9916 (crash with visual = "upright_sprite")
2020-05-24 11:48:51 +02:00
sfan5
9d6e7e48d6 Implement spawning particles with node texture appearance 2020-05-23 22:52:21 +02:00
Awkor
037422fdba
Modernize include guards and add missing ones (#9898) 2020-05-23 13:23:05 +02:00
sfan5
1357ea1da2
Cleanup of particle & particlespawner structures and code (#9893) 2020-05-22 13:23:25 +02:00
Vitaliy
82e4137893
Cache liquid alternative IDs (#8053) 2020-05-20 22:52:10 +01:00
sfan5
c47a680db7 Stop wasting memory on identical textures when texture filtering is disabled 2020-05-20 22:55:51 +02:00
LoneWolfHT
7d3972a504
Add ability to scale HUD text (#9814)
Add 'size' property to HUD text elements that is used for relative font size calculations.
2020-05-19 19:10:39 +02:00
sfan5
52430d34d3 content_mapblock: Move static initialization out of functions 2020-05-17 21:37:01 +02:00
sfan5
be38a44ffe Client: Add sum and average to packetcounter 2020-05-17 21:37:01 +02:00
ANAND
c1ce4be756
Make automatic_rotate relative, allow setting rotation (#8468)
automatic_rotate does not make sense if it is absolute. Make it relative.

To avoid bouncing, set_rotation did not update the client when automatic_rotate was set. That's no longer necessary because the new spinning method applies the rotation on top of the current one, and the updates are necessary for set_rotation to actually transform the object.

Co-authored-by: ANAND <ClobberXD@gmail.com>

Co-authored-by: Pedro Gimeno <pgimeno@users.noreply.notabug.org>
2020-05-16 21:42:31 +02:00
sfan5
36d35f2fe3
CSM: Bugfixes to camera:get_pos() and camera:get_fov()
closes #9857
2020-05-14 21:16:45 +02:00
SmallJoker
836dd4a1e4
Add chat_log_level setting (#9223)
Log all higher levels in LogOutputBuffer
Move StreamLogOutput::logRaw to source file like LogOutputBuffer::logRaw for compiling speed
2020-05-14 19:26:15 +02:00
Lars Müller
9ba24f89f5
Damage texture modifier (#9833)
Adds a new object property "damage_texture_modifier"
2020-05-11 21:41:36 +02:00
Wuzzy
6e1372bd89
Add support for statbar “off state” icons (#9462)
This adds support for optional “off state” icons for statbars. “off state icons” can be used to denote the lack of something, like missing hearts or bubbles.

Add "off state" textures to the builtin statbars.

Co-authored-by: SmallJoker <mk939@ymail.com>
2020-05-11 21:40:45 +02:00
TheTermos
7cb53791c3
Color gradient for default and 'regular' type sky (#9502)
* add regular sky gradient

* add regular sky gradient

* Update sky.cpp

* change default day sky colors
2020-05-09 17:14:56 +02:00
Loïc Blot
454dbf83a9
Server class code cleanups (#9769)
* Server::overrideDayNightRatio doesn't require to return bool
There is no sense to sending null player, the caller should send a valid object

* Server::init: make private & cleanup
This function is always called before start() and loads some variables which can be loaded in constructor directly.
Make it private and call it directly in start

* Split Server inventory responsibility to a dedicated object

This splits permit to found various historical issues:
* duplicate lookups on player connection
* sending inventory to non related player when a player connects
* non friendly lookups on detached inventories ownership

This reduce the detached inventory complexity and also increased the
lookup performance in a quite interesting way for servers with thousands
of inventories.
2020-05-07 22:38:41 +02:00
Jozef Behran
4f9ccd89b3
Get rid of non-ascii characters in the debug display code (#8821) 2020-05-06 21:35:18 +02:00
Loïc Blot
f1a05d0f71
Fix broken client if openal cannot be opened (#9804) 2020-05-05 08:38:18 +02:00
SmallJoker
cad5b987ad Sky API: Rename *_tint to fog_*_tint for consistency 2020-05-05 08:37:04 +02:00
ANAND
e0ea87f1f3
set_fov: Add support for time-based transitions (#9705) 2020-05-02 12:52:11 +02:00
theviper121
e1fc72c6f3
Fix UpdateBonePosition() breaking animations (#9577) 2020-04-26 19:32:04 +02:00
sfan5
73180a73da
mapblock_mesh: Optimize a few things (#9713) 2020-04-25 12:39:17 +02:00
Paul Ouellette
49ed0ca00a
Ensure game is shutdown if server throws exception (#9742) 2020-04-25 09:42:18 +02:00
EvidenceB Kidscode
cee3c5e73d
Add server side translations capability (#9733)
* Add server side translations capability
2020-04-25 07:20:00 +02:00
SmallJoker
ce5b0932f8
Camera: Fix shootline line offsets II (#9730) 2020-04-23 12:16:36 +02:00
Maksim
6ba44d7452
Android: add OpenGL ES 2 support (#9715)
.. and bump gradle to 3.6.3
2020-04-22 20:03:46 +02:00
Danila Shutov
cdbe3c5e57
Reuse object_shader for "wielditem" and "item" entity drawtypes (#9537) 2020-04-19 18:47:13 +02:00
SmallJoker
45999b74e6
Camera: Fix shooting line offsets (#9681)
Removes duplicated offset calculations from Game and use whatever the Camera class returns.
This keeps the eye position nicely in sync, and gets rid of duplicated code.
2020-04-16 18:32:07 +02:00
Hugues Ross
5cf6318117
Refactor texture overrides and add new features (#9600)
* Refactor texture overrides, and add new features:

- Texture overrides can support multiple targets in one line
- Texture override files can have comment lines
- Item images/wield images can be overridden

* Formatting changes

* Address soime feedback

- Pass vectors by const reference
- Log syntax errors as warnings
- Remove 'C' prefix from TextureOverrideSource

* Simplify override target checks with an inline helper function

* make linter happy

* Apply feedback suggestions

Co-Authored-By: rubenwardy <rw@rubenwardy.com>

* Remove remaining != 0 checks

* Update copyright notice

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-04-14 20:41:29 +02:00
Wuzzy
7e21b3cd48
Remove sound menu and show proper msgs if sound is off (#9069) 2020-04-13 20:26:54 +02:00
Wuzzy
a24d3b3600
Play 'player_jump' when player jumps (#9373) 2020-04-12 00:50:40 +01:00
Lars Müller
af2e6a6a10
Improve waypoints and add image variant (#9480) 2020-04-11 22:09:46 +01:00
Hugues Ross
f780bae05c
Formspecs: Add state-selection to style elements (#9378) 2020-04-11 21:39:30 +01:00
sfan5
40df3931d8
Implement DPI scaling for Windows (#9586) 2020-04-11 20:03:59 +02:00
Alex
fbf74dc524
Use TILE_MATERIAL_ALPHA for use_texture_alpha entity flag (#9639)
Fixes #9637.
2020-04-11 13:45:14 +02:00
sfan5
f105bc8dc2 A few initialization cleanups 2020-04-11 13:12:51 +02:00
Loïc Blot
35e778ee9f
Move clientsimpleobject.h to client folder (#9630)
This file is only called from client folder, retrieve its friends :)
2020-04-10 20:10:51 +02:00
Loïc Blot
f648fb76ae
Drop genericobject.{cpp,h} (#9629)
* Drop genericobject.{cpp,h}

This file is not for generic object but for ActiveObject message passing.
Put ownership of the various commands to the right objects and cleanup the related code.

* Protect ServerActiveObject::m_messages_out

* typo fix
2020-04-10 19:49:20 +02:00
TheTermos
3ad5388c6d
Collision various fixes (#9343) 2020-04-08 22:45:05 +02:00
sfan5
de73f989eb
Overall improvements to log messages (#9598)
Hide some unnecessarily verbose ones behind --trace or disable them entirely.
Remove duplicate ones. Improve their contents in some places.
2020-04-08 20:13:23 +02:00
Hugo Locurcio
f45ba78a72
Allow relative directories for screenshot_path, tweak default path (#9122)
This will likely be more intuitive for users and should play better
with sandboxed distributions such as Flatpak.

In addition, the screenshot directory will now be created if it doesn't
exist already.
2020-04-06 16:54:12 +02:00
Elias Åström
3d6b55d3e9
Fix texture distortion for flowing liquids (#9561)
Previously textures of the side faces on flowing liquid nodes would
become distorted on different axis depending on the liquid level.  This
is because the nodes always had the same texture coordinates, even when
the generated face could have different sizes.  This solves that problem
by adjusting the texture coordinates for the vertices making up the top
of the faces, so the textures will not look compressed for smaller
faces.
2020-04-02 19:24:35 +02:00
ANAND
13b228513e
Ignore near_plane setting on non-Android platforms (#8749)
Camera's near-plane will be hard-coded to 0.1 on all non-Android platforms. The upper-bound of this setting has been reduced to 0.25, as 0.5 is just way too high.
2020-03-28 21:53:55 +01:00
sfan5
04961491c1 Fix crash on wielditem/item entities
bug was introduced in f3032a637c53f3c98fbbed1d3b691898aabe1687
2020-03-28 12:56:48 +01:00
Danila Shutov
f3032a637c
Fix incorrect light updates for wielditem and item visuals (#9540)
An alternative to #9537
2020-03-23 21:57:44 +01:00
Wuzzy
625b100593
Add comments for translators (#9510)
* Add translator comments for "special" strings

* Add translator comments for some "tricky" strings
2020-03-20 09:41:07 +01:00
Danila Shutov
5c1b72544a
Fix entity lighting (#9514)
fixes #9482
2020-03-16 22:58:13 +01:00
Jean-Patrick Guerrero
c49575ef97
Improve arm physics (#9485) 2020-03-08 18:21:55 +01:00
Jordan Snelling
b9a0626d88
Fix star visilibity and documentation (since 946c03c6)
Fix memory leak (unused allocation)
Fix star rendering
Rename sky color struct
Fix stars on android
Remove extraneous .data() from android star draw
2020-03-08 16:13:36 +01:00
Jordach
946c03c69b set_sky improvements, set_sun, set_moon and set_stars 2020-03-05 20:12:19 +01:00
Warr1024
244121b964
Allow texture modifiers in hotbar textures. (#9271) 2020-02-26 10:26:24 +01:00
Danila Shutov
6958071f49
Basic model shading (#9374) 2020-02-16 20:37:28 +01:00
SmallJoker
4eb3baa51e
StaticText: Reset background on EnrichedString change (#9340)
This also fixes the F6 profiler background color -> now controlled by EnrichedString
2020-02-01 20:41:32 +01:00
sfan5
ace3c76112 Improve core.sound_play with ephemeral sounds and player exclusion 2020-02-01 20:31:41 +01:00
SmallJoker
1892ff3c0d
StaticText/EnrichedString: Styling support (#9187)
* StaticText/EnrichedString: Styling support

* Fix tooltip fg/bgcolor

* Fix default color for substr(), add unittests
2020-01-22 19:09:11 +01:00
Wuzzy
0877587cce Resized torchlike sprite now attaches to surface (#9303) 2020-01-20 19:17:54 +00:00
lhofhansl
cea4fd2b27 Increase star count to 1000 and decrease radius slightly (#9307)
* Increase star count to 1000 and decrease radius slightly.
* Adjust star width.
2020-01-16 17:12:34 +01:00
Montandalar
8d75c118d9 Map download: Escape ':' to '_' (#9235)
This is necessary under Windows systems, and direct IPv6 connections.
Windows universally disallows ':' from occuring in filenames.

Other disallowed characters on Windows:

	\ / * ? " < > |

are not relevant to hostnames, IPv4 or IPv6 addresses.

Anyone who has got an existing server map saved on Linux with ':' in
the world save will want to keep that save.
2020-01-11 20:47:34 +01:00
SmallJoker
103d9c5c53 Renaming the function wasn't enough 2019-12-07 15:55:49 +01:00
SmallJoker
aa8df112ff Attachments: Fix interpolation from (0,0,0) after detach
GenericCAO::getPosition() did not take the camera offset into account
LocalPlayer attachment cleanup: Use sane getParent() function
Make that getPosition() (GenericCAO and LocalPlayer) always return the absolute position
2019-12-07 15:12:26 +01:00
Pierre-Yves Rollo
cf7fda0083 Add z-index management to HUD 2019-12-06 20:31:26 +00:00
SmallJoker
f6de86ce4b Fix LocalPlayer-bound sound playback broken by 81c2370 2019-12-05 20:52:30 +01:00
sfan5
0b2f0914cc Improve client-side packet receiving 2019-11-25 20:00:24 +01:00
Lars Hofhansl
60bff1e6cb Waves generated with Perlin-type noise #8994 2019-11-19 19:42:52 -08:00
sfan5
02111e4961 Fix clang-tidy and lint travis checks 2019-11-11 14:06:48 +01:00
sfan5
2c4cf508a9 [CSM] Implement minetest.get_csm_restrictions()
fixes #8068
2019-11-11 14:06:48 +01:00
sfan5
3f271564e0 Run on_item_use CSM callback even if item is not marked usable
Mods may want to to handle item interaction even if the item
is not marked usable (= server-side callback exists).
2019-11-11 14:06:48 +01:00
sfan5
b57dc70769 [CSM] Expose more env functions 2019-11-11 14:06:48 +01:00
sfan5
b0260b5ec8 Refactor CSM restriction code a bit
This also fixes find_node_near restrictions being ineffective.
2019-11-11 14:06:48 +01:00
sfan5
d961ece144 Be lenient with extra slashes for CSM paths 2019-11-09 16:08:38 +01:00
sfan5
7e649f985c Corrections to client_lua_api.txt 2019-11-09 16:08:38 +01:00
sfan5
82a2e02323 Load client mods into memory before execution.
Preperation for server-sent CSM which will eventually need this.
2019-11-09 16:08:38 +01:00