separated most of the multi lobby screen
This commit is contained in:
parent
e22fab8e2d
commit
df5684e8f2
|
@ -2,43 +2,43 @@
|
||||||
local lang = {
|
local lang = {
|
||||||
Challanges = {
|
Challanges = {
|
||||||
--righside
|
--righside
|
||||||
ch = "Idk",
|
ch = "Analysieren Sie Ihre Fähigkeiten",
|
||||||
ch1 = "Foltere dich selbst :)",
|
ch1 = "Finde heraus, wie gut du bist!\nDeine Fähigkeiten gehen an die Grenzen.",
|
||||||
},
|
},
|
||||||
Multiplayer = {
|
Multiplayer = {
|
||||||
--righside
|
--righside
|
||||||
mp = "Warte, es gibt Mehrspieler???",
|
mp = "Online matchmaking!",
|
||||||
mp2 = "Ja, aber niemand ist jemals online",
|
mp2 = "Spiele gegen deine Freunde!\nUnterstützung für bis zu 8 Spieler.",
|
||||||
},
|
},
|
||||||
Start = {
|
Start = {
|
||||||
--righside
|
--righside
|
||||||
st = "Starte scheisse idk",
|
st = "Grundspiel!",
|
||||||
st2 ="Spiel etwas bla bla bla\nMit Zeilenumbrüchen",
|
st2 ="Spielen Sie, was immer Sie mögen!\nJetzt mit Online Rangliste",
|
||||||
--leftside
|
--leftside
|
||||||
st3 = "Start",
|
st3 = "Start",
|
||||||
sc = "Drehen",
|
sc = "VOL zur Auswahl",
|
||||||
desc = "Test description. Blah blah blah",
|
desc = "Test description. Blah blah blah",
|
||||||
},
|
},
|
||||||
Nautica = {
|
Nautica = {
|
||||||
--righside
|
--righside
|
||||||
dls = "Mehr Lieder herunterladen",
|
dls = "Mehr Lieder herunterladen",
|
||||||
dls2 = "ksm.dev",
|
dls2 = "Erhalte neue maps täglich von ksm.dev!\nUpdate Täglich",
|
||||||
},
|
},
|
||||||
Settings = {
|
Settings = {
|
||||||
--righside
|
--righside
|
||||||
se = "Dinge anpassen",
|
se = "Einstellungen öffnen!",
|
||||||
se1= "Einstellungen öffnen",
|
se1= "Optimiere deine Einstellung nach deinen Wünschen.",
|
||||||
},
|
},
|
||||||
Exit = {
|
Exit = {
|
||||||
--righside
|
--righside
|
||||||
ex = "Verlass dieses verfluchte Spiel",
|
ex = "Schließ das Spiel",
|
||||||
ex2 = "Komm schon, drück den Knopf!\nDu weißt, dass du es tun willst",
|
ex2 = "Schließ das Spiel und beende deine Sitzung.\nAuf Wiedersehen!",
|
||||||
},
|
},
|
||||||
Result = {
|
Result = {
|
||||||
--leftside
|
--leftside
|
||||||
re = "AUTOPLAY Active",
|
re = "AUTOPLAY Aktiv",
|
||||||
re1 = "AUTOPLAY is active.",
|
re1 = "AUTOPLAY ist aktiv.",
|
||||||
re2 = "Scores will not be saved",
|
re2 = "Spielstände werden nicht gespeichert",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
local bottomPanelX = 1;
|
||||||
|
local bottomPanelY = 1250;
|
||||||
|
|
||||||
|
local m_base_panel = gfx.CreateSkinImage("multi/lobby/multi_base_panel.png", 1);
|
||||||
|
local m_anim = gfx.CreateSkinImage("multi/lobby/panel_laser.png", 1);
|
||||||
|
|
||||||
|
local m_base_part = function()
|
||||||
|
local jw , jh = gfx.ImageSize(m_base_panel);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(bottomPanelX, bottomPanelY, jw/1.17, jh/1.18, m_base_panel,1,0);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(bottomPanelX, bottomPanelY, jw/1.17, jh/1.18, m_anim,1,0);
|
||||||
|
|
||||||
|
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||||
|
gfx.FillColor(255,255,255)
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT, gfx.TEXT_ALIGN_LEFT)
|
||||||
|
gfx.FontSize(24)
|
||||||
|
end
|
||||||
|
|
||||||
|
return m_base_part
|
|
@ -0,0 +1,75 @@
|
||||||
|
local bpmPanelX = 0;
|
||||||
|
local bpmPanelY = 1692;
|
||||||
|
|
||||||
|
local m_bpm_panel = gfx.CreateSkinImage("multi/lobby/lane_speed_panel.png", 1);
|
||||||
|
|
||||||
|
local Info = {
|
||||||
|
Bpm = {
|
||||||
|
HasBpm = "BPM",
|
||||||
|
NoBpm = "BPM ?",
|
||||||
|
},
|
||||||
|
LN = {
|
||||||
|
HasLN = "LANE-SPEED",
|
||||||
|
NoLV = "LANE-SPEED ?",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local m_bpm_part = function ()
|
||||||
|
local jw , jh = gfx.ImageSize(m_bpm_panel);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(bpmPanelX, bpmPanelY, jw/1.18, jh/1.18, m_bpm_panel,1,0);
|
||||||
|
|
||||||
|
gfx.FontSize(32)
|
||||||
|
if selected_song == nil then
|
||||||
|
if host == user_id then
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(32)
|
||||||
|
gfx.Text(Info.Bpm.NoBpm,bpmPanelX+76, bpmPanelY + 96)
|
||||||
|
gfx.Text(Info.LN.NoLV,bpmPanelX+76, bpmPanelY + 140)
|
||||||
|
else
|
||||||
|
if missing_song then
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(32)
|
||||||
|
gfx.Text(Info.Bpm.NoBpm,bpmPanelX+76, bpmPanelY + 96)
|
||||||
|
gfx.Text(Info.LN.NoLV,bpmPanelX+76, bpmPanelY + 140)
|
||||||
|
else
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(32)
|
||||||
|
gfx.Text(Info.Bpm.NoBpm,bpmPanelX+76, bpmPanelY + 96)
|
||||||
|
gfx.Text(Info.LN.NoLV,bpmPanelX+76, bpmPanelY + 140)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if selected_song ~= nil then
|
||||||
|
gfx.FillColor(255,255,255)
|
||||||
|
gfx.FontSize(32);
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
|
||||||
|
if selected_song.min_bpm ~= selected_song.max_bpm then
|
||||||
|
|
||||||
|
gfx.Text(Info.Bpm.HasBpm,bpmPanelX+76, bpmPanelY + 96)
|
||||||
|
gfx.Text(string.format("%.0f - %.0f",
|
||||||
|
selected_song.min_bpm, selected_song.max_bpm),
|
||||||
|
bpmPanelX+ 76 + 75, bpmPanelY + 96)
|
||||||
|
|
||||||
|
gfx.Text(Info.LN.HasLN,bpmPanelX+76, bpmPanelY + 140)
|
||||||
|
gfx.Text(string.format("%.2f = %.0f",
|
||||||
|
selected_song.hispeed, selected_song.speed_bpm * selected_song.hispeed),
|
||||||
|
bpmPanelX +76 + 175, bpmPanelY + 140)
|
||||||
|
else
|
||||||
|
|
||||||
|
gfx.FontSize(32);
|
||||||
|
gfx.Text(Info.Bpm.HasBpm,bpmPanelX+76, bpmPanelY + 96)
|
||||||
|
gfx.Text(string.format("%.0f",
|
||||||
|
selected_song.min_bpm),
|
||||||
|
bpmPanelX+ 76 + 75, bpmPanelY + 96)
|
||||||
|
|
||||||
|
gfx.Text(Info.LN.HasLN,bpmPanelX+76, bpmPanelY + 140)
|
||||||
|
gfx.Text(string.format("%.2f = %.0f",
|
||||||
|
selected_song.hispeed, selected_song.speed_bpm * selected_song.hispeed),
|
||||||
|
bpmPanelX + 76 + 175, bpmPanelY + 140)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return m_bpm_part
|
|
@ -0,0 +1,41 @@
|
||||||
|
local infPanelX = 475;
|
||||||
|
local infPanelY = 1590;
|
||||||
|
|
||||||
|
local m_info_panel = gfx.CreateSkinImage("multi/lobby/button_panel.png", 1);
|
||||||
|
|
||||||
|
local Info = {
|
||||||
|
BTs = {
|
||||||
|
BTA = "EXCESSIVE",
|
||||||
|
BTB = "MIRROR",
|
||||||
|
BTC = "ROTATE",
|
||||||
|
BTD = "LEAVE",
|
||||||
|
ST = "START",
|
||||||
|
FXS = "FX-L/FX-R TO SETTINGS",
|
||||||
|
},
|
||||||
|
MEME = {
|
||||||
|
BTs = "SEX",
|
||||||
|
FXS = "START TO EXCEED SEX",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
local m_info_part = function () -- the info panel
|
||||||
|
local jw , jh = gfx.ImageSize(m_info_panel);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(infPanelX, infPanelY, jw/1.18, jh/1.18, m_info_panel,1,0);
|
||||||
|
gfx.FontSize(24)
|
||||||
|
|
||||||
|
draw_checkbox(Info.BTs.BTA,infPanelX+160, infPanelY+50, toggle_hard, hard_mode, not start_game_soon)
|
||||||
|
draw_checkbox(Info.BTs.BTB,infPanelX+187, infPanelY+87.5, toggle_mirror, mirror_mode, not start_game_soon)
|
||||||
|
draw_checkbox(Info.BTs.BTC,infPanelX+390, infPanelY+87.5, toggle_rotate, do_rotate,
|
||||||
|
(owner == user_id or host == user_id) and not start_game_soon)
|
||||||
|
|
||||||
|
gfx.FillColor(255,255,255,100)
|
||||||
|
gfx.Text(Info.BTs.BTD,infPanelX+417.5, infPanelY+49)
|
||||||
|
gfx.Text(Info.BTs.ST,infPanelX*1.61, infPanelY+35)
|
||||||
|
gfx.FillColor(255,255,255)
|
||||||
|
gfx.FontSize(24)
|
||||||
|
gfx.Text(Info.BTs.FXS,infPanelX+290.5,infPanelY+269)
|
||||||
|
-- gfx.Text(Info.MEME.FXS,infPanelX+290.5,infPanelY+269)
|
||||||
|
end
|
||||||
|
|
||||||
|
return m_info_part
|
|
@ -0,0 +1,17 @@
|
||||||
|
local roomNamePanelX = 429;
|
||||||
|
local roomNamePanelY = 1142;
|
||||||
|
|
||||||
|
local m_panel = gfx.CreateSkinImage("multi/lobby/matching_panel.png", 1);
|
||||||
|
|
||||||
|
local m_part = function()
|
||||||
|
local jw , jh = gfx.ImageSize(m_panel);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(roomNamePanelX, roomNamePanelY, jw/1.175, jh/1.18, m_panel,1,0);
|
||||||
|
|
||||||
|
gfx.FontSize(32);
|
||||||
|
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT, gfx.TEXT_ALIGN_MIDDLE)
|
||||||
|
gfx.Text(selected_room.name,roomNamePanelX+146, roomNamePanelY+37)
|
||||||
|
end
|
||||||
|
|
||||||
|
return m_part
|
|
@ -0,0 +1,34 @@
|
||||||
|
-- idk why this breaks with the difbar translate error at line 28
|
||||||
|
local ownPanelX = 0;
|
||||||
|
local ownPanelY = 1310;
|
||||||
|
|
||||||
|
msg = game.GetSkinSetting("MSG");
|
||||||
|
normname = game.GetSkinSetting("username")
|
||||||
|
|
||||||
|
local m_host_panel = gfx.CreateSkinImage("multi/lobby/user_panel.png", 1);
|
||||||
|
ready_bt = gfx.CreateSkinImage("multi/lobby/READY.png", 1);
|
||||||
|
|
||||||
|
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.FontSize(22)
|
||||||
|
gfx.Text(msg,ownPanelX+20, ownPanelY+37)
|
||||||
|
gfx.Text(irText, ownPanelX+20, ownPanelY+288);
|
||||||
|
|
||||||
|
|
||||||
|
if showthing == true then
|
||||||
|
local jw , jh = gfx.ImageSize(ready_bt);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(ownPanelX+150, ownPanelY+232, jw/1.18, jh/1.18, ready_bt,1,0);
|
||||||
|
elseif showthing == false then
|
||||||
|
local jw , jh = gfx.ImageSize(ready_bt);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(x+ownPanelX, y+ownPanelY, jw/1.18, jh/1.18, ready_bt,0,0);
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
return m_own_info
|
|
@ -0,0 +1,96 @@
|
||||||
|
local rightPanelX = 283;
|
||||||
|
local rightPanelY = 1187;
|
||||||
|
|
||||||
|
local m_s_panel = gfx.CreateSkinImage("multi/lobby/song_panel.png", 1);
|
||||||
|
|
||||||
|
local Info = {
|
||||||
|
Song = {
|
||||||
|
NoSong = "NO SONG",
|
||||||
|
MisSong = "MISSING SONG!!!!"
|
||||||
|
},
|
||||||
|
Artist = {
|
||||||
|
NoArt = "NO ARTIST",
|
||||||
|
MisArt = "MISSING ARTIST!!!!"
|
||||||
|
},
|
||||||
|
Effect = {
|
||||||
|
NoEfc = "NO EFFECTOR",
|
||||||
|
MisEfc = "MISSING EFFECTOR!!!!"
|
||||||
|
},
|
||||||
|
Illustrator = {
|
||||||
|
NoIlt = "NO ILLUSTRATOR",
|
||||||
|
MisIlt = "MISSING ILLUSTRATOR!!!!"
|
||||||
|
},
|
||||||
|
Bpm = {
|
||||||
|
HasBpm = "BPM",
|
||||||
|
NoBpm = "BPM ?",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
local m_s_part = function ()
|
||||||
|
local jw , jh = gfx.ImageSize(m_s_panel);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(rightPanelX, rightPanelY, jw/1.175, jh/1.18, m_s_panel,1,0);
|
||||||
|
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_LEFT);
|
||||||
|
gfx.FillColor(255,255,255)
|
||||||
|
|
||||||
|
gfx.FontSize(32)
|
||||||
|
if selected_song == nil then
|
||||||
|
if host == user_id then
|
||||||
|
gfx.Text(Info.Song.NoSong, rightPanelX+245, rightPanelY+50)
|
||||||
|
gfx.Text(Info.Artist.NoArt, rightPanelX+245, rightPanelY+88)
|
||||||
|
gfx.FontSize(24)
|
||||||
|
gfx.Text(Info.Effect.NoEfc, rightPanelX+463, rightPanelY+191)
|
||||||
|
gfx.Text(Info.Illustrator.NoIlt, rightPanelX+463, rightPanelY+219)
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(22)
|
||||||
|
gfx.Text(Info.Bpm.NoBpm,rightPanelX+497, rightPanelY+118)
|
||||||
|
else
|
||||||
|
if missing_song then
|
||||||
|
gfx.Text(Info.Song.MisSong, rightPanelX+245, rightPanelY+50)
|
||||||
|
gfx.Text(Info.Artist.MisArt, rightPanelX+245, rightPanelY+88)
|
||||||
|
gfx.FontSize(24)
|
||||||
|
gfx.Text(Info.Effect.MisEfc, rightPanelX+463, rightPanelY+191)
|
||||||
|
gfx.Text(Info.Illustrator.MisIlt, rightPanelX+463, rightPanelY+219)
|
||||||
|
end
|
||||||
|
--[[
|
||||||
|
else
|
||||||
|
gfx.Text("HOST IS SELECTING SONG", rightPanelX+245, rightPanelY+50)
|
||||||
|
gfx.Text(" ", rightPanelX+245, rightPanelY+88)
|
||||||
|
gfx.FontSize(24)
|
||||||
|
gfx.Text(" ", rightPanelX+463, rightPanelY+191)
|
||||||
|
gfx.Text(" ", rightPanelX+463, rightPanelY+219)
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(22)
|
||||||
|
gfx.Text("BPM ?",rightPanelX+497, rightPanelY+118)]]
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if selected_song.min_bpm ~= selected_song.max_bpm then
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(22);
|
||||||
|
gfx.Text(Info.Bpm.HasBpm,rightPanelX+497, rightPanelY+118)
|
||||||
|
gfx.FontSize(26);
|
||||||
|
gfx.Text(string.format("%.0f - %.0f",
|
||||||
|
selected_song.min_bpm, selected_song.max_bpm),
|
||||||
|
rightPanelX+497 + 77, rightPanelY+118)
|
||||||
|
else
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
||||||
|
gfx.FontSize(22);
|
||||||
|
gfx.Text(Info.Bpm.HasBpm,rightPanelX+497, rightPanelY+118)
|
||||||
|
gfx.Text(string.format("%.0f",
|
||||||
|
selected_song.min_bpm),
|
||||||
|
rightPanelX+497 + 77, rightPanelY+118)
|
||||||
|
end
|
||||||
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_LEFT);
|
||||||
|
gfx.FontSize(32);
|
||||||
|
gfx.Text(selected_song.title, rightPanelX+245, rightPanelY+50)
|
||||||
|
gfx.Text(selected_song.artist, rightPanelX+245, rightPanelY+88)
|
||||||
|
gfx.FontSize(24)
|
||||||
|
gfx.Text(selected_song.effector, rightPanelX+463, rightPanelY+191)
|
||||||
|
gfx.Text(selected_song.illustrator, rightPanelX+463, rightPanelY+219)
|
||||||
|
draw_diffs(selected_song.all_difficulties, 395, 205, 300, 100, selected_song.diff_index+1)
|
||||||
|
gfx.Text("Dif pos: "..selected_song.diff_index,rightPanelX, rightPanelY)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return m_s_part
|
|
@ -0,0 +1,37 @@
|
||||||
|
local jacketPanelX = 333;
|
||||||
|
local jacketPanelY = 1284;
|
||||||
|
|
||||||
|
local jacket = 0;
|
||||||
|
local m_jacket = gfx.CreateSkinImage("multi/lobby/multi_jacket.png", 1);
|
||||||
|
local placeholderJacket = gfx.CreateSkinImage("song_select/loading.png", 0)
|
||||||
|
|
||||||
|
local songjacket = function()
|
||||||
|
|
||||||
|
local jw , jh = gfx.ImageSize(m_jacket);
|
||||||
|
gfx.BeginPath();
|
||||||
|
gfx.ImageRect(jacketPanelX, jacketPanelY, jw/1.18, jh/1.18, m_jacket,1,0);
|
||||||
|
|
||||||
|
gfx.BeginPath()
|
||||||
|
gfx.ImageRect(jacketPanelX+12, jacketPanelY+19,jw/1.269,jh/1.35,jacket,1,0)
|
||||||
|
|
||||||
|
if mouse_clipped(jacketPanelX+12, jacketPanelY+19,jw/1.269,jh/1.35) and host == user_id then
|
||||||
|
hovered = function()
|
||||||
|
missing_song = false
|
||||||
|
mpScreen.SelectSong()
|
||||||
|
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
|
|
@ -5,21 +5,17 @@ local Sound = require("common.sound")
|
||||||
local Dim = require("common.dimensions")
|
local Dim = require("common.dimensions")
|
||||||
local Wallpaper = require("components.wallpaper")
|
local Wallpaper = require("components.wallpaper")
|
||||||
local Background = require('components.background');
|
local Background = require('components.background');
|
||||||
local difbar = require("components.diff_rectangle");
|
local difbar = require("components.diff_rectangle"); --no clue but starting to separating breaks it
|
||||||
local spinnybg = require('components.background');
|
|
||||||
local msg = game.GetSkinSetting("MSG");
|
|
||||||
local normname = game.GetSkinSetting("username")
|
|
||||||
|
|
||||||
local creww = game.GetSkinSetting("single_idol")
|
local creww = game.GetSkinSetting("single_idol")
|
||||||
|
|
||||||
local m_jacket = gfx.CreateSkinImage("multi/lobby/multi_jacket.png", 1);
|
local songjacket = require("multi.songjacket")
|
||||||
local m_base_panel = gfx.CreateSkinImage("multi/lobby/multi_base_panel.png", 1);
|
local m_own_info = require("multi.owninfo")
|
||||||
local m_anim = gfx.CreateSkinImage("multi/lobby/panel_laser.png", 1);
|
local m_base_part = require("multi.basepanel")
|
||||||
local m_panel = gfx.CreateSkinImage("multi/lobby/matching_panel.png", 1);
|
local m_part = require("multi.mainpanel")
|
||||||
local m_s_panel = gfx.CreateSkinImage("multi/lobby/song_panel.png", 1);
|
local m_s_part = require("multi.songinfo")
|
||||||
local m_host_panel = gfx.CreateSkinImage("multi/lobby/user_panel.png", 1);
|
local m_bpm_part = require("multi.bpmpanel")
|
||||||
local m_bpm_panel = gfx.CreateSkinImage("multi/lobby/lane_speed_panel.png", 1);
|
local m_info_part = require("multi.infopanel")
|
||||||
local m_info_panel = gfx.CreateSkinImage("multi/lobby/button_panel.png", 1);
|
|
||||||
|
|
||||||
local temppanels = gfx.CreateSkinImage("song_select/textboard.png", 1); --temp
|
local temppanels = gfx.CreateSkinImage("song_select/textboard.png", 1); --temp
|
||||||
|
|
||||||
|
@ -28,8 +24,6 @@ local headerMatchingImage = gfx.CreateSkinImage("titlescreen/entry.png", 1);
|
||||||
local m_4pb_panels_bottom = gfx.CreateSkinImage("multi/lobby/opponent_bottom_panel.png", 1);
|
local m_4pb_panels_bottom = gfx.CreateSkinImage("multi/lobby/opponent_bottom_panel.png", 1);
|
||||||
local m_4pb_panels_top = gfx.CreateSkinImage("multi/lobby/opponent_top_panel.png", 1);
|
local m_4pb_panels_top = gfx.CreateSkinImage("multi/lobby/opponent_top_panel.png", 1);
|
||||||
|
|
||||||
local ready_bt = gfx.CreateSkinImage("multi/lobby/READY.png", 1);
|
|
||||||
|
|
||||||
local bg = gfx.CreateSkinImage("multi/lobby/bg.png", 1);
|
local bg = gfx.CreateSkinImage("multi/lobby/bg.png", 1);
|
||||||
local bg_graid1 = gfx.CreateSkinImage("multi/lobby/gradient_bottom.png", 1);
|
local bg_graid1 = gfx.CreateSkinImage("multi/lobby/gradient_bottom.png", 1);
|
||||||
local bg_graid2 = gfx.CreateSkinImage("multi/lobby/gradient_top.png", 1);
|
local bg_graid2 = gfx.CreateSkinImage("multi/lobby/gradient_top.png", 1);
|
||||||
|
@ -38,37 +32,13 @@ local idle = "/idle"
|
||||||
local idolAnimation = gfx.LoadSkinAnimation('crew/anim/'..creww..idle, 1 / 30, 0, true);
|
local idolAnimation = gfx.LoadSkinAnimation('crew/anim/'..creww..idle, 1 / 30, 0, true);
|
||||||
local idolAnimTransitionScale = 0;
|
local idolAnimTransitionScale = 0;
|
||||||
|
|
||||||
|
|
||||||
local desw,desh = game.GetResolution()
|
|
||||||
|
|
||||||
local rightPanelX = 283;
|
|
||||||
local rightPanelY = 1187;
|
|
||||||
|
|
||||||
local leftPanelX = 575;
|
local leftPanelX = 575;
|
||||||
local leftPanelY = 1472;
|
local leftPanelY = 1472;
|
||||||
|
|
||||||
local bottomPanelX = 1;
|
|
||||||
local bottomPanelY = 1250;
|
|
||||||
|
|
||||||
local jacketPanelX = 333;
|
|
||||||
local jacketPanelY = 1284;
|
|
||||||
|
|
||||||
local ownPanelX = 0;
|
|
||||||
local ownPanelY = 1310;
|
|
||||||
|
|
||||||
local roomNamePanelX = 429;
|
|
||||||
local roomNamePanelY = 1142;
|
|
||||||
|
|
||||||
local bpmPanelX = 0;
|
|
||||||
local bpmPanelY = 1692;
|
|
||||||
|
|
||||||
local infPanelX = 475
|
|
||||||
local infPanelY = 1590
|
|
||||||
|
|
||||||
local mposx = 0;
|
local mposx = 0;
|
||||||
local mposy = 0;
|
local mposy = 0;
|
||||||
local hovered = nil;
|
local hovered = nil;
|
||||||
local buttonWidth = desw*(3/4);
|
local buttonWidth = Dim.design.width*(3/4);
|
||||||
local buttonHeight = 75;
|
local buttonHeight = 75;
|
||||||
local buttonBorder = 2;
|
local buttonBorder = 2;
|
||||||
local portrait
|
local portrait
|
||||||
|
@ -77,9 +47,7 @@ local jacket_size;
|
||||||
local BAR_ALPHA = 191;
|
local BAR_ALPHA = 191;
|
||||||
local HEADER_HEIGHT = 100
|
local HEADER_HEIGHT = 100
|
||||||
|
|
||||||
local desw, desh = game.GetResolution()
|
local desh = game.GetResolution()
|
||||||
local desw = 1080
|
|
||||||
local desh = 1920
|
|
||||||
local scale;
|
local scale;
|
||||||
|
|
||||||
game.LoadSkinSample("click-02")
|
game.LoadSkinSample("click-02")
|
||||||
|
@ -89,9 +57,8 @@ game.LoadSkinSample("menu_click")
|
||||||
local loading = true;
|
local loading = true;
|
||||||
local rooms = {};
|
local rooms = {};
|
||||||
local lobby_users = {};
|
local lobby_users = {};
|
||||||
local selected_room = nil;
|
selected_room = nil;
|
||||||
local user_id = nil;
|
local user_id = nil;
|
||||||
local jacket = 0;
|
|
||||||
local all_ready;
|
local all_ready;
|
||||||
local user_ready;
|
local user_ready;
|
||||||
local go;
|
local go;
|
||||||
|
@ -101,11 +68,10 @@ local start_game_soon = false;
|
||||||
local host = nil;
|
local host = nil;
|
||||||
local owner = nil;
|
local owner = nil;
|
||||||
local missing_song = false;
|
local missing_song = false;
|
||||||
local placeholderJacket = gfx.CreateSkinImage("song_select/loading.png", 0)
|
|
||||||
local did_exit = false;
|
local did_exit = false;
|
||||||
|
|
||||||
local irHeartbeatRequested = false;
|
local irHeartbeatRequested = false;
|
||||||
local irText = ''
|
irText = ''
|
||||||
|
|
||||||
local grades = {
|
local grades = {
|
||||||
{["max"] = 6900000, ["image"] = gfx.CreateSkinImage("common/grades/D.png", 0)},
|
{["max"] = 6900000, ["image"] = gfx.CreateSkinImage("common/grades/D.png", 0)},
|
||||||
|
@ -158,232 +124,11 @@ local drawIdol = function(deltaTime)
|
||||||
idolAnimTransitionScale = 1;
|
idolAnimTransitionScale = 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
gfx.ImageRect(0, 0, desw,desh, idolAnimation, 1, 0);
|
gfx.ImageRect(0, 0, Dim.design.width,desh, idolAnimation, 1, 0);
|
||||||
gfx.GlobalAlpha(1);
|
gfx.GlobalAlpha(1);
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
songjacket = function() -- self explanatory -- done
|
|
||||||
|
|
||||||
local jw , jh = gfx.ImageSize(m_jacket);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(jacketPanelX, jacketPanelY, jw/1.18, jh/1.18, m_jacket,1,0);
|
|
||||||
|
|
||||||
|
|
||||||
gfx.BeginPath()
|
|
||||||
gfx.ImageRect(jacketPanelX+12, jacketPanelY+19,jw/1.269,jh/1.35,jacket,1,0)
|
|
||||||
|
|
||||||
if mouse_clipped(jacketPanelX+12, jacketPanelY+19,jw/1.269,jh/1.35) and host == user_id then
|
|
||||||
hovered = function()
|
|
||||||
missing_song = false
|
|
||||||
mpScreen.SelectSong()
|
|
||||||
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
|
|
||||||
|
|
||||||
m_own_info = function() -- bottom left -- done
|
|
||||||
|
|
||||||
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.FontSize(22)
|
|
||||||
gfx.Text(msg,ownPanelX+20, ownPanelY+37)
|
|
||||||
gfx.Text(irText, ownPanelX+20, ownPanelY+288);
|
|
||||||
|
|
||||||
|
|
||||||
if showthing == true then
|
|
||||||
local jw , jh = gfx.ImageSize(ready_bt);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(ownPanelX+150, ownPanelY+232, jw/1.18, jh/1.18, ready_bt,1,0);
|
|
||||||
elseif showthing == false then
|
|
||||||
local jw , jh = gfx.ImageSize(ready_bt);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(x+ownPanelX, y+ownPanelY, jw/1.18, jh/1.18, ready_bt,0,0);
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
m_base_part = function() -- just the images which slide up -- done
|
|
||||||
local jw , jh = gfx.ImageSize(m_base_panel);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(bottomPanelX, bottomPanelY, jw/1.17, jh/1.18, m_base_panel,1,0);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(bottomPanelX, bottomPanelY, jw/1.17, jh/1.18, m_anim,1,0);
|
|
||||||
|
|
||||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
|
||||||
gfx.FillColor(255,255,255)
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT, gfx.TEXT_ALIGN_LEFT)
|
|
||||||
gfx.FontSize(24)
|
|
||||||
end
|
|
||||||
|
|
||||||
m_part = function() -- room name part -- done
|
|
||||||
local jw , jh = gfx.ImageSize(m_panel);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(roomNamePanelX, roomNamePanelY, jw/1.175, jh/1.18, m_panel,1,0);
|
|
||||||
|
|
||||||
gfx.FontSize(32);
|
|
||||||
gfx.LoadSkinFont('Digital-Serial-Bold.ttf')
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT, gfx.TEXT_ALIGN_MIDDLE)
|
|
||||||
gfx.Text(selected_room.name,roomNamePanelX+146, roomNamePanelY+37)
|
|
||||||
end
|
|
||||||
|
|
||||||
m_s_part = function () -- song info panel -- done
|
|
||||||
local jw , jh = gfx.ImageSize(m_s_panel);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(rightPanelX, rightPanelY, jw/1.175, jh/1.18, m_s_panel,1,0);
|
|
||||||
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_LEFT);
|
|
||||||
gfx.FillColor(255,255,255)
|
|
||||||
|
|
||||||
gfx.FontSize(32)
|
|
||||||
if selected_song == nil then
|
|
||||||
if host == user_id then
|
|
||||||
gfx.Text("NO SONG", rightPanelX+245, rightPanelY+50)
|
|
||||||
gfx.Text("NO ARIST", rightPanelX+245, rightPanelY+88)
|
|
||||||
gfx.FontSize(24)
|
|
||||||
gfx.Text("NO EFFECTOR", rightPanelX+463, rightPanelY+191)
|
|
||||||
gfx.Text("NO ILLUSTRATOR", rightPanelX+463, rightPanelY+219)
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(22)
|
|
||||||
gfx.Text("BPM ?",rightPanelX+497, rightPanelY+118)
|
|
||||||
else
|
|
||||||
if missing_song then
|
|
||||||
gfx.Text("MISSING SONG!!!!", rightPanelX+245, rightPanelY+50)
|
|
||||||
gfx.Text("MISSING ARIST!!!!", rightPanelX+245, rightPanelY+88)
|
|
||||||
gfx.FontSize(24)
|
|
||||||
gfx.Text("MISSING EFFECTOR!!!!", rightPanelX+463, rightPanelY+191)
|
|
||||||
gfx.Text("MISSING ILLUSTRATOR!!!!", rightPanelX+463, rightPanelY+219)
|
|
||||||
end
|
|
||||||
--[[
|
|
||||||
else
|
|
||||||
gfx.Text("HOST IS SELECTING SONG", rightPanelX+245, rightPanelY+50)
|
|
||||||
gfx.Text(" ", rightPanelX+245, rightPanelY+88)
|
|
||||||
gfx.FontSize(24)
|
|
||||||
gfx.Text(" ", rightPanelX+463, rightPanelY+191)
|
|
||||||
gfx.Text(" ", rightPanelX+463, rightPanelY+219)
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(22)
|
|
||||||
gfx.Text("BPM ?",rightPanelX+497, rightPanelY+118)]]
|
|
||||||
end
|
|
||||||
else
|
|
||||||
if selected_song.min_bpm ~= selected_song.max_bpm then
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(22);
|
|
||||||
gfx.Text("BPM",rightPanelX+497, rightPanelY+118)
|
|
||||||
gfx.FontSize(26);
|
|
||||||
gfx.Text(string.format("%.0f - %.0f",
|
|
||||||
selected_song.min_bpm, selected_song.max_bpm),
|
|
||||||
rightPanelX+497 + 77, rightPanelY+118)
|
|
||||||
else
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(22);
|
|
||||||
gfx.Text("BPM",rightPanelX+497, rightPanelY+118)
|
|
||||||
gfx.Text(string.format("%.0f",
|
|
||||||
selected_song.min_bpm),
|
|
||||||
rightPanelX+497 + 77, rightPanelY+118)
|
|
||||||
end
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_LEFT);
|
|
||||||
gfx.FontSize(32);
|
|
||||||
gfx.Text(selected_song.title, rightPanelX+245, rightPanelY+50)
|
|
||||||
gfx.Text(selected_song.artist, rightPanelX+245, rightPanelY+88)
|
|
||||||
gfx.FontSize(24)
|
|
||||||
gfx.Text(selected_song.effector, rightPanelX+463, rightPanelY+191)
|
|
||||||
gfx.Text(selected_song.illustrator, rightPanelX+463, rightPanelY+219)
|
|
||||||
draw_diffs(selected_song.all_difficulties, 395, 205, 300, 100, selected_song.diff_index+1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
m_bpm_part = function () -- bpm and lane speed
|
|
||||||
local jw , jh = gfx.ImageSize(m_bpm_panel);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(bpmPanelX, bpmPanelY, jw/1.18, jh/1.18, m_bpm_panel,1,0);
|
|
||||||
|
|
||||||
gfx.FontSize(32)
|
|
||||||
if selected_song == nil then
|
|
||||||
if host == user_id then
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(32)
|
|
||||||
gfx.Text("BPM ?",bpmPanelX+76, bpmPanelY + 96)
|
|
||||||
gfx.Text("LANE-SPEED ?",bpmPanelX+76, bpmPanelY + 140)
|
|
||||||
else
|
|
||||||
if missing_song then
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(32)
|
|
||||||
gfx.Text("BPM ?",bpmPanelX+76, bpmPanelY + 96)
|
|
||||||
gfx.Text("LANE-SPEED ?",bpmPanelX+76, bpmPanelY + 140)
|
|
||||||
else
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
gfx.FontSize(32)
|
|
||||||
gfx.Text("BPM ?",bpmPanelX+76, bpmPanelY + 96)
|
|
||||||
gfx.Text("LANE-SPEED ?",bpmPanelX+76, bpmPanelY + 140)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if selected_song ~= nil then
|
|
||||||
gfx.FillColor(255,255,255)
|
|
||||||
gfx.FontSize(32);
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_LEFT + gfx.TEXT_ALIGN_TOP)
|
|
||||||
|
|
||||||
if selected_song.min_bpm ~= selected_song.max_bpm then
|
|
||||||
|
|
||||||
gfx.Text("BPM",bpmPanelX+76, bpmPanelY + 96)
|
|
||||||
gfx.Text(string.format("%.0f - %.0f",
|
|
||||||
selected_song.min_bpm, selected_song.max_bpm),
|
|
||||||
bpmPanelX+ 76 + 75, bpmPanelY + 96)
|
|
||||||
|
|
||||||
gfx.Text("LANE-SPEED",bpmPanelX+76, bpmPanelY + 140)
|
|
||||||
gfx.Text(string.format("%.2f = %.0f",
|
|
||||||
selected_song.hispeed, selected_song.speed_bpm * selected_song.hispeed),
|
|
||||||
bpmPanelX +76 + 175, bpmPanelY + 140)
|
|
||||||
else
|
|
||||||
|
|
||||||
gfx.FontSize(32);
|
|
||||||
gfx.Text("BPM",bpmPanelX+76, bpmPanelY + 96)
|
|
||||||
gfx.Text(string.format("%.0f",
|
|
||||||
selected_song.min_bpm),
|
|
||||||
bpmPanelX+ 76 + 75, bpmPanelY + 96)
|
|
||||||
|
|
||||||
gfx.Text("LANE-SPEED",bpmPanelX+76, bpmPanelY + 140)
|
|
||||||
gfx.Text(string.format("%.2f = %.0f",
|
|
||||||
selected_song.hispeed, selected_song.speed_bpm * selected_song.hispeed),
|
|
||||||
bpmPanelX + 76 + 175, bpmPanelY + 140)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
m_info_part = function () -- the info panel
|
|
||||||
local jw , jh = gfx.ImageSize(m_info_panel);
|
|
||||||
gfx.BeginPath();
|
|
||||||
gfx.ImageRect(infPanelX, infPanelY, jw/1.18, jh/1.18, m_info_panel,1,0);
|
|
||||||
gfx.FontSize(24)
|
|
||||||
|
|
||||||
draw_checkbox("EXCESSIVE",infPanelX+160, infPanelY+50, toggle_hard, hard_mode, not start_game_soon)
|
|
||||||
draw_checkbox("MIRROR",infPanelX+187, infPanelY+87.5, toggle_mirror, mirror_mode, not start_game_soon)
|
|
||||||
draw_checkbox("ROTATE",infPanelX+390, infPanelY+87.5, toggle_rotate, do_rotate,
|
|
||||||
(owner == user_id or host == user_id) and not start_game_soon)
|
|
||||||
|
|
||||||
gfx.FillColor(255,255,255,100)
|
|
||||||
gfx.Text("LEAVE",infPanelX+417.5, infPanelY+49)
|
|
||||||
gfx.Text("START",infPanelX*1.61, infPanelY+35)
|
|
||||||
gfx.FillColor(255,255,255)
|
|
||||||
gfx.FontSize(24)
|
|
||||||
gfx.Text("FX-L/FX-R TO SETTINGS",infPanelX+290.5,infPanelY+269)
|
|
||||||
-- gfx.Text("START TO EXCEED SEX",infPanelX+290.5,infPanelY+269)
|
|
||||||
end
|
|
||||||
|
|
||||||
user_setup = function () -- (semi new) user layering
|
user_setup = function () -- (semi new) user layering
|
||||||
local distance = 350
|
local distance = 350
|
||||||
for i, user in ipairs(lobby_users) do
|
for i, user in ipairs(lobby_users) do
|
||||||
|
@ -417,13 +162,13 @@ user_setup = function () -- (semi new) user layering
|
||||||
end
|
end
|
||||||
|
|
||||||
function drawHeader()
|
function drawHeader()
|
||||||
gfx.BeginPath();
|
gfx.BeginPath()
|
||||||
gfx.FillColor(0, 0, 0, BAR_ALPHA);
|
gfx.FillColor(0, 0, 0, BAR_ALPHA)
|
||||||
gfx.Rect(0, 0, desw, HEADER_HEIGHT);
|
gfx.Rect(0, 0, Dim.design.width, HEADER_HEIGHT)
|
||||||
gfx.Fill();
|
gfx.Fill()
|
||||||
gfx.ClosePath()
|
gfx.ClosePath()
|
||||||
|
|
||||||
gfx.ImageRect(desw/2 - 200, HEADER_HEIGHT/2 - 20, 400, 40, headerMatchingImage, 1, 0)
|
gfx.ImageRect(Dim.design.width / 2 - 200, HEADER_HEIGHT / 2 - 20, 400, 40, headerMatchingImage, 1, 0)
|
||||||
end
|
end
|
||||||
|
|
||||||
mouse_clipped = function(x,y,w,h)
|
mouse_clipped = function(x,y,w,h)
|
||||||
|
@ -432,7 +177,7 @@ end;
|
||||||
|
|
||||||
-- look into this when people are online
|
-- look into this when people are online
|
||||||
draw_room = function(name, x, y, selected, hoverindex)
|
draw_room = function(name, x, y, selected, hoverindex)
|
||||||
local buttonWidth = desw/2;
|
local buttonWidth = Dim.design.width/2;
|
||||||
local rx = x - (buttonWidth / 2);
|
local rx = x - (buttonWidth / 2);
|
||||||
local ty = y - (buttonHeight / 2);
|
local ty = y - (buttonHeight / 2);
|
||||||
local roomButtonBorder = buttonBorder;
|
local roomButtonBorder = buttonBorder;
|
||||||
|
@ -560,17 +305,17 @@ function render_loading()
|
||||||
gfx.Save()
|
gfx.Save()
|
||||||
gfx.ResetTransform()
|
gfx.ResetTransform()
|
||||||
gfx.BeginPath()
|
gfx.BeginPath()
|
||||||
gfx.MoveTo(desw, desh)
|
gfx.MoveTo(Dim.design.width, desh)
|
||||||
gfx.LineTo(desw - 350, desh)
|
gfx.LineTo(Dim.design.width - 350, desh)
|
||||||
gfx.LineTo(desw - 300, desh - 50)
|
gfx.LineTo(Dim.design.width - 300, desh - 50)
|
||||||
gfx.LineTo(desw, desh - 50)
|
gfx.LineTo(Dim.design.width, desh - 50)
|
||||||
gfx.ClosePath()
|
gfx.ClosePath()
|
||||||
gfx.FillColor(33,33,33)
|
gfx.FillColor(33,33,33)
|
||||||
gfx.Fill()
|
gfx.Fill()
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT, gfx.TEXT_ALIGN_BOTTOM)
|
gfx.TextAlign(gfx.TEXT_ALIGN_RIGHT, gfx.TEXT_ALIGN_BOTTOM)
|
||||||
gfx.FontSize(70)
|
gfx.FontSize(70)
|
||||||
gfx.Text("LOADING...", desw - 20, desh - 3)
|
gfx.Text("LOADING...", Dim.design.width - 20, desh - 3)
|
||||||
gfx.Restore()
|
gfx.Restore()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -609,7 +354,6 @@ draw_diffs = function(diffs, x, y, w, h, selectedDiff)
|
||||||
draw_diff_icon(diff, xpos + possx, y + possy, diffWidth, diffHeight, false)
|
draw_diff_icon(diff, xpos + possx, y + possy, diffWidth, diffHeight, false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--after selected
|
--after selected
|
||||||
for i = math.min(selectedDiff + 2, diffCount), selectedDiff + 1,-1 do
|
for i = math.min(selectedDiff + 2, diffCount), selectedDiff + 1,-1 do
|
||||||
local diff = diffs[i]
|
local diff = diffs[i]
|
||||||
|
@ -618,6 +362,7 @@ draw_diffs = function(diffs, x, y, w, h, selectedDiff)
|
||||||
draw_diff_icon(diff, xpos + possx, y + possy, diffWidth, diffHeight, false)
|
draw_diff_icon(diff, xpos + possx, y + possy, diffWidth, diffHeight, false)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local diff = diffs[selectedDiff]
|
local diff = diffs[selectedDiff]
|
||||||
local xpos = x + ((w/2 - diffWidth/2) + (doffset)*(-0.8*diffWidth))
|
local xpos = x + ((w/2 - diffWidth/2) + (doffset)*(-0.8*diffWidth))
|
||||||
draw_diff_icon(diff, xpos + possx, y + possy, diffWidth, diffHeight, true)
|
draw_diff_icon(diff, xpos + possx, y + possy, diffWidth, diffHeight, true)
|
||||||
|
@ -672,7 +417,7 @@ function draw_rooms(y, h)
|
||||||
if room.password then
|
if room.password then
|
||||||
status = status..' <P>'
|
status = status..' <P>'
|
||||||
end
|
end
|
||||||
draw_room(room.name .. ': '.. status, desw/2, ypos, i == selected_room_index, function()
|
draw_room(room.name .. ': '.. status, Dim.design.width/2, ypos, i == selected_room_index, function()
|
||||||
join_room(room)
|
join_room(room)
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
@ -722,12 +467,11 @@ end
|
||||||
function render_lobby(deltaTime)
|
function render_lobby(deltaTime)
|
||||||
local jw , jh = gfx.ImageSize(bg);
|
local jw , jh = gfx.ImageSize(bg);
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
gfx.ImageRect(0, 0, desw, desh, bg,1,0);
|
gfx.ImageRect(0, 0, Dim.design.width, desh, bg,1,0);
|
||||||
drawIdol(deltaTime)
|
drawIdol(deltaTime)
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
gfx.ImageRect(0, 0, desw, desh, bg_graid1,1,0);
|
gfx.ImageRect(0, 0, Dim.design.width, desh, bg_graid1,1,0);
|
||||||
gfx.ImageRect(0, 0, desw, desh, bg_graid2,1,0);
|
gfx.ImageRect(0, 0, Dim.design.width, desh, bg_graid2,1,0);
|
||||||
drawHeader()
|
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
m_base_part()
|
m_base_part()
|
||||||
|
|
||||||
|
@ -750,25 +494,11 @@ function render_room_list(deltaTime)
|
||||||
|
|
||||||
-- Draw cover for rooms out of view
|
-- Draw cover for rooms out of view
|
||||||
gfx.BeginPath()
|
gfx.BeginPath()
|
||||||
gfx.FillColor(20, 20, 20)
|
|
||||||
gfx.Rect(0, 0, desw, 145)
|
|
||||||
gfx.Rect(0, desh-170, desw, 170)
|
|
||||||
gfx.Fill()
|
|
||||||
|
|
||||||
gfx.BeginPath()
|
|
||||||
gfx.FillColor(60, 60, 60)
|
|
||||||
gfx.Rect(0, 145, desw, 2)
|
|
||||||
gfx.Rect(0, desh-170-2, desw, 2)
|
|
||||||
gfx.Fill()
|
|
||||||
|
|
||||||
gfx.FillColor(255,255,255)
|
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
||||||
gfx.FontSize(70)
|
gfx.FontSize(70)
|
||||||
gfx.Text("- - - - - - - - - - - Multiplayer Rooms - - - - - - - - - - -", desw/2, 100)
|
|
||||||
|
|
||||||
|
|
||||||
if not loading then
|
if not loading then
|
||||||
draw_button("Create new room", desw/2, desh-40-buttonHeight, desw*(3/4), new_room);
|
draw_button("Create new room", Dim.design.width/2, desh-40-buttonHeight, Dim.design.width*(3/4), new_room);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -780,73 +510,73 @@ function render_password_screen(deltaTime)
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
||||||
gfx.FontSize(70)
|
gfx.FontSize(70)
|
||||||
gfx.Text("Joining "..selected_room.name.."...", desw/2, desh/4)
|
gfx.Text("Joining "..selected_room.name.."...", Dim.design.width/2, desh/4)
|
||||||
|
|
||||||
gfx.FillColor(50,50,50)
|
gfx.FillColor(50,50,50)
|
||||||
gfx.BeginPath()
|
gfx.BeginPath()
|
||||||
gfx.Rect(0, desh/2-10, desw, 40)
|
gfx.Rect(0, desh/2-10, Dim.design.width, 40)
|
||||||
gfx.Fill();
|
gfx.Fill();
|
||||||
|
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.Text("Please enter room password:", desw/2, desh/2-40)
|
gfx.Text("Please enter room password:", Dim.design.width/2, desh/2-40)
|
||||||
gfx.Text(string.rep("*",#textInput.text), desw/2, desh/2+40)
|
gfx.Text(string.rep("*",#textInput.text), Dim.design.width/2, desh/2+40)
|
||||||
if passwordError then
|
if passwordError then
|
||||||
|
|
||||||
gfx.FillColor(255,50,50)
|
gfx.FillColor(255,50,50)
|
||||||
gfx.FontSize(60 + math.floor(passwordErrorOffset*20))
|
gfx.FontSize(60 + math.floor(passwordErrorOffset*20))
|
||||||
gfx.Text("Invalid password", desw/2, desh/2+80)
|
gfx.Text("Invalid password", Dim.design.width/2, desh/2+80)
|
||||||
end
|
end
|
||||||
draw_button("Join", desw/2, desh*3/4, desw/2, mpScreen.JoinWithPassword);
|
draw_button("Join", Dim.design.width/2, desh*3/4, Dim.design.width/2, mpScreen.JoinWithPassword);
|
||||||
end
|
end
|
||||||
|
|
||||||
function render_new_room_password(delta_time)
|
function render_new_room_password(delta_time)
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
||||||
gfx.FontSize(70)
|
gfx.FontSize(70)
|
||||||
gfx.Text("Create New Room", desw/2, desh/4)
|
gfx.Text("Create New Room", Dim.design.width/2, desh/4)
|
||||||
|
|
||||||
gfx.FillColor(50,50,50)
|
gfx.FillColor(50,50,50)
|
||||||
gfx.BeginPath()
|
gfx.BeginPath()
|
||||||
gfx.Rect(0, desh/2-10, desw, 40)
|
gfx.Rect(0, desh/2-10, Dim.design.width, 40)
|
||||||
gfx.Fill();
|
gfx.Fill();
|
||||||
|
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.Text("Enter room password:", desw/2, desh/2-40)
|
gfx.Text("Enter room password:", Dim.design.width/2, desh/2-40)
|
||||||
gfx.Text(string.rep("*",#textInput.text), desw/2, desh/2+40)
|
gfx.Text(string.rep("*",#textInput.text), Dim.design.width/2, desh/2+40)
|
||||||
draw_button("Create Room", desw/2, desh*3/4, desw/2, mpScreen.NewRoomStep);
|
draw_button("Create Room", Dim.design.width/2, desh*3/4, Dim.design.width/2, mpScreen.NewRoomStep);
|
||||||
end
|
end
|
||||||
--here
|
|
||||||
function render_new_room_name(deltaTime)
|
function render_new_room_name(deltaTime)
|
||||||
gfx.BeginPath();
|
gfx.BeginPath();
|
||||||
gfx.LoadSkinFont("segoeui.ttf")
|
gfx.LoadSkinFont("segoeui.ttf")
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
||||||
gfx.FontSize(70)
|
gfx.FontSize(70)
|
||||||
gfx.Text("Create New Room", desw/2, desh/4)
|
gfx.Text("Create New Room", Dim.design.width/2, desh/4)
|
||||||
|
|
||||||
gfx.Rect(0, desh/2-10, desw, 60)
|
gfx.Rect(0, desh/2-10, Dim.design.width, 60)
|
||||||
|
|
||||||
|
|
||||||
gfx.Text("Please enter room name:", desw/2, desh/2-40)
|
gfx.Text("Please enter room name:", Dim.design.width/2, desh/2-40)
|
||||||
gfx.Text(textInput.text, desw/2, desh/2+40)
|
gfx.Text(textInput.text, Dim.design.width/2, desh/2+40)
|
||||||
draw_button("Next", desw/2, desh*3/4, desw/2, mpScreen.NewRoomStep);
|
draw_button("Next", Dim.design.width/2, desh*3/4, Dim.design.width/2, mpScreen.NewRoomStep);
|
||||||
end
|
end
|
||||||
|
|
||||||
function render_set_username(deltaTime)
|
function render_set_username(deltaTime)
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
gfx.TextAlign(gfx.TEXT_ALIGN_CENTER, gfx.TEXT_ALIGN_BOTTOM)
|
||||||
gfx.FontSize(70)
|
gfx.FontSize(70)
|
||||||
gfx.Text("First things first...", desw/2, desh/4)
|
gfx.Text("First things first...", Dim.design.width/2, desh/4)
|
||||||
|
|
||||||
gfx.FillColor(50,50,50)
|
gfx.FillColor(50,50,50)
|
||||||
gfx.BeginPath()
|
gfx.BeginPath()
|
||||||
gfx.Rect(0, desh/2-10, desw, 60)
|
gfx.Rect(0, desh/2-10, Dim.design.width, 60)
|
||||||
gfx.Fill();
|
gfx.Fill();
|
||||||
|
|
||||||
gfx.FillColor(255,255,255)
|
gfx.FillColor(255,255,255)
|
||||||
gfx.Text("Enter a display name:", desw/2, desh/2-40)
|
gfx.Text("Enter a display name:", Dim.design.width/2, desh/2-40)
|
||||||
gfx.Text(textInput.text, desw/2, desh/2+40)
|
gfx.Text(textInput.text, Dim.design.width/2, desh/2+40)
|
||||||
draw_button("Join Multiplayer", desw/2, desh*3/4, desw/2, function()
|
draw_button("Join Multiplayer", Dim.design.width/2, desh*3/4, Dim.design.width/2, function()
|
||||||
loading = true;
|
loading = true;
|
||||||
mpScreen.SaveUsername()
|
mpScreen.SaveUsername()
|
||||||
end);
|
end);
|
||||||
|
@ -860,7 +590,6 @@ render = function(deltaTime)
|
||||||
|
|
||||||
Dim.transformToScreenSpace()
|
Dim.transformToScreenSpace()
|
||||||
|
|
||||||
buttonWidth = desw*(3/4);
|
|
||||||
mposx,mposy = game.GetMousePos();
|
mposx,mposy = game.GetMousePos();
|
||||||
|
|
||||||
Sound.stopMusic();
|
Sound.stopMusic();
|
||||||
|
@ -876,7 +605,6 @@ render = function(deltaTime)
|
||||||
gfx.LoadSkinFont(normal_font);
|
gfx.LoadSkinFont(normal_font);
|
||||||
|
|
||||||
do_sounds(deltaTime);
|
do_sounds(deltaTime);
|
||||||
|
|
||||||
-- Room Listing View
|
-- Room Listing View
|
||||||
if screenState == "inRoom" then
|
if screenState == "inRoom" then
|
||||||
render_lobby(deltaTime);
|
render_lobby(deltaTime);
|
||||||
|
@ -898,7 +626,7 @@ render = function(deltaTime)
|
||||||
end
|
end
|
||||||
render_loading();
|
render_loading();
|
||||||
render_info();
|
render_info();
|
||||||
|
drawHeader()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Ready up to play
|
-- Ready up to play
|
||||||
|
|
Loading…
Reference in New Issue