diff --git a/scripts/multiplayerscreen.lua b/scripts/multiplayerscreen.lua index af2b294..da2dcc3 100644 --- a/scripts/multiplayerscreen.lua +++ b/scripts/multiplayerscreen.lua @@ -17,6 +17,8 @@ local m_host_panel = gfx.CreateSkinImage("multi/lobby/user_panel.png", 1); local m_bpm_panel = gfx.CreateSkinImage("multi/lobby/lane_speed_panel.png", 1); local m_info_panel = gfx.CreateSkinImage("multi/lobby/button_panel.png", 1); +local temppanels = gfx.CreateSkinImage("song_select/textboard.png", 1); + local headerMatchingImage = gfx.CreateSkinImage("titlescreen/entry.png", 1); local m_4pb_panels = gfx.CreateSkinImage("multi/lobby/user_panel_2.png", 1); @@ -37,7 +39,7 @@ local mposx = 0; local mposy = 0; local hovered = nil; local buttonWidth = resX*(3/4); -local buttonHeight = 75; +local buttonHeight = 20; local buttonBorder = 2; local portrait local jacket_size; @@ -72,6 +74,16 @@ local missing_song = false; local placeholderJacket = gfx.CreateSkinImage("song_select/loading.png", 0) local did_exit = false; +-- Aspect Ratios +local landscapeWidescreenRatio = 16 / 9 +local landscapeStandardRatio = 4 / 3 +local portraitWidescreenRatio = 9 / 16 + +-- Portrait sizes +local fullX, fullY +local desw = 1080 +local desh = 1920 + local irHeartbeatRequested = false; local irText = '' @@ -314,49 +326,73 @@ m_info_part = function () -- the info panel gfx.BeginPath(); gfx.ImageRect(475, 1590, jw/1.18, jh/1.18, m_info_panel,1,0); - local check = 770 - - draw_checkbox("Excessive", check - 200, 1625, toggle_hard, hard_mode, not start_game_soon) - draw_checkbox("Mirror Mode",check - 15, 1625, toggle_mirror, mirror_mode, not start_game_soon) - draw_checkbox("Rotate Host",check + 175, 1625, toggle_rotate, do_rotate, + draw_checkbox("Excessive", 635, 1639.25, toggle_hard, hard_mode, not start_game_soon) + draw_checkbox("Mirror",676.2, 1677.5, toggle_mirror, mirror_mode, not start_game_soon) + draw_checkbox("Rotate",854.1, 1677.5, toggle_rotate, do_rotate, (owner == user_id or host == user_id) and not start_game_soon) - for i, user in ipairs(lobby_users) do - - buttonY = 1775 - - local side_button_off = 0 - if owner == user_id and user.id ~= user_id then - draw_button("K",525+side_button_off, buttonY, 50, function() - kick_user(user); - end) - side_button_off = 60; - end - if (owner == user_id or host == user_id) and user.id ~= host then - draw_button("H",525+side_button_off, buttonY+85, 50, function() - change_host(user); - end) - end - - end - + gfx.FillColor(255,255,255,100) + gfx.Text("Leave",892.5, 1640) + gfx.FillColor(255,255,255) + gfx.FontSize(24) +-- gfx.Text("FX-L/FX-R TO READY UP",765.5,1859) + gfx.Text("FX-L/FX-R TO EXCEED SEX",765.5,1859) end user_setup = function () -- (semi new) user layering local distance = 350 for i, user in ipairs(lobby_users) do + buttonY = 1142-360/1.2 + + if owner == user_id and user.id ~= user_id then + draw_button("K",525+distance, buttonY, 100, function() + kick_user(user); + end) + end + + if i == 1 then draw_user(user, -distance, 1142-360/1.2, 420/1.2, 330/1.2, i,215,245.5) + + if (owner == user_id or host == user_id) and user.id ~= host then + draw_button("H",-distance, buttonY, 50, function() + change_host(user);end) + end + elseif i == 2 then draw_user(user, 16, 1142-360/1.2, 420/1.2, 330/1.2, i,215,245.5) + + if (owner == user_id or host == user_id) and user.id ~= host then + draw_button("H",16, buttonY+250, 50, function() + change_host(user);end) + end + elseif i == 3 then draw_user(user, 16+distance, 1142-360/1.2, 420/1.2, 330/1.2, i,215,245.5) + + if (owner == user_id or host == user_id) and user.id ~= host then + draw_button("H",16+distance, buttonY, 50, function() + change_host(user);end) + end + elseif i == 4 then draw_user(user, 16+distance+distance, 1142-360/1.2, 420/1.2, 330/1.2, i,215,245.5) + + if (owner == user_id or host == user_id) and user.id ~= host then + draw_button("H",16+distance+distance, buttonY, 50, function() + change_host(user);end) + end + elseif i > 4 then draw_user(user, 16+distance+distance+distance+distance, 1142-360/1.2, 420/1.2, 330/1.2, i,215,245.5) + + if (owner == user_id or host == user_id) and user.id ~= host then + draw_button("H",16+distance+distance+distance, buttonY, 25, function() + change_host(user);end) + end + end end end @@ -407,27 +443,22 @@ draw_room = function(name, x, y, selected, hoverindex) end; draw_button = function(name, x, y, buttonWidth, hoverindex) - draw_button_color(name, x, y, buttonWidth, hoverindex, 40,40,40, 0,128,255) + draw_button_color(name, x, y, buttonWidth, hoverindex, temppanels) end -draw_button_color = function(name, x, y, buttonWidth, hoverindex,r,g,b, olr,olg,olb) +draw_button_color = function(name, x, y, buttonWidth, hoverindex,img) local rx = x - (buttonWidth / 2); local ty = y - (buttonHeight / 2); gfx.BeginPath(); - gfx.FillColor(olr, olg, olb); + gfx.ImageRect(rx,ty,buttonWidth,buttonHeight,img,1,0) if mouse_clipped(rx,ty, buttonWidth, buttonHeight) then hovered = hoverindex; - gfx.FillColor(255,128,0); end gfx.Rect(rx - buttonBorder, ty - buttonBorder, buttonWidth + (buttonBorder * 2), buttonHeight + (buttonBorder * 2)); - gfx.Fill(); gfx.BeginPath(); - gfx.FillColor(r,g,b); - 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); @@ -439,13 +470,12 @@ draw_checkbox = function(text, x, y, hoverindex, current, can_click) gfx.BeginPath(); if can_click then - gfx.FillColor(255,255,255); + gfx.FillColor(255,255,255,100); else - gfx.FillColor(150,100,100); + gfx.FillColor(100,100,100,100); end gfx.TextAlign(gfx.TEXT_ALIGN_CENTER + gfx.TEXT_ALIGN_MIDDLE); - gfx.FontSize(35); - gfx.FillColor(201,0,0); + gfx.FontSize(30); gfx.Text(text, x, y) local xmin,ymin,xmax,ymax = gfx.TextBounds(x, y, text); @@ -460,13 +490,11 @@ draw_checkbox = function(text, x, y, hoverindex, current, can_click) if current then -- Draw checkmark gfx.BeginPath(); - gfx.FillColor(0, 236, 0); + gfx.FillColor(0, 236, 0,100); gfx.Text(text, x, y) - gfx.Fill(); end end; ---look into user changing -- IMPORTANT !!! draw_user = function(user, x, y , w, h, rank, breadx,bready) local name = user.name local showthing = false @@ -969,6 +997,13 @@ button_pressed = function(button) if button == game.BUTTON_BTC then toggle_rotate(); end + if button == game.BUTTON_BTD then + for i, user in ipairs(lobby_users) do + if lobby_users[i] == user then + kick_user(user); + end + end + end end -- Handle the escape key around the UI diff --git a/textures/multi/lobby/button_panel.png b/textures/multi/lobby/button_panel.png index 7a2ec93..c769659 100644 Binary files a/textures/multi/lobby/button_panel.png and b/textures/multi/lobby/button_panel.png differ diff --git a/textures/multi/lobby/song_panel.png b/textures/multi/lobby/song_panel.png index 3fbda10..aa7e782 100644 Binary files a/textures/multi/lobby/song_panel.png and b/textures/multi/lobby/song_panel.png differ