1
0
mirror of https://github.com/minetest/minetest.git synced 2025-07-05 17:30:21 +02:00
Commit Graph

867 Commits

Author SHA1 Message Date
d1b80b462e Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
322c8cf270 Reduce exposure of various internals (#12885)
* refactoring(StaticObjectList): don't expose m_active and m_stored anymore

This prevents our old crap code where anyone can access to StaticObjectList. use proper modifiers. It also permits to do a short cleanup on MapBlock using a helper

* refactoring(MapBlock): reduce a bit exposed m_active_blocks variable

* refactoring: MapBlock::m_node_timers is now private

We already had various helpers to perform this privatization, just use it. Also factorize the MapBlock stepping code for timers using already existing code and importing them from ServerEnvironment to MapBlock.

It's currently done pretty straight forward without any inheritance as MapBlock is just used everywhere, maybe in a future we'll have ServerMapBlock over MapBlock. Currently for a simple function let's just use proper objects and add a comment warning

* refactoring(Server): fix duplicated function for add/remove node

* refactoring(guiFormSpecMenu): add removeAll function to prevent duplicated code

* refactoring(ShadowRenderer) + perf: code quality  + increase performance

* All callers are already using the point and we should never test a function with nullptr node, it's a bug. Removed workaround which was hacky and fix the bug
* Drop clientmap lookup from shadowrendered, just use directly its
  pointer and forbid to push it in the generic list
* Reduce memory pressure on the renderShadowObject by preventing
  deallocating and reallocating multiple vectors on each node

* refactoring(MapBlock): reduce exposure of MapBlock::m_static_objects

It's not complete as some parts of the code are pretty nested, but it's better than before :)

* fix: better working on new functions & drop unwanted 2 lines

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2022-11-03 17:35:31 +01:00
b38ffdec27 Implement vector and node conversion in Lua (#12609)
Co-authored-by: sfan5 <sfan5@live.de>
2022-10-18 18:01:44 -04:00
907dcdcf7b Add unittests for item movement code (#11885) 2022-09-27 16:22:11 -04:00
f4a01f3a5d Avoid duplication of mod metadata in memory (#12562)
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-26 17:03:43 -04:00
038da00e79 Code optimizations / refactor (#12704)
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-06 11:21:09 +01:00
2d10fa7867 Prevent loading a world with unresolved dependencies (#12542) 2022-08-19 12:31:36 +01:00
4648d8f499 Deprecate loading a world with unresolved dependencies (#12541)
Co-authored-by: sfan5 <sfan5@live.de>
2022-07-17 14:45:20 +01:00
20bd6bdb68 Animated particlespawners and more (#11545)
Co-authored-by: Lars Mueller <appgurulars@gmx.de>
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Dmitry Kostenko <codeforsmile@gmail.com>
2022-07-13 11:57:12 +02:00
e51f474613 Sounds: Various little improvements (#12486)
Use SimpleSoundSpec where reasonable (OpenAL)
Ensure the sound IDs do not underflow or get overwritten -> loop in u16
Proper use of an enum.
2022-07-09 22:32:24 +02:00
051181fa6e Enforce limits of settings that could cause buggy behaviour (#12450)
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
2022-07-09 22:32:08 +02:00
142928e944 Allow to set maximum star opacity at daytime (#11663) 2022-07-02 19:57:48 +01:00
a463620edb Re-order sound-related code (#12382)
Dropped ServerSoundParams -> moved to ServerPlayingSound. This gets rid of the duplicated
'fade' and 'pitch' values on server-side where only one was used anyway.
SimpleSoundSpec is the basic sound without positional information, hence 'loop' is included.

Recursively added PROTOCOL_VERSION to most functions to reduce the versioning mess in the
future. Per-type version numbers are kept for now as a safety rope in a special case.
2022-06-20 21:56:12 +02:00
f4a53f7ee6 No damage effects on hp_max change (#11846) 2022-06-11 20:00:40 +02:00
261a8db9dd Optimize Server::sendMetadataChanged a bit
The distance check also never worked as intended, now fixed.
2022-05-29 14:00:19 +02:00
f195db2d14 Add API function to invoke player respawn
closes #12272
2022-05-29 14:00:19 +02:00
4e9e230e34 Deprecate game.conf name, use title instead (#12030) 2022-05-21 16:23:30 +01:00
ec9f157512 Use native packer to transfer globals into async env(s) 2022-05-10 22:37:42 +02:00
f5a8593b11 Add more Prometheus metrics (#12274) 2022-05-09 21:20:58 +02:00
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
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
e7659883cc Async environment for mods to do concurrent tasks (#11131) 2022-05-02 20:56:06 +02:00
56a558baf8 Refactor some Lua API functions in preparation for async env 2022-05-02 20:54:55 +02:00
a65f6f07f3 Clean up some auth packet handling related code 2022-04-28 20:05:26 +02:00
0b5b2b2633 Disentangle map implementations (#12148)
Fixes violation of Liskov substitution principle
Fixes #12144
2022-04-07 21:58:04 +02:00
0f25fa7af6 Add API to control shadow intensity from the game/mod (#11944)
* Also Disable shadows when sun/moon is hidden. Fixes #11972.
2022-03-26 16:58:26 +01:00
04bd253390 Move the codebase to C++14 2022-02-26 14:39:41 +01:00
c31b301722 Clean up ClientReady packet handling
fixes #12073
2022-02-17 23:20:33 +01:00
b9ee29a945 Send HUD flags only if changed 2022-02-08 19:28:32 +01:00
1c73902005 Clean up ClientInterface locking 2022-02-03 11:43:51 +01:00
91c6728eb8 Add game name to server status string 2022-01-28 17:15:10 +01:00
7c93b2d7a3 Give the ASCII console splash a facelift 2022-01-15 17:45:33 +01:00
379473b670 Improve situation around race condition with dynamic_add_media during client join 2022-01-15 17:45:08 +01:00
72b14bd994 Don't call on_dieplayer callback two times (#11874) 2022-01-15 17:44:55 +01:00
bf22569019 Use a database for mod storage (#11763) 2022-01-07 20:28:49 +02:00
0ea8df4d64 Socket-related cleanups
Improve error handling on Windows and reduce the size of the `Address` class
2021-12-29 23:01:26 +01:00
ff934d538c Fix various code & correctness issues (#11815) 2021-12-05 14:40:30 +01:00
fe7195badb Make /status message easier to read 2021-10-15 18:13:57 +02:00
6fedee16f0 Readd TGA to the list of valid texture formats. (#11598) 2021-09-15 11:12:24 +01:00
766e885a1b Clean up/improve some scriptapi error handling code 2021-09-10 23:16:46 +02:00
7423c4c11e Send to clients node metadata that changed to become empty (#11597) 2021-09-10 23:16:34 +02:00
bbfae0cc67 Dynamic_Add_Media v2 (#11550) 2021-09-09 16:51:35 +02:00
3f1adb49ae Remove redundant on_dieplayer calls 2021-08-28 12:14:16 +02:00
1e2b638881 Remove unsupported formats from the media enumerator 2021-07-29 22:42:47 +02:00
6e8aebf432 Add bold, italic and monospace font styling for HUD text elements (#11478)
Co-authored-by: Elias Fleckenstein <eliasfleckenstein@web.de>
2021-07-27 19:11:46 +02:00
a8b7c8ff38 Server: Ignore whitespace-only chat messages 2021-06-22 19:47:18 +02:00
cafad6ac03 Translate builtin (#10693)
This PR is the second attempt to translate builtin.
Server-sent translation files can be added to `builtin/locale/`, whereas client-side translations depend on gettext.
2021-03-05 16:29:48 +01:00
375bcd65c1 Send attachments instantly before set_pos (#10235) 2021-02-12 20:54:06 +01:00
d287da184c Server: properly delete ServerMap on interrupted startups
A static mod error (e.g. typo) would abort the initialization but never free ServerMap
2021-02-05 18:38:34 +01:00
674d67f312 Encode high codepoints as surrogates to safely transport wchar_t over network
fixes #7643
2021-02-02 20:46:08 +01:00