Commit Graph

10642 Commits

Author SHA1 Message Date
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
sfan5
7fff9da71d item_entity: Cache collisionbox for use in on_step
I don't have absolute numbers but if calls to get_properties() take up
30%+ of on_step() execution time that's bound to matter.
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
Zughy
6f0c966877
Remove unused variable WARN_INIT 2022-05-08 19:11:15 +02:00
Jude Melton-Houghton
f10a260301
Enable dependencies when enabling modpacks (#12202) 2022-05-08 16:21:59 +01:00
Jude Melton-Houghton
54bc8a7627
Fix enabling of dependencies with identical names (#12253) 2022-05-08 14:14:14 +01:00
rubenwardy
9824a451bb Fix mods not being recursively enabled
Fixes #12290
2022-05-08 14:01:32 +01:00
rubenwardy
e0e897832c Fix texture packs showing as "Nil (enabled)" in Content tab
Fixes #12285
2022-05-07 23:05:39 +01: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
sfan5
4e1de06782 Bump IrrlichtMt to 1.9.0mt5 in CI 2022-05-06 15:16:04 +02:00
sfan5
8735a85a30 Declare all bundled libs as static
Otherwise it can happen that these are built as shared depending on the
options passed to CMake, which obviously isn't intended.
2022-05-06 15:16:04 +02:00
sfan5
e108954633 Sort out some issues with our CI setup
* add missing apt-get update where needed
* move some jobs to run on ubuntu-20.04
* update actions plugins to latest
* speed up the job that runs multiplayer tests
2022-05-06 15:15:53 +02: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
Lars Müller
ae7664597e
Add vector.combine (#11920) 2022-05-04 07:44:14 -04:00
rubenwardy
e9e671078c ContentDB: Fix ungraceful crash on aliases when list download fails
Fixes #12267 and fixes #12154
2022-05-03 20:00:29 +01: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
e6385e2ab7 Reorganize some builtin 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
JakobDev
41e79d902d
Add German translation to AppData file (#12161) 2022-05-02 18:22:23 +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
x2048
828461c193
Run automated tests when lua files change (#12184)
* Run automated tests when lua files change

* skip busted on devtest

* use newer build env

* Add .luacheckrc for games/devetest

Co-authored-by: sfan5 <sfan5@live.de>
2022-04-30 15:54:07 +02:00
qwerty123a2
ec4a789b4f
Update mods_here.txt to mention installing mods via CDB (#11876)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2022-04-29 17:15:19 +01: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
Wuzzy
a2f13e479b
DevTest: Fix armorball sprite (#12228) 2022-04-28 18:51:16 +02:00
Lars Müller
fccf1e2eac
Support CSS Color Module Level 4 (#12204) 2022-04-27 17:00:02 -04:00
rubenwardy
480d5f2d51 Fix texture packs not showing as enabled in mainmenu
Fixes #12219
2022-04-24 23:09:23 +01:00
Alex
a6170963b8
Fix invalid queued package element and path (#12218) 2022-04-24 22:49:07 +01:00
Wuzzy
77325b92fb
DevTest: Add more test weapons and armorball modes (#11870)
Co-authored-by: sfan5 <sfan5@live.de>
2022-04-24 22:48:50 +01:00
Giuseppe Bilotta
b55d7cd45a Fix worldaligned textures
As reported in #12197, b0b9732359d43325c8bd820abeb8417353365a0c
introduces a regression in worldalign textures.

The specific change that seems to be responsible for this issue is the
change in order between the computation of the cuboid texture
coordinates and the box edge correction.

Fix #12197 by moving the box edge correction back to before the cuboid
texture coordinates, as it used to be.
2022-04-24 21:11:24 +02:00
Giuseppe Bilotta
23f981c458 Fix some textures not being sent correctly to older clients
Since b2eb44afc50976dc0954c868977b5829f3ff8a19, a texture defined as
`[combine:16x512:0,0=some_file.png;etc`
will not be sent correctly from a 5.5 server to a 5.4 client due to the
overeager detection of unsupported base modifier `[` introducing a
spurious `blank.png^` before the modifier.

Fix this by whitelisting which base modifiers can be passed through
unchanged to the client, and prefix `blank.png` for the others
(which at the moment is just [png:, but the list may grow larger
as new base modifiers are added.)
2022-04-24 21:10:23 +02:00
Lars Müller
48d1bca9b8
Fix typo: vector.check() ought to be vector.check(v) 2022-04-24 21:10:03 +02:00
olive
a13cf0e3ce
Use mod names/titles instead of technical names (#12192) 2022-04-24 21:09:11 +02:00
SmallJoker
1c8614ac9a
Builtin: Allow to revoke unknown privileges 2022-04-24 21:08:33 +02:00
Lars Müller
4558793caf
Fix some debug info showing despite being disabled in the UI (#12205) 2022-04-21 21:45:47 +02:00