From 868e404b22a090cd7eb4c00f822b49484f313209 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 4 Apr 2015 12:35:03 +0200 Subject: [PATCH 1/3] add 2 new blend modes: Multiplicative, DoubleMultiplicative --- OpenRA.Game/Graphics/IGraphicsDevice.cs | 4 +++- OpenRA.Renderer.Sdl2/Sdl2GraphicsDevice.cs | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/OpenRA.Game/Graphics/IGraphicsDevice.cs b/OpenRA.Game/Graphics/IGraphicsDevice.cs index fcb356aad0..2fdafe30d2 100755 --- a/OpenRA.Game/Graphics/IGraphicsDevice.cs +++ b/OpenRA.Game/Graphics/IGraphicsDevice.cs @@ -44,7 +44,9 @@ namespace OpenRA SoftAdditive, Translucency25, Translucency50, - Translucency75 + Translucency75, + Multiplicative, + DoubleMultiplicative } public interface IGraphicsDevice : IDisposable diff --git a/OpenRA.Renderer.Sdl2/Sdl2GraphicsDevice.cs b/OpenRA.Renderer.Sdl2/Sdl2GraphicsDevice.cs index 2c866d194f..a5b749aa23 100755 --- a/OpenRA.Renderer.Sdl2/Sdl2GraphicsDevice.cs +++ b/OpenRA.Renderer.Sdl2/Sdl2GraphicsDevice.cs @@ -267,6 +267,16 @@ namespace OpenRA.Renderer.Sdl2 ErrorHandler.CheckGlError(); GL.BlendColor(1f, 1f, 1f, 0.75f); break; + case BlendMode.Multiplicative: + GL.Enable(EnableCap.Blend); + ErrorHandler.CheckGlError(); + GL.BlendFunc(BlendingFactorSrc.Zero, BlendingFactorDest.SrcColor); + break; + case BlendMode.DoubleMultiplicative: + GL.Enable(EnableCap.Blend); + ErrorHandler.CheckGlError(); + GL.BlendFunc(BlendingFactorSrc.DstColor, BlendingFactorDest.SrcColor); + break; } ErrorHandler.CheckGlError(); From fdf58b29e27f7e2f018dbdfa57333f8a439f866f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sat, 4 Apr 2015 15:12:05 +0200 Subject: [PATCH 2/3] setup the alpha image lighting for the light spot --- mods/ts/bits/alpha.pal | Bin 0 -> 768 bytes mods/ts/rules/civilian-structures.yaml | 8 ++++++-- mods/ts/rules/world.yaml | 3 +++ mods/ts/sequences/civilian.yaml | 9 ++++++--- 4 files changed, 15 insertions(+), 5 deletions(-) create mode 100644 mods/ts/bits/alpha.pal diff --git a/mods/ts/bits/alpha.pal b/mods/ts/bits/alpha.pal new file mode 100644 index 0000000000000000000000000000000000000000..42f56dd71f72b0028e2e323aad0bb37b6e21b47c GIT binary patch literal 768 zcma*l-A;p05CmXa($G?Z6tN(dA3;EDu~Ni>sJ#DMISFC1m;EjXHw=4bkD}P)I4Vk{ z+-$K}sH(bJtu#&BY&N>C8-`(;re#^SZ99&$-|s!o^L_ttID}ys$8nM*X_{tPRun~9 zmdE3-BoO-6D3k+ac3+T?7U}fHXwqd5)aZ z>4cEW<${E+>+t#A48sr-2ouu%4Egjh!zl=VCme0&;^lFM@#slF3559poj?>tI18Q= zywkIQ>Lxffy$EQPPz#}IdKJ(cy$M(fp;*GE=v_eblMew4onR@171O7Ht Date: Mon, 6 Apr 2015 00:16:23 +0200 Subject: [PATCH 3/3] Fixed alphatst.shp --- mods/ts/bits/alphatst.shp | Bin 0 -> 38952 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 mods/ts/bits/alphatst.shp diff --git a/mods/ts/bits/alphatst.shp b/mods/ts/bits/alphatst.shp new file mode 100644 index 0000000000000000000000000000000000000000..9c4fcb14ded5a56282f25d6469ab67ad17156d02 GIT binary patch literal 38952 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 Rea!3gbFc8{-*1<|{{z#lKr;XU literal 0 HcmV?d00001