Commit Graph

644 Commits

Author SHA1 Message Date
Paul Chote
4ebe547a05 Allow SheetBuilder to generate 1/2/4 channel sheets.
This makes the SpriteFont RBGA sprite hack explicit,
and adds a DualIndexed option to be used by the voxel
renderer.
2013-05-15 20:18:41 +12:00
Paul Chote
28d4df355d Tidy Sprite. 2013-05-15 20:18:41 +12:00
Paul Chote
891158ca44 Allow SheetBuilder to throw an exception on sheet overflow.
This removes unnecessary checks from TerrainRenderer
and will be used in the voxel renderer.
2013-05-15 20:18:41 +12:00
Paul Chote
c13c989fe8 Allow sheet contents to be exported to bitmap. 2013-05-15 19:24:19 +12:00
Paul Chote
7d543abb92 Always store Sheet data as bytes. 2013-05-15 19:24:19 +12:00
Paul Chote
6dd62d7806 Fix Animation formatting (no code changes). 2013-05-15 19:24:18 +12:00
Paul Chote
ccbfacec62 Tidy TerrainRenderer formatting (no code changes). 2013-05-15 19:24:18 +12:00
Matthias Mailänder
2d685ab07d added SHP(TS) support by @katzsmile 2013-05-05 19:19:16 +02:00
Paul Chote
d091789206 Remove sequence warnings for the stable release. Fixes #3142. 2013-05-04 23:20:28 +12:00
Matthias Mailänder
3649342317 be more verbose about missing sequences and files
as requested in #3039
2013-04-20 21:56:29 +02:00
Scott_NZ
2c4c7aa4c0 Fixes TerrainRenderer.Draw() causing a crash because of negative firstRow value 2013-04-19 19:09:29 +12:00
Chris Forbes
405975bd6e fix enemies showing on minimap under fog 2013-04-13 19:15:53 +12:00
Paul Chote
400ad49de0 Allow maps/mods to properly disable fog or shroud (or both). 2013-04-11 22:36:56 +12:00
Paul Chote
248e815d99 More shroud refactoring.
This introduces a hash on Shroud which ShroudRenderer
can observe, removing the need to explicitly twiddle
a dirty flag between objects.

Shroud disabling is now done via RenderPlayer, so
enabling the cheat or winning/losing will now give
vis equivalent to an observer.
2013-04-10 21:08:22 +12:00
Paul Chote
c428cad70c Refactor per-player shrouds & fix shellmap shroud. 2013-04-10 19:36:03 +12:00
Matthias Mailänder
acc8cd1e5e fixes #2885 forgot to enable the cursor palette before drawing
split HardwarePalette.Update into two functions, closes #2847
2013-04-06 08:44:32 +02:00
Matthias Mailänder
6c6f5601d8 make PaletteTexture private and only use it for sprite renders 2013-04-06 08:44:32 +02:00
Matthias Mailänder
63893e97e7 use SharpFont instead of custom Tao.FreeType 2013-04-02 12:46:25 +02:00
Paul Chote
819d315d56 Remove Turret and PVecFloat cruft. 2013-04-01 12:59:50 +13:00
Paul Chote
34a9675744 Remove unnecessary PPos.FromWPosHackZ() usage. 2013-03-31 21:35:30 +13:00
Paul Chote
2f80cd5f92 Pass WorldRenderer to AnimationWithOffset.OffsetFunc. 2013-03-31 19:56:11 +13:00
Paul Chote
9e4bab07e5 Add conversions and helpers for world coordinates. 2013-03-29 20:39:27 +13:00
Matthias Mailänder
851512a84e eliminate public CursorProvider.Palettes
don't hand over the cursor palette to the world renderer at all
still update worldrender palette (set and apply modifiers)
2013-03-25 06:30:39 +01:00
Matthias Mailänder
ba12aafd78 refactor cursor rendering
create a new cursor palette only once and not in WorldRenderer
move cusrsor sequence lookup and drawing to CursorProvider
2013-03-24 21:21:30 +01:00
Matthias Mailänder
227a7a61eb don't crash when trying to get the game assets on first start
wr is null at that stage
2013-03-24 15:16:49 +01:00
Chris Forbes
942cbb2fe2 Merge pull request #2808 from Mailaender/trait-documentation
Auto-Generated Trait Documentation
2013-03-20 17:31:18 -07:00
Matthias Mailänder
c731a7960e embed the previously manually edited outdated documentation
from https://github.com/OpenRA/OpenRA/wiki/Trait-Documentation
2013-03-20 21:20:27 +01:00
Sascha Biedermann
35f4230984 added contrast to range circle 2013-03-20 18:53:28 +01:00
Matthias Mailänder
1a6a7da9c1 apply recent refactoring to quad renderer 2013-03-10 07:47:00 +01:00
Matthias Mailänder
7d0de5645f Added QuadRenderer to render shaded/colored quads. Added DebugOverlay to World to show A* bidi search cost per cell. 2013-03-10 07:32:35 +01:00
Chris Forbes
da566f3648 Merge pull request #2731 from pchote/renderer-cleanup2
Renderer refactoring - Duplication
2013-03-09 21:08:34 -08:00
Matthias Mailänder
de30f0a917 make fog of war rendering optional for classic mods 2013-03-08 09:40:12 +01:00
Paul Chote
8a53819f50 Redirect IShader calls via respective *Renderers. 2013-03-08 18:21:35 +13:00
Paul Chote
786c3b1f1a Rename uniform setters to avoid future ambiguity. 2013-03-04 19:06:42 +13:00
Chris Forbes
6bd3de8ec8 Fixed #2696: Sequences: Allow stride to be specified.
This allows you to use just some of the frames of an animation
which has multiple facings.

For example, if you have an animation which has 8 facings, and 6 frames
of animation per facing, but you only want to show 3 of them, you can now do:

    Facings: 8
    Length: 3       # the number of frames in each facing to actually use
    Stride: 6       # the number of frames per facing present in the SHP

If Stride is not specified, it defaults to Length, which is the old behavior.
It is an error to specify a stride less than the length -- this would produce
overlapping facings, or weirder.
2013-02-28 09:08:41 +13:00
Paul Chote
82426e0e45 Move Palette from ModData to WorldRenderer. 2013-02-26 09:35:41 +13:00
Paul Chote
3033eb8be0 Die with a helpful error if a palette doesn't exist. 2013-02-26 09:35:41 +13:00
Paul Chote
e9665cf9f3 Remove WorldRenderer.GetPaletteIndex. 2013-02-26 09:35:41 +13:00
Paul Chote
9bc743068a Remove WorldRenderer.GetPalette. 2013-02-26 09:35:41 +13:00
Paul Chote
72a9954491 Simplify PaletteReference interface. 2013-02-26 09:35:40 +13:00
Paul Chote
f890ea010e Pass WorldRenderer to RenderAsTerrain for palette lookup. 2013-02-26 09:24:43 +13:00
Paul Chote
5b360a7fe2 Use PaletteReferences in ShroudRenderer. 2013-02-26 09:24:43 +13:00
Paul Chote
000a5eaa56 Pass WorldRenderer to IRenderModifiers and replace more palette lookups. 2013-02-24 15:45:03 +13:00
Paul Chote
885eec7444 Move effects to WorldRenderer palette lookup. 2013-02-24 15:43:20 +13:00
Paul Chote
95871e6cc1 Add a cache of PaletteReferences to WorldRenderer.
I don't expect any perf improvements by using this
cache, as you're simply moving the row lookup from
render-time to fetch-time. However, this is a
cleaner abstraction, and allows us to fail early
if the palette doesn't exist.
2013-02-24 15:43:19 +13:00
Paul Chote
f0ba0ce2e8 Wrap palette references with a PaletteRef object. 2013-02-24 15:43:15 +13:00
Paul Chote
a166815348 Remove duplication between world/chrome shaders. 2013-02-23 09:53:46 +13:00
Paul Chote
35a149ea87 Apply consistent formatting to Renderer (no code changes). 2013-02-23 09:46:16 +13:00
Paul Chote
db7887687b Remove hardcoded list of palette mod exclusions. 2013-02-22 15:04:41 +13:00
Kenny
f41fb32d60 Introducing per-player shrouds.
- Each player has their own shroud and their visibility does not extend outside of the shroud. 
- Units and buildings can no longer target other units outside of their visibility. Buildings can still be targetted if they have been explored.
- GPS will provide visibility in the fog-of-war.
- Spies that infiltrate radar domes will gain their victim's exploration and reset it on all clients (if the victim does not have GPS)
2012-12-13 15:16:56 -08:00