sfan5
9a01581cdd
Get rid of global buffer that would ruin concurrent MapBlock serialization
2022-05-26 15:49:12 +02:00
sfan5
5d26ac0088
Improve code in mapblock_mesh.cpp a bit
2022-05-26 15:49:12 +02:00
x2048
ed26ed5a1f
Quantize light frustum calculations ( #12357 )
...
* Quantize light frustum calculations
Reduces shadow flicker
* Fix function name to match conventions
2022-05-23 23:45:18 +02:00
sfan5
5daafc9d33
Fix hash implementation for SerializedBlockCache
2022-05-23 22:50:58 +02:00
Richard Try
e16a470d59
Use unordered_map instead of map for MapSectors
2022-05-23 22:50:49 +02:00
paradust7
367a2d4b29
Add missing concurrency protection in logger ( #12325 )
2022-05-23 22:50:25 +02:00
Wuzzy
0f9c78c3eb
Fix no_texture.png for unknown nodes with ID < 125 ( #12329 )
2022-05-23 22:50:10 +02:00
paradust7
9f338f5a56
Replace all uses of core::list with std::list ( #12313 )
2022-05-22 00:11:59 +02:00
paradust7
2742fef458
Fixes needed to use irrArray backed by std::vector ( #12263 )
2022-05-22 00:11:49 +02:00
sfan5
2f32044273
Don't ignore server disconnects in client code
...
If the server stops talking to us without saying bye we
should actually end the in-game session with an error message.
2022-05-21 17:49:55 +02:00
sfan5
9ee3dc71f1
Optimize JSON string (de)serialization routines
...
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-21 17:46:10 +02:00
sfan5
70dc23f996
Improve testSerializeJsonString unit tests
...
this also removes the requirement that / is escaped, there is
no reason for doing so.
2022-05-21 17:46:10 +02:00
rubenwardy
4e9e230e34
Deprecate game.conf name, use title instead ( #12030 )
2022-05-21 16:23:30 +01:00
x2048
dc45b85a54
Improve shadow filters ( #12195 )
...
* 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-21 16:49:30 +02:00
x2048
a4ef62f5b2
Fix lighting of upright_sprite entities ( #12336 )
...
Use MeshNode materials to set the light since ReadOnlyMaterials is now false
2022-05-20 22:35:03 +02:00
x2048
604fb2b738
Fix lighting of the wield mesh ( #12341 )
...
* 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-20 22:33:52 +02:00
paradust7
273bfee9a1
Use std::map instead of core::map ( #12301 )
2022-05-18 12:31:49 +02:00
savilli
af37f9dc54
Remove confusing message in keybindings menu
2022-05-17 20:11:08 +02:00
Dmitry Kostenko
8756b7a735
Initialize wield mesh color when wield_image is set
...
#12245
2022-05-15 21:44:55 +02:00
sfan5
ec9f157512
Use native packer to transfer globals into async env(s)
2022-05-10 22:37:42 +02:00
Jude Melton-Houghton
7f58887ae3
Support packing arbitrary graphs ( #12289 )
2022-05-10 22:37:33 +02:00
Jude Melton-Houghton
d17d7eba14
Fix cooking and fuel crafts with aliases
2022-05-10 22:37:05 +02:00
Octavian
0f8c46771e
Fix possible unreliable behavior due to uninitialized variables
2022-05-10 22:36:25 +02:00
sfan5
f5a8593b11
Add more Prometheus metrics ( #12274 )
2022-05-09 21:20:58 +02:00
Lars Müller
c2898f53bc
HUD: Update selection mesh every frame ( #12270 )
...
Fixes outdated selection boxes after entity property changes.
2022-05-09 20:43:47 +02:00
sfan5
a66e6d4dff
Consolidate some data structures in MapBlockMesh
2022-05-08 19:12:10 +02:00
sfan5
1fa4f58080
Cache serialized mapblocks during sending
...
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-08 19:12:10 +02:00
ROllerozxa
f128f4cba1
Fix mapblock geometry optimisation not working
...
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-08 19:11:44 +02:00
paradust7
87472150bc
Add benchmarks for json string serialize/deserialize ( #12258 )
...
Co-authored-by: sfan5 <sfan5@live.de>
2022-05-06 21:17:16 +01:00
Froggo
45d318a773
Enable chat clickable weblinks by default ( #12115 )
...
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-05-06 21:15:16 +01:00
LoneWolfHT
47cf257c40
Fix Windows Visual Studio actions ( #11176 )
...
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-05-04 22:55:02 +01:00
x2048
cc56ebd90d
Avoid rendering invisible faces of simple nodeboxes ( #12262 )
...
* Skip rendering faces adjacent to opaque nodes
* Cancel out opposite faces of adjacent nodebox nodes of the same type
Fixes #6409
2022-05-04 23:44:55 +02:00
Lars Müller
89c82035d8
hud_get: Return precision field for waypoints ( #12215 )
2022-05-04 20:55:20 +02:00
SmallJoker
3ce5a68cd1
guiScalingFilter: Fix most memory leaks ( #12256 )
...
Calls to the cache function ended up creating a new texture regardless whether
the texture is already cached.
2022-05-04 20:55:13 +02:00
paradust7
0704ca0550
Make logging cost free when there is no output target ( #12247 )
...
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-04 20:55:01 +02:00
sfan5
71a56c3552
Fix broken FPS/dtime counters in debug info
...
was broken by a89afe1229e327da3c397a3912b2d43d2196ea2b
2022-05-03 20:17:43 +02:00
sfan5
e7659883cc
Async environment for mods to do concurrent tasks ( #11131 )
2022-05-02 20:56:06 +02:00
sfan5
663c936428
Fix synchronization issue at thread start
...
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-02 20:54:55 +02:00
sfan5
56a558baf8
Refactor some Lua API functions in preparation for async env
2022-05-02 20:54:55 +02:00
sfan5
5362f472ff
Remove some unused variable from Lua class wrappers
2022-05-02 20:54:55 +02:00
x2048
c7bcebb628
Initialize wield mesh colors when changing item. ( #12254 )
...
Fixes #12245
2022-05-01 17:21:00 +02:00
sfan5
a89afe1229
Deal with compiler warnings
2022-04-30 16:49:41 +02:00
sfan5
faecff570c
Enable additional warning flags
...
also make them work with the RelWithDebInfo build type
2022-04-30 16:49:41 +02:00
sfan5
a65f6f07f3
Clean up some auth packet handling related code
2022-04-28 20:05:26 +02:00
sfan5
00f71c3b9d
Fix password changing getting stuck if wrong password is entered once
2022-04-28 19:55:36 +02:00
sfan5
3d2bf8fb02
Apply disallow_empty_password to password changes too
2022-04-28 19:55:36 +02:00
sfan5
391eec9ee7
Fix race condition in registration leading to duplicate create_auth calls
2022-04-28 19:55:36 +02:00
Oblomov
0d91ef78dd
Refactor local time getter functions ( #12221 )
...
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-04-28 18:53:33 +02:00
paradust7
7e18a1f1be
Remove HW_buffer_counter after IrrlichtMt fix to remove HWBufferMap ( #12232 )
...
Keep code and use version check instead, for backwards compatibility
2022-04-28 18:52:19 +02:00
Wuzzy
7f4fc6f8a7
Show unknown node in debug screen ( #12230 )
2022-04-28 18:51:46 +02:00