Commit Graph

6877 Commits

Author SHA1 Message Date
paradust7
aa5dc0968b
Fix typo and missing entry in serveropcodes 2023-02-18 16:47:08 +01:00
sfan5
3bafbaac49 Remove dead code behind Irrlicht version checks 2023-02-18 16:46:51 +01:00
20kdc
75e6cc190a
Source image tracking in tile generation (#12514) 2023-02-18 00:03:03 +01:00
lhofhansl
2a8becd650
Add mesh-holding blocks to shadow drawlist. (#13203)
When mesh chunking and shadows are enabled, make sure that the mesh-holding blocks are added to the shadow drawlist.
Otherwise those portions of the shadows will not be rendered.
2023-02-16 15:43:08 -10:00
lhofhansl
d3a6ee00e6
Generalize mesh chunking, and make it configurable. (#13179)
* Generalize mesh chunking. Set 3x3x3 chunks.

* Make mesh chunk size configurable... Default to 1 (off).

* Extract all mesh grid maths into a dedicated class

---------

Co-authored-by: x2048 <codeforsmile@gmail.com>
2023-02-08 13:42:12 -08:00
lhofhansl
56d2567b5d
Separate drawlist from non-rendered blocks. (#13176) 2023-02-01 08:41:23 -08:00
x2048
69fc206109
8x block meshes (#13133)
Reduce the number of drawcalls by generating a mesh per 8 blocks (2x2x2). Only blocks with even coordinates (lowest bit set to 0) will get a mesh.

Note: This also removes the old 'loops' algorithm for building the draw list, because it produces visual artifacts and cannot be made compatible with the approach of having a mesh for every 8th block without hurting performance.

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
Co-authored-by: Lars <larsh@apache.org>
Co-authored-by: sfan5 <sfan5@live.de>
2023-01-31 17:30:59 +01:00
lhofhansl
cded6a3945
Display whole profiler numbers up to 999999 without scientific notation. (#13155) 2023-01-24 17:40:23 -08:00
x2048
b8aaad4f1e
Remove the 'loops' occlusion culler (#13169) 2023-01-23 10:58:29 +01:00
DS
8478796226
Decrease minimum for repeat_place_time (#13165) 2023-01-23 00:20:12 +01:00
sfan5
87d509e462
Implement --debugger option to improve UX when debugging crashes (#13157) 2023-01-23 00:19:30 +01:00
x2048
6f5703baf1
Clear exposure compensation state textures on creation (#13151) 2023-01-23 00:18:48 +01:00
x2048
ca13c51024
Fix concurrency in texture source (#13150) 2023-01-19 21:44:27 +01:00
SmallJoker
ecd6d61697
Revisit F6 statistics formatting (#13126) 2023-01-16 20:16:23 +01:00
Jude Melton-Houghton
2f9f0c0900
Improve chat history (#12975) 2023-01-14 16:14:37 -05:00
sfan5
8fded9d990
Disable Prometheus in singleplayer mode 2023-01-14 13:11:15 +01:00
Jude Melton-Houghton
3992a13f24
Improve MetaDataRef:{get,set}_float precision (#13130) 2023-01-12 15:40:34 -05:00
Jude Melton-Houghton
5f2925c59c
Increase ftos precision (#13141) 2023-01-12 14:12:31 -05:00
Jude Melton-Houghton
956026bb6b
Break long lines of option help (#13136) 2023-01-12 14:12:05 -05:00
x2048
139db66901
Remove mapblock cache for mesh generation. (#13124)
Reduces memory consumption and improves performance
2023-01-09 21:40:08 +01:00
ROllerozxa
390b5caaaa
Fix crash on Android with IrrlichtMt9 (#13123)
Caused by mouse control
2023-01-08 14:04:17 +01:00
iliekprogrammar
fb28ca463e
Clamp player wieldindex when processing hotbar item selection (#13098) 2023-01-08 14:03:16 +01:00
lhofhansl
55804c56e9
Report collisionMoveSimple for client and server. (#13105) 2023-01-07 16:31:31 -08:00
ROllerozxa
bb74da5903
Remove old rollback migration code (#13082) 2023-01-06 22:35:20 +01:00
x2048
6d45c243f8
Add dynamic exposure correction (#12959)
* Add uniform for frame delta time
* Adjust exposure in logarithmic (EV) space
* Add network support and LUA API
* Add testing mod
2023-01-06 22:33:25 +01:00
x2048
2715cc8bf6
Occlusion culling algorithm based on recursive descend (#13104)
Co-authored-by: DS <vorunbekannt75@web.de>
2023-01-06 22:31:06 +01:00
sfan5
059f62d7d6 Use consistent optimization flags for *BSD
This was added for seemingly no reason in c410e9182d322a8c095ef94fbadf4d8f541e6b98 (2014)
2023-01-05 23:09:51 +01:00
x2048
89e7f72c92
Use multiple threads for mesh generation (#13062)
Co-authored-by: sfan5 <sfan5@live.de>
2022-12-27 18:44:18 +01:00
SmallJoker
03e710160f
Lua API: Document shader dependencies of set_lighting() (#13079) 2022-12-26 21:59:55 +01:00
lhofhansl
1e7804aaf6
Allow saturation to be controlled by the server. (#13075) 2022-12-25 16:15:32 -08:00
ROllerozxa
afd5caa26a
Fully remove pageflip 3D mode (#13074) 2022-12-25 10:57:39 -05:00
Jean-Patrick Guerrero
33363c2a7e
Fix progress bar look on HiDPI displays (#13055) 2022-12-24 12:26:56 -05:00
Jude Melton-Houghton
d13b12b791
Store MapEditEvent blocks in a vector (#13071) 2022-12-24 12:21:59 -05:00
Jude Melton-Houghton
5c248c2d7d Add callback on_mapblocks_changed 2022-12-24 08:24:59 -05:00
Jude Melton-Houghton
7701e70dc9 Make MapEditEvent more complete
SetBlocksNotSent is no longer used.
2022-12-24 08:24:59 -05:00
ndren
62ee02b8ba
Set and unset relative mouse mode where necessary (#12636)
* Set and unset relative mouse mode where necessary

Co-authored-by: sfan5 <sfan5@live.de>
2022-12-24 09:38:30 +01:00
Jude Melton-Houghton
0fc97a1483
Use a Lua error handler that calls tostring (#11913) 2022-12-15 07:37:49 -05:00
Jude Melton-Houghton
1f3b5e553b
Fix plantlike_rooted world-aligned node base textures (#12994)
Co-authored-by: Wuzzy <Wuzzy@disroot.org>
2022-12-12 08:45:09 -05:00
updatepo.sh
111d047b0a Update minetest.conf.example 2022-12-10 15:35:46 +01:00
Jude Melton-Houghton
c18c082059
Prevent air acceleration with 0 jump speed (#13036) 2022-12-10 09:08:50 -05:00
Jude Melton-Houghton
1798ad0ec4
Avoid out-of-bounds memory access in attached node placement prediction (#13038) 2022-12-10 09:00:27 -05:00
sfan5
37386b9c3c
Expose dtime_s to LBM handler 2022-12-04 12:35:14 +01:00
Jude Melton-Houghton
b3ffc4b327
Add minetest.get_mapgen_edges (#12999) 2022-12-03 10:40:46 -05:00
lhofhansl
e84d259ec7
Remove shader caching hack. (#12991) 2022-11-30 13:56:14 -08:00
Muhammad Rifqi Priyo Susanto
281f9a9f88
Android: Segmentation fault fix, PendingIntent flag, and other fixes (#12960)
* Android: Segmentation fault fix, PendingIntent flag, and other fixes

- Information about the crosshair is sent after camera initialization.
- Since API 31, PendingIntent requires mutability flag.
- super (class) is called in onRequestPermissionsResult().
- GameActivity suppresses "unused" warning since most of its methods are called from native code.
- Non-null safety is added for nullable function calls.
- Warning/error logging is added for various function calls' return value.

* Move utility functions into Utils.java

- Some nullable functions are changed to be non-null functions.
- Some null checking outside it is removed.
- More annotations are added to functions and parameters.
2022-11-30 10:50:06 -05:00
Jude Melton-Houghton
055fc69c11
Handle num lock in chat (#12984) 2022-11-30 10:43:12 -05:00
Jude Melton-Houghton
38169db765
Wrap debug text on screen (#12978) 2022-11-28 12:17:36 -05:00
Jude Melton-Houghton
d0a118f5b1
Add minetest.get_game_info and allow reading game.conf (#12989)
Co-authored-by: sfan5 <sfan5@live.de>
2022-11-28 07:21:43 -05:00
Jude Melton-Houghton
3fd5bff128
Abort active ABM iteration when content changes (#12998) 2022-11-27 15:55:10 -05:00
Muhammad Rifqi Priyo Susanto
40a45b8c99
Virtual joystick: Use s32 when using m_screensize as a subtrahend (#12814)
If still uses u32, m_screensize will yield a big value (underflow) when used as a subtrahend.
ETIE_MOVED is allowed to be run if joystick's ID is available and virtual joystick is fixed.
Add .0f for some float values.
2022-11-26 09:16:14 -05:00
savilli
f04d4d0291 Fix touchscreen crash due to missing rangeselect 2022-11-25 19:57:03 +01:00
Jude Melton-Houghton
8b26bab37d Remove unnecessary bool return types 2022-11-24 17:58:25 -05:00
Jude Melton-Houghton
7c21347a40 Rename "mod metadata" to "mod storage" everywhere 2022-11-24 17:58:25 -05:00
Jude Melton-Houghton
8817af07fb
Deprecate special handling of ${key} syntax in metadata values (#12970) 2022-11-24 17:56:43 -05:00
Wuzzy
3c7f26d937
Add support for attached facedir/4dir nodes (#11432) 2022-11-24 17:56:07 -05:00
x2048
1c10988d6a
Fix entity visiblity in bright artificial light (#12906) 2022-11-23 22:40:26 +01:00
Jude Melton-Houghton
9527cc3fa0
avoid clearChildAttachments iterator invalidation (#12987) 2022-11-23 14:48:12 -05:00
Jude Melton-Houghton
386bfcda2b
Fix reading schematics after their resolution (#12985) 2022-11-23 11:53:21 -05:00
Jude Melton-Houghton
4da8a18c8c
Check specific outputs for isatty (#12980) 2022-11-21 12:08:40 -05:00
x2048
70a82b0784
Avoid shadow flicker at certain angles (#12961)
Change the way look direction and camera position are quantized when calculating light frustum
2022-11-20 21:28:01 +01:00
DS
5f24a3c0c7
Object selection: Improve distance checks (#12974) 2022-11-20 21:27:47 +01:00
lhofhansl
7bf64fc61a
Add configurable saturation (#12865)
* Add configurable saturation

Co-authored-by: Pevernow <3450354617@qq.com>
Co-authored-by: x2048 <codeforsmile@gmail.com>

Author:    Lars <larsh@apache.org>
2022-11-18 11:49:52 -08:00
Riceball LEE
6bf662cb9e
set_nametag_attributes: don't reset nametags if text param is not touched
fixes #12901
2022-11-15 16:46:26 +01:00
SmallJoker
8de9e2ac84
game.conf: Add setting to use volatile a map backend (#12956) 2022-11-15 16:45:48 +01:00
Jude Melton-Houghton
cd8a7fe472
Add MetaDataRef:get_keys (#12841) 2022-11-15 16:45:12 +01:00
lhofhansl
1a045da0dd
Reduce active mgmt interval for a bit when a player joins. (#12925) 2022-11-10 15:25:38 -08:00
Jude Melton-Houghton
00eb65915f Add PostgreSQL helper pg_to_string 2022-11-10 18:56:48 +01:00
Jude Melton-Houghton
aaa05f901a Add mod storage PostgreSQL backend 2022-11-10 18:56:48 +01:00
Jude Melton-Houghton
9dbac989bd Improve testListMods 2022-11-10 18:56:48 +01:00
Gregor Parzefall
88b04eadc9
Fix get_tool_wear_after_use for one use (insta-break) (#12945) 2022-11-09 11:58:53 -05:00
x2048
81bfc9c7a2
Resize hotbar immediately before drawing (#12930) 2022-11-09 11:57:55 -05:00
Abdou-31
d1b80b462e
Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
Loïc Blot
322c8cf270
Reduce exposure of various internals (#12885)
* refactoring(StaticObjectList): don't expose m_active and m_stored anymore

This prevents our old crap code where anyone can access to StaticObjectList. use proper modifiers. It also permits to do a short cleanup on MapBlock using a helper

* refactoring(MapBlock): reduce a bit exposed m_active_blocks variable

* refactoring: MapBlock::m_node_timers is now private

We already had various helpers to perform this privatization, just use it. Also factorize the MapBlock stepping code for timers using already existing code and importing them from ServerEnvironment to MapBlock.

It's currently done pretty straight forward without any inheritance as MapBlock is just used everywhere, maybe in a future we'll have ServerMapBlock over MapBlock. Currently for a simple function let's just use proper objects and add a comment warning

* refactoring(Server): fix duplicated function for add/remove node

* refactoring(guiFormSpecMenu): add removeAll function to prevent duplicated code

* refactoring(ShadowRenderer) + perf: code quality  + increase performance

* All callers are already using the point and we should never test a function with nullptr node, it's a bug. Removed workaround which was hacky and fix the bug
* Drop clientmap lookup from shadowrendered, just use directly its
  pointer and forbid to push it in the generic list
* Reduce memory pressure on the renderShadowObject by preventing
  deallocating and reallocating multiple vectors on each node

* refactoring(MapBlock): reduce exposure of MapBlock::m_static_objects

It's not complete as some parts of the code are pretty nested, but it's better than before :)

* fix: better working on new functions & drop unwanted 2 lines

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2022-11-03 17:35:31 +01:00
x2048
9b24041394
Improve bloom effect (#12916)
* Remove the built-in exposure factor of 2.5
* Add physics-based bloom (https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom)
* Add luminance scaling for bloom layer to simulate HDR
* Add setting to control bloom strength
2022-11-02 09:09:48 +01:00
Muhammad Rifqi Priyo Susanto
987277de52
Send crosshair setting after the touch screen GUI has been initialized (#12910) 2022-10-31 14:17:50 +01:00
Lars Mueller
88af36dd10 Fix node placement regression 2022-10-31 14:17:28 +01:00
x2048
260de1c2b5
Enable negative values for sun/moon orbit tilt (Northern hemisphere) (#12904) 2022-10-30 16:54:06 +01:00
x2048
485b3b1203 Add comments explaining use of entity glow 2022-10-30 16:53:45 +01:00
x2048
bf1cc1bb84 Apply entity glow before translating to color space 2022-10-30 16:53:45 +01:00
x2048
3e7ee499d6 Always add increment when getting node interior light 2022-10-30 16:53:45 +01:00
x2048
a075d83752 Use the same light level for non-solid draw types as for solid 2022-10-30 16:53:45 +01:00
Lars Müller
077627181e
Allow rotating entity selectionboxes (#12379) 2022-10-30 16:53:14 +01:00
lhofhansl
b829231992
Fix incorrect culling introduced by ##12710 (#12887) 2022-10-28 09:52:54 -07:00
lhofhansl
9aaed75eea
Safety check the map's blocksize (#12895) 2022-10-27 19:31:42 -07:00
x2048
88820cd31c
Shadow list improvements (#12898)
* Remove redundant checks when attaching SM texture to entities.
  Some of the checks were broken, leading to crashes when shadow intensity is set to 0
* Avoid memory leak in shadow casters list when wield mesh changes item stacks
2022-10-26 22:26:09 +02:00
Jean-Patrick Guerrero
16266397ed
GUIInventoryList: Keep item size while moving (#12896) 2022-10-24 13:58:56 +02:00
Jude Melton-Houghton
e86d23daed
Check sizeof(int) and sizeof(size_t) 2022-10-23 21:59:12 +02:00
Riceball LEE
8bdedd2bcf
guiChatConsole: fix the unicode characters crowded together on prompt (#12867)
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2022-10-21 17:12:07 +02:00
DS
7153cb8a0b
Fix formspec focus (#12795) 2022-10-21 17:11:41 +02:00
Jude Melton-Houghton
dafdb3edb4
Check for falling float nodes in liquid transform (#12862) 2022-10-18 18:03:05 -04:00
Jude Melton-Houghton
b38ffdec27
Implement vector and node conversion in Lua (#12609)
Co-authored-by: sfan5 <sfan5@live.de>
2022-10-18 18:01:44 -04:00
sfan5
87051fca26
Take geographic distance into account for server list ordering (#12790) 2022-10-17 07:56:28 -04:00
SmallJoker
5d8a4917c5
LocalPlayer: Fix sneaking on nodes with large collisionboxes (#12626) 2022-10-17 07:56:04 -04:00
sfan5
25c5400250 Exclude MSVC from new Lua sanity check 2022-10-15 12:02:02 +02:00
sfan5
f680d10259 Other minor CMake improvements 2022-10-13 23:02:11 +02:00
sfan5
e8ee4cb40d Defer searching for libintl to CMake
resolves #12800
2022-10-13 23:02:11 +02:00
sfan5
af38bae57f Get rid of LuaJIT linking workarounds
...and replace them with a cautionary warning message if someone uses an old version.
The detection is kind of a hack but no choice as upstream is not interested in version numbering.
2022-10-13 23:02:11 +02:00
sfan5
558cbd89fb Add extra check in case someone tries to unbundle Lua 2022-10-13 23:02:11 +02:00
Jude Melton-Houghton
cb725a4555 Speed up find_nodes_in_area (#12845) 2022-10-13 09:35:19 -04:00
fluxionary
6b6f886bcd
object ids are u16, not s16 (#12848) 2022-10-13 08:46:48 -04:00