Commit Graph

71 Commits

Author SHA1 Message Date
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
Javier Guardia Fernández
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 Briers
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
Paul Ritter
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 Young
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 Young
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 Briers
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
Clyybber
9d75c3a1c8 Implement audio occlusion and upgrade to OpenTK 4 (#1068) 2020-05-27 17:50:01 +02:00
Víctor Aguilera Puerto
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 Briers
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 Briers
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 Puerto
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 Briers
9868f186f3 Remove some unecessary NuGet dependencies. (#871)
Also made the window icon work again.
2019-09-24 12:42:59 +02:00
Pieter-Jan Briers
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
Pieter-Jan Briers
5fee08e68b Fix NuGet mess again hopefully 2019-09-01 09:53:41 +02:00
Pieter-Jan Briers
1c059e2437 Fix client build for some people 2019-08-31 19:13:22 +02:00