aboutsummaryrefslogtreecommitdiff
path: root/src/client/client.cpp
AgeCommit message (Collapse)Author
2023-03-07Dual wieldingLizzy Fleckenstein
2023-02-27Add minetest.get_player_window_information() (#12367)rubenwardy
2023-02-21Reduce client's packet processing budget per iteration from 100 to 10ms. ↵lhofhansl
(#13237)
2023-02-08Generalize mesh chunking, and make it configurable. (#13179)lhofhansl
* 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-01-318x block meshes (#13133)x2048
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-09Remove mapblock cache for mesh generation. (#13124)x2048
Reduces memory consumption and improves performance
2023-01-06Occlusion culling algorithm based on recursive descend (#13104)x2048
Co-authored-by: DS <vorunbekannt75@web.de>
2022-12-27Use multiple threads for mesh generation (#13062)x2048
Co-authored-by: sfan5 <sfan5@live.de>
2022-11-24Rename "mod metadata" to "mod storage" everywhereJude Melton-Houghton
2022-11-09Fix typos and en_US/en_GB inconsistency in various files (#12902)Abdou-31
2022-10-18Implement vector and node conversion in Lua (#12609)Jude Melton-Houghton
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-26Avoid duplication of mod metadata in memory (#12562)Jude Melton-Houghton
Co-authored-by: sfan5 <sfan5@live.de>
2022-08-19Prevent loading a world with unresolved dependencies (#12542)rubenwardy
2022-08-14Limit force shadow update to urgent blocks (#12692)x2048
2022-07-14Refactor ModConfigurationrubenwardy
2022-07-09Enforce limits of settings that could cause buggy behaviour (#12450)SmallJoker
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
2022-06-11No damage effects on hp_max change (#11846)Lars Müller
2022-06-05Add register dialog to separate login/register (#12185)rubenwardy
New users find Minetest's account system confusing. This change moves username/password to a new dialog, with login and register buttons added to the Join Game tab. The old registration confirmation dialog is removed in favour of the new dialog. Fixes #8138
2022-05-29Make sure real disconnect reason isn't overwrittensfan5
bug introduced in 2f32044273d107e82fb1c35d4a0f616fa480cdf0
2022-05-26Force-update shadows when the world is changed (#12364)x2048
2022-05-21Don't ignore server disconnects in client codesfan5
If the server stops talking to us without saying bye we should actually end the in-game session with an error message.
2022-05-04guiScalingFilter: Fix most memory leaks (#12256)SmallJoker
Calls to the cache function ended up creating a new texture regardless whether the texture is already cached.
2022-04-28Refactor local time getter functions (#12221)Oblomov
This commit introduces mt_localtime() in src/gettime.h, a wrapper around the OS-specific thread-safe versions of localtime() (resp. localtime_s on Windows and localtime_r in other systems). Per the Open Group recommendation, «portable applications should call tzset() explicitly before using ctime_r() or localtime_r() because setting timezone information is optional for those functions», so we also do a one-shot call of tzset() (_tzset() on Windows to avoid warning C4996). The function is used to replace the localtime() calls in getTimestamp() and makeScreenshot(). (The only reminaing call to localtime() in the tree now is the one in the local copy of the Lua source code.)
2022-01-27Automatically migrate client mod storage (#11960)Jude Melton-Houghton
2022-01-09Restore pass-through of direction keys (#11924)sfan5
This moves relevant code into the PlayerControl class and gets rid of separate keyPressed variable.
2022-01-07Use a database for mod storage (#11763)Jude Melton-Houghton
2021-12-29Add more neighbors on mesh update (#6765)Vitaliy
2021-12-01Network: Delete copy constructor and use std::move instead (#11642)SmallJoker
This is a follow-up change which disables class copies where possible to avoid unnecessary memory movements.
2021-09-11Make sure relevant std::stringstreams are set to binarysfan5
2021-09-09Dynamic_Add_Media v2 (#11550)sfan5
2021-08-19Add fwgettext util functionrubenwardy
2021-07-31Mods: Combine mod loading checks and deprection logging (#11503)SmallJoker
This limits the logged deprecation messages to the mods that are loaded Unifies the mod naming convention check for CSM & SSM
2021-07-17CSM: Do not index files within hidden directoriesSmallJoker
CSM would previously scan for files within .git or .svn directories, and also special files such as .gitignore
2021-05-06fix: extractZipFile is not part of Client but more generic.Loic Blot
This solve a crash from mainmenu while extracting the zip
2021-05-03fix: some code tidy about includes & irr namespacesLoic Blot
2021-05-03refacto: remove get_gui_env & draw_load_screen from RenderingEngine singletonLoic Blot
2021-05-03fix: don't use RenderingEngine singleton when it's possibleLoic Blot
2021-05-03refacto: RenderingEngine::get_scene_manager() is now not callable from singletonLoic Blot
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-03refacto: protect some RenderingEngine::get_scene_managerLoic Blot
* protect it from Camera, Sky, ClientMap object calls * rename Game::sky to Game::m_sky
2021-05-03refacto: hide mesh_cache inside the rendering engineLoic Blot
This permit cleaner access to meshCache and ensure we don't access to it from all the code
2021-05-03refacto: add RenderingEngine::cleanupMeshCacheLoic Blot
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
2021-05-03refacto: rendering engine singleton removal step 1 (filesystem)Loic Blot
Make the RenderingEngine filesystem member non accessible from everywhere This permits also to determine that some lua code has directly a logic to extract zip file. Move this logic inside client, it's not the lua stack role to perform a such complex operation Found also another irrlicht <1.8 compat code to remove
2021-05-03fix: drop old irrlicht <1.8 compat on Client::loadMediaLoic Blot
2021-03-12Avoid unnecessary copies during media/mesh loadingsfan5
2021-03-12Handle mesh load failure without crashingsfan5
2021-02-02Drop wide/narrow conversion functionssfan5
The only valid usecase for these is interfacing with OS APIs that want a locale/OS-specific multibyte encoding. But they weren't used for that anywhere, instead UTF-8 is pretty much assumed when it comes to that. Since these are only a potential source of bugs and do not fulfil their purpose at all, drop them entirely.
2021-01-31Readd Client::sendPlayerPos optimization (was part of 81c7f0a)sfan5
This reverts commit b49dfa92ce3ef37b1b73698906c64191fb47e226.
2021-01-22Remove dead code (#10845)rubenwardy
2020-10-19Decouple entity minimap markers from nametags replacing with show_on_minimap ↵sfan5
property (#10443)
2020-10-05Remove unused functions reported by cppcheck (#10463)SmallJoker
Run unused functions reported by cppcheck This change removes a few (but not all) unused functions. Some unused helper functions were not removed due to their complexity and potential of future use.