Skip to content
Snippets Groups Projects
Commit 2ef0fc85 authored by dg's avatar dg
Browse files

check shader version

git-svn-id: http://svn.net-core.org/repos/t-engine4@5491 51575b47-30f0-44d4-a5cc-537603b46e54
parent 6cebacff
No related branches found
No related tags found
No related merge requests found
Showing
with 45 additions and 41 deletions
......@@ -36,6 +36,10 @@ function _M:init(name, args)
self.totalname = self:makeTotalName()
-- print("[SHADER] making shader from", name, " into ", self.totalname)
if args.require_shader then
if not core.shader.active(args.require_shader) then return end
end
if not core.shader.active() then return end
if not self.args.delay_load then
......
......@@ -47,33 +47,33 @@ local frames_colors = {
-- Load the various shaders used to display resources
air_c = {0x92/255, 0xe5, 0xe8}
air_sha = Shader.new("resources", {delay_load=true, color=air_c, speed=100, amp=0.8, distort={2,2.5}})
air_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=air_c, speed=100, amp=0.8, distort={2,2.5}})
life_c = {0xc0/255, 0, 0}
life_sha = Shader.new("resources", {delay_load=true, color=life_c, speed=1000, distort={1.5,1.5}})
life_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=life_c, speed=1000, distort={1.5,1.5}})
shield_c = {0.5, 0.5, 0.5}
shield_sha = Shader.new("resources", {delay_load=true, color=shield_c, speed=5000, a=0.8, distort={0.5,0.5}})
shield_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=shield_c, speed=5000, a=0.8, distort={0.5,0.5}})
stam_c = {0xff/255, 0xcc/255, 0x80/255}
stam_sha = Shader.new("resources", {delay_load=true, color=stam_c, speed=700, distort={1,1.4}})
stam_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=stam_c, speed=700, distort={1,1.4}})
mana_c = {106/255, 146/255, 222/255}
mana_sha = Shader.new("resources", {delay_load=true, color=mana_c, speed=1000, distort={0.4,0.4}})
mana_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=mana_c, speed=1000, distort={0.4,0.4}})
soul_c = {128/255, 128/255, 128/255}
soul_sha = Shader.new("resources", {delay_load=true, color=soul_c, speed=1200, distort={0.4,-0.4}})
soul_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=soul_c, speed=1200, distort={0.4,-0.4}})
equi_c = {0x00/255, 0xff/255, 0x74/255}
equi_sha = Shader.new("resources", {delay_load=true, color=equi_c, amp=0.8, speed=20000, distort={0.3,0.25}})
equi_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=equi_c, amp=0.8, speed=20000, distort={0.3,0.25}})
paradox_c = {0x2f/255, 0xa0/255, 0xb4/255}
paradox_sha = Shader.new("resources", {delay_load=true, color=paradox_c, amp=0.8, speed=20000, distort={0.1,0.25}})
paradox_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=paradox_c, amp=0.8, speed=20000, distort={0.1,0.25}})
pos_c = {colors.GOLD.r/255, colors.GOLD.g/255, colors.GOLD.b/255}
pos_sha = Shader.new("resources", {delay_load=true, color=pos_c, speed=1000, distort={1.6,0.2}})
pos_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=pos_c, speed=1000, distort={1.6,0.2}})
neg_c = {colors.DARK_GREY.r/255, colors.DARK_GREY.g/255, colors.DARK_GREY.b/255}
neg_sha = Shader.new("resources", {delay_load=true, color=neg_c, speed=1000, distort={1.6,-0.2}})
neg_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=neg_c, speed=1000, distort={1.6,-0.2}})
vim_c = {0x90/255, 0x40/255, 0x10/255}
vim_sha = Shader.new("resources", {delay_load=true, color=vim_c, speed=1000, distort={0.4,0.4}})
vim_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=vim_c, speed=1000, distort={0.4,0.4}})
hate_c = {0xF5/255, 0x3C/255, 0xBE/255}
hate_sha = Shader.new("resources", {delay_load=true, color=hate_c, speed=1000, distort={0.4,0.4}})
hate_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=hate_c, speed=1000, distort={0.4,0.4}})
psi_c = {colors.BLUE.r/255, colors.BLUE.g/255, colors.BLUE.b/255}
psi_sha = Shader.new("resources", {delay_load=true, color=psi_c, speed=2000, distort={0.4,0.4}})
psi_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=psi_c, speed=2000, distort={0.4,0.4}})
feedback_c = {colors.YELLOW.r/255, colors.YELLOW.g/255, colors.YELLOW.b/255}
feedback_sha = Shader.new("resources", {delay_load=true, color=feedback_c, speed=2000, distort={0.4,0.4}})
feedback_sha = Shader.new("resources", {require_shader=4, delay_load=true, color=feedback_c, speed=2000, distort={0.4,0.4}})
save_c = pos_c
save_sha = pos_sha
......
......@@ -127,22 +127,22 @@ newBirthDescriptor{
birth_example_particles = {
"arcane_power",
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="flames", hide_center=0, xy={0, 0}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="flames", hide_center=0, xy={0, 0}}))
else actor:addParticles(Particles.new("wildfire", 1))
end
end,
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=-0.2, radius=1.1}, {type="sparks", hide_center=0, time_factor=40000, color1={0, 0, 1, 1}, color2={0, 1, 1, 1}, zoom=0.5, xy={0, 0}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=-0.2, radius=1.1}, {type="sparks", hide_center=0, time_factor=40000, color1={0, 0, 1, 1}, color2={0, 1, 1, 1}, zoom=0.5, xy={0, 0}}))
else actor:addParticles(Particles.new("uttercold", 1))
end
end,
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=-0.01, radius=1.1}, {type="stone", hide_center=1, xy={0, 0}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=-0.01, radius=1.1}, {type="stone", hide_center=1, xy={0, 0}}))
else actor:addParticles(Particles.new("crystalline_focus", 1))
end
end,
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="sparks", hide_center=0, zoom=3, xy={0, 0}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="sparks", hide_center=0, zoom=3, xy={0, 0}}))
else actor:addParticles(Particles.new("tempest", 1))
end
end,
......
......@@ -60,17 +60,17 @@ newBirthDescriptor{
stats = { str=1, wil=4, cun=4, },
birth_example_particles = {
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={1, 0, 0.3}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={1, 0, 0.3}}))
else actor:addParticles(Particles.new("generic_shield", 1, {r=1, g=0, b=0.3, a=0.5}))
end
end,
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={0.3, 1, 1}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={0.3, 1, 1}}))
else actor:addParticles(Particles.new("generic_shield", 1, {r=0.3, g=1, b=1, a=0.5}))
end
end,
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={0.8, 1, 0.2}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={0.8, 1, 0.2}}))
else actor:addParticles(Particles.new("generic_shield", 1, {r=0.8, g=1, b=0.2, a=0.5}))
end
end,
......@@ -178,7 +178,7 @@ newBirthDescriptor{
stats = { str=0, wil=5, cun=4, },
birth_example_particles = {
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-8000, llpow=1, aadjust=7, color={1, 1, 0}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-8000, llpow=1, aadjust=7, color={1, 1, 0}}))
else actor:addParticles(Particles.new("generic_shield", 1, {r=1, g=1, b=0, a=1}))
end
end,
......
......@@ -65,7 +65,7 @@ newBirthDescriptor{
stats = { wil=5, cun=3, dex=1, },
birth_example_particles = {
function(actor)
if core.shader.active() then actor:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="flames", zoom=2, npow=4, time_factor=4000, color1={0.2,0.7,0,1}, color2={0,1,0.3,1}, hide_center=0, xy={0, 0}}))
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="flames", zoom=2, npow=4, time_factor=4000, color1={0.2,0.7,0,1}, color2={0,1,0.3,1}, hide_center=0, xy={0, 0}}))
else actor:addParticles(Particles.new("master_summoner", 1))
end
end,
......
......@@ -29,7 +29,7 @@ g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/antimagic_
g.nice_tiler = nil
game.zone:addEntity(game.level, g, "terrain", x, y)
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 3, "shader_ring_rotating", {rotation=0, radius=6}, {type="flames", aam=0.5, zoom=0.4, npow=5, time_factor=15000, color1={0,0.8,0.5,1}, color2={0,0.8,0.7,1}, hide_center=0})
else
level.map:particleEmitter(x, y, 3, "ultrashield", {rm=0, rM=0, gm=160, gM=240, bm=100, bM=160, am=80, aM=150, radius=3, density=60, life=14, instop=17})
......
......@@ -29,7 +29,7 @@ g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/blight_roo
g.nice_tiler = nil
game.zone:addEntity(game.level, g, "terrain", x, y)
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 3, "shader_ring_rotating", {rotation=0, radius=6}, {type="flames", aam=0.5, zoom=0.4, npow=1, time_factor=15000, color1={0.2,0.4,0,1}, color2={0.2,0.5,0.1,1}, hide_center=0})
else
level.map:particleEmitter(x, y, 3, "ultrashield", {rm=50, rM=80, gm=80, gM=100, bm=30, bM=60, am=80, aM=150, radius=3, density=60, life=14, instop=17})
......
......@@ -21,7 +21,7 @@
local x, y = game.state:findEventGrid(level)
if not x then return false end
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 2, "shader_ring_rotating", {rotation=0, radius=4}, {type="flames", aam=0.1, zoom=7, npow=4, time_factor=2000, color1={0.1,0.1,0.1,6}, color2={0.3,0.3,0.3,1}, hide_center=0})
else
level.map:particleEmitter(x, y, 2, "ultrashield", {rm=200, rM=250, gm=200, gM=250, bm=80, bM=120, am=80, aM=150, radius=2, density=60, life=14, instop=17})
......
......@@ -29,7 +29,7 @@ g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/terrain_po
g.nice_tiler = nil
game.zone:addEntity(game.level, g, "terrain", x, y)
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 2, "shader_ring_rotating", {rotation=0, radius=4}, {type="flames", aam=0.5, zoom=3, npow=4, time_factor=4000, color1={0.2,0.7,0,1}, color2={0,1,0.3,1}, hide_center=0})
else
level.map:particleEmitter(x, y, 2, "ultrashield", {rm=0, rM=0, gm=180, gM=220, bm=10, bM=80, am=80, aM=150, radius=2, density=60, life=14, instop=17})
......
......@@ -21,7 +21,7 @@
local x, y = game.state:findEventGrid(level)
if not x then return false end
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 2, "shader_ring_rotating", {rotation=0, radius=4}, {type="flames", aam=0.2, zoom=1, npow=8, time_factor=6000, color1={0.1,0.1,0.1,6}, color2={0.3,0.3,0.3,1}, hide_center=0})
else
level.map:particleEmitter(x, y, 2, "ultrashield", {rm=200, rM=250, gm=200, gM=250, bm=80, bM=120, am=80, aM=150, radius=2, density=60, life=14, instop=17})
......
......@@ -21,7 +21,7 @@
local x, y = game.state:findEventGrid(level)
if not x then return false end
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 1, "shader_ring_rotating", {rotation=0, radius=2}, {type="flames", aam=0.1, zoom=7, npow=4, time_factor=2000, color1={0.8,0.8,0,6}, color2={0.9,0.9,0.7,1}, hide_center=0})
else
level.map:particleEmitter(x, y, 1, "ultrashield", {rm=200, rM=250, gm=200, gM=250, bm=80, bM=120, am=80, aM=150, radius=1, density=60, life=14, instop=17})
......
......@@ -29,7 +29,7 @@ g.on_stand = nil
level.map(x, y, engine.Map.TERRAIN, g)
game.nicer_tiles:updateAround(level, x, y)
if core.shader.active() then
if core.shader.active(4) then
level.map:particleEmitter(x, y, 1, "shader_ring_rotating", {rotation=0, radius=2}, {type="flames", aam=0.5, zoom=3, npow=4, time_factor=1000, hide_center=0})
else
level.map:particleEmitter(x, y, 1, "ultrashield", {rm=180, rM=220, gm=0, gM=0, bm=10, bM=80, am=30, aM=100, radius=1, density=60, life=14, instop=17})
......
......@@ -709,7 +709,7 @@ With each slow breath it takes reality distorts around it. Blue twirls into red
dreamer_sleep_state = 1,
-- And some particles to show that we're asleep
resolvers.genericlast(function(e)
if core.shader.active() then
if core.shader.active(4) then
e.sleep_particle = e:addParticles(engine.Particles.new("shader_shield", 1, {img="shield2", size_factor=1}, {type="shield", time_factor=6000, aadjust=2, color={0.6, 1, 0.6}}))
else
e.sleep_particle = e:addParticles(engine.Particles.new("generic_shield", 1, {r=0.6, g=1, b=0.6, a=1}))
......
......@@ -31,7 +31,7 @@ newTalent{
activate = function(self, t)
game:playSoundNear(self, "talents/heal")
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="flames", zoom=2, npow=4, time_factor=4000, color1={0.2,0.7,0,1}, color2={0,1,0.3,1}, hide_center=0, xy={self.x, self.y}}))
else
particle = self:addParticles(Particles.new("master_summoner", 1))
......
......@@ -85,7 +85,7 @@ newTalent{
local s_str = getShieldStrength(self, t)
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={1, 0, 0.3}}))
else
particle = self:addParticles(Particles.new("generic_shield", 1, {r=1, g=0, b=0.3, a=0.5}))
......@@ -198,7 +198,7 @@ newTalent{
game:playSoundNear(self, "talents/heal")
local s_str = getShieldStrength(self, t)
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={0.3, 1, 1}}))
else
particle = self:addParticles(Particles.new("generic_shield", 1, {r=0.3, g=1, b=1, a=0.5}))
......@@ -307,7 +307,7 @@ newTalent{
game:playSoundNear(self, "talents/heal")
local s_str = getShieldStrength(self, t)
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.1}, {type="shield", time_factor=-10000, llpow=1, aadjust=3, color={0.8, 1, 0.2}}))
else
particle = self:addParticles(Particles.new("generic_shield", 1, {r=0.8, g=1, b=0.2, a=0.5}))
......
......@@ -237,7 +237,7 @@ newTalent{
game:playSoundNear(self, "talents/arcane")
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.3}, {type="shield", time_factor=-2500, color={0.8, 0.1, 1.0}, impact_color = {0, 1, 0}, impact_time=800}))
else
particle = self:addParticles(Particles.new("disruption_shield", 1))
......
......@@ -168,7 +168,7 @@ newTalent{
game:playSoundNear(self, "talents/arcane")
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.3}, {type="shield", time_factor=-2500, color={0.8, 0.1, 1.0}, impact_color = {0, 1, 0}, impact_time=800}))
else
particle = self:addParticles(Particles.new("disruption_shield", 1))
......
......@@ -159,7 +159,7 @@ newTalent{
game:playSoundNear(self, "talents/ice")
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=-0.2, radius=1.1}, {type="sparks", hide_center=0, time_factor=40000, color1={0, 0, 1, 1}, color2={0, 1, 1, 1}, zoom=0.5, xy={self.x, self.y}}))
else
particle = self:addParticles(Particles.new("uttercold", 1))
......
......@@ -188,7 +188,7 @@ newTalent{
activate = function(self, t)
game:playSoundNear(self, "talents/earth")
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_ring_rotating", 1, {rotation=-0.01, radius=1.1}, {type="stone", hide_center=1, xy={self.x, self.y}}))
else
particle = self:addParticles(Particles.new("crystalline_focus", 1))
......
......@@ -40,7 +40,7 @@ newTalent{
local dam = self:spellCrit(t.getDamage(self, t))
self:project(tg, self.x, self.y, DamageType.LIGHTNING_DAZE, {daze=75, dam=rng.avg(dam / 3, dam, 3)})
if core.shader.active() then
if core.shader.active(4) then
game.level.map:particleEmitter(self.x, self.y, tg.radius, "shader_ring", {radius=tg.radius*2, life=8}, {type="sparks"})
else
local x, y = self.x, self.y
......@@ -150,7 +150,7 @@ newTalent{
activate = function(self, t)
game:playSoundNear(self, "talents/thunderstorm")
local particle
if core.shader.active() then
if core.shader.active(4) then
particle = self:addParticles(Particles.new("shader_ring_rotating", 1, {radius=1.1}, {type="sparks", hide_center=0, zoom=3, xy={self.x, self.y}}))
else
particle = self:addParticles(Particles.new("tempest", 1))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment