Added console glow effects (knobs disabled) #40

Merged
hersi merged 1 commits from 28-restore-console-bt-fx-lights into master 2022-08-11 11:50:43 +02:00
1 changed files with 66 additions and 12 deletions

View File

@ -1,11 +1,49 @@
local Dimensions = require 'common.dimensions' local Dimensions = require 'common.dimensions'
local consoleBaseImage = gfx.CreateSkinImage("gameplay/console/base.png", 0)
local CONSOLE_W = 1352; local CONSOLE_W = 1352;
local CONSOLE_H = 712; local CONSOLE_H = 712;
local function createConsoleImage(name)
return gfx.CreateSkinImage("gameplay/console/"..name..".png", 0)
end
local function renderConsoleImage(image, alpha)
gfx.BeginPath();
gfx.ImageRect(
-CONSOLE_W/2,
-CONSOLE_H/2+350,
CONSOLE_W,
CONSOLE_H,
image,
alpha,
0
);
end
local consoleBaseImage = createConsoleImage("base")
local buttonGlowImages = {
[0] = createConsoleImage("glow_bta"),
createConsoleImage("glow_btb"),
createConsoleImage("glow_btc"),
createConsoleImage("glow_btd"),
createConsoleImage("glow_fxl"),
createConsoleImage("glow_fxr"),
};
local knobGlowImages = {
[0] = createConsoleImage("glow_voll"),
createConsoleImage("glow_volr"),
};
local lastKnobState = {
[0] = -1,
-1
};
local doFlash = true;
local render = function (deltaTime, critLineCenterX, critLineCenterY, critLineRotation) local render = function (deltaTime, critLineCenterX, critLineCenterY, critLineRotation)
local resx, resy = game.GetResolution(); local resx, resy = game.GetResolution();
if (resx > resy) then if (resx > resy) then
@ -18,16 +56,32 @@ local render = function (deltaTime, critLineCenterX, critLineCenterY, critLineRo
critLineRotation critLineRotation
) )
gfx.BeginPath(); renderConsoleImage(consoleBaseImage, 1)
gfx.ImageRect(
-CONSOLE_W/2, if doFlash then
-CONSOLE_H/2+350, for button=0,5 do
CONSOLE_W, if game.GetButton(button) then
CONSOLE_H, renderConsoleImage(buttonGlowImages[button], 0.75)
consoleBaseImage, end
1, end
0
); -- Knobs also work
-- commented out do to missing/incorrect textures
--[[
for knob=0,1 do
local state = game.GetKnob(knob)
if state ~= lastKnobState[knob] then
renderConsoleImage(knobGlowImages[knob], 1)
lastKnobState[knob] = state
end
end
]]
end
doFlash = not doFlash;
end end
return { return {