aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2022-05-26Force-update shadows when the world is changed (#12364)x2048
2022-05-26Reduce size of ContentFeatures structuresfan5
On my system this is a reduction from 4664 to 3704 bytes. This is not for the sake of saving RAM but ensuring commonly used structures fit into caches better.
2022-05-26Get rid of global buffer that would ruin concurrent MapBlock serializationsfan5
2022-05-26Improve code in mapblock_mesh.cpp a bitsfan5
2022-05-23Quantize light frustum calculations (#12357)x2048
* Quantize light frustum calculations Reduces shadow flicker * Fix function name to match conventions
2022-05-23Fix hash implementation for SerializedBlockCachesfan5
2022-05-23Use unordered_map instead of map for MapSectorsRichard Try
2022-05-23Add missing concurrency protection in logger (#12325)paradust7
2022-05-23Fix no_texture.png for unknown nodes with ID < 125 (#12329)Wuzzy
2022-05-22Replace all uses of core::list with std::list (#12313)paradust7
2022-05-22Fixes needed to use irrArray backed by std::vector (#12263)paradust7
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-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-21Deprecate game.conf name, use title instead (#12030)rubenwardy
2022-05-21Improve shadow filters (#12195)x2048
* Rewrite shadow filtering for the new distortion * Calculate penumbra radius using a single sample * Avoid peter-panning effect due to filtering of short shadows * Add adaptive filter quality for soft shadows * Avoid sharp shadows on surfaces without normals (e.g. plants) * Increase default and maximum soft shadow radius * Make line numbers in shader errors match the code
2022-05-20Fix lighting of upright_sprite entities (#12336)x2048
Use MeshNode materials to set the light since ReadOnlyMaterials is now false
2022-05-20Fix lighting of the wield mesh (#12341)x2048
* Assign node light to player before final color blend. Fixes day/night lightbank ratio for wield meshes * Update wield mesh light when changing mesh
2022-05-18Use std::map instead of core::map (#12301)paradust7
2022-05-17Remove confusing message in keybindings menusavilli
2022-05-15Initialize wield mesh color when wield_image is setDmitry Kostenko
#12245
2022-05-10Use native packer to transfer globals into async env(s)sfan5
2022-05-10Support packing arbitrary graphs (#12289)Jude Melton-Houghton
2022-05-10Fix cooking and fuel crafts with aliasesJude Melton-Houghton
2022-05-10Fix possible unreliable behavior due to uninitialized variablesOctavian
2022-05-09Add more Prometheus metrics (#12274)sfan5
2022-05-09HUD: Update selection mesh every frame (#12270)Lars Müller
Fixes outdated selection boxes after entity property changes.
2022-05-08Consolidate some data structures in MapBlockMeshsfan5
2022-05-08Cache serialized mapblocks during sendingsfan5
This reduces the (absolute) time spent in Server::SendBlocks() from 700ms to 300ms (relative) share of MapBlock::serialize() from 80% to 60% in a test setup with 10 players and many block changes
2022-05-08Fix mapblock geometry optimisation not workingROllerozxa
Caused by the depth sorting PR marking not only transparent nodes to be ignored but also opaque ones with the TILE_MATERIAL_BASIC material type
2022-05-06Add benchmarks for json string serialize/deserialize (#12258)paradust7
Co-authored-by: sfan5 <sfan5@live.de>
2022-05-06Enable chat clickable weblinks by default (#12115)Froggo
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-05-04Fix Windows Visual Studio actions (#11176)LoneWolfHT
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-05-04Avoid rendering invisible faces of simple nodeboxes (#12262)x2048
* Skip rendering faces adjacent to opaque nodes * Cancel out opposite faces of adjacent nodebox nodes of the same type Fixes #6409
2022-05-04hud_get: Return precision field for waypoints (#12215)Lars Müller
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-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-03Fix broken FPS/dtime counters in debug infosfan5
was broken by a89afe1229e327da3c397a3912b2d43d2196ea2b
2022-05-02Async environment for mods to do concurrent tasks (#11131)sfan5
2022-05-02Fix synchronization issue at thread startsfan5
If a newly started thread immediately exits then m_running would immediately be set to false again and the caller would be stuck waiting for m_running to become true forever. Since a mutex for synchronizing startup already exists we can simply move the while loop into it. see also: #5134 which introduced m_start_finished_mutex
2022-05-02Refactor some Lua API functions in preparation for async envsfan5
2022-05-02Remove some unused variable from Lua class wrapperssfan5
2022-05-01Initialize wield mesh colors when changing item. (#12254)x2048
Fixes #12245
2022-04-30Deal with compiler warningssfan5
2022-04-30Enable additional warning flagssfan5
also make them work with the RelWithDebInfo build type
2022-04-28Clean up some auth packet handling related codesfan5
2022-04-28Fix password changing getting stuck if wrong password is entered oncesfan5
2022-04-28Apply disallow_empty_password to password changes toosfan5
2022-04-28Fix race condition in registration leading to duplicate create_auth callssfan5
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.)