* Actually check if map save succeeded before displaying success message
It would be great to offer more clarity to the mapper about *why* the
save didn't succeed, but at least they won't be deceived into thinking
their work has been saved when it hasn't.
Portuguese localization text is via DuckDuckGo Translate, so I hope it's
reasonable.
* Actually check save success for saving grids
These messages need localization, too, but that seems out of scope for
my PR.
* Improve map save error message
Now it tells the mapper to go look at the server log.
Still translated via DuckDuckGo Translate.
* Normalize indentation and style
This is important groundwork for future features such as captioning,
as a caption and other data can be associated with the collection
prototype instead of passing extra data everywhere with the sound.
IDK why the lifestage one in particular ballooned my dotmemory one up in particular but it did; I would've thought if it's boxing the other ones would've shown up. Doesn't matter for release just QOL to drop allocs by more than half.
Fixes#5592
This allows net.tickrate to be set to a max of 65535 instead of 255.
I didn't raise it fully to a uint because there are many places it's cast to an int, so uint would cause various compiler errors and compat issues I don't wanna deal with.
* Toolshed Rejig
* shorten hint string
* Try fix conflicts. Ill make with work later
* bodge
* Fix ProtoIdTypeParser assert
* comment
* AllEntities
* Remove more linq from WhereCommand
* better help strings
* Add ContainsCommand
* loc strings
* Add contains command description
* Add $self variable
* Errors for writing to readonly variables
* A
* Replace obsolete MapGridComponent methods
Some other obsolete methods were also replaced in edited files
* Whitespace and better readability
* Value instead of cast
* Fix ISawmill not initialized and incorrect log
Had a plan to use this, but realized for what I'm doing immediately I don't quite need it yet.
/update server endpoint can now receive a Reason code and Message field. These are available with IWatchdogApi.RestartRequested.
Cleaned up IWatchdogApi: Added comments, moved symbols that should only be called by the engine to an internal interface. Also cleaned up some code in WatchdogApi to remove some IDE warnings.
* New HWID system prep
* Allow HWID to be disabled.
Both client and server can now request HWID to be disabled.
On the server via CVar, if disabled the client won't send it.
On the client via env var, if disabled it won't be sent to the client.
This involved moving legacy HWID to be sent in MsgEncryptionResponse instead of MsgLoginStart. This means the legacy HWID won't be available anymore if the connection isn't authenticated.
* Fix tests
* Fix another test
* Review
* Thanks Rider
* feat: added audio system predicted method for only one receiver
* renamed to PlayLocal
* tweak
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Add CompRegistry methods to EntManager / CompFac
CompRegistries are nice to use and this just makes it a bit easier to extend functionality.
* fix bad pull
It is our suggestion for a long while to keep the TPS at 30 for servers. However the default was always 60.
I believe its better to have it as a default.
* Add MapSystem.GetMapOrInvalid
This is effectively the same exact behavior as IMapManager.GetMapEntityId. Adding this so I don't have to consider whether warning fixes using MapSystem.GetMap() instead would change behavior.
* Warning fixes around IMapManager.GetMapEntityId
* Fix tests
* Strongly order network prototypes and resources.
When a new client connects, both the uploaded prototypes and resources get sent at once. There was no ordering here, which means that prototypes could easily load before resources. This would then obviously give load errors at runtime. In practice though this seemed fine because the RSI or something would just load fine after when spawned or something.
This was then broken by ae1051e813, which made ResourceCache start caching "that RSI doesn't exist" so it never really tried again.
I originally tried to fix this by adding an API to IResourceManager that allows content to invalidate the aforementioned cache (commit 316a7e4ac10100593202ff7f53dc2992611bbd1e, for however GitHub will track that) but then realized resource uploading isn't part of content like I first thought. Lol whoops. That API might still be useful for other dynamic content use cases, but I'm not committing it for now. That fix still caused errors to be spammed if the prototype was loaded before the resources were ready.
The new fix is to just load resources before prototypes. This is done by making them both ordered relative to each other, and running resources first.
Fixes#5291
* Release notes