Commit Graph

7068 Commits

Author SHA1 Message Date
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
Desour 03dda13910 OpenALSoundManager: Fix a buffer overflow 2023-06-20 20:54:39 +02:00
lhofhansl 8f25f487fe
Instrument touchMapBlocks and block loading/deserialization. (#13314) 2023-06-19 16:59:08 -07:00
Vitaliy f1feeb319c
Cull liquid back face on liquid-glasslike interface (#13594) 2023-06-18 13:52:14 -07:00
DS edcbfa31c9
Sound refactor and improvements (#12764) 2023-06-16 20:15:21 +02:00
Wuzzy 6b3deaa170 Add disable_descend to disable active node sinking 2023-06-16 20:14:08 +02:00
Muhammad Rifqi Priyo Susanto a4e69d6843
TouchScreenGUI: Read coordinates directly for virtual joystick (#13567)
The movement's direction and speed are calculated directly from the button's relative screen coordinate. The previous method was to trigger the movement using a keyboard event.
The only virtual joystick status left is Aux1 button.

---------

Co-authored-by: Gregor Parzefall <gregor.parzefall@posteo.de>
2023-06-16 22:40:16 +07:00
Desour c549e84abb Silence a -Wsign-compare warning for invlist indices 2023-06-15 13:55:20 +02:00
Desour dade95e142 Fix curl deprecation warnings, and set minimum curl version to 7.56.0 2023-06-15 13:55:20 +02:00
Desour f947e2afec Fix some gcc -Wself-move warnings 2023-06-15 13:55:20 +02:00
Desour 6a05d63993 Use [[noreturn]] 2023-06-15 10:38:44 +02:00
Desour 5e6d144567 Enable -Wimplicit-fallthrough and use [[fallthrough]] attribute 2023-06-15 10:38:44 +02:00
Desour 9c348d057e Replace the old STATIC_ASSERT macro with static_assert 2023-06-15 10:38:44 +02:00
Desour 8b108ed5f2 Use nicer syntax for nested namespace definitions 2023-06-15 10:38:44 +02:00
Desour e700182f44 Replace Optional with std::optional 2023-06-15 10:38:44 +02:00
Desour 34ad551efc Use MutexAutoLock for Thread::m_start_finished_mutex 2023-06-15 10:38:44 +02:00
Pascal Abresch ba80d1ce1f Implement check_offset for decorations 2023-06-15 10:36:46 +02:00
DS c91182e1b3
Move the platform-dependent stuff in renderingengine.cpp to irrlicht (#13348) 2023-06-11 14:17:39 +02:00
DS 553dc02deb
Fix some memleaks from GUIButtonImage (#13564)
* `m_foreground_image` was grabbed, but not dropped in the destructor.
* `m_image` was created with new. It is grabbed by itself and by the env (not only by the env!, so it's an owning ptr). This owning ptr also was never dropped.
2023-06-06 19:01:32 +02:00
Desour 1b51ff333a Use unique_ptr for ServerInventoryManager::DetachedInventory::inventory 2023-06-05 20:43:33 +02:00
Desour 1780d1bbde Use unique_ptrs for MapSector::m_blocks 2023-06-05 20:43:33 +02:00
Desour 08ea467bfe Use unique_ptr for g_httpfetch_thread 2023-06-05 20:43:33 +02:00
Desour cfb1b879e0 Use unique_ptrs for CurlFetchThread::m_all_ongoing 2023-06-05 20:43:33 +02:00
Desour d0bcdff5ce Use unique_ptrs for leveldb db and iterators 2023-06-05 20:43:33 +02:00
Gregor Parzefall a1463263b5
Auto-detect locale on Android (#13561) 2023-06-05 12:02:10 +02:00
Gregor Parzefall a857c46e6e
Make the settings GUI more usable on Android (#13543) 2023-06-05 12:01:54 +02:00
Desour d9f478cbfb Remove a misleading MutexAutoLock in l_to_table
The temporary is immediately destructed, so the mutex isn't locked
after the line.
Removed the lock, because the Settings member-functions used by
push_settings_table lock the mutex and are thread-safe, but would
cause a dead-lock.
2023-06-05 12:01:08 +02:00
OgelGames 252c79d53a
Inventory mouse shortcut improvements (#13146)
Co-authored-by: Muhammad Rifqi Priyo Susanto <muhammadrifqipriyosusanto@gmail.com>
2023-06-05 12:00:32 +02:00
Riley Adams 29b7aea38b
Cavegen y biome check (#13472) 2023-06-05 11:59:22 +02:00
Muhammad Rifqi Priyo Susanto 7221de6ede Option to invert direction or disable mouse wheel for hotbar item selection
More changed callbacks for the settings are added in readSettings(). Those are also deregistered when the Game object is destroyed.
2023-05-31 12:40:00 +07:00
Treer 8cd1296049
Add additional texture modifiers (#10100)
* Adjust hue, saturation, and lightness
* Colorize using hue, saturation, and lightness
* Adjust contrast & brightness
* Hard light
* Overlay
* Screen
* Create texture of a given size and color
2023-05-29 20:17:39 +01:00
lhofhansl a8ec6092e2
Load blocks and objects behind player when in third-persion front-view (#13431) 2023-05-29 10:26:42 -07:00
Gregor Parzefall fc3d6c1dd9
Place nodes with single tap on Android (+ bugfix) (#13187)
Don't place nodes when closing button bars.
Update docs (also in-game).
Rename "Default controls" -> "Controls" in Android pause menu since players can't change them (normally), so calling them "default" doesn't make sense.
2023-05-29 12:30:30 +07:00
lhofhansl 6832bf044e
Avoid jittering when player is attached (#12439)
* Avoid very jittering when player is attached.

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Vitaliy <numzer0@yandex.ru>
2023-05-28 11:36:34 -07:00
sfan5 8cccd75e81
Android build via CMake (#13528)
* the thing

* the thing 2
2023-05-26 15:21:23 +02:00
Thresher 00c647e4cc
Convert spaces to tabs (#13506)
* Convert spaces to tabs

* Desour reviews 1-3 fix

* Desour fixes

* Undo alignment changes
2023-05-26 15:13:57 +02:00
ROllerozxa f4cb16cc2d
Disable `desynchronize_mapblock_texture_animation` by default (#13514) 2023-05-26 13:48:37 +02:00
Zughy d6eb6ff973
Reset player lighting when passing no arguments (#13525)
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2023-05-26 13:47:16 +02:00
Zughy b60d38b7f9
Reset day/night ratio even when passing no arguments (#13524)
* reset day_night_ratio when passing zero fields

* Update lua_api.md

---------

Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2023-05-26 13:45:42 +02:00
Thresher 180ec92ef9
Remove trailing whitespace (#13505) 2023-05-18 20:34:18 +02:00
SmallJoker 95a9f4ab7c
Inventory: Allow InvRef:set_list with new_size >= old_size (#13497)
Fixes a regression introduced by enforced checks to work with
valid pointers within inventory actions.
2023-05-18 20:32:55 +02:00
Gregor Parzefall f393214fef
Settings menu improvements regarding default values (#13489)
The reset button now removes the setting from minetest.conf instead of setting it to its default value.
The reset button is now shown whenever a value is present in minetest.conf
Float settings now get a .0 suffix if they have no decimal places.
2023-05-18 20:32:26 +02:00
savilli 5ba70cf5ef
Fix crash on handling wallmounted nodes with invalid param2 (#13487) 2023-05-18 20:31:04 +02:00
Zemtzov7 35112f2453
Disable vertical movement when both jump and sneak keys are pressed (#13426) 2023-05-18 20:30:21 +02:00
Gregor Parzefall 15fb4cab15
Fix Android segfault when game exits before TouchScreenGUI is initalized 2023-05-11 22:51:16 +02:00
sfan5 15445a0fbe Raise and clean up _WIN32_WINNT constant 2023-05-11 22:51:01 +02:00
Wuzzy 80574cdbe8
Fix rotation of 4dir in schematic placement (#13432) 2023-05-11 22:50:52 +02:00
Buckaroo Banzai 65692ad1b5
Add min/max protocol version to `minetest.get_version()` (#13482) 2023-05-06 16:16:21 +01:00
DS bec9c68bf3
Release invlist resizelock while doing the recursive callback in move_somewhere mode (#13470)
Fixes a crash in popular creative inventory mods that set the list when you put
something into trash.
2023-04-30 18:20:48 +02:00
lhofhansl b35aa10579
Guarantee ActiveObjectMgr::m_active_object is not modified while iterating (#13468)
Currently if a mod creates new active objects in on_deactivate the server could crash.
2023-04-28 11:17:48 -07:00
Desour 7f6b09dce8 Use json forward-declarations 2023-04-27 18:50:33 +02:00
Desour 8b73743baa Reduce number of recursively included headers
This should improve compilation speed.

Things changed:
* Prefer forward-declarations in headers.
* Move header-includes out of headers if possible.
* Move some functions definitions out of headers.
* Put some member variables into unique_ptrs (see Client).
2023-04-27 18:50:33 +02:00
Desour e9e8eed360 GUIChatConsole: Use primary selection 2023-04-27 18:50:17 +02:00
Desour 062b4d036a GUIEditBox: Use primary selection 2023-04-27 18:50:17 +02:00
SmallJoker 0fb6dbab36
InventoryManager: Disallow resizing or deleting inventory lists that are in use (#13360)
Naive solution to prevent InventoryList UAF and OOB ItemStack access caused by shrink/clear operations on InventoryLists within callbacks of an inventory action.

Co-authored-by: Desour <ds.desour@proton.me>
2023-04-22 17:42:36 +02:00
rubenwardy 4158b72971
Add ability to override item images using meta (#12614) 2023-04-17 19:44:41 +01:00
rubenwardy b1786e88ac Use .md extension for markdown files
Linking to line numbers is brittle, linking to sections/headings is better.

If you still want to link to a line number, you can append ?plain=1 to GitHub's URL
2023-04-16 20:23:53 +01:00
rubenwardy 5cd6a22dd3
Update settingtypes (#13428)
* Move settings to correct sections
* Improve titles and descriptions
* Make defaults in settingtypes.txt and defaultsettings.cpp match

Fixes #9002
2023-04-14 22:32:25 +01:00
Desour ccd696c49a Throw Hocroft-Karp onto shapeless recipes 2023-04-14 21:10:09 +02:00
Desour 50e91b882c Add some simple unittests for shapeless recipes
Note: devtest also has craft unittests (see devtest/mods/unittests/crafting.lua),
      but those aren't run at load-time.
2023-04-14 21:10:09 +02:00
DS ae7271b725
Fix background[] pos-offset lower-right-corner being at least (1,1) (#13320)
IGUIElement has a MinSize for the RelativeRect, which is at least (1,1).
This means a pos offset of (0,0) will cause a seemingly off-by-1 error at the
lower right corner, and (0.1,0.1) for example will just not work on the lower
right corner.
Ergo, we can't use the AbsoluteRect for storing the pos offset.
2023-04-14 21:05:09 +02:00
DS d49d80a4a0
Store whether window is maximized (#12861) 2023-04-14 21:04:03 +02:00
Lars f9b1176fa9 Track server's max AsyncRunStep 2023-04-14 00:09:48 +01:00
Lars 3d232e2345 Add MAX profiler option 2023-04-14 00:09:48 +01:00
rubenwardy 9d1ae80e89
Add focused styling to buttons (#13414) 2023-04-14 00:09:29 +01:00
Gregor Parzefall 2a1bc82887
Fix black loading screen background if `menu_clouds = false` (#13322) 2023-04-13 18:12:48 +01:00
Wuzzy d1e5dbefc7
Clarify documentation of punch key (#13238) 2023-04-13 18:12:26 +01:00
Desour fc116ec950 Play object footstep sound at feet 2023-04-13 18:12:13 +01:00
Zardshard e139749b5c
Simulate all keys being released when when game loses focus (#13336) 2023-04-13 18:06:21 +02:00
rubenwardy 2fc7eb3ea2
Remove formspec_default_bg_color/opacity settings (#13419)
These settings are unnecessary. They only apply when formspecs don't have a background/bgcolor set. In practice, most games do theme their GUIs. Removing low value settings simplifies code and improves UX by decluttering the settings menu

Split out from #12140
2023-04-11 19:57:36 +01:00
Desour 1dd13da37d Get rid of global dummySoundManager
There is no need for this to be globally unique.
2023-04-11 20:06:15 +02:00
Desour b201c03625 Use smart-ptrs in GUIEngine 2023-04-11 20:06:15 +02:00
Desour ceec560779 Add make_irr 2023-04-11 20:06:15 +02:00
Riley Adams 73391013f7
Add node pos to node damage HP change reason (#13196) 2023-04-10 23:04:52 +01:00
Lars 4a742be73e Do not call updateDrawList, updateDrawListShadow, and touchMapBlocks in the same frame 2023-04-09 07:10:17 -10:00
Lars 8982998681 Add a default direction light for shadows 2023-04-09 07:10:17 -10:00
sfan5 9d736e8b8b Drop ENABLE_GLES option
ENABLE_GLES predates forking Irrlicht. Its primary use was to distinguish Irrlicht-ogles from upstream version as Minetest could be compiled with either.
That's not necessary anymore and gets in the way sometimes.
2023-04-08 20:19:35 +02:00
sfan5 c26e122485 Move video_driver default selection to runtime 2023-04-08 20:19:35 +02:00
Desour 67068cfaf4 Get rid of wgettext 2023-04-08 20:17:50 +02:00
Vitaliy 35929d27e3
Remove fast faces (#13216)
Co-authored-by: Lars <larsh@apache.org>
2023-04-08 20:17:15 +02:00
SmallJoker ba2fee0751 Particle spawner: Fix missing parameters
The changes done to clientpackethandler.cpp and server.cpp move the
compatibility code into a protocol version check so that older code
parts can easily be removed in the future (e.g. bump of minimal version).
2023-04-08 17:23:17 +02:00
SmallJoker f8e0778fc9 Particle spawner: Move definitions to source
Long functions were moved to the source file to keep the header
short to speed up compiling. This has no functional change.
2023-04-08 17:23:17 +02:00
SmallJoker 9c9309cdbb
Lua API: Catch serialization error for chat messages (#13337)
Prevents server errors caused by too long chat messages from the Lua API.
2023-04-07 12:49:35 +02:00
SmallJoker d975ebdcb9
Limit formspec fields to 640K (#13380)
Fixes an issue where long inputs could cause issues when dealing with formspecs.
The expected data is usually below 1 KiB, however that's not a technical limit.
2023-04-07 12:49:23 +02:00
Lars 7048fc25dd Take mesh-bounding-sphere into account in updateDrawListShadow 2023-04-03 13:57:05 -07:00
Lars b01f85d573 Revert "Add mesh-holding blocks to shadow drawlist. (#13203)"
This reverts commit 2a8becd650.
2023-04-03 13:57:05 -07:00
SmallJoker 1c1f1b1615 Revert "Enable connected glass by default (#13242)"
This reverts commit a93f3542d9 for
the upcoming 5.7.0 release.

See https://github.com/minetest/minetest/issues/8290 for a detailed discussion.
2023-04-02 20:56:31 +02:00
x2048 6c0a6925fc
Corrections to loops and BFS cullers (#13375)
* Reset usage timers in loops culler
* Correctly touch map blocks when using bfs culler
* Align use of variables
* Report statistics when using loop culler
2023-04-01 22:41:00 +02:00
sfan5 819e9fc615 Do not rely on ZSTD_CLEVEL_DEFAULT define 2023-04-01 22:06:03 +02:00
lhofhansl 48fc286a95
Restart map-send cycle if visible blocks are soon to be unloaded. (#13277)
* Restart map-send cycle if visible blocks are soon to be unloaded.
* Reset completion timer when camera or position changed.

Co-authored-by: sfan5 <sfan5@live.de>
2023-03-30 09:19:13 -07:00
x2048 93898957b6
Return 'loops' occlusion culler under a setting (#13352)
* Add occlusion_culler setting to minetest.conf.example
* Add raytraced occlusion culling to 'loops' algorithm

---------

Co-authored-by: sfan5 <sfan5@live.de>
2023-03-30 00:10:23 +02:00
sfan5 bd88d299b9 Bump protocol version
and correct documentation of previous version
2023-03-29 23:19:39 +02:00
DS 2180dc14ef
Fix safeLoadFile() skipping 2 chars too much from the shebang (#13310) 2023-03-27 20:01:05 +02:00
DS ed632f3854
Safely handle block deletion (#13315)
Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2023-03-24 12:34:44 +01:00
x2048 f3b198e490
Return shadow_sky_body_orbit_tilt setting
Used as a default value when the game does not change the value via API (e.g. legacy server)
2023-03-24 12:34:21 +01:00
x2048 9af587c54e
Move rendering engine reset after deletion of game objects 2023-03-20 11:42:16 +01:00
x2048 6cd2eea487
Move drawing of wield tool into a dedicated step of the pipeline (#13338) 2023-03-19 21:31:15 +01:00
luk3yx 5fa63a0b0c
Fix server-side formspec state keeping issue (#13332) 2023-03-19 20:23:11 +01:00
x2048 6fe9bc8ae1
Remove obsolete rendering core init code (#13341)
Also removes duplicate call to shadow render step
2023-03-19 20:22:45 +01:00
Gregor Parzefall 38e005294f
Remove default keybind for pitchmove (#13319) 2023-03-16 14:57:44 +01:00
x2048 2bed338ef7
Fix occasional black screen on startup 2023-03-16 14:56:27 +01:00
Jude Melton-Houghton b7359f5fa9 Update nodes in LBM loop 2023-03-13 18:17:07 +01:00
DS cac1dca95b
Improvement of #12974: better linear independent vector (#12979) 2023-03-13 18:16:07 +01:00
DS 02346819f9
Fix rendertarget size being saved as screensize (#13313) 2023-03-12 19:56:49 +01:00
lhofhansl 3e148e2810
Fix infinite viewing_range (#13225)
Use a simplified version of the old loops culler for infinite viewing range.
2023-03-12 09:37:47 -07:00
DS b1ed0ef721
Fix ChatPrompt crash in very narrow windows (#13305)
In very narrow windows, `m_cols` can be small (i.e. 0).
Hence, `m_view <= m_line.size() + 1 - m_cols` does not guarantee
`m_view <= m_line.size()`.
`std::string::substr(pos, npos)` requires `pos <= size()`.
2023-03-11 17:46:49 +01:00
x2048 705195b43e
Scale culler steps proportionally to the mesh sizes (#13250) 2023-03-11 14:10:26 +01:00
updatepo.sh c77f3d4dc4 Update minetest.conf.example and translation file 2023-03-09 15:38:46 +01:00
lhofhansl 1f0d042377
Reduce server CPU consumed by occlusion culling. (#13260)
Cache blocks already occluded at a specific distance. The RemoteClient typically visits the same distance multiple time - especially at larger distances, so this saves significant CPU from recalculating the occlusion state of blocks.
2023-03-05 21:33:41 -08:00
ROllerozxa c91f3f99fd
Minor adjustments now that OpenGLES 2 is the default driver on Android (#12391) 2023-03-05 15:07:40 +01:00
SmallJoker 847ed04e0a Tile: Fix segfault caused by invalid PNG data 2023-03-05 14:41:55 +01:00
Lars e66e583f5e Remove accidental emacs files. 2023-03-03 17:51:45 -08:00
lhofhansl dcf6a6a67b
Log server map send cycle time. (#13259)
* Measure server map send time per player.
2023-03-03 17:41:30 -08:00
sfan5 915befecc5 Re-enable verbose logging on Android
Without recompiling, there's no way to see it in logcat otherwise.
2023-03-02 19:57:18 +01:00
PrairieWind a93f3542d9
Enable connected glass by default (#13242) 2023-03-02 19:56:55 +01:00
numzero d6be6682ec Drop dependency on IrrCompileConfig
The only remaining thing is IRRLICHT_SDK_VERSION via irrlicht.h
2023-03-01 09:06:23 +01:00
rubenwardy 39f4d26177
Add minetest.get_player_window_information() (#12367) 2023-02-27 22:58:41 +00:00
lhofhansl fbbdae93ee
Fix for #13255: Check if client has a block even if the server has unloaded it. (#13256) 2023-02-27 09:57:03 -08:00
lhofhansl fe3ea090d1
Don't expire blocks visible to the client. (#13255) 2023-02-26 14:18:18 -08:00
sofar 2083252c05
Sky: transmit body_orbit_tilt to client. (#13193)
This obsoletes the current client-side setting entirely. The server can
transmit the tilt to the client directly and will send 0.0f as default
value.

Co-authored-by: x2048 <codeforsmile@gmail.com>
Co-authored-by: sfan5 <sfan5@live.de>
2023-02-26 01:08:33 +01:00
DS 6e1c70e02b
Fix a -Wreorder warning 2023-02-22 11:06:48 +01:00
lhofhansl 63c378fb5b
Reduce client's packet processing budget per iteration from 100 to 10ms. (#13237) 2023-02-21 16:33:21 -08:00
x2048 2553db5c81
Fix rounding errors when slicing the shadow draw list (#13226) 2023-02-20 21:01:05 +01:00
Alex af4009d924
Add chat HUD flag (#13189) 2023-02-20 21:00:37 +01:00
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