Paul Chote
6f5d035e79
Introduce IMouseBounds and split/rework mouse rectangles.
...
The render bounds for an actor now include the area covered
by bibs, shadows, and any other widgets. In many cases this
area is much larger than we really want to consider for
tooltips and mouse selection.
An optional Margin is added to Selectable to support cases
like infantry, where we want the mouse area of the actor
to be larger than the drawn selection box.
2017-12-11 19:45:07 +01:00
Paul Chote
29255c8e01
Add IModel.AggregateBounds and ModelAnimation.ScreenBounds.
...
The bounds define the smallest Rectangle that covers all
rotations of all frames within a model sequence.
2017-12-11 19:45:07 +01:00
Paul Chote
506b677527
Add ModelAnimation.IsVisible property.
2017-12-11 19:45:07 +01:00
Paul Chote
041431d966
Add ISpriteSequence.Bounds and Animation(WithOffset).ScreenBounds.
...
The bounds define the smallest Rectangle that covers all frames within a sequence.
2017-12-11 19:45:07 +01:00
RoosterDragon
c75a866f0d
Lazily allocate sheet builder in ModelRenderer.
...
Avoid allocating the sheet builder each frame until it is needed. For mods that do not need to render models, this avoids allocating a large buffer and backing sheet as it will never render to the sheet. For mods that do render models, but don't need any this frame, this avoids allocating a new SheetBuilder that will not be used.
2017-12-11 01:44:21 +01:00
Paul Chote
9d2935935c
Add a debug visualization for screen map rectangles.
2017-12-04 23:10:23 +01:00
reaperrr
6711af63eb
Move SelectionBarsRenderable to Mods.Common
2017-11-21 01:00:09 +02:00
reaperrr
be290cfabd
Split Actor.Bounds into RenderBounds and SelectableBounds
...
Additionally, internally renamed VisualBounds to SelectionOverlayBounds to avoid confusion with RenderBounds.
This step was necessary to prevent actors with selectable area smaller than their graphics to be removed too early from ScreenMap even though part of the graphics should still be visible.
RA cruisers were a prime example, but to a lesser extent several other actors were affected as well.
This separation also serves as preparation to determine the final RenderBounds from multiple source bounds later, to fix the remaining ScreenMap issues (building 'bibs', aircraft shadows).
2017-11-21 01:00:09 +02:00
RoosterDragon
a71a5cc71d
Reduce the size of the sheets created for fonts.
...
- A 512x512 sheet is about half full after precaching and some usage, but uses 16x less memory than the default 2048x2048 sheet. This saving occurs twice as we maintain a managed buffer for this sheet.
- Only precache smaller fonts, as the larger fonts are less used and take up more space than is worthwhile.
- Only precache in white, as red is largely unused.
2017-11-19 12:40:04 +00:00
Andrii Yukhymchak
636a9a74a1
Font Crash gracious fallback
2017-11-01 18:50:15 +01:00
Paul Chote
69b4b541d2
Fix mutable use of float2 in SpriteFont.
2017-10-17 15:46:07 +02:00
Matthias Mailänder
1aebf9857c
Add support for only rendering effects inside screen bounds
2017-09-17 12:52:04 +01:00
rob-v
d4e9e0e069
Add Visualization chat commands
2017-07-23 15:08:24 +02:00
rob-v
1b3422db2d
Fix flickering tooltip
2017-06-24 11:52:27 +01:00
Paul Chote
2683b2507e
Fix remaining voxel references in Game.
2017-06-14 18:56:06 +02:00
Paul Chote
34810756c2
Move Voxel code to Mods.Cnc.
2017-06-14 18:56:06 +02:00
Paul Chote
dc4c3fd546
Rename VoxelRenderer to ModelRenderer.
2017-06-14 18:56:06 +02:00
Paul Chote
4f42778d26
Rename VoxelAnimation to ModelAnimation.
2017-06-14 18:56:06 +02:00
Paul Chote
e1cd00c1dd
Add backend plumbing for model loaders.
2017-06-14 18:56:06 +02:00
rob-v
b2e6a0484b
Fix Selecting a map resets player color
2017-05-14 14:00:45 +01:00
Paul Chote
cdf2df58a0
Define RectangularIsometric world coordinate scale along the cell axis.
2017-05-07 13:45:30 +01:00
Paul Chote
f6b65c98e4
Fix PBOG voxel rendering.
2017-02-07 10:05:06 +00:00
Paul Chote
956ea5197b
Fix BGRA channel count.
2017-02-04 17:05:00 +00:00
Paul Chote
5e7c816257
Add support for font scaling.
2017-01-21 10:59:59 +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
Paul Chote
a16344d347
Remove "Show Shellmap" setting.
2016-12-23 11:34:23 +00:00
Paul Chote
a266dc6639
Fix shroud rendering outside the map cordon.
2016-11-19 18:10:12 +00:00
Paul Chote
4db93f70c7
Add a cell sanity check to TerrainSpriteLayer.
2016-11-05 17:44:02 +00:00
Oliver Brakmann
65b919a7ae
Merge pull request #12062 from abc013/VoxelShadows
...
Added a flag ShowShadow in WithVoxelBarrel, WithVoxelBody, …
2016-09-30 16:04:30 +02:00
RoosterDragon
2ffea5db54
Change Game.RunTime to a long to prevent overflow.
2016-09-20 19:06:10 +01:00
abc013
b9d1f373fe
Added a flag ShowShadow in WithVoxelBarrel, WithVoxelBody, WithVoxelTurret, WithVoxelUnloadBody and WithVoxelWalkerBody
2016-09-20 13:34:05 +02:00
Oliver Brakmann
1059d5b88d
Add a Shadow option to LabelWidget and ButtonWidget
2016-09-02 20:58:46 +02:00
Oliver Brakmann
8ad18ad161
Rewrite color inversal in a reusable way
2016-09-02 20:58:46 +02:00
Paul Chote
3082c61e75
Add depth buffer support to tactical overlays.
2016-08-27 15:43:20 +01:00
Paul Chote
c092c93401
Add depth buffer support to debug overlays.
2016-08-27 15:43:20 +01:00
Paul Chote
50da18cd22
Add depth buffer support to RgbaColorRenderer.
2016-08-27 15:43:20 +01:00
Oliver Brakmann
b3c4ecd7c5
Merge pull request #11881 from reaperrr/always-visible-bar
...
Allow keeping empty selection bars visible
2016-08-26 14:56:29 +02:00
reaperrr
39034b0de9
Allow keeping empty selection bars visible
2016-08-25 20:40:56 +02:00
Paul Chote
d2f5fe7380
Draw order generator renderables above the shroud.
2016-08-22 20:27:59 +01:00
Paul Chote
69b358ec7b
Add IEffectAboveShroud for effects that draw above the shroud.
2016-08-22 20:27:58 +01:00
Paul Chote
ed349f9086
Remove health bar rendering duplication.
2016-08-22 20:27:58 +01:00
Paul Chote
6354686b58
Introduce IRenderAboveShroud interface.
2016-08-22 17:45:25 +01:00
Paul Chote
11805bb567
Rename and tweak post-render interfaces.
2016-08-22 17:40:05 +01:00
Paul Chote
f0306e7cc2
Render voxels with an approximately-correct z-offset.
2016-08-21 12:43:16 +01:00
Paul Chote
860e92a2a6
Rename IGraphicsDevice.cs to PlatformInterfaces.cs.
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
Paul Chote
0371727596
Allow sequences to define depth offsets via sprites.
2016-07-13 22:22:13 +01:00
Paul Chote
983abee1ed
Support tracking multiple sprites in SpriteCache.
2016-07-13 21:03:31 +01:00
Paul Chote
37c5e9e0b0
Fix incorrect secondary data channel in FastCreateQuad.
2016-07-13 21:03:30 +01:00