diff --git a/Themes/_fallback/Other/ScreenHowToPlay steps.ssc b/Themes/_fallback/Other/ScreenHowToPlay steps.ssc index 2f7ade5385..f0fa712b84 100644 --- a/Themes/_fallback/Other/ScreenHowToPlay steps.ssc +++ b/Themes/_fallback/Other/ScreenHowToPlay steps.ssc @@ -1,9 +1,7 @@ -// these steps are only used by the How To Play screen. -// you can use any difficuly here, as long as there is -// only one set of steps in the file. the steps start -// as soon as the screen comes up. also, the music used -// is Sounds/ScreenHowToPlay Music, so no need to specify -// a song file here. +// these steps are only used by the How To Play screen. you can use any +// difficulty here, as long as there is only one set of steps (per stepstype?) +// in the file. the steps start as soon as the screen comes up. the music used +// is Sounds/ScreenHowToPlay Music, so no need to specify a song file here. #TITLE:ScreenHowToPlay steps; #ARTIST:foo; #BPMS:0.000=100.000; diff --git a/Themes/_fallback/Scripts/02 Actor.lua b/Themes/_fallback/Scripts/02 Actor.lua index b1a40f2a5f..587dab08e3 100644 --- a/Themes/_fallback/Scripts/02 Actor.lua +++ b/Themes/_fallback/Scripts/02 Actor.lua @@ -168,12 +168,16 @@ function Actor:scale_or_crop_background() -- bga matches the current aspect, we can stretch it. self:stretchto( 0,0,SCREEN_WIDTH,SCREEN_HEIGHT ) else - if gh < DISPLAY:GetDisplayHeight() then - -- we have a bg smaller than the display height. we need to scale it up. - self:scaletofit( SCREEN_CENTER_X-((graphicAspect*SCREEN_HEIGHT)/2),SCREEN_TOP,SCREEN_CENTER_X+((graphicAspect*SCREEN_HEIGHT)/2),SCREEN_HEIGHT) + -- temp + self:scaletocover( 0,0,SCREEN_WIDTH,SCREEN_HEIGHT ) + --[[ + -- bga doesn't match the aspect. + if displayAspect > graphicAspect then + -- the graphic is smaller than the display aspect ratio else - self:scaletofit( SCREEN_CENTER_X-(gw/2),SCREEN_TOP,SCREEN_CENTER_X+(gw/2),SCREEN_HEIGHT) + -- the graphic is bigger than the display aspect ratio; crop me end + --]] end end diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index b7e25e84fb..12fa685dcd 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1922,17 +1922,50 @@ ChoiceOni="applydefaultoptions;name,Oni;text,Oni;playmode,oni;screen,ScreenSelec ChoiceEndless="applydefaultoptions;name,Endless;text,Endless;playmode,endless;screen,ScreenSelectCourse;setenv,sMode,Endless" [ScreenSelectCharacter] -Class="ScreenSelectMaster" -Fallback="ScreenSelectMaster" -NextScreen=Branch.GetGameInformationScreen -PrevScreen=Branch.TitleMenu() -# -PerChoiceScrollElement=false -PerChoiceIconElement=false -# -ShowScroller=true -WrapScroller=true -ShowIcon=false +Class="ScreenSelectCharacter" +Fallback="ScreenWithMenuElements" +WaitForChildrenBeforeTweeningOut=true +TitleP1OnCommand=x,140;y,80;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +TitleP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +TitleP2OnCommand=x,500;y,80;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +TitleP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +CardP1OnCommand=x,140;y,180;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +CardP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +CardP2OnCommand=x,500;y,180;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +CardP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +CardArrowsP1OnCommand=x,140;y,180;diffusealpha,0;linear,0.3;diffusealpha,1 +CardArrowsP1OffCommand=linear,0.3;diffusealpha,0 +CardArrowsP2OnCommand=x,500;y,180;diffusealpha,0;linear,0.3;diffusealpha,1 +CardArrowsP2OffCommand=linear,0.3;diffusealpha,0 +ExplanationOnCommand=x,SCREEN_CENTER_X;y,140;diffusealpha,0;linear,0.3;diffusealpha,1 +ExplanationOffCommand=linear,0.3;diffusealpha,0 +AttackFrameP1OnCommand=x,140;y,380;addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +AttackFrameP2OnCommand=x,500;y,380;addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +AttackIconWidth=40 +AttackIconHeight=40 +AttackIconsP1StartX=SCREEN_CENTER_X-192 +AttackIconsP1StartY=SCREEN_CENTER_Y+116 +AttackIconsP2StartX=SCREEN_CENTER_X+168 +AttackIconsP2StartY=SCREEN_CENTER_Y+116 +AttackIconsSpacingX=42 +AttackIconsSpacingY=32 +AttackIconsP1OnCommand=addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +AttackIconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +AttackIconsP2OnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +AttackIconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +IconWidth=40 +IconHeight=40 +IconsP1OnCommand=addx,-SCREEN_WIDTH*0.6;bounceend,0.5;addx,SCREEN_WIDTH*0.6 +IconsP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-SCREEN_WIDTH*0.6 +IconsP2OnCommand=addx,SCREEN_WIDTH*0.6;bounceend,0.5;addx,-SCREEN_WIDTH*0.6 +IconsP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,SCREEN_WIDTH*0.6 +SleepAfterTweenOffSeconds=0.8 +TimerSeconds=40 +ShowStyleIcon=true +PrevScreen=ScreenTitleBranch() +NextScreen=SongSelectionScreen() [ScreenGameInformation] Class="ScreenSelectMaster" diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index eda5ccf497..d3a8e93a0c 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -1,3 +1,5 @@ +local maxSegments = 150 + local function CreateSegments(Player) local t = Def.ActorFrame { }; local bars = Def.ActorFrame{ }; @@ -36,6 +38,12 @@ local function CreateSegments(Player) local scrolls = timingData:GetScrolls(); local speeds = timingData:GetSpeeds(); + -- we don't want too many segments to be shown. + local sumSegments = bpms + stops + delays + warps + fakes + scrolls + speeds + if sumSegments > maxSegments then + return Def.ActorFrame{} + end + local function CreateLine(beat, secs, firstShadow, firstDiffuse, secondShadow, firstEffect, secondEffect) local beatTime = timingData:GetElapsedTimeFromBeat(beat); if beatTime < 0 then beatTime = 0; end; diff --git a/Themes/default/Scripts/00 ThemeInfo.lua b/Themes/default/Scripts/00 ThemeInfo.lua index 96f36a2f86..31c41cdc4e 100644 --- a/Themes/default/Scripts/00 ThemeInfo.lua +++ b/Themes/default/Scripts/00 ThemeInfo.lua @@ -2,8 +2,5 @@ themeInfo = { ProductCode = "SSC-501", Name = "StepMania 5 Default", - Version = 0.92, - Date = "20111015", - Internal = "rel 00000000-0000", - Revision = 3501, + Date = "20120108", } diff --git a/Themes/default/Scripts/02 ThemePrefs.lua b/Themes/default/Scripts/02 ThemePrefs.lua index 3745a3d2fc..81bbd2aba2 100644 --- a/Themes/default/Scripts/02 ThemePrefs.lua +++ b/Themes/default/Scripts/02 ThemePrefs.lua @@ -62,7 +62,7 @@ local Prefs = }, FancyUIBG = { - Default = true, + Default = false, Choices = { OptionNameString('Off'), OptionNameString('On') }, Values = { false, true } }, diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 00a2372929..9649a7fbdb 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -1453,36 +1453,36 @@ ScoreP2OffCommand= # StepsDescriptionP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") # StepsDescriptionP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDescriptionP1Y=SCREEN_CENTER_Y-24 +StepsDescriptionP1Y=SCREEN_CENTER_Y+34 StepsDescriptionP1OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 StepsDescriptionP1OffCommand= StepsDescriptionP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") # StepsDescriptionP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDescriptionP2Y=SCREEN_CENTER_Y-24 +StepsDescriptionP2Y=SCREEN_CENTER_Y+34 StepsDescriptionP2OnCommand=draworder,101;zoom,0.5;diffusealpha,0;addy,-10;smooth,0.3;diffusealpha,1;addy,10;sleep,3;smooth,0.5;addy,-10;diffusealpha,0 StepsDescriptionP2OffCommand= # PlayerOptionsP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") # PlayerOptionsP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -PlayerOptionsP1Y=SCREEN_CENTER_Y+24 +PlayerOptionsP1Y=SCREEN_CENTER_Y+82 PlayerOptionsP1OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 PlayerOptionsP1OffCommand= PlayerOptionsP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") # PlayerOptionsP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -PlayerOptionsP2Y=SCREEN_CENTER_Y+24 +PlayerOptionsP2Y=SCREEN_CENTER_Y+82 PlayerOptionsP2OnCommand=draworder,101;vertalign,top;wrapwidthpixels,256*2;zoom,0.5;diffusealpha,0;addy,10;smooth,0.3;diffusealpha,1;addy,-10;sleep,3;smooth,0.5;addy,10;diffusealpha,0 PlayerOptionsP2OffCommand= # StepsDisplayP1X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") # StepsDisplayP1X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP1OnePlayerOneSideX") -StepsDisplayP1Y=SCREEN_CENTER_Y +StepsDisplayP1Y=SCREEN_CENTER_Y+58 StepsDisplayP1OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); StepsDisplayP1ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; StepsDisplayP1HideCommand=linear,0.5;zoomy,0 StepsDisplayP1OffCommand= StepsDisplayP2X=Center1Player() and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") # StepsDisplayP2X=(PREFSMAN:GetPreference("Center1Player") and GAMESTATE:GetNumPlayersEnabled() == 1) and SCREEN_CENTER_X or THEME:GetMetric(Var "LoadingScreen","PlayerP2OnePlayerOneSideX") -StepsDisplayP2Y=SCREEN_CENTER_Y +StepsDisplayP2Y=SCREEN_CENTER_Y+58 StepsDisplayP2OnCommand=draworder,101;zoomy,0;linear,0.3;zoomy,1;sleep,3;queuecommand,( ThemePrefs.Get("GameplayShowStepsDisplay") == true and "Show" or "Hide" ); StepsDisplayP2ShowCommand=smooth,0.5;y,SCREEN_BOTTOM-20; StepsDisplayP2HideCommand=linear,0.5;zoomy,0 diff --git a/src/GameState.cpp b/src/GameState.cpp index 34e8337c99..e985c0cb56 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -2205,6 +2205,7 @@ public: PlayerNumber pn = Enum::Check(L, 1); if( lua_isnil(L,2) ) { p->m_pCurSteps[pn].Set( NULL ); } else { Steps *pS = Luna::check(L,2); p->m_pCurSteps[pn].Set( pS ); } + GAMESTATE->SetCurrentStyle( GAMEMAN->GetFirstCompatibleStyle( GAMESTATE->m_pCurGame, GAMESTATE->GetNumSidesJoined(), p->m_pCurSteps[pn]->m_StepsType )); // Why Broadcast again? This is double-broadcasting. -Chris MESSAGEMAN->Broadcast( (MessageID)(Message_CurrentStepsP1Changed+pn) );