Hey, it's AJ's favorite activity! (NOT)
@@ -78,13 +78,13 @@
|
||||
margin: 1px 2px 1px 2px;
|
||||
border: 1px solid #777;
|
||||
}
|
||||
._fallbackTheme{
|
||||
.fallbackTheme{
|
||||
text-align: justify;
|
||||
vertical-align: text-top;
|
||||
background: #DDFFEE url(./bgline.png) repeat-x scroll 0 0;
|
||||
padding: 1px;
|
||||
}
|
||||
fieldset div._fallbackTheme{
|
||||
fieldset div.fallbackTheme{
|
||||
margin: 1px 2px 1px 2px;
|
||||
border: 1px solid #777;
|
||||
}
|
||||
@@ -235,7 +235,7 @@
|
||||
<legend>Function Colors</legend>
|
||||
<div class="descriptionCell">Available in sm-ssc and StepMania 5</div>
|
||||
<div class="renamed">Renamed or changed from StepMania 4 alphas</div>
|
||||
<div class="_fallbackTheme">Defined in the _fallback theme</div>
|
||||
<div class="fallbackTheme">Defined in the _fallback theme</div>
|
||||
<div class="defaultTheme">Defined in the default theme</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
@@ -476,21 +476,13 @@
|
||||
<xsl:choose>
|
||||
<!-- "renamed" also covers functions with modified behavior -->
|
||||
<xsl:when test="$elmt/@renamed='true'">renamed</xsl:when>
|
||||
<xsl:when test="$elmt/@theme='_fallback'">_fallbackTheme</xsl:when>
|
||||
<xsl:when test="$elmt/@theme='_fallback'">fallbackTheme</xsl:when>
|
||||
<xsl:when test="$elmt/@theme='default'">defaultTheme</xsl:when>
|
||||
<xsl:otherwise>descriptionCell</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<span class="descriptionName">
|
||||
<xsl:choose>
|
||||
<!-- make commands in certain sections link to the SMTheming
|
||||
wiki article for said command: -->
|
||||
<xsl:when test="string($class)='Actor'"><a href="http://kki.ajworld.net/wiki/Commands:{@name}" title="'{@name}' on the SMTheming Wiki"><xsl:value-of select="@name" /></a></xsl:when>
|
||||
<xsl:when test="string($class)='ActorFrame'"><a href="http://kki.ajworld.net/wiki/Commands:{@name}" title="'{@name}' on the SMTheming Wiki"><xsl:value-of select="@name" /></a></xsl:when>
|
||||
<xsl:when test="string($class)='Sprite'"><a href="http://kki.ajworld.net/wiki/Commands:{@name}" title="'{@name}' on the SMTheming Wiki"><xsl:value-of select="@name" /></a></xsl:when>
|
||||
<!-- and don't handle wiki links for anything else -->
|
||||
<xsl:otherwise><xsl:value-of select="@name" /></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:value-of select="@name" />
|
||||
</span>
|
||||
<span class="descriptionArguments">
|
||||
<xsl:text>( </xsl:text>
|
||||
@@ -511,9 +503,7 @@
|
||||
<td class="returnTypeCell" />
|
||||
<td>
|
||||
<xsl:attribute name="class">
|
||||
<xsl:choose>
|
||||
<xsl:otherwise>descriptionCell</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
descriptionCell
|
||||
</xsl:attribute>
|
||||
<span class="descriptionName"><xsl:value-of select="@name" /></span>
|
||||
</td>
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,15 +1,36 @@
|
||||
-- check if players are playing steps with different timingdata.
|
||||
local numPlayers = GAMESTATE:GetNumPlayersEnabled()
|
||||
|
||||
local displaySingle = Def.SongBPMDisplay {
|
||||
File=THEME:GetPathF("BPMDisplay", "bpm");
|
||||
Name="BPMDisplay";
|
||||
InitCommand=cmd(zoom,0.675;shadowlength,1);
|
||||
SetCommand=function(self) self:SetFromGameState() end;
|
||||
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
|
||||
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
|
||||
local function UpdateSingleBPM(self)
|
||||
local bpmDisplay = self:GetChild("BPMDisplay")
|
||||
local pn = GAMESTATE:GetMasterPlayerNumber()
|
||||
local pState = GAMESTATE:GetPlayerState(pn);
|
||||
local songPosition = pState:GetSongPosition()
|
||||
local bpm = songPosition:GetCurBPS() * 60
|
||||
bpmDisplay:settext( string.format("%03.2f",bpm) )
|
||||
end
|
||||
|
||||
local displaySingle = Def.ActorFrame{
|
||||
-- manual bpm displays
|
||||
LoadFont("BPMDisplay", "bpm")..{
|
||||
Name="BPMDisplay";
|
||||
InitCommand=cmd(zoom,0.675;shadowlength,1);
|
||||
};
|
||||
|
||||
--[[
|
||||
Def.SongBPMDisplay {
|
||||
File=THEME:GetPathF("BPMDisplay", "bpm");
|
||||
Name="BPMDisplay";
|
||||
InitCommand=cmd(zoom,0.675;shadowlength,1);
|
||||
SetCommand=function(self) self:SetFromGameState() end;
|
||||
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
|
||||
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
|
||||
};
|
||||
--]]
|
||||
};
|
||||
|
||||
displaySingle.InitCommand=cmd(SetUpdateFunction,UpdateSingleBPM);
|
||||
|
||||
if numPlayers == 1 then
|
||||
return displaySingle
|
||||
else
|
||||
@@ -23,16 +44,19 @@ else
|
||||
local diffP1 = stepsP1:GetDifficulty()
|
||||
local diffP2 = stepsP2:GetDifficulty()
|
||||
|
||||
if stP1 == stP2 and diffP1 == diffP2 then
|
||||
-- both players are using the same steps; only need one.
|
||||
-- get timing data...
|
||||
local timingP1 = stepsP1:GetTimingData()
|
||||
local timingP2 = stepsP2:GetTimingData()
|
||||
|
||||
--if stP1 == stP2 and diffP1 == diffP2 then
|
||||
if timingP1 == timingP2 then
|
||||
-- both players are steps with the same TimingData; only need one.
|
||||
return displaySingle
|
||||
end
|
||||
|
||||
-- otherwise, we have some more work to do.
|
||||
local timingP1 = stepsP1:GetTimingData()
|
||||
local timingP2 = stepsP2:GetTimingData()
|
||||
|
||||
local function UpdateBPM(self)
|
||||
local function Update2PBPM(self)
|
||||
local dispP1 = self:GetChild("DisplayP1")
|
||||
local dispP2 = self:GetChild("DisplayP2")
|
||||
|
||||
@@ -42,7 +66,7 @@ else
|
||||
local pState = GAMESTATE:GetPlayerState(pn);
|
||||
local songPosition = pState:GetSongPosition()
|
||||
local bpm = songPosition:GetCurBPS() * 60
|
||||
bpmDisplay:settext( string.format("%.2f",bpm) )
|
||||
bpmDisplay:settext( string.format("%03.2f",bpm) )
|
||||
end
|
||||
end
|
||||
|
||||
@@ -50,15 +74,15 @@ else
|
||||
-- manual bpm displays
|
||||
LoadFont("BPMDisplay", "bpm")..{
|
||||
Name="DisplayP1";
|
||||
InitCommand=cmd(x,-32;zoom,0.625;shadowlength,1);
|
||||
InitCommand=cmd(x,-28;zoom,0.6;shadowlength,1);
|
||||
};
|
||||
LoadFont("BPMDisplay", "bpm")..{
|
||||
Name="DisplayP2";
|
||||
InitCommand=cmd(x,32;zoom,0.625;shadowlength,1);
|
||||
InitCommand=cmd(x,28;zoom,0.6;shadowlength,1);
|
||||
};
|
||||
};
|
||||
|
||||
displayTwoPlayers.InitCommand=cmd(SetUpdateFunction,UpdateBPM);
|
||||
displayTwoPlayers.InitCommand=cmd(SetUpdateFunction,Update2PBPM);
|
||||
|
||||
return displayTwoPlayers
|
||||
end
|
||||
|
||||
@@ -604,7 +604,7 @@ ShowLogo=true
|
||||
LogoX=SCREEN_CENTER_X
|
||||
LogoY=SCREEN_CENTER_Y-68
|
||||
LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75
|
||||
LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0
|
||||
LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0
|
||||
#
|
||||
ShowCurrentGametype=true
|
||||
CurrentGametypeX=SCREEN_WIDTH*0.01
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
!define PRODUCT_DISPLAY "${PRODUCT_ID} ${PRODUCT_VER}"
|
||||
!define PRODUCT_BITMAP "ssc"
|
||||
|
||||
!define PRODUCT_URL "http://code.google.com/p/sm-ssc/"
|
||||
!define UPDATES_URL "http://code.google.com/p/sm-ssc/"
|
||||
!define PRODUCT_URL "http://www.stepmania.com/"
|
||||
!define UPDATES_URL "http://www.stepmania.com/"
|
||||
|
||||
;!define INSTALL_EXTERNAL_PCKS
|
||||
;!define INSTALL_INTERNAL_PCKS
|
||||
|
||||