Commit Graph

90 Commits

Author SHA1 Message Date
Paul Chote
e23b6f8a9d Fix screenshot pixel opacity. 2019-01-01 11:28:05 +00:00
Paul Chote
cc004b3546 Fix compatibility with macOS's dark mode. 2018-12-30 23:57:06 +00:00
Andre Mohren
b1a44086a0 Removed unused using directives. 2018-11-17 17:23:22 +00:00
abcdefg30
5d1c37a4c5 Remove the CodeAnalysisRuleSet property from all csproj files 2018-08-25 22:02:59 +02:00
rtri
cdfa52d918 fix threadedRenderer context creation logic 2018-08-23 01:50:18 +02:00
Paul Chote
3661dbdfd0 Disable the threaded renderer on Windows.
A DisableWindowsRenderThread graphics setting is
added to allow players to optionally reenable it.
2018-08-04 20:10:52 +02:00
Paul Chote
670e153372 Remove byte order marks from csproj files. 2018-07-01 11:08:32 +02:00
Paul Chote
1ac13de4b2 Remove byte order marks from C# files. 2018-07-01 11:08:32 +02:00
Paul Chote
8ec3df7550 Fix recently introduced bad line endings. 2018-06-30 16:54:25 +01:00
RoosterDragon
bb536ee4fc Run graphics rendering on a dedicated thread.
The main game thread can offload some of the CPU cost to the rendering thread, freeing up its time to run more logic and render ticks.
2018-06-22 18:40:16 +01:00
Paul Chote
ea068a36f7 Allow window size/scale properties to be accessed from other threads. 2018-06-22 18:40:16 +01:00
Paul Chote
9ff177359b Split IGraphicsContext from IPlatformWindow. 2018-06-13 18:45:21 +01:00
Paul Chote
28c8089bc7 Rename IGraphicsDevice to IPlatformWindow. 2018-06-13 18:45:21 +01:00
Paul Chote
72c0e344ad Extract SDL2HardwareCursor to its own file. 2018-06-13 18:45:21 +01:00
Paul Chote
6c338eb06c Revert "Run graphics rendering on a dedicated thread."
This reverts commit b9be52c5428d4a3862d62fe3a2c01663bd3692c3.
2018-06-04 23:04:35 +02:00
RoosterDragon
b96e062a0d Run graphics rendering on a dedicated thread.
The main game thread can offload some of the CPU cost to the rendering thread, freeing up its time to run more logic and render ticks.
2018-05-29 23:05:39 +01:00
RoosterDragon
8ec90525e3 Change Shader.Render to Shader.PrepareRender.
Instead of running the shader operation as an action, just run it after the shader is prepared.
2018-05-29 23:05:39 +01:00
Peter Antal
8fa94c5301 -Perform null check and add exception logging in RuleSet.
-Explicitly recognize connection termination on ServerOrder.Deserialize()
-Use explicit exception type for SDL2HardwareCursor failures.
2018-03-21 01:55:42 -03:00
Arular101
8a60918841 Update copyright notice year to 2018 2018-01-17 00:47:34 +01:00
RoosterDragon
3f8c1ad5df Don't allocate a full-sized array when creating a VertexBuffer.
We can allocate a much smaller zeroed buffer and copy that multiple times in order to zero the memory. When creating large VertexBuffers, this caps our temporary allocation size significantly.
2017-12-19 00:57:02 +01:00
RoosterDragon
7760c41bd9 Avoid array resizing in OpenAlAsyncLoadSound.
- Where it is accessible, use the length of the stream to presize the MemoryStream to the correct size.
- Instead of copying out the result via ToArray, grab the underlying buffer via GetBuffer and use that to create the sound source.

This avoids extraneous copying of the array containing the audio.
2017-12-12 00:01:04 +01:00
RoosterDragon
3a9abda441 Specify C# 5 as the language version used in all projects.
Attempts to use features from a new version will generate compile errors (on Roslyn and possibly other compilers), preventing accidental adoption of new language features.
2017-10-19 14:18:03 +02:00
RoosterDragon
3b4904775a Remove OpenAlStreamingSound.
Whilst the implementation appears to work most of the time, it sometimes stops playing audio mid-track. This could be an implementation issue, or bugs in the underlying streaming APIs of the OpenAL library. Either way, it is not currently reliable enough to be used.
2017-09-17 15:50:49 +02:00
RoosterDragon
94942cb140 Create OpenAlAsyncLoadSound.
This loads the sound inside a task, then begins playing it, avoiding blocking the UI thread. Unlike OpenAlStreamingSound it does not stream the sound from disk, rather, it loads the entire sound into memory and plays it in one go.
2017-09-17 15:50:49 +02:00
Allan Greis Eriksen
5435e34b9a Audio device names is now shown correcly in the Audio Device combolist. 2017-08-13 18:38:18 +02:00
RoosterDragon
85c948fd8d Add a streaming audio playback interface.
This allows audio to be streamed, rather than needed to be fully loaded into memory.
2017-07-14 23:02:49 +01:00
rob-v
8276b17570 Fix Sound memory leak (OutOfMemoryException), remove Music caching to free memory 2017-06-12 18:33:53 -05:00
Paul Chote
42232f4a55 Work around resolution issues in (legacy) Fullscreen on OSX. 2017-05-13 00:02:29 +01:00
Paul Chote
fff2f097d0 Add KeyInput.IsRepeat. 2017-05-06 14:10:24 +01:00
Oliver Brakmann
0635f3636d Add a setting to disable DPI scaling on Windows systems 2017-04-14 23:23:14 +02:00
Paul Chote
a880562b4b Add support for moving ISounds after creation. 2017-02-03 21:59:32 +00:00
Paul Chote
18d2454306 Pixel double hardware cursors on non-OSX. 2017-01-21 11:00:00 +00:00
Paul Chote
fb451fb203 Add an OPENRA_DISPLAY_SCALE environment variable for linux. 2017-01-21 11:00:00 +00:00
Paul Chote
87b894ad8e Add support for the windows DPI scaling. 2017-01-21 11:00:00 +00:00
Paul Chote
6599aeb035 Add support for retina displays on OSX. 2017-01-21 10:59:59 +00:00
Taryn Hill
43317e0f5d Update copyright notice year to 2017 2016-12-31 23:46:13 -06:00
RoosterDragon
c79ccab1ba Marshal results in QueryDevices correctly. 2016-10-03 21:47:42 +01:00
RoosterDragon
696d783a67 Improve out-of-memory logging with more details.
Also ensure that when OpenGL gives an out-of-memory error, we throw an OutOfMemoryException so the improved logging is triggered here too.
2016-09-16 07:35:08 +01:00
Paul Chote
5a7a69a875 Tidy muting code. 2016-08-06 19:53:50 +01:00
Paul Chote
9437a86e7e Remove legacy sound code and simplify platform init. 2016-08-06 19:53:50 +01:00
RoosterDragon
1c8f9d44df Clean up ALC sound device correctly.
ALC is thread-safe, therefore we can clean up from any thread and do not need to marshal to the main game thread. To clean up the device properly, we must first unset and destroy the context before attempting to close the device.
2016-07-30 14:53:33 +01:00
RoosterDragon
206088efb4 General code cleanup in OpenAlSoundEngine.cs. 2016-07-30 14:50:42 +01:00
Matthias Mailänder
f22bc68d94 Count the string length in the system codepage. 2016-05-20 21:22:12 +02:00
Matthias Mailänder
1df5e556c6 Auto-detect UTF8 instead of assuming ANSI for device names. 2016-05-20 21:22:10 +02:00
Matthias Mailänder
e47383a4fa Fix NREs in QueryDevices by bailing out early. 2016-05-20 21:21:52 +02:00
Matthias Mailänder
5029ac705f Update to .NET 4.5 2016-05-19 21:24:21 +02:00
Paul Chote
7c67b10d28 Add a secondary texture coordinate to Vertex. 2016-04-15 16:46:47 -04:00
Paul Chote
2634643d91 Write z data to the depth buffer. 2016-04-15 09:42:29 -04:00
Paul Chote
ecebb2a844 Change depth function to <=. 2016-04-15 09:42:28 -04:00
reaperrr
0861c9f6fa Merge pull request #11058 from pchote/terrain-vertex-depth
Use vertex depths for rendering terrain depth preview.
2016-04-10 16:13:50 +02:00