alot of things
|
@ -48,6 +48,18 @@
|
|||
"default": false
|
||||
},
|
||||
|
||||
"separator_d": {},
|
||||
"badges":{
|
||||
"type": "selection",
|
||||
"label": "Skill Level",
|
||||
"default": "NONE",
|
||||
"values": ["NONE", "SKILLED", "EXPERT", "EXPERT (MASTERY)", "LOWER PRO",
|
||||
"LOWER PRO (MASTERY)", "UPPER PRO", "UPPER PRO (MASTERY)", "LOWER MASTER", "LOWER MASTER (MASTERY)",
|
||||
"UPPER MASTER", "UPPER MASTER (MASTERY)", "GRANDMASTER", "GRANDMASTER+"]
|
||||
},
|
||||
|
||||
"separator_e": {},
|
||||
|
||||
"words": {
|
||||
"type": "selection",
|
||||
"label": "Language",
|
||||
|
@ -55,7 +67,7 @@
|
|||
"values": ["EN", "DE", "SK", "test2"]
|
||||
},
|
||||
|
||||
"separator_d": {},
|
||||
"separator_f": {},
|
||||
"Audio": { "type": "label" },
|
||||
|
||||
"audio_systemVoice": {
|
||||
|
@ -64,7 +76,7 @@
|
|||
"default": false
|
||||
},
|
||||
|
||||
"separator_e": {},
|
||||
"separator_g": {},
|
||||
"Gameplay": { "type": "label" },
|
||||
|
||||
"gameplay_ucDifferentColor": {
|
||||
|
@ -100,7 +112,7 @@
|
|||
"values": ["ALL", "CRITICAL (or worse)", "NEAR (or worse)", "NONE"]
|
||||
},
|
||||
|
||||
"separator_f": {},
|
||||
"separator_h": {},
|
||||
"Debug": { "type": "label" },
|
||||
|
||||
"debug_showInformation": {
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
local badges = game.GetSkinSetting("badges")
|
||||
|
||||
local none = gfx.CreateSkinImage("dan/none.png",1)
|
||||
|
||||
dan = {
|
||||
gfx.CreateSkinImage("dan/SKILLED.png",1),
|
||||
gfx.CreateSkinImage("dan/EXPERT.png",1),
|
||||
gfx.CreateSkinImage("dan/EXPERT (MASTERY).png",1),
|
||||
gfx.CreateSkinImage("dan/LOWER PRO.png",1),
|
||||
gfx.CreateSkinImage("dan/LOWER PRO (MASTERY).png",1),
|
||||
gfx.CreateSkinImage("dan/UPPER PRO.png",1),
|
||||
gfx.CreateSkinImage("dan/UPPER PRO (MASTERY).png",1),
|
||||
gfx.CreateSkinImage("dan/LOWER MASTER.png",1),
|
||||
gfx.CreateSkinImage("dan/LOWER MASTER (MASTERY).png",1),
|
||||
gfx.CreateSkinImage("dan/UPPER MASTER.png",1),
|
||||
gfx.CreateSkinImage("dan/UPPER MASTER (MASTERY).png",1),
|
||||
gfx.CreateSkinImage("dan/GRANDMASTER.png",1),
|
||||
gfx.CreateSkinImage("dan/GRANDMASTER+.png",1),
|
||||
}
|
||||
|
||||
local badger = function (yes)
|
||||
if badges == "NONE" or yes == true then
|
||||
danbadge = none
|
||||
|
||||
elseif badges == "SKILLED" then
|
||||
danbadge = dan[1]
|
||||
|
||||
elseif badges == "EXPERT" then
|
||||
danbadge = dan[2]
|
||||
|
||||
elseif badges == "EXPERT (MASTERY)" then
|
||||
danbadge = dan[3]
|
||||
|
||||
elseif badges == "LOWER PRO" then
|
||||
danbadge = dan[4]
|
||||
|
||||
elseif badges == "LOWER PRO (MASTERY)" then
|
||||
danbadge = dan[5]
|
||||
|
||||
elseif badges == "UPPER PRO" then
|
||||
danbadge = dan[6]
|
||||
|
||||
elseif badges == "UPPER PRO (MASTERY)" then
|
||||
danbadge = dan[7]
|
||||
|
||||
elseif badges == "LOWER MASTER" then
|
||||
danbadge = dan[8]
|
||||
|
||||
elseif badges == "LOWER MASTER (MASTERY)" then
|
||||
danbadge = dan[9]
|
||||
|
||||
elseif badges == "UPPER MASTER" then
|
||||
danbadge = dan[10]
|
||||
|
||||
elseif badges == "UPPER MASTER (MASTERY)" then
|
||||
danbadge = dan[11]
|
||||
|
||||
elseif badges == "GRANDMASTER" then
|
||||
danbadge = dan[12]
|
||||
|
||||
elseif badges == "GRANDMASTER+" then
|
||||
danbadge = dan[13]
|
||||
|
||||
end
|
||||
return danbadge
|
||||
end
|
||||
|
||||
|
||||
|
||||
return badger
|
|
@ -1,88 +0,0 @@
|
|||
local Dan = {
|
||||
Badge = nil;
|
||||
NormW = 107;
|
||||
NormH = 29;
|
||||
CusW = 294*0.32;
|
||||
CusH = 84 *0.32;
|
||||
GameW = 294*0.32;
|
||||
GameH = 84*0.32
|
||||
}
|
||||
|
||||
local d_badge = {
|
||||
none = gfx.CreateSkinImage("dan/none.png", 0);
|
||||
sk = gfx.CreateSkinImage("dan/SKILLED.png", 0);
|
||||
Ex = gfx.CreateSkinImage("dan/EXPERT.png", 0);
|
||||
ExM = gfx.CreateSkinImage("dan/EXPERT (MASTERY).png", 0);
|
||||
LwP = gfx.CreateSkinImage("dan/LOWER PRO.png", 0);
|
||||
LwPM = gfx.CreateSkinImage("dan/LOWER PRO (MASTERY).png", 0);
|
||||
UpP = gfx.CreateSkinImage("dan/UPPER PRO.png", 0);
|
||||
UpPM = gfx.CreateSkinImage("dan/UPPER PRO (MASTERY).png", 0);
|
||||
LM = gfx.CreateSkinImage("dan/LOWER MASTER.png", 0);
|
||||
LMM = gfx.CreateSkinImage("dan/LOWER MASTER (MASTERY).png", 0);
|
||||
UpM = gfx.CreateSkinImage("dan/UPPER MASTER.png", 0);
|
||||
UpMM = gfx.CreateSkinImage("dan/UPPER MASTER (MASTERY).png", 0);
|
||||
GM = gfx.CreateSkinImage("dan/GRANDMASTER.png", 0);
|
||||
GMP = gfx.CreateSkinImage("dan/GRANDMASTER+.png", 0);
|
||||
}
|
||||
|
||||
if game.GetSkinSetting('Skill LV') == "None" then
|
||||
Dan.Badge = d_badge.none
|
||||
Dan.PosW = Dan.NormW
|
||||
Dan.PosH = Dan.NormH
|
||||
Dan.GameW = 294*0.32
|
||||
Dan.GameH = 84*0.32
|
||||
elseif game.GetSkinSetting('Skill LV') == "Skilled" then
|
||||
Dan.Badge = d_badge.sk
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Expert" then
|
||||
Dan.Badge = d_badge.Ex
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Expert (Mastery)" then
|
||||
Dan.Badge = d_badge.ExM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Lower Pro" then
|
||||
Dan.Badge = d_badge.LwP
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Lower Pro (Mastery)" then
|
||||
Dan.Badge = d_badge.LwPM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Upper Pro" then
|
||||
Dan.Badge = d_badge.UpP
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Upper Pro (Mastery)" then
|
||||
Dan.Badge = d_badge.UpPM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Lower Master" then
|
||||
Dan.Badge = d_badge.LM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Lower Master (Mastery)" then
|
||||
Dan.Badge = d_badge.LMM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Upper Master" then
|
||||
Dan.Badge = d_badge.UpM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Upper Master (Mastery)" then
|
||||
Dan.Badge = d_badge.UpMM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Grand Master" then
|
||||
Dan.Badge = d_badge.GM
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
elseif game.GetSkinSetting('Skill LV') == "Grand Master +" then
|
||||
Dan.Badge = d_badge.GMP
|
||||
Dan.PosW = Dan.CusW
|
||||
Dan.PosH = Dan.CusH
|
||||
end
|
||||
|
||||
return Dan
|
|
@ -1,22 +1,76 @@
|
|||
local vfBrackets = {0, 10, 12, 14, 15, 16, 17, 18, 19, 20, 24}
|
||||
|
||||
local stNum = 1
|
||||
|
||||
local volforceBadgeImage = gfx.CreateSkinImage("volforce/10.png", 0);
|
||||
if not volforceAmount then
|
||||
volforceAmount = -1
|
||||
end
|
||||
|
||||
local function handleForce(vf)
|
||||
volforceAmount = vf
|
||||
for i = 1, 10 do
|
||||
local top = vfBrackets[i+1]
|
||||
local down = vfBrackets[i]
|
||||
if vf < top or i == 10 then
|
||||
vfNum = i
|
||||
local range = top - down
|
||||
for b = 1, 4 do
|
||||
if vf < (down + b*0.25*range) or b == 4 then
|
||||
starsCount = b
|
||||
break
|
||||
end
|
||||
end
|
||||
break
|
||||
end
|
||||
if i > 7 then
|
||||
stNum = 2
|
||||
else
|
||||
stNum = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
handleForce(volforceAmount)
|
||||
|
||||
volforceBadgeImage = gfx.CreateSkinImage("volforce/"..vfNum..".png",1)
|
||||
vfStar = gfx.CreateSkinImage("volforce/stars/"..stNum..".png",1)
|
||||
|
||||
function render(deltatime, x, y,size,iftxt,amount)
|
||||
|
||||
volforceAmount = amount
|
||||
|
||||
function render(deltatime, x, y)
|
||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
|
||||
local volforceAmount = game.GetSkinSetting('_volforce') or 0;
|
||||
|
||||
-- Draw volforce badge
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x, y, 42, 42, volforceBadgeImage, 1, 0);
|
||||
|
||||
gfx.ImageRect(x-8, y-16, size*1.5, size*1.5, volforceBadgeImage, 1, 0);
|
||||
if iftxt == true then
|
||||
for i = 1, starsCount do
|
||||
divider = 0
|
||||
if starsCount == 1 then
|
||||
divider = 18
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+divider+(i-1)*divider, y+32.5, size/4, size/4, vfStar, 1, 0);
|
||||
elseif starsCount == 2 then
|
||||
divider = 13
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+divider+(i-1)*(divider-2), y+32.5, size/4, size/4, vfStar, 1, 0);
|
||||
elseif starsCount == 3 then
|
||||
divider = 8.25
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+divider+(i-1)*(divider+2), y+32.5, size/4, size/4, vfStar, 1, 0);
|
||||
elseif starsCount == 4 then
|
||||
divider = 5
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+(divider-1)+(i-1)*(divider+5), y+32.5, size/4, size/4, vfStar, 1, 0);
|
||||
end
|
||||
end
|
||||
-- Draw volforce label
|
||||
gfx.FontSize(11)
|
||||
gfx.Text('VOLFORCE', x + 47, y + 14);
|
||||
gfx.FontSize(18)
|
||||
gfx.Text(string.format('%.3f', volforceAmount), x + 47, y + 30);
|
||||
gfx.Text(string.format('%.3f', amount), x + 47, y + 30);
|
||||
end
|
||||
end
|
||||
|
||||
return {
|
||||
|
|
|
@ -235,27 +235,26 @@ function render(deltaTime)
|
|||
gfx.ResetScissor()
|
||||
render_cursor()
|
||||
gfx.ResetTransform()
|
||||
gfx.Translate(resX/2,0)
|
||||
getgrad()
|
||||
gettop()
|
||||
|
||||
Dim.updateResolution()
|
||||
Dim.transformToScreenSpace()
|
||||
|
||||
getgrad(resX,resY)
|
||||
gettop(resX,resY)
|
||||
|
||||
foot.drawNaut(deltaTime)
|
||||
|
||||
if needsReload then reload_songs() end
|
||||
if screenState == 1 then render_level_filters()
|
||||
elseif screenState == 2 then render_sorting_selection()
|
||||
end
|
||||
|
||||
render_sorting_selection()
|
||||
render_loading()
|
||||
render_hotkeys()
|
||||
|
||||
local fifthX = resX/2
|
||||
local fifthY = resY/5
|
||||
local fourthX = resX/4
|
||||
local fourthY = resY/4
|
||||
--draw text search
|
||||
|
||||
soffset = soffset * 0.8
|
||||
draw_search(fifthX,50, -fifthX/3-200, fifthY/4)
|
||||
draw_search(100,50, -100/3-200, 100/4)
|
||||
|
||||
end
|
||||
|
||||
|
@ -420,7 +419,7 @@ function advance_selection(steps)
|
|||
end
|
||||
end
|
||||
|
||||
function render_level_filters() --this do now
|
||||
function render_level_filters()
|
||||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
gfx.BeginPath()
|
||||
|
@ -432,10 +431,10 @@ function render_level_filters() --this do now
|
|||
x = (resY/2)
|
||||
y = (resX/2) + (i - 1) * 40
|
||||
if selectedLevels[i] then gfx.FillColor(255,255,0) else gfx.FillColor(255,255,255) end
|
||||
gfx.Text(tostring(i), x+290, y/1.4-130)
|
||||
gfx.Text(tostring(i), x+290-5, y/1.4-130-9)
|
||||
if i == 1 then
|
||||
bruhX = x+279
|
||||
bruhY = y-295 + (levelcursor*28.5)
|
||||
bruhX = x+279-5
|
||||
bruhY = y-295-9 + (levelcursor*28.5)
|
||||
end
|
||||
end
|
||||
--box
|
||||
|
@ -451,25 +450,24 @@ function render_sorting_selection()
|
|||
gfx.Save()
|
||||
gfx.ResetTransform()
|
||||
gfx.BeginPath()
|
||||
gfx.Rect(0,0, resX, resY)
|
||||
gfx.FillColor(0,0,0,200)
|
||||
gfx.Fill()
|
||||
gfx.FillColor(255,255,255)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||
gfx.FontSize(60)
|
||||
gfx.Text("Sorting method:", 10, 10)
|
||||
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(40)
|
||||
gfx.FontSize(20)
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.Scissor(resX-350, 120,400,20)
|
||||
for i, opt in ipairs(sortingOptions) do
|
||||
y = (resX/2) + (i - (sortingcursor + 1)) * 40
|
||||
y = 110 + (i - sortingcursor) *20
|
||||
if selectedSorting == opt then gfx.FillColor(255,255,255) else gfx.FillColor(127,127,127) end
|
||||
gfx.Text(opt, resX/2, y)
|
||||
gfx.Text(string.upper(opt), resX-300, y)
|
||||
end
|
||||
gfx.ResetScissor()
|
||||
end
|
||||
|
||||
function update_search_text(active, text)
|
||||
|
|
|
@ -42,23 +42,6 @@ local tickTransitions = function (deltaTime)
|
|||
end
|
||||
|
||||
local demoMode = function (songTitle,songArtist)
|
||||
--[[
|
||||
gfx.BeginPath();
|
||||
local tw, th = gfx.ImageSize(demopanel);
|
||||
th = (Dim.design.width / tw) * th;
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(0, 0, Dim.design.width, Dim.design.height,temp, 1, 0);
|
||||
gfx.BeginPath();
|
||||
gfx.FillColor(50,80,120,100)
|
||||
gfx.Rect((Dim.design.width/4)-29, th+62, Dim.design.width/1.75, th/1.75);
|
||||
gfx.Fill()
|
||||
gfx.BeginPath();
|
||||
gfx.FillColor(50,120,80,100)
|
||||
gfx.Rect((Dim.design.width/4)+15, th+129, Dim.design.width/2.12, th/2.25);
|
||||
gfx.Fill()
|
||||
gfx.BeginPath();
|
||||
gfx.Text(actualLaneSpeed,Dim.design.width/4, th+100)
|
||||
]]
|
||||
|
||||
gfx.BeginPath();
|
||||
local tw, th = gfx.ImageSize(demopanel);
|
||||
|
@ -73,10 +56,9 @@ local demoMode = function (songTitle,songArtist)
|
|||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
renderOutlinedText(desw/4+12,th+90, "DEMO MODE", 2);
|
||||
gfx.BeginPath();
|
||||
-- gfx.FillColor(50,120,80,100)
|
||||
-- gfx.Rect((desw/4)+15, th+129, desw/2.12, th/2.25);
|
||||
|
||||
gfx.ImageRect((desw/4)+15,th+129,desw/2.12,th/2.25,jacketImage,1,0)
|
||||
-- gfx.Fill()
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE)
|
||||
renderOutlinedText(desw/2,th+685, songTitle, 2);
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
|
||||
local VolforceWindow = require('components.volforceWindow');
|
||||
local dancheck = require("components.dancheck");
|
||||
local volforceAmount = game.GetSkinSetting('_volforce');
|
||||
|
||||
local desw = 1080;
|
||||
local desh = 1920;
|
||||
|
@ -74,7 +76,7 @@ local render = function (deltaTime, score, bestReplay)
|
|||
|
||||
local scale = resy / desh
|
||||
gfx.Scale(scale, scale)
|
||||
|
||||
if not gameplay.demoMode then
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(
|
||||
0,
|
||||
|
@ -113,7 +115,7 @@ local render = function (deltaTime, score, bestReplay)
|
|||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.FontSize(26)
|
||||
gfx.Text(username, 150, y+152);
|
||||
gfx.Text(string.upper(username), 150, y+152);
|
||||
|
||||
-- Draw best score diff
|
||||
drawBestDiff(deltaTime, score, bestReplay, y);
|
||||
|
@ -125,13 +127,68 @@ local render = function (deltaTime, score, bestReplay)
|
|||
y+206,
|
||||
294*0.32, -- what are these whacky measurements
|
||||
84*0.32,
|
||||
danBadgeImage,
|
||||
dancheck(false),
|
||||
1,
|
||||
0
|
||||
);
|
||||
|
||||
VolforceWindow.render(deltaTime, 220, y+197)
|
||||
VolforceWindow.render(deltaTime, 220, y+197,42,true,volforceAmount)
|
||||
else
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(
|
||||
0,
|
||||
y,
|
||||
449*0.85,
|
||||
336*0.85,
|
||||
idolFrameImage,
|
||||
1,
|
||||
0
|
||||
);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(
|
||||
0,
|
||||
y,
|
||||
449*0.85,
|
||||
336*0.85,
|
||||
bgImage,
|
||||
1,
|
||||
0
|
||||
);
|
||||
|
||||
-- Draw appeal card
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(
|
||||
10,
|
||||
y+117,
|
||||
150*0.62,
|
||||
192*0.62,
|
||||
appealCardImage,
|
||||
1,
|
||||
0
|
||||
);
|
||||
|
||||
-- Draw username
|
||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.FontSize(26)
|
||||
gfx.Text(string.upper("Guest"), 150, y+152);
|
||||
|
||||
-- Draw dan badge & volforce
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(
|
||||
117,
|
||||
y+206,
|
||||
294*0.32, -- what are these whacky measurements
|
||||
84*0.32,
|
||||
dancheck(true),
|
||||
1,
|
||||
0
|
||||
);
|
||||
|
||||
VolforceWindow.render(deltaTime, 220, y+197,42,true,0)
|
||||
|
||||
end
|
||||
gfx.ResetTransform()
|
||||
|
||||
end
|
||||
|
|
|
@ -7,6 +7,17 @@ local placeholderJacket = gfx.CreateSkinImage("song_select/loading.png", 0)
|
|||
|
||||
local songjacket = function()
|
||||
|
||||
if selected_song == nil then
|
||||
if jacket == 0 then
|
||||
jacket = placeholderJacket
|
||||
end
|
||||
else
|
||||
if selected_song.jacket == nil or selected_song.jacket == placeholderJacket then
|
||||
selected_song.jacket = gfx.LoadImageJob(selected_song.jacketPath, placeholderJacket)
|
||||
jacket = selected_song.jacket
|
||||
end
|
||||
end
|
||||
|
||||
local jw , jh = gfx.ImageSize(m_jacket);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(jacketPanelX, jacketPanelY, jw/1.18, jh/1.18, m_jacket,1,0);
|
||||
|
@ -21,17 +32,6 @@ local songjacket = function()
|
|||
end
|
||||
end
|
||||
|
||||
if selected_song == nil then
|
||||
if jacket == 0 then
|
||||
jacket = placeholderJacket
|
||||
end
|
||||
else
|
||||
if selected_song.jacket == nil or selected_song.jacket == placeholderJacket then
|
||||
selected_song.jacket = gfx.LoadImageJob(selected_song.jacketPath, placeholderJacket)
|
||||
jacket = selected_song.jacket
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
return songjacket
|
|
@ -0,0 +1,48 @@
|
|||
local l_panel = gfx.CreateSkinImage("multi/roomselect/room_panel.png",1);
|
||||
|
||||
local l_pw = 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 info_panel = gfx.CreateSkinImage("multi/roomselect/room_panel_name_or_song.png",1);
|
||||
|
||||
local placeholderJacket = gfx.CreateSkinImage("song_select/loading.png", 0)
|
||||
|
||||
local xnum = 230
|
||||
local ynum = 40
|
||||
|
||||
local draw_room = function(name, x, y,status, selected, hoverindex)
|
||||
|
||||
jacket = placeholderJacket
|
||||
|
||||
local jw,jh = gfx.ImageSize(l_panel);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x/4.5,y, jw, jh, l_panel,1,0);
|
||||
|
||||
|
||||
local jw,jh = gfx.ImageSize(n_panel_ja);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x/4.5+3,y+5, jw, jh, n_panel_ja,1,0);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x/4.5+10,y+22, jw/1.15,jh/1.25, jacket,1,0);
|
||||
|
||||
local jw,jh = gfx.ImageSize(info_panel);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x/2-5,y+5, jw, jh, info_panel,1,0);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE);
|
||||
gfx.FontSize(35);
|
||||
gfx.Text(name, x-xnum,y+ynum);
|
||||
gfx.Text(stats[1], x-xnum,y+ynum+40);
|
||||
|
||||
gfx.FontSize(24);
|
||||
local jw,jh = gfx.ImageSize(l_pw);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(x+xnum-5,y+ynum+29, jw, jh, l_pw,1,0);
|
||||
gfx.Text(stats[2].." / "..stats[4], x+xnum+2.5,y+ynum+52.5);
|
||||
|
||||
end;
|
||||
|
||||
return draw_room
|
|
@ -1,13 +1,12 @@
|
|||
lobbypanelX = 0;
|
||||
lobbypanelY = (1080/2.5)-56;
|
||||
|
||||
|
||||
local l_grad = gfx.CreateSkinImage("multi/roomselect/lobby_select_gradiant.png", 1);
|
||||
|
||||
local getgrad = function()
|
||||
local getgrad = function(x,y)
|
||||
gfx.Save()
|
||||
local jw,jh = gfx.ImageSize(l_grad);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(lobbypanelX+116.7, lobbypanelY-160, jw/1.78, jh/1.8, l_grad,1,0);
|
||||
gfx.ImageRect(x/x, y/y+376, jw, jh, l_grad,1,0);
|
||||
|
||||
gfx.Restore()
|
||||
end
|
||||
|
|
|
@ -2,41 +2,20 @@ local Dim = require("common.dimensions")
|
|||
|
||||
local desw,desh = Dim.design.width,Dim.design.height
|
||||
|
||||
lobbypanelX = 0;
|
||||
lobbypanelY = (1080/2.5)-56;
|
||||
|
||||
local l_color = gfx.CreateSkinImage("multi/roomselect/lobby_select_color.png", 1);
|
||||
local l_load = gfx.CreateSkinImage("multi/roomselect/lobby_not_loaded.png",1)
|
||||
lobbypanelY = 376;
|
||||
|
||||
local l_color = gfx.CreateSkinImage("multi/roomselect/lobby_select_color.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 station = ""
|
||||
|
||||
local getpanel = function()
|
||||
if screenState == "roomList" then --multi
|
||||
|
||||
station = "Multi Station"
|
||||
local jw,jh = gfx.ImageSize(l_color);
|
||||
-- gfx.BeginPath();
|
||||
-- gfx.ImageRect(lobbypanelX, lobbypanelY, jw, jh, l_base_panel,1,0);
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(lobbypanelX, lobbypanelY, jw/1.17, jh*1.18, l_color,1,0);
|
||||
|
||||
|
||||
-- gfx.BeginPath();
|
||||
-- gfx.ImageRect(lobbypanelX, lobbypanelY, jw, jh, l_grad,1,0);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.FontSize(36)
|
||||
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),lobbypanelX+1080/2,lobbypanelY+39)
|
||||
gfx.FillColor(255,255,255,50)
|
||||
gfx.Text(string.upper(station),lobbypanelX+1080/2,lobbypanelY+39)
|
||||
gfx.Fill()
|
||||
|
||||
gfx.ImageRect(desw/desw, lobbypanelY, jw, jh, l_color,1,0);
|
||||
|
||||
if not loading then
|
||||
gfx.BeginPath()
|
||||
|
|
|
@ -19,10 +19,6 @@ local ynum = 24
|
|||
local getroom = function(song,x,y,downloaded)
|
||||
--multiplayer room list
|
||||
if screenState == "roomList" then
|
||||
-- local jw,jh = gfx.ImageSize(l_panel);
|
||||
-- gfx.BeginPath();
|
||||
-- gfx.ImageRect(lobbypanelX, lobbypanelY, jw, jh, l_panel,1,0);
|
||||
|
||||
-- do the lobby oder here
|
||||
draw_rooms(desw/2, desh - 290);
|
||||
end
|
||||
|
|
|
@ -4,23 +4,23 @@
|
|||
|
||||
local l_base_panel = gfx.CreateSkinImage("multi/roomselect/lobby_select.png",1);
|
||||
|
||||
local gettop = function()
|
||||
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(lobbypanelX+116.7, lobbypanelY-160, jw/1.78, jh/1.8, l_base_panel,1,0);
|
||||
gfx.ImageRect(x/x, y/y+376, jw, jh, l_base_panel,1,0);
|
||||
gfx.BeginPath();
|
||||
gfx.FontSize(22)
|
||||
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),(lobbypanelX+1080/2)-120,lobbypanelY+35-175.5)
|
||||
gfx.Text(string.upper(station),x/2, y/2-546)
|
||||
gfx.FillColor(255,255,255,50)
|
||||
gfx.Text(string.upper(station),(lobbypanelX+1080/2)-120,lobbypanelY+35-175.5)
|
||||
gfx.Text(string.upper(station),x/2, y/2-546)
|
||||
gfx.Fill()
|
||||
|
||||
end
|
||||
|
|
|
@ -20,6 +20,10 @@ local m_info_part = require("multi.inRoom.infopanel")
|
|||
|
||||
-- roomList components
|
||||
local getpanel = require("multi.roomList.getpanel")
|
||||
local getroom = require("multi.roomList.getroom")
|
||||
local draw_room = require("multi.roomList.droom")
|
||||
local l_grad = gfx.CreateSkinImage("multi/roomselect/lobby_select_gradiant.png", 1);
|
||||
local l_base_panel = gfx.CreateSkinImage("multi/roomselect/lobby_select.png",1);
|
||||
|
||||
local headerMatchingImage = gfx.CreateSkinImage("titlescreen/entry.png", 1);
|
||||
|
||||
|
@ -180,38 +184,6 @@ mouse_clipped = function(x,y,w,h)
|
|||
return mposx > x and mposy > y and mposx < x+w and mposy < y+h;
|
||||
end;
|
||||
|
||||
-- look into this when people are online
|
||||
draw_room = function(name, x, y, selected, hoverindex)
|
||||
local buttonWidth = desw*(3/4);
|
||||
local rx = x - (buttonWidth / 2);
|
||||
local ty = y - (buttonHeight / 2);
|
||||
local roomButtonBorder = buttonBorder;
|
||||
gfx.BeginPath();
|
||||
gfx.FillColor(0,128,255);
|
||||
if selected then
|
||||
gfx.FillColor(0,255,0);
|
||||
roomButtonBorder = 4;
|
||||
end
|
||||
if mouse_clipped(rx,ty, buttonWidth, buttonHeight) then
|
||||
hovered = hoverindex;
|
||||
gfx.FillColor(255,128,0);
|
||||
end
|
||||
gfx.Rect(rx - roomButtonBorder,
|
||||
ty - roomButtonBorder,
|
||||
buttonWidth + (roomButtonBorder * 2),
|
||||
buttonHeight + (roomButtonBorder * 2));
|
||||
gfx.Fill();
|
||||
gfx.BeginPath();
|
||||
gfx.FillColor(40,40,40);
|
||||
gfx.Rect(rx, ty, buttonWidth, buttonHeight);
|
||||
gfx.Fill();
|
||||
gfx.BeginPath();
|
||||
gfx.FillColor(255,255,255);
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE);
|
||||
gfx.FontSize(40);
|
||||
gfx.Text(name, x, y);
|
||||
end;
|
||||
|
||||
custom_button = function (name,x,y,image,font,fSize,hoverindex)
|
||||
local jw,jh = gfx.ImageSize(image);
|
||||
gfx.BeginPath();
|
||||
|
@ -436,13 +408,25 @@ function draw_rooms(y, h)
|
|||
local offsetY = (offset_index + ioffset) * (buttonHeight + 10);
|
||||
local ypos = y + (h/2) - offsetY;
|
||||
local status = room.current..'/'..room.max
|
||||
if room.current == room.max then
|
||||
statusST = status
|
||||
statusF = " <FULL>"
|
||||
else
|
||||
statusST = status
|
||||
statusF = " <NOT FULL>"
|
||||
end
|
||||
if room.ingame then
|
||||
status = status..' (IN MATCH)'
|
||||
statusM = ' <IN MATCH>'
|
||||
end
|
||||
if room.password then
|
||||
status = status..' <P>'
|
||||
statusPW = ' <LOCKED>'
|
||||
else
|
||||
statusPW = ' <OPEN>'
|
||||
end
|
||||
draw_room(room.name .. ': '.. status, desw/2, ypos, i == selected_room_index, function()
|
||||
stats ={statusST,statusF,statusM,statusPW}
|
||||
|
||||
|
||||
draw_room(room.name, desw/2, ypos,stats, i == selected_room_index, function()
|
||||
join_room(room)
|
||||
end)
|
||||
end
|
||||
|
@ -513,8 +497,30 @@ end
|
|||
function render_room_list(deltaTime)
|
||||
|
||||
Background.draw(deltaTime)
|
||||
drawHeader()
|
||||
getpanel()
|
||||
station = "Multi Station"
|
||||
local jw,jh = gfx.ImageSize(l_grad);
|
||||
|
||||
-- the list
|
||||
getroom()
|
||||
--
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(desw/desw, lobbypanelY, jw, jh, l_grad,1,0);
|
||||
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(desw/desw, lobbypanelY, 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),desw/2, desh/2-546)
|
||||
gfx.FillColor(255,255,255,50)
|
||||
gfx.Text(string.upper(station),desw/2, desh/2-546)
|
||||
gfx.Fill()
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -5,6 +5,8 @@ local Footer = require('components.footer');
|
|||
local Numbers = require('components.numbers')
|
||||
local DiffRectangle = require('components.diff_rectangle');
|
||||
local lang = require("language.call")
|
||||
local dancheck = require("components.dancheck");
|
||||
local volforceAmount = game.GetSkinSetting('_volforce');
|
||||
|
||||
local crew = game.GetSkinSetting("single_idol")
|
||||
local betacrew = game.GetSkinSetting("beta_idol")
|
||||
|
@ -633,15 +635,15 @@ local drawBottomPanelContent = function(deltatime)
|
|||
|
||||
-- Draw username
|
||||
gfx.FontSize(28)
|
||||
gfx.Text(username, bottomPanelX + 190, bottomPanelY + 314);
|
||||
gfx.Text(string.upper(username), bottomPanelX + 190, bottomPanelY + 314);
|
||||
|
||||
-- Draw dan badge
|
||||
gfx.BeginPath();
|
||||
gfx.ImageRect(bottomPanelX + 187, bottomPanelY + 362, 107, 29,
|
||||
danBadgeImage, 1, 0);
|
||||
dancheck(false), 1, 0);
|
||||
|
||||
-- Draw volforce
|
||||
VolforceWindow.render(0, bottomPanelX + 310, bottomPanelY + 355)
|
||||
VolforceWindow.render(0, bottomPanelX + 310, bottomPanelY + 355,42,true,volforceAmount)
|
||||
|
||||
-- Draw IR text
|
||||
gfx.FontSize(22)
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
local Charting = require('common.charting')
|
||||
local Easing = require('common.easing')
|
||||
local Background = require('components.background')
|
||||
local Charting = require("common.charting")
|
||||
local Easing = require("common.easing")
|
||||
local Background = require("components.background")
|
||||
local Dim = require("common.dimensions")
|
||||
local Wallpaper = require("components.wallpaper")
|
||||
local common = require('common.util')
|
||||
local common = require("common.util")
|
||||
local Sound = require("common.sound")
|
||||
local Numbers = require('components.numbers')
|
||||
local Numbers = require("components.numbers")
|
||||
local username = game.GetSkinSetting("username")
|
||||
|
||||
local VolforceCalc = require('components.volforceCalc')
|
||||
local VolforceCalc = require("components.volforceCalc")
|
||||
local VfWindow = require("components.volforceWindow")
|
||||
local volforceAmount = game.GetSkinSetting('_volforce');
|
||||
|
||||
-- add things if EventMode is more explained
|
||||
|
||||
local dataPanelImage = gfx.CreateSkinImage("song_select/data_bg_overlay.png", 1)
|
||||
local dataGlowOverlayImage = gfx.CreateSkinImage("song_select/data_panel/data_glow_overlay.png", 1)
|
||||
|
@ -40,7 +45,6 @@ local searchInfoPanelImage = gfx.CreateSkinImage("song_select/search_info_panel.
|
|||
local defaultJacketImage = gfx.CreateSkinImage("song_select/loading.png", 0)
|
||||
|
||||
|
||||
|
||||
local difficultyLabelImages = {
|
||||
gfx.CreateSkinImage("song_select/plate/difficulty_labels/novice.png", 1),
|
||||
gfx.CreateSkinImage("song_select/plate/difficulty_labels/advanced.png", 1),
|
||||
|
@ -375,6 +379,7 @@ function drawSong(song, y)
|
|||
if (top50diffs[selectedSongDifficulty.id]) then
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(songX+82, y+109, 506*0.85, 26*0.85, top50OverlayImage, 1, 0)
|
||||
VfWindow.render(0,songX+95, y+105,24*1.5,false,volforceAmount)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -422,6 +427,7 @@ function drawData() -- Draws the song data on the left panel
|
|||
if (top50diffs[diff.id]) then
|
||||
gfx.BeginPath()
|
||||
gfx.ImageRect(96, 529, 410*0.85, 168*0.85, top50JacketOverlayImage, 1, 0)
|
||||
VfWindow.render(0,85, 600,24*3,false,volforceAmount)
|
||||
end
|
||||
|
||||
gfx.Save()
|
||||
|
@ -565,8 +571,7 @@ function drawLocalLeaderboard(diff)
|
|||
|
||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.BeginPath()
|
||||
gfx.Text(game.GetSkinSetting("username"), sbBarContentLeftX, scoreBoardY + sbBarHeight/2 + i*sbBarHeight)
|
||||
|
||||
gfx.Text(string.upper(username), sbBarContentLeftX, scoreBoardY + sbBarHeight/2 + i*sbBarHeight)
|
||||
gfx.BeginPath()
|
||||
gfx.Text((diff.scores[i]) and diff.scores[i].score or "- - - - - - - -", sbBarContentRightX, scoreBoardY + sbBarHeight/2 + i*sbBarHeight)
|
||||
end
|
||||
|
@ -638,7 +643,6 @@ function drawIrLeaderboard()
|
|||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_MIDDLE)
|
||||
gfx.BeginPath()
|
||||
gfx.Text(string.upper(irScore.username), sbBarContentLeftX, scoreBoardY + sbBarHeight/2 + rank*sbBarHeight)
|
||||
|
||||
gfx.BeginPath()
|
||||
gfx.Text(string.format("%d", irScore.score), sbBarContentRightX, scoreBoardY + sbBarHeight/2 + rank*sbBarHeight)
|
||||
|
||||
|
@ -832,10 +836,7 @@ function refreshIrLeaderboard(deltaTime)
|
|||
end
|
||||
|
||||
irRequestStatus = 2 -- Loading
|
||||
-- onIrLeaderboardFetched({
|
||||
-- statusCode = 20,
|
||||
-- body = {}
|
||||
-- })
|
||||
|
||||
IR.Leaderboard(diff.hash, 'best', 4, onIrLeaderboardFetched)
|
||||
end
|
||||
|
||||
|
|
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 413 KiB |
After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 312 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 326 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 350 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 3.8 KiB |