Commit Graph

7794 Commits

Author SHA1 Message Date
sfan5
5073c8b57a naive invalidation 2025-01-01 19:36:47 +01:00
sfan5
9232d21c82 wip 2024-12-31 15:32:31 +01:00
sfan5
a4d2633ac6 Minor improvements in ImageSource code 2024-12-31 14:47:46 +01:00
sfan5
f37f9a6f0b Optimize getImageAverageColor
also fixes a bug with non-square handling

before:
  getImageAverageColor [us] _____________________  804x  11.253

after:
  imageAverageColorInline [us] __________________  804x   0.557
2024-12-31 14:47:46 +01:00
sfan5
ded8c25e34 Change default post_processing_texture_bits to 10
Since the legacy GL driver is no longer the default,
we don't run into a situation where an unintended fallback to 8-bit happens.
2024-12-31 14:47:46 +01:00
sfan5
1ea8763259 Clean up Irrlicht shader API 2024-12-31 14:47:46 +01:00
sfan5
a2058f7f3a Avoid some inefficiencies when handling ItemStack(Metadata) 2024-12-31 14:47:46 +01:00
sfan5
d884a1624f Show active HW buffers in profiler 2024-12-31 14:47:46 +01:00
grorp
b50b619be7
Add explanation to touchscreen item tooltip code (#15607)
this explains some cryptic inventory code I wrote in #14029 / 771da80bbb
2024-12-31 14:11:17 +01:00
grorp
27c3aade5d
TouchControls: More methods instead of static functions (#15602) 2024-12-30 19:03:32 +01:00
sfan5
f2b1cc3e61
Fix situation around aabbox3d default constructor (#15586)
Co-authored-by: JosiahWI <41302989+JosiahWI@users.noreply.github.com>
2024-12-29 14:36:30 +01:00
wrrrzr
cca65fde08
Controls: extract init_joysticks (#15597) 2024-12-28 22:05:01 +01:00
Lars Müller
412cc96bc9
Fix some compiler warnings (#15596) 2024-12-26 11:29:00 +01:00
sfan5
d2a7875b5b Group sparse mesh buffers over entire scene for rendering 2024-12-24 15:27:08 +01:00
sfan5
612d4f9656 Improve quicktune feature a bit 2024-12-24 15:27:08 +01:00
SmallJoker
d1dd044455
Reorder client initialization (#15554)
Previously, ServerEnv created a player instance before they're fully initialized.
This commit moves all initialization steps and callbacks into TOSERVER_CLIENT_READY
^ which includes StageTwoClientInit for player loading or creation
2024-12-24 15:24:56 +01:00
sfan5
c49ff76955
IGUIFont / CGUITTFont code cleanups (#15581) 2024-12-23 12:49:47 +01:00
sfan5
9f52f84f2b Prefer GL3 driver over legacy GL driver 2024-12-23 12:49:31 +01:00
cx384
83bc27d99d Move formspec code from game.cpp to separate file 2024-12-21 18:43:05 +01:00
sfan5
d4ccc8de79 Fix incorrect handling of skinned meshes as mesh nodes
fixes #15576
2024-12-20 19:04:56 +01:00
sfan5
a6293b9861 Initial refactoring on shader usage and generation
`IShaderSource` was designed with the idea that if you want a shader,
you must want it for a node. So it depends heavily on being given a tile
material and the node drawtype. But this doesn't make sense neither in theory
nor in practice.
This commit takes a small step towards removing the incorrect abstraction.
2024-12-20 15:04:08 +01:00
sfan5
eb8beb335e Fix bloom with post_processing_texture_bits < 16 2024-12-20 15:04:08 +01:00
cx384
b172e67295
Remove game_ui from Client class 2024-12-20 15:03:45 +01:00
sfan5
10f1e142f6
Fix threshold value for imageCleanTransparent
fixes #15401
2024-12-20 15:03:30 +01:00
Lars Müller
f99a1a7c7c Revert "Optimize raycast performance (#15233)"
This reverts commit f7a695c212.
2024-12-14 19:29:00 +01:00
Lars Müller
52a6673dab
Get rid of obsolete workaround for collision detection bugs (#15540) 2024-12-14 17:04:12 +01:00
Lars Müller
fef28aced9
Irrlicht: Get rid of obsolete setDebugName (#15541)
Co-authored-by: sfan5 <sfan5@live.de>
2024-12-14 17:03:08 +01:00
Lars Müller
23e502fa0e
Test & document conventions used by matrix4::setRotation* (#15542)
Also includes a minor `matrix4::transformVect` refactor to make testing easier.
2024-12-14 17:02:16 +01:00
sfence
f7a695c212
Optimize raycast performance (#15233)
by skipping nodes not on the ray with selection boxes smaller than 1x1x1 early on
2024-12-14 17:01:06 +01:00
y5nw
ac7406c8a1
Fixup parsing for Plural-Forms (#15519) 2024-12-12 15:33:34 +01:00
Timur1324
9f71e74158
Get server list over https (#15538) 2024-12-12 15:31:12 +01:00
DS
bcbee873e8
Use openssl's sha1 and sha256, optionally (#15472) 2024-12-10 22:00:43 +01:00
sfan5
4f800dd2b4 Change VoxelArea volume to be u32 2024-12-10 22:00:28 +01:00
sfan5
67126cbd1b Fix meaning of VoxelArea::hasEmptyExtent() 2024-12-10 22:00:28 +01:00
sfan5
8957739cdf Use appropriate sized type for VoxelArea extent 2024-12-10 22:00:28 +01:00
3c5e0d10fc Rotate meshnode normals correctly instead of recalculating 2024-12-10 22:00:18 +01:00
sfan5
21437090b8 Don't recalculate meshnode normals unnecessarily 2024-12-10 22:00:18 +01:00
SmallJoker
480eb7d816 Mapgen: Fix biome Y calculation regression
BiomeGen::getNextTransitionY(y) did not guarantee the condition (y < biome_y_min)
of the next loop because the function may return the value (biome_y_min - 1).
Hence, the biome was not updated until one Y coordinate after.
2024-12-08 20:27:33 +01:00
SmallJoker
50928b9759 Mapgen: Add rudimentary unittests 2024-12-08 20:27:33 +01:00
cx384
c7fe2ee5c9
Add core.spawn_tree_on_vmanip (#15415)
This function works like `core.spawn_tree`, but spawns an L-system tree onto a VoxelManip object instead on the map.
2024-12-08 20:27:22 +01:00
veprogames
b857798848
Fix distorted Sun, Moon and Star visuals based on Orbit Tilt (#15459) 2024-12-06 22:00:06 +01:00
SmallJoker
5a8412dd23
Formspec: Move tooltip above cursor when lacking space (#15470) 2024-12-06 21:59:51 +01:00
cx384
88c845166c
Fix L-System trees fruit node regression (#15513) 2024-12-06 18:06:27 +01:00
Lars Müller
3e10d9ccf5
Refactor: Merge [IC]SkinnedMesh into SkinnedMesh (#15511) 2024-12-06 18:03:44 +01:00
sfan5
810f39767c Move SMaterial std::hash impl to its header 2024-12-04 18:20:34 +01:00
sfan5
1fb7202028 GL: fix and clean up some code 2024-12-04 18:20:34 +01:00
sfan5
36edc3f161 Add 10-bit texture format and setting to chose PP color depth
(and move some settings to the advanced category)
2024-12-04 18:20:34 +01:00
AFCMS
e545e96d2b
Make string to v3f parsing consistent, replace core.setting_get_pos() by core.settings:get_pos() (#15438)
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
2024-12-04 18:19:46 +01:00
JosiahWI
03813a5b5e
Use CMake list directives where appropriate
I think this communicates the intent a little better than using a `set`
directive, and it makes the code a little less verbose, too.
2024-12-03 16:52:15 +01:00
JosiahWI
818bca68d1
Use add_compile_options where appropriate 2024-12-03 16:51:53 +01:00