Merge branch '5_1-new' of https://github.com/concubidated/stepmania into 5_1-new

This commit is contained in:
concubidated
2017-12-30 18:28:01 -08:00
43 changed files with 319 additions and 50 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

+19
View File
@@ -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;
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

@@ -0,0 +1 @@
_glow
@@ -0,0 +1 @@
Down Tap Explosion Bright
+7
View File
@@ -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;
+9
View File
@@ -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;
+32
View File
@@ -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;
+79
View File
@@ -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;
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

+77
View File
@@ -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") .. {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

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
Binary file not shown.

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;
};
Binary file not shown.

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);
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

+1 -1
View File
@@ -26,7 +26,7 @@ end;
ScreenColors = {
Style = color("#81468B"),
PlayMode = color("#478e6f"),
PlayMode = color("#b2350c"),
Music = color("#1268aa"),
Online = color("#1CA6A0"),
Course = color("#6D1646"),
+10 -10
View File
@@ -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;
+19 -1
View File
@@ -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 );
+2
View File
@@ -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 ||