adding these so hg will quiet down
This commit is contained in:
@@ -0,0 +1,250 @@
|
|||||||
|
local c;
|
||||||
|
local player = Var "Player";
|
||||||
|
local bShowProtiming = GetUserPrefB("UserPrefProtiming" .. ToEnumShortString(player) );
|
||||||
|
|
||||||
|
local function MakeAverage( t )
|
||||||
|
local sum = 0;
|
||||||
|
for i=1,#t do
|
||||||
|
sum = sum + t[i];
|
||||||
|
end
|
||||||
|
return sum / #t
|
||||||
|
end
|
||||||
|
|
||||||
|
-- New
|
||||||
|
local function PosCount( t )
|
||||||
|
local Count = 0;
|
||||||
|
for i=1,#t do
|
||||||
|
if t[i] > 0 then Count = Count + 1 end
|
||||||
|
end
|
||||||
|
return Count
|
||||||
|
end
|
||||||
|
|
||||||
|
local function NegCount( t )
|
||||||
|
local Count = 0;
|
||||||
|
for i=1,#t do
|
||||||
|
if t[i] < 0 then Count = Count + 1 end
|
||||||
|
end
|
||||||
|
return Count
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local function StdDev( t )
|
||||||
|
local avg = MakeAverage( t );
|
||||||
|
local sum = 0;
|
||||||
|
for i=1,#t do
|
||||||
|
sum = sum + math.pow(t[i] - avg, 2);
|
||||||
|
end
|
||||||
|
return math.sqrt(sum / (#t - 1))
|
||||||
|
end
|
||||||
|
|
||||||
|
--
|
||||||
|
local tTotalJudgments = {};
|
||||||
|
-- Global?
|
||||||
|
--[[ tPlayerData = {};
|
||||||
|
for pn in ivalues(GAMESTATE:GetHumanPlayers())
|
||||||
|
tPlayerData[pn].SignedJudgments = {};
|
||||||
|
tPlayerData[pn].AverageDifference = 0;
|
||||||
|
tPlayerData[pn].AbsoluteDifference = 0;
|
||||||
|
tPlayerData[pn].StandardDeviation = 0;
|
||||||
|
tPlayerData[pn].StandardDeviation = 0;
|
||||||
|
tPlayerData[pn].Early = 0;
|
||||||
|
tPlayerData[pn].Late = 0;
|
||||||
|
end ]]
|
||||||
|
--
|
||||||
|
local JudgeCmds = {
|
||||||
|
TapNoteScore_W1 = THEME:GetMetric( "Judgment", "JudgmentW1Command" );
|
||||||
|
TapNoteScore_W2 = THEME:GetMetric( "Judgment", "JudgmentW2Command" );
|
||||||
|
TapNoteScore_W3 = THEME:GetMetric( "Judgment", "JudgmentW3Command" );
|
||||||
|
TapNoteScore_W4 = THEME:GetMetric( "Judgment", "JudgmentW4Command" );
|
||||||
|
TapNoteScore_W5 = THEME:GetMetric( "Judgment", "JudgmentW5Command" );
|
||||||
|
TapNoteScore_Miss = THEME:GetMetric( "Judgment", "JudgmentMissCommand" );
|
||||||
|
};
|
||||||
|
|
||||||
|
local ProtimingCmds = {
|
||||||
|
TapNoteScore_W1 = THEME:GetMetric( "Protiming", "ProtimingW1Command" );
|
||||||
|
TapNoteScore_W2 = THEME:GetMetric( "Protiming", "ProtimingW2Command" );
|
||||||
|
TapNoteScore_W3 = THEME:GetMetric( "Protiming", "ProtimingW3Command" );
|
||||||
|
TapNoteScore_W4 = THEME:GetMetric( "Protiming", "ProtimingW4Command" );
|
||||||
|
TapNoteScore_W5 = THEME:GetMetric( "Protiming", "ProtimingW5Command" );
|
||||||
|
TapNoteScore_Miss = THEME:GetMetric( "Protiming", "ProtimingMissCommand" );
|
||||||
|
};
|
||||||
|
|
||||||
|
local AverageCmds = {
|
||||||
|
Pulse = THEME:GetMetric( "Protiming", "AveragePulseCommand" );
|
||||||
|
};
|
||||||
|
|
||||||
|
local TNSFrames = {
|
||||||
|
TapNoteScore_W1 = 0;
|
||||||
|
TapNoteScore_W2 = 1;
|
||||||
|
TapNoteScore_W3 = 2;
|
||||||
|
TapNoteScore_W4 = 3;
|
||||||
|
TapNoteScore_W5 = 4;
|
||||||
|
TapNoteScore_Miss = 5;
|
||||||
|
};
|
||||||
|
local t = Def.ActorFrame {};
|
||||||
|
t[#t+1] = Def.ActorFrame {
|
||||||
|
LoadActor(THEME:GetPathG("Judgment","Normal")) .. {
|
||||||
|
Name="Judgment";
|
||||||
|
InitCommand=cmd(pause;visible,false);
|
||||||
|
OnCommand=THEME:GetMetric("Judgment","JudgmentOnCommand");
|
||||||
|
ResetCommand=cmd(finishtweening;stopeffect;visible,false);
|
||||||
|
};
|
||||||
|
LoadFont("Combo Numbers") .. {
|
||||||
|
Name="ProtimingDisplay";
|
||||||
|
Text="";
|
||||||
|
InitCommand=cmd(visible,false);
|
||||||
|
OnCommand=THEME:GetMetric("Protiming","ProtimingOnCommand");
|
||||||
|
ResetCommand=cmd(finishtweening;stopeffect;visible,false);
|
||||||
|
};
|
||||||
|
LoadFont("Common Normal") .. {
|
||||||
|
Name="ProtimingAverage";
|
||||||
|
Text="";
|
||||||
|
InitCommand=cmd(visible,false);
|
||||||
|
OnCommand=THEME:GetMetric("Protiming","AverageOnCommand");
|
||||||
|
ResetCommand=cmd(finishtweening;stopeffect;visible,false);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphBG";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,192,16);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,0.8;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,Color("Black");diffusetopedge,color("0.1,0.1,0.1,1");diffusealpha,0.8;shadowlength,2;);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphWindowW3";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,192-4,16-4);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W3"];);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphWindowW2";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,scale(PREFSMAN:GetPreference("TimingWindowSecondsW2"),0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),0,192-4),16-4);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W2"];);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphWindowW1";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,scale(PREFSMAN:GetPreference("TimingWindowSecondsW1"),0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),0,192-4),16-4);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,GameColor.Judgment["JudgmentLine_W1"];);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphUnderlay";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,192-4,16-4);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,0.25;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,Color("Black");diffusealpha,0.25);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphFill";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,0,16-4;horizalign,left;);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,Color("Red"););
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphAverage";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,2,7;);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,0.85;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,Color("Orange");diffusealpha,0.85);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
Name="ProtimingGraphCenter";
|
||||||
|
InitCommand=cmd(visible,false;y,32;zoomto,2,16-4;);
|
||||||
|
ResetCommand=cmd(finishtweening;diffusealpha,1;visible,false);
|
||||||
|
OnCommand=cmd(diffuse,Color("White");diffusealpha,1);
|
||||||
|
};
|
||||||
|
InitCommand = function(self)
|
||||||
|
c = self:GetChildren();
|
||||||
|
end;
|
||||||
|
|
||||||
|
JudgmentMessageCommand=function(self, param)
|
||||||
|
if param.Player ~= player then return end;
|
||||||
|
if param.HoldNoteScore then return end;
|
||||||
|
|
||||||
|
local iNumStates = c.Judgment:GetNumStates();
|
||||||
|
local iFrame = TNSFrames[param.TapNoteScore];
|
||||||
|
|
||||||
|
if not iFrame then return end
|
||||||
|
if iNumStates == 12 then
|
||||||
|
iFrame = iFrame * 2;
|
||||||
|
if not param.Early then
|
||||||
|
iFrame = iFrame + 1;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
local fTapNoteOffset = param.TapNoteOffset;
|
||||||
|
if param.HoldNoteScore then
|
||||||
|
fTapNoteOffset = 1;
|
||||||
|
else
|
||||||
|
fTapNoteOffset = param.TapNoteOffset;
|
||||||
|
end
|
||||||
|
|
||||||
|
if param.TapNoteScore == 'TapNoteScore_Miss' then
|
||||||
|
fTapNoteOffset = 1;
|
||||||
|
bUseNegative = true;
|
||||||
|
else
|
||||||
|
-- fTapNoteOffset = fTapNoteOffset;
|
||||||
|
bUseNegative = false;
|
||||||
|
end;
|
||||||
|
|
||||||
|
if fTapNoteOffset ~= 1 then
|
||||||
|
-- we're safe, you can push the values
|
||||||
|
tTotalJudgments[#tTotalJudgments+1] = bUseNegative and fTapNoteOffset or math.abs( fTapNoteOffset );
|
||||||
|
-- New
|
||||||
|
-- tPlayerData[player].SignedJudgments[#(tPlayerData[player].SignedJudgments)+1] = fTapNoteOffset;
|
||||||
|
-- table.getn(tPlayerData[player].SignedJudgments = bUseNegative and fTapNoteOffset or fTapNoteOffset;
|
||||||
|
end
|
||||||
|
|
||||||
|
self:playcommand("Reset");
|
||||||
|
|
||||||
|
c.Judgment:visible( not bShowProtiming );
|
||||||
|
c.Judgment:setstate( iFrame );
|
||||||
|
JudgeCmds[param.TapNoteScore](c.Judgment);
|
||||||
|
|
||||||
|
c.ProtimingDisplay:visible( bShowProtiming );
|
||||||
|
c.ProtimingDisplay:settextf("%i",math.abs(fTapNoteOffset * 1000));
|
||||||
|
ProtimingCmds[param.TapNoteScore](c.ProtimingDisplay);
|
||||||
|
|
||||||
|
c.ProtimingAverage:visible( bShowProtiming );
|
||||||
|
c.ProtimingAverage:settextf("%.2f%%",clamp(100 - MakeAverage( tTotalJudgments ) * 1000 ,0,100));
|
||||||
|
AverageCmds['Pulse'](c.ProtimingAverage);
|
||||||
|
|
||||||
|
c.ProtimingGraphBG:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphUnderlay:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphWindowW3:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphWindowW2:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphWindowW1:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphFill:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphFill:finishtweening();
|
||||||
|
c.ProtimingGraphFill:decelerate(1/60);
|
||||||
|
-- c.ProtimingGraphFill:zoomtowidth( clamp(fTapNoteOffset * 188,-188/2,188/2) );
|
||||||
|
c.ProtimingGraphFill:zoomtowidth( clamp(
|
||||||
|
scale(
|
||||||
|
fTapNoteOffset,
|
||||||
|
0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),
|
||||||
|
0,188/2),
|
||||||
|
-188/2,188/2)
|
||||||
|
);
|
||||||
|
c.ProtimingGraphAverage:visible( bShowProtiming );
|
||||||
|
c.ProtimingGraphAverage:zoomtowidth( clamp(
|
||||||
|
scale(
|
||||||
|
MakeAverage( tTotalJudgments ),
|
||||||
|
0,PREFSMAN:GetPreference("TimingWindowSecondsW3"),
|
||||||
|
0,188),
|
||||||
|
0,188)
|
||||||
|
);
|
||||||
|
-- c.ProtimingGraphAverage:zoomtowidth( clamp(MakeAverage( tTotalJudgments ) * 1880,0,188) );
|
||||||
|
c.ProtimingGraphCenter:visible( bShowProtiming );
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphBG);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphUnderlay);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW3);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW2);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphWindowW1);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphFill);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphAverage);
|
||||||
|
(cmd(sleep,2;linear,0.5;diffusealpha,0))(c.ProtimingGraphCenter);
|
||||||
|
end;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
return t;
|
||||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
|||||||
|
#TITLE:Love Is Eternity A;
|
||||||
|
#OFFSET:0.000;
|
||||||
|
#BPMS:0.000=140.000;
|
||||||
|
#STOPS:;
|
||||||
|
|
||||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
|||||||
|
#TITLE:Love Is Eternity A;
|
||||||
|
#OFFSET:0.000;
|
||||||
|
#BPMS:0.000=140.000;
|
||||||
|
#STOPS:;
|
||||||
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
@@ -35,14 +35,14 @@ t[#t+1] = Def.ActorFrame {
|
|||||||
self:visible( bShow == 1 );
|
self:visible( bShow == 1 );
|
||||||
end;
|
end;
|
||||||
-- Grid
|
-- Grid
|
||||||
LoadActor("_32") .. {
|
--[[ LoadActor("_32") .. {
|
||||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;customtexturerect,0,0,SCREEN_WIDTH/32,SCREEN_HEIGHT/32);
|
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;customtexturerect,0,0,SCREEN_WIDTH/32,SCREEN_HEIGHT/32);
|
||||||
OnCommand=cmd(diffuse,color("0,0,0,0.5"));
|
OnCommand=cmd(diffuse,color("0,0,0,0.5"));
|
||||||
};
|
};
|
||||||
LoadActor("_16") .. {
|
LoadActor("_16") .. {
|
||||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;customtexturerect,0,0,SCREEN_WIDTH/16,SCREEN_HEIGHT/16);
|
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;customtexturerect,0,0,SCREEN_WIDTH/16,SCREEN_HEIGHT/16);
|
||||||
OnCommand=cmd(diffuse,color("1,1,1,0.125"));
|
OnCommand=cmd(diffuse,color("1,1,1,0.125"));
|
||||||
};
|
}; --]]
|
||||||
--[[ LoadActor("_8") .. {
|
--[[ LoadActor("_8") .. {
|
||||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;customtexturerect,0,0,SCREEN_WIDTH/8,SCREEN_HEIGHT/8);
|
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;customtexturerect,0,0,SCREEN_WIDTH/8,SCREEN_HEIGHT/8);
|
||||||
OnCommand=cmd(diffuse,color("#00BFE833"));
|
OnCommand=cmd(diffuse,color("#00BFE833"));
|
||||||
|
|||||||
Reference in New Issue
Block a user