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