big thing
|
@ -5,7 +5,7 @@ local common = require('common.util');
|
|||
local Sound = require("common.sound")
|
||||
|
||||
local Numbers = require('components.numbers')
|
||||
local VolforceWindow = require("components.volforceWindow")
|
||||
local dancheck = require("components.dancheck");
|
||||
|
||||
-- Window variables
|
||||
local resX, resY
|
||||
|
@ -39,6 +39,7 @@ local playerInfoOverlayBgImage = gfx.CreateSkinImage("challenge_result/player_in
|
|||
local headerTitleImage = gfx.CreateSkinImage("challenge_result/header/title.png", 0);
|
||||
|
||||
local username = game.GetSkinSetting("username");
|
||||
local msg = game.GetSkinSetting("MSG");
|
||||
local appealCardImage = gfx.CreateSkinImage("crew/appeal_card.png", 0);
|
||||
local danBadgeImage = gfx.CreateSkinImage("dan/inf.png", 0);
|
||||
local crewImage = gfx.CreateSkinImage("crew/portrait.png", 0);
|
||||
|
@ -51,7 +52,6 @@ local completionPassImage = gfx.CreateSkinImage("challenge_result/pass_states/pa
|
|||
|
||||
local irHeartbeatRequested = false;
|
||||
local IRserverName = "";
|
||||
|
||||
local badgeImages = {
|
||||
gfx.CreateSkinImage("song_select/medal/nomedal.png", 1),
|
||||
gfx.CreateSkinImage("song_select/medal/played.png", 1),
|
||||
|
@ -69,14 +69,14 @@ local gradeImages = {
|
|||
AA = gfx.CreateSkinImage("common/grades/AA.png", 0),
|
||||
A_P = gfx.CreateSkinImage("common/grades/A+.png", 0),
|
||||
A = gfx.CreateSkinImage("common/grades/A.png", 0),
|
||||
B = gfx.CreateSkinImage("common/grades/B.png", 0),
|
||||
B = gfx.CreateSkinImage("commo n/grades/B.png", 0),
|
||||
C = gfx.CreateSkinImage("common/grades/C.png", 0),
|
||||
D = gfx.CreateSkinImage("common/grades/D.png", 0),
|
||||
none = gfx.CreateSkinImage("common/grades/none.png", 0),
|
||||
}
|
||||
|
||||
local percRequired = 1;
|
||||
local percGet = 0;
|
||||
local percRequired = nil;
|
||||
local percGet = nil;
|
||||
|
||||
-- AUDIO
|
||||
game.LoadSkinSample("challenge_result.wav")
|
||||
|
@ -134,11 +134,11 @@ function drawPlayerInfo()
|
|||
gfx.FontSize(28)
|
||||
gfx.LoadSkinFont("Digital-Serial-Bold.ttf")
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.Text("Hellooooooo", 310, 370);
|
||||
gfx.Text(msg, 310, 370);
|
||||
|
||||
-- Draw username
|
||||
gfx.FontSize(40)
|
||||
gfx.Text(username, 310, 413);
|
||||
gfx.Text(string.upper(username), 310, 413);
|
||||
|
||||
-- Draw IR server name
|
||||
gfx.FontSize(28)
|
||||
|
@ -146,7 +146,7 @@ function drawPlayerInfo()
|
|||
|
||||
-- Draw dan badge
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(311, 490, 107 * 1.25, 29 * 1.25, danBadgeImage, 1, 0);
|
||||
gfx.ImageRect(311, 490, 107 * 1.25, 29 * 1.25, dancheck(false), 1, 0);
|
||||
end
|
||||
|
||||
local scoreNumber = Numbers.load_number_image("score_num");
|
||||
|
@ -161,7 +161,7 @@ function drawChartResult(deltaTime, x, y, chartResult)
|
|||
gfx.GlobalAlpha(1);
|
||||
gfx.Text(chartResult.title, x+160,y+32);
|
||||
|
||||
DiffRectangle.render(deltaTime, x+287.5, y+67, 0.85, chartResult.difficulty, chartResult.level)
|
||||
DiffRectangle.render(deltaTime, x+287.5, y+67, 0.85, chartResult.difficulty+1, chartResult.level)
|
||||
|
||||
local score = chartResult.score or 0;
|
||||
|
||||
|
@ -215,6 +215,10 @@ function drawCompletion()
|
|||
gfx.BeginPath()
|
||||
gfx.ImageRect(63, 1331, 766*0.85, 130*0.85, completitionImage, 1, 0)
|
||||
|
||||
if (percRequired == nil) then
|
||||
return
|
||||
end
|
||||
|
||||
Numbers.draw_number(925, 1370, 1.0, percGet, 3, scoreNumber, true, 0.3, 1.12)
|
||||
|
||||
|
||||
|
@ -224,9 +228,14 @@ function drawCompletion()
|
|||
gfx.Fill()
|
||||
end
|
||||
|
||||
|
||||
function result_set()
|
||||
if (result.requirement_text == nil) then
|
||||
return
|
||||
end
|
||||
|
||||
local reqTextWords = common.split(result.requirement_text, ' ');
|
||||
|
||||
|
||||
for index, word in ipairs(reqTextWords) do
|
||||
if string.find(word, '%%') ~= nil then -- %% = %, because % is an escape char
|
||||
local percNumber = tonumber(string.gsub(word, '%%', ''), 10)
|
||||
|
@ -234,6 +243,11 @@ function result_set()
|
|||
end
|
||||
end
|
||||
|
||||
if (percRequired == nil) then
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
game.Log(percRequired, game.LOGGER_ERROR);
|
||||
|
||||
local a = 0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
local function split(s, delimiter)
|
||||
result = {};
|
||||
local result = {};
|
||||
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
|
||||
table.insert(result, match);
|
||||
end
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
local vfBrackets = {0, 10, 12, 14, 15, 16, 17, 18, 19, 20, 24}
|
||||
|
||||
local volforceAmount = game.GetSkinSetting('_volforce');
|
||||
|
||||
local stNum = 1
|
||||
|
||||
if not volforceAmount then
|
||||
|
@ -22,7 +24,7 @@ local function handleForce(vf)
|
|||
end
|
||||
break
|
||||
end
|
||||
if i > 7 then
|
||||
if i < 7 then
|
||||
stNum = 2
|
||||
else
|
||||
stNum = 1
|
||||
|
@ -69,8 +71,12 @@ function render(deltatime, x, y,size,iftxt,amount)
|
|||
gfx.FontSize(11)
|
||||
gfx.Text('VOLFORCE', x + 47, y + 14);
|
||||
gfx.FontSize(18)
|
||||
if amount == nil then
|
||||
gfx.Text("0.000", x + 47, y + 30)
|
||||
else
|
||||
gfx.Text(string.format('%.3f', amount), x + 47, y + 30);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
|
|
|
@ -12,8 +12,6 @@ local getroom = require("multi.roomList.getroom");
|
|||
local getgrad = require("multi.roomList.getgrad");
|
||||
local gettop = require("multi.roomList.gettop");
|
||||
|
||||
local l_grad = gfx.CreateSkinImage("multi/roomselect/lobby_select_gradiant.png", 1);
|
||||
|
||||
local curser = gfx.CreateSkinImage("multi/roomselect/room_panel_glow.png",1)
|
||||
|
||||
local jacketFallback = gfx.CreateSkinImage("song_select/loading.png", 0)
|
||||
|
@ -170,33 +168,30 @@ end
|
|||
|
||||
function render_loading()
|
||||
if not loading then return end
|
||||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
|
||||
gfx.FillColor(255,255,255)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.FontSize(20)
|
||||
gfx.FontSize(32)
|
||||
gfx.Text("LOADING "..math.random(1000), resX/resX+10, resY-410)
|
||||
|
||||
gfx.Text("LOADING "..math.random(1000), resY/3+25, resX/2 + 302+20)
|
||||
gfx.Restore()
|
||||
end
|
||||
|
||||
function render_hotkeys()
|
||||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
|
||||
gfx.FontSize(19)
|
||||
gfx.FontSize(32)
|
||||
|
||||
spacer = 370
|
||||
|
||||
for i = 1, 2, 1 do
|
||||
gfx.FillColor(255,255,255)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
if i == 1 then
|
||||
gfx.Text("FXR: Sorting", resY/3+25, resX/2 + 302+20 +(i*20))
|
||||
gfx.Text("FXR: Sorting", resX/resX+10, resY-spacer +(i*20))
|
||||
elseif i == 2 then
|
||||
gfx.Text("FXL: LV", resY/3+25, resX/2 + 302+20 +(i*20))
|
||||
gfx.Text("FXL: LV", resX/resX+10, resY-spacer+10 +(i*20))
|
||||
end
|
||||
end
|
||||
gfx.Restore()
|
||||
|
||||
end
|
||||
|
||||
function render(deltaTime)
|
||||
|
@ -222,14 +217,13 @@ function render(deltaTime)
|
|||
|
||||
gfx.Translate(xOffset, 500 - yOffset * entryH)
|
||||
|
||||
--make it later like songwheel type loading
|
||||
for i, song in ipairs(songs) do
|
||||
if math.abs(cursorPos - i) <= xCount * yCount*1.5 + xCount then
|
||||
i = i - 1
|
||||
local x = entryW * (i % xCount)
|
||||
local y = math.floor(i / xCount) * entryH/2
|
||||
render_song(song, x, y)
|
||||
if math.abs(#songs - i) < 1 then load_more() end
|
||||
if math.abs(#songs - i) < 50 then load_more() end
|
||||
end
|
||||
end
|
||||
gfx.ResetScissor()
|
||||
|
@ -254,8 +248,8 @@ function render(deltaTime)
|
|||
|
||||
|
||||
soffset = soffset * 0.8
|
||||
draw_search(100,50, -100/3-200, 100/4)
|
||||
|
||||
draw_search(10,150, -(resX+1000), 100)
|
||||
gfx.ResetScissor()
|
||||
end
|
||||
|
||||
function archive_callback(entries, id)
|
||||
|
@ -420,52 +414,44 @@ function advance_selection(steps)
|
|||
end
|
||||
|
||||
function render_level_filters()
|
||||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
gfx.BeginPath()
|
||||
gfx.FontSize(20)
|
||||
gfx.FontSize(40)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
|
||||
-- 1 - 20
|
||||
for i = 1, 20 do
|
||||
x = (resY/2)
|
||||
y = (resX/2) + (i - 1) * 40
|
||||
x = (resX/resX)
|
||||
y = (resY/resY) + (i - 1) * 50
|
||||
if selectedLevels[i] then gfx.FillColor(255,255,0) else gfx.FillColor(255,255,255) end
|
||||
gfx.Text(tostring(i), x+290-5, y/1.4-130-9)
|
||||
gfx.Text(tostring(i), x+30, y+460)
|
||||
if i == 1 then
|
||||
bruhX = x+279-5
|
||||
bruhY = y-295-9 + (levelcursor*28.5)
|
||||
bruhX = x+9
|
||||
bruhY = y+435 + (levelcursor*50)
|
||||
end
|
||||
end
|
||||
--box
|
||||
gfx.BeginPath()
|
||||
gfx.Rect(bruhX,bruhY, 22, 22)
|
||||
gfx.Rect(bruhX,bruhY, 44, 44)
|
||||
gfx.StrokeColor(0,204,255)
|
||||
gfx.StrokeWidth(2)
|
||||
gfx.Stroke()
|
||||
gfx.Restore()
|
||||
|
||||
end
|
||||
|
||||
function render_sorting_selection()
|
||||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
gfx.BeginPath()
|
||||
gfx.FillColor(255,255,255)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||
gfx.FontSize(20)
|
||||
gfx.Text("Sorting method:", resX-400, 100)
|
||||
gfx.BeginPath()
|
||||
gfx.Rect(resX, resY, 150, 44)
|
||||
gfx.StrokeColor(255,128,0)
|
||||
gfx.StrokeWidth(2)
|
||||
gfx.Stroke()
|
||||
gfx.FontSize(20)
|
||||
gfx.FontSize(30)
|
||||
gfx.Text("Sorting method:", resX/resX+50, 250)
|
||||
gfx.FontSize(25)
|
||||
this = 285
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.Scissor(resX-350, 120,400,20)
|
||||
gfx.Scissor(resX/resX+125, this,400,20)
|
||||
for i, opt in ipairs(sortingOptions) do
|
||||
y = 110 + (i - sortingcursor) *20
|
||||
y = this-10 + (i - sortingcursor) *20
|
||||
if selectedSorting == opt then gfx.FillColor(255,255,255) else gfx.FillColor(127,127,127) end
|
||||
gfx.Text(string.upper(opt), resX-300, y)
|
||||
gfx.Text(string.upper(opt), resX/resX+175, y)
|
||||
end
|
||||
gfx.ResetScissor()
|
||||
end
|
||||
|
@ -482,8 +468,6 @@ function update_search_text(active, text)
|
|||
|
||||
local searchIndex = 1
|
||||
function draw_search(x,y,w,h)
|
||||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
soffset = soffset + (searchIndex) - (searchInputActive and 0 or 1)
|
||||
if searchIndex ~= (searchInputActive and 0 or 1) then
|
||||
game.PlaySample("woosh")
|
||||
|
@ -491,9 +475,9 @@ function draw_search(x,y,w,h)
|
|||
searchIndex = searchInputActive and 0 or 1
|
||||
|
||||
gfx.BeginPath()
|
||||
local xpos = x+110 + (searchIndex + soffset)*w
|
||||
local xpos = x + (searchIndex + soffset)*w
|
||||
gfx.BeginPath();
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE);
|
||||
gfx.DrawLabel(searchText, xpos+10,y+(h/2), w-20)
|
||||
gfx.DrawLabel(searchText, xpos,y+(h/2), w-20)
|
||||
|
||||
end
|
||||
|
|
|
@ -173,7 +173,7 @@ local render = function (deltaTime)
|
|||
local scale = resy / desh
|
||||
|
||||
if (isLandscape) then
|
||||
ALERT_Y_POS = desh*0.6
|
||||
ALERT_Y_POS = (desh+150)*0.6
|
||||
else
|
||||
ALERT_Y_POS = desh*0.58
|
||||
end
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
local Charting = require('common.charting');
|
||||
local DiffRectangle = require('components.diff_rectangle');
|
||||
local Easing = require('common.easing');
|
||||
|
||||
local desw = 1080;
|
||||
local desh = 1920;
|
||||
|
@ -19,13 +20,19 @@ local jacketFallbackImage = gfx.CreateSkinImage("song_select/loading.png", 0);
|
|||
local jacketImage;
|
||||
local loadedJacketImage = false;
|
||||
|
||||
speedYin = 0
|
||||
speedYoff = 25
|
||||
|
||||
local transitionEnterScale = 0
|
||||
|
||||
|
||||
local loadJacketImage = function (jacketPath)
|
||||
if jacketImage == nil or jacketImage == jacketFallbackImage then
|
||||
jacketImage = gfx.LoadImageJob(jacketPath, jacketFallbackImage)
|
||||
end
|
||||
end
|
||||
|
||||
local renderOutlinedText = function (x,y, text, outlineWidth)
|
||||
local renderOutlinedText = function (x,y, text, outlineWidth,r,g,b)
|
||||
gfx.BeginPath();
|
||||
gfx.FillColor(0,0,0,255);
|
||||
gfx.Text(text, x-outlineWidth, y+outlineWidth);
|
||||
|
@ -33,12 +40,16 @@ local renderOutlinedText = function (x,y, text, outlineWidth)
|
|||
gfx.Text(text, x+outlineWidth, y+outlineWidth);
|
||||
gfx.Text(text, x+outlineWidth, y-outlineWidth);
|
||||
|
||||
gfx.FillColor(255,255,255,255);
|
||||
gfx.FillColor(r,g,b,255);
|
||||
gfx.Text(text, x, y);
|
||||
end
|
||||
|
||||
local tickTransitions = function (deltaTime)
|
||||
|
||||
if transitionEnterScale < 1 then
|
||||
transitionEnterScale = transitionEnterScale + deltaTime / 0.66 -- transition should last for that time in seconds
|
||||
else
|
||||
transitionEnterScale = 1
|
||||
end
|
||||
end
|
||||
|
||||
local demoMode = function (songTitle,songArtist)
|
||||
|
@ -54,15 +65,15 @@ local demoMode = function (songTitle,songArtist)
|
|||
gfx.BeginPath();
|
||||
gfx.FontSize(38)
|
||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
renderOutlinedText(desw/4+12,th+90, "DEMO MODE", 2);
|
||||
renderOutlinedText(desw/4+12,th+90, "DEMO MODE", 2,255,255,255);
|
||||
gfx.BeginPath();
|
||||
|
||||
gfx.ImageRect((desw/4)+15,th+129,desw/2.12,th/2.25,jacketImage,1,0)
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
renderOutlinedText(desw/2,th+685, songTitle, 2);
|
||||
renderOutlinedText(desw/2,th+725, songArtist, 2);
|
||||
renderOutlinedText(desw/2,th+685, songTitle, 2,255,255,255);
|
||||
renderOutlinedText(desw/2,th+725, songArtist, 2,255,255,255);
|
||||
end
|
||||
|
||||
local render = function (deltaTime, bpm, laneSpeed, jacketPath, diff, level, progress, songTitle, songArtist)
|
||||
|
@ -130,31 +141,58 @@ local render = function (deltaTime, bpm, laneSpeed, jacketPath, diff, level, pro
|
|||
|
||||
gfx.FontSize(30);
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
renderOutlinedText(25,y+247, "BPM", 2);
|
||||
renderOutlinedText(25,y+281, "LANE-SPEED", 2);
|
||||
renderOutlinedText(25,y+247, "BPM", 2,255,255,255);
|
||||
renderOutlinedText(25,y+281, "LANE-SPEED", 2,255,255,255);
|
||||
|
||||
local actualLaneSpeed = (bpm*laneSpeed)/100
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT + gfx.TEXT_ALIGN_MIDDLE);
|
||||
renderOutlinedText(260,y+247, string.format("%.0f", bpm), 2);
|
||||
renderOutlinedText(260,y+281, string.format("%.2f", actualLaneSpeed), 2);
|
||||
renderOutlinedText(260,y+247, string.format("%.0f", bpm), 2,255,255,255);
|
||||
renderOutlinedText(260,y+281, string.format("%.2f", actualLaneSpeed), 2,255,255,255);
|
||||
|
||||
move = 0
|
||||
|
||||
if game.GetButton(game.BUTTON_STA) then
|
||||
move = 25
|
||||
renderOutlinedText(130,y+315, "HI-SPEED", 2,255,255,255)
|
||||
renderOutlinedText(255,y+315,string.format("%.1f",laneSpeed), 2,0,255,0)
|
||||
end
|
||||
|
||||
if gameplay.hitWindow.type ~= nil and gameplay.hitWindow.type == 0 then
|
||||
symbolthing = "-"
|
||||
elseif gameplay.hitWindow.type == 1 then
|
||||
symbolthing = ""
|
||||
elseif gameplay.hitWindow.type == 2 then
|
||||
symbolthing = "+"
|
||||
end
|
||||
|
||||
gfx.FontSize(20);
|
||||
gfx.FillColor(255,255,0)
|
||||
gfx.Text(string.upper("Judge:")..symbolthing..gameplay.hitWindow.type,80,y+315+move);
|
||||
gfx.FillColor(255,255,255)
|
||||
gfx.FontSize(18);
|
||||
|
||||
if not isLandscape then -- notify thingy
|
||||
theY = {350;394.5}
|
||||
else
|
||||
theY = {640;684.5}
|
||||
end
|
||||
|
||||
if gameplay.autoplay and not gameplay.demoMode and gameplay.practice_setup == nil then
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(0,y+310,245,67,notify,1,0);
|
||||
gfx.ImageRect(0,y+theY[1],245,67,notify,1,0);
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
renderOutlinedText(30,y+354.5, "AUTOPLAY IS ENABLED", 1.5);
|
||||
renderOutlinedText(30,y+theY[2], "AUTOPLAY IS ENABLED", 1.5,255,255,255);
|
||||
|
||||
elseif gameplay.demoMode and gameplay.practice_setup == nil then
|
||||
|
||||
gfx.BeginPath();
|
||||
if (isLandscape) then
|
||||
|
||||
gfx.ImageRect(0,y+310,245,67,notify,1,0);
|
||||
gfx.ImageRect(0,y+theY[1],245,67,notify,1,0);
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
renderOutlinedText(30,y+354.5, "DEMO MODE IS ENABLED", 1.5);
|
||||
renderOutlinedText(30,y+theY[2], "DEMO MODE IS ENABLED", 1.5,255,255,255);
|
||||
else
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
demoMode(songTitle,songArtist)
|
||||
|
@ -172,9 +210,9 @@ local render = function (deltaTime, bpm, laneSpeed, jacketPath, diff, level, pro
|
|||
elseif gameplay.practice_setup then
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(0,y+310,245,67,notify,1,0);
|
||||
gfx.ImageRect(0,y+theY[1],245,67,notify,1,0);
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
renderOutlinedText(30,y+354.5, "PRACTICE MODE IS ENABLED", 1.5);
|
||||
renderOutlinedText(30,y+theY[2], "PRACTICE MODE IS ENABLED", 1.5,255,255,255);
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ local isLandscape = false;
|
|||
|
||||
local bgImage = gfx.CreateSkinImage("gameplay/user_panel/bg.png", 0);
|
||||
|
||||
|
||||
local appealCardImage = gfx.CreateSkinImage("crew/appeal_card.png", 0);
|
||||
local danBadgeImage = gfx.CreateSkinImage("dan.png", 0);
|
||||
local idolFrameImage = gfx.CreateSkinImage("crew/frame.png", 0);
|
||||
|
||||
|
||||
|
@ -134,6 +134,10 @@ local render = function (deltaTime, score, bestReplay)
|
|||
|
||||
VolforceWindow.render(deltaTime, 220, y+197,42,true,volforceAmount)
|
||||
else
|
||||
|
||||
appealCardImage = gfx.CreateSkinImage("gameplay/user_panel/appeal_card.png", 0);
|
||||
idolFrameImage = gfx.CreateSkinImage("gameplay/user_panel/frame.png", 0);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(
|
||||
0,
|
||||
|
|
|
@ -36,9 +36,11 @@ local lang = {
|
|||
},
|
||||
Result = {
|
||||
--leftside
|
||||
re = "AUTOPLAY Aktiv",
|
||||
re = "AUTOPLAY Aktiv",
|
||||
re1 = "AUTOPLAY ist aktiv.",
|
||||
re2 = "Spielstände werden nicht gespeichert",
|
||||
re3 = "Manueller Ausgang erkannt",
|
||||
re4 = "Manueller Ausgang wurde benutzt",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -36,9 +36,11 @@ local lang = {
|
|||
},
|
||||
Result = {
|
||||
--leftside
|
||||
re = "AUTOPLAY Active",
|
||||
re = "AUTOPLAY Detected",
|
||||
re1 = "AUTOPLAY is active.",
|
||||
re2 = "Scores will not be saved",
|
||||
re3 = "Manual Exit Detected",
|
||||
re4 = "Manual Exit was used",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ local lang = {
|
|||
re = "AUTOPLAY Aktív",
|
||||
re1 = "AUTOPLAY aktív.",
|
||||
re2 = "Az eredmények nem lesznek mentve",
|
||||
re3 = "Manual Exit Detected",
|
||||
re4 = "Manual Exit was used",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -39,6 +39,8 @@ local lang = {
|
|||
re = "AUTOPLAY Active",
|
||||
re1 = "AUTOPLAY is active.",
|
||||
re2 = "Scores will not be saved",
|
||||
re3 = "Manual Exit Detected",
|
||||
re4 = "Manual Exit was used",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -40,6 +40,8 @@ local lang = {
|
|||
re = "AUTOPLAY Active",
|
||||
re1 = "AUTOPLAY is active.",
|
||||
re2 = "Scores will not be saved",
|
||||
re3 = "Manual Exit Detected",
|
||||
re4 = "Manual Exit was used",
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
@ -13,10 +13,10 @@ local m_own_info = function()
|
|||
gfx.BeginPath();
|
||||
gfx.FontSize(40)
|
||||
gfx.ImageRect(ownPanelX, ownPanelY, 343/1.18, 361/1.18,m_host_panel,1,0)
|
||||
gfx.Text(normname, ownPanelX+20, ownPanelY+78)
|
||||
gfx.Text(string.upper(normname), ownPanelX+20, ownPanelY+78)
|
||||
gfx.FontSize(22)
|
||||
gfx.Text(msg,ownPanelX+20, ownPanelY+37)
|
||||
gfx.Text(irText, ownPanelX+20, ownPanelY+288);
|
||||
gfx.Text(string.upper(msg),ownPanelX+20, ownPanelY+37)
|
||||
gfx.Text(string.upper(irText), ownPanelX+20, ownPanelY+288);
|
||||
|
||||
|
||||
if showthing == true then
|
||||
|
|
|
@ -3,12 +3,14 @@
|
|||
local l_grad = gfx.CreateSkinImage("multi/roomselect/lobby_select_gradiant.png", 1);
|
||||
|
||||
local getgrad = function(x,y)
|
||||
|
||||
gfx.Save()
|
||||
local jw,jh = gfx.ImageSize(l_grad);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x/x, y/y+376, jw, jh, l_grad,1,0);
|
||||
|
||||
gfx.Restore()
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
|
|
@ -6,16 +6,17 @@ local desw,desh = Dim.design.width,Dim.design.height
|
|||
lobbypanelY = 376;
|
||||
|
||||
local l_color = gfx.CreateSkinImage("multi/roomselect/lobby_select_color.png", 1);
|
||||
local ncolor = gfx.CreateSkinImage("multi/roomselect/main_box.png", 1);
|
||||
local l_load = gfx.CreateSkinImage("multi/roomselect/lobby_not_loaded.png",1)
|
||||
local n_play_dot = gfx.CreateSkinImage("multi/roomselect/nautica/nautica_pl_dot.png",1);
|
||||
local n_play_dot = gfx.CreateSkinImage("multi/roomselect/nautica/nautica_pl_dot.png",1);
|
||||
|
||||
local getpanel = function()
|
||||
if screenState == "roomList" then --multi
|
||||
|
||||
local jw,jh = gfx.ImageSize(l_color);
|
||||
local jw,jh = gfx.ImageSize(ncolor);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(desw/desw, lobbypanelY, jw, jh, l_color,1,0);
|
||||
gfx.ImageRect(desw/desw, lobbypanelY, jw/1.17, jh/1.17, ncolor,1,0);
|
||||
|
||||
if not loading then
|
||||
gfx.BeginPath()
|
||||
|
@ -26,10 +27,10 @@ local getpanel = function()
|
|||
|
||||
if screenState ~= "roomList" then --nautica
|
||||
|
||||
local jw,jh = gfx.ImageSize(l_color);
|
||||
local jw,jh = gfx.ImageSize(ncolor);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(lobbypanelX,lobbypanelY, jw, jh, l_color,1,0);
|
||||
gfx.ImageRect(lobbypanelX,lobbypanelY, jw/1.17, jh/1.17, ncolor,1,0);
|
||||
|
||||
gfx.BeginPath()
|
||||
local jw,jh = gfx.ImageSize(l_load);
|
||||
|
@ -38,25 +39,23 @@ local getpanel = function()
|
|||
|
||||
local jw,jh = gfx.ImageSize(n_play_dot);
|
||||
|
||||
|
||||
for i = 1, 3, 1 do
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.BeginPath()
|
||||
|
||||
gfx.FontSize(26)
|
||||
gfx.FontSize(30)
|
||||
if i == 1 then
|
||||
gfx.SetImageTint(255,9,253)
|
||||
gfx.ImageRect(desw-50, 680+(desh/2)-(40*i), jw, jh, n_play_dot,1,0);
|
||||
gfx.Text(string.upper("Not Downloaded"),desw-50, 14+680+desh/2-(40*i))
|
||||
gfx.FillColor(255,9,253)
|
||||
gfx.Text(string.upper("Not Downloaded"),desw-30, 14+680+desh/2-(40*i))
|
||||
elseif i == 2 then
|
||||
gfx.SetImageTint(240,246,0)
|
||||
gfx.ImageRect(desw-50, 680+(desh/2)-(40*i), jw, jh, n_play_dot,1,0);
|
||||
gfx.Text(string.upper("Downloaded"),desw-50, 14+680+desh/2-(40*i))
|
||||
gfx.FillColor(240,246,0)
|
||||
gfx.Text(string.upper("Downloaded"),desw-30, 14+680+desh/2-(40*i))
|
||||
elseif i == 3 then
|
||||
gfx.SetImageTint(0,246,2)
|
||||
gfx.ImageRect(desw-50, 680+(desh/2)-(40*i), jw, jh, n_play_dot,1,0);
|
||||
gfx.Text(string.upper("Preview Playing"),desw-50, 14+680+desh/2-(40*i))
|
||||
gfx.FillColor(0,246,2)
|
||||
gfx.Text(string.upper("Preview Playing"),desw-30, 14+680+desh/2-(40*i))
|
||||
end
|
||||
gfx.SetImageTint(255,255,255)
|
||||
gfx.FillColor(255,255,255)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -3,15 +3,16 @@ local difbar = require("components.diff_rectangle")
|
|||
|
||||
local desw, desh = Dim.design.width,Dim.design.height
|
||||
|
||||
local l_panel = gfx.CreateSkinImage("multi/roomselect/room_panel.png",1);
|
||||
local l_panel = gfx.CreateSkinImage("multi/roomselect/room_panel.png",1); -- when separates are here
|
||||
local n_panel = gfx.CreateSkinImage("multi/roomselect/main_box.png",1);
|
||||
|
||||
local n_cost,l_pw = gfx.CreateSkinImage("multi/roomselect/pw_or_price_panel.png",1);
|
||||
local n_cost = gfx.CreateSkinImage("multi/roomselect/pw_or_price_panel.png",1);
|
||||
|
||||
local n_panel_ja = gfx.CreateSkinImage("multi/roomselect/nautica/nautica_bg_jacket.png",1);
|
||||
local n_nodif = gfx.CreateSkinImage("multi/roomselect/nautica/no_dif.png",1);
|
||||
local n_play_dot = gfx.CreateSkinImage("multi/roomselect/nautica/nautica_pl_dot.png",1);
|
||||
local n_play_dot = gfx.CreateSkinImage("multi/roomselect/nautica/nautica_pl_dot.png",1); -- when separates are here
|
||||
|
||||
local info_panel = gfx.CreateSkinImage("multi/roomselect/room_panel_name_or_song.png",1);
|
||||
local info_panel = gfx.CreateSkinImage("multi/roomselect/room_panel_name_or_song.png",1); -- when separates are here
|
||||
|
||||
local xnum = 190
|
||||
local ynum = 24
|
||||
|
@ -27,16 +28,18 @@ local getroom = function(song,x,y,downloaded)
|
|||
if screenState ~= "roomList" then
|
||||
local jw,jh = gfx.ImageSize(l_panel); -- if bpm is a think change l_panel to n_panel
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x,y, jw, jh, l_panel,1,0);
|
||||
gfx.ImageRect(x,y, jw/1.17, jh/1.17, l_panel,1,0);
|
||||
|
||||
that = 9.5
|
||||
why = 1
|
||||
|
||||
local jw,jh = gfx.ImageSize(n_panel_ja);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+3,y+5, jw, jh, n_panel_ja,1,0);
|
||||
gfx.ImageRect(x+that,y+5+why, jw/1.17, jh/1.17, n_panel_ja,1,0);
|
||||
|
||||
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(x+3+8.9,y+5+19, jw/1.19, jh/1.3, song.jacket, 1, 0)
|
||||
gfx.ImageRect(x+that+8.9,y+5+19, jw/1.4, jh/1.4, song.jacket, 1, 0)
|
||||
|
||||
|
||||
local jw,jh = gfx.ImageSize(n_nodif);
|
||||
|
@ -46,8 +49,8 @@ local getroom = function(song,x,y,downloaded)
|
|||
end
|
||||
|
||||
local jw,jh = gfx.ImageSize(info_panel);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+147,y+5, jw, jh, info_panel,1,0);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+147,y+5, jw/1.17, jh/1.17, info_panel,1,0);
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||
gfx.FontSize(30)
|
||||
|
@ -57,7 +60,7 @@ local getroom = function(song,x,y,downloaded)
|
|||
local jw,jh = gfx.ImageSize(n_play_dot);
|
||||
gfx.BeginPath();
|
||||
gfx.SetImageTint(255,9,253)
|
||||
gfx.ImageRect(x+764, y+11, jw, jh, n_play_dot,1,0);
|
||||
gfx.ImageRect(x,y, jw/1.17, jh/1.17, n_play_dot,1,0);
|
||||
gfx.SetImageTint(255,255,255)
|
||||
|
||||
local jw,jh = gfx.ImageSize(n_nodif);
|
||||
|
@ -75,7 +78,7 @@ local getroom = function(song,x,y,downloaded)
|
|||
|
||||
local jw,jh = gfx.ImageSize(n_cost);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+650,y+69, jw, jh, n_cost,1,0);
|
||||
gfx.ImageRect(x+650,y+69, jw/1.17, jh/1.17, n_cost,1,0);
|
||||
|
||||
local buy = "AP 8000"
|
||||
|
||||
|
@ -85,34 +88,35 @@ local getroom = function(song,x,y,downloaded)
|
|||
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
if not downloaded[song.id] then
|
||||
gfx.BeginPath()
|
||||
gfx.Text(string.upper(buy),x+868,y+94)
|
||||
gfx.Text(string.upper(buy),x+868,y+90)
|
||||
elseif downloaded[song.id] == "Downloading" then
|
||||
gfx.BeginPath()
|
||||
gfx.Text(string.upper(buy), x+868,y+94)
|
||||
gfx.Text(string.upper(buy), x+868,y+90)
|
||||
elseif downloaded[song.id] == "Downloaded" then
|
||||
gfx.BeginPath()
|
||||
gfx.Text(string.upper(buy), x+868,y+94)
|
||||
gfx.Text(string.upper(buy), x+868,y+90)
|
||||
end
|
||||
if song.status == "Playing" then
|
||||
gfx.BeginPath()
|
||||
gfx.FontSize(24)
|
||||
gfx.Text(string.upper(song.status), x+878-10, y+25)
|
||||
end
|
||||
|
||||
if downloaded[song.id] == "Downloaded" then
|
||||
gfx.BeginPath()
|
||||
gfx.SetImageTint(240,246,0)
|
||||
gfx.ImageRect(x+764, y+11, jw, jh, n_play_dot,1,0);
|
||||
gfx.ImageRect(x,y, jw/1.17, jh/1.17, n_play_dot,1,0);
|
||||
gfx.SetImageTint(255,255,255)
|
||||
elseif downloaded[song.id] == "Downloading" then
|
||||
gfx.BeginPath()
|
||||
gfx.SetImageTint(240,20,0)
|
||||
gfx.ImageRect(x+764, y+11, jw, jh, n_play_dot,1,0);
|
||||
gfx.ImageRect(x,y, jw/1.17, jh/1.17, n_play_dot,1,0);
|
||||
gfx.SetImageTint(255,255,255)
|
||||
end
|
||||
if song.status == "Playing" then
|
||||
gfx.BeginPath();
|
||||
gfx.SetImageTint(0,246,2)
|
||||
gfx.ImageRect(x+764, y+11, jw, jh, n_play_dot,1,0);
|
||||
gfx.ImageRect(x,y, jw/1.17, jh/1.17, n_play_dot,1,0);
|
||||
gfx.SetImageTint(255,255,255)
|
||||
end
|
||||
|
||||
|
|
|
@ -3,25 +3,20 @@
|
|||
lobbypanelY = (1080/2.5)-56;
|
||||
|
||||
local l_base_panel = gfx.CreateSkinImage("multi/roomselect/lobby_select.png",1);
|
||||
local n_name = gfx.CreateSkinImage("multi/roomselect/nautica/nautica_station.png",1);
|
||||
|
||||
|
||||
|
||||
local gettop = function(x,y)
|
||||
|
||||
station = "Nautica Station"
|
||||
|
||||
local jw,jh = gfx.ImageSize(l_base_panel);
|
||||
gfx.BeginPath();
|
||||
gfx.SetImageTint(255,255,255,50)
|
||||
gfx.ImageRect(x/x, y/y+376, jw, jh, l_base_panel,1,0);
|
||||
gfx.BeginPath();
|
||||
gfx.FontSize(40)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_CENTER)
|
||||
gfx.LoadSkinFont("Digital-Serial-Bold.ttf");
|
||||
gfx.FillColor(243,217,175,255)
|
||||
gfx.Fill()
|
||||
gfx.Text(string.upper(station),x/2, y/2-546)
|
||||
gfx.FillColor(255,255,255,50)
|
||||
gfx.Text(string.upper(station),x/2, y/2-546)
|
||||
gfx.Fill()
|
||||
gfx.ImageRect(x/x, y/y+376, jw/1.17, jh/1.17, l_base_panel,1,0);
|
||||
|
||||
local jw,jh = gfx.ImageSize(n_name);
|
||||
gfx.ImageRect(x/2.5, y/2-585, jw,jh,n_name,1,0)
|
||||
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -137,6 +137,31 @@ local drawIdol = function(deltaTime)
|
|||
end
|
||||
end
|
||||
|
||||
function getCorrectedIndex(from, offset)
|
||||
total = #songwheel.songs
|
||||
|
||||
if (math.abs(offset) > total) then
|
||||
if (offset < 0) then
|
||||
offset = offset + total*math.floor(math.abs(offset)/total)
|
||||
else
|
||||
offset = offset - total*math.floor(math.abs(offset)/total)
|
||||
end
|
||||
end
|
||||
|
||||
index = from + offset
|
||||
|
||||
if index < 1 then
|
||||
index = total + (from+offset) -- this only happens if the offset is negative
|
||||
end
|
||||
|
||||
if index > total then
|
||||
indexesUntilEnd = total - from
|
||||
index = offset - indexesUntilEnd -- this only happens if the offset is positive
|
||||
end
|
||||
|
||||
return index
|
||||
end
|
||||
|
||||
user_setup = function () -- (semi new) user layering
|
||||
local distance = 350
|
||||
|
||||
|
@ -379,6 +404,7 @@ function draw_rooms(y, h)
|
|||
if #rooms == 0 then
|
||||
return
|
||||
end
|
||||
|
||||
local num_rooms_visible = math.floor(h / (buttonHeight + 10))
|
||||
|
||||
local first_half_rooms = math.floor(num_rooms_visible/2)
|
||||
|
@ -425,7 +451,6 @@ function draw_rooms(y, h)
|
|||
end
|
||||
stats ={statusST,statusF,statusM,statusPW}
|
||||
|
||||
|
||||
draw_room(room.name, desw/2, ypos,stats, i == selected_room_index, function()
|
||||
join_room(room)
|
||||
end)
|
||||
|
|
|
@ -49,14 +49,13 @@ local rightPanelImage = gfx.CreateSkinImage("result/panels/right.png", 0);
|
|||
local bottomPanelImage = gfx.CreateSkinImage("result/panels/bottom.png", 0);
|
||||
local cMOD = gfx.CreateSkinImage("result/panels/cmod.png",0);
|
||||
local warn = gfx.CreateSkinImage("result/panels/warning.png",0);
|
||||
local warntxt = gfx.CreateSkinImage("result/warnings/AUTOPLAY.png",0);
|
||||
local arrow = gfx.CreateSkinImage("result/arrow.png",0);
|
||||
|
||||
local defaultJacketImage = gfx.CreateSkinImage("result/default_jacket.png", 0);
|
||||
|
||||
local bestScoreBadgeImage = gfx.CreateSkinImage("result/best.png", 0);
|
||||
|
||||
local appealCardImage = gfx.CreateSkinImage("crew/appeal_card.png", 0);
|
||||
local danBadgeImage = gfx.CreateSkinImage("dan/inf.png", 0);
|
||||
|
||||
local badgeLines = gfx.CreateSkinImage("result/badge_lines.png", 0);
|
||||
local badgeGrade = gfx.CreateSkinImage("result/badge_gradient.png", 0);
|
||||
|
@ -64,6 +63,23 @@ local timming = gfx.CreateSkinImage("result/timing.png", 0);
|
|||
|
||||
local irpanelsB = gfx.CreateSkinImage("result/panels/new_score_blue.png",0);
|
||||
local irpanelsO = gfx.CreateSkinImage("result/panels/new_score_orange.png",0)
|
||||
local hight
|
||||
|
||||
local irGB = {
|
||||
string.upper("New Global ");
|
||||
string.upper("New Local ");
|
||||
string.upper(" Score!");
|
||||
string.upper("New Score!");
|
||||
string.upper("Update!")
|
||||
}
|
||||
|
||||
local fixed = false
|
||||
|
||||
if fixed then
|
||||
fixed = ""
|
||||
else
|
||||
fixed = " "
|
||||
end
|
||||
|
||||
local gaugeTypeMirrorImage = gfx.CreateSkinImage("result/gauge_type_badges/mirror.png", 0);
|
||||
local gaugeTypeRandomImage = gfx.CreateSkinImage("result/gauge_type_badges/random.png", 0);
|
||||
|
@ -169,6 +185,10 @@ local clearBadgeImages = {
|
|||
image = gfx.CreateSkinImage("result/clears/AUTOPLAY.png", 0),
|
||||
xPos = 1100
|
||||
},
|
||||
{
|
||||
image = gfx.CreateSkinImage("result/clears/SAVED.png", 0),
|
||||
xPos = 970
|
||||
},
|
||||
}
|
||||
|
||||
local transitionEnterScale = 0;
|
||||
|
@ -332,8 +352,9 @@ end
|
|||
|
||||
local drawmod = function ()
|
||||
if result.speedModType == 2 then
|
||||
local jw, jh = gfx.ImageSize(cMOD);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(rightPanelX + 1080 - 250, rightPanelY-35, 254, 35, cMOD, 1, 0);
|
||||
gfx.ImageRect(desw - jw, rightPanelY-35, jw, jh, cMOD, 1, 0);
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -344,9 +365,19 @@ local drawarn = function ()
|
|||
gfx.BeginPath();
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE);
|
||||
gfx.FontSize(20)
|
||||
gfx.Text(lang.Result.re,bottomPanelX + AutoPosiX + 30, bottomPanelY+534);
|
||||
gfx.Text(lang.Result.re1,bottomPanelX + AutoPosiX, bottomPanelY+564);
|
||||
gfx.Text(lang.Result.re2,bottomPanelX + AutoPosiX, bottomPanelY+584);
|
||||
gfx.Text(string.upper(lang.Result.re),bottomPanelX + AutoPosiX + 30, bottomPanelY+534);
|
||||
gfx.Text(string.upper(lang.Result.re1),bottomPanelX + AutoPosiX, bottomPanelY+564);
|
||||
gfx.Text(string.upper(lang.Result.re2),bottomPanelX + AutoPosiX, bottomPanelY+584);
|
||||
end
|
||||
if not result.autoplay and result.badge == 0 then
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(bottomPanelX+30 , bottomPanelY+495, 541*0.85, 136*0.85, warn, 1, 0);
|
||||
gfx.BeginPath();
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE);
|
||||
gfx.FontSize(20)
|
||||
gfx.Text(string.upper(lang.Result.re3),bottomPanelX + AutoPosiX + 30, bottomPanelY+534);
|
||||
gfx.Text(string.upper(lang.Result.re4),bottomPanelX + AutoPosiX, bottomPanelY+564);
|
||||
gfx.Text(string.upper(lang.Result.re2),bottomPanelX + AutoPosiX, bottomPanelY+584);
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -366,6 +397,119 @@ local drawRightPanel = function()
|
|||
gfx.ImageRect(rightPanelX, rightPanelY, tw, th, rightPanelImage, 1, 0);
|
||||
end
|
||||
|
||||
|
||||
local onlinebar = function(h,text)
|
||||
local highScoreScore = 0;
|
||||
|
||||
if highScore then highScoreScore = highScore.score end
|
||||
|
||||
local jw,jh = gfx.ImageSize(irpanelsO)
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect((desw-jw/1.17),h,jw/1.17,jh/1.17,irpanelsO,1,0)
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
|
||||
-- making the text
|
||||
gfx.FillColor(0,0,0)
|
||||
gfx.Text(text[1]..text[3],(desw-jw/1.17)+110,h+15)
|
||||
gfx.FillColor(255,255,255)
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
-- makeing the score check
|
||||
gfx.FontSize(26)
|
||||
if result.highScores[1] ~= nil then
|
||||
|
||||
gfx.Text(string.format("%08d",result.score),(desw-jw/1.17)+45,h+50)
|
||||
gfx.Text(string.format("%08d", highScoreScore),desw-370+50,h+50)
|
||||
|
||||
if string.format("%08d",result.score) >= string.format("%08d", highScoreScore) then
|
||||
gfx.Text(text[5],desw-240+50,h+50)
|
||||
end
|
||||
|
||||
local tw,th = gfx.ImageSize(arrow)
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(desw-360,h+38,tw*0.3,th*0.3,arrow,1,0)
|
||||
|
||||
else
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.Text(string.upper(username)..fixed.."'S",(desw-jw)+130,h+50)
|
||||
|
||||
gfx.Text(string.format("%08d", result.score),desw-330+47,h+50)
|
||||
|
||||
if string.format("%08d",result.score) >= string.format("%08d", highScoreScore) then
|
||||
gfx.Text(text[4],desw-200+50,h+50)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
local offlinebar = function(h,text)
|
||||
local highScoreScore = 0;
|
||||
|
||||
if highScore then highScoreScore = highScore.score end
|
||||
|
||||
local jw,jh = gfx.ImageSize(irpanelsB)
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect((desw-jw/1.17),h+5+(jh/1.17),jw/1.17,jh/1.17,irpanelsB,1,0)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
-- making the text
|
||||
gfx.FillColor(0,0,0)
|
||||
gfx.Text(text[2]..text[3],(desw-jw/1.17)+110,h+90)
|
||||
gfx.FillColor(255,255,255)
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.FontSize(26)
|
||||
|
||||
-- the score check
|
||||
if result.highScores[1] ~= nil then
|
||||
|
||||
gfx.Text(string.format("%08d",result.score),(desw-jw/1.17)+45,h+123)
|
||||
gfx.Text(string.format("%08d", highScoreScore),desw-370+50,h+123)
|
||||
|
||||
if string.format("%08d",result.score) >= string.format("%08d", highScoreScore) then
|
||||
gfx.Text(text[5],desw-240+50,h+123)
|
||||
end
|
||||
|
||||
local tw,th = gfx.ImageSize(arrow)
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(desw-360,h+112,tw*0.3,th*0.3,arrow,1,0)
|
||||
|
||||
else
|
||||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.Text(string.upper(username)..fixed.."'S",(desw-jw)+130,h+123)
|
||||
|
||||
gfx.Text(string.format("%08d", highScoreScore),desw-330+47,h+123)
|
||||
|
||||
if string.format("%08d",result.score) >= string.format("%08d", highScoreScore) then
|
||||
gfx.Text(text[4],desw-200+50,h+123)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local drawRightLeaderCheck = function ()
|
||||
local jw,jh = gfx.ImageSize(irpanelsB)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER+ gfx.TEXT_ALIGN_MIDDLE)
|
||||
if result.speedModType == 2 then
|
||||
hight = rightPanelY-40-12-((jh/1.17)*2)
|
||||
else
|
||||
hight = rightPanelY-12-((jh/1.17)*2)
|
||||
end
|
||||
if not result.autoplay and result.badge ~= 0 then
|
||||
if IRData.Active then
|
||||
gfx.FontSize(21.5)
|
||||
onlinebar(hight,irGB)
|
||||
gfx.FontSize(21.5)
|
||||
offlinebar(hight,irGB)
|
||||
else
|
||||
gfx.FontSize(21.5)
|
||||
offlinebar(hight,irGB)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local scoreNumber = Numbers.load_number_image("score_num");
|
||||
|
||||
local drawRightPanelContent = function()
|
||||
|
@ -375,9 +519,11 @@ local drawRightPanelContent = function()
|
|||
local highScoreDelta = result.score - highScoreScore
|
||||
|
||||
-- Draw clear badge
|
||||
local badgeData = clearBadgeImages[result.badge + 1] or clearBadgeImages[1]
|
||||
badgeData = clearBadgeImages[result.badge + 1] or clearBadgeImages[1]
|
||||
if (result.autoplay) then
|
||||
badgeData = clearBadgeImages[7]; -- Display AUTOPLAY badge
|
||||
elseif result.uid ~= nil or (badgeData[1] or result.badge == 0) then
|
||||
badgeData = clearBadgeImages[8]; -- Display SAVED badge
|
||||
end
|
||||
|
||||
local tw, th = gfx.ImageSize(badgeData.image);
|
||||
|
@ -399,7 +545,7 @@ local drawRightPanelContent = function()
|
|||
scoreNumber, true, 0.25, 1.12)
|
||||
|
||||
-- If this is the highscore, draw over the glowing best badge
|
||||
if highScoreDelta > 0 then
|
||||
if highScoreDelta > 0 and not result.autoplay or result.badge ~= 0 then
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(rightPanelX + 364, rightPanelY + 167, 97, 53,
|
||||
bestScoreBadgeImage, 1, 0);
|
||||
|
@ -631,7 +777,7 @@ local drawBottomPanelContent = function(deltatime)
|
|||
gfx.FontSize(22)
|
||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.Text(msg, bottomPanelX + 190, bottomPanelY + 282);
|
||||
gfx.Text(string.upper(msg), bottomPanelX + 190, bottomPanelY + 282);
|
||||
|
||||
-- Draw username
|
||||
gfx.FontSize(28)
|
||||
|
@ -669,8 +815,9 @@ local drawBottomPanelContent = function(deltatime)
|
|||
end
|
||||
|
||||
local drawmultipanelcontent = function(deltaTime)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_BASELINE)
|
||||
if result.uid == nil then
|
||||
gfx.Text(" ",100,100)
|
||||
return
|
||||
else
|
||||
|
||||
local i = result.displayIndex
|
||||
|
@ -700,7 +847,6 @@ local drawmultipanelcontent = function(deltaTime)
|
|||
gfx.BeginPath()
|
||||
gfx.ImageRect(multx, multy,posDWWidth/half,posDWHeight/half,UsBottom,1,0)
|
||||
|
||||
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(multx, multy,posUPWidth/half,posUPHeight/half,UsTop,1,0)
|
||||
|
||||
|
@ -708,7 +854,7 @@ local drawmultipanelcontent = function(deltaTime)
|
|||
gfx.ImageRect(multx+332.5, multy+240, 79/half/1.5, 69/half/1.5, badgeImage, 1, 0)
|
||||
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(multx+332.5, multy+20,posWidth,posHeight,pos[i+1],1,0)
|
||||
gfx.ImageRect(multx+272, multy+80,posWidth/1.18,posHeight,pos[i+1],1,0)
|
||||
|
||||
gfx.Text(string.upper(result.playerName),multx+75,multy+247)
|
||||
|
||||
|
@ -717,6 +863,7 @@ local drawmultipanelcontent = function(deltaTime)
|
|||
gfx.Text(string.format("%04d", math.floor(result.score/10000)), multx+221, multy+294)
|
||||
local lastFourDigits = ((result.score / 10000) - math.floor(result.score / 10000))*10000
|
||||
gfx.Text(string.format("%04d", math.floor(lastFourDigits)), multx+273, multy+294)
|
||||
--[[
|
||||
|
||||
local gaugeFillImage = gaugeEffPassFillImage;
|
||||
local gaugeBreakpoint = 0;
|
||||
|
@ -754,7 +901,7 @@ local drawmultipanelcontent = function(deltaTime)
|
|||
gfx.BeginPath()
|
||||
gfx.GlobalAlpha(0.75);
|
||||
|
||||
local lineY = gaugePosY + (FillH - (FillH * (gaugeBreakpoint)))
|
||||
local lineY = gaugePosY + (FillW - (FillW * (gaugeBreakpoint)))
|
||||
|
||||
gfx.MoveTo(gaugePosX, lineY)
|
||||
gfx.LineTo(gaugePosX + 10, lineY)
|
||||
|
@ -767,6 +914,7 @@ local drawmultipanelcontent = function(deltaTime)
|
|||
gfx.Restore()
|
||||
|
||||
end
|
||||
]]
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -961,11 +1109,12 @@ drawResultScreen = function (x, y, w, h, deltaTime)
|
|||
|
||||
gfx.GlobalAlpha(Easing.outQuad(transitionEnterScale))
|
||||
|
||||
drawmultipanelcontent(deltaTime)
|
||||
|
||||
drawBottomPanel()
|
||||
drawBottomPanelContent(deltaTime)
|
||||
|
||||
drawmultipanelcontent(deltaTime)
|
||||
|
||||
drawRightLeaderCheck()
|
||||
drawRightPanel()
|
||||
drawRightBarAni(deltaTime)
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@ local Wallpaper = require("components.wallpaper")
|
|||
local common = require("common.util")
|
||||
local Sound = require("common.sound")
|
||||
local Numbers = require("components.numbers")
|
||||
local util = require("common.util")
|
||||
local username = game.GetSkinSetting("username")
|
||||
|
||||
local VolforceCalc = require("components.volforceCalc")
|
||||
|
@ -1021,7 +1022,7 @@ function tickTransitions(deltaTime)
|
|||
|
||||
-- Is a variable BPM
|
||||
if (type(songBpm) == "string") then
|
||||
local s = commmon.split(songBpm, '-')
|
||||
s = util.split(songBpm, '-')
|
||||
songBpm = tonumber(s[1]) -- Lowest bpm value
|
||||
end
|
||||
end
|
||||
|
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 129 B |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 499 KiB After Width: | Height: | Size: 295 KiB |
Before Width: | Height: | Size: 870 KiB |
After Width: | Height: | Size: 645 KiB |
Before Width: | Height: | Size: 703 B After Width: | Height: | Size: 1021 B |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 398 B After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 243 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 24 KiB |