-
Notifications
You must be signed in to change notification settings - Fork 135
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* initial dummying up setup * so far so good * add sorts and rearrange some stuff * commit prior to reworking a bunch of dlman * now we gettin somewhre * nearing finalization * fairly polished * commit before messing with filters * basically done * mockup of packs with search and filters now * doot * functional draft complete needs nick to pointerize c++ code so its not like, super bad * stop being sloppy and pointerize, finish removing downloads * turn off show lyrics by default * grab pack id for url stuffs
- Loading branch information
1 parent
e569144
commit 9344bbf
Showing
9 changed files
with
930 additions
and
912 deletions.
There are no files selected for viewing
220 changes: 220 additions & 0 deletions
220
Themes/Til Death/BGAnimations/ScreenBundleSelect underlay.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,220 @@ | ||
local minidoots = {"Novice", "Novice-Expanded", "Beginner", "Beginner-Expanded", "Intermediate", "Intermediate-Expanded", "Advanced", "Advanced-Expanded", "Expert", "Expert-Expanded"} | ||
local diffcolors = {"#66ccff","#099948","#ddaa00","#ff6666","#c97bff"} | ||
local pressingtab | ||
local moving | ||
|
||
local function input(event) | ||
if event.DeviceInput.button == "DeviceButton_tab" then | ||
if event.type == "InputEventType_FirstPress" then | ||
pressingtab = true | ||
elseif event.type == "InputEventType_Release" then | ||
pressingtab = false | ||
end | ||
elseif event.DeviceInput.button == "DeviceButton_mousewheel up" and event.type == "InputEventType_FirstPress" then | ||
moving = true | ||
if pressingtab == true then | ||
MESSAGEMAN:Broadcast("WheelUpFast") | ||
else | ||
MESSAGEMAN:Broadcast("WheelUpSlow") | ||
end | ||
elseif event.DeviceInput.button == "DeviceButton_mousewheel down" and event.type == "InputEventType_FirstPress" then | ||
moving = true | ||
if pressingtab == true then | ||
MESSAGEMAN:Broadcast("WheelDownFast") | ||
else | ||
MESSAGEMAN:Broadcast("WheelDownSlow") | ||
end | ||
elseif event.DeviceInput.button == 'DeviceButton_left mouse button' then | ||
if event.type == "InputEventType_Release" then | ||
MESSAGEMAN:Broadcast("MouseLeftClick") | ||
end | ||
elseif event.DeviceInput.button == 'DeviceButton_right mouse button' then | ||
if event.type == "InputEventType_Release" then | ||
MESSAGEMAN:Broadcast("MouseLeftClick") | ||
end | ||
elseif moving == true then | ||
moving = false | ||
end | ||
return false | ||
end | ||
|
||
local function highlight(self) | ||
self:queuecommand("Highlight") | ||
end | ||
|
||
local function highlightIfOver(self) | ||
if isOver(self) then | ||
self:diffusealpha(0.6) | ||
else | ||
self:diffusealpha(1) | ||
end | ||
end | ||
|
||
local width = SCREEN_WIDTH/3 | ||
local tzoom = 0.5 | ||
local packh = 36 | ||
local packgap = 4 | ||
local packspacing = packh + packgap | ||
local offx = 10 | ||
local offy = 40 | ||
local packlist | ||
local ind = 0 | ||
|
||
local o = Def.ActorFrame{ | ||
InitCommand=function(self) | ||
self:xy(offx + width/2, 0):halign(0.5):valign(0) | ||
self:GetChild("PacklistDisplay"):xy(SCREEN_WIDTH/2.5 - offx - (offx + width/2), offy * 2 + 14) --- uuuu messy... basically cancel out the x coord of the parent | ||
packlist = DLMAN:GetPacklist() | ||
self:SetUpdateFunction(highlight) | ||
end, | ||
OnCommand=function(self) SCREENMAN:GetTopScreen():AddInputCallback(input) end, | ||
|
||
WheelUpSlowMessageCommand=function(self) | ||
self:queuecommand("PrevPage") | ||
end, | ||
WheelDownSlowMessageCommand=function(self) | ||
self:queuecommand("NextPage") | ||
end, | ||
|
||
Def.Quad{ | ||
InitCommand=function(self) | ||
self:y(0):zoomto(width,500):diffuse(getMainColor('frames')):diffusealpha(1) | ||
end, | ||
}, | ||
LoadFont("Common normal") .. { | ||
InitCommand=function(self) | ||
self:xy(width/2 + offx,24):zoom(tzoom):halign(0) | ||
end, | ||
OnCommand=function(self) | ||
self:settext("Core bundles are diverse selections of packs that span a skill range.\nExpanded sets contain more files and are larger downloads.\nPacks you already have will be skipped") | ||
end | ||
}, | ||
LoadFont("Common Large") .. { --selected bundle | ||
InitCommand=function(self) | ||
self:xy(width/2 + offx,offy * 2 - 20):zoom(0.4):halign(0) | ||
end, | ||
PackTableRefreshCommand=function(self) | ||
self:settextf("Selected Bundle: %s", minidoots[ind]:gsub("-Expanded", " (expanded)")):diffuse(color(diffcolors[math.ceil(ind/2)])) | ||
end | ||
}, | ||
LoadFont("Common normal") .. { --avg diff | ||
InitCommand=function(self) | ||
self:xy(width/2 + offx,offy * 2):zoom(tzoom+0.1):halign(0):maxwidth(width/2/tzoom) | ||
end, | ||
PackTableRefreshCommand=function(self) | ||
self:settextf("Average Difficulty: %0.2f", packlist:GetAvgDiff()):diffuse(byMSD(packlist:GetAvgDiff())) | ||
end | ||
}, | ||
LoadFont("Common normal") .. { --total size | ||
InitCommand=function(self) | ||
self:xy(width*2 + width/2 - 150,offy * 2):zoom(tzoom+0.1):halign(1):maxwidth(width/2/tzoom) | ||
end, | ||
PackTableRefreshCommand=function(self) | ||
self:settextf("Total Size: %i(MB)", packlist:GetTotalSize()):diffuse(byFileSize(packlist:GetTotalSize())) | ||
end | ||
}, | ||
LoadFont("Common normal") .. { --download all | ||
InitCommand=function(self) | ||
self:xy(width*2 + width/2 - 40,offy * 2):zoom(tzoom+0.1):halign(1):maxwidth(width/2/tzoom) | ||
end, | ||
PackTableRefreshCommand=function(self) | ||
self:settext("Download All") | ||
end, | ||
MouseLeftClickMessageCommand=function(self) | ||
if isOver(self) then | ||
DLMAN:DownloadCoreBundle(minidoots[ind]:lower()) | ||
end | ||
end, | ||
HighlightCommand=function(self) | ||
highlightIfOver(self) | ||
end, | ||
}, | ||
|
||
--return to normal search | ||
Def.Quad{ | ||
InitCommand=function(self) | ||
self:y(offy):zoomto(width,packh-2):valign(0):diffuse(color("#ffffff")):diffusealpha(0.4) | ||
end, | ||
MouseLeftClickMessageCommand=function(self) | ||
if isOver(self) then | ||
SCREENMAN:SetNewScreen("ScreenPackDownloader") | ||
end | ||
end, | ||
HighlightCommand=function(self) | ||
if isOver(self) then | ||
self:diffusealpha(0.8) | ||
else | ||
self:diffusealpha(0.4) | ||
end | ||
end, | ||
}, | ||
LoadFont("Common normal") .. { | ||
InitCommand=function(self) | ||
self:y(offy+16):zoom(tzoom+0.1):halign(0.5):maxwidth(width/2/tzoom):settext("Return to search") | ||
end, | ||
} | ||
} | ||
|
||
local function UpdateHighlight(self) | ||
self:GetChild("Doot"):playcommand("Doot") | ||
end | ||
|
||
local function makedoots(i) | ||
local packinfo | ||
local t = Def.ActorFrame{ | ||
InitCommand=function(self) | ||
self:y(packspacing*i + offy + 10) | ||
self:SetUpdateFunction(UpdateHighlight) | ||
end, | ||
|
||
Def.Quad{ | ||
Name="Doot", | ||
InitCommand=function(self) | ||
self:y(-12):zoomto(width,packh):valign(0):diffuse(color(diffcolors[math.ceil(i/2)])) | ||
end, | ||
DootCommand=function(self) | ||
if isOver(self) and ind ~= i then | ||
self:diffusealpha(0.75) | ||
elseif ind == i then | ||
self:diffusealpha(1) | ||
else | ||
self:diffusealpha(0.5) | ||
end | ||
end, | ||
MouseLeftClickMessageCommand=function(self) | ||
if isOver(self) then | ||
packlist:SetFromCoreBundle(minidoots[i]:lower()) | ||
self:GetParent():GetParent():queuecommand("PackTableRefresh") -- perhaps it would be best if the packlist broadcast instead - mina | ||
ind = i | ||
end | ||
end | ||
}, | ||
LoadFont("Common normal") .. { | ||
InitCommand=function(self) | ||
self:zoom(tzoom) | ||
end, | ||
OnCommand=function(self) | ||
self:settext(minidoots[i]:gsub("-Expanded", " (expanded)")) | ||
end | ||
}, | ||
LoadFont("Common normal") .. { | ||
InitCommand=function(self) | ||
self:y(14):zoom(tzoom) | ||
end, | ||
OnCommand=function(self) | ||
local bundle = DLMAN:GetCoreBundle(minidoots[i]:lower()) | ||
self:settextf("(%dmb)", bundle["TotalSize"]) | ||
end, | ||
} | ||
} | ||
return t | ||
end | ||
|
||
for i=1,#minidoots do | ||
o[#o+1] = makedoots(i) | ||
end | ||
|
||
o[#o+1] = LoadActor("packlistDisplay") | ||
|
||
|
||
return o |
Oops, something went wrong.