Merge branch '5_1-new' of https://github.com/concubidated/stepmania into 5_1-new
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 3.9 KiB |
@@ -0,0 +1,19 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_receptor";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
};
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_rflash";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'InitCommand');
|
||||||
|
PressCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'PressCommand');
|
||||||
|
LiftCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'LiftCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return t;
|
||||||
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1 @@
|
|||||||
|
_glow
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Down Tap Explosion Bright
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_down', 'tap lift' );
|
||||||
|
InitCommand=cmd(animate,false;pulse;effectclock,"beat";effectmagnitude,0.9,1,1;effectcolor1,color("1,1,1,1");effectcolor2,color("1,1,1,0.8"););
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
Def.Sprite {
|
||||||
|
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-33);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_arrow";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
};
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_circle";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=cmd(y,15;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0.1");effectcolor2,color("1,1,1,0.45");effectoffset,0;zoom,0.5);
|
||||||
|
};
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_circle";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=cmd(y,5;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0.1");effectcolor2,color("1,1,1,0.45");effectoffset,0.25;zoom,0.5);
|
||||||
|
};
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_circle";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=cmd(y,-5;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0.1");effectcolor2,color("1,1,1,0.45");effectoffset,0.5;zoom,0.5);
|
||||||
|
};
|
||||||
|
Def.Sprite {
|
||||||
|
Texture="_circle";
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=1;
|
||||||
|
InitCommand=cmd(y,-15;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0.1");effectcolor2,color("1,1,1,0.45");effectoffset,0.75;zoom,0.5);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
local ret = ... or {};
|
||||||
|
|
||||||
|
ret.RedirTable =
|
||||||
|
{
|
||||||
|
Up = "Down",
|
||||||
|
Down = "Down",
|
||||||
|
Left = "Down",
|
||||||
|
Right = "Down",
|
||||||
|
UpLeft = "Down",
|
||||||
|
UpRight = "Down",
|
||||||
|
};
|
||||||
|
|
||||||
|
local OldRedir = ret.Redir;
|
||||||
|
|
||||||
|
ret.Redir = function(sButton, sElement)
|
||||||
|
sButton, sElement = OldRedir(sButton, sElement);
|
||||||
|
|
||||||
|
--Point the head files back to the tap note
|
||||||
|
if string.find(sElement, "Head") or sElement == "Tap Fake" then
|
||||||
|
sElement = "Tap Note";
|
||||||
|
end
|
||||||
|
|
||||||
|
sButton = ret.RedirTable[sButton];
|
||||||
|
|
||||||
|
return sButton, sElement;
|
||||||
|
end
|
||||||
|
|
||||||
|
local OldFunc = ret.Load;
|
||||||
|
function ret.Load()
|
||||||
|
local t = OldFunc();
|
||||||
|
|
||||||
|
-- The main "Explosion" part just loads other actors; don't rotate
|
||||||
|
-- it. The "Hold Explosion" part should not be rotated.
|
||||||
|
if Var "Element" == "Explosion" or
|
||||||
|
Var "Element" == "Roll Explosion" then
|
||||||
|
t.BaseRotationZ = nil;
|
||||||
|
end
|
||||||
|
return t;
|
||||||
|
end
|
||||||
|
|
||||||
|
ret.PartsToRotate =
|
||||||
|
{
|
||||||
|
["Receptor"] = true,
|
||||||
|
["Tap Note"] = true,
|
||||||
|
["Tap Lift"] = true,
|
||||||
|
["Tap Fake"] = true,
|
||||||
|
["Ready Receptor"] = true,
|
||||||
|
["Tap Explosion Bright"] = true,
|
||||||
|
["Tap Explosion Dim"] = true,
|
||||||
|
["Hold Head Active"] = true,
|
||||||
|
["Hold Head Inactive"] = true,
|
||||||
|
["Roll Head Active"] = true,
|
||||||
|
["Roll Head Inactive"] = true
|
||||||
|
};
|
||||||
|
ret.Rotate =
|
||||||
|
{
|
||||||
|
Up = 180,
|
||||||
|
Down = 0,
|
||||||
|
Left = 90,
|
||||||
|
Right = -90,
|
||||||
|
UpLeft = 135,
|
||||||
|
UpRight = 225,
|
||||||
|
};
|
||||||
|
|
||||||
|
ret.Blank =
|
||||||
|
{
|
||||||
|
["Hold Explosion"] = true,
|
||||||
|
["Roll Explosion"] = true,
|
||||||
|
["Hold Topcap Active"] = true,
|
||||||
|
["Hold Topcap Inactive"] = true,
|
||||||
|
["Roll Topcap Active"] = true,
|
||||||
|
["Roll Topcap Inactive"] = true,
|
||||||
|
["Hold Tail Active"] = true,
|
||||||
|
["Hold Tail Inactive"] = true,
|
||||||
|
["Roll Tail Active"] = true,
|
||||||
|
["Roll Tail Inactive"] = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,77 @@
|
|||||||
|
[Global]
|
||||||
|
FallbackNoteSkin=common
|
||||||
|
|
||||||
|
[NoteDisplay]
|
||||||
|
TapNoteAnimationIsVivid=0
|
||||||
|
DrawHoldHeadForTapsOnSameRow=1
|
||||||
|
TapNoteAnimationLength=1 // none of these matter because Lua is handling the animation, not sprites.
|
||||||
|
TapAdditionAnimationLength=1
|
||||||
|
TapMineAnimationLength=1
|
||||||
|
TapLiftAnimationLength=1
|
||||||
|
TapFakeAnimationLength=1
|
||||||
|
HoldHeadAnimationLength=1
|
||||||
|
HoldTopCapAnimationLength=1
|
||||||
|
HoldBottomCapAnimationLength=1
|
||||||
|
HoldBodyAnimationLength=1
|
||||||
|
HoldTailAnimationLength=1
|
||||||
|
|
||||||
|
StartDrawingHoldBodyOffsetFromHead=0
|
||||||
|
StopDrawingHoldBodyOffsetFromTail=0
|
||||||
|
|
||||||
|
HoldLetGoGrayPercent=.25
|
||||||
|
|
||||||
|
HoldHeadIsAboveWavyParts=1
|
||||||
|
HoldTailIsAboveWavyParts=1
|
||||||
|
|
||||||
|
ReverseDrawOrder=1101
|
||||||
|
FlipHeadAndTailWhenReverse=1
|
||||||
|
FlipHoldBodyWhenReverse=1
|
||||||
|
|
||||||
|
TapNoteAdditionTextureCoordOffsetX=0
|
||||||
|
TapNoteAdditionTextureCoordOffsetY=0
|
||||||
|
TapNoteNoteColorTextureCoordSpacingX=0
|
||||||
|
TapNoteNoteColorTextureCoordSpacingY=.125
|
||||||
|
TapFakeNoteColorTextureCoordSpacingX=0
|
||||||
|
TapFakeNoteColorTextureCoordSpacingY=.125
|
||||||
|
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||||
|
HoldHeadNoteColorTextureCoordSpacingY=.125
|
||||||
|
|
||||||
|
[GhostArrowDim]
|
||||||
|
InitCommand=
|
||||||
|
NoneCommand=
|
||||||
|
HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,color("1,1,1,1");zoom,1;rotationz,0;decelerate,.3;rotationz,90;linear,.3;rotationz,180;diffusealpha,0
|
||||||
|
MissCommand=
|
||||||
|
W5Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W5");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W4Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W4");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W3Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W3");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W2Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W2");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W1Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W1");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
LetGoCommand=stoptweening;decelerate,.2;diffusealpha,0;
|
||||||
|
HeldCommand=finishtweening;diffuse,color("1,1,1,1");zoom,1;linear,.2;zoom,.9;linear,.1;diffusealpha,0
|
||||||
|
|
||||||
|
[GhostArrowBright]
|
||||||
|
InitCommand=
|
||||||
|
NoneCommand=
|
||||||
|
HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,color("1,1,1,1");zoom,1;rotationz,0;decelerate,.3;rotationz,90;linear,.3;rotationz,180;diffusealpha,0
|
||||||
|
MissCommand=
|
||||||
|
W5Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W5");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W4Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W4");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W3Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W3");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W2Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W2");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
W1Command=finishtweening;diffuse,JudgmentLineToColor("JudgmentLine_W1");diffusealpha,1;sleep,.1;decelerate,.2;diffusealpha,0;zoom,1.1;
|
||||||
|
LetGoCommand=stoptweening;decelerate,.2;diffusealpha,0;
|
||||||
|
HeldCommand=finishtweening;diffuse,color("1,1,1,1");zoom,1;linear,.2;zoom,.9;linear,.1;diffusealpha,0
|
||||||
|
|
||||||
|
[HoldGhostArrow]
|
||||||
|
HoldingOnCommand=diffusealpha,1;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1
|
||||||
|
HoldingOffCommand=diffusealpha,0
|
||||||
|
InitCommand=finishtweening;playcommand,"HoldingOff"
|
||||||
|
|
||||||
|
[ReceptorArrow]
|
||||||
|
InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color(".8,.8,.8,1");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05
|
||||||
|
NoneCommand=finishtweening;zoom,.85;diffusealpha,.9;linear,.11;diffusealpha,1;zoom,1
|
||||||
|
|
||||||
|
[ReceptorOverlay]
|
||||||
|
InitCommand=diffusealpha,0
|
||||||
|
PressCommand=finishtweening;zoom,1;blend,"BlendMode_Add";diffusealpha,.8;decelerate,0.2;diffusealpha,0.4
|
||||||
|
LiftCommand=stoptweening;decelerate,.2;diffusealpha,0;zoom,1.2
|
||||||
@@ -135,7 +135,7 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
|||||||
local spacing = 38*i
|
local spacing = 38*i
|
||||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||||
Font = "_overpass 36px",
|
Font = "_overpass 36px",
|
||||||
InitCommand=cmd(x,_screen.cx + step_count_offs;y,(_screen.cy/1.4)+(spacing);diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;diffusealpha,1.0;shadowlength,1),
|
InitCommand=cmd(x,_screen.cx + step_count_offs;y,(_screen.cy/1.4)+(spacing);diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;diffusealpha,1.0;shadowlength,1;maxwidth,120;),
|
||||||
OnCommand=function(self)
|
OnCommand=function(self)
|
||||||
self:settext(GetJLineValue(v, p))
|
self:settext(GetJLineValue(v, p))
|
||||||
if string.find(p, "P1") then
|
if string.find(p, "P1") then
|
||||||
@@ -164,7 +164,7 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
|||||||
OffCommand=cmd(decelerate,0.3;diffusealpha,0)
|
OffCommand=cmd(decelerate,0.3;diffusealpha,0)
|
||||||
},
|
},
|
||||||
Def.Quad {
|
Def.Quad {
|
||||||
InitCommand=cmd(y,120;zoomto,190,120;diffuse,color("#fce1a1");),
|
InitCommand=cmd(vertalign,top;y,60;zoomto,190,136;diffuse,color("#fce1a1");),
|
||||||
OnCommand=function(self)
|
OnCommand=function(self)
|
||||||
self:diffusealpha(0):decelerate(0.4):diffusealpha(0.4)
|
self:diffusealpha(0):decelerate(0.4):diffusealpha(0.4)
|
||||||
end,
|
end,
|
||||||
@@ -201,7 +201,7 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
|||||||
-- Primary score.
|
-- Primary score.
|
||||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||||
Font = "_overpass 36px",
|
Font = "_overpass 36px",
|
||||||
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65);diffuse,ColorMidTone(PlayerColor(p));zoom,1;shadowlength,1;maxwidth,180),
|
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-59);diffuse,ColorMidTone(PlayerColor(p));zoom,1;shadowlength,1;maxwidth,180),
|
||||||
OnCommand=function(self)
|
OnCommand=function(self)
|
||||||
self:settext(GetPlScore(p, "primary")):diffusealpha(0):sleep(0.5):decelerate(0.3):diffusealpha(1)
|
self:settext(GetPlScore(p, "primary")):diffusealpha(0):sleep(0.5):decelerate(0.3):diffusealpha(1)
|
||||||
end;
|
end;
|
||||||
@@ -212,7 +212,7 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
|||||||
-- Secondary score.
|
-- Secondary score.
|
||||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||||
Font = "_overpass 36px",
|
Font = "_overpass 36px",
|
||||||
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65)+30;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1),
|
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-59)+35;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1),
|
||||||
OnCommand=function(self)
|
OnCommand=function(self)
|
||||||
self:settext(GetPlScore(p, "secondary")):diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1)
|
self:settext(GetPlScore(p, "secondary")):diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1)
|
||||||
end;
|
end;
|
||||||
@@ -223,19 +223,32 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
|||||||
|
|
||||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||||
Font = "Common Condensed",
|
Font = "Common Condensed",
|
||||||
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65)+56;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1),
|
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-50)+56;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1;maxwidth,180),
|
||||||
OnCommand=function(self)
|
OnCommand=function(self)
|
||||||
local record = STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetPersonalHighScoreIndex()
|
local record = STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetPersonalHighScoreIndex()
|
||||||
local hasPersonalRecord = record ~= -1
|
local hasPersonalRecord = record ~= -1
|
||||||
self:visible(hasPersonalRecord);
|
self:visible(hasPersonalRecord);
|
||||||
local text = string.format(THEME:GetString("ScreenEvaluation", "PersonalRecord"), record+1)
|
local text = string.format(THEME:GetString("ScreenEvaluation", "PersonalRecord"), record+1)
|
||||||
self:settext(text)
|
self:settext(text)
|
||||||
self:diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1)
|
self:diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(0.9)
|
||||||
end;
|
end;
|
||||||
OffCommand=function(self)
|
OffCommand=function(self)
|
||||||
self:sleep(0.1):decelerate(0.3):diffusealpha(0)
|
self:sleep(0.1):decelerate(0.3):diffusealpha(0)
|
||||||
end;
|
end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Options
|
||||||
|
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||||
|
Font = "Common Condensed",
|
||||||
|
InitCommand=cmd(horizalign,center;vertalign,top;x,_screen.cx + (grade_parts_offs);y,(_screen.cy+37);wrapwidthpixels,240;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1),
|
||||||
|
OnCommand=function(self)
|
||||||
|
self:settext(GAMESTATE:GetPlayerState(p):GetPlayerOptionsString(0))
|
||||||
|
self:diffusealpha(0):sleep(0.8):decelerate(0.9):diffusealpha(1)
|
||||||
|
end;
|
||||||
|
OffCommand=function(self)
|
||||||
|
self:sleep(0.1):decelerate(0.3):diffusealpha(0)
|
||||||
|
end;
|
||||||
|
};
|
||||||
end
|
end
|
||||||
|
|
||||||
t[#t+1] = eval_parts
|
t[#t+1] = eval_parts
|
||||||
@@ -247,7 +260,7 @@ if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then
|
|||||||
-- Difficulty banner
|
-- Difficulty banner
|
||||||
local grade_parts_offs = -320
|
local grade_parts_offs = -320
|
||||||
t[#t+1] = Def.ActorFrame {
|
t[#t+1] = Def.ActorFrame {
|
||||||
InitCommand=cmd(horizalign,center;x,_screen.cx + grade_parts_offs;y,_screen.cy-98;visible,not GAMESTATE:IsCourseMode(););
|
InitCommand=cmd(horizalign,center;x,_screen.cx + grade_parts_offs;y,_screen.cy-94;visible,not GAMESTATE:IsCourseMode(););
|
||||||
OnCommand=cmd(zoomx,0.3;diffusealpha,0;sleep,0.5;decelerate,0.4;zoomx,1;diffusealpha,1;);
|
OnCommand=cmd(zoomx,0.3;diffusealpha,0;sleep,0.5;decelerate,0.4;zoomx,1;diffusealpha,1;);
|
||||||
OffCommand=cmd(decelerate,0.4;diffusealpha,0;);
|
OffCommand=cmd(decelerate,0.4;diffusealpha,0;);
|
||||||
LoadFont("Common Fallback") .. {
|
LoadFont("Common Fallback") .. {
|
||||||
@@ -285,7 +298,7 @@ if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then
|
|||||||
if GAMESTATE:IsCourseMode() == false then
|
if GAMESTATE:IsCourseMode() == false then
|
||||||
local grade_parts_offs = 320
|
local grade_parts_offs = 320
|
||||||
t[#t+1] = Def.ActorFrame {
|
t[#t+1] = Def.ActorFrame {
|
||||||
InitCommand=cmd(horizalign,center;x,_screen.cx + grade_parts_offs;y,_screen.cy-98;visible,not GAMESTATE:IsCourseMode(););
|
InitCommand=cmd(horizalign,center;x,_screen.cx + grade_parts_offs;y,_screen.cy-94;visible,not GAMESTATE:IsCourseMode(););
|
||||||
OnCommand=cmd(zoomx,0.3;diffusealpha,0;sleep,0.5;decelerate,0.4;zoomx,1;diffusealpha,1;);
|
OnCommand=cmd(zoomx,0.3;diffusealpha,0;sleep,0.5;decelerate,0.4;zoomx,1;diffusealpha,1;);
|
||||||
OffCommand=cmd(decelerate,0.4;diffusealpha,0;);
|
OffCommand=cmd(decelerate,0.4;diffusealpha,0;);
|
||||||
LoadFont("Common Fallback") .. {
|
LoadFont("Common Fallback") .. {
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
@@ -1,30 +0,0 @@
|
|||||||
[common]
|
|
||||||
Baseline=44
|
|
||||||
Top=13
|
|
||||||
LineSpacing=52
|
|
||||||
DrawExtraPixelsLeft=0
|
|
||||||
DrawExtraPixelsRight=0
|
|
||||||
AdvanceExtraPixels=0
|
|
||||||
|
|
||||||
[numbers]
|
|
||||||
Line 0=0123
|
|
||||||
Line 1=4567
|
|
||||||
Line 2=89%.
|
|
||||||
Line 3= :x,
|
|
||||||
|
|
||||||
0=21
|
|
||||||
1=21
|
|
||||||
2=21
|
|
||||||
3=21
|
|
||||||
4=21
|
|
||||||
5=21
|
|
||||||
6=21
|
|
||||||
7=21
|
|
||||||
8=21
|
|
||||||
9=21
|
|
||||||
10=21
|
|
||||||
11=21
|
|
||||||
12=21
|
|
||||||
13=21
|
|
||||||
14=21
|
|
||||||
15=21
|
|
||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,31 @@
|
|||||||
|
-- This actor is duplicated. Upvalues will not be duplicated.
|
||||||
|
local grades = {
|
||||||
|
Grade_Tier01 = 0,
|
||||||
|
Grade_Tier02 = 1,
|
||||||
|
Grade_Tier03 = 2,
|
||||||
|
Grade_Tier04 = 3,
|
||||||
|
Grade_Tier05 = 4,
|
||||||
|
Grade_Tier06 = 5,
|
||||||
|
Grade_Tier07 = 6,
|
||||||
|
Grade_Failed = 7,
|
||||||
|
Grade_None = nil
|
||||||
|
};
|
||||||
|
|
||||||
|
return LoadActor("grades")..{
|
||||||
|
InitCommand=cmd(pause);
|
||||||
|
SetGradeCommand=function(self, params)
|
||||||
|
if GAMESTATE:IsCourseMode() then
|
||||||
|
self:visible(false);
|
||||||
|
return;
|
||||||
|
end;
|
||||||
|
local state = grades[params.Grade] or grades.Grade_None;
|
||||||
|
if state == nil then
|
||||||
|
self:visible(false)
|
||||||
|
else
|
||||||
|
self:visible(true)
|
||||||
|
state = state*2
|
||||||
|
if params.PlayerNumber == PLAYER_2 then state = state+1 end
|
||||||
|
self:setstate(state)
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
After Width: | Height: | Size: 16 KiB |
@@ -36,6 +36,11 @@ return Def.ActorFrame {
|
|||||||
LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. {
|
LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. {
|
||||||
InitCommand=cmd(diffuse,ColorLightTone(PlayerColor(PLAYER_1));x,8;zoom,0.75);
|
InitCommand=cmd(diffuse,ColorLightTone(PlayerColor(PLAYER_1));x,8;zoom,0.75);
|
||||||
};
|
};
|
||||||
|
LoadFont("_roboto condensed Bold 48px") .. {
|
||||||
|
Text="P1";
|
||||||
|
InitCommand=cmd(horizalign,center;x,8;diffuse,ColorDarkTone(PlayerColor(PLAYER_1)););
|
||||||
|
OnCommand=cmd(zoom,0.5);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
CursorP2 = Def.ActorFrame {
|
CursorP2 = Def.ActorFrame {
|
||||||
InitCommand=cmd(x,170;player,PLAYER_2);
|
InitCommand=cmd(x,170;player,PLAYER_2);
|
||||||
@@ -54,6 +59,11 @@ return Def.ActorFrame {
|
|||||||
LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. {
|
LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. {
|
||||||
InitCommand=cmd(diffuse,ColorLightTone(PlayerColor(PLAYER_2));x,-8;zoom,0.75;zoomx,-0.75;);
|
InitCommand=cmd(diffuse,ColorLightTone(PlayerColor(PLAYER_2));x,-8;zoom,0.75;zoomx,-0.75;);
|
||||||
};
|
};
|
||||||
|
LoadFont("_roboto condensed Bold 48px") .. {
|
||||||
|
Text="P2";
|
||||||
|
InitCommand=cmd(horizalign,center;x,-8;diffuse,ColorDarkTone(PlayerColor(PLAYER_2)););
|
||||||
|
OnCommand=cmd(zoom,0.5);
|
||||||
|
};
|
||||||
};
|
};
|
||||||
CursorP1Frame = Def.Actor{
|
CursorP1Frame = Def.Actor{
|
||||||
ChangeCommand=cmd(stoptweening;decelerate,0.05);
|
ChangeCommand=cmd(stoptweening;decelerate,0.05);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
@@ -26,7 +26,7 @@ end;
|
|||||||
|
|
||||||
ScreenColors = {
|
ScreenColors = {
|
||||||
Style = color("#81468B"),
|
Style = color("#81468B"),
|
||||||
PlayMode = color("#478e6f"),
|
PlayMode = color("#b2350c"),
|
||||||
Music = color("#1268aa"),
|
Music = color("#1268aa"),
|
||||||
Online = color("#1CA6A0"),
|
Online = color("#1CA6A0"),
|
||||||
Course = color("#6D1646"),
|
Course = color("#6D1646"),
|
||||||
|
|||||||
@@ -817,7 +817,7 @@ ShowRandom=true
|
|||||||
|
|
||||||
[MusicWheelItem]
|
[MusicWheelItem]
|
||||||
Fallback=WheelItemBase
|
Fallback=WheelItemBase
|
||||||
IconX=-190
|
IconX=-186
|
||||||
IconY=0
|
IconY=0
|
||||||
IconOnCommand=
|
IconOnCommand=
|
||||||
#
|
#
|
||||||
@@ -838,10 +838,10 @@ RandomX=-200
|
|||||||
RandomY=0
|
RandomY=0
|
||||||
RandomOnCommand=zoom,1.25;uppercase,true;rainbowscroll,true;shadowlength,1;horizalign,left;
|
RandomOnCommand=zoom,1.25;uppercase,true;rainbowscroll,true;shadowlength,1;horizalign,left;
|
||||||
|
|
||||||
GradeP1X=140
|
GradeP1X=-196
|
||||||
GradeP1Y=0
|
GradeP1Y=-14
|
||||||
GradeP2X=216
|
GradeP2X=-196
|
||||||
GradeP2Y=0
|
GradeP2Y=14
|
||||||
|
|
||||||
CourseX=-210
|
CourseX=-210
|
||||||
CourseOnCommand=zoom,1.0;horizalign,left;shadowlength,1;maxwidth,SCREEN_WIDTH*0.31;strokecolor,color("#42292E")
|
CourseOnCommand=zoom,1.0;horizalign,left;shadowlength,1;maxwidth,SCREEN_WIDTH*0.31;strokecolor,color("#42292E")
|
||||||
@@ -865,13 +865,13 @@ AfterSetCommand=%function(self) \
|
|||||||
local Subtitle=self:GetChild("Subtitle"); \
|
local Subtitle=self:GetChild("Subtitle"); \
|
||||||
local Artist=self:GetChild("Artist"); \
|
local Artist=self:GetChild("Artist"); \
|
||||||
if Subtitle:GetText() == "" then \
|
if Subtitle:GetText() == "" then \
|
||||||
(cmd(zoom,1.1;maxwidth,SCREEN_WIDTH*0.31;y,-13;x,-200;strokecolor,color("#42292E");))(Title); \
|
(cmd(zoom,1.1;maxwidth,SCREEN_WIDTH*0.24;y,-13;x,-150;strokecolor,color("#42292E");))(Title); \
|
||||||
(cmd(visible,false))(Subtitle); \
|
(cmd(visible,false))(Subtitle); \
|
||||||
(cmd(zoom,0.75;maxwidth,SCREEN_WIDTH*0.45;y,13;x,-200;strokecolor,color("#42292E");))(Artist); \
|
(cmd(zoom,0.75;maxwidth,SCREEN_WIDTH*0.36;y,13;x,-150;strokecolor,color("#42292E");))(Artist); \
|
||||||
else \
|
else \
|
||||||
(cmd(zoom,0.9;maxwidth,SCREEN_WIDTH*0.31;y,-14;x,-200;strokecolor,color("#42292E");))(Title); \
|
(cmd(zoom,0.9;maxwidth,SCREEN_WIDTH*0.24;y,-14;x,-150;strokecolor,color("#42292E");))(Title); \
|
||||||
(cmd(visible,true;zoom,0.5;y,4;maxwidth,SCREEN_WIDTH*0.46;x,-200;strokecolor,color("#42292E");))(Subtitle); \
|
(cmd(visible,true;zoom,0.5;y,4;maxwidth,SCREEN_WIDTH*0.40;x,-150;strokecolor,color("#42292E");))(Subtitle); \
|
||||||
(cmd(zoom,0.6;maxwidth,SCREEN_WIDTH*0.45;y,18;x,-200;strokecolor,color("#42292E");))(Artist); \
|
(cmd(zoom,0.6;maxwidth,SCREEN_WIDTH*0.36;y,18;x,-150;strokecolor,color("#42292E");))(Artist); \
|
||||||
end \
|
end \
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@@ -1256,7 +1256,19 @@ public:
|
|||||||
static int HasMods( T* p, lua_State *L ) { lua_pushboolean(L, p->HasMods() ); return 1; }
|
static int HasMods( T* p, lua_State *L ) { lua_pushboolean(L, p->HasMods() ); return 1; }
|
||||||
static int HasTimedMods( T* p, lua_State *L ) { lua_pushboolean( L, p->HasTimedMods() ); return 1; }
|
static int HasTimedMods( T* p, lua_State *L ) { lua_pushboolean( L, p->HasTimedMods() ); return 1; }
|
||||||
DEFINE_METHOD( GetCourseType, GetCourseType() )
|
DEFINE_METHOD( GetCourseType, GetCourseType() )
|
||||||
static int GetCourseEntry( T* p, lua_State *L ) { CourseEntry &ce = p->m_vEntries[IArg(1)]; ce.PushSelf(L); return 1; }
|
static int GetCourseEntry(T* p, lua_State* L)
|
||||||
|
{
|
||||||
|
size_t id= static_cast<size_t>(IArg(1));
|
||||||
|
if(id >= p->m_vEntries.size())
|
||||||
|
{
|
||||||
|
lua_pushnil(L);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p->m_vEntries[id].PushSelf(L);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
static int GetCourseEntries( T* p, lua_State *L )
|
static int GetCourseEntries( T* p, lua_State *L )
|
||||||
{
|
{
|
||||||
vector<CourseEntry*> v;
|
vector<CourseEntry*> v;
|
||||||
@@ -1267,6 +1279,11 @@ public:
|
|||||||
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
|
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
static int GetNumCourseEntries(T* p, lua_State* L)
|
||||||
|
{
|
||||||
|
lua_pushnumber(L, p->m_vEntries.size());
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
static int GetAllTrails( T* p, lua_State *L )
|
static int GetAllTrails( T* p, lua_State *L )
|
||||||
{
|
{
|
||||||
vector<Trail*> v;
|
vector<Trail*> v;
|
||||||
@@ -1318,6 +1335,7 @@ public:
|
|||||||
ADD_METHOD( GetCourseType );
|
ADD_METHOD( GetCourseType );
|
||||||
ADD_METHOD( GetCourseEntry );
|
ADD_METHOD( GetCourseEntry );
|
||||||
ADD_METHOD( GetCourseEntries );
|
ADD_METHOD( GetCourseEntries );
|
||||||
|
ADD_METHOD(GetNumCourseEntries);
|
||||||
ADD_METHOD( GetAllTrails );
|
ADD_METHOD( GetAllTrails );
|
||||||
ADD_METHOD( GetBannerPath );
|
ADD_METHOD( GetBannerPath );
|
||||||
ADD_METHOD( GetBackgroundPath );
|
ADD_METHOD( GetBackgroundPath );
|
||||||
|
|||||||
@@ -305,6 +305,7 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int
|
|||||||
|
|
||||||
void MusicWheelItem::RefreshGrades()
|
void MusicWheelItem::RefreshGrades()
|
||||||
{
|
{
|
||||||
|
if(!IsLoaded()) { return; }
|
||||||
const MusicWheelItemData *pWID = dynamic_cast<const MusicWheelItemData*>( m_pData );
|
const MusicWheelItemData *pWID = dynamic_cast<const MusicWheelItemData*>( m_pData );
|
||||||
|
|
||||||
if( pWID == NULL )
|
if( pWID == NULL )
|
||||||
@@ -375,6 +376,7 @@ void MusicWheelItem::RefreshGrades()
|
|||||||
|
|
||||||
void MusicWheelItem::HandleMessage( const Message &msg )
|
void MusicWheelItem::HandleMessage( const Message &msg )
|
||||||
{
|
{
|
||||||
|
if(!IsLoaded()) { return; }
|
||||||
if( msg == Message_CurrentStepsP1Changed ||
|
if( msg == Message_CurrentStepsP1Changed ||
|
||||||
msg == Message_CurrentStepsP2Changed ||
|
msg == Message_CurrentStepsP2Changed ||
|
||||||
msg == Message_CurrentTrailP1Changed ||
|
msg == Message_CurrentTrailP1Changed ||
|
||||||
|
|||||||