Commit Graph
54 Commits
Author SHA1 Message Date
Pieter-Jan BriersandGitHub 31fb65bcb9 Movement prediction work. (#1144)
* Fix client-side input system not sending sequence numbers for input messages.

This caused message ordering issues and keys getting stuck down.

* Make sure EyeUpdateSystem runs after physics.

* IGameTiming.TickFraction helper.

* Subtick data for input commands.

* Literally a unit test to verify that I wasn't going insane while debugging input message ordering issues.

* More prediction logs behind net.predict.

* Move physics to shared and run it on the client.

* Synchronize grid gravity.

* Fix ResetPredictedEntities crash when entities get deleted server-side.

* Fix CollidableComponent setters not calling Dirty()

* Fix going into space while predicting.

* Watch window uses history line edit.

* Fix unpredicted objects stuck-jittering.

* VV tags for interp vars on transform.

* Fix 0 mass objects on client.

* Fix friction calculations being TPS dependent.

* Reset predict flag on handelComponentState
2020-06-24 20:47:20 +02:00
Pieter-Jan Briers 14fea1812d Scripting watch window 2020-06-24 15:25:11 +02:00
Pieter-Jan BriersandGitHub 6674be3adc Client NRTs (#1121) 2020-06-12 12:57:39 +02:00
ComicIronicandGitHub d631048c1e Remove ScreenToWorld (#1114) 2020-06-08 00:41:59 +02:00
Pieter-Jan Briers 75707c1db0 Use AttachedProperty for TabContainer, TabVisibleProperty. 2020-05-31 00:35:19 +02:00
Pieter-Jan Briers 2c5536e982 Adds more script globals.
Also makes them all abstract for code reuse working around a Roslyn bug.
2020-05-22 22:13:11 +02:00
Pieter-Jan Briers de82adb6ff Fix exceptions not getting caught on first script submission. 2020-05-22 22:08:51 +02:00
Pieter-Jan Briers 4bb3a1e958 Give UITest window a minsize. 2020-05-18 01:47:57 +02:00
Pieter-Jan Briers b7f3627ef1 Remove List<>/Dictionary<,> usage from low-level GameState serialization.
NetSerializer does not handle these well and sends the entire backing array instead of a more compact representation. This can then cause it to start sending lists of length 1 with a *capacity* of 4096 resulting in 250 KiB/s down to send updates for a single entity. As it just did on the public server...
2020-05-12 18:34:16 +02:00
Pieter-Jan Briers 400dcb06fc Server scripting. 2020-04-30 00:06:59 +02:00
Pieter-Jan Briers e0d8b111bc Remove MainMenu and launcher connecting from engine. 2020-04-04 15:05:10 +02:00
Pieter-Jan Briers 1461dc19ae saveconfig command on client. 2020-03-25 22:29:24 +01:00
Pieter-Jan Briers 88d7bc2b6e Don't throw exception on invalid cvar command format. 2020-03-25 22:21:12 +01:00
Pieter-Jan Briers c4b9c1cc4e C# interactive REPL for the client.
It's fancy.
2020-03-25 02:16:00 +01:00
Pieter-Jan Briers d057fdf74f Disable assembly load context on content-start client. 2020-03-25 02:13:23 +01:00
Tyler YoungandGitHub 38aeca2342 Automatic Partial Shader Reloading (#1005)
* merged in shader automatic reloading, remove internal shader reloading

add support for includes to shader reloading, modified includes reload shaders that depends upon them

* add some fault tolerance to allow playing with the file a bit

* prevent multiple watch attempts

* fix spacing

* revert project change

* add cancellation to Reload with a default of 30s

fix case sensitivity comparison

assume windows & mac are case insensitive
2020-02-28 06:27:35 +01:00
Pieter-Jan BriersandGitHub 32bafb66a8 Shadows & FOV. (#992)
* Work on shadow casting.

* Shadowcasting depth works, code cleanup

* Adds #include support to SWSL parser.

* Move lighting shader to swsl.

Also more shader parser fixes.

* Move PI constant to correct file.

* Got functional FOV, working on wall bleed.

* Hey, it kinda works.

* Occluder component now lives in shared.

* Optimizations.

* Fix light map color format.

I set it to something else while testing perf.

* Front face cull final FOV pass.

* Fix holes in occlusion geometry due to disabled occluders.

* Starting work on better wall handling.

* Some comments.

* Improve font-face-culled FOV pass.

* Improve various light biasing things.

* VSM, smooth shadows.

Also unused VSM blurring because it didn't work but committing it like this will forever keep it in Git somewhere.

* FOV smoothing, looks kinda awful.

* Base wall bleed blur strength on camera size.

* The part where I give up.

* Comments. Many comments.

* Allow eyes to disable FOV.

* Improve OccluderComponent on the client.

* Update for occluder component changes.

* Maybe do this properly...
2020-02-23 17:18:58 +01:00
Pieter-Jan BriersandGitHub b282881482 Key name API, slight input manager cleanup. (#985)
* Adds API for retrieving correct key names & key combination strings.

* Remove (most) bit flag stuff from InputManager.cs.

Replaced it with a union.
2020-02-17 11:13:12 +01:00
moneylandGitHub e2ce1ffb2a Improve error handling and help messages on several console comm… (#980)
For `loglevel`, `testlog`, and `gc`.
2020-02-15 13:41:41 +01:00
Tyler YoungandGitHub 8bcc5808cc Console commands; gc_mode and szr_stats (#964)
* add some console commands; gc_mode and szr_stats

* add latency mode list to gc_mode
2020-02-09 10:15:01 +01:00
Pieter-Jan Briers 4a1dd9a650 Add CanAdminPlace permission and adds ability for content to block placement. 2020-02-08 20:41:17 +01:00
Pieter-Jan Briers 0169312c0b Not actually functional FOV system.
There's enough various changes in here that this is worth committing already.
2020-02-05 00:10:58 +01:00
Acruid 9f956cef95 Renamed SpawnEntityAt to SpawnEntity.
SpawnEntity now throws an exception if an invalid GridID is passed in the coordinates.
2020-01-24 15:44:08 -08:00
Pieter-Jan Briers 237c6e433c dumpentities command is now sorted. 2020-01-19 12:41:41 +01:00
Pieter-Jan Briers 0348919104 Implement Slider UI control. 2020-01-15 14:10:05 +01:00
Pieter-Jan Briers aa3e126249 Fix dump entities command blowing up due to grid entities. 2019-12-29 01:20:43 +01:00
Pieter-Jan Briers 2b8645b60f Fix some Robust.Server namespaces in Robust.Shared. 2019-12-22 13:40:43 +01:00
Pieter-Jan BriersandGitHub 52e5afd277 Switch to GLFW for windowing (#914)
* Use GLFW instead of OpenTK windows

* Seems to work pretty well now.

* Fix stackalloc issue on Framework.

* Add GLFW project to sln.

* Fix package downgrade.

* Fix SLN more.

* Please work.

* Fix C# version error.
2019-12-15 15:53:30 +01:00
Pieter-Jan Briers 6cfe6caae2 guidump lists attached properties. 2019-12-05 15:37:11 +01:00
Pieter-Jan BriersandGitHub ab1f4fb0e7 UI layout v2. (#908)
* UI layout v2.

All controls now act like containers.
Moved anchor/margin layout model to LayoutContainer

Implement basic WPF-like attached properties for the above LayoutContainer.

* Fix VV.
2019-12-05 13:37:58 +01:00
EphememoryandPieter-Jan Briers 519c28cad2 Add a DebugDrawingManager for drawing server side events like Ra… (#892)
* add basis for debug drawing raycasts

* rays

* this was too much work

* i assumed you could do string object stuff. you cant.

* fixed a crash

* Greatly improved DebugDrawingManager code with a struct and list as opposed to dictionary

* change default ray debug color from green to magenta

* reviewed changes

* reviewed changes and adds network message to physicsmanager so it works without much user config
2019-11-23 13:09:48 +01:00
Pieter-Jan Briers 07b0548532 Input monitor. 2019-11-17 17:28:20 +01:00
bgare89andPieter-Jan Briers d3e7e12adf Code smell for loop braces (#884)
* Use curly braces or indentation to denote the code conditionally executed by this 'for'

* 7 less code smells.
2019-11-13 22:42:27 +01:00
moneylandPieter-Jan Briers b105ef3e7b Add way to check permissions client-side (#880)
Added IClientConGroupController and implemented it as ClientConGroupController. Lets client-side code check what commands the client can use based on their console group. Serves the same purpose as the server-side IConGroupController except it doesn't load a list of permissions from groups.yml. Instead,  the server ConGroupController sends updated permissions to clients whenever they change.
2019-10-25 12:00:32 +02:00
Pieter-Jan Briers 3f1c33fc96 Implement radio buttons. 2019-10-20 00:50:35 +02:00
Pieter-Jan Briers 6e2458f708 Sort ListCommand output. 2019-10-14 14:50:05 +02:00
Pieter-Jan Briers 72402f3983 Cull entity, light & chunk rendering. 2019-10-13 15:23:20 +02:00
Pieter-Jan Briers 3d2228e64e Add a command to spawn entities client side. 2019-09-16 20:57:00 +02:00
Pieter-Jan Briers 94e1f90c97 Add console commands to force run the GC 2019-08-31 18:39:31 +02:00
DamianXandPieter-Jan Briers 7f9f593989 Implemented RobustRandom (#845)
* Implemented RobustRandom

* Fixed RandomString
2019-08-16 21:43:59 +02:00
Pieter-Jan BriersandGitHub cb5f2ffae1 Refactor UI system. (#843)
* Refactor UI system.

Deferred updating is used for styling & layout. This fixes the awful time complexity of containers.
Removed SetDefaults and Initialize. They were a bad idea alright.

* Fix build on .NET Framework.
2019-08-14 22:03:51 +02:00
Pieter-Jan Briers 96543421f2 Update help for monitor command. 2019-08-11 22:50:01 +02:00
Pieter-Jan Briers 896758e176 Make IEntity.GetAllComponents no longer return duplicates.
Remove the Instances method that did that instead.
2019-08-11 01:22:59 +02:00
Pieter-Jan Briers 0e65843f39 Memory debug panel to show memory usage info. 2019-08-03 23:59:54 +02:00
Pieter-Jan Briers 832be75c5c Fix UITest command. 2019-07-24 00:27:09 +02:00
Pieter-Jan Briers 441980e1cb Remove spawnwindow command. 2019-07-19 12:07:41 +02:00
Pieter-Jan Briers 8d2ea9aed1 Remove SS14Window.AddToScreen and related systems. 2019-07-18 22:48:51 +02:00
Pieter-Jan Briers d7f5c1d9db Debug drawing to show exact entity positions. 2019-05-28 13:35:24 +02:00
Pieter-Jan BriersandGitHub bb4a1eda8e Project file refactor (#819)
* Project file refactor

Move all the .csproj files to the new .NET Core style.
This doesn't make any difference for compiling for Framework,
but it does reduce a ton of useless boilerplate.

As an extension of this, killed a bunch of uncompiled & unmaintained .cs files.

Compiling for release (to profile) works now.
Removed AnyCPU targets from the solution file.

* Fix compiler warnings.
2019-05-28 00:16:01 +02:00
Pieter-Jan Briers 10440648bc Remove IDisplayManager dependency from SS14Window 2019-05-16 14:27:51 +02:00