Pieter-Jan Briers
816a535a92
Fix obsoletion warnings for BinaryFormatter stuff
...
This became an outright warning in .NET 8. Into the trash, never used it.
2023-12-15 19:37:13 +01:00
Pieter-Jan Briers
01df42aa8f
Fix ICommonSession.ConnectedClient obsoletion warnings
2023-12-15 19:34:30 +01:00
Pieter-Jan Briers
a200d73ef9
Use FrozenDictionary in DependencyCollection.
...
Did not test the perf of this at all but it's the perfect use case so...
2023-12-15 19:28:56 +01:00
Pieter-Jan Briers
2686150f9d
Version: 191.0.1
2023-12-15 19:08:35 +01:00
Pieter-Jan Briers
d720e9393b
Fix .NET 8 sandbox.
...
Oops.
2023-12-15 19:08:06 +01:00
Pieter-Jan Briers
f5b1c26bec
Update Lidgren to fix nullable compilation issue
2023-12-15 18:28:10 +01:00
Pieter-Jan Briers
3204002c72
Version: 191.0.0
2023-12-15 18:09:15 +01:00
Pieter-Jan Briers
e0d38fb8bd
Fix TryGetResource silently eating exceptions
...
why god
2023-12-15 16:13:17 +01:00
Pieter-Jan Briers
dc96318379
Fix Lidgren compile on GitHub hopefully
2023-12-13 19:08:08 +01:00
Pieter-Jan Briers
31a3f145de
Add [ViewVariables] to BaseButton.EnableAllKeybinds
...
Makes it show up in the devwindow UI inspector.
2023-12-13 00:28:33 +01:00
Pieter-Jan Briers
331e1fcc81
Update Lidgren to v0.2.7
...
This adds NRT annotations. Fix compatibility with those.
2023-12-13 00:06:00 +01:00
Pieter-Jan Briers
215fc8c229
Begone, toolshed logs
...
They're verbose now
2023-12-01 22:30:44 +01:00
Pieter-Jan Briers
f82ff9e581
Improve error message for network failing to initialize.
...
The "make sure port XXXX is open" thing now only appears if the error was an actual "address in use" error.
2023-12-01 22:18:38 +01:00
Pieter-Jan Briers
be54c41891
Fix localization file error formatting.
2023-09-09 20:10:55 +02:00
Pieter-Jan Briers
5eed3bc281
Make toolshed stuff oneOff IoC injections.
...
Removes a ton of IoC injector delegates.
2023-08-29 21:56:57 +02:00
Pieter-Jan Briers
d78f378493
More event sources
2023-08-29 21:43:02 +02:00
Pieter-Jan Briers
409fe1a125
Some warning fixes
2023-08-27 15:35:15 +02:00
Pieter-Jan Briers
ab5db4641c
Update Lidgren to v0.2.6
2023-08-27 13:18:19 +02:00
Pieter-Jan Briers
5e1d80be35
Attempts to fix replay recording performance issues.
...
Replays now use a dedicated thread (rather than thread pool) for write operations.
Moved batch operations to this thread as well. They were previously happening during PVS. Looking at some trace files these compression ops can easily take 5+ ms in some cases, so moving them somewhere else is appreciated.
Added EventSource instrumentation for PVS and replay recording.
2023-08-27 02:15:15 +02:00
Pieter-Jan Briers
63423d96b4
Fixes for new color PR ( #4278 )
...
Undo change to violet color
add to named color list
2023-08-21 23:06:20 +02:00
Pieter-Jan Briers
3be8070274
Happy eyeballs delay can be configured.
2023-08-20 17:45:43 +02:00
Pieter-Jan Briers
b04cf71bc0
Expose SpinBox.LineEditControl
2023-08-19 16:32:05 +02:00
Pieter-Jan Briers
d6467f768a
Fix Logger calls in ComponentRegistrySerializer
2023-08-11 23:50:54 +02:00
Pieter-Jan Briers
2446e64033
entitysystemupdateorder debug command
2023-08-08 21:36:14 +02:00
Pieter-Jan Briers
1c7ae13bfa
Happy Eyeballs for HttpClient use.
...
All HttpClient usages in the engine now use Happy Eyeballs, same implementation as the launcher.
Makes a IHttpClientHolder type so content can profit from this technology too. Didn't make use of this in all HttpClient usages in the engine itself, due to varying circumstances making it annoying to refactor.
2023-07-31 22:51:25 +02:00
Pieter-Jan Briers
8cc2a17444
Version: 141.2.0
2023-07-28 22:16:59 +02:00
Pieter-Jan Briers
9c64fbfce2
Fix protocol abuse exception.
2023-07-27 19:30:39 +02:00
Pieter-Jan Briers
e1597da4c7
Enable EXCEPTION_TOLERANCE on Tools.
...
This wasn't the case yet??? Whoops.
2023-07-24 20:52:39 +02:00
Pieter-Jan Briers
8375a4038b
Throw error if creation of buffered audio source fails.
...
This can happen if we're out of audio streams. Before, we just kinda pretended like everything was OK, which easily caused crash bugs in e.g. MIDI.
Ideally the audio engine would be less terrible and this could be handled better than "throw new Exception()", but I'm fixing a stack overflow here alright?
2023-07-24 20:52:11 +02:00
Pieter-Jan Briers
8270442d66
Hard exit server on double ^C.
2023-07-23 17:44:20 +02:00
Pieter-Jan Briers
85e1920b95
Version: 140.0.0
2023-07-23 15:41:44 +02:00
Pieter-Jan Briers
21e74c9881
Fix ordering of control AnimationCompleted event.
...
This was changed recently, and it caused exceptions in SS14 (wire hacking animations).
2023-07-18 01:04:49 +02:00
Pieter-Jan Briers
681feaf0c7
Use relative time in PrecisionSleepWindowsHighResolution
...
Duh.
2023-07-15 23:38:12 +02:00
Pieter-Jan Briers
d967bc9fdc
Speed up DirLoader.DirLoader on Windows.
...
New FileHelper.TryOpenFileRead that doesn't throw if the file doesn't exist.
Also used it in a couple other spots.
2023-07-15 19:08:37 +02:00
Pieter-Jan Briers
177ca6b627
Sandboxing performance improvements.
...
Don't leave file handles dangling.
Prefetch verifying assembly images to speed stuff up.
2023-07-15 18:09:57 +02:00
Pieter-Jan Briers
3c262afaa4
Why would you put an attribute inside an ifdef like that, god.
2023-07-15 16:14:03 +02:00
Pieter-Jan Briers
bce2901b0f
Remove manual Windows P/Invokes in favor of TerraFX.
2023-07-15 15:41:34 +02:00
Pieter-Jan Briers
c392d4f996
Precise, time period-independent timing for Windows game loop.
2023-07-15 15:22:52 +02:00
Pieter-Jan Briers
d7ee2bccd7
Use TerraFX.Interop.Windows in Shared.
2023-07-15 15:20:32 +02:00
Pieter-Jan Briers
4e816fa5e7
Add ModUpdateLevel.InputPostEngine
2023-07-15 15:09:17 +02:00
Pieter-Jan Briers
e7aa2cbc7d
AssetPassPipe can detect and block duplicates.
2023-07-05 23:56:15 +02:00
Pieter-Jan Briers
5ddba87487
ACZ fix edge case with Accept-Encoding header parsing
...
This could throw if the requester sent specific headers.
2023-07-05 23:55:43 +02:00
Pieter-Jan Briers
70897b6ea9
Reduce default MTU even more.
...
Yeah I think this might still be causing issues.
2023-07-02 17:01:17 +02:00
Pieter-Jan Briers
1631d93e41
Remove AggressiveOptimization attributes.
...
This isn't a magic "make code go fast" button, none of these usages were correct.
2023-06-25 09:33:10 +02:00
Pieter-Jan Briers
35902ad839
Update Lidgren to fix Linux socket error reporting.
2023-06-18 18:19:08 +02:00
Pieter-Jan Briers
fd5e5471be
Oops, didn't do the IPAddress sandbox properly.
2023-06-11 16:21:24 +02:00
Pieter-Jan Briers
b895da5fda
Add launch.launcher and launch.content_bundle CVars
2023-06-11 16:12:08 +02:00
Pieter-Jan Briers
1da229549d
Remove some Logger usages from client.
...
About all I could muster before I got bored.
2023-06-10 00:19:09 +02:00
Pieter-Jan Briers
b1e594858a
Add System.Net.IPAddress to sandbox.
...
For https://github.com/space-wizards/space-station-14/pull/14228
2023-06-09 23:37:42 +02:00
Pieter-Jan Briers
4a27df0166
Add clientAssemblies list to resource manifest.
...
Allows whitelisting only certain assemblies to be loaded. Intended to be used with the new content bundle stuff that's incoming launcher-side.
2023-06-03 13:48:34 +02:00
Pieter-Jan Briers
478fa8e6de
Oops I accidentally committed the VFS command thing. Better commit the rest now.
2023-06-03 12:27:23 +02:00
Pieter-Jan Briers
23abb6177d
Fixes for resource manager, roots and ResPath.
...
`ResPath.RelativeTo()` now considers non-rooted paths relative to `.`
This fixes some things like `MemoryContentRoot`'s `FindFiles()` implementation.
Fix `IContentRoot.GetEntries()` default implementation (used by all content roots except `DirLoader`) not working at all.
Made `ResourceManager.ContentGetDirectoryEntries()` report content root mount paths as directories.
Added tests for all of the above.
2023-06-03 12:23:28 +02:00
Pieter-Jan Briers
7b23729f94
Fix bare ">" command exception.
2023-06-02 22:59:28 +02:00
Pieter-Jan Briers
3164b58300
Fix keyboard events always propagating to default viewport if devwindow is open.
2023-05-30 21:29:43 +02:00
Pieter-Jan Briers
1ce5be2774
Remove finalizer from GameShared.
...
Incorrect copy pasting of disposable pattern, gone.
2023-05-01 18:00:01 +02:00
Pieter-Jan Briers
0a5375d1c7
Oh huh I don't need P/Invoke for everything huh??
2023-04-26 22:58:49 +02:00
Pieter-Jan Briers
c9042f188c
Console output fixes.
...
Make it not assume UTF-8 when it's not.
Try to set the console output to UTF-8 on Windows.
Remove UTF-16 output code cuz who needs it.
2023-04-26 22:51:52 +02:00
Pieter-Jan Briers
e357330409
Version: 0.96.8.2
2023-04-15 18:05:15 +02:00
Pieter-Jan Briers
f3877f3d6a
Sandboxing: load from launcher engine before loading from disk load paths.
...
Robust.Client.WebView includes Robust.Client.dll and such now, so sandboxing was loading the Robust.Client.dll from there instead of from the running engine itself.
2023-04-15 18:03:53 +02:00
Pieter-Jan Briers
9ad9fccb22
Version: 0.96.3.0
2023-04-05 20:09:44 +02:00
Pieter-Jan Briers
f5cf39907a
Update server SQLitePCLRaw to 2.1.4
2023-04-05 20:05:36 +02:00
Pieter-Jan Briers
477e7820cd
hub_advertise_now command.
2023-03-13 23:03:49 +01:00
Pieter-Jan Briers
80b6f5e01f
Add DoesNotReturn annotations to DebugTools.Assert* methods.
...
These allow Assert(Foo != null) to suppress nullability warnings. No way to configure it for AssertNotNull though.
2023-03-13 23:02:57 +01:00
Pieter-Jan Briers
3bce8d82e5
Update Lidgren to v0.2.4.
2023-03-07 22:47:50 +01:00
Pieter-Jan Briers
48874b2773
Version: 0.89.1.0
2023-02-24 20:51:29 +01:00
Pieter-Jan Briers
d6cbdd221c
WebView fixes and improvements.
...
Re-organize initialization so that User-Agent CVar actually works.
Add web.headless CVar to not load CEF even on graphical client.
Clean up init logic to not rely on static IoC, and clean up loggers used too.
2023-02-24 00:29:31 +01:00
Pieter-Jan Briers
59a8a98703
Basic fixes for WebView in 2023.
...
Launcher works again with this.
2023-02-24 00:05:31 +01:00
Pieter-Jan Briers
3fa7d25ecd
Fix exception on server shutdown.
2023-02-18 21:53:34 +01:00
Pieter-Jan Briers
69ccacbd50
Console command to dump NetSerializer type map.
2023-02-18 21:51:45 +01:00
Pieter-Jan Briers
ed6b73c413
Fix C# interactive outside content-start.
2023-02-18 15:49:55 +01:00
Pieter-Jan Briers
7bf493f127
Rename benchmark migrations to fix CS8981.
2023-02-18 15:44:32 +01:00
Pieter-Jan Briers
1a8c5ed6d4
Use the new epic UTF-8 literals in WAV parsing.
...
Please this file has been on the back of my mind since this feature came out.
2023-02-17 00:38:23 +01:00
Pieter-Jan Briers
a2822f78ab
Fix mapped string serializer max size check.
...
Check assumed string length == UTF-8 length... Sight...
2023-02-16 00:52:29 +01:00
Pieter-Jan Briers
82035524b9
Fix custom MIDI soundfonts on Windows.
...
Hasn't ever worked, as far as I can tell.
2023-02-16 00:16:49 +01:00
Pieter-Jan Briers
2a957f1423
Fix prototype hot reloading.
2023-01-14 21:08:27 +01:00
Pieter-Jan Briers
c9ccd0b873
Fix file dialogs crashing on macOS
2022-03-20 16:47:20 +01:00
Pieter-Jan Briers
655ecbab45
Update Lidgren submodule
2021-10-14 19:18:35 +02:00
Pieter-Jan Briers
76933003ad
Improve native downloading spaghetti, use own Freetype on macOS
2020-01-30 13:29:19 +01:00
Pieter-Jan Briers and GitHub
0a3b2e9bf7
Change config system so you can get notified on config changes. ( #791 )
...
Fixes #257
2019-04-13 19:57:14 +02:00
Pieter-Jan Briers and GitHub
e9b45adf1c
Remove chat from the engine. ( #790 )
...
* Remove chat from the engine.
* I could've sworn I ran tests
2019-04-13 09:41:28 +02:00
Pieter-Jan Briers and GitHub
fa15950b91
Remove player movement code from the engine. ( #780 )
2019-04-04 16:18:06 +02:00
Pieter-Jan Briers and GitHub
c8d939a732
Rework entity initialization. ( #779 )
...
* Rework entity initialization.
Map loading now correctly processes entity load stages:
1. First all entities are allocated. This allocates the entity and gives
it a UID, nothing more. No user code is executed.
2. Then all entities are loaded. This runs ExposeData on components.
3. Then all entities are initialized. This runs Initialize.
4. Then all entities are started. This runs Startup.
Entity spawning methods on IEntityManager now actually set position
before Initialize.
Also cleaned up a lot of spaghetti.
* Add some comments.
2019-04-04 15:07:34 +02:00
Pieter-Jan Briers and GitHub
d7d0363cc3
Refactor tile IDs. ( #778 )
...
* Refactor tile IDs.
Tile IDs are now automatically assigned at runtime.
A mapping is also stored in map files to avoid compatibility issues.
Also removed tile prototypes. Content is now responsible for it.
This is so content can define its own data for tiles.
* Update map format specification.
* Fix tile placement.
2019-04-03 21:19:55 +02:00
Pieter-Jan Briers and GitHub
e5ee9c19ab
Fixes server exceptions from #773 ( #775 )
2019-03-31 14:54:11 +02:00
Pieter-Jan Briers and GitHub
9e9508937a
Fix lights going weird when resizing the window ( #774 )
2019-03-31 14:50:28 +02:00
Pieter-Jan Briers and GitHub
25a485aea7
NetManager connection handshake improvement. ( #773 )
...
* Reworked the net manager connection sequence.
* Correctly handle IPv4/IPv6 prioritization and fallback.
* Making a proper handshake for an auth system further down the line should be much easier now too.
* Added feedback to connection sequence in the main menu.
2019-03-31 00:51:10 +01:00
PJB3005
ae21b98d9a
Implement clipboard on Windows
2019-03-23 20:08:44 +01:00
Pieter-Jan Briers and GitHub
cf7c401ee0
Runtime Log & Exception Catching. ( #759 )
2019-03-22 12:50:17 +01:00
Pieter-Jan Briers and GitHub
361fdbe684
OpenGL 4.5 rendering backend ( #728 )
...
This is a really crappy OpenGL 4.5 rendering backend. Doesn't draw a lot of things but it's a hell of a lot better than Godot in the stability department. Mostly.
It's far from production ready but I already wrote all this. There's some minor API improvements in here too.
2019-01-25 14:57:11 +01:00
Pieter-Jan Briers and GitHub
dbc88e253b
Allow client to run headlessly. ( #727 )
...
AKA Without Godot.
Still links against GodotSharp, but this does mean that you can run headless or not from the same binary.
2019-01-19 18:23:41 +01:00
Pieter-Jan Briers and GitHub
58fb11a989
Refactor map netcode. ( #726 )
...
Maps are now synchronized as part of game states.
This instantly fixed all race conditions and the client can now live through a round restart with 0 problems (outside of Godot crashing yay).
2019-01-19 00:39:55 +01:00
Pieter-Jan Briers and GitHub
6d9a1a4e43
Refactor Transforms. ( #725 )
...
See commits.
2019-01-18 11:35:57 +01:00
Pieter-Jan Briers and GitHub
aa36a9e378
Make the code work on Godot 3.1 Alpha 4. ( #724 )
2019-01-17 18:11:16 +01:00
Pieter-Jan Briers and GitHub
d8ee7249e9
Fix Travis ( #722 )
...
Dear god.
Fuck Python.
2018-12-21 12:50:11 +01:00
Pieter-Jan Briers and GitHub
4f48774a26
Rust-based noise generation API. ( #715 )
...
Supports tileable 2D, 2D, 3D & 4D Ridged & FBM noise.
I still need to generate native versions for all the platforms, so we can't merge this yet.
2018-11-29 10:43:59 +01:00
Pieter-Jan Briers and GitHub
8397c955a8
Map Pausing. ( #710 )
...
You can now "pause" a map. Ideally this would result in the map not doing significant processing until unpaused.
This can be used later to code proper map editor modes that won't have any side effects while being edited.
2018-11-27 00:32:45 +01:00
Pieter-Jan Briers and GitHub
1e00b864b4
Automatically log in people connecting from localhost. ( #711 )
...
This can be disabled with a config value, which should be done for production servers, but for local testing this is very convenient.
2018-11-27 00:32:28 +01:00
Pieter-Jan Briers and GitHub
21fd3e5d96
Server status framework. ( #709 )
...
Adds a HTTP server to the server that exposes `/status` to fetch the server status.
2018-11-26 09:58:58 +01:00
Pieter-Jan Briers and GitHub
e3449e454b
Remove InLobby client side. ( #708 )
...
Same deal as #706 , the concept of a lobby should be handled purely content side so it's no longer the engine's problem.
2018-11-22 23:06:50 +01:00
Pieter-Jan Briers and GitHub
fcc405e6b6
Remove ServerRunLevel. ( #706 )
...
It's a content-ish feature that should be implemented in content only.
2018-11-21 21:20:51 +01:00