rsr: MusicWheel upgrades part 2

(Sourced from shakesoda/stepmania.)
This commit is contained in:
Colby Klein
2013-10-05 06:36:35 -07:00
parent cc57fc26c8
commit ede552add8
6 changed files with 149 additions and 75 deletions
@@ -0,0 +1,30 @@
local width = 330
local height = 46
local offset = -16
return Def.ActorFrame {
Def.Quad {
InitCommand=function(self)
self:setsize(4,SCREEN_HEIGHT)
self:x(-width/2+offset-2)
self:diffuse({0, 0, 0, 0.7})
end
},
Def.Quad {
InitCommand=function(self)
self:x(offset)
self:setsize(width,height)
self:blend('BlendMode_Add')
--self:thump()
self:diffuse({1, 0.8, 0.7, 0.1})
self:effectclock('beat')
end,
CurrentSongChangedMessageCommand=function(self, params)
if not GAMESTATE:GetCurrentSong() then
self:stopeffect()
else
self:thump()
end
end
}
}
@@ -39,22 +39,4 @@ t[#t].InitCommand = function(self)
self:texcoordvelocity(-0, 0.5)
end
-- bottom border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset+10)
self:y(math.ceil(height/2)+1)
self:setsize(width+20, 2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
-- left border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(-width/2+offset)
self:y(1)
self:setsize(2, height+2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
return t
@@ -23,22 +23,4 @@ t[#t].InitCommand = function(self)
self:diffuse({0, 0, 0, 0.6})
end
-- bottom border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset+10)
self:y(math.ceil(height/2)+1)
self:setsize(width+20, 2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
-- left border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(-width/2+offset)
self:y(1)
self:setsize(2, height+2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
return t
@@ -23,22 +23,4 @@ t[#t].InitCommand = function(self)
self:diffusetopedge({0.1, 0.1, 0.1, 0.6})
end
-- bottom border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset+10)
self:y(math.ceil(height/2)+1)
self:setsize(width+20, 2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
-- left border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(-width/2+offset)
self:y(1)
self:setsize(2, height+2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
return t
@@ -128,23 +128,4 @@ t[#t].SetMessageCommand = function(self, params)
end
end
-- bottom border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(offset+10)
self:y(math.ceil(height/2)+1)
self:setsize(width+20, 2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
-- left border
t[#t+1] = Def.Quad {}
t[#t].InitCommand = function(self)
self:x(-width/2+offset)
self:y(1)
self:setsize(2, height+2)
self:diffuse({0.0, 0.0, 0.0, 0.8})
end
return t
+119 -2
View File
@@ -46,5 +46,122 @@ ScrollerColors="Exit:#ff0000"
MusicWheelX=SCREEN_RIGHT-128-18
MusicWheelOnCommand=draworder,-1
[MusicWheel]
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*0 ); self:y( offsetFromCenter*48 ); end
NumWheelItems=13
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
self:x( (1-math.cos(offsetFromCenter/math.pi))*0 ) \
self:y( offsetFromCenter*46 ) \
end
NumWheelItems=13
[MusicWheelItem]
WheelNotifyIconX=-128-16+0.5
WheelNotifyIconOnCommand=shadowlength,2;
SongNameX=-120
CourseX=-120
CourseOnCommand=maxwidth,208;horizalign,left
SectionExpandedX=-120
SectionExpandedY=0
SectionExpandedOnCommand=maxwidth,194;horizalign,left;shadowcolor,color("0.1,0.1,0.1,0.25")
SectionCollapsedX=-120
SectionCollapsedY=0
SectionCollapsedOnCommand=maxwidth,194;horizalign,left;shadowcolor,color("0.1,0.1,0.1,0.2")
SectionCountX=120
SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline")
RouletteOnCommand=maxwidth,400;shadowlength,1;basezoom,0.75;rainbowscroll,true;pulse;effectmagnitude,1,1.125,1;effectperiod,3
SortX=-132
SortY=-2
SortOnCommand=maxwidth,256;horizalign,left;shadowlength,1;shadowcolor,color("0,0,0,0.325")
ModeX=-132
ModeY=-2
ModeOnCommand=maxwidth,256;horizalign,left;strokecolor,Color("Outline")
GradeP1X=106+16
GradeP1Y=-8
GradeP2X=110+16
GradeP2Y=8
[TextBanner]
TitleOnCommand=horizalign,left;shadowlengthy,1;shadowcolor,color("0,0,0,0.5")
; lots of misc effects for songs
TitleSetMessageCommand=%function(self, params) \
local song = params.Song \
if not song then return end \
local title = song:GetDisplayFullTitle() \
local artist = song:GetDisplayArtist() \
if title == "Let It Flow" and artist == "BANTU" then \
self:jitter(true) \
else \
self:jitter(false) \
end \
if string.find(title, "Katamari") then \
self:rainbowscroll(true) \
else \
self:rainbowscroll(false) \
end \
if title == "KING of the SEA" then \
self:zoom(1.5) \
self:maxwidth(170) \
end \
if (string.find(string.lower(title), "hardstyle") or \
string.find(string.lower(title), "hardcore")) and \
params.HasFocus then \
self:diffuseramp() \
self:effectclock("bgm") \
self:effectcolor1(color("#ccaaaa")) \
else \
self:stopeffect() \
end \
if artist == "Angerfist" and params.HasFocus then \
self:diffuseramp() \
self:effectclock("bgm") \
self:effectcolor1(color("#ffaaaa")) \
else \
self:stopeffect() \
end \
end
SubtitleOnCommand=horizalign,left;shadowlengthy,1;shadowcolor,color("0,0,0,0.5")
SubtitleSetMessageCommand=%function(self, params) \
local song = params.Song \
if not song then return end \
--[[ I've got a few simfiles here with an annoying prefix here. ]] \
local subtitle = song:GetDisplaySubTitle() \
if string.sub(subtitle, 1, 2) == "- " then \
self:settext(string.sub(subtitle, 3)) \
end \
end
ArtistOnCommand=horizalign,left;shadowlengthy,1;shadowcolor,color("0,0,0,0.5")
ArtistSetMessageCommand=diffuse,color("#aaaaaa")
ArtistPrependString="/"
AfterSetCommand=%function(self,param) \
local mainMaxWidth = 228 \
local subMaxWidth = 420 \
local artistMaxWidth = 300/0.8 \
local Title = self:GetChild("Title") \
local Subtitle = self:GetChild("Subtitle") \
local Artist = self:GetChild("Artist") \
\
if Subtitle:GetText() == "" then \
Title:maxwidth(mainMaxWidth) \
Title:y(-8) \
Title:zoom(1) \
\
--[[ hide so that the game skips drawing. ]] \
Subtitle:visible(false) \
\
Artist:zoom(0.66) \
Artist:maxwidth(artistMaxWidth) \
Artist:y(8) \
else \
Title:maxwidth(mainMaxWidth*1.25) \
Title:y(-11) \
Title:zoom(0.75) \
\
--[[ subtitle below title ]] \
Subtitle:visible(true) \
Subtitle:zoom(0.55) \
Subtitle:y(0) \
Subtitle:maxwidth(subMaxWidth) \
\
Artist:zoom(0.6) \
Artist:maxwidth(artistMaxWidth) \
Artist:y(10) \
end \
end