[default -> sm130futures] Update the branch.

This commit is contained in:
Jason Felds
2011-04-04 15:22:45 -04:00
22 changed files with 909 additions and 787 deletions
+6
View File
@@ -15,6 +15,12 @@ sm-ssc $NEXTVERSION | 2011????
It depends on who you ask. It depends on who you ask.
It could be v1.2.5, it could be v1.3.0, it could even be StepMania 5. It could be v1.2.5, it could be v1.3.0, it could even be StepMania 5.
20110402
--------
* Fix a crash (issue 247) when exiting Practice mode from dance-solo,
dance-threepanel, and popn-nine (all of which can only have one player).
If you find any other modes this crashes on, let us know. [AJ]
20110329 20110329
-------- --------
* [ScreenEdit] Changed sample playback button to L. [AJ] * [ScreenEdit] Changed sample playback button to L. [AJ]
+44 -8
View File
@@ -64,6 +64,7 @@ OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDeb
PercentScoreDecimalPlaces=2 PercentScoreDecimalPlaces=2
# 02 # # 02 #
[LightsManager] [LightsManager]
# Mostly useless since it doesn't work, as well as that barely anyone has # Mostly useless since it doesn't work, as well as that barely anyone has
# lights to play around with. # lights to play around with.
@@ -128,6 +129,7 @@ AutoLockChallengeSteps=false
UnlockNames="" UnlockNames=""
# 03 # # 03 #
[ArrowEffects] [ArrowEffects]
# Complicated stuff you probably shouldn't ever mess with or else you'll # Complicated stuff you probably shouldn't ever mess with or else you'll
# destroy mods completely! # destroy mods completely!
@@ -233,6 +235,11 @@ FormatString="%03.0f"
[CodeDetector] [CodeDetector]
# Codes on the MusicWheel that change stuff! # Codes on the MusicWheel that change stuff!
# For Future Reference:
# @ = Holding
# - = In Conjuction With / Then
# ~ = Released
# + = At The Same Time
PrevSteps1="Up,Up" PrevSteps1="Up,Up"
PrevSteps2="MenuUp,MenuUp" PrevSteps2="MenuUp,MenuUp"
NextSteps1="Down,Down" NextSteps1="Down,Down"
@@ -279,6 +286,7 @@ SaveScreenshot1="MenuLeft-MenuRight"
SaveScreenshot2="" SaveScreenshot2=""
CancelAllPlayerOptions="Left,Right,Left,Right,Left,Right" CancelAllPlayerOptions="Left,Right,Left,Right,Left,Right"
BackInEventMode="" BackInEventMode=""
[CodeDetectorOnline] [CodeDetectorOnline]
Fallback="CodeDetector" Fallback="CodeDetector"
PrevSteps1="MenuUp,MenuUp" PrevSteps1="MenuUp,MenuUp"
@@ -337,6 +345,7 @@ TipShowTime=4
TipSwitchTime=1 TipSwitchTime=1
# The Command when its made # The Command when its made
TipOnCommand=shadowlength,0;diffuseblink TipOnCommand=shadowlength,0;diffuseblink
[Judgment] [Judgment]
# New # # New #
JudgmentOnCommand= JudgmentOnCommand=
@@ -438,6 +447,7 @@ PumpRoutineString="Routine"
# Difficulty_Edit-StepsType_Pump_Halfdouble=Edit # Difficulty_Edit-StepsType_Pump_Halfdouble=Edit
# Difficulty_Edit-StepsType_Pump_Double=Edit # Difficulty_Edit-StepsType_Pump_Double=Edit
# Course=Progressive # Course=Progressive
[CustomScoring] [CustomScoring]
# Custom scoring, usually good for custom games. # Custom scoring, usually good for custom games.
@@ -464,6 +474,7 @@ PointsCheckpointMiss=-5
PointsNone=0 PointsNone=0
PointsHoldHeld=+5 PointsHoldHeld=+5
PointsHoldLetGo=-5 PointsHoldLetGo=-5
[DifficultyList] [DifficultyList]
# A list that shows difficulties in a song. # A list that shows difficulties in a song.
CapitalizeDifficultyNames=false CapitalizeDifficultyNames=false
@@ -585,6 +596,7 @@ StreamX=0
StreamY=0 StreamY=0
OverX=0 OverX=0
OverY=0 OverY=0
[LifeMeterBattery] [LifeMeterBattery]
# The bar that shows up in Oni mode. # The bar that shows up in Oni mode.
@@ -627,7 +639,6 @@ DancePointsP2Y=0
DancePointsP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) DancePointsP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2)
DancePointsP2OffCommand= DancePointsP2OffCommand=
[LifeMeterTime] [LifeMeterTime]
# The Lifemeter that shows up when you're playing survival. # The Lifemeter that shows up when you're playing survival.
@@ -838,16 +849,19 @@ PortalColor=color("1,0,0,1")
SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Artist", "SortOrder_Genre" } SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Artist", "SortOrder_Genre" }
# SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Popularity", "SortOrder_Artist", "SortOrder_Genre" } # SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Popularity", "SortOrder_Artist", "SortOrder_Genre" }
#
ShowRoulette=true ShowRoulette=true
ShowRandom=false ShowRandom=false
ShowPortal=false ShowPortal=false
#
SortBPMDivision=20
SortLengthDivision=5
MostPlayedSongsToShow=30 MostPlayedSongsToShow=30
RecentSongsToShow=30 RecentSongsToShow=30
#
UseEasyMarkerFlag=false UseEasyMarkerFlag=false
#
ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent" ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent"
# ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,NormalMode,BattleMode" # ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,NormalMode,BattleMode"
ChoicePreferred="sort,Preferred" ChoicePreferred="sort,Preferred"
@@ -870,7 +884,7 @@ ChoiceLength="sort,Length"
ChoiceRecent="sort,Recent" ChoiceRecent="sort,Recent"
ChoiceNormalMode="playmode,regular" ChoiceNormalMode="playmode,regular"
ChoiceBattleMode="playmode,battle" ChoiceBattleMode="playmode,battle"
#
CustomWheelItemNames="" CustomWheelItemNames=""
[CourseWheel] [CourseWheel]
@@ -1098,7 +1112,6 @@ TextOffCommand=
[ScoreDisplayOni] [ScoreDisplayOni]
[ScoreDisplayLifeTime] [ScoreDisplayLifeTime]
FrameX= FrameX=
FrameY= FrameY=
@@ -1248,6 +1261,7 @@ SoundProperty="Pitch"
PropertyMin=7/8 PropertyMin=7/8
PropertyCenter=1.0 PropertyCenter=1.0
PropertyMax=9/8 PropertyMax=9/8
[StepsDisplayListRow] [StepsDisplayListRow]
FrameX=0 FrameX=0
FrameY=0 FrameY=0
@@ -1324,6 +1338,7 @@ ShowTraining=false
BlinkPlayersBest=true BlinkPlayersBest=true
# 04 # # 04 #
[Screen] [Screen]
ScreenInitCommand= ScreenInitCommand=
ScreenOnCommand= ScreenOnCommand=
@@ -1374,6 +1389,7 @@ HeaderTextOffCommand=
LineOnCommand=zoom,0.75 LineOnCommand=zoom,0.75
# #
[ScreenSystemLayer] [ScreenSystemLayer]
Class="ScreenSystemLayer" Class="ScreenSystemLayer"
Fallback="Screen" Fallback="Screen"
@@ -1424,6 +1440,7 @@ Fallback="Screen"
StatusOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+150;shadowlength,2;strokecolor,color("#000000"); StatusOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+150;shadowlength,2;strokecolor,color("#000000");
AdjustmentsOnCommand=x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y; AdjustmentsOnCommand=x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y;
# #
[ScreenStatsOverlay] [ScreenStatsOverlay]
Class="ScreenStatsOverlay" Class="ScreenStatsOverlay"
Fallback="Screen" Fallback="Screen"
@@ -1437,6 +1454,7 @@ SkipOnCommand=zoom,0.5
SkipWidth=190 SkipWidth=190
SkipSpacingY=14 SkipSpacingY=14
# #
[ScreenWithMenuElements] [ScreenWithMenuElements]
Class="ScreenWithMenuElements" Class="ScreenWithMenuElements"
Fallback="Screen" Fallback="Screen"
@@ -1831,6 +1849,7 @@ PerChoiceIconElement=false
ShowScroller=true ShowScroller=true
WrapScroller=true WrapScroller=true
ShowIcon=false ShowIcon=false
[ScreenGameInformation] [ScreenGameInformation]
Class="ScreenSelectMaster" Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster" Fallback="ScreenSelectMaster"
@@ -1955,6 +1974,7 @@ ScreenModsCommand=setupcoursestagemods
# #
MusicWheelType="CourseWheel" MusicWheelType="CourseWheel"
Codes="CourseCodeDetector" Codes="CourseCodeDetector"
[CourseCodeDetector] [CourseCodeDetector]
Fallback="CodeDetector" Fallback="CodeDetector"
NextSort1= NextSort1=
@@ -1962,7 +1982,6 @@ NextSort2=
NextSort3= NextSort3=
NextSort4= NextSort4=
[StepsDisplay] [StepsDisplay]
FrameX=0 FrameX=0
FrameY=0 FrameY=0
@@ -2516,6 +2535,7 @@ ExplanationTogetherOffCommand=
[ScreenOptionsServiceExtendedChild] [ScreenOptionsServiceExtendedChild]
Fallback="ScreenOptionsServiceChild" Fallback="ScreenOptionsServiceChild"
[ScreenMiniMenu] [ScreenMiniMenu]
Class="ScreenMiniMenu" Class="ScreenMiniMenu"
Fallback="ScreenOptions" Fallback="ScreenOptions"
@@ -2835,12 +2855,14 @@ Line16="list,Steps"
Line17="list,Characters" Line17="list,Characters"
# #
[ScreenPlayerOptionsRestricted] [ScreenPlayerOptionsRestricted]
Fallback="ScreenPlayerOptions" Fallback="ScreenPlayerOptions"
NextScreen="ScreenStageInformation" NextScreen="ScreenStageInformation"
LineNames="1,8,16,17" LineNames="1,8,16,17"
# funny # funny
[ScreenSongOptions] [ScreenSongOptions]
Fallback="ScreenOptions" Fallback="ScreenOptions"
Class="ScreenSongOptions" Class="ScreenSongOptions"
@@ -2875,6 +2897,7 @@ AllowStartToSkip=false
PrepareScreen= PrepareScreen=
# 05 # A # 05 # A
[ScreenExit] [ScreenExit]
# Midiman: # Midiman:
# Fun fact, if you don't enable this screen, Force Crashing will hang # Fun fact, if you don't enable this screen, Force Crashing will hang
@@ -3287,6 +3310,7 @@ DisqualifiedP2OffCommand=
# #
DetailLineFormat="%3d/%3d" DetailLineFormat="%3d/%3d"
# #
[ScreenEvaluationNormal] [ScreenEvaluationNormal]
Fallback="ScreenEvaluation" Fallback="ScreenEvaluation"
# #
@@ -3339,11 +3363,13 @@ NextScreen=Branch.AfterProfileSave()
PrevScreen=Branch.TitleMenu() PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=-1 TimerSeconds=-1
[ScreenProfileSaveSummary] [ScreenProfileSaveSummary]
Fallback="ScreenProfileSave" Fallback="ScreenProfileSave"
# #
NextScreen="ScreenGameOver" NextScreen="ScreenGameOver"
PrevScreen="ScreenGameOver" PrevScreen="ScreenGameOver"
[ScreenGameOver] [ScreenGameOver]
Class="ScreenEnding" Class="ScreenEnding"
Fallback="ScreenAttract" Fallback="ScreenAttract"
@@ -3406,6 +3432,7 @@ Answer3Of3OffCommand=
# #
# stuff for edit mode: # stuff for edit mode:
# #
[ScreenOptionsEdit] [ScreenOptionsEdit]
Class="ScreenOptionsMaster" Class="ScreenOptionsMaster"
Fallback="ScreenOptionsSimpleService" Fallback="ScreenOptionsSimpleService"
@@ -3534,6 +3561,7 @@ TimerSeconds=-1
HelpText=Screen.String("HelpTextOptionsAndBack") HelpText=Screen.String("HelpTextOptionsAndBack")
# could use a redo but whatever # could use a redo but whatever
[ScreenEdit] [ScreenEdit]
Class="ScreenEdit" Class="ScreenEdit"
Fallback="ScreenWithMenuElementsBlank" Fallback="ScreenWithMenuElementsBlank"
@@ -3639,6 +3667,7 @@ OutCancelCommand=
Fallback="StepsDisplay" Fallback="StepsDisplay"
# oh, right, minimenus. # oh, right, minimenus.
[ScreenMiniMenuEditHelp] [ScreenMiniMenuEditHelp]
Fallback="ScreenMiniMenu" Fallback="ScreenMiniMenu"
ShowFooter=false ShowFooter=false
@@ -3700,6 +3729,7 @@ Fallback="ScreenMiniMenu"
Fallback="ScreenMiniMenu" Fallback="ScreenMiniMenu"
# Export Packages # Export Packages
[ScreenOptionsExportPackage] [ScreenOptionsExportPackage]
Class="ScreenOptionsExportPackage" Class="ScreenOptionsExportPackage"
Fallback="ScreenOptionsSimpleService" Fallback="ScreenOptionsSimpleService"
@@ -3717,6 +3747,7 @@ Fallback="OptionRowService"
TitleX=SCREEN_CENTER_X-150 TitleX=SCREEN_CENTER_X-150
# Manage Courses # Manage Courses
[OptionRowCourseOverview] [OptionRowCourseOverview]
Fallback="OptionRowService" Fallback="OptionRowService"
ItemsLongRowSharedX=SCREEN_CENTER_X-100 ItemsLongRowSharedX=SCREEN_CENTER_X-100
@@ -3765,6 +3796,7 @@ EditScreen="ScreenOptionsEditCourse"
OptionRowNormalMetricsGroup="OptionRowCourseOverview" OptionRowNormalMetricsGroup="OptionRowCourseOverview"
# visual/interactive syncing # visual/interactive syncing
[ScreenGameplaySyncMachine] [ScreenGameplaySyncMachine]
Class="ScreenGameplaySyncMachine" Class="ScreenGameplaySyncMachine"
Fallback="ScreenGameplay" Fallback="ScreenGameplay"
@@ -3794,6 +3826,7 @@ Fallback="Player"
ComboOnCommand=visible,false ComboOnCommand=visible,false
# sm-ssc helper screens # sm-ssc helper screens
[ScreenHowToInstallSongs] [ScreenHowToInstallSongs]
Class="ScreenSplash" Class="ScreenSplash"
Fallback="ScreenSplash" Fallback="ScreenSplash"
@@ -3804,6 +3837,7 @@ TimerSeconds=-1
ShowHelp=false ShowHelp=false
# stuff for online mode: # stuff for online mode:
[ScreenSMOnlineLogin] [ScreenSMOnlineLogin]
Class="ScreenSMOnlineLogin" Class="ScreenSMOnlineLogin"
Fallback="ScreenOptionsServiceChild" Fallback="ScreenOptionsServiceChild"
@@ -4048,6 +4082,7 @@ UserOnCommand=
UserOffCommand= UserOffCommand=
# Arcade # Arcade
[ScreenLogo] [ScreenLogo]
Fallback="ScreenAttract" Fallback="ScreenAttract"
# #
@@ -4111,6 +4146,7 @@ ChoiceNames="1"
IdleCommentSeconds=-1 IdleCommentSeconds=-1
IdleTimeoutSeconds=-1 IdleTimeoutSeconds=-1
IdleTimeoutScreen=Branch.AfterInit() IdleTimeoutScreen=Branch.AfterInit()
[ScreenDemonstration] [ScreenDemonstration]
Fallback="ScreenGameplay" Fallback="ScreenGameplay"
Class="ScreenDemonstration" Class="ScreenDemonstration"
+28 -8
View File
@@ -1,7 +1,9 @@
[Screen] [Screen]
HelpText=&BACK; Exit &START; Select &SELECT; Options &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move HelpText=&BACK; Exit &START; Select &SELECT; Options &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move
[ScreenWithMenuElements] [ScreenWithMenuElements]
HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move
[ScreenTitleMenu] [ScreenTitleMenu]
HelpText=&BACK; Exit &START; Select &MENUUP;&MENUDOWN; Move HelpText=&BACK; Exit &START; Select &MENUUP;&MENUDOWN; Move
Network OK=Network OK Network OK=Network OK
@@ -10,6 +12,7 @@ Connected to %s=Connected to %s
CurrentGametype=Current Gametype: %s CurrentGametype=Current Gametype: %s
LifeDifficulty=Life Difficulty: %s LifeDifficulty=Life Difficulty: %s
TimingDifficulty=Timing Difficulty: %s TimingDifficulty=Timing Difficulty: %s
[ScreenTitleJoin] [ScreenTitleJoin]
HelpText=Press &START; to Play HelpText=Press &START; to Play
HelpTextJoin=Press &START; to Play HelpTextJoin=Press &START; to Play
@@ -19,16 +22,22 @@ JointPremiumMain=Joint Premium
JointPremiumSecondary=Two players can play with one credit! JointPremiumSecondary=Two players can play with one credit!
DoublesPremiumMain=Doubles Premium DoublesPremiumMain=Doubles Premium
DoublesPremiumSecondary=Play doubles for one credit! DoublesPremiumSecondary=Play doubles for one credit!
[ScreenDemonstration] [ScreenDemonstration]
Demonstration=Demonstration Demonstration=Demonstration
[ScreenQuickSetupOverview] [ScreenQuickSetupOverview]
Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences. Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences.
[ScreenProfileLoad] [ScreenProfileLoad]
HelpText=... Loading profiles, please wait ... HelpText=... Loading profiles, please wait ...
[ScreenSelectProfile] [ScreenSelectProfile]
HelpText=&MENUUP;&MENUDOWN; Switch Profile &START; Choose/Join &BACK; Unselect HelpText=&MENUUP;&MENUDOWN; Switch Profile &START; Choose/Join &BACK; Unselect
[ScreenSelectMaster] [ScreenSelectMaster]
HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move
[ScreenSelectPlayMode] [ScreenSelectPlayMode]
HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move
EasyExplanation=A mode for beginners. EasyExplanation=A mode for beginners.
@@ -39,31 +48,40 @@ RaveExplanation=Battle against friend or foe.
ExtendedExplanation=Several Songs in a row ExtendedExplanation=Several Songs in a row
OniExplanation=A true test of skill. OniExplanation=A true test of skill.
EndlessExplanation=It don't stop, it keep rollin'. EndlessExplanation=It don't stop, it keep rollin'.
[ScreenSelectPlayStyle] [ScreenSelectPlayStyle]
HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move
[ScreenGameInformation] [ScreenGameInformation]
HelpText=&BACK; Exit &START; Skip HelpText=&BACK; Exit &START; Skip
[ScreenSelectMusic] [ScreenSelectMusic]
HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&AUXWHITE;+[KEY] Sort To [KEY] HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&AUXWHITE;+[KEY] Sort To [KEY]
AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Change Difficulties &SELECT;+&START; Quick Sort AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Change Difficulties &SELECT;+&START; Quick Sort
[ScreenSelectCourse] [ScreenSelectCourse]
HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&UP;&DOWN;&UP;&DOWN; for other course types HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&UP;&DOWN;&UP;&DOWN; for other course types
[ScreenOptions] [ScreenOptions]
HelpText=&BACK; Exit &START; Choose &SELECT; Go Up &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move HelpText=&BACK; Exit &START; Choose &SELECT; Go Up &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move
[ScreenStageInformation] [ScreenStageInformation]
HelpText= HelpText=
[ScreenGameplay] [ScreenGameplay]
HelpText= HelpText=
[ScreenEvaluation] [ScreenEvaluation]
HelpText=&BACK; Exit &START; Move On &MENULEFT;+&MENURIGHT; or &SELECT; Snapshot HelpText=&BACK; Exit &START; Move On &MENULEFT;+&MENURIGHT; or &SELECT; Snapshot
LifeDifficulty=Life Difficulty: %s LifeDifficulty=Life Difficulty: %s
TimingDifficulty=Timing Difficulty: %s TimingDifficulty=Timing Difficulty: %s
[OptionTitles] [OptionTitles]
GamePrefAutoSetStyle=Auto Set Style UserPrefAutoSetStyle=Auto Set Style
UserPrefSpecialScoringMode=Special Scoring Mode UserPrefSpecialScoringMode=Special Scoring Mode
GamePrefNotePosition=Note Positions UserPrefNotePosition=Note Positions
GamePrefComboOnRolls=Rolls Increment Combo UserPrefComboOnRolls=Rolls Increment Combo
GamePrefComboUnderField=Combo Under Field UserPrefComboUnderField=Combo Under Field
UserPrefGameplayShowScore=Show Score UserPrefGameplayShowScore=Show Score
UserPrefGameplayShowStepsDisplay=Show Steps UserPrefGameplayShowStepsDisplay=Show Steps
@@ -71,11 +89,12 @@ UserPrefShowLotsaOptions=Options Density
UserPrefLongFail=Fail Length UserPrefLongFail=Fail Length
UserPrefFlashyCombo=Flashy Combo UserPrefFlashyCombo=Flashy Combo
UserPrefGameplayFooter=Gameplay Footer UserPrefGameplayFooter=Gameplay Footer
[OptionExplanations] [OptionExplanations]
GamePrefAutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania\n( or alternatively hit F2! ) UserPrefAutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania\n( or alternatively hit F2! )
GamePrefNotePosition=Determines where the arrow receptors are placed in gameplay. UserPrefNotePosition=Determines where the arrow receptors are placed in gameplay.
GamePrefComboOnRolls=Choose if rolls should increment the combo or not. UserPrefComboOnRolls=Choose if rolls should increment the combo or not.
GamePrefComboUnderField=Determine if the combo should display under the notes or not. UserPrefComboUnderField=Determine if the combo should display under the notes or not.
UserPrefGameplayShowScore=Show or Hide the score display in gameplay. UserPrefGameplayShowScore=Show or Hide the score display in gameplay.
UserPrefSpecialScoringMode=Select the scoring mode to be used if the Special scoring type is selected. UserPrefSpecialScoringMode=Select the scoring mode to be used if the Special scoring type is selected.
@@ -107,6 +126,7 @@ Steps=Adjust the difficulty of the steps.
Characters=Dancing buddies. Characters=Dancing buddies.
SaveToProfileHelp=Requires profile or memory card. SaveToProfileHelp=Requires profile or memory card.
MusicRateHelp=Play the music at a faster rate. MusicRateHelp=Play the music at a faster rate.
[StepsListDisplayRow StepsType] [StepsListDisplayRow StepsType]
Dance_Single=4 Dance_Single=4
Dance_Double=8 Dance_Double=8
+764 -719
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -142,7 +142,7 @@ static void StartMusic( MusicToPlay &ToPlay )
{ {
LOG->Trace( "Found '%s'", ToPlay.m_sTimingFile.c_str() ); LOG->Trace( "Found '%s'", ToPlay.m_sTimingFile.c_str() );
Song song; Song song;
if( GetExtension(ToPlay.m_sTimingFile.c_str()) == ".ssc" && if( GetExtension(ToPlay.m_sTimingFile) == ".ssc" &&
SSCLoader::LoadFromSSCFile(ToPlay.m_sTimingFile, song) ) SSCLoader::LoadFromSSCFile(ToPlay.m_sTimingFile, song) )
{ {
ToPlay.HasTiming = true; ToPlay.HasTiming = true;
@@ -152,7 +152,7 @@ static void StartMusic( MusicToPlay &ToPlay )
if( pStepsCabinetLights ) if( pStepsCabinetLights )
pStepsCabinetLights->GetNoteData( ToPlay.m_LightsData ); pStepsCabinetLights->GetNoteData( ToPlay.m_LightsData );
} }
else if( GetExtension(ToPlay.m_sTimingFile.c_str()) == ".sm" && else if( GetExtension(ToPlay.m_sTimingFile) == ".sm" &&
SMLoader::LoadFromSMFile(ToPlay.m_sTimingFile, song) ) SMLoader::LoadFromSMFile(ToPlay.m_sTimingFile, song) )
{ {
ToPlay.HasTiming = true; ToPlay.HasTiming = true;
+7 -2
View File
@@ -355,9 +355,14 @@ void GameState::JoinPlayer( PlayerNumber pn )
if( ALLOW_LATE_JOIN && m_pCurStyle != NULL ) if( ALLOW_LATE_JOIN && m_pCurStyle != NULL )
{ {
const Style *pStyle; const Style *pStyle;
// only use one player for StyleType_OnePlayerTwoSides. // Only use one player for StyleType_OnePlayerTwoSides and StepsTypes
// that can only be played by one player (e.g. dance-solo,
// dance-threepanel, popn-nine). -aj
// XXX?: still shows joined player as "Insert Card". May not be an issue? -aj // XXX?: still shows joined player as "Insert Card". May not be an issue? -aj
if( m_pCurStyle->m_StyleType == StyleType_OnePlayerTwoSides ) if( m_pCurStyle->m_StyleType == StyleType_OnePlayerTwoSides ||
m_pCurStyle->m_StepsType == StepsType_dance_solo ||
m_pCurStyle->m_StepsType == StepsType_dance_threepanel ||
m_pCurStyle->m_StepsType == StepsType_popn_nine )
pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, 1, m_pCurStyle->m_StepsType ); pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, 1, m_pCurStyle->m_StepsType );
else else
pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, GetNumSidesJoined(), m_pCurStyle->m_StepsType ); pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, GetNumSidesJoined(), m_pCurStyle->m_StepsType );
+13 -11
View File
@@ -542,7 +542,7 @@ void NoteDisplay::DrawHoldBody( const TapNote& tn, int iCol, float fBeat, bool b
DISPLAY->SetZTestMode( bWavyPartsNeedZBuffer?ZTEST_WRITE_ON_PASS:ZTEST_OFF ); DISPLAY->SetZTestMode( bWavyPartsNeedZBuffer?ZTEST_WRITE_ON_PASS:ZTEST_OFF );
DISPLAY->SetZWrite( bWavyPartsNeedZBuffer ); DISPLAY->SetZWrite( bWavyPartsNeedZBuffer );
/* Hack: Z effects need a finer grain step. */ // Hack: Z effects need a finer grain step.
const int fYStep = bWavyPartsNeedZBuffer? 4: 16; // use small steps only if wavy const int fYStep = bWavyPartsNeedZBuffer? 4: 16; // use small steps only if wavy
if( bFlipHoldBody ) if( bFlipHoldBody )
@@ -641,16 +641,18 @@ void NoteDisplay::DrawHold( const TapNote &tn, int iCol, int iRow, bool bIsBeing
/* The body and caps should have no overlap, so their order doesn't matter. /* The body and caps should have no overlap, so their order doesn't matter.
* Draw the head last, so it appears on top. */ * Draw the head last, so it appears on top. */
float fBeat = NoteRowToBeat(iRow); float fBeat = NoteRowToBeat(iRow);
//if( !cache->m_bHoldHeadIsAboveWavyParts ) /*
//{ if( !cache->m_bHoldHeadIsAboveWavyParts )
// Actor *pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld ); {
// DrawActor( tn, pActor, NotePart_HoldHead, iCol, bFlipHeadAndTail ? fEndYOffset : fStartYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); Actor *pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld );
//} DrawActor( tn, pActor, NotePart_HoldHead, iCol, bFlipHeadAndTail ? fEndYOffset : fStartYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar );
//if( !cache->m_bHoldTailIsAboveWavyParts ) }
//{ if( !cache->m_bHoldTailIsAboveWavyParts )
// Actor *pActor = GetHoldActor( m_HoldTail, NotePart_HoldTail, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld ); {
// DrawActor( tn, pActor, NotePart_HoldTail, iCol, bFlipHeadAndTail ? fStartYOffset : fEndYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); Actor *pActor = GetHoldActor( m_HoldTail, NotePart_HoldTail, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld );
//} DrawActor( tn, pActor, NotePart_HoldTail, iCol, bFlipHeadAndTail ? fStartYOffset : fEndYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar );
}
*/
DrawHoldBody( tn, iCol, fBeat, bIsBeingHeld, fYHead, fYTail, bIsAddition, fPercentFadeToFail, fColorScale, false, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); DrawHoldBody( tn, iCol, fBeat, bIsBeingHeld, fYHead, fYTail, bIsAddition, fPercentFadeToFail, fColorScale, false, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar );
DrawHoldBody( tn, iCol, fBeat, bIsBeingHeld, fYHead, fYTail, bIsAddition, fPercentFadeToFail, fColorScale, true, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); DrawHoldBody( tn, iCol, fBeat, bIsBeingHeld, fYHead, fYTail, bIsAddition, fPercentFadeToFail, fColorScale, true, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar );
+3 -3
View File
@@ -2598,7 +2598,7 @@ void Player::UpdateJudgedRows()
{ {
int iRow = iter.Row(); int iRow = iter.Row();
// if row is within a warp section, ignore it. -aj // If row is within a warp section, ignore it. -aj
if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow(iRow) ) if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow(iRow) )
continue; continue;
@@ -2933,7 +2933,7 @@ void Player::HandleTapRowScore( unsigned row )
bNoCheating = false; bNoCheating = false;
#endif #endif
// more warp hackery. -aj // Warp hackery. -aj
if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( row ) ) if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( row ) )
return; return;
@@ -3037,7 +3037,7 @@ void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumH
bNoCheating = false; bNoCheating = false;
#endif #endif
// more warp hackery. -aj // More warp hackery. -aj
if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( iRow ) ) if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( iRow ) )
return; return;
+8 -5
View File
@@ -85,11 +85,12 @@ public:
m_iNumExtraStagesPassed(0), m_iNumExtraStagesFailed(0), m_iNumExtraStagesPassed(0), m_iNumExtraStagesFailed(0),
m_iNumToasties(0), m_iTotalTapsAndHolds(0), m_iTotalJumps(0), m_iNumToasties(0), m_iTotalTapsAndHolds(0), m_iTotalJumps(0),
m_iTotalHolds(0), m_iTotalRolls(0), m_iTotalMines(0), m_iTotalHolds(0), m_iTotalRolls(0), m_iTotalMines(0),
m_iTotalHands(0), m_iTotalLifts(0), m_UnlockedEntryIDs(), m_iTotalHands(0), m_iTotalLifts(0), m_bNewProfile(false),
m_sLastPlayedMachineGuid(""), m_LastPlayedDate(), m_UnlockedEntryIDs(), m_sLastPlayedMachineGuid(""),
m_iNumSongsPlayedByStyle(), m_iNumTotalSongsPlayed(0), m_LastPlayedDate(),m_iNumSongsPlayedByStyle(),
m_UserData(), m_SongHighScores(), m_CourseHighScores(), m_iNumTotalSongsPlayed(0), m_UserData(), m_SongHighScores(),
m_vScreenshots(), m_mapDayToCaloriesBurned() m_CourseHighScores(), m_vScreenshots(),
m_mapDayToCaloriesBurned()
{ {
m_lastSong.Unset(); m_lastSong.Unset();
m_lastCourse.Unset(); m_lastCourse.Unset();
@@ -182,6 +183,8 @@ public:
int m_iTotalMines; int m_iTotalMines;
int m_iTotalHands; int m_iTotalHands;
int m_iTotalLifts; int m_iTotalLifts;
/** @brief Is this a brand new profile? */
bool m_bNewProfile;
set<RString> m_UnlockedEntryIDs; set<RString> m_UnlockedEntryIDs;
/** /**
* @brief Which machine did we play on last, based on the Guid? * @brief Which machine did we play on last, based on the Guid?
+11
View File
@@ -97,6 +97,7 @@ void ProfileManager::Init()
m_bLastLoadWasTamperedOrCorrupt[p] = false; m_bLastLoadWasTamperedOrCorrupt[p] = false;
m_bLastLoadWasFromLastGood[p] = false; m_bLastLoadWasFromLastGood[p] = false;
m_bNeedToBackUpLastLoad[p] = false; m_bNeedToBackUpLastLoad[p] = false;
m_bNewProfile[p] = false;
} }
LoadMachineProfile(); LoadMachineProfile();
@@ -222,6 +223,7 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits
vector<RString> asDirsToTry; vector<RString> asDirsToTry;
GetMemoryCardProfileDirectoriesToTry( asDirsToTry ); GetMemoryCardProfileDirectoriesToTry( asDirsToTry );
m_bNewProfile[pn] = true;
for( unsigned i = 0; i < asDirsToTry.size(); ++i ) for( unsigned i = 0; i < asDirsToTry.size(); ++i )
{ {
@@ -239,6 +241,7 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits
ProfileLoadResult res = LoadProfile( pn, sDir, true ); ProfileLoadResult res = LoadProfile( pn, sDir, true );
if( res == ProfileLoadResult_Success ) if( res == ProfileLoadResult_Success )
{ {
m_bNewProfile[pn] = false;
/* If importing, store the directory we imported from, for display purposes. */ /* If importing, store the directory we imported from, for display purposes. */
if( i > 0 ) if( i > 0 )
m_sProfileDirImportedFrom[pn] = asDirsToTry[i]; m_sProfileDirImportedFrom[pn] = asDirsToTry[i];
@@ -246,8 +249,11 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits
} }
if( res == ProfileLoadResult_FailedTampered ) if( res == ProfileLoadResult_FailedTampered )
{
m_bNewProfile[pn] = false;
break; break;
} }
}
/* If we imported a profile fallback directory, change the memory card /* If we imported a profile fallback directory, change the memory card
* directory back to the preferred directory: never write over imported * directory back to the preferred directory: never write over imported
@@ -544,6 +550,11 @@ bool ProfileManager::ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const
return !m_sProfileDir[pn].empty() && m_bWasLoadedFromMemoryCard[pn]; return !m_sProfileDir[pn].empty() && m_bWasLoadedFromMemoryCard[pn];
} }
bool ProfileManager::ProfileFromMemoryCardIsNew( PlayerNumber pn ) const
{
return GetProfile(pn) && m_bWasLoadedFromMemoryCard[pn] && m_bNewProfile[pn];
}
bool ProfileManager::LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const bool ProfileManager::LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const
{ {
return !m_sProfileDir[pn].empty() && m_bLastLoadWasTamperedOrCorrupt[pn]; return !m_sProfileDir[pn].empty() && m_bLastLoadWasTamperedOrCorrupt[pn];
+2
View File
@@ -77,6 +77,7 @@ public:
RString GetPlayerName( PlayerNumber pn ) const; RString GetPlayerName( PlayerNumber pn ) const;
bool ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const; bool ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const;
bool ProfileFromMemoryCardIsNew( PlayerNumber pn ) const;
bool LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const; bool LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const;
bool LastLoadWasFromLastGood( PlayerNumber pn ) const; bool LastLoadWasFromLastGood( PlayerNumber pn ) const;
@@ -117,6 +118,7 @@ private:
bool m_bLastLoadWasTamperedOrCorrupt[NUM_PLAYERS]; // true if Stats.xml was present, but failed to load (probably because of a signature failure) bool m_bLastLoadWasTamperedOrCorrupt[NUM_PLAYERS]; // true if Stats.xml was present, but failed to load (probably because of a signature failure)
bool m_bLastLoadWasFromLastGood[NUM_PLAYERS]; // if true, then m_bLastLoadWasTamperedOrCorrupt is also true bool m_bLastLoadWasFromLastGood[NUM_PLAYERS]; // if true, then m_bLastLoadWasTamperedOrCorrupt is also true
mutable bool m_bNeedToBackUpLastLoad[NUM_PLAYERS]; // if true, back up profile on next save mutable bool m_bNeedToBackUpLastLoad[NUM_PLAYERS]; // if true, back up profile on next save
bool m_bNewProfile[NUM_PLAYERS];
Profile *m_pMemoryCardProfile[NUM_PLAYERS]; // holds Profile for the currently inserted card Profile *m_pMemoryCardProfile[NUM_PLAYERS]; // holds Profile for the currently inserted card
Profile *m_pMachineProfile; Profile *m_pMachineProfile;
-1
View File
@@ -151,7 +151,6 @@ bool RoomWheel::Select()
{ {
// Since this is not actually an option outside of this wheel, NULL is a good idea. // Since this is not actually an option outside of this wheel, NULL is a good idea.
m_LastSelection = NULL; m_LastSelection = NULL;
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry( SM_BackFromRoomName, ENTER_ROOM_NAME, "", 255 ); ScreenTextEntry::TextEntry( SM_BackFromRoomName, ENTER_ROOM_NAME, "", 255 );
} }
return false; return false;
-7
View File
@@ -3531,7 +3531,6 @@ void ScreenEdit::HandleStepsInformationChoice( StepsInformationChoice c, const v
switch( c ) switch( c )
{ {
case description: case description:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry( ScreenTextEntry::TextEntry(
SM_None, SM_None,
ENTER_NEW_DESCRIPTION, ENTER_NEW_DESCRIPTION,
@@ -3580,8 +3579,6 @@ void ScreenEdit::HandleSongInformationChoice( SongInformationChoice c, const vec
{ {
Song* pSong = GAMESTATE->m_pCurSong; Song* pSong = GAMESTATE->m_pCurSong;
// todo: Call a screen with class ScreenTextEntry instead.
// multiple times in this section, so I'm only saying it here. -aj
switch( c ) switch( c )
{ {
DEFAULT_FAIL(c); DEFAULT_FAIL(c);
@@ -3628,7 +3625,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
{ {
DEFAULT_FAIL( c ); DEFAULT_FAIL( c );
case bpm: case bpm:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry( ScreenTextEntry::TextEntry(
SM_BackFromBPMChange, SM_BackFromBPMChange,
ENTER_BPM_VALUE, ENTER_BPM_VALUE,
@@ -3637,7 +3633,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
); );
break; break;
case stop: case stop:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry( ScreenTextEntry::TextEntry(
SM_BackFromStopChange, SM_BackFromStopChange,
ENTER_STOP_VALUE, ENTER_STOP_VALUE,
@@ -3646,7 +3641,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
); );
break; break;
case delay: case delay:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry( ScreenTextEntry::TextEntry(
SM_BackFromDelayChange, SM_BackFromDelayChange,
ENTER_DELAY_VALUE, ENTER_DELAY_VALUE,
@@ -3687,7 +3681,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice
); );
break; break;
case warp: case warp:
// todo: Call a screen with class ScreenTextEntry instead. -aj
ScreenTextEntry::TextEntry( ScreenTextEntry::TextEntry(
SM_BackFromWarpChange, SM_BackFromWarpChange,
ENTER_WARP_VALUE, ENTER_WARP_VALUE,
+1
View File
@@ -35,6 +35,7 @@ void ScreenGameplaySyncMachine::Init()
SongUtil::GetPlayableSteps( &m_Song, vpSteps ); SongUtil::GetPlayableSteps( &m_Song, vpSteps );
ASSERT_M(vpSteps.size() > 0, "No playable steps for ScreenGameplaySyncMachine"); ASSERT_M(vpSteps.size() > 0, "No playable steps for ScreenGameplaySyncMachine");
Steps *pSteps = vpSteps[0]; Steps *pSteps = vpSteps[0];
// TODO: Either detect which player accessed this file, or FOREACH all of them. -Wolfman2000
GAMESTATE->m_pCurSteps[0].Set( pSteps ); GAMESTATE->m_pCurSteps[0].Set( pSteps );
GamePreferences::m_AutoPlay.Set( PC_HUMAN ); GamePreferences::m_AutoPlay.Set( PC_HUMAN );
+2 -1
View File
@@ -81,7 +81,8 @@ void ScreenNameEntryTraditional::BeginScreen()
GAMESTATE->GetRankingFeats( pn, aFeats ); GAMESTATE->GetRankingFeats( pn, aFeats );
bool bNoStagesLeft = GAMESTATE->m_iPlayerStageTokens[pn] <= 0; bool bNoStagesLeft = GAMESTATE->m_iPlayerStageTokens[pn] <= 0;
m_bEnteringName[pn] = aFeats.size() > 0 && bNoStagesLeft; m_bEnteringName[pn] = ( aFeats.size() > 0 ||
PROFILEMAN->ProfileFromMemoryCardIsNew(pn) ) && bNoStagesLeft;
m_bFinalized[pn] = !m_bEnteringName[pn]; m_bFinalized[pn] = !m_bEnteringName[pn];
} }
+2 -2
View File
@@ -25,8 +25,8 @@ void ScreenOptionsExportPackage::Init()
void ScreenOptionsExportPackage::BeginScreen() void ScreenOptionsExportPackage::BeginScreen()
{ {
// Fill m_vsPossibleDirsToExport // Fill m_vsPossibleDirsToExport
// todo: split these out over multiple screens so the scroller // todo: Split these out over multiple screens so the scroller
// isn't so overloaded. -freem // isn't so overloaded. (See ScreenOptionsToggleSongs) -freem
{ {
// Add themes // Add themes
{ {
+1 -2
View File
@@ -809,8 +809,7 @@ void ScreenSelectMaster::MenuStart( const InputEventPlus &input )
mc.ApplyToAllPlayers(); mc.ApplyToAllPlayers();
// We want to be able to broadcast a Start message to the theme, in // We want to be able to broadcast a Start message to the theme, in
// case a themer wants to handle something. -aj // case a themer wants to handle something. -aj
// TODO: Find a way to differentiate this from the message below, for // TODO: Add a param to differentiate this from the message below.
// less ambiguousness?
MESSAGEMAN->Broadcast( (MessageID)(Message_MenuStartP1+pn) ); MESSAGEMAN->Broadcast( (MessageID)(Message_MenuStartP1+pn) );
return; return;
} }
+3 -4
View File
@@ -485,7 +485,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input )
m_bStepsChosen[input.pn] ) m_bStepsChosen[input.pn] )
return; // ignore return; // ignore
// todo: use mousewheel to scroll MusicWheel -aj // todo: Allow mousewheel to scroll MusicWheel -aj
if( USE_PLAYER_SELECT_MENU ) if( USE_PLAYER_SELECT_MENU )
{ {
@@ -1528,9 +1528,8 @@ void ScreenSelectMusic::AfterStepsOrTrailChange( const vector<PlayerNumber> &vpn
} }
else else
{ {
// I don't like how numbers just stay up there if the current // The numbers shouldn't stay if the current selection is NULL.
// selection is NULL. // todo: Let themers set the text value instead of just using 0. -aj
// todo: Let themers set the text instead of just using 0. -aj
m_textHighScore[pn].SetText( ssprintf("%*i", NUM_SCORE_DIGITS, 0) ); m_textHighScore[pn].SetText( ssprintf("%*i", NUM_SCORE_DIGITS, 0) );
} }
} }
+5 -4
View File
@@ -19,6 +19,9 @@
#include "LuaBinding.h" #include "LuaBinding.h"
#include "EnumHelper.h" #include "EnumHelper.h"
ThemeMetric<int> SORT_BPM_DIVISION ( "MusicWheel", "SortBPMDivision" );
ThemeMetric<int> SORT_LENGTH_DIVISION ( "MusicWheel", "SortLengthDivision" );
bool SongCriteria::Matches( const Song *pSong ) const bool SongCriteria::Matches( const Song *pSong ) const
{ {
if( !m_sGroupName.empty() && m_sGroupName != pSong->m_sGroupName ) if( !m_sGroupName.empty() && m_sGroupName != pSong->m_sGroupName )
@@ -595,8 +598,7 @@ RString SongUtil::GetSectionNameFromSongAndSort( const Song* pSong, SortOrder so
return SORT_NOT_AVAILABLE.GetValue(); return SORT_NOT_AVAILABLE.GetValue();
case SORT_BPM: case SORT_BPM:
{ {
// todo: make this a theme metric? -aj const int iBPMGroupSize = SORT_BPM_DIVISION;
const int iBPMGroupSize = 20;
DisplayBpms bpms; DisplayBpms bpms;
pSong->GetDisplayBpms( bpms ); pSong->GetDisplayBpms( bpms );
int iMaxBPM = (int)bpms.GetMax(); int iMaxBPM = (int)bpms.GetMax();
@@ -605,8 +607,7 @@ RString SongUtil::GetSectionNameFromSongAndSort( const Song* pSong, SortOrder so
} }
case SORT_LENGTH: case SORT_LENGTH:
{ {
// todo: make this a theme metric? -aj const int iSortLengthSize = SORT_LENGTH_DIVISION;
const int iSortLengthSize = 5;
int iMaxLength = (int)pSong->m_fMusicLengthSeconds; int iMaxLength = (int)pSong->m_fMusicLengthSeconds;
iMaxLength += (iSortLengthSize - (iMaxLength%iSortLengthSize) - 1); iMaxLength += (iSortLengthSize - (iMaxLength%iSortLengthSize) - 1);
int iMinLength = iMaxLength - (iSortLengthSize-1); int iMinLength = iMaxLength - (iSortLengthSize-1);
@@ -331,7 +331,6 @@ static BOOL CALLBACK DIMouse_EnumDevObjectsProc(LPCDIDEVICEOBJECTINSTANCE dev, L
in.ofs = dev->dwOfs; in.ofs = dev->dwOfs;
// xxx: does this check for scrollwheels? -aj
if(dev->dwType & DIDFT_BUTTON) if(dev->dwType & DIDFT_BUTTON)
{ {
in.type = in.BUTTON; in.type = in.BUTTON;
@@ -398,7 +398,7 @@ void InputHandler_Linux_Event::InputThread()
DeviceButton neg = g_apEventDevices[i]->aiAbsMappingLow[event.code]; DeviceButton neg = g_apEventDevices[i]->aiAbsMappingLow[event.code];
DeviceButton pos = g_apEventDevices[i]->aiAbsMappingHigh[event.code]; DeviceButton pos = g_apEventDevices[i]->aiAbsMappingHigh[event.code];
float l = SCALE( int(event.value), (float) g_apEventDevices[i]->aiAbsMin[i], (float) g_apEventDevices[i]->aiAbsMax[i], -1.0f, 1.0f ); float l = SCALE( int(event.value), (float) g_apEventDevices[i]->aiAbsMin[event.code], (float) g_apEventDevices[i]->aiAbsMax[event.code], -1.0f, 1.0f );
ButtonPressed( DeviceInput(g_apEventDevices[i]->m_Dev, neg, max(-l,0), now) ); ButtonPressed( DeviceInput(g_apEventDevices[i]->m_Dev, neg, max(-l,0), now) );
ButtonPressed( DeviceInput(g_apEventDevices[i]->m_Dev, pos, max(+l,0), now) ); ButtonPressed( DeviceInput(g_apEventDevices[i]->m_Dev, pos, max(+l,0), now) );
break; break;
+2 -2
View File
@@ -101,7 +101,7 @@ void run()
CHECK( test.GetElapsedTimeFromBeat(15.0f), 14.5f ); // stopped CHECK( test.GetElapsedTimeFromBeat(15.0f), 14.5f ); // stopped
CHECK( test.GetElapsedTimeFromBeat(16), 20.0f ); CHECK( test.GetElapsedTimeFromBeat(16), 20.0f );
/* todo: add warp tests once the warp code is done */ // todo: add warp tests -aj
RageTimer foobar; RageTimer foobar;
/* We can look up the time of any given beat, then look up the beat of that /* We can look up the time of any given beat, then look up the beat of that
@@ -124,10 +124,10 @@ int q = 0;
} }
LOG->Trace("... %i in %f", q, foobar.GetDeltaTime()); LOG->Trace("... %i in %f", q, foobar.GetDeltaTime());
// todo: add warp segments
TimingData test2; TimingData test2;
test2.AddBPMSegment( BPMSegment(0, 60) ); test2.AddBPMSegment( BPMSegment(0, 60) );
test2.AddStopSegment( StopSegment(0, 1) ); test2.AddStopSegment( StopSegment(0, 1) );
//test2.AddWarpSegment( WarpSegment() );
CHECK( test2.GetBeatFromElapsedTime(-1), -1.0f ); CHECK( test2.GetBeatFromElapsedTime(-1), -1.0f );
CHECK( test2.GetBeatFromElapsedTime(0), 0.0f ); CHECK( test2.GetBeatFromElapsedTime(0), 0.0f );
CHECK( test2.GetBeatFromElapsedTime(1), 0.0f ); CHECK( test2.GetBeatFromElapsedTime(1), 0.0f );