icon sizing, modifiers to eval, lambda ns

tweak icon sizes on music wheel, new Lambda noteskin, add player options
back to evaluation, tweak evaluation to have more padding for scores
This commit is contained in:
ListenerJubatus
2017-12-30 11:35:22 -06:00
parent edcda5cae6
commit b6f8c5867a
34 changed files with 256 additions and 38 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: 13 KiB

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: 20 KiB

After

Width:  |  Height:  |  Size: 16 KiB