Commit Graph

7100 Commits

Author SHA1 Message Date
sfan5
5109fa7eda Fix crash when processing empty mesh buffers 2023-09-24 16:46:18 +02:00
Gregor Parzefall
ff87be6e5f
Remove unused "mNormal" uniform to fix crash on GLES2 with shaders 2023-09-24 16:46:05 +02:00
savilli
d57c936b08
Don't trigger a key event if a key with the same associated char was pressed (#13773) 2023-09-22 21:25:13 +02:00
sfan5
c3114132d3
Improve readability and infos in verbose log (#13828) 2023-09-22 18:41:10 +02:00
x2048
e36b2226b9
Skip face culling in shadows for double-sided materials (e.g. plantlike) (#13500)
* Skip face culling in shadows for double-sided materials (e.g. plantlike)

* Keep previous face culling for transparent surfaces e.g. water
2023-09-17 21:42:14 +02:00
ROllerozxa
a88e61c2cf
Improve UX when no game exists and drop default_game (#13550) 2023-09-17 18:45:28 +01:00
Wuzzy
8ebaf753d3
New physics overrides (#11465) 2023-09-15 20:10:08 +02:00
sfan5
2479d51cc6 Fix double-free of minimap textures 2023-09-13 15:27:07 +02:00
sfan5
033128d8dc Show better description to users when std::bad_alloc happens 2023-09-13 13:58:59 +02:00
SmallJoker
4ef93fe25f
Allow place_param2 = 0 node placement predictions (#13787)
The placement prediction value 0 was accidentally ignored
and made the clients fall back to automatic rotation based
on the node paramtype2 value.

This now changes the internal representation to properly
indicate the disabled state (e.g. 'nil' in Lua).
2023-09-13 13:57:57 +02:00
Gregor Parzefall
833c324498
Make the crosshair DPI-aware (#13772) 2023-09-11 18:59:32 +02:00
Desour
010d08f6a4 Fix -Wmissing-braces warnings in mapblock_mesh.cpp 2023-09-09 18:48:56 +02:00
Desour
7897450b27 Fix -Winconsistent-missing-override warnings 2023-09-09 18:48:56 +02:00
Desour
2ad4c9e0ce Fix -Wunused-but-set-variable warnings 2023-09-09 18:48:56 +02:00
Gregor Parzefall
95056f9783
Higher default graphics settings on Android (#13780) 2023-09-07 17:55:11 +02:00
chmodsayshello
294ad98776
Send ever lasting particle spawners to all players (#13774) 2023-09-02 22:58:11 +02:00
sfan5
f080aa29b5 Remove usage of obsolete HighPrecisionFPU field 2023-09-01 12:46:36 +02:00
Gregor Parzefall
7b56daa236
Small setting-related fixes (#13755) 2023-08-27 20:18:41 +02:00
SmallJoker
bf9f831cb2 Inventory: skip redundant stack movement
The list of dragged stacks includes the source stack, which
however does not need to be moved onto itself.
This is an optimization.
2023-08-27 20:12:10 +02:00
SmallJoker
0ba899e239 Inventory: Fix assertion caused by a no-op stack movement 2023-08-27 20:12:10 +02:00
Rising Leaf
660151572f
Do not render objects that are invisble into the shadow map 2023-08-26 20:12:17 +02:00
Desour
f47b00426a Revert "Get rid of guiroot"
This reverts commit 45e7a800575f6d96ea307d99f1945aeb6c22a4e1.
2023-08-24 22:14:44 +02:00
Desour
7e4dccb3b5 Revert "Get rid of global guienv variable"
This reverts commit 16da954bd70b326f21cec9547237f55de18d4253.
2023-08-24 22:14:44 +02:00
Desour
f98726c516 Revert "Use our GUIButton in touchscreengui"
This reverts commit f7f3aaf43c88179bafd255f3c67275f316cff91a.
Fixes #13743.
2023-08-24 22:14:44 +02:00
Gregor Parzefall
aea9242a96
Allow nodes to have their post_effect_color affected by lighting (#13637)
Co-authored-by: DS <ds.desour@proton.me>
2023-08-24 20:16:36 +02:00
Gregor Parzefall
92b6ff4721
TouchScreenGUI: Fix only 9 hotbar slots being usable (#13698)
Co-authored-by: Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>
2023-08-24 17:45:51 +02:00
Gregor Parzefall
72ef90885d
Clean up texture filtering settings (#13683) 2023-08-24 10:50:47 +02:00
gamefreq0
d0ee63c766
Enable shift-click crafting (#13729) 2023-08-24 12:00:54 +07:00
sfan5
2c987b66c1 Move implementations of some LuaVoxelManip functions to l_mapgen 2023-08-14 18:16:36 +02:00
sfan5
e48f15c135 Skip liquid updates in MapgenSinglenode if not applicable 2023-08-14 18:16:36 +02:00
sfan5
bf36a90579 Optimize Mapgen::updateLiquid()
-55% runtime in singlenode usage, which is the best case
2023-08-14 18:16:36 +02:00
sfan5
f9c881eb5a Add two missing classes to async environment 2023-08-14 18:16:36 +02:00
Desour
16da954bd7 Get rid of global guienv variable
(It can already be accessed via the renderingengine.)
2023-08-14 18:13:47 +02:00
Desour
45e7a80057 Get rid of guiroot
The guienvironment already provides a root gui element, we don't need to add another one.
(For CGUIEnvironment, the env itself is the root element.)
2023-08-14 18:13:47 +02:00
Desour
7e7aceb8c1 Replace all actual uses of irrlicht CGUIStaticText with our StaticText 2023-08-14 18:13:47 +02:00
Desour
d75c956dbc Remove ugly hack in static_text.h
Just use the root element, like GUIButton:add().
2023-08-14 18:13:47 +02:00
Desour
f7f3aaf43c Use our GUIButton in touchscreengui 2023-08-14 18:13:47 +02:00
Desour
91c0439922 Use our GUIButton in our GUIScrollBar
Note that GUIScrollBar needs an ISimpleTextureSource now due to button styling.
2023-08-14 18:13:47 +02:00
Desour
9d62abbe46 Replace any uses of CGUIScrollBar and IGUIScrollBar with GUIScrollBar 2023-08-14 18:13:47 +02:00
Desour
124d064015 GUIButton: Default BgColor to white, as opposed to unintialized
(Same as what CGUIButton uses (via colors=0).)
2023-08-14 18:13:47 +02:00
Desour
2903f692ba GUIButton: Use default member initializers 2023-08-14 18:13:47 +02:00
Desour
7f9de5db0b Make touchscreengui compile 2023-08-14 18:13:47 +02:00
rubenwardy
137e4ce866
Fix hypertext in the mainmenu (#13731) 2023-08-13 13:28:33 +01:00
rubenwardy
c6a0ead72d
Add warning for initial properties directly inside definition (#9650) 2023-08-13 00:19:03 +01:00
Zughy
98f097dc2f
Warn about unsupported file extensions for media 2023-08-06 14:16:00 +02:00
rubenwardy
752ce1a1b2
Settings GUI: Move shadow presets to Shaders, remove Most Used (#13713) 2023-08-05 17:33:18 +01:00
Joachim Stolberg
21ecdd5681
Fix textarea scrollbar inside border=false (#13678) 2023-07-30 14:54:52 +01:00
OgelGames
3f2a10bb4b
Fix decode_base64 returning nothing instead of nil (#13697) 2023-07-30 14:53:47 +01:00
Desour
e0192e256f Fix incorrect rounding in GUIInventoryList::getItemIndexAtPos 2023-07-22 17:19:57 +02:00
ndren
53c594abe0
Introduce and start using microsecond sleep on Linux (#13445) 2023-07-22 17:19:49 +02:00
Gregor Parzefall
6f0d36c41a Fixes and improvements 2023-07-20 22:15:47 +02:00
Gregor Parzefall
7473e4cafd Expose all OpenGL filtering modes, use OpenGL names for them
Because of a review comment on the Irrlicht PR by numberZero.
2023-07-20 22:15:47 +02:00
Gregor Parzefall
6bf63d4b41 Rename SMaterial::TextureLayer -> SMaterial::TextureLayers
It's not the "texture layer" of the material, but an array of texture layers.
2023-07-20 22:15:47 +02:00
Gregor Parzefall
05ebe2418b Rename E_MATERIAL_FLAG -> E_MATERIAL_PROP
The enum values don't reference material flags, but material properties.
2023-07-20 22:15:47 +02:00
Gregor Parzefall
9bef3c136a Split up texture filtering properties of SMaterialLayer into MinFilter and MagFilter
You can	now set	the filter used	when scaling textures down and the filter used when scaling textures up separately.
2023-07-20 22:15:47 +02:00
Gregor Parzefall
307e380f30 Refactor the way you set material properties
Instead of using SMaterial::setFlag, you now set them directly on SMaterial or SMaterialLayer.
2023-07-20 22:15:47 +02:00
SmallJoker
128d22e6ee
GUI: Automatic scaling of checkboxes and scrollbars (#13666)
Mainly helpful on high-DPI screens or when 'gui_scaling' is changed
2023-07-17 20:46:15 +02:00
Nekobit
50234b8e5c
Fix string conversion for FreeBSD (#13648) 2023-07-17 20:46:06 +02:00
Gregor Parzefall
3552537fc4
Fix that transparent text still draws a text shadow (#13649)
Makes fade out animations of text more pleasant to look at.
2023-07-17 20:45:56 +02:00
DS
f41e9e3e0f
Add Irrlicht device info to the mainmenu About tab (#13636) 2023-07-17 20:44:54 +02:00
archfan
9b310a6e6f
Decrease sneak margin to combat phasing through thin walls (#13607)
A 1/16th-node-thick wall is 0.625 meters thick, and the previous margin of 0.1 meters meant that these walls could be phased through by sneaking against them. A margin lower than 0.625 prevents this.
2023-07-17 20:44:33 +02:00
Muhammad Rifqi Priyo Susanto
2061984313 Simplifies code by using Irrlicht's operator overloads
New variables are added to replace in-place calculations.
2023-07-14 21:00:29 +07:00
Muhammad Rifqi Priyo Susanto
3a47559e86 Fix some memory leaks and code style issues
Maximum line length is 95 characters.
Some members' name are changed.
Struct initialisations use brace syntax; eliminating the usage of the memset function.
Iterations use for-each-loop instead of while-loop+iterator.
char * -> std::string
button_info * -> std::shared_ptr<button_info>
2023-07-14 21:00:29 +07:00
Desour
8e09077de8 Fix sound manager not being stepped by GUIEngine 2023-07-14 14:42:00 +02:00
Gregor Parzefall
1837a11c22
Improve messages when changing viewing range and exceeding server-set limit (#13647) 2023-07-14 14:41:45 +02:00
sfan5
bf987bf58a Handle blit_back_with_light with empty area
fixes #13306
2023-07-13 20:42:39 +02:00
sfan5
4a14a18799 Fix mapgen_v6 crashing
this variable was accidentally shadowed in 20b10b569
2023-07-09 20:59:57 +02:00
lhofhansl
136a93f628
Reverse eye-offset Z-coordinate in 3rd person front view (#13369) 2023-07-08 12:00:15 +07:00
Gregor Parzefall
0218963f1b
Fix max_formspec_size not taking gui_scaling into account (#13493) 2023-07-07 21:42:43 +02:00
SmallJoker
078bd95a49
Formspec: prevent infinite loop caused by negative background9[] size (#13624) 2023-07-07 21:42:10 +02:00
lhofhansl
869df17ddf
Server enforcement for fog_distance (#13448) to block cheating (#13643)
This enforces the fog_distance (if set) at the server, so that a hacked client could not cheat and retrieve blocks beyond the set distance.
2023-07-06 09:36:46 -07:00
Gregor Parzefall
26453df2f7
Don't crash if a Lua error occurs inside get_staticdata 2023-07-03 20:34:02 +02:00
ROllerozxa
d71872af23
Fix texture paths for system-installed builds
* window icon
* custom touchscreen checkbox sprites
2023-07-03 20:31:03 +02:00
Lars Müller
25ef8f3934
Fix local animations not resetting
Converts `LocalPlayerAnimation` to a scoped enum to prevent such bugs in the future
2023-07-02 12:47:18 +02:00
lhofhansl
0ade097e99
Allow the server to control fog_distance and fog_start via the sky-api (#13448) 2023-06-30 19:11:17 -07:00
numzero
dde8f0e20a Replace a non-aligned cuboid with a cylinder in client::ActiveObjectMgr::getActiveSelectableObjects 2023-06-29 18:58:10 +02:00
numzero
21035bf5d4 Add unit test on client::ActiveObjectMgr::getActiveSelectableObjects 2023-06-29 18:58:10 +02:00
numzero
d7291e0600 Update client::ActiveObjectMgr::getActiveSelectableObjects API 2023-06-29 18:58:10 +02:00
x2048
c09a3a52ac
Add antialiasing filters (FXAA, SSAA) (#13253) 2023-06-28 05:30:08 +02:00
sfan5
442d5fc75c Add unit tests for isBlockInSight() 2023-06-26 22:51:49 +02:00
numzero
3b74cc4a41 Replace PP with direct printing 2023-06-26 22:51:32 +02:00
numzero
de77fe8ade Allow printing irr::core::vector[23]d directly to an std::ostream 2023-06-26 22:51:32 +02:00
Vitaliy
2f6a9d12f1
Allow running individual unit tests 2023-06-25 11:13:48 +02:00
Vitaliy
aada2403c9
Try all known video drivers if the requested one fails to initialize 2023-06-25 11:13:23 +02:00
Gregor Parzefall
7e51e2dea6 Fix compiler error on MSVC with ENABLE_TOUCH=TRUE 2023-06-24 20:37:59 +02:00
sfan5
84fb663d6c Add VoxelArea::intersect() 2023-06-23 09:05:26 +02:00
sfan5
659828b142 Rename ModApiEnvMod and ModApiItemMod
The 'mod' could have meant module in the past but no other classes do this.
2023-06-23 09:05:26 +02:00
sfan5
610578e3e2 Use swapNode for set_node_level and add_node_level
While this is a behaviour change I don't think the old one made any sense.
It's possible that someone hit this before and wrote a workaround for it,
they won't be affected by this change.
It only makes things work that didn't before.
2023-06-23 09:05:26 +02:00
sfan5
62629939ff Genericize find_node_near and find_node_in implementations in C++ 2023-06-23 09:05:26 +02:00
sfan5
20b10b5691 Refactor EmergeParams owner 2023-06-23 09:05:26 +02:00
sfan5
32ff832108 Save Lua globals after mod loading
These are used for the async env currently and will be needed elsewhere soon.
2023-06-23 09:05:26 +02:00
sfan5
524d446757 Minor script api fixes/cleanups 2023-06-23 09:05:26 +02:00
wsor4035
5b6bc8a12b
Remove unsupported media formats from client.cpp 2023-06-22 17:52:48 +02:00
Gregor Parzefall
03ffc2618c
TouchScreenGUI: Add an exit / "ESC" button to the rare controls bar (#13574) 2023-06-22 17:50:36 +02:00
numzero
7c26cb1c35 Drop unused tile rotations 2023-06-22 17:50:20 +02:00
numzero
1102f92dac Use a enum for tile rotation 2023-06-22 17:50:20 +02:00
numzero
729671d6ae In getNodeTile, use a descriptive struct for the lookup table 2023-06-22 17:50:20 +02:00
numzero
d676520526 Optimize trigonometry out of MapblockMeshGenerator::drawCuboid 2023-06-22 17:50:20 +02:00
numzero
c29d897854 Optimize trigonometry out of MapblockMeshGenerator::drawLiquidTop 2023-06-22 17:50:09 +02:00
numzero
b8ddde0a96 Store liquid data as dimensionless fractions instead of BS multiplies 2023-06-22 17:50:09 +02:00