diff --git a/Themes/Til Death/BGAnimations/ScreenEvaluation overlay/default.lua b/Themes/Til Death/BGAnimations/ScreenEvaluation overlay/default.lua index c4056b346c..5273593a7c 100644 --- a/Themes/Til Death/BGAnimations/ScreenEvaluation overlay/default.lua +++ b/Themes/Til Death/BGAnimations/ScreenEvaluation overlay/default.lua @@ -1,12 +1,12 @@ local t = Def.ActorFrame{} -t[#t+1] = LoadActor("../_frame"); -t[#t+1] = LoadActor("../_PlayerInfo"); -t[#t+1] = LoadActor("currenttime"); +t[#t+1] = LoadActor("../_frame") +t[#t+1] = LoadActor("../_PlayerInfo") +t[#t+1] = LoadActor("currenttime") --what the settext says t[#t+1] = LoadFont("Common Large")..{ - InitCommand=cmd(xy,5,32;halign,0;valign,1;zoom,0.55;diffuse,getMainColor('positive');settext,"Results:";); + InitCommand=cmd(xy,5,32;halign,0;valign,1;zoom,0.55;diffuse,getMainColor('positive');settext,"Results:") } --Group folder name @@ -16,19 +16,15 @@ local frameX = SCREEN_WIDTH-5 local frameY = 15 t[#t+1] = LoadFont("Common Large") .. { - InitCommand=cmd(xy,frameX,frameY+5;halign,1;zoom,0.55;maxwidth,(frameWidth-40)/0.35); - BeginCommand=cmd(queuecommand,"Set";diffuse,getMainColor('positive')); + InitCommand=cmd(xy,frameX,frameY+5;halign,1;zoom,0.55;maxwidth,(frameWidth-40)/0.35), + BeginCommand=cmd(queuecommand,"Set";diffuse,getMainColor('positive')), SetCommand=function(self) local song = GAMESTATE:GetCurrentSong() - local course = GAMESTATE:GetCurrentCourse() - if song ~= nil and (not GAMESTATE:IsCourseMode()) then + if song ~= nil then self:settext(song:GetGroupName()) - end; - if course ~= nil and GAMESTATE:IsCourseMode() then - self:settext(course:GetGroupName()) - end; - end; -}; + end + end +} t[#t+1] = LoadActor("../_cursor"); diff --git a/Themes/Til Death/BGAnimations/ScreenEvaluation underlay.lua b/Themes/Til Death/BGAnimations/ScreenEvaluation underlay.lua index da512a7fb8..c0a05526b4 100644 --- a/Themes/Til Death/BGAnimations/ScreenEvaluation underlay.lua +++ b/Themes/Til Death/BGAnimations/ScreenEvaluation underlay.lua @@ -1,4 +1,4 @@ -local enabled = themeConfig:get_data().global.SongBGEnabled and not(GAMESTATE:IsCourseMode()) +local enabled = themeConfig:get_data().global.SongBGEnabled local brightness = 0.4 local t = Def.ActorFrame{} @@ -6,10 +6,9 @@ if enabled then t[#t+1] = LoadSongBackground()..{ BeginCommand=function(self) self:scaletocover(0,0,SCREEN_WIDTH,SCREEN_BOTTOM) - self:diffusealpha(brightness); - end; + self:diffusealpha(brightness) + end } end - return t diff --git a/Themes/Til Death/BGAnimations/ScreenSelectMusic decorations/songinfo.lua b/Themes/Til Death/BGAnimations/ScreenSelectMusic decorations/songinfo.lua index b1bc9ed032..1b25965779 100644 --- a/Themes/Til Death/BGAnimations/ScreenSelectMusic decorations/songinfo.lua +++ b/Themes/Til Death/BGAnimations/ScreenSelectMusic decorations/songinfo.lua @@ -1,44 +1,40 @@ local update = false local t = Def.ActorFrame{ - BeginCommand=cmd(queuecommand,"Set"); - OffCommand=cmd(bouncebegin,0.2;xy,-500,0;); -- visible(false) doesn't seem to work with sleep - OnCommand=cmd(bouncebegin,0.2;xy,0,0;); + BeginCommand=cmd(queuecommand,"Set"), + OffCommand=cmd(bouncebegin,0.2;xy,-500,0), -- visible(false) doesn't seem to work with sleep + OnCommand=cmd(bouncebegin,0.2;xy,0,0), SetCommand=function(self) self:finishtweening() if getTabIndex() == 0 then - self:queuecommand("On"); + self:queuecommand("On") update = true else - self:queuecommand("Off"); + self:queuecommand("Off") update = false - end; - end; - TabChangedMessageCommand=cmd(queuecommand,"Set"); - PlayerJoinedMessageCommand=cmd(queuecommand,"Set"); -}; - + end + end, + TabChangedMessageCommand=cmd(queuecommand,"Set"), + PlayerJoinedMessageCommand=cmd(queuecommand,"Set") +} t[#t+1] = Def.Banner{ - InitCommand=cmd(x,10;y,61;halign,0;valign,0); + InitCommand=cmd(x,10;y,61;halign,0;valign,0), SetMessageCommand=function(self) if update then local top = SCREENMAN:GetTopScreen() if top:GetName() == "ScreenSelectMusic" or top:GetName() == "ScreenNetSelectMusic" then local song = GAMESTATE:GetCurrentSong() - local course = GAMESTATE:GetCurrentCourse() local group = top:GetMusicWheel():GetSelectedSection() if song then self:LoadFromSong(song) - elseif course then - self:LoadFromCourse(song) elseif group then self:LoadFromSongGroup(group) - end; - end; - end; + end + end + end self:scaletoclipped(capWideScale(get43size(384),384),capWideScale(get43size(120),120)) - end; - CurrentSongChangedMessageCommand=cmd(queuecommand,"Set"); -}; + end, + CurrentSongChangedMessageCommand=cmd(queuecommand,"Set") +} return t \ No newline at end of file diff --git a/Themes/Til Death/BGAnimations/_songbg.lua b/Themes/Til Death/BGAnimations/_songbg.lua index 85a3099395..94da89c2ec 100644 --- a/Themes/Til Death/BGAnimations/_songbg.lua +++ b/Themes/Til Death/BGAnimations/_songbg.lua @@ -2,7 +2,7 @@ local magnitude = 0.03 local maxDistX = SCREEN_WIDTH*magnitude local maxDistY = SCREEN_HEIGHT*magnitude -local enabled = themeConfig:get_data().global.SongBGEnabled and not(GAMESTATE:IsCourseMode()) +local enabled = themeConfig:get_data().global.SongBGEnabled local brightness = 0.3 local t = Def.ActorFrame{} diff --git a/Themes/Til Death/Languages/en.ini b/Themes/Til Death/Languages/en.ini index 2b4a5f4996..a014f7dc8a 100644 --- a/Themes/Til Death/Languages/en.ini +++ b/Themes/Til Death/Languages/en.ini @@ -17,14 +17,6 @@ Crazy=Crazy Nightmare=Nightmare HalfDouble=Half-Double -[CourseDifficulty] -Beginner=Beginner -Challenge=Insane -Hard=Hard -Easy=Easy -Edit=Edit -Medium=Normal - [ScreenTitleMenu] Engage=Engage ColorChange=Color Config diff --git a/Themes/Til Death/Scripts/02 Branches.lua b/Themes/Til Death/Scripts/02 Branches.lua index 4dd19e45e1..0956eac0b1 100644 --- a/Themes/Til Death/Scripts/02 Branches.lua +++ b/Themes/Til Death/Scripts/02 Branches.lua @@ -19,8 +19,6 @@ end function SelectMusicOrCourse() if IsNetSMOnline() then return "ScreenNetSelectMusic" - elseif GAMESTATE:IsCourseMode() then - return "ScreenSelectCourse" else return "ScreenSelectMusic" end @@ -131,12 +129,6 @@ Branch = { return SelectMusicOrCourse() elseif STATSMAN:GetCurStageStats():AllFailed() then return GameOverOrContinue() - elseif GAMESTATE:GetSmallestNumStagesLeftForAnyHumanPlayer() == 0 then - if not GAMESTATE:IsCourseMode() then - return "ScreenEvaluationSummary" - else - return GameOverOrContinue() - end else return SelectMusicOrCourse() end @@ -216,9 +208,6 @@ Branch = { return Branch.EvaluationScreen() end, AfterEvaluation = function() - if GAMESTATE:IsCourseMode() then - return "ScreenProfileSave" - else local maxStages = PREFSMAN:GetPreference("SongsPerPlay") local stagesLeft = GAMESTATE:GetSmallestNumStagesLeftForAnyHumanPlayer() local allFailed = STATSMAN:GetCurStageStats():AllFailed() @@ -237,7 +226,6 @@ Branch = { else return "ScreenProfileSave" end - end end, AfterSummary = function() return "ScreenProfileSaveSummary" diff --git a/Themes/Til Death/metrics.ini b/Themes/Til Death/metrics.ini index 576d9b8cf3..027780553f 100644 --- a/Themes/Til Death/metrics.ini +++ b/Themes/Til Death/metrics.ini @@ -168,7 +168,6 @@ ExtraColor=getMainColor('positive') [BPMDisplay] ShowQMarksInRandomCycle=false RandomCycleSpeed=0.01 -CourseCycleSpeed=0.02 [ScreenTitleMenu] @@ -301,14 +300,9 @@ NumWheelItems=15 ShowRoulette=false - [MusicWheelItem] - SongNameX=30 SongNameOnCommand= -CourseX=30 -CourseY=-3 -CourseOnCommand=zoom,0.875;halign,0;maxwidth,290/0.875; SectionExpandedX=10 SectionExpandedY=-6 @@ -328,8 +322,7 @@ SortOnCommand=zoom,0.875;halign,0;stopeffect;maxwidth,capWideScale(get43size(290 WheelNotifyIconX=215 WheelNotifyIconY=-7 WheelNotifyIconOnCommand=zoom,0.40;diffusealpha,0.4; - - + [TextBanner] TitleOnCommand=halign,0;zoom,0.55;y,-10;maxwidth,((capWideScale(get43size(350),350))-50)/0.55; SubtitleOnCommand=halign,0;zoom,0.35;maxwidth,((capWideScale(get43size(350),350))-50)/0.35;y,1; diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index ec4988f0d9..d8a1b4906e 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -303,7 +303,6 @@ EasyMeterText=Easy Meter GenreText=Genre GroupText=Group HardMeterText=Hard Meter -LengthText=Length MediumMeterText=Medium Meter PopularityText=Player's Best! PreferredText=Preferred @@ -312,13 +311,6 @@ RecentText=Recent FavoritesText=Favorites TopGradesText=Top Grades -CoursesText=Courses -AllCoursesText=All Courses -NonstopText=Nonstop Courses -OniText=Oni Courses -EndlessText=Endless Courses -SurvivalText=Survival Courses - NormalModeText=Normal Mode BattleModeText=Battle Mode (Disabled) @@ -359,7 +351,6 @@ AttractSoundFrequency=Set to ALWAYS to play sound every time during the attract AutoAdjust=AutoAdjust AutoMapOnJoyChange=If this setting is &oq;On&cq;, the game will remap joysticks if they were not previously connected. Turning auto mapping on will override any manually defined mappings. AutoPlay=This option is useful for those who would like to play without using a pad. However, you will not be able to set high scores or earn extra stages while this option is ON. -AutogenGroupCourses=Show group Nonstop and Endless courses that were created by Autogen. AutogenSteps=Automatically generate steps from other game types. AxisFix=Workaround for some adapters which map the D-Pad to Axis. Does not work on Mac OSX or Linux JS driver yet. BGBrightness=Controls how bright the background will appear. Turn this setting down if you have a hard time seeing the notes. @@ -381,9 +372,7 @@ CoinModeNoHome=When set to PAY you must insert coins before joining in. When se CoinsPerCredit=The number of coins that must be inserted before a player can join. (when Coin Mode = Pay) ComboContinuesBetweenSongs=If turned on, the combo will not be reset to 0 after every song. Connection=Connect to Server (To be specified) -CourseSortOrder=Determines how courses are sorted. CreateNew= -Create New Course=Create a new course. Create New Profile=Create a new player profile. DancePointsForOni=Toggle whether the score in Oni mode displays Dance Points or the Percent Score. DefaultFailType=IMMEDIATE stops play when all players run out of life. IMMEDIATE CONTINUE fails players when they run out of life, but allows play to continue. END OF SONG evaluates pass/fail at the end of the current stage. OFF disables fail. @@ -399,8 +388,6 @@ DisplayResolution=Choose the output resolution. A higher resolution will show m Display Options=BGFit, Appearance and UI options. Disqualification=If turned off, players cannot be disqualified from scoring. EasterEggs=Enable or disable some special easter eggs. -Edit Courses=Edit Courses -Edit Courses/Mods=Edit Courses/Mods Edit Songs/Steps=Edit Songs/Steps Practice Songs/Steps=Practice Songs/Steps EditorShowBGChangesPlay=Choose whether to display song backgrounds while playing. @@ -438,7 +425,6 @@ Key Joy Mappings=Map keys and joystick buttons to game functions. Language=Choose your language. LifeDifficulty=Increase this value to cause your life meter to drain faster and refill slower. LifeType=LifeType -LockCourseDifficulties=If enabled, players are not allowed to choose different difficulties in course mode. Advanced Options=Change advanced options such as scoring, timing window, and life meter settings. MasterVolume= HighResolutionTextures=Choose whether high resolution textures (if supported by the current theme) will be used. When set to Auto, high resolution textures will be used if the display height is > 480. @@ -552,15 +538,6 @@ OnlyPreferredDifficulties=Only Preferred Difficulties # PercentageScoring=Choose between displaying long form score and percent score. -# course -Select Course=Edit this course. -Max Minutes=How long the course should be at maximum. -Choose Song=Pick a song for this course slot. -Choose Steps=Choose a steps type for this song. - -Play=Play the course. -Save=Save the course. -Edit Course=Edit Course contents. Shuffle=Shuffle the songs around. # GamePrefDefaultFail=Immediate fail causes a player to die when their life bar reaches 0. ImmediateContinue allows you to continue playing afterwards. @@ -941,7 +918,6 @@ XMode=XMode Off=Off [OptionTitles] -Edit Courses/Mods=Edit Courses/Mods Accel=Acceleration Add/Edit Background Change=Add/Edit Background Change Add Attack=Add Attack @@ -968,7 +944,6 @@ AttractSoundFrequency=Attract Sound Frequency AutoAdjust=Auto Adjust AutoMapOnJoyChange=Automap Joysticks AutoPlay=AutoPlay -AutogenGroupCourses=Autogen Group Courses AutogenSteps=Autogen Steps AxisFix=Axis Fix BGBrightness=Brightness @@ -1013,9 +988,7 @@ Copy=Copy Copy timing data=Copy timing data Copy timing in region=Copy timing in region Copy Partial Timing=Copy Selected Timing Data -CourseSortOrder=Course Sort Create New=Create New -Create New Course=Create New Create New Profile=Create Profile Credit=Credit Cut=Cut @@ -1047,7 +1020,6 @@ FailOffInBeginner=Fail Off Beginner Genre=Genre HarshHotLifePenalty=Harsh Hot Life Penalty Practice Songs/Steps=Practice Songs/Steps -Edit Courses=Edit Courses Edit BPM change=Edit BPM change Edit song info=Edit song info Edit steps information=Edit steps information @@ -1132,7 +1104,6 @@ Layer=Layer Lifts=Lifts LifeDifficulty=Life Difficulty LifeType=Life Type -LockCourseDifficulties=Lock Course Difficulties Low Meter=Low Meter Advanced Options=Advanced Options Main title=Main title @@ -1174,7 +1145,6 @@ Persp=Perspective Play current beat to end=Play current beat to end Play preview music=Play preview music Play whole song=Play whole song -Play mods from course=Play mods from course Play selection=Play selection Player1Profile=Player1 Profile Player2Profile=Player2 Profile @@ -1313,7 +1283,6 @@ PercentageScoring=Percentage Scoring Max Minutes=Max Minutes Play=Play -Edit Course=Edit Course Shuffle=Shuffle # GamePrefDefaultFail=Default Fail Type @@ -1754,21 +1723,6 @@ ScoreOff=Off HeaderText=Network Options HeaderSubText=Configure networked gameplay -[ScreenOptionsEditCourse] -The maximum number of entries per course is %d. This course already has %d entries.=The maximum number of entries per course is %d. This course already has %d entries. -You cannot delete the last entry in a course.=You can not delete the last entry in a course. - -[ScreenOptionsEditCourseEntry] -No songs loaded.=No songs loaded. - -[ScreenOptionsManageCourses] -Continue with delete?=Continue with delete? -Enter a name for the course.=Enter a name for the course. -You have %d, the maximum number allowed.=You have %d, the maximum number allowed. -You must delete an existing before creating a new.=You must delete an existing before creating a new. -Error renaming file.=Error renaming file. -This course will be lost permanently.=This course will be lost permanently. -Error deleting the file '%s'.=Error deleting the file '%s'. [ScreenOptionsManageEditSteps] Enter a name for these steps.=Enter a name for these steps. These steps will be lost permanently.=These steps will be lost permanently. @@ -1776,15 +1730,6 @@ You have %d step edits, the maximum number allowed.=You have %d step edits, the You must delete an existing steps edit before creating a new steps edit.=You must delete an existing steps edit before creating a new steps edit. Continue with delete?=Continue with delete? -[ScreenOptionsCourseOverview] -Error saving course.=Error saving course. -Course saved successfully.=Course saved successfully. -Enter a name for the course.=Enter a name for the course. -Error renaming file.=Error renaming file. -This course will be lost permanently.=This course will be lost permanently. -Continue with delete?=Continue with delete? -Error deleting the file '%s'.=Error deleting the file "%s". - [NotesWriterSM] Error renaming file. Destination file '%s' already exists.=Error renaming file. Destination file '%s' already exists. Error writing file '%s'.=Error writing file '%s'. @@ -1916,9 +1861,6 @@ HeaderText=Select Music HeaderSubText=You will pick a cool song! PermanentlyDelete=Permanently delete '%s' ( %s ) from disk? -[ScreenSelectCourse] -HeaderText=Select Course - [ScreenSelectGroup] HeaderText=Select Group @@ -2086,21 +2028,17 @@ NotAvailable=N/A Other=Other [SortOrder] -AllCourses=All Courses Artist=Artist BPM=BPM -Endless=Endless Genre=Genre Group=Group ModeMenu=Mode Menu -Nonstop=Nonstop Oni=Oni Popularity=Players' Best Preferred=Preferred Title=Title TopGrades=Top Grades Roulette=Roulette -Length=Length Recent=Recently Played Favorites=Favorites BeginnerMeter=Beginner Meter @@ -2349,7 +2287,6 @@ P2=P2 Song=Song Steps=Steps StepsType=StepsType -Course=Course Modifier=Modifier [RageDisplay_Legacy] @@ -2446,13 +2383,6 @@ Tier15= Tier16= Tier17= -[ScreenOptionsEditCourse] --Empty-=-Empty- -Song=Song -Steps=Steps -minutes=minutes -You must enable at least %d songs.=You must enable at least %d songs. - [LowLevelWindow_Win32] OpenGL hardware acceleration is not available.=OpenGL hardware acceleration is not available. @@ -2690,17 +2620,6 @@ HeaderText=Background Change [ScreenMiniMenuInsertTapAttack] HeaderText=Insert Tap Attack -[ScreenMiniMenuInsertCourseAttack] -HeaderText=Insert Course Attack - -[ScreenMiniMenuCourseDisplay] -HeaderText=Course Display - -[CourseUtil] -You must supply a name for your course.=You must supply a name for your course. -The course name cannot contain any of the following characters: %s=The course name cannot contain any of the following characters: %s -The name you chose conflicts with another course. Please use a different name.=The name you chose conflicts with another course. Please use a different name. - [ScreenProfileLoad] Loading Profiles=Loading Profiles... @@ -2724,15 +2643,8 @@ HeaderText=Arcade HeaderText=Input [ScreenOptionsTheme] HeaderText=Theme Options -[ScreenOptionsManageCourses] -HeaderText=Courses [ScreenEditOptions] HeaderText= -[ScreenOptionsEditCourse] -HeaderText=Edit Course -HelpText=&MENUUP;&MENUDOWN; Move &MENULEFT;&MENURIGHT; Change Value -[ScreenOptionsCourseOverview] -HeaderText=Course Overview [ScreenSelectProfile] HeaderText=Select Profile SingularSongPlayed=%d Song Played diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 2694288234..19a20e6533 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -32,8 +32,6 @@ DefaultNoteSkinName="DivideByZero" # Difficulties to show. Useful for custom games where you want to hide these. DifficultiesToShow="beginner,easy,medium,hard,challenge" -# Same as above, but for courses. -CourseDifficultiesToShow="easy,medium,hard" # Things to hide. # StepsType_lights_cabinet will only be shown in lights mode. And we want it to # be shown in lights mode! So don't hide it here. @@ -42,9 +40,6 @@ StepsTypesToHide="" # Score placeholder for ScreenHighScores NoScoreName="STEP" -# The number of entries before "Various" is shown on the BPMDisplay, etc. -MaxCourseEntriesBeforeShowVarious=10 - # The screen that appears when pressing the operator button. OperatorMenuScreen="ScreenOptionsService" @@ -90,7 +85,6 @@ OMESStageModifiers="failimmediate,suddendeath" # How many different colors you can have in the MusicWheel NumSongGroupColors=1 -NumCourseGroupColors=1 # Legacy metric: how difficult a song has to be for it to glow. ExtraColorMeter=GetExtraColorThreshold() ExtraColor=color("#ff0000") -- red @@ -127,17 +121,6 @@ SongGroupColor22=color("#00aeef") -- blue SongGroupColor23=color("#00aeef") -- blue SongGroupColor24=color("#00aeef") -- blue SongGroupColor25=color("#00aeef") -- blue -# Lots of themes want more than one course color, too -CourseGroupColor1=color("1,1,1,1") -- white -CourseGroupColor2=color("1,1,1,1") -- white -CourseGroupColor3=color("1,1,1,1") -- white -CourseGroupColor4=color("1,1,1,1") -- white -CourseGroupColor5=color("1,1,1,1") -- white -CourseGroupColor6=color("1,1,1,1") -- white -CourseGroupColor7=color("1,1,1,1") -- white -CourseGroupColor8=color("1,1,1,1") -- white -CourseGroupColor9=color("1,1,1,1") -- white -CourseGroupColor10=color("1,1,1,1") -- white UnlockColor=color("1,0.5,0,1") [UnlockManager] @@ -293,7 +276,6 @@ Cycle=true NoBpmText="000" # How fast it cycles, smaller is faster RandomCycleSpeed=0.1 -CourseCycleSpeed=0.2 # Seperator between both bpms ( 100-200 ). Separator="-" # ??? when it cycles. @@ -447,37 +429,6 @@ ProtimingW4Command= ProtimingW5Command= ProtimingMissCommand= -[Course] -# The course colors change depending on what course sort order is being used. -# SortPreferredColor is used with preferred course sort. - -# [Song sort] number of songs in course -# 1-3 songs: SortLevel5Color -# 4-6 songs: SortLevel4Color -# 7+ songs : SortLevel2Color - -# [Meter sort] -# if all songs are fixed, return SortLevel1Color. -# meter 1-4: SortLevel5Color -# meter 5-6: SortLevel4Color -# meter 7-9: SortLevel3Color -# meter 10+: SortLevel2Color -# [Meter sum sort] is about the same, except the values are -# 1-19, 20-29, 30-39, and 40+. - -# [Rank sort] -# Ranking 1: SortLevel5Color -# Ranking 2: SortLevel3Color -# Ranking 3: SortLevel1Color -# Others : SortLevel4Color - -SortPreferredColor=color("1,1,1,1") -- Preferred is both for when courses are in preferred sort, or are autogen -SortLevel1Color=color("1,0,0,1") -SortLevel2Color=color("1,1,0,1") -SortLevel3Color=color("1,0.5,0,1") -SortLevel4Color=color("1,1,0,1") -SortLevel5Color=color("0,1,0,1") - [CustomDifficulty] # Custom system that lets you rename certain classes of difficulties to # something else. Mostly for custom games and game emulation, PIU for example. @@ -487,47 +438,38 @@ Names="PumpHard,PumpFreestyle,PumpNightmare,PumpHalfDoubleMedium" # Dance Couple Beginner DanceCoupleBeginnerStepsType="StepsType_Dance_Couple" DanceCoupleBeginnerDifficulty="Difficulty_Beginner" -DanceCoupleBeginnerCourseType=nil DanceCoupleBeginnerString="Beginner" # Dance Couple Easy DanceCoupleEasyStepsType="StepsType_Dance_Couple" DanceCoupleEasyDifficulty="Difficulty_Easy" -DanceCoupleEasyCourseType=nil DanceCoupleEasyString="Easy" # Dance Couple Medium DanceCoupleMediumStepsType="StepsType_Dance_Couple" DanceCoupleMediumDifficulty="Difficulty_Medium" -DanceCoupleMediumCourseType=nil DanceCoupleMediumString="Medium" # Dance Couple Hard DanceCoupleHardStepsType="StepsType_Dance_Couple" DanceCoupleHardDifficulty="Difficulty_Hard" -DanceCoupleHardCourseType=nil DanceCoupleHardString="Hard" # Dance Couple Expert DanceCoupleExpertStepsType="StepsType_Dance_Couple" DanceCoupleExpertDifficulty="Difficulty_Expert" -DanceCoupleExpertCourseType=nil DanceCoupleExpertString="Expert" # Pump Single Hard (Crazy) PumpHardStepsType="StepsType_Pump_Single" PumpHardDifficulty="Difficulty_Hard" -PumpHardCourseType=nil PumpHardString="Crazy" # Pump Double Medium (Freestyle) PumpFreestyleStepsType="StepsType_Pump_Double" PumpFreestyleDifficulty="Difficulty_Medium" -PumpFreestyleCourseType=nil PumpFreestyleString="Freestyle" # Pump Double Hard (Nightmare) PumpNightmareStepsType="StepsType_Pump_Double" PumpNightmareDifficulty="Difficulty_Hard" -PumpNightmareCourseType=nil PumpNightmareString="Nightmare" # Pump Half-Double Medium PumpHalfDoubleMediumStepsType="StepsType_Pump_Halfdouble" PumpHalfDoubleMediumDifficulty="Difficulty_Medium" -PumpHalfDoubleMediumCourseType=nil PumpHalfDoubleMediumString="HalfDouble" # # Difficulty_Beginner-StepsType_Pump_Single=Easy @@ -680,8 +622,6 @@ MinesSubtractLives=1 HeldAddLives=0 # how many lives an unsuccessful hold will cost you. LetGoSubtractLives=1 -# this function returns how many lives to add when a song ends in course mode. -CourseSongRewardLives=function(life_meter, pn) if GAMESTATE:GetCurrentSteps(pn):GetMeter() >= 8 then return 2 end return 1 end # How many lives trigger the "Danger" state. DangerThreshold=1 @@ -953,16 +893,13 @@ ShowPortal=false ShowSectionsInBPMSort=true SortBPMDivision=20 -ShowSectionsInLengthSort=true -SortLengthDivision=5 MostPlayedSongsToShow=30 RecentSongsToShow=30 UseEasyMarkerFlag=false -ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,Favorites" -# 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,Recent,Favorites" ChoicePreferred="sort,Preferred" ChoiceGroup="sort,Group" ChoiceTitle="sort,Title" @@ -979,7 +916,6 @@ ChoiceDoubleEasyMeter="sort,DoubleEasyMeter" ChoiceDoubleMediumMeter="sort,DoubleMediumMeter" ChoiceDoubleHardMeter="sort,DoubleHardMeter" ChoiceDoubleChallengeMeter="sort,DoubleChallengeMeter" -ChoiceLength="sort,Length" ChoiceRecent="sort,Recent" ChoiceFavorites="sort,Favorites" ChoiceNormalMode="playmode,regular" @@ -987,17 +923,6 @@ ChoiceBattleMode="playmode,battle" CustomWheelItemNames="" -[CourseWheel] -Fallback="MusicWheel" -# -ModeMenuChoiceNames="AllCourses,Nonstop,Oni,Endless,Survival" -# xxx: force nonstop on all courses? sounds lame but meh -ChoiceAllCourses="sort,AllCourses;playmode,nonstop;mod,bar" -ChoiceNonstop="sort,Nonstop;playmode,nonstop;mod,bar" -ChoiceOni="sort,Oni;playmode,oni;mod,battery" -ChoiceEndless="sort,Endless;playmode,endless;mod,bar" -ChoiceSurvival="sort,Oni;playmode,oni;mod,lifetime" - [OnlineMusicWheel] Fallback="MusicWheel" # roulette + online causes a sorting issue that should be hammered out first. -aj @@ -1014,10 +939,6 @@ SongNameX=0 SongNameY=0 SongNameOnCommand= # -CourseX=0 -CourseY=0 -CourseOnCommand= -# SectionExpandedX=0 SectionExpandedY=0 SectionExpandedOnCommand= @@ -2030,9 +1951,6 @@ ChoiceEasy="applydefaultoptions;name,Easy;text,Easy;playmode,regular;difficulty, ChoiceNormal="applydefaultoptions;name,Normal;text,Normal;playmode,regular;difficulty,easy;screen,ScreenSelectMusic;setenv,sMode,Normal" ChoiceHard="applydefaultoptions;name,Hard;text,Hard;playmode,regular;difficulty,hard;screen,ScreenSelectMusic;setenv,sMode,Normal" ChoiceRave="applydefaultoptions;name,Rave;text,Rave;playmode,rave;screen,ScreenSelectMusic;setenv,sMode,Rave" -ChoiceNonstop="applydefaultoptions;name,Nonstop;text,Extended;playmode,nonstop;screen,ScreenSelectCourse;setenv,sMode,Nonstop" -ChoiceOni="applydefaultoptions;name,Oni;text,Oni;playmode,oni;screen,ScreenSelectCourse;setenv,sMode,Oni" -ChoiceEndless="applydefaultoptions;name,Endless;text,Endless;playmode,endless;screen,ScreenSelectCourse;setenv,sMode,Endless" [ScreenSelectCharacter] Class="ScreenSelectCharacter" @@ -2083,7 +2001,7 @@ NextScreen=SongSelectionScreen() [ScreenGameInformation] Class="ScreenSelectMaster" Fallback="ScreenSelectMaster" -NextScreen=GAMESTATE:IsCourseMode() and "ScreenSelectCourse" or "ScreenSelectMusic" +NextScreen="ScreenSelectMusic" PrevScreen=Branch.TitleMenu() TimerSeconds=15 # @@ -2111,7 +2029,7 @@ RouletteTimerSeconds=15 IdleCommentSeconds=20 HardCommentMeter=10 # -DefaultSort=GAMESTATE:IsCourseMode() and "Group" or "AllCourses" +DefaultSort="Group" # SampleMusicPreviewMode='SampleMusicPreviewMode_Normal' SampleMusicLoops=true @@ -2195,23 +2113,6 @@ ScoreP2SortChangeCommand=stoptweening; ScoreFrameP1SortChangeCommand=stoptweening; ScoreFrameP2SortChangeCommand=stoptweening; -[ScreenSelectCourse] -Class="ScreenSelectMusic" -Fallback="ScreenSelectMusic" -# -DefaultSort="Nonstop" -ScreenModsCommand=setupcoursestagemods -# -MusicWheelType="CourseWheel" -Codes="CourseCodeDetector" - -[CourseCodeDetector] -Fallback="CodeDetector" -NextSort1= -NextSort2= -NextSort3= -NextSort4= - [StepsDisplay] FrameX=0 FrameY=0 @@ -2593,7 +2494,7 @@ Persp,5="mod,distant;name,Distant" # Song options # LifeType="3" -LifeType=(GAMESTATE:IsCourseMode() and 3 or 2)..";together" +LifeType=(3 or 2)..";together" LifeTypeDefault="" LifeType,1="mod,bar;name,Bar" LifeType,2="mod,battery;name,Battery" @@ -3074,7 +2975,6 @@ Line14="conf,EasterEggs" Line15="conf,AllowExtraStage" Line16="conf,UseUnlockSystem" Line28="conf,AutogenSteps" -Line29="conf,AutogenGroupCourses" Line30="conf,FastLoad" Line31="conf,FastLoadAdditionalSongs" Line32="conf,AllowSongDeletion" @@ -3125,10 +3025,6 @@ Line11="conf,ShowLyrics" Line12="conf,ShowNativeLanguage" Line14="conf,ShowSongOptions" -# unused options -#Line2="conf,CourseSortOrder" -#Line5="conf,MoveRandomToEnd" - [ScreenOptionsInput] Fallback="ScreenOptionsServiceChild" NextScreen="ScreenOptionsService" @@ -3163,7 +3059,6 @@ Line9="conf,Disqualification" LineHHLP="conf,HarshHotLifePenalty" Line10="conf,FailOffForFirstStageEasy" Line11="conf,FailOffInBeginner" -Line12="conf,LockCourseDifficulties" Line13="conf,MaxHighScoresPerListForMachine" Line14="conf,MaxHighScoresPerListForPlayer" @@ -3322,7 +3217,6 @@ TimerSeconds=-1 ResetGameState=true StepsTypesToHide="dance-couple,dance-solo,dance-routine,pump-halfdouble,pump-couple" PageFadeSeconds=1.0 -CoursesToShow=GetCoursesToShowRanking() SecondsPerPage=5 # RankingType="RankingType_Category" @@ -3345,8 +3239,6 @@ BannerOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-196;diffusealpha,1;scale BannerOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 CategoryOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-208;diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH CategoryOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 -CourseTitleOnCommand=x,SCREEN_CENTER_X+197;y,SCREEN_CENTER_Y-208;diffusealpha,1;maxwidth,230;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH -CourseTitleOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 StepsTypeOnCommand=x,SCREEN_CENTER_X+200;y,SCREEN_CENTER_Y-180;diffusealpha,1;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH StepsTypeOffCommand=sleep,0.0;linear,0.5;diffusealpha,0 # @@ -3447,7 +3339,6 @@ PrevScreen=Branch.BackOutOfStageInformation() TimerSeconds=-1 # ShowLifeMeterForDisabledPlayers=false -StopCourseEarly=false ShowEvaluationOnFail=true ShowScoreInRave=false UnpauseWithStart=true @@ -3478,7 +3369,6 @@ MinSecondsToMusic=2.0 MinSecondsToStepNextSong=2.0 MusicFadeOutSeconds=0.5 OutTransitionLength=5 -CourseTransitionLength=0.5 BeginFailedDelay=1.0 # New way to control where the notefields are on gameplay. # The MarginFunction will be passed GAMESTATE:EnabledPlayers() and the @@ -3641,12 +3531,6 @@ ScoreboardC3P2X=SCREEN_CENTER_X*1.75 ScoreboardC3P2Y=SCREEN_CENTER_Y*0.45 ScoreboardC3P2OnCommand=zoom,0.825;strokecolor,Color("Outline");shadowlength,1 -[ScreenGameplayEditCourse] -Class="ScreenGameplayNormal" -Fallback="ScreenGameplay" -PrevScreen="ScreenOptionsCourseOverview" -NextScreen="ScreenOptionsCourseOverview" - [ScreenGameplayShared] Class="ScreenGameplayShared" Fallback="ScreenGameplay" @@ -3944,22 +3828,12 @@ Fallback="ScreenOptionsSimpleService" NextScreen=Branch.TitleMenu() PrevScreen=Branch.TitleMenu() -LineNames="Edit,AV,Practice,Course,Credits" +LineNames="Edit,AV,Practice,Credits" LineEdit="gamecommand;screen,ScreenEditMenu;name,Edit Songs/Steps" LineAV="gamecommand;urlnoexit,https://www.ddrnl.com/viewtopic.php?f=13&t=156;name,Get a better editor" LinePractice="gamecommand;screen,ScreenPracticeMenu;name,Practice Songs/Steps" -LineCourse="gamecommand;screen,ScreenEditCourseModsMenu;name,Edit Courses/Mods" LineCredits="gamecommand;screen,ScreenCredits;name,StepMania Credits" -#Line4="gamecommand;screen,ScreenOptionsExportPackage;name,Export Packages" - -# broken: -# Line4="gamecommand;screen,ScreenOptionsManageCourses;name,Edit Courses" -# unused: -# Line4="gamecommand;screen,ScreenServiceActionCopyEditsMachineToMemoryCard;name,Transfer Edits to USB" -# Line5="gamecommand;screen,ScreenOptionsGraphicsSound;name,Transfer Edits from USB" -# Line6="gamecommand;screen,ScreenOptionsAdvanced;name,Clear USB edits" - [EditMenu] EditMode="EditMode_Full" ShowGroups=true @@ -4164,24 +4038,6 @@ NextScreen="ScreenOptionsEdit" PrevScreen="ScreenOptionsEdit" EditMode="EditMode_Practice" -[ScreenEditCourseModsMenu] -Fallback="ScreenEditMenu" -Class="ScreenEditMenu" -NextScreen="ScreenEditCourseMods" -PrevScreen="ScreenOptionsEdit" -EditMenuType="CourseModsMenu" - -[CourseModsMenu] -Fallback="EditMenu" -EditMode="EditMode_Full" - -[ScreenEditCourseMods] -Fallback="ScreenEdit" -Class="ScreenEdit" -NextScreen="ScreenOptionsEdit" -PrevScreen="ScreenOptionsEdit" -EditMode="EditMode_CourseMods" - [ScreenEditOptions] Fallback="ScreenOptions" Class="ScreenOptionsMaster" @@ -4294,15 +4150,6 @@ Fallback="ScreenMiniMenu" [ScreenMiniMenuInsertTapAttack] Fallback="ScreenMiniMenu" -[ScreenMiniMenuInsertCourseAttack] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuCourseDisplay] -Fallback="ScreenMiniMenu" - -[ScreenMiniMenuCourseOptions] -Fallback="ScreenMiniMenu" - # Export Packages [ScreenOptionsExportPackage] Class="ScreenOptionsExportPackage" @@ -4327,54 +4174,6 @@ OptionRowNormalMetricsGroup="OptionRowManage" Fallback="OptionRowService" TitleX=SCREEN_CENTER_X-150 -# Manage Courses -[OptionRowCourseOverview] -Fallback="OptionRowService" -ItemsLongRowSharedX=SCREEN_CENTER_X-100 -ColorSelected=color("1,1,1,1") -ColorNotSelected=color("0.9,0.9,0.9,1") -ColorDisabled=color("0.5,0.5,0.5,1") - -[ScreenOptionsManageCourses] -Class="ScreenOptionsManageCourses" -Fallback="ScreenOptionsManage" -PrevScreen="ScreenOptionsEdit" -NextScreen="ScreenOptionsEditCourse" -GroupedScreens="ScreenOptionsManageCourses,ScreenTextEntry,ScreenPrompt,ScreenOptionsEditCourseMods" -PersistScreens="ScreenOptionsManageCourses,ScreenTextEntry,ScreenPrompt" -PrepareScreens="ScreenTextEntry,ScreenPrompt" - -EditMode="EditMode_Full" -CreateNewScreen="ScreenOptionsEditCourse" - -OptionRowNormalMetricsGroup="OptionRowCourse" - -[OptionRowCourse] -Fallback="OptionRowService" -TitleX=SCREEN_CENTER_X - -[ScreenOptionsEditCourse] -Class="ScreenOptionsEditCourse" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsCourseOverview" -NextScreen="ScreenOptionsCourseOverview" -OptionRowNormalMetricsGroup="OptionRowEditCourse" - -[OptionRowEditCourse] -Fallback="OptionRowService" -TitleX=SCREEN_CENTER_X-200 -ItemsLongRowSharedX=SCREEN_CENTER_X - -[ScreenOptionsCourseOverview] -Class="ScreenOptionsCourseOverview" -Fallback="ScreenOptionsSimpleService" -PrevScreen="ScreenOptionsManageCourses" -NextScreen="ScreenOptionsManageCourses" -# huh -PlayScreen="ScreenGameplayEditCourse" -EditScreen="ScreenOptionsEditCourse" -OptionRowNormalMetricsGroup="OptionRowCourseOverview" - # visual/interactive syncing [ScreenGameplaySyncMachine] Class="ScreenGameplaySyncMachine" @@ -4723,7 +4522,6 @@ SecondsToShow=60 LightsMode="LightsMode_Demonstration" DifficultiesToShow="easy,medium" -ShowCourseModifiersProbability=0 AllowAdvancedModifiers=false AllowStyleTypes="TwoPlayersTwoSides" @@ -4801,7 +4599,6 @@ NextScreen="ScreenJukebox" PrevScreen="ScreenJukeboxMenu" StartScreen="ScreenTitleMenu" LightsMode="LightsMode_Demonstration" -ShowCourseModifiersProbability=0 AllowAdvancedModifiers=true [ScreenCredits] diff --git a/src/BPMDisplay.cpp b/src/BPMDisplay.cpp index e3552357b8..4f6bdaac4a 100644 --- a/src/BPMDisplay.cpp +++ b/src/BPMDisplay.cpp @@ -32,7 +32,6 @@ void BPMDisplay::Load() SET_EXTRA_COMMAND.Load( m_sName, "SetExtraCommand" ); CYCLE.Load( m_sName, "Cycle" ); RANDOM_CYCLE_SPEED.Load( m_sName, "RandomCycleSpeed" ); - COURSE_CYCLE_SPEED.Load( m_sName, "CourseCycleSpeed" ); SEPARATOR.Load( m_sName, "Separator" ); SHOW_QMARKS.Load( m_sName, "ShowQMarksInRandomCycle" ); NO_BPM_TEXT.Load( m_sName, "NoBpmText" ); diff --git a/src/GameState.cpp b/src/GameState.cpp index 7aaf2bb365..80c1661c33 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -2836,6 +2836,11 @@ class LunaGameState: public Luna p->m_autogen_fargs[si]= v; COMMON_RETURN_SELF; } + + static int IsCourseMode(T* p, lua_State* L) { + lua_pushboolean(L, false); + return 1; + } DEFINE_METHOD(GetEtternaVersion, GetEtternaVersion()) LunaGameState() { @@ -2949,6 +2954,7 @@ class LunaGameState: public Luna ADD_METHOD( SetStepsForEditMode ); ADD_METHOD( GetAutoGenFarg ); ADD_METHOD( SetAutoGenFarg ); + ADD_METHOD( IsCourseMode ); ADD_METHOD( GetEtternaVersion ); ADD_METHOD( CountNotesSeparately ); } diff --git a/src/Player.cpp b/src/Player.cpp index 1a62fd4761..3b9c9311ff 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -299,6 +299,7 @@ void Player::Init( ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper ) { + GRAY_ARROWS_Y_STANDARD.Load( sType, "ReceptorArrowsYStandard" ); GRAY_ARROWS_Y_REVERSE.Load( sType, "ReceptorArrowsYReverse" ); ATTACK_DISPLAY_X.Load( sType, ATTACK_DISPLAY_X_NAME, NUM_PLAYERS, 2 ); @@ -393,7 +394,7 @@ void Player::Init( { float fLife = m_pLifeMeter->GetLife(); m_pPlayerStageStats->SetLifeRecordAt( fLife, STATSMAN->m_CurStageStats.m_fStepsSeconds ); - m_pPlayerStageStats->SetWifeRecordAt( 0.f, STATSMAN->m_CurStageStats.m_fStepsSeconds); + m_pPlayerStageStats->SetWifeRecordAt( 1.f, STATSMAN->m_CurStageStats.m_fStepsSeconds); } // TODO: Remove use of PlayerNumber. diff --git a/src/PrefsManager.cpp b/src/PrefsManager.cpp index c99ce0cf6e..7302d6adaa 100644 --- a/src/PrefsManager.cpp +++ b/src/PrefsManager.cpp @@ -257,6 +257,7 @@ PrefsManager::PrefsManager() : m_bTrilinearFiltering ( "TrilinearFiltering", false ), m_bAnisotropicFiltering ( "AnisotropicFiltering", false ), m_bSignProfileData ( "SignProfileData", false ), + m_GetRankingName ( "GetRankingName", RANKING_ON), m_sAdditionalSongFolders ( "AdditionalSongFolders", "" ), m_sAdditionalFolders ( "AdditionalFolders", "" ), m_sDefaultTheme ( "DefaultTheme", "Til Death" ), diff --git a/src/PrefsManager.h b/src/PrefsManager.h index f5bc8d2c54..bf8677b30a 100644 --- a/src/PrefsManager.h +++ b/src/PrefsManager.h @@ -264,6 +264,8 @@ class PrefsManager // profile's data will be discarded. Preference m_bSignProfileData; + Preference m_GetRankingName; + Preference m_sAdditionalSongFolders; Preference m_sAdditionalFolders; diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index b744a56991..c5a1e3b4c7 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3264,8 +3264,6 @@ void ScreenEdit::TransitionEditState( EditState em ) switch( em ) { case STATE_PLAYING: - // If we're in course display mode, set that up. - m_Player.Load( m_NoteDataEdit ); if( GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerOptions.GetCurrent().m_fPlayerAutoPlay != 0 ) @@ -4726,6 +4724,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector &iAns SCREENMAN->SendMessageToTopScreen( SM_DoExit ); break; case EditMode_Practice: + break; } break; }; diff --git a/src/ScreenGameplay.cpp b/src/ScreenGameplay.cpp index 37b033cad9..3cb77d18dc 100644 --- a/src/ScreenGameplay.cpp +++ b/src/ScreenGameplay.cpp @@ -636,13 +636,35 @@ void ScreenGameplay::Init() // Add individual life meter - switch( GAMESTATE->m_PlayMode ) + switch (GAMESTATE->m_PlayMode) { - case PLAY_MODE_REGULAR: - case PLAY_MODE_BATTLE: - case PLAY_MODE_RAVE: - default: - break; + case PLAY_MODE_REGULAR: + FOREACH_PlayerNumberInfo(m_vPlayerInfo, pi) + { + if (!GAMESTATE->IsPlayerEnabled(pi->m_pn) && !SHOW_LIFE_METER_FOR_DISABLED_PLAYERS) + continue; // skip + + pi->m_pLifeMeter = LifeMeter::MakeLifeMeter(pi->GetPlayerState()->m_PlayerOptions.GetStage().m_LifeType); + pi->m_pLifeMeter->Load(pi->GetPlayerState(), pi->GetPlayerStageStats()); + pi->m_pLifeMeter->SetName(ssprintf("Life%s", pi->GetName().c_str())); + LOAD_ALL_COMMANDS_AND_SET_XY(pi->m_pLifeMeter); + this->AddChild(pi->m_pLifeMeter); + + // HACK: When SHOW_LIFE_METER_FOR_DISABLED_PLAYERS is enabled, + // we don't want to have any life in the disabled player's life + // meter. I think this only happens with LifeMeterBars, but I'm + // not 100% sure of that. -freem + if (!GAMESTATE->IsPlayerEnabled(pi->m_pn) && SHOW_LIFE_METER_FOR_DISABLED_PLAYERS) + { + if (pi->GetPlayerState()->m_PlayerOptions.GetStage().m_LifeType == LifeType_Bar) + static_cast(pi->m_pLifeMeter)->ChangeLife(-1.0f); + } + } + break; + case PLAY_MODE_BATTLE: + case PLAY_MODE_RAVE: + default: + break; } m_bShowScoreboard = false; @@ -1063,8 +1085,6 @@ void ScreenGameplay::LoadNextSong() FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi ) { pi->GetPlayerStageStats()->m_iSongsPlayed++; - if( pi->m_ptextCourseSongNumber ) - pi->m_ptextCourseSongNumber->SetText( ssprintf(SONG_NUMBER_FORMAT.GetValue(), pi->GetPlayerStageStats()->m_iSongsPassed+1) ); } if( GAMESTATE->m_bMultiplayer ) diff --git a/src/ScreenGameplay.h b/src/ScreenGameplay.h index bf9200be20..6a4fa6afe9 100644 --- a/src/ScreenGameplay.h +++ b/src/ScreenGameplay.h @@ -103,8 +103,6 @@ class PlayerInfo /** @brief The LifeMeter showing a Player's health. */ LifeMeter *m_pLifeMeter; - /** @brief The current Song number in a Course. */ - BitmapText *m_ptextCourseSongNumber; /** @brief The description of the current Steps. */ BitmapText *m_ptextStepsDescription; @@ -166,7 +164,6 @@ class ScreenGameplay : public ScreenWithMenuElements // Lua virtual void PushSelf( lua_State *L ); - Song *GetNextCourseSong() const; LifeMeter *GetLifeMeter( PlayerNumber pn ); PlayerInfo *GetPlayerInfo( PlayerNumber pn ); PlayerInfo *GetDummyPlayerInfo( int iDummyIndex ); @@ -198,7 +195,6 @@ class ScreenGameplay : public ScreenWithMenuElements ThemeMetric GIVE_UP_SECONDS; ThemeMetric MUSIC_FADE_OUT_SECONDS; ThemeMetric OUT_TRANSITION_LENGTH; - ThemeMetric COURSE_TRANSITION_LENGTH; ThemeMetric BEGIN_FAILED_DELAY; ThemeMetric MIN_SECONDS_TO_STEP; ThemeMetric MIN_SECONDS_TO_MUSIC; diff --git a/src/ScreenHighScores.cpp b/src/ScreenHighScores.cpp index 5198a37c85..e69de29bb2 100644 --- a/src/ScreenHighScores.cpp +++ b/src/ScreenHighScores.cpp @@ -1,297 +0,0 @@ -#include "global.h" -#include "ScreenHighScores.h" -#include "ScreenManager.h" -#include "SongManager.h" -#include "Song.h" -#include "RageLog.h" -#include "UnlockManager.h" - -RString COLUMN_DIFFICULTY_NAME( size_t i ); -RString COLUMN_STEPS_TYPE_NAME( size_t i ); - -static const char *HighScoresTypeNames[] = { - "AllSteps", - "NonstopCourses", - "OniCourses", - "SurvivalCourses", - "AllCourses", -}; -XToString( HighScoresType ); -LuaXType( HighScoresType ); - -REGISTER_SCREEN_CLASS( ScreenHighScores ); - -static void GetAllSongsToShow( vector &vpOut, int iNumMostRecentScoresToShow ) -{ - vpOut.clear(); - FOREACH_CONST( Song*, SONGMAN->GetAllSongs(), s ) - { - if( !(*s)->NormallyDisplayed() ) - continue; // skip - if( !(*s)->ShowInDemonstrationAndRanking() ) - continue; // skip - vpOut.push_back( *s ); - } - - if( (int)vpOut.size() > iNumMostRecentScoresToShow ) - { - SongUtil::SortSongPointerArrayByTitle( vpOut ); - SongUtil::SortByMostRecentlyPlayedForMachine( vpOut ); - if( (int) vpOut.size() > iNumMostRecentScoresToShow ) - vpOut.erase( vpOut.begin()+iNumMostRecentScoresToShow, vpOut.end() ); - } -} - -///////////////////////////////////////////// - -ScoreScroller::ScoreScroller() -{ - this->DeleteChildrenWhenDone(); -} - -void ScoreScroller::SetDisplay( const vector &DifficultiesToShow ) -{ - m_DifficultiesToShow = DifficultiesToShow; - ShiftSubActors( INT_MAX ); -} - -bool ScoreScroller::Scroll( int iDir ) -{ - if( (int)m_vScoreRowItemData.size() <= SCROLLER_ITEMS_TO_DRAW ) - return false; - - float fDest = GetDestinationItem(); - float fOldDest = fDest; - fDest += iDir; - float fLowClamp = (SCROLLER_ITEMS_TO_DRAW-1)/2.0f; - float fHighClamp = m_vScoreRowItemData.size()-(SCROLLER_ITEMS_TO_DRAW-1)/2.0f-1; - CLAMP( fDest, fLowClamp, fHighClamp ); - if( fOldDest != fDest ) - { - SetDestinationItem( fDest ); - return true; - } - else - { - return false; - } -} - -void ScoreScroller::ScrollTop() -{ - SetCurrentAndDestinationItem( (SCROLLER_ITEMS_TO_DRAW-1)/2.0f ); -} - -void ScoreScroller::ConfigureActor( Actor *pActor, int iItem ) -{ - LOG->Trace("ScoreScroller::ConfigureActor"); - - Actor &item = *dynamic_cast(pActor); - const ScoreRowItemData &data = m_vScoreRowItemData[iItem]; - - Message msg("Set"); - if( data.m_pSong != NULL ) - msg.SetParam( "Song", data.m_pSong ); - if( data.m_pCourse != NULL ) - msg.SetParam( "Course", data.m_pCourse ); - - - Lua *L = LUA->Get(); - lua_newtable( L ); - lua_pushvalue( L, -1 ); - msg.SetParamFromStack( L, "Entries" ); - - FOREACH( DifficultyAndStepsType, m_DifficultiesToShow, iter ) - { - int i = iter-m_DifficultiesToShow.begin(); - Difficulty dc = iter->first; - StepsType st = iter->second; - - if( data.m_pSong != NULL ) - { - const Song* pSong = data.m_pSong; - Steps *pSteps = SongUtil::GetStepsByDifficulty( pSong, st, dc, false ); - if( pSteps && UNLOCKMAN->StepsIsLocked(pSong, pSteps) ) - pSteps = NULL; - LuaHelpers::Push( L, pSteps ); - } - // Because pSteps or pTrail can be NULL, what we're creating in Lua is not an array. - // It must be iterated using pairs(), not ipairs(). - lua_setfield( L, -2, ssprintf("%d",i+1) ); - } - lua_pop( L, 1 ); - LUA->Release( L ); - - - item.HandleMessage( msg ); - LOG->Trace("end ScoreScroller::ConfigureActor"); -} - -void ScoreScroller::LoadSongs( int iNumRecentScores ) -{ - vector vpSongs; - GetAllSongsToShow( vpSongs, iNumRecentScores ); - m_vScoreRowItemData.resize( vpSongs.size() ); - for( unsigned i=0; iGetPathG(sMetricsGroup,"ScrollerItem") ); - if( pActor != NULL ) - this->AddChild( pActor ); - } - - DynamicActorScroller::SetTransformFromReference( THEME->GetMetricR(sMetricsGroup,"ScrollerItemTransformFunction") ); - DynamicActorScroller::SetNumItemsToDraw( (float) SCROLLER_ITEMS_TO_DRAW ); - DynamicActorScroller::SetSecondsPerItem( SCROLLER_SECONDS_PER_ITEM ); - DynamicActorScroller::Load2(); - - m_iNumItems = m_vScoreRowItemData.size(); -} - -///////////////////////////////////////////// - -RString COLUMN_DIFFICULTY_NAME( size_t i ) { return ssprintf("ColumnDifficulty%d",int(i+1)); } -RString COLUMN_STEPS_TYPE_NAME( size_t i ) { return ssprintf("ColumnStepsType%d",int(i+1)); } - -void ScreenHighScores::Init() -{ - ScreenAttract::Init(); - - MANUAL_SCROLLING.Load( m_sName,"ManualScrolling"); - HIGH_SCORES_TYPE.Load( m_sName,"HighScoresType"); - NUM_COLUMNS.Load( m_sName, "NumColumns" ); - COLUMN_DIFFICULTY.Load( m_sName, COLUMN_DIFFICULTY_NAME, NUM_COLUMNS ); - COLUMN_STEPS_TYPE.Load( m_sName, COLUMN_STEPS_TYPE_NAME, NUM_COLUMNS ); - MAX_ITEMS_TO_SHOW.Load( m_sName, "MaxItemsToShow" ); - - m_Scroller.SetName( "Scroller" ); - LOAD_ALL_COMMANDS( m_Scroller ); - HighScoresType type = HIGH_SCORES_TYPE; - switch( type ) - { - DEFAULT_FAIL( type ); - case HighScoresType_AllSteps: - m_Scroller.LoadSongs( MAX_ITEMS_TO_SHOW ); - break; - case HighScoresType_NonstopCourses: - case HighScoresType_OniCourses: - case HighScoresType_SurvivalCourses: - case HighScoresType_AllCourses: - break; - } - - m_Scroller.Load( m_sName ); - this->AddChild( &m_Scroller ); -} - -void ScreenHighScores::BeginScreen() -{ - ScreenAttract::BeginScreen(); - - vector vdast; - for( int i=0; iPostScreenMessage( SM_BeginFadingOut, fSecs ); - } -} - -bool ScreenHighScores::Input( const InputEventPlus &input ) -{ - //LOG->Trace( "ScreenRanking::Input()" ); - if( IsTransitioning() ) - return false; - - // If manually scrolling, pass the input to Screen::Input so it will call Menu* - if( (bool)MANUAL_SCROLLING ) - return Screen::Input( input ); - else - return ScreenAttract::Input( input ); -} - -void ScreenHighScores::HandleScreenMessage( const ScreenMessage SM ) -{ - if( SM == SM_BeginFadingOut ) /* Screen is starting to tween out. */ - { - StartTransitioningScreen( SM_GoToNextScreen ); - } - - ScreenAttract::HandleScreenMessage( SM ); -} - -bool ScreenHighScores::MenuStart( const InputEventPlus &input ) -{ - if( !MANUAL_SCROLLING ) - return false; - if( !IsTransitioning() ) - StartTransitioningScreen( SM_GoToNextScreen ); - SCREENMAN->PlayStartSound(); - return true; -} - -bool ScreenHighScores::MenuBack( const InputEventPlus &input ) -{ - if( !MANUAL_SCROLLING ) - return false; - if( !IsTransitioning() ) - StartTransitioningScreen( SM_GoToNextScreen ); - SCREENMAN->PlayStartSound(); - return true; -} - -void ScreenHighScores::DoScroll( int iDir ) -{ - if( !m_Scroller.Scroll(iDir) ) - iDir = 0; - Message msg("Scrolled"); - msg.SetParam( "Dir", iDir ); - this->HandleMessage( msg ); -} - -/* - * (c) 2001-2007 Chris Danford, Glenn Maynard - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, and/or sell copies of the Software, and to permit persons to - * whom the Software is furnished to do so, provided that the above - * copyright notice(s) and this permission notice appear in all copies of - * the Software and that both the above copyright notice(s) and this - * permission notice appear in supporting documentation. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF - * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS - * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT - * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ diff --git a/src/ScreenHighScores.h b/src/ScreenHighScores.h index 51773cf826..e69de29bb2 100644 --- a/src/ScreenHighScores.h +++ b/src/ScreenHighScores.h @@ -1,101 +0,0 @@ -#ifndef ScreenHighScores_H -#define ScreenHighScores_H - -#include "ScreenAttract.h" -#include "DynamicActorScroller.h" - -typedef pair DifficultyAndStepsType; - -enum HighScoresType -{ - HighScoresType_AllSteps, // Top 1 HighScore for N Steps in each Song - HighScoresType_NonstopCourses, // Top 1 HighScore for N Trails in each Course - HighScoresType_OniCourses, - HighScoresType_SurvivalCourses, - HighScoresType_AllCourses, - NUM_HighScoresType, - HighScoresType_Invalid -}; -LuaDeclareType( HighScoresType ); - - -class ScoreScroller: public DynamicActorScroller -{ -public: - ScoreScroller(); - void LoadSongs( int iNumRecentScores ); - void Load( const RString &sClassName ); - void SetDisplay( const vector &DifficultiesToShow ); - bool Scroll( int iDir ); - void ScrollTop(); - -protected: - virtual void ConfigureActor( Actor *pActor, int iItem ); - vector m_DifficultiesToShow; - - struct ScoreRowItemData // for all_steps and all_courses - { - ScoreRowItemData() { m_pSong = NULL; m_pCourse = NULL; } - - Song *m_pSong; - Song *m_pCourse; - }; - vector m_vScoreRowItemData; - - ThemeMetric SCROLLER_ITEMS_TO_DRAW; - ThemeMetric SCROLLER_SECONDS_PER_ITEM; -}; - -class ScreenHighScores: public ScreenAttract -{ -public: - virtual void Init(); - virtual void BeginScreen(); - - void HandleScreenMessage( const ScreenMessage SM ); - virtual bool Input( const InputEventPlus &input ); - virtual bool MenuStart( const InputEventPlus &input ); - virtual bool MenuBack( const InputEventPlus &input ); - virtual bool MenuLeft( const InputEventPlus &input ) { DoScroll(-1); return true; } - virtual bool MenuRight( const InputEventPlus &input ) { DoScroll(+1); return true; } - virtual bool MenuUp( const InputEventPlus &input ) { DoScroll(-1); return true; } - virtual bool MenuDown( const InputEventPlus &input ) { DoScroll(+1); return true; } - -private: - void DoScroll( int iDir ); - - ThemeMetric MANUAL_SCROLLING; - ThemeMetric HIGH_SCORES_TYPE; - ThemeMetric NUM_COLUMNS; - ThemeMetric1D COLUMN_DIFFICULTY; - ThemeMetric1D COLUMN_STEPS_TYPE; - ThemeMetric MAX_ITEMS_TO_SHOW; - ScoreScroller m_Scroller; -}; - -#endif - -/* - * (c) 2001-2007 Chris Danford, Ben Nordstrom, Glenn Maynard - * All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, and/or sell copies of the Software, and to permit persons to - * whom the Software is furnished to do so, provided that the above - * copyright notice(s) and this permission notice appear in all copies of - * the Software and that both the above copyright notice(s) and this - * permission notice appear in supporting documentation. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF - * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS - * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT - * OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS - * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ diff --git a/src/ScreenJukebox.cpp b/src/ScreenJukebox.cpp index ea85c6b342..7900c2d014 100644 --- a/src/ScreenJukebox.cpp +++ b/src/ScreenJukebox.cpp @@ -21,8 +21,6 @@ #include "SongUtil.h" #include "Song.h" -#define SHOW_COURSE_MODIFIERS_PROBABILITY THEME->GetMetricF(m_sName,"ShowCourseModifiersProbability") - REGISTER_SCREEN_CLASS( ScreenJukebox ); void ScreenJukebox::SetSong() { @@ -98,7 +96,6 @@ void ScreenJukebox::SetSong() ScreenJukebox::ScreenJukebox() { m_bDemonstration = false; - m_pCourseEntry = NULL; } static LocalizedString NO_MATCHING_STEPS("ScreenJukebox", "NoMatchingSteps"); diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index 996367a1aa..25a909a58e 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -139,7 +139,6 @@ void ScreenSelectMusic::Init() m_sSortMusicPath = THEME->GetPathS(m_sName,"sort music"); m_sRouletteMusicPath = THEME->GetPathS(m_sName,"roulette music"); m_sRandomMusicPath = THEME->GetPathS(m_sName,"random music"); - m_sCourseMusicPath = THEME->GetPathS(m_sName,"course music"); m_sLoopMusicPath = THEME->GetPathS(m_sName,"loop music"); m_sFallbackCDTitlePath = THEME->GetPathG(m_sName,"fallback cdtitle"); @@ -164,7 +163,6 @@ void ScreenSelectMusic::Init() m_TexturePreload.Load( Sprite::SongBGTexture(THEME->GetPathG("SongBackgroundItem","random")) ); m_TexturePreload.Load( Sprite::SongBGTexture(THEME->GetPathG("SongBackgroundItem","Mode")) ); m_TexturePreload.Load( Sprite::SongBGTexture(THEME->GetPathG("SongBackgroundItem","group fallback")) ); - m_TexturePreload.Load( Sprite::SongBGTexture(THEME->GetPathG("SongBackgroundItem","course fallback")) ); } */ @@ -510,34 +508,7 @@ bool ScreenSelectMusic::Input( const InputEventPlus &input ) MESSAGEMAN->Broadcast(msg2); m_MusicWheel.ChangeMusic(0); return true; -} -#if 0 // This is really more annoying than useful as well as obsoleted by song search - else if( bHoldingCtrl && ( c >= 'A' ) && ( c <= 'Z' ) ) - { - // Only allow changing the sort order if the wheel is not locked - // and we're not in course mode. -aj - if( !m_MusicWheel.WheelIsLocked() && !GAMESTATE->IsCourseMode() ) - { - SortOrder so = GAMESTATE->m_SortOrder; - // When in Artist sort, this means first letter of the artist. - // Otherwise, if not in Title sort already, switch to Title sort. - if ( so != SORT_ARTIST ) - so = SORT_TITLE; - - GAMESTATE->m_PreferredSortOrder = so; - GAMESTATE->m_SortOrder.Set(so); - // Odd, changing the sort order requires us to call SetOpenSection more than once - m_MusicWheel.ChangeSort(so); - m_MusicWheel.SetOpenSection(ssprintf("%c", c)); - - m_MusicWheel.SelectSection(ssprintf("%c", c)); - m_MusicWheel.ChangeSort(so); - m_MusicWheel.SetOpenSection(ssprintf("%c", c)); - AfterMusicChange(); - return true; - } } -#endif // 0 else if( input.DeviceI.device == DEVICE_KEYBOARD && bHoldingCtrl && input.DeviceI.button == KEY_BACK && input.type == IET_FIRST_PRESS && m_MusicWheel.IsSettled() ) { @@ -1580,7 +1551,6 @@ void ScreenSelectMusic::AfterMusicChange() GAMESTATE->m_pPreferredSong = pSong; m_vpSteps.clear(); - m_vpTrails.clear(); m_Banner.SetMovingFast( !!m_MusicWheel.IsMoving() ); diff --git a/src/SongManager.cpp b/src/SongManager.cpp index 3ab9826a69..d3e0ddc302 100644 --- a/src/SongManager.cpp +++ b/src/SongManager.cpp @@ -31,7 +31,6 @@ #include "Style.h" #include "ThemeManager.h" #include "TitleSubstitution.h" -#include "TrailUtil.h" #include "UnlockManager.h" #include "SpecialFiles.h" diff --git a/src/SongManager.h b/src/SongManager.h index 19de41f1dd..fca73035ac 100644 --- a/src/SongManager.h +++ b/src/SongManager.h @@ -24,8 +24,6 @@ bool CompareNotesPointersForExtra(const Steps *n1, const Steps *n2); /** @brief The max number of edit steps a profile can have. */ const int MAX_EDIT_STEPS_PER_PROFILE = 200; -/** @brief The max number of edit courses a profile can have. */ -const int MAX_EDIT_COURSES_PER_PROFILE = 20; /** @brief The holder for the Songs and its Steps. */ class SongManager @@ -41,7 +39,6 @@ class SongManager void Invalidate( const Song *pStaleSong ); - void RegenerateNonFixedCourses(); void SetPreferences(); void SaveEnabledSongsToPref(); void LoadEnabledSongsFromPref(); @@ -52,11 +49,10 @@ class SongManager void LoadGroupSymLinks( const RString &sDir, const RString &sGroupFolder ); - void InitAutogenCourses(); void InitRandomAttacks(); - void InitAll( LoadingWindow *ld ); // songs, courses, groups - everything. - void Reload( bool bAllowFastLoad, LoadingWindow *ld=NULL ); // songs, courses, groups - everything. + void InitAll( LoadingWindow *ld ); // songs, groups - everything. + void Reload( bool bAllowFastLoad, LoadingWindow *ld=NULL ); // songs, groups - everything. void PreloadSongImages(); bool IsGroupNeverCached(const RString& group) const; @@ -127,12 +123,6 @@ class SongManager int GetNumSelectableAndUnlockedSongs() const; int GetNumAdditionalSongs() const; int GetNumSongGroups() const; - /** - * @brief Retrieve the number of courses in the game. - * @return the number of courses. */ - int GetNumCourses() const; - int GetNumAdditionalCourses() const; - int GetNumCourseGroups() const; Song* GetRandomSong(); // sm-ssc addition: RString GetSongGroupByIndex(unsigned index) { return m_sSongGroupNames[index]; } @@ -146,7 +136,7 @@ class SongManager Song* GetSongFromDir( RString sDir ) const; void UpdatePopular(); - void UpdateShuffled(); // re-shuffle songs and courses + void UpdateShuffled(); // re-shuffle songs void UpdatePreferredSort(const RString &sPreferredSongs = "PreferredSongs.txt", const RString &sPreferredCourses = "PreferredCourses.txt"); void SortSongs(); // sort m_pSongs by CompareSongPointersByTitle @@ -156,7 +146,6 @@ class SongManager protected: void LoadStepManiaSongDir( RString sDir, LoadingWindow *ld ); void LoadDWISongDir( const RString &sDir ); - bool GetExtraStageInfoFromCourse( bool bExtra2, const RString &sPreferredGroup, Song*& pSongOut, Steps*& pStepsOut, StepsType stype ); void SanityCheckGroupDir( const RString &sDir ) const; void AddGroup( const RString &sDir, const RString &sGroupDirName ); int GetNumEditsLoadedFromProfile( ProfileSlot slot ) const; diff --git a/src/SongUtil.cpp b/src/SongUtil.cpp index c79320f810..257ee64cb5 100644 --- a/src/SongUtil.cpp +++ b/src/SongUtil.cpp @@ -20,9 +20,7 @@ #include "EnumHelper.h" ThemeMetric SORT_BPM_DIVISION ( "MusicWheel", "SortBPMDivision" ); -ThemeMetric SORT_LENGTH_DIVISION ( "MusicWheel", "SortLengthDivision" ); ThemeMetric SHOW_SECTIONS_IN_BPM_SORT ( "MusicWheel", "ShowSectionsInBPMSort" ); -ThemeMetric SHOW_SECTIONS_IN_LENGTH_SORT ( "MusicWheel", "ShowSectionsInLengthSort" ); bool SongCriteria::Matches( const Song *pSong ) const {