Easter egg work basically done. Started cleaning up Tier xml files. So far only finis...
authorCameron Ball <c.ball1729@gmail.com>
Tue, 14 Jan 2014 07:59:41 +0000 (15:59 +0800)
committerCameron Ball <c.ball1729@gmail.com>
Tue, 14 Jan 2014 07:59:41 +0000 (15:59 +0800)
16 files changed:
Themes/GrooveNights/Graphics/ScreenEvaluation grade frame p1/default.xml
Themes/GrooveNights/Graphics/_grade models/Tier07.xml
Themes/GrooveNights/Graphics/_grade models/Tier08.xml
Themes/GrooveNights/Graphics/_grade models/Tier09.xml
Themes/GrooveNights/Graphics/_grade models/Tier10.xml
Themes/GrooveNights/Graphics/_grade models/Tier11.xml
Themes/GrooveNights/Graphics/_grade models/Tier12.xml
Themes/GrooveNights/Graphics/_grade models/Tier13.xml
Themes/GrooveNights/Graphics/_grade models/Tier14.xml
Themes/GrooveNights/Graphics/_grade models/Tier15.xml
Themes/GrooveNights/Graphics/_grade models/Tier16.xml
Themes/GrooveNights/Graphics/_grade models/Tier17.xml
Themes/GrooveNights/Graphics/_grade models/_GradeExplosion.xml [new file with mode: 0644]
Themes/GrooveNights/Scripts/99 Utill.lua [new file with mode: 0644]
Themes/GrooveNights/Scripts/gnSystem.lua
Themes/GrooveNights/metrics.ini

index e71b8e7..168dba6 100644 (file)
@@ -1,11 +1,9 @@
 <ActorFrame InitCommand="%function(self)
-self:hibernate(0.01);
-self:queuecommand('Delay');
+self:queuecommand('Calculate');
 end"
 
-DelayCommand="%function(self) self:hibernate(gnOnScreenSeconds); self:queuecommand('Calculate'); end"
-
 CalculateCommand="%function(self)
+--TODO make this nicer
 gnDummy = SameThingDifferentPlayer();
 gnJudgeTotal = tonumber(SCREENMAN:GetTopScreen():GetChild('MarvelousNumberP'..gnPlayerCount):GetText()) + tonumber(SCREENMAN:GetTopScreen():GetChild('PerfectNumberP'..gnPlayerCount):GetText()) + tonumber(SCREENMAN:GetTopScreen():GetChild('GreatNumberP'..gnPlayerCount):GetText()) + tonumber(SCREENMAN:GetTopScreen():GetChild('GoodNumberP'..gnPlayerCount):GetText()) + tonumber(SCREENMAN:GetTopScreen():GetChild('BooNumberP'..gnPlayerCount):GetText()) + tonumber(SCREENMAN:GetTopScreen():GetChild('MissNumberP'..gnPlayerCount):GetText());
 
index acb640b..242e6a5 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index 7eadf2e..96fc4c0 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index af60c7f..e512965 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index 9664baf..7391ff0 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index b3fdcee..9277b41 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index 87a2666..1565f69 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index ac65f69..bd8cd93 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index 70c890c..b465faa 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index c528a6e..87dd72b 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index d144e6c..6229d13 100644 (file)
@@ -1,12 +1,3 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
 <ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
 <!-- Grade Sound-->
 <Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
@@ -81,7 +72,4 @@ end"
        StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
 />
 </children></ActorFrame>
-
-
-
 </children></ActorFrame>
index d8d8135..780fb8f 100644 (file)
@@ -1,87 +1,19 @@
-<ActorFrame>
-<children>
-
-
-<ActorFrame 
-InitCommand="%function(self) self:hibernate(0.1); self:queuecommand('PlaySound') end"
-PlaySoundCommand="%function(self) self:hibernate(gnOnScreenSeconds); end">
-<children>
-
-<ActorFrame OnCommand="zoom,0.40;x,-2;y,7;wag;EffectMagnitude,0,0,2;" InitCommand="%function(self) InitScreen('GradeModels'); end"><children>
-<!-- Grade Sound-->
-<Layer Type="Quad" InitCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
-PlaySound1Command="%function(self)
-       local Path = GradeSound(0);
-       SOUND:PlayOnce( Path )
-       self:diffusealpha(0.075);
-       self:accelerate(0.25);
-       self:diffusealpha(0);
-end"
-/>
-<!--Grade Graphics-->
-
-<Layer
-       File="GradeTier0017"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;zoom,0;sleep,0.2;decelerate,0.2;zoom,1.5;diffusealpha,1;accelerate,0.2;zoom,1;decelerate,0.1;zoom,0.9;diffusealpha,0.8;accelerate,0.1;zoom,1;diffusealpha,1;"
-/>
-
-<!--Extra Effects-->
-<!--Grade Explosion-->
-<ActorFrame OnCommand="y,-32;x,3;zoom,1.2;"><children>
-<Layer
-       File="../Combo 1000milestone/arrowswoosh"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;x,30;y,-20;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addx,100;diffusealpha,0;"
-/>
-
-<Layer
-       File="../Combo 1000milestone/arrowswoosh"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;rotationy,180;x,-30;y,-20;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addx,-100;diffusealpha,0;"
-/>
-
-
-<Layer
-       File="../Combo 1000milestone/arrowswoosh"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;rotationz,270;y,-30;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addy,-100;diffusealpha,0;"
-/>
-
-<Layer
-       File="../Combo 1000milestone/arrowswoosh"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;rotationz,90;y,30;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addy,100;diffusealpha,0;"
-/>
-
-
-<Layer
-       File="../Combo 100milestone/explosion"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,-90;zoom,1;diffusealpha,0"
-/>
-
-<Layer
-       File="../Combo 100milestone/explosion"
-       InitCommand="%function(self)
-       self:queuecommand('Start');
-       end"
-       StartCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
-/>
-</children></ActorFrame>
-
-
-
+<ActorFrame InitCommand="zoom,0.40;wag;EffectMagnitude,0,0,2"><children>
+    <!-- Grade Sound-->
+    <Layer Type="Quad" OnCommand="diffusealpha,0;zoom,SCREEN_WIDTH*20;sleep,0.2;queuecommand,PlaySound1"
+    PlaySound1Command="%function(self)
+                            local Path = GradeSound(0);
+                            SOUND:PlayOnce( Path )
+                            self:diffusealpha(0.075);
+                            self:accelerate(0.25);
+                            self:diffusealpha(0);
+                       end"
+    />
+    
+    <!--Extra Effects-->
+    <!--Grade Explosion-->
+    <Layer File="_GradeExplosion"/>
+    
+    <!--Grade Graphics-->
+    <Layer File="GradeTier0017" OnCommand="diffusealpha,0;zoom,0;sleep,0.2;decelerate,0.2;zoom,1.5;diffusealpha,1;accelerate,0.2;zoom,1;decelerate,0.1;zoom,0.9;diffusealpha,0.8;accelerate,0.1;zoom,1;diffusealpha,1;"/>
 </children></ActorFrame>
diff --git a/Themes/GrooveNights/Graphics/_grade models/_GradeExplosion.xml b/Themes/GrooveNights/Graphics/_grade models/_GradeExplosion.xml
new file mode 100644 (file)
index 0000000..dcb8319
--- /dev/null
@@ -0,0 +1,33 @@
+<ActorFrame InitCommand="y,-32;x,3;zoom,1.2;"><children>
+    <Layer
+            File="../Combo 1000milestone/arrowswoosh"
+            OnCommand="diffusealpha,0;x,30;y,-20;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addx,100;diffusealpha,0;"
+    />
+
+    <Layer
+            File="../Combo 1000milestone/arrowswoosh"
+            OnCommand="diffusealpha,0;rotationy,180;x,-30;y,-20;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addx,-100;diffusealpha,0;"
+    />
+
+
+    <Layer
+            File="../Combo 1000milestone/arrowswoosh"
+            OnCommand="diffusealpha,0;rotationz,270;y,-30;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addy,-100;diffusealpha,0;"
+    />
+
+    <Layer
+            File="../Combo 1000milestone/arrowswoosh"
+            OnCommand="diffusealpha,0;rotationz,90;y,30;zoom,2;sleep,0.2;diffusealpha,1;decelerate,0.3;addy,100;diffusealpha,0;"
+    />
+
+
+    <Layer
+            File="../Combo 100milestone/explosion"
+            OnCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,-90;zoom,1;diffusealpha,0"
+    />
+
+    <Layer
+            File="../Combo 100milestone/explosion"
+            OnCommand="diffusealpha,0;blend,add;rotationz,0;zoom,2;sleep,0.2;diffusealpha,0.5;linear,0.5;rotationz,90;zoom,1;diffusealpha,0"
+    />
+</children></ActorFrame>
\ No newline at end of file
diff --git a/Themes/GrooveNights/Scripts/99 Utill.lua b/Themes/GrooveNights/Scripts/99 Utill.lua
new file mode 100644 (file)
index 0000000..f54b7c8
--- /dev/null
@@ -0,0 +1,16 @@
+--[[
+Allows easy use of diffuse() in metrics.ini (or anywhere else). To use it:
+    P1PercentOnCommand=%function(self) DiffuseHex(self, '#FFCCDD') end
+]]--
+function DiffuseHex( Actor, color ) 
+   local f = { 1, 1, 1, 1 } 
+   local num = (string.len(color)-1) / 2 
+   local results = { string.find(color, "^#(%x%x)(%x%x)(%x%x)$") } 
+
+   for i = 1, num do f[i] = tonumber(results[i+2], 16) / 255 end 
+   Actor:diffuse( f[1], f[2], f[3], f[4] ) 
+end 
+
+function testfunction(msg)
+    SCREENMAN:SystemMessage(msg)
+end
\ No newline at end of file
index 80429b8..7c075ce 100644 (file)
@@ -449,7 +449,7 @@ local function GetQuadAwardFile(pn)
 
     --[[
     This sems complicated, but it's not. Basicaly it looks at how many videos
-    the user has, then decides which one to play base on the seconds of gametime
+    the user has, then decides which one to play based on the seconds of gametime
     EG: If the user has 3 videos then it will do this:
         Second 0: First video
         Second 1: Second video
@@ -492,12 +492,11 @@ local function QuadAwardEasterEgg(Params)
        else
                if GAMESTATE:IsPlayerEnabled(PLAYER_1) then ScoreP1 = SCREENMAN:GetTopScreen():GetChild('ScoreP1'):GetChild('ScoreDisplayPercentage Percent'):GetChild('PercentP1'):GetText() end
                if GAMESTATE:IsPlayerEnabled(PLAYER_2) then ScoreP2 = SCREENMAN:GetTopScreen():GetChild('ScoreP2'):GetChild('ScoreDisplayPercentage Percent'):GetChild('PercentP2'):GetText() end
-                       SCREENMAN:SystemMessage(ScoreP1)
        end
     
     if ScoreP1 == "100.00%" and ScoreP2 == "100.00%" then
         --choose p1 or p2 randomly
-        -- TODO this might cause problems as this function is called all over the place
+        -- TODO this might cause problems as this function is called all over the place should probably do it based on the time
         local pn = math.random(PLAYER_1,PLAYER_2)
         AwardFile = GetQuadAwardFile(pn)
     elseif ScoreP1 == "100.00%" then
@@ -507,7 +506,7 @@ local function QuadAwardEasterEgg(Params)
     end
 
     -- XXX: Temporary for testing at work as I can't use a memory card
-    AwardFile = GetQuadAwardFile(PLAYER_1)
+    --AwardFile = GetQuadAwardFile(PLAYER_1)
 
     if AwardFile then
         if Params.Layer == "Dimmer" then
@@ -524,12 +523,17 @@ local function QuadAwardEasterEgg(Params)
             Params.Actor:sleep(AwardFile.Params.OnScreenSeconds)
             Params.Actor:linear(0.3)
             Params.Actor:diffusealpha(0)
-               elseif Params.Layer == "Silence" then
-                       SOUND:DimMusic( 0, AwardFile.Params.DimBGMSeconds )
+        elseif Params.Layer == "Silence" then
+            SOUND:DimMusic( 0, AwardFile.Params.DimBGMSeconds )
         elseif Params.Layer == "Grade" then
-            Params.Actor:sleep(AwardFile.Params.OnScreenSeconds)
-        elseif Params.Layer == "EverythingElse" then
-            Params.Actor:sleep(AwardFile.Params.OnScreenSeconds+0.05)
+            --[[
+            Use hibernate here because it makes the whole actor and all its
+            children do nothing. This way we can just put DoEasterEgg in the
+            metrics and not in xml files. Sweet.
+            ]]--
+            Params.Actor:hibernate(AwardFile.Params.OnScreenSeconds)
+        elseif Params.Layer == "Percent" then
+            Params.Actor:hibernate(AwardFile.Params.OnScreenSeconds+0.05)
         end
     end
 end
@@ -848,12 +852,3 @@ function CheckPlayerName( nm )
        end
 return false
 end
-
-function HexToRageColor( Actor, color ) 
-   local f = { 1, 1, 1, 1 } 
-   local num = (string.len(color)-1) / 2 
-   local results = { string.find(color, "^#(%x%x)(%x%x)(%x%x)$") } 
-
-   for i = 1, num do f[i] = tonumber(results[i+2], 16) / 255 end 
-   Actor:diffuse( f[1], f[2], f[3], f[4] ) 
-end 
index 2144629..8a67767 100644 (file)
@@ -1,4 +1,4 @@
-#
+#
 #
 #   _____                          _   _ _       _     _         
 #  / ____|                        | \ | (_)     | |   | |        
@@ -1212,21 +1212,20 @@ DifficultyMeterP2OnCommand=hidden,1
 GradeFrameP1X=SCREEN_CENTER_X-155+EvalX()
 GradeFrameP1Y=SCREEN_CENTER_Y+54
 GradeFrameP1OffCommand=
-GradeFrameP1OnCommand=@"addx,"..ScreenEvaluationDoubleShift(PLAYER_1)..";"
+GradeFrameP1OnCommand=%function(self) self:addx(ScreenEvaluationDoubleShift(PLAYER_1)) DoEasterEgg('QuadAward', { Actor = self, Layer = 'Grade' } ) end
 GradeFrameP2X=SCREEN_CENTER_X+155+EvalX()
 GradeFrameP2Y=SCREEN_CENTER_Y+54
 GradeFrameP2OffCommand=
-GradeFrameP2OnCommand=@"addx,"..ScreenEvaluationDoubleShift(PLAYER_2)..";"
+GradeFrameP2OnCommand=%function(self) self:addx(ScreenEvaluationDoubleShift(PLAYER_2)) DoEasterEgg('QuadAward', { Actor = self, Layer = 'Grade' } ) end
 # Draw the grade over the overlay, since it overlaps the overlay difficulty/name frame.
-GradeP1X=SCREEN_CENTER_X-170+EvalX()
-GradeP1Y=SCREEN_CENTER_Y-60
+GradeP1X=SCREEN_CENTER_X-234+EvalX()-10+40-2
+GradeP1Y=SCREEN_CENTER_Y-38-120+10+7
 GradeP1OffCommand=linear,0.05;zoom,0;
-GradeP1InitCommand=@"zoom,1;x,SCREEN_CENTER_X-234+EvalX()-10+40;y,SCREEN_CENTER_Y-38-120+10;draworder,5000;addx,"..ScreenEvaluationDoubleShift(PLAYER_1)..";"
-GradeP1OnCommand=%function(self) DoEasterEgg('QuadAward', {Actor = self, Layer = 'Grade'}) end
-GradeP2X=SCREEN_CENTER_X+170+EvalX()
-GradeP2Y=SCREEN_CENTER_Y-60
+GradeP1OnCommand=%function(self) self:addx(ScreenEvaluationDoubleShift(PLAYER_1)) DoEasterEgg('QuadAward', { Actor = self, Layer = 'Grade' } ) end
+GradeP2X=SCREEN_CENTER_X+56+EvalX()+10+120+14-2
+GradeP2Y=SCREEN_CENTER_Y-38-120+10+7
 GradeP2OffCommand=linear,0.05;zoom,0;
-GradeP2OnCommand=@"zoom,1;x,SCREEN_CENTER_X+56+EvalX()+10+120+14;y,SCREEN_CENTER_Y-38-120+10;draworder,5000;addx,"..ScreenEvaluationDoubleShift(PLAYER_2)..";"
+GradeP2OnCommand=%function(self) self:addx(ScreenEvaluationDoubleShift(PLAYER_2)) DoEasterEgg('QuadAward', { Actor = self, Layer = 'Grade' } ) end
 LargeBannerX=SCREEN_CENTER_X
 LargeBannerY=SCREEN_CENTER_Y-114-11
 LargeBannerOffCommand=addy,-SCREEN_CENTER_X
@@ -1282,12 +1281,11 @@ PercentFrameP2OffCommand=
 PercentFrameP2OnCommand=hidden,1
 PercentP1X=SCREEN_CENTER_X-110+EvalX()-4-88
 PercentP1Y=SCREEN_CENTER_Y-20-83
-# TODO When using self:diffuse it has to be done using (a,b,c,d) instead of a color. Need to write a fn to turn hex into rgb
-PercentP1OnCommand=%function(self) HexToRageColor(self,PlayerColor(PLAYER_1)) end
-PercentP1OffCommand=linear,0.3
+PercentP1OnCommand=%function(self) DoEasterEgg('QuadAward', { Actor = self, Layer = 'Percent' } ) self:zoom(0) self:addx(ScreenEvaluationDoubleShift(PLAYER_1)) self:linear(0.2) DiffuseHex(self, PlayerColor(PLAYER_1)) self:zoom(1.10) self:horizalign('center') end
+PercentP1OffCommand=linear,0.3;diffuse,0,0,0,1;
 PercentP2X=SCREEN_CENTER_X+194+EvalX()+8
 PercentP2Y=SCREEN_CENTER_Y-20-83
-PercentP2OnCommand=@"diffusealpha,0;hibernate,0.01;addx,-20000;sleep,"..gnOnScreenSeconds+0.05..";addx,20000;diffusealpha,0;zoom,0;addx,"..ScreenEvaluationDoubleShift(PLAYER_2)..";linear,0.2;diffusealpha,1;diffuse,"..PlayerColor(PLAYER_2)..";zoom,1.10;horizalign,center;draworder,100000;"
+PercentP1OnCommand=%function(self) DoEasterEgg('QuadAward', { Actor = self, Layer = 'Percent' } ) self:zoom(0) self:addx(ScreenEvaluationDoubleShift(PLAYER_2)) self:linear(0.2) DiffuseHex(self, PlayerColor(PLAYER_2)) self:zoom(1.10) self:horizalign('center') end
 PercentP2OffCommand=linear,0.3;diffuse,0,0,0,1;
 MarvelousLabelX=
 MarvelousLabelY=