diff --git a/scripts/gameplay/crit_line.lua b/scripts/gameplay/crit_line.lua index b8f435f..7408dd9 100644 --- a/scripts/gameplay/crit_line.lua +++ b/scripts/gameplay/crit_line.lua @@ -1,7 +1,17 @@ local baseImage = gfx.CreateSkinImage("gameplay/crit_line/base.png", 0) local textImage = gfx.CreateSkinImage("gameplay/crit_line/text.png", 0) -local cursorImage = gfx.CreateSkinImage("gameplay/crit_line/cursor.png", 0) + +local cursorImage = gfx.CreateSkinImage("gameplay/crit_line/cursor.png", 0); +local cursorTopImage = gfx.CreateSkinImage("gameplay/crit_line/cursor_top.png", 0); +local cursorGlowBottomImages = { + gfx.CreateSkinImage("gameplay/crit_line/cursor_glow_bottom_left.png", 0), + gfx.CreateSkinImage("gameplay/crit_line/cursor_glow_bottom_right.png", 0), +} +local cursorGlowTopImages = { + gfx.CreateSkinImage("gameplay/crit_line/cursor_glow_top_left.png", 0), + gfx.CreateSkinImage("gameplay/crit_line/cursor_glow_top_right.png", 0), +} local CRITBAR_W = 1496 local CRITBAR_H = 348 @@ -39,15 +49,50 @@ local drawCursors = function (centerX, centerY,cursors) local cursor = cursors[i]; gfx.BeginPath(); gfx.SkewX(cursor.skew) + + local cursorX = (cursor.pos *(1/scale) - cursorW/2); + local cursorY = (-cursorH/2); + gfx.ImageRect( - (cursor.pos *(1/scale) - cursorW/2), - (-cursorH/2), + cursorX, + cursorY, cursorW, cursorH, cursorImage, cursor.alpha, 0 ); + + gfx.ImageRect( + cursorX, + cursorY, + cursorW, + cursorH, + cursorGlowBottomImages[i+1], + cursor.alpha, + 0 + ); + + gfx.ImageRect( + cursorX, + cursorY, + cursorW, + cursorH, + cursorTopImage, + cursor.alpha, + 0 + ); + + gfx.ImageRect( + cursorX, + cursorY, + cursorW, + cursorH, + cursorGlowTopImages[i+1], + cursor.alpha, + 0 + ); + gfx.Restore(); end end