Added more layers to the player pane.
authorCameron Ball <c.ball1729@gmail.com>
Wed, 22 Jan 2014 15:41:41 +0000 (23:41 +0800)
committerCameron Ball <c.ball1729@gmail.com>
Wed, 22 Jan 2014 15:41:41 +0000 (23:41 +0800)
Themes/GrooveNights/BGAnimations/_player pane.xml
Themes/GrooveNights/Graphics/AvatarFrame B.png [moved from Themes/GrooveNights/BGAnimations/AvatarFrame B.png with 100% similarity]
Themes/GrooveNights/Graphics/AvatarFrame.png [moved from Themes/GrooveNights/BGAnimations/AvatarFrame.png with 100% similarity]
Themes/GrooveNights/Scripts/gnSystem.lua

index 9392a35..6c45400 100644 (file)
                File="../Graphics/PaneDisplay p1 F.png"\r
                OnCommand="@'diffuse,'..FrameColor()..';horizalign,left;vertalign,bottom;'"\r
        />\r
-       \r
+\r
        <!--Avatar-->\r
-       <Layer\r
-               File="@'../Graphics/NoAvatar/'..getNoAvatar(PLAYER_1)"\r
-               InitCommand="@'horizalign,left;vertalign,bottom;diffuse,'..PlayerColor(PLAYER_1)..';x,-5;y,-5;diffusealpha,0'"\r
-               OnScreenPlayerOptionsMessageCommand="diffusealpha,1"\r
-       />\r
+    <ActorFrame InitCommand="x,5;y,5;draworder,100"><children>       \r
+        <Layer File="../Graphics/AvatarFrame B.png"\r
+            Condition="GAMESTATE:IsHumanPlayer(PLAYER_1)"\r
+            InitCommand="@'horizalign,left;vertalign,bottom;draworder,3;diffuse,'..BackgroundColor()..';zoomx,1.01;zoomy,0.975;'"\r
+        />\r
+        \r
+        <Layer File="../Graphics/AvatarFrame.png"\r
+            Condition="GAMESTATE:IsHumanPlayer(PLAYER_1)"\r
+            InitCommand="@'horizalign,left;vertalign,bottom;draworder,3;diffuse,'..FrameColor()..';zoomx,0.95;zoomy,0.95;'"\r
+        />\r
+        \r
+       <Layer\r
+               File="@'../Graphics/NoAvatar/'..getNoAvatar(PLAYER_1)"\r
+               InitCommand="@'horizalign,left;vertalign,bottom;diffuse,'..PlayerColor(PLAYER_1)..';'"\r
+       />\r
+    </children></ActorFrame>\r
+       \r
+    <!-- ScreenPlayerOptions stuff -->\r
+       <ActorFrame InitCommand="diffusealpha,0" OnScreenPlayerOptionsMessageCommand="diffusealpha,1"><children>\r
+        <!-- BPM  -->\r
+        <ActorFrame InitCommand="x,1;y,1;zoom,0.5"><children>\r
+            <!-- BPM label -->\r
+            <BitmapText\r
+               Text="BPM:"\r
+                       File="_eurostile blue glow"\r
+                InitCommand="@'horizalign,left;shadowlength,0;diffuse,'..LabelColor()..';'"\r
+            />\r
+            \r
+            <!-- BPM display -->\r
+            <BitmapText\r
+                Text=""\r
+                File="_eurostile blue glow"\r
+                InitCommand="shadowlength,0;maxwidth,140;horizalign,left"\r
+                RateModChangedMessageCommand="%function(self) self:settext(DisplayBPM(PLAYER_1)) end"\r
+            />\r
+        </children></ActorFrame>\r
+        \r
+        <!-- Speed -->\r
+        <ActorFrame InitCommand="x,10;y,10;zoom,0.5"><children>\r
+            <!-- Speed label -->\r
+            <BitmapText\r
+                    Text="Speed:"\r
+                    File="_eurostile blue glow"\r
+                    InitCommand="@'horizalign,left;shadowlength,0;diffuse,'..LabelColor()..';'"\r
+            />\r
+                \r
+            <!-- Speed display -->\r
+            <BitmapText\r
+                    Text=""\r
+                    File="_eurostile blue glow"\r
+                    InitCommand="x,80;horizalign,left;shadowlength,0;"\r
+                    SpeedModChangedP1MessageCommand="queuecommand,Update"\r
+                    RateModChangedMessageCommand="queuecommand,Update"\r
+                    UpdateCommand="%function(self) self:settext(DisplayScrollSpeed(PLAYER_1)) end"\r
+            />\r
+                \r
+            <!--Blaze It P1 -->\r
+            <BitmapText\r
+                    File="_eurostile blue glow"\r
+                    InitCommand="x,80"\r
+                    OnCommand="horizalign,left;rainbow;shadowlength,0;"\r
+                    SpeedModChangedP1MessageCommand="queuecommand,Update"\r
+                    RateModChangedMessageCommand="queuecommand,Update"\r
+                    UpdateCommand="%function(self) DoEasterEgg('BlazeIt', { pn = PLAYER_1, Actor = self }) end"\r
+            />\r
+                \r
+            <!--No Scope P1 -->                \r
+            <BitmapText\r
+                    File="_eurostile blue glow"\r
+                    InitCommand="x,80"\r
+                    OnCommand="horizalign,left;rainbow;shadowlength,0;"\r
+                    SpeedModChangedP1MessageCommand="queuecommand,Update"\r
+                    RateModChangedMessageCommand="queuecommand,Update"\r
+                    UpdateCommand="%function(self) DoEasterEgg('NoScope', { pn = PLAYER_1, Actor = self }) end"\r
+            />\r
+        </children></ActorFrame>\r
+       </children></ActorFrame>\r
 </children></ActorFrame>
\ No newline at end of file
index f4e1906..435d434 100644 (file)
@@ -475,26 +475,26 @@ local function QuadAwardEasterEgg(Params)
     local ScoreP2
     local AwardFile
 
-       --[[
-       I don't even understand this. When this function is called from a queued command you have to get the score like this:
-               SCREENMAN:GetTopScreen():GetChild('PercentP1'):GetChild('PercentP1'):GetText() end
-               
-       But if it's in an initcommand or oncommand you have to do it like this:
-               SCREENMAN:GetTopScreen():GetChild('ScoreP1'):GetChild('ScoreDisplayPercentage Percent'):GetChild('PercentP1'):GetText()
-               
-       I think some children must get renamed/added between the commands or something, I don't know.
-       ]]--
-       if Params.Layer == 'Silence' then
-               if GAMESTATE:IsPlayerEnabled(PLAYER_1) then ScoreP1 = SCREENMAN:GetTopScreen():GetChild('PercentP1'):GetChild('PercentP1'):GetText() end
-               if GAMESTATE:IsPlayerEnabled(PLAYER_2) then ScoreP2 = SCREENMAN:GetTopScreen():GetChild('PercentP2'):GetChild('PercentP2'):GetText() end
-       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
-       end
+       --[[
+       I don't even understand this. When this function is called from a queued command you have to get the score like this:
+        SCREENMAN:GetTopScreen():GetChild('PercentP1'):GetChild('PercentP1'):GetText() end
+               
+       But if it's in an initcommand or oncommand you have to do it like this:
+          SCREENMAN:GetTopScreen():GetChild('ScoreP1'):GetChild('ScoreDisplayPercentage Percent'):GetChild('PercentP1'):GetText()
+               
+       I think some children must get renamed/added between the commands or something, I don't know.
+       ]]--
+    if Params.Layer == 'Silence' then
+        if GAMESTATE:IsPlayerEnabled(PLAYER_1) then ScoreP1 = SCREENMAN:GetTopScreen():GetChild('PercentP1'):GetChild('PercentP1'):GetText() end
+        if GAMESTATE:IsPlayerEnabled(PLAYER_2) then ScoreP2 = SCREENMAN:GetTopScreen():GetChild('PercentP2'):GetChild('PercentP2'):GetText() end
+    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
+    end
     
     if ScoreP1 == "100.00%" and ScoreP2 == "100.00%" then
         --choose p1 or p2 randomly
-               local seconds = gnPlaySec -- TODO: This is temporary until the time tracker is reimplemented
+        local seconds = gnPlaySec -- TODO: This is temporary until the time tracker is reimplemented
         local pn = math.mod(seconds, 2)
         AwardFile = GetQuadAwardFile(pn)
     elseif ScoreP1 == "100.00%" then