Matthias Mailänder
fb20479379
Add .vxl support to the asset browser.
2020-12-25 00:00:11 +00:00
Paul Chote
e0b3e631fe
Remove obsolete null checks.
2020-12-19 13:07:01 +01:00
abcdefg30
31c9b4fc80
Revert renderable buffer sorting improvements
2020-12-05 17:03:03 +00:00
teinarss
2c9a36b9a3
Update float3 to readonly and use in modifier for parameters.
2020-12-02 20:37:50 +01:00
teinarss
e6db2c98d0
Make WRot readonly and use in parameter modifier
2020-12-01 22:54:39 +00:00
RoosterDragon
4daa5193b6
Use tie breaks for sort order in WorldRenderer.GenerateRenderables
2020-11-01 19:00:20 +00:00
RoosterDragon
6eaf51d450
CursorManager avoids use of BitConverter.
...
Avoid allocating a small temp array via BitConverter.GetBytes, and instead use bitwise ops to isolate the components of the color.
2020-10-20 22:53:32 +02:00
Matthias Mailänder
214aa64ce3
Fix Analyzer warning: V3128 field is used before initialized
2020-10-18 14:53:35 +01:00
RoosterDragon
e11c8436bd
Misc changes to reduce allocation:
...
- Avoid creating new strings in SpriteRenderer.Flush.
- ProductionQueue.CancelUnbuildableItems can exit early if the queue is empty. It can also use a set of names for quicker lookups.
- OpenGL.CheckGLError avoids a Enum.HasFlag call.
2020-10-17 23:48:48 +02:00
RoosterDragon
71e3ca4493
Sort renderables in-place in WorldRenderer.GenerateRenderables
2020-10-17 23:48:48 +02:00
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