Commit Graph

793 Commits

Author SHA1 Message Date
sfan5
9f85862b7c Fix "Could not create ITexture, texture needs to have a non-empty name" warning 2021-09-22 18:43:40 +02:00
DS
e79d6154fc Fix client-side performance of chat UI () 2021-09-19 20:23:35 +02:00
Lars Müller
40ea4ddef1 Fix HUD multiline text alignment () 2021-09-19 20:23:22 +02:00
sfan5
e0529da5c8 Fix trivial typos 2021-09-19 13:54:20 +02:00
sfan5
ea250ff5c5 Fix GLES2 discard behaviour (texture transparency) 2021-09-17 18:13:50 +02:00
ROllerozxa
6fedee16f0 Readd TGA to the list of valid texture formats. () 2021-09-15 11:12:24 +01:00
sfan5
75bf9b75ca Make sure relevant std::stringstreams are set to binary 2021-09-11 21:06:57 +02:00
sfan5
766e885a1b Clean up/improve some scriptapi error handling code 2021-09-10 23:16:46 +02:00
sfan5
bbfae0cc67 Dynamic_Add_Media v2 () 2021-09-09 16:51:35 +02:00
NeroBurner
7f3401412e Fix movement in random_input mode () 2021-09-05 19:58:50 +02:00
NeroBurner
1d69a23ba4 Joystick sensitivity for player movement ()
This commit deprecates the forward, backward, left, and right binary
inputs currently used for player movement in the PlayerControl struct.
In their place, it adds the movement_speed and movement_direction
values, which represents the player movement is a polar coordinate
system.

movement_speed is a scalar from 0.0 to 1.0. movement_direction is
an angle from 0 to +-Pi:

	       FWD
	        0
	        _
	 LFT   / \   RGT
	-Pi/2 |   | +Pi/2
	       \_/
	       +-Pi
	       BCK

Boolean movement bits will still be set for server telegrams and
Lua script invocations to provide full backward compatibility.
When generating these values from an analog input, a direction is
considered active when it is 22.5 degrees away from either
orthogonal axis.

Co-authored-by: Markus Koch <markus@notsyncing.net>
Co-authored-by: sfan5 <sfan5@live.de>
2021-08-27 20:24:24 +02:00
Wuzzy
63e8224636 Fix 6th line of infotext being cut off in half () 2021-08-23 22:13:17 +02:00
Wuzzy
6fd8aede48 Show status message when changing block bounds () 2021-08-21 13:53:49 +02:00
Wuzzy
1320c51d8e Fix scaled world-aligned textures being aligned inconsistently for non-normal drawtypes 2021-08-19 20:14:04 +02:00
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 ()
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  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. ()
Fixes indirect rendering modes such as some 3D modes mentioned in  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 ()
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 ()
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 ()
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 ()
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 () 2021-07-15 21:19:59 +02:00
Wuzzy
b7b5aad027 Fix revoke debug privs not reliably turn off stuff () 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 ()
* 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 ()
* 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 ()
Co-authored-by: hecktest <>
2021-07-11 09:50:34 +02:00
hecks
827a7852e2 Remove unsupported video drivers ()
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 ()
Fixes .
2021-06-24 21:21:19 +03:00
Wuzzy
51bf4a6e26 Perform some quality assurance for translation strings () 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 ()
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 
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 () 2021-05-24 19:40:35 +02:00
sfan5
2443f1e235 Fix overlays for 2D-drawn items
fixes 
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