RoosterDragon
094ccf76b0
Prefer Min/MaxBy overloads to OrderBy().First() patterns
2020-10-17 23:48:48 +02:00
RoosterDragon
bb116034c7
Avoid or reduce LINQ allocations required in various areas.
2020-10-17 23:48:48 +02:00
RoosterDragon
b2b639434c
ThreadedGraphicsContext improvements.
...
- VertexBuffer interface redefined to remove an IntPtr overload for SetData. This removes some unsafe code in TerrainSpriteLayer. This also allows the ThreadedVertexBuffer to use a buffer and post these calls, meaning the SetData call can now be non-blocking.
- ThreadedTexture SetData now checks the incoming array size. As the arrays sent here are usually large (megabytes) this allows us to avoid creating temp arrays in the LOH and skip Array.Copy calls on large arrays. This means the call is now blocking more often, but significantly reduces memory churn and GC Gen2 collections.
2020-10-13 15:54:53 +02:00
Paul Chote
597b8b1caa
Hide legacy GL support behind a feature flag.
2020-10-12 12:24:22 +02:00
Paul Chote
2c0d512727
Package and default to GLES via ANGLE on windows.
2020-10-12 12:24:22 +02:00
Paul Chote
87c5cc96ad
Add an "Automatic" GL profile.
2020-10-12 12:24:22 +02:00
Paul Chote
dd7b8b24af
Use tileset ID in sequences instead of the TileSet object.
2020-10-11 01:23:15 +02:00
Paul Chote
ad4d6eaec9
Improve --check-missing-sprites error handling.
2020-09-12 17:52:46 +02:00
Paul Chote
ac8b312140
Generalize --check-sequence-sprites to --check-missing-sprites.
2020-09-12 17:52:46 +02:00
Paul Chote
7803686aec
Rewrite sequence linting / missing file handling.
...
- Distinguish between missing sequences and missing sprites
- Lint default sequences as well as maps
- Improved performance
- Correctly handle null images
2020-09-12 17:52:46 +02:00
Paul Chote
6cfa27c33b
Replace per-color font caches with tinted rendering.
2020-08-24 18:38:08 +02:00
teinarss
9c4fd0e3d3
Use Null-Propagation Operator
2020-08-19 18:11:07 +01:00
teinarss
8d27d22100
Use discard syntax
2020-08-19 18:11:07 +01:00
teinarss
27f1a7ab27
Use out var syntax
2020-08-19 18:11:07 +01:00
teinarss
19b02875c7
Use Tuple syntax
2020-08-15 10:37:10 +01:00
Andre Mohren
006a87692a
Removed unused imports.
2020-07-28 18:22:51 +02:00
Andre Mohren
914950c4a5
When zooming using the mousewheel, zoom towards the pointer location.
2020-07-17 20:12:10 +02:00
Paul Chote
aae497eff1
Pass pre-combined rotations into the rendering code.
2020-07-17 15:02:32 +02:00
Paul Chote
01e955ca37
Implement TS-style terrain lighting.
2020-07-13 14:02:02 +02:00
Paul Chote
fdb66c769c
Change terrain layers to track sequences instead of sprites.
2020-07-13 14:02:02 +02:00
Paul Chote
ac7eda8ca2
Add support for rendering tinted artwork.
2020-07-13 14:02:02 +02:00
teinarss
67ff292d62
Refactor WorldRenderer to use less allocations
2020-07-03 17:41:41 +02:00
Paul Chote
626b40f31b
Account for ramps in terrain height calculations.
2020-05-28 09:41:55 -05:00
Paul Chote
5af12440ba
Replace MapGrid.CellCorners with a new CellRamp struct.
2020-05-28 09:41:55 -05:00
Paul Chote
4614f6febe
Cache cell ramps to avoid repeated tileset lookups.
2020-05-28 09:41:55 -05:00
Paul Chote
fe58ed1283
Animation facing -> WAngle.
2020-05-09 10:20:23 -05:00
Paul Chote
361e2d463c
ISpriteSequence facing -> WAngle.
2020-05-09 10:20:23 -05:00
Paul Chote
f03841c4e4
Hide selection decorations when spectators zoom too far out.
2020-05-02 14:30:04 -05:00
Paul Chote
dac1f270ce
Restore legacy OpenGL 2.1 support.
2020-04-25 21:03:43 +02:00
Paul Chote
839be24053
Replace PreferGLES settings flag with GLProfile enum.
2020-04-25 21:03:43 +02:00
Paul Chote
91c4179f05
Split GLProfile from GLFeatures.
2020-04-25 21:03:43 +02:00
abcdefg30
3ba86f329f
Remove Game.HasInputFocus
2020-04-17 22:26:03 -05:00
Zimmermann Gyula
8b7e72b95e
Add three additional blending modes.
2020-04-07 22:00:31 +02:00
Paul Chote
99009c37ce
Fix and simplify WeatherOverlay:
...
- Fix rendering issues
- Track particles in world pixels instead of screen pixels
- Removed un/underused fade in/out support
- Update wind once per tick instead of once per particle
- Make Particle struct readonly
2020-03-28 19:46:47 +01:00
Paul Chote
88cdad4189
Add support for polygon selection shapes.
2020-03-24 00:07:10 -05:00
Paul Chote
93d006e14e
Fix incorrect end point rendering in DrawConnectedLine.
2020-02-29 18:13:54 +01:00
Paul Chote
de4a7cecf0
Rework multi-resolution sprite handling:
...
- Sprite.Bounds now refers to rectangles in the source image.
Use this when copying pixels, etc.
- Sprite.Size now refers to sizes in effective pixel coordinates.
Use this when rendering.
- Sheet.DPIScale has been removed.
- "Density" term is introduced to refer to the number of artwork
pixels per effective pixel.
2020-02-26 23:47:15 +01:00
Martin Bertsche
98aef70e88
Added display selection option to settings for fullscreen modes.
2020-02-08 18:14:35 +00:00
Paul Chote
9a0916afbb
Add UI Scale dropdown to the settings menu.
2020-02-04 19:56:15 +01:00
Paul Chote
6388a6bff4
Add Graphics.UIScale setting to modify UI size.
2020-02-04 19:56:15 +01:00
Paul Chote
fd64ad7c89
Support rendering at non-integer display scales:
...
* 2x and 3x DPI artwork can be specified using
Image2x and Image3x in chrome.yaml.
* Images are rendered using bilinear interpolation.
* For non-integer screen scales, prefer downscaling
the next biggest resolution image over upscaling.
2020-01-26 20:22:49 +01:00
Paul Chote
809b1507a6
Fix font rendering at non-integer display scales.
2020-01-26 20:22:49 +01:00
Paul Chote
d91495a041
Allocate 1px empty margin between sprites.
2020-01-26 20:22:49 +01:00
Paul Chote
84daf890d3
Use antialiasing filter when rendering world annotations.
2020-01-26 20:22:49 +01:00
Paul Chote
bd4724842c
Fix software cursor rendering at fractional scales.
2020-01-26 20:22:49 +01:00
Paul Chote
f730b55255
Move hardware cursor control to hidden DisableHardwareCursors setting.
2020-01-26 17:11:45 +01:00
Paul Chote
370f7a44fa
Restore cursor doubling for "default" cursor.
2020-01-26 17:11:45 +01:00
Paul Chote
f7e5111123
Apply cursor doubling setting without requiring a restart.
2020-01-26 17:11:45 +01:00
Paul Chote
847db5e59b
Merge HardwareCursor and SoftwareCursor into CursorManager.
2020-01-26 17:11:45 +01:00
Paul Chote
7611449d3d
Reimplement text contrast using greyscale dilation.
2020-01-19 17:18:22 +01:00