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