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
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
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)
|
||||
self:settext(GetJLineValue(v, p))
|
||||
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)
|
||||
},
|
||||
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)
|
||||
self:diffusealpha(0):decelerate(0.4):diffusealpha(0.4)
|
||||
end,
|
||||
@@ -201,7 +201,7 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
||||
-- Primary score.
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
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)
|
||||
self:settext(GetPlScore(p, "primary")):diffusealpha(0):sleep(0.5):decelerate(0.3):diffusealpha(1)
|
||||
end;
|
||||
@@ -212,7 +212,7 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
||||
-- Secondary score.
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
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)
|
||||
self:settext(GetPlScore(p, "secondary")):diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1)
|
||||
end;
|
||||
@@ -223,19 +223,32 @@ for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
||||
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
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)
|
||||
local record = STATSMAN:GetCurStageStats():GetPlayerStageStats(p):GetPersonalHighScoreIndex()
|
||||
local hasPersonalRecord = record ~= -1
|
||||
self:visible(hasPersonalRecord);
|
||||
local text = string.format(THEME:GetString("ScreenEvaluation", "PersonalRecord"), record+1)
|
||||
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;
|
||||
OffCommand=function(self)
|
||||
self:sleep(0.1):decelerate(0.3):diffusealpha(0)
|
||||
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
|
||||
|
||||
t[#t+1] = eval_parts
|
||||
@@ -247,7 +260,7 @@ if GAMESTATE:IsHumanPlayer(PLAYER_1) == true then
|
||||
-- Difficulty banner
|
||||
local grade_parts_offs = -320
|
||||
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;);
|
||||
OffCommand=cmd(decelerate,0.4;diffusealpha,0;);
|
||||
LoadFont("Common Fallback") .. {
|
||||
@@ -285,7 +298,7 @@ if GAMESTATE:IsHumanPlayer(PLAYER_2) == true then
|
||||
if GAMESTATE:IsCourseMode() == false then
|
||||
local grade_parts_offs = 320
|
||||
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;);
|
||||
OffCommand=cmd(decelerate,0.4;diffusealpha,0;);
|
||||
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")) .. {
|
||||
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 {
|
||||
InitCommand=cmd(x,170;player,PLAYER_2);
|
||||
@@ -54,6 +59,11 @@ return Def.ActorFrame {
|
||||
LoadActor(THEME:GetPathG("_StepsDisplayListRow","Cursor")) .. {
|
||||
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{
|
||||
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 = {
|
||||
Style = color("#81468B"),
|
||||
PlayMode = color("#478e6f"),
|
||||
PlayMode = color("#b2350c"),
|
||||
Music = color("#1268aa"),
|
||||
Online = color("#1CA6A0"),
|
||||
Course = color("#6D1646"),
|
||||
|
||||
@@ -817,7 +817,7 @@ ShowRandom=true
|
||||
|
||||
[MusicWheelItem]
|
||||
Fallback=WheelItemBase
|
||||
IconX=-190
|
||||
IconX=-186
|
||||
IconY=0
|
||||
IconOnCommand=
|
||||
#
|
||||
@@ -838,10 +838,10 @@ RandomX=-200
|
||||
RandomY=0
|
||||
RandomOnCommand=zoom,1.25;uppercase,true;rainbowscroll,true;shadowlength,1;horizalign,left;
|
||||
|
||||
GradeP1X=140
|
||||
GradeP1Y=0
|
||||
GradeP2X=216
|
||||
GradeP2Y=0
|
||||
GradeP1X=-196
|
||||
GradeP1Y=-14
|
||||
GradeP2X=-196
|
||||
GradeP2Y=14
|
||||
|
||||
CourseX=-210
|
||||
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 Artist=self:GetChild("Artist"); \
|
||||
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(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 \
|
||||
(cmd(zoom,0.9;maxwidth,SCREEN_WIDTH*0.31;y,-14;x,-200;strokecolor,color("#42292E");))(Title); \
|
||||
(cmd(visible,true;zoom,0.5;y,4;maxwidth,SCREEN_WIDTH*0.46;x,-200;strokecolor,color("#42292E");))(Subtitle); \
|
||||
(cmd(zoom,0.6;maxwidth,SCREEN_WIDTH*0.45;y,18;x,-200;strokecolor,color("#42292E");))(Artist); \
|
||||
(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.40;x,-150;strokecolor,color("#42292E");))(Subtitle); \
|
||||
(cmd(zoom,0.6;maxwidth,SCREEN_WIDTH*0.36;y,18;x,-150;strokecolor,color("#42292E");))(Artist); \
|
||||
end \
|
||||
end;
|
||||
|
||||
|
||||
@@ -1256,7 +1256,19 @@ public:
|
||||
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; }
|
||||
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 )
|
||||
{
|
||||
vector<CourseEntry*> v;
|
||||
@@ -1267,6 +1279,11 @@ public:
|
||||
LuaHelpers::CreateTableFromArray<CourseEntry*>( v, L );
|
||||
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 )
|
||||
{
|
||||
vector<Trail*> v;
|
||||
@@ -1318,6 +1335,7 @@ public:
|
||||
ADD_METHOD( GetCourseType );
|
||||
ADD_METHOD( GetCourseEntry );
|
||||
ADD_METHOD( GetCourseEntries );
|
||||
ADD_METHOD(GetNumCourseEntries);
|
||||
ADD_METHOD( GetAllTrails );
|
||||
ADD_METHOD( GetBannerPath );
|
||||
ADD_METHOD( GetBackgroundPath );
|
||||
|
||||
@@ -305,6 +305,7 @@ void MusicWheelItem::LoadFromWheelItemData( const WheelItemBaseData *pData, int
|
||||
|
||||
void MusicWheelItem::RefreshGrades()
|
||||
{
|
||||
if(!IsLoaded()) { return; }
|
||||
const MusicWheelItemData *pWID = dynamic_cast<const MusicWheelItemData*>( m_pData );
|
||||
|
||||
if( pWID == NULL )
|
||||
@@ -375,6 +376,7 @@ void MusicWheelItem::RefreshGrades()
|
||||
|
||||
void MusicWheelItem::HandleMessage( const Message &msg )
|
||||
{
|
||||
if(!IsLoaded()) { return; }
|
||||
if( msg == Message_CurrentStepsP1Changed ||
|
||||
msg == Message_CurrentStepsP2Changed ||
|
||||
msg == Message_CurrentTrailP1Changed ||
|
||||
|
||||