Commit Graph
73 Commits
Author SHA1 Message Date
metalgearslothandGitHub 93ae74b5a7 Update nuget dependencies (#2581) 2022-03-14 08:57:20 +01:00
metalgearslothandGitHub 33251222cd EntityLookup as a system (#2573) 2022-03-03 21:17:01 +11:00
Pieter-Jan Briers fb54d0df1c Remove usages of Newtonsoft.Json outside StatusHost 2022-01-09 11:53:06 +01:00
Pieter-Jan Briers c5899944a2 Uncomment stuff in manifest so it's not empty and won't break the launcher.
Whoops.
2021-12-30 17:48:22 +01:00
Pieter-Jan Briers 6b5181269b Do some trimming for client publishes.
Almost completely removes TerraFX and OpenToolkit.Graphics from client publishes size wise. This cuts publish size in half.
2021-11-28 22:26:05 +01:00
Pieter-Jan Briers 17b84c3520 Update to latest TerraFX, compile custom swapchain ANGLE in. 2021-11-28 22:12:17 +01:00
Pieter-Jan Briers 25d6bd908b Remove BGRA32 uploads from Clyde.
BGRA uploads are not supported on GLES. Use a shader to swizzle WebViewControl contents instead.
2021-11-11 18:05:04 +01:00
1c8ed1c5b2 Update to .NET 6 and C# 10 (#2211)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2021-11-09 14:59:19 +01:00
Pieter-Jan Briers 0fd210481a Multithread SerializationManager initialize. 2021-09-01 13:38:34 +02:00
Pieter-Jan BriersandGitHub cd3a7ef91e ANGLE+DXGI experiment, window/GL init rewrite (#1982) 2021-08-30 01:35:07 +02:00
Pieter-Jan Briers ffa908bf27 More workarounding for Rider Avalonia faking 2021-04-19 01:47:33 +02:00
Pieter-Jan Briers 4bc775c01c RSI loader improvements:
1. Stop using NJsonSchema, it didn't do anything useful.
2. Use System.Text.Json instead of Newtonsoft.Json.
3. General cleanup of the code, using arrays instead of lists, etc...
2021-03-08 11:18:19 +01:00
Pieter-Jan Briers d5199ec459 Update NuGet packages. 2021-02-25 12:06:05 +01:00
Vera Aguilera Puerto 1f64f93ef4 Update nfluidsynth to latest version, 0.3.1 2021-02-01 21:33:22 +01:00
d94f702601 Xaml UI (#1446)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-12-20 23:52:36 +01:00
Pieter-Jan Briers 7ef2fd46da Hail NuGet 2020-12-13 01:14:50 +01:00
Pieter-Jan Briers fd4f45e670 Use NuGet packages for engine natives.
Fixes #1434

This means that adding support for new architectures (e.g. ARM) is MUCH easier.

It removes  download_natives.py which simplifies the build process.

It's also way less painful to maintain.
2020-12-13 00:46:23 +01:00
Pieter-Jan Briers f15c1c7a95 Allow engine to be loaded from a zip file itself. 2020-12-12 11:12:37 +01:00
Pieter-Jan Briers 242f187263 Stuff to export standalone builds of Robust.Client. 2020-12-05 01:50:33 +01:00
Pieter-Jan Briers 6296171b63 Move some shared engine properties to a new msbuild file. 2020-11-28 18:05:16 +01:00
Pieter-Jan Briers 124b447428 Update NuGet packages.
Most notably YamlDotNet which has performance improvements for large files such as our map files.
2020-11-26 02:19:11 +01:00
Pieter-Jan Briers 2ca5d30e9d C# 9.
Insert glasses joke here.
2020-11-24 00:50:38 +01:00
Acruid 64a3916c04 Added the Robust.Physics project.
Added BenchmarkDotNet to the Robust.UnitTesting project.
2020-08-09 13:43:57 -07:00
Pieter-Jan Briers e68c5b47e7 Remove Fody and ImageSharp hack.
They have a public method for this...
2020-07-20 01:09:06 +02:00
Tyler YoungandGitHub 9cbdd1058c Use CannyFastMath & Update Some Packages (#1130)
update a bunch of packages and use JetBrains.Annotations as private asset as needed

mark some hot math methods agg inline to benefit from loop opts

use FMA for interp

use canny min/max/clamp

make Quaternion NormalizeAngle fixed time and faster

clean up YamlDotNet references
2020-06-18 02:25:36 +02:00
Pieter-Jan Briers 36bda1cd2f Remove SharpZipLib and System.ValueTuple dependencies 2020-06-13 03:10:17 +02:00
Tyler YoungandGitHub 47f307dd2a Upgrades SixLabors.ImageSharp (#1128)
adds InlineIl.Fody for fast access to image backing buffers
2020-06-13 03:08:29 +02:00
Pieter-Jan BriersandGitHub 6674be3adc Client NRTs (#1121) 2020-06-12 12:57:39 +02:00
Pieter-Jan Briers 3459e5fd0b Remove explicit x64 platform target to fix ARM64 builds. 2020-06-08 23:36:08 +02:00
ClyybberandGitHub 9d75c3a1c8 Implement audio occlusion and upgrade to OpenTK 4 (#1068) 2020-05-27 17:50:01 +02:00
Víctor Aguilera PuertoandGitHub 149fe47424 Better MIDI (#1062) 2020-05-22 13:07:02 +02:00
Pieter-Jan Briers 400dcb06fc Server scripting. 2020-04-30 00:06:59 +02:00
Pieter-Jan Briers cf87dfde62 Don't include NJsonSchema on release builds.
Saves like 200~ KiB disk space from not having to ship the unused library.
2020-04-24 22:15:57 +02: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 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
Pieter-Jan Briers 76933003ad Improve native downloading spaghetti, use own Freetype on macOS 2020-01-30 13:29:19 +01:00
Pieter-Jan Briers fc9f7827d5 Remove package dir override. 2020-01-28 16:06:06 +01:00
Pieter-Jan BriersandGitHub 4b5cf26153 Try to fix Windows builds... (#939)
* Try to fix Windows builds...

* AppVeyor stop being drunk.

* Attempt 3
2020-01-23 00:42:00 +01:00
Pieter-Jan Briers d945247f31 Add necessary infrastructure to allow content to launch game from itself.
This allows us to make Content.Client and Content.Server Exe projects so that they can be executed directly via your IDE. This'll help wtih not forgetting to do a full rebuild and such.
2020-01-22 20:16:29 +01:00
Pieter-Jan Briers e7ccef53de Update NuGet dependencies. 2020-01-20 20:41:01 +01:00
Pieter-Jan Briers 4e3f5508e9 Custom command line args & CVar override on Client. 2020-01-20 20:33:11 +01:00
Pieter-Jan Briers d14348dfa5 Ignore framework version warnings. 2020-01-15 14:39:21 +01:00
Pieter-Jan Briers d075c82041 Switch to C# 8 2019-12-17 16:06:46 +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 3095952dcb Use our own SpaceWizards.SharpFont for better .NET Core support. 2019-12-11 06:46:26 +01:00
Pieter-Jan Briers 026f6cb118 Use new icon 2019-12-06 17:38:08 +01:00
Pieter-Jan Briers 2e762fbaf4 Give RSISchema.json a logical name in the csproj.
This *should* fix random occurrences of the compiler putting it somewhere else and the schema failing to load.
2019-12-01 15:15:57 +01:00
Víctor Aguilera PuertoandPieter-Jan Briers ffe506ef94 Adds Midi playback, Midi input, etc. (#873)
* raw PCM audio for clyde

* Remove soundfont.cs

* Midi stuff

* Some more work

* This actually works now!

* update

* Add nfluidsynth submodule.

* fuck

* Midi audio works!

* Lots of stuff, and cool interfaces for items

* Update

* Note limit

* Moving out of range of UI raises OnClosed now as well

* It just works

* Update nfluidsynth submodule

* Remove managed-midi, remove unused methods I added to clyde

* Remove remnants of older NFluidsynth

* Update nfluidsynth submodule.

* Fix some of MidiManager

* Add changes PJB made to soundfont loading

* Delete OpenAL source/buffers when disposed

* Remove remnants of "Rendering"

* Use ReadOnlySpan, make interface/implementation arguments consistent

* Improve EmptyBuffers performance

* Make renderers use an enum for their status

* MidiRenderer events are now invoked on the main thread

* MidiManager now has a method to dispose renderers

* Lock player

* Fun stuff

* Update nfluidsynth submodule.

* Fix midi audio rendering

* Address a few reviews

* Revert changes made to Clyde

* Create sfloader per midi renderer

* Midi file size check

* Now OpenMidi/OpenInput and their respective close methods return bools.

* Update nfluidsynth submodule.

* Move number to constant.

* Use BufferedAudioSource

* Remove unused using statements

* Use new API

* Lock player and synth correctly

* Use midi sawmill

* Adds "Disposed" property to MidiRenderer

* Remove DisposeRenderer, let midi render thread handle it instead

* Renderer position is updated from main loop

* Use nfluidsynth from nuget

* Fix appveyor, lazy fluidsynth init

* Only join MidiThread if it actually exists...
2019-10-30 16:45:11 +01:00
Pieter-Jan BriersandGitHub 9868f186f3 Remove some unecessary NuGet dependencies. (#871)
Also made the window icon work again.
2019-09-24 12:42:59 +02:00
Pieter-Jan BriersandGitHub 5d5b897a9b Property animations track (#867)
* WiP property animations system

* Use better lerp for Angle property animations.

* Fix handling of offset in sprite component.

* Allow animating some sprite layer properties.

* Allow animating some Transform properties.

Obviously not advisable for server entities, but great for client side entities!

* Improve animation property interpolation handling.

Added a "previous" mode.
Made values that cannot be sanely interpolated fall back to this mode.

* Improve some animation docs.
2019-09-17 22:57:12 +02:00