rubenwardy
24b66dede0
Add fwgettext util function
2021-08-19 20:13:25 +02:00
SmallJoker
3b842a7e02
Fix inconsistent integer comparison warnings
2021-08-17 20:00:47 +02:00
Lean Rada
328d949225
Start sprite animation at the beginning ( #11509 )
...
When setting a sprite animation, do not keep the last animation's frame number. Setting a new animation should start the animation at the start of the new animation.
2021-08-16 17:56:38 +02:00
sfan5
4419e311a9
Cap iterations of imageCleanTransparent sanely
...
fixes #11513 performance regression with 256x textures
2021-08-16 17:56:11 +02:00
SmallJoker
b3b075ea02
Fix segfault caused by shadow map on exit
2021-08-12 20:08:39 +02:00
x2048
442e48b84f
Move updating shadows outside of RenderingCore::drawAll. ( #11491 )
...
Fixes indirect rendering modes such as some 3D modes mentioned in #11437 and undersampled rendering.
Does not fully fix anaglyph 3d mode.
2021-08-12 20:07:09 +02:00
SmallJoker
4a3728d828
OpenAL: Free buffers on quit
2021-08-03 20:29:55 +02:00
SmallJoker
32cb9d0828
Mods: Combine mod loading checks and deprection logging ( #11503 )
...
This limits the logged deprecation messages to the mods that are loaded
Unifies the mod naming convention check for CSM & SSM
2021-07-31 19:54:52 +02:00
hecktest
28c98f9fa5
Remove unsupported extensions from list in tile.cpp
2021-07-29 21:47:08 +02:00
sfan5
6e8aebf432
Add bold, italic and monospace font styling for HUD text elements ( #11478 )
...
Co-authored-by: Elias Fleckenstein <eliasfleckenstein@web.de>
2021-07-27 19:11:46 +02:00
x2048
bf3acbf388
Distribute shadow map update over multiple frames to reduce stutter ( #11422 )
...
Reduces stutter and freezes when playing.
* Maintains double SM and SM Color textures
* Light frustum update triggers incremental generation of shadow map into secondary 'future' textures.
* Every incremental update renders a portion of the shadow draw list (split equally).
* After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen.
Co-authored-by: sfan5 <sfan5@live.de>
2021-07-25 12:36:23 +02:00
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