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