aboutsummaryrefslogtreecommitdiff
path: root/src/util
AgeCommit message (Collapse)Author
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-12Increase `ftos` precision (#13141)Jude Melton-Houghton
2022-11-30Handle num lock in chat (#12984)Jude Melton-Houghton
2022-11-24Deprecate special handling of `${key}` syntax in metadata values (#12970)Jude Melton-Houghton
2022-11-24Add support for attached facedir/4dir nodes (#11432)Wuzzy
2022-11-09Fix typos and en_US/en_GB inconsistency in various files (#12902)Abdou-31
2022-10-30Allow rotating entity selectionboxes (#12379)Lars Müller
2022-10-21Fix formspec focus (#12795)DS
2022-10-13object ids are u16, not s16 (#12848)fluxionary
2022-09-20Simplify bit flip in sha1.cppndren
2022-09-11Fix potential use-after-free with item metadata (#12729)Jude Melton-Houghton
This fixes a use-after-free bug in the case where itemstack metadata is accessed after the itemstack has been garbage-collected.
2022-09-06Code optimizations / refactor (#12704)Herman Semenov
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com> Co-authored-by: sfan5 <sfan5@live.de>
2022-07-31Apply NetBSD string conversion workaround to OpenBSD as well (#12618)Mantar
2022-07-14Move f1000 sanitizing to the places that still use this typesfan5
2022-07-13Animated particlespawners and more (#11545)Lexi Hale
Co-authored-by: Lars Mueller <appgurulars@gmx.de> Co-authored-by: sfan5 <sfan5@live.de> Co-authored-by: Dmitry Kostenko <codeforsmile@gmail.com>
2022-06-16Update my nameNathanaël Courant
2022-06-07Sanitize player position and speed server-side (#12396)sfan5
2022-06-05Fix BSD iconv declarationsavilli
2022-05-21Optimize JSON string (de)serialization routinessfan5
stringstreams were shown to be slow when reading/writing single characters and there is lots of potential by having functions perform on existing buffers whenever possible.
2022-05-21Improve testSerializeJsonString unit testssfan5
this also removes the requirement that / is escaped, there is no reason for doing so.
2022-05-09Add more Prometheus metrics (#12274)sfan5
2022-05-04Make logging cost free when there is no output target (#12247)paradust7
The logging streams now do almost no work when there is no output target for them. For example, if LL_VERBOSE has no output targets, then `verbosestream << x` will return a StreamProxy with a null target. Any further `<<` operations applied to it will do nothing.
2022-05-02Async environment for mods to do concurrent tasks (#11131)sfan5
2022-04-27Support CSS Color Module Level 4 (#12204)Lars Müller
2022-04-08Fix OOB read in trim("")ShadowNinja
2022-04-08Update directory name sanitizationShadowNinja
Only ASCII spaces have to be handles specially, and leading spaces are also disallowed.
2022-04-08Add additional reserved directory namesShadowNinja
2022-04-08Spacing fixesShadowNinja
2022-04-08Fix compiler warningsShadowNinja
2022-03-09Fix memory leak from SpatialAreaStore (#12120)Daroc Alden
2022-02-26Move the codebase to C++14sfan5
2022-01-01Print announce error response (#11878)ShadowNinja
Fix HTTPFetch caller and request ID to 64 bits Check that allocated caller ID is not DISCARD Print body if serverlist request returns error Don't print control characters from HTTP responses Document special HTTPFetch caller IDs Allow unicode to be printed
2021-12-28Restore GCC 5 compatibility (#11778)JosiahWI
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-10-25Fix item duplication if player dies during interact callback (alternative) ↵sfan5
(#11662)
2021-10-15Make /status message easier to readWuzzy
2021-09-19Fix src/util/string.cpp on NetBSDnia
- iconv() prototype changed from traditional Unix defintion to POSIX definition in 9.99.x. - wchar_t is not a valid character set for iconv. Share code with Android for using UTF-32.
2021-09-17Shave off buffer copies in networking code (#11607)sfan5
2021-09-11Make sure relevant std::stringstreams are set to binarysfan5
2021-07-29Add a simple PNG image encoder with Lua API (#11485)hecks
* Add a simple PNG image encoder with Lua API Add ColorSpec to RGBA converter Make a safety wrapper for the encoder Create devtest examples Co-authored-by: hecktest <> Co-authored-by: sfan5 <sfan5@live.de>
2021-07-11Improve shadow rendering with non-default camera FOV (#11385)x2048
* Adjust minimum filter radius for perspective * Expand shadow frustum when camera FOV changes, reuse FOV distance adjustment from numeric.cpp * Read shadow_soft_radius setting as float * Use adaptive filter radius to accomodate for PSM distortion * Adjust filter radius for texture resolution
2021-05-30Fix base64 validation and add unittests (#10515)Lars Müller
Implement proper padding character checks
2021-04-23Add `minetest.colorspec_to_colorstring` (#10425)Vincent Robinson
2021-04-05Reserve vectors before pushing and other code quality changes (#11161)sfan5
2021-03-16Tweak duration_to_string formattingWuzzy
2021-02-26Keep mapblocks in memory if they're in range (#10714)hecks
Some other minor parts of clientmap.cpp have been cleaned up along the way
2021-02-17Add nametag background setting and object property (#10937)rubenwardy
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-02-02Refactor utf8_to_wide/wide_to_utf8 functionssfan5