diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index f408432cc4..fb75636d41 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,11 +4,40 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ -================================================================================ +2012/05/19 +---------- +* [Actor] Made the xy command a source-code level command. -StepMania 5.0 alpha 2 | 201204?? +2012/05/17 +---------- +* [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly] + +2012/05/16 +---------- +* [ScreenWithMenuElements] Added DelayMusicSeconds metric. [AJ] +* [ScreenOptionsMasterPrefs] Allow for FastLoadAdditionalSongs preference + to be called via the "conf" command. [AJ] + +2012/05/14 +---------- +* [Course] Added AllSongsAreFixed() Lua binding. [AJ] + +================================================================================ +StepMania 5.0 alpha 2 | 20120504 -------------------------------------------------------------------------------- +2012/05/03 +---------- +* Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki] + Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a +* [CustomSpeedMods] If a player decides to remove 1x from the machine profile's + custom speed mods, re-add it back in to avoid crashes. [AJ] + +2012/05/02 +---------- +* Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] + Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce + 2012/04/25 ---------- * [Profile] Added GetLastPlayedSong and GetLastPlayedCourse Lua bindings. [AJ] @@ -116,6 +145,7 @@ set MemoryCards=1 in Save/Preferences.ini (or Save/Static.ini). [AJ] * [ScreenSelectMusic] Added PlaySoundOnEnteringOptionsMenu metric. [AJ] * [MusicWheel, WheelBase] Added collapse sound. [AJ] +================================================================================ StepMania 5.0 alpha 1a | 20120219 -------------------------------------------------------------------------------- diff --git a/Docs/credits.txt b/Docs/credits.txt index fc4eeea55c..d83939c271 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -87,6 +87,8 @@ Macgravel hanubeki (@803832, formerly sy567) * Small beginner helper fix (http://www.stepmania.com/forums/showpost.php?p=158721&postcount=12) + * Lots of code changes from hanubeki-modified-sm-ssc: + http://code.google.com/r/hanubeki-modified-sm-ssc/ galopin * Pump it Up Exceed PlayStation 2 USB dance mat support patch @@ -139,6 +141,9 @@ Deamon007 cvpcs * Updated ffmpeg support to v0.10 +djpohly + * Various patches/fixes + ==the beta testers== [SSC Beta Testing Team] KeithD diff --git a/NoteSkins/pump/default/UpLeft Receptor.lua b/NoteSkins/pump/default/UpLeft Receptor.lua index 973425b8b2..6b36007723 100644 --- a/NoteSkins/pump/default/UpLeft Receptor.lua +++ b/NoteSkins/pump/default/UpLeft Receptor.lua @@ -1,7 +1,8 @@ +local player = Var "Player" or GAMESTATE:GetMasterPlayerNumber() + local function Beat(self) -- too many locals local this = self:GetChildren() - local player = Var "Player" or GAMESTATE:GetMasterPlayerNumber() local playerstate = GAMESTATE:GetPlayerState( player ) local songposition = playerstate:GetSongPosition() -- GAMESTATE:GetSongPosition() diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index e0fade52a7..2489e45e35 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -378,6 +378,7 @@ EventMode=When set to &oq;ON&cq;, and you can continue playing forever. Failing Exit= Fail=Fail FastLoad=If enabled, don't check songs for changes on load. +FastLoadAdditionalSongs=If enabled, don't check songs for changes to Additional Songs on load. Fill Machine Stats= Game=Change the current game type with this option. GetRankingName=Determines if name entry should never be shown, always be shown, or shown when the course is listed on the high scores screen. @@ -916,6 +917,7 @@ Exit=Exit Fail=Fail Fakes=Fakes FastLoad=Fast\nLoad +FastLoadAdditionalSongs=Fast Load\nAdditional Songs File1 Global BGAnimation=File1 Global BGAnimation File1 Global Movie=File1 Global Movie File1 Global Movie (Group + Genre)=File1 Global Movie (Group + Genre) @@ -1180,7 +1182,25 @@ TapsAndHolds=TapsAndHolds Voltage=Voltage MinMidiNote=MinMidiNote MaxMidiNote=MaxMidiNote - +Lifts=Lifts +Fakes=Fakes +[RadarCategoryShort] +Air=A +Chaos=C +Freeze=F +Hands=Hands +Holds=Holds +Jumps=Jumps +Mines=Mines +Rolls=Rolls +Stream=S +Taps=Taps +TapsAndHolds=Taps +Voltage=V +MinMidiNote=Min +MaxMidiNote=Max +Lifts=Lifts +Fakes=Fakes [RageInput] No input devices were loaded.=No input devices were loaded. diff --git a/Themes/_fallback/Scripts/02 Actor.lua b/Themes/_fallback/Scripts/02 Actor.lua index a86bf5e864..d13ebf13c0 100644 --- a/Themes/_fallback/Scripts/02 Actor.lua +++ b/Themes/_fallback/Scripts/02 Actor.lua @@ -156,25 +156,9 @@ function Actor:scale_or_crop_background() self:zoomto(SCREEN_HEIGHT*graphicAspect,SCREEN_HEIGHT) end --- xy(actorX,actorY) --- Sets the x and y of an actor in one command. -function Actor:xy(actorX,actorY) - self:x(actorX) - self:y(actorY) -end - -function Actor:CenterX() - self:x(SCREEN_CENTER_X) -end - -function Actor:CenterY() - self:y(SCREEN_CENTER_Y) -end - -function Actor:Center() - self:x(SCREEN_CENTER_X) - self:y(SCREEN_CENTER_Y) -end +function Actor:CenterX() self:x(SCREEN_CENTER_X) end +function Actor:CenterY() self:y(SCREEN_CENTER_Y) end +function Actor:Center() self:xy(SCREEN_CENTER_X,SCREEN_CENTER_Y) end function Actor:bezier(...) local a = {...} @@ -392,7 +376,7 @@ function Actor:hidden(bHide) self:visible(not bHide) end --- (c) 2006-2011 Glenn Maynard, SSC +-- (c) 2006-2012 Glenn Maynard, the Spinal Shark Collective, et al. -- All rights reserved. -- -- Permission is hereby granted, free of charge, to any person obtaining a diff --git a/Themes/_fallback/Scripts/02 Utilities.lua b/Themes/_fallback/Scripts/02 Utilities.lua index c9337d3581..9bd1500e7c 100644 --- a/Themes/_fallback/Scripts/02 Utilities.lua +++ b/Themes/_fallback/Scripts/02 Utilities.lua @@ -141,6 +141,15 @@ function table.find(t, sFind) return nil end +--Get the count of all items in a table +function table.itemcount(t) + local i = 0 + while next(t)~=nil do + i=i+1 + end + return i +end + function math.round(num, pre) if pre and pre < 0 then pre = 0 end local mult = 10^(pre or 0) @@ -201,6 +210,12 @@ function IsFreePlay() return IsArcade() and (GAMESTATE:GetCoinMode() == 'CoinMode_Free') or false end +function ArgsIfPlayerJoinedOrNil(arg1,arg2) + if arg1==nil then arg1=arg2 + elseif arg2==nil then arg2=arg1 end + return (GAMESTATE:IsSideJoined(PLAYER_1) and arg1 or nil),(GAMESTATE:IsSideJoined(PLAYER_2) and arg2 or nil) +end + function Center1Player() local styleType = GAMESTATE:GetCurrentStyle():GetStyleType() -- always center in OnePlayerTwoSides. diff --git a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua index 6836e3c67e..922ca57136 100644 --- a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua +++ b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua @@ -1,9 +1,14 @@ --[[ -Custom Speed Mods v2.2 (for StepMania 5) +Custom Speed Mods v2.3 (for StepMania 5/SM5TE) by AJ Kelly of KKI Labs ( http://kki.ajworld.net/ ) changelog: +v2.3 (StepMania 5 a2/SM5TE) +* If someone has decided to remove 1x from the machine profile's speed mods, + silently fix it. +* Ignore Cmod and mmod capitalization errors. + v2.2 (StepMania 5 alpha 2) [by FSX] * Rewrite table management code. * Add code to make sure that there are speed mods and that they are correct. @@ -52,10 +57,11 @@ end -- Tries to parse the file at path. If successful, returns a table of mods. -- If it can't open the file, it will write a fallback set of mods. local function ParseSpeedModFile(path) - local function Failure(file) + local function Failure() -- error; write a fallback mod file and return it local fallbackString = "0.5x,1x,1.5x,2x,3x,4x,5x,6x,7x,8x,C250,C450,m550" Trace("[CustomSpeedMods]: Could not read SpeedMods; writing fallback to "..path) + local file = RageFileUtil.CreateRageFile() file:Open(path, 2) file:Write(fallbackString) file:destroy() @@ -73,15 +79,17 @@ local function ParseSpeedModFile(path) string.gsub(mods[i], "%s", "") if not(mods[i]:find("%d+.?%d*[xX]") or mods[i]:find("[cmCM]%d+")) then mods[i] = nil - end + elseif mods[i]:find("[mM]") then mods[i]=mods[i]:lower() + elseif mods[i]:find("[cC]") then mods[i]=mods[i]:upper() end end - if #mods==0 then return Failure() end + if #mods==0 then file:destroy() return Failure() end file:destroy() return mods else - return Failure(file) + file:destroy() + return Failure() end end @@ -174,11 +182,20 @@ local function GetSpeedMods() PlayerNumber_P2 = ProfileDir('ProfileSlot_Player2') } - -- figure out how many players we have to deal with. - local numPlayers = GAMESTATE:GetNumPlayersEnabled() + -- if someone is trying to be "smart" and removes 1x from the machine + -- profile's custom speed mods, re-add it to prevent crashes. + local machineMods = ParseSpeedModFile(profileDirs.Machine..baseFilename) + if machineMods then + local found1X = false + for k,v in pairs(machineMods) do found1X = (v == "1x") end + if not found1X then table.insert(machineMods,"1x") end + end -- load machine to finalMods - finalMods = InvertTable(ParseSpeedModFile(profileDirs.Machine..baseFilename)) + finalMods = InvertTable(machineMods) + + -- figure out how many players we have to deal with. + local numPlayers = GAMESTATE:GetNumPlayersEnabled() local playerMods = {} for pn in ivalues(GAMESTATE:GetHumanPlayers()) do @@ -253,7 +270,7 @@ function SpeedMods() end --[[ -Copyright © 2008-2011 AJ Kelly/KKI Labs. +Copyright © 2008-2012 AJ Kelly/KKI Labs. Use freely, so long this notice and the above documentation remains. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" diff --git a/Themes/_fallback/Scripts/03 Gameplay.lua b/Themes/_fallback/Scripts/03 Gameplay.lua index 863f130900..f8b0bf43b0 100644 --- a/Themes/_fallback/Scripts/03 Gameplay.lua +++ b/Themes/_fallback/Scripts/03 Gameplay.lua @@ -48,7 +48,8 @@ function GameCompatibleModes() beat = "5Keys,7Keys,10Keys,14Keys,Versus5,Versus7", kb7 = "KB7", para = "Single", - techno = "Single4,Single5,Single8,Double4,Double8", + -- todo: add versus modes for technomotion + techno = "Single4,Single5,Single8,Double4,Double5,Double8", lights = "Single" -- lights shouldn't be playable } return Modes[CurGameName()] diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index d3cf7fd46b..9a73fdb4c7 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -1,3 +1,8 @@ +--[[DO NOT MODIFY THIS FILE. +You can add new scoring modes just by creating a different file and adding them to the +Scoring table. Replacing this file will cause additions to be lost during updates. +It's unnecessary and problematic.]] + --internals table local Shared = {}; --Special Scoring types. @@ -33,477 +38,8 @@ function GetDirectRadar(player) end; ----------------------------------------------------------- --- StepMania 3.9 (Plus) Scorings by @803832 --- 3.9 MAX2 --- 3.9 5TH --- 3.9Plus HYBRID --- 3.9Plus SN --- 3.9Plus SN2 --- note: 3.9Plus PIU Scoring cannot be implemented due to no NumTapsInRow --- in JudgmentMessage. This is fixed in hanubeki-modified-sm-ssc revision 6c7184e7df9a: --- http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=6c7184e7df9a3694649f965c2976859bb9e45963 ------------------------------------------------------------ -local function isW2OrAbove(tns) - if tns == 'TapNoteScore_W1' or tns == 'TapNoteScore_W2' then - return true; - end; - return false; -end -local sm3_Steps = {0,0}; -local sm3_Score = {0,0}; -local sm3_CurMaxScore = {0,0}; -local sm3_Combo = {0,0}; -local sm3_CurMaxCombo = {0,0}; -local sm3_GradePoints = {0,0}; -local sm3_Bonus = {0,0}; -local sm3_MaxBonus = {0,0}; - -r["3.9 MAX2"] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = GAMESTATE:ShowW1() and 9 or 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/ã®å€¤ - local sTotal = (totalItems+1)*totalItems/2; - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local meter = steps:GetMeter(); - meter = clamp(meter,1,10); - - -- [ja] 満点を求ã‚ã‚‹ - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = meter * 10000000 * length; - - local sOne = baseScore/sTotal; - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– - if pss:GetScore()==0 then - sm3_Steps[p] = 0; - end; - - -- [ja] ç¾åœ¨ã®ã‚¹ãƒ†ãƒƒãƒ—æ•° - -- [ja] 地雷ã¨HoldCheckpointsã®å ´åˆã¯åŠ ç®—ã—ãªã„ - if params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Steps[p]=sm3_Steps[p]+1; - end; - - -- [en] current score - -- [ja] 今回加算ã™ã‚‹ã‚¹ã‚³ã‚¢ï¼ˆW1ã®æ™‚) - local vScore = sOne*sm3_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+math.floor(vScore)); - -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - end; - end; - - -- [ja] è½ã¡ã¦ã„ãŸå ´åˆã¯å…¥ã‚‹ã‚¹ã‚³ã‚¢ãŒæ¸›ã‚‹ - if (pss:GetFailed()) then - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時ã¯10点 - sm3_Score[p] = sm3_Score[p]+10; - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - -- [ja] O.K.ã§ã‚‚N.G.ã§ã‚‚ãªã„å ´åˆã®ã‚¹ã‚³ã‚¢ï¼š - -- W1 (Marvelous): 10 - -- W2 (Perfect): 9 - -- W3 (Great): 5 - sm3_Score[p] = sm3_Score[p]+multLookup[params.TapNoteScore]; - end; - - -- [ja] 5点å˜ä½ã®å‡¦ç†ãŒãªãœã‹ã“ã“ã§ã•れる - if multLookup[params.TapNoteScore] > 0 then - sm3_Score[p] = math.floor((sm3_Score[p] + 2) / 5) * 5; - end; - else - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] 最後ã®1ステップãŒW2以上ã®å ´åˆã€ç«¯æ•°ã‚’加算ã™ã‚‹ - -- [ja] 端数ã¯è¨­å®šä¸Šã®æº€ç‚¹ã¨æœ€çµ‚ステップ時点ã§ã®æº€ç‚¹ã®å·®ã‹ã‚‰æ±‚ã‚ã‚‹ - if (isW2OrAbove(params.TapNoteScore) or params.HoldNoteScore == 'HoldNoteScore_Held') then - pss:SetScore(pss:GetScore()+(baseScore-pss:GetCurMaxScore())); - pss:SetCurMaxScore(pss:GetCurMaxScore()+(baseScore-pss:GetCurMaxScore())); - end; - end; -end; - --- TODO: Don't add combo bonus if autoplay -r["3.9 5TH"] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = GAMESTATE:ShowW1() and 9 or 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/ã®å€¤ - local sTotal = (totalItems+1)*totalItems/2; - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local meter = steps:GetMeter(); - meter = clamp(meter,1,10); - - -- [ja] 満点を求ã‚ã‚‹ - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = (meter * length + 1) * 5000000; - - local sOne = baseScore/sTotal; - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– - if pss:GetScore()==0 then - sm3_Steps[p] = 0; - sm3_Score[p] = 0; - sm3_CurMaxScore[p] = 0; - sm3_Combo[p] = 0; - sm3_CurMaxCombo[p] = 0; - sm3_GradePoints[p] = 0; - sm3_Bonus[p] = 0; - sm3_MaxBonus[p] = 0; - end; - - -- [ja] ç¾åœ¨ã®ã‚¹ãƒ†ãƒƒãƒ—æ•° - -- [ja] 地雷ã¨HoldCheckpointsã®å ´åˆã¯åŠ ç®—ã—ãªã„ - if params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Steps[p]=sm3_Steps[p]+1; - end; - - -- [en] current score - -- [ja] 今回加算ã™ã‚‹ã‚¹ã‚³ã‚¢ï¼ˆW1ã®æ™‚) - local vScore = sOne*sm3_Steps[p]; - sm3_CurMaxScore[p] = sm3_CurMaxScore[p]+math.floor(vScore); - - -- [ja] グレードã®è¨ˆç®—ã¯5THã§ã¯ãªãMAX2æ–¹å¼ - local gradeWeightTable = { - ['TapNoteScore_W1'] = 2, - ['TapNoteScore_W2'] = 2, - ['TapNoteScore_W3'] = 1, - ['TapNoteScore_W5'] = -4, - ['TapNoteScore_Miss'] = -8, - }; - setmetatable(gradeWeightTable, ZeroIfNotFound); - - -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - sm3_GradePoints[p] = sm3_GradePoints[p] + 6; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - sm3_GradePoints[p] = sm3_GradePoints[p] + gradeWeightTable[params.TapNoteScore]; - end; - end; - - -- [ja] コンボã¯è‡ªå‰ã§å‡¦ç†ã™ã‚‹ - if not params.HoldNoteScore then - if params.TapNoteScore == 'TapNoteScore_W1' or - params.TapNoteScore == 'TapNoteScore_W2' or - ( - GAMESTATE:GetPlayMode() ~= 'PlayMode_Oni' and - params.TapNoteScore == 'TapNoteScore_W3' - ) - then - sm3_Combo[p] = sm3_Combo[p] + 1; - -- [ja] 地雷ã¨HoldCheckpointsã®å ´åˆã¯ãƒªã‚»ãƒƒãƒˆã—ãªã„ - elseif params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Combo[p] = 0; - end; - sm3_CurMaxCombo[p] = sm3_CurMaxCombo[p] + 1; - end; - - local bonusTable = - { - ['TapNoteScore_W1'] = 55, - ['TapNoteScore_W2'] = 55, - ['TapNoteScore_W3'] = 33 - }; - setmetatable(bonusTable, ZeroIfNotFound); - - -- [ja] è½ã¡ã¦ã„ãŸå ´åˆã¯å…¥ã‚‹ã‚¹ã‚³ã‚¢ãŒæ¸›ã‚‹ - if (pss:GetFailed()) then - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時ã¯10点 - sm3_Score[p] = sm3_Score[p]+10; - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - -- [ja] O.K.ã§ã‚‚N.G.ã§ã‚‚ãªã„å ´åˆã®ã‚¹ã‚³ã‚¢ï¼š - -- W1 (Marvelous): 10 - -- W2 (Perfect): 9 - -- W3 (Great): 5 - sm3_Score[p] = sm3_Score[p]+multLookup[params.TapNoteScore]; - end; - - -- [ja] 5点å˜ä½ã®å‡¦ç†ãŒãªãœã‹ã“ã“ã§ã•れる - if multLookup[params.TapNoteScore] > 0 then - sm3_Score[p] = math.floor((sm3_Score[p] + 2) / 5) * 5; - end; - else - sm3_Score[p] = sm3_Score[p]+math.floor(vScore); - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - sm3_Bonus[p] = sm3_Bonus[p]+55*sm3_Combo[p]; - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - sm3_Bonus[p] = sm3_Bonus[p]+bonusTable[params.TapNoteScore]*sm3_Combo[p]; - end; - sm3_MaxBonus[p] = sm3_MaxBonus[p]+55*sm3_CurMaxCombo[p]; - end; - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] 最後ã®1ステップãŒW2以上ã®å ´åˆã€ç«¯æ•°ã‚’加算ã™ã‚‹ - -- [ja] 端数ã¯è¨­å®šä¸Šã®æº€ç‚¹ã¨æœ€çµ‚ステップ時点ã§ã®æº€ç‚¹ã®å·®ã‹ã‚‰æ±‚ã‚ã‚‹ - if (isW2OrAbove(params.TapNoteScore) or params.HoldNoteScore == 'HoldNoteScore_Held') then - sm3_Score[p] = sm3_Score[p]+(baseScore-sm3_CurMaxScore[p]); - sm3_CurMaxScore[p] = sm3_CurMaxScore[p]+(baseScore-sm3_CurMaxScore[p]); - end; - end; - - -- [ja] 5点å˜ä½ã®å‡¦ç†ã¯5THæ–¹å¼ã®ã¿ã§ã•れる - pss:SetScore(sm3_Score[p] - sm3_Score[p] % 5); - pss:SetCurMaxScore(sm3_CurMaxScore[p] - sm3_CurMaxScore[p] % 5); - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] コンボボーナスã¨ã‚°ãƒ¬ãƒ¼ãƒ‰ãƒœãƒ¼ãƒŠã‚¹ã‚’加算 - -- [ja] 本当ã¯ãƒªã‚¶ãƒ«ãƒˆç”»é¢ã§ã‚„りãŸã„ã‚“ã ã‘ã©ã­ - local totalTaps = radarValues:GetValue('RadarCategory_TapsAndHolds'); - local totalHolds = radarValues:GetValue('RadarCategory_Holds') + radarValues:GetValue('RadarCategory_Rolls'); - - local gradeBonusTable = { - -- Threshold: sm3_GradePoints[p] / (totalTaps * 2 + totalHolds * 6) * 100 - { Threshold = 100, Bonus = 10000000 }, - { Threshold = 93, Bonus = 1000000 }, - { Threshold = 80, Bonus = 100000 }, - { Threshold = 65, Bonus = 10000 }, - { Threshold = 45, Bonus = 1000 }, - -- [ja] 45%ã«é”ã—ã¦ã„ãªã„å ´åˆã¯100点ã¨ã™ã‚‹ - }; - - local gradeBonus = 100; - - for i = 1,#gradeBonusTable do - if (sm3_GradePoints[p] / (totalTaps * 2 + totalHolds * 6) * 100 >= gradeBonusTable[i].Threshold) then - gradeBonus = gradeBonusTable[i].Bonus; - break; - end; - end; - - if pss:GetFailed() then - gradeBonus = 0; - end; - - pss:SetScore(pss:GetScore()+sm3_Bonus[p]+gradeBonus); - pss:SetCurMaxScore(pss:GetCurMaxScore()+sm3_MaxBonus[p]+10000000); - end; -end; - -r["3.9Plus HYBRID"] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = GAMESTATE:ShowW1() and 9 or 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/ã®å€¤ - local sTotal = (totalItems+1)*totalItems/2; - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local meter = steps:GetMeter(); - meter = clamp(meter,1,10); - - -- [ja] 満点を求ã‚ã‚‹ - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = 100000000 * length; - - local sOne = baseScore/sTotal; - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアãŒ0ã®æ™‚ã«åˆæœŸåŒ– - if pss:GetScore()==0 then - sm3_Steps[p] = 0; - end; - - -- [ja] ç¾åœ¨ã®ã‚¹ãƒ†ãƒƒãƒ—æ•° - -- [ja] 地雷ã¨HoldCheckpointsã®å ´åˆã¯åŠ ç®—ã—ãªã„ - if params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Steps[p]=sm3_Steps[p]+1; - end; - - -- [en] current score - -- [ja] 今回加算ã™ã‚‹ã‚¹ã‚³ã‚¢ï¼ˆW1ã®æ™‚) - local vScore = sOne*sm3_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+math.floor(vScore)); - -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - end; - end; - - -- [ja] è½ã¡ã¦ã„ãŸå ´åˆã¯å…¥ã‚‹ã‚¹ã‚³ã‚¢ãŒæ¸›ã‚‹ - if (pss:GetFailed()) then - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時ã¯10点 - pss:SetScore(pss:GetScore()+10); - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - -- [ja] O.K.ã§ã‚‚N.G.ã§ã‚‚ãªã„å ´åˆã®ã‚¹ã‚³ã‚¢ï¼š - -- W1 (Marvelous): 10 - -- W2 (Perfect): 9 - -- W3 (Great): 5 - pss:SetScore(pss:GetScore()+multLookup[params.TapNoteScore]); - end; - - -- [ja] 5点å˜ä½ã®å‡¦ç†ãŒãªãœã‹ã“ã“ã§ã•れる - if multLookup[params.TapNoteScore] > 0 then - pss:SetScore(math.floor((pss:GetScore() + 2) / 5) * 5); - end; - else - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] 最後ã®1ステップãŒW2以上ã®å ´åˆã€ç«¯æ•°ã‚’加算ã™ã‚‹ - -- [ja] 端数ã¯è¨­å®šä¸Šã®æº€ç‚¹ã¨æœ€çµ‚ステップ時点ã§ã®æº€ç‚¹ã®å·®ã‹ã‚‰æ±‚ã‚ã‚‹ - if (isW2OrAbove(params.TapNoteScore) or params.HoldNoteScore == 'HoldNoteScore_Held') then - pss:SetScore(pss:GetScore()+(baseScore-pss:GetCurMaxScore())); - pss:SetCurMaxScore(pss:GetCurMaxScore()+(baseScore-pss:GetCurMaxScore())); - end; - end; -end; - -r["3.9Plus SN"] = function(params, pss) - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - - -- [ja] 満点を求ã‚ã‚‹ - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = 10000000 * length; - - -- [en] current score - -- [ja] 今回加算ã™ã‚‹ã‚¹ã‚³ã‚¢ - local multLookup = - { - ['TapNoteScore_W1'] = math.floor(baseScore / totalItems), - ['TapNoteScore_W2'] = math.floor(baseScore / totalItems), - ['TapNoteScore_W3'] = math.floor(math.floor(baseScore / 2) / totalItems) - }; - setmetatable(multLookup, ZeroIfNotFound); - local vScore = multLookup[params.TapNoteScore]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+multLookup['TapNoteScore_W1']); - - -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = multLookup['TapNoteScore_W1']; - elseif (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - end; - - -- [ja] è½ã¡ã¦ã„ãŸå ´åˆã¯å…¥ã‚‹ã‚¹ã‚³ã‚¢ãŒæ¸›ã‚‹ - if (not pss:GetFailed()) then - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - -- [ja] 端数ã®å‡¦ç†ã¯ã•れã¦ã„ãªã„よã†ã  -end; - -r["3.9Plus SN2"] = function(params, pss) - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - - -- [ja] 満点を求ã‚ã‚‹ - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = 1000000 * length; - - -- [en] current score - -- [ja] 今回加算ã™ã‚‹ã‚¹ã‚³ã‚¢ - local multLookup = - { - ['TapNoteScore_W1'] = math.floor(baseScore / totalItems), - ['TapNoteScore_W2'] = math.floor(baseScore / totalItems) - 10, - ['TapNoteScore_W3'] = math.floor(math.floor(baseScore / 2) / totalItems) - 10 - }; - setmetatable(multLookup, ZeroIfNotFound); - local vScore = multLookup[params.TapNoteScore]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+multLookup['TapNoteScore_W1']); - - -- [ja] 判定ã«ã‚ˆã£ã¦åŠ ç®—é‡ã‚’変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = multLookup['TapNoteScore_W1']; - elseif (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - end; - - -- [ja] è½ã¡ã¦ã„ãŸå ´åˆã¯å…¥ã‚‹ã‚¹ã‚³ã‚¢ãŒæ¸›ã‚‹ - if (not pss:GetFailed()) then - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - -- [ja] 端数ã®å‡¦ç†ã¯ã•れã¦ã„ãªã„よã†ã  -end; - ------------------------------------------------------------ --- Oldschool scoring, best described as a modified 4th mix --- scheme with a little 1st mix influence +--Oldschool scoring, best described as a modified 4th mix scheme +--with a little 1st mix influence ----------------------------------------------------------- r['Oldschool'] = function(params, pss) local bestPoints = 999 @@ -524,7 +60,7 @@ r['Oldschool'] = function(params, pss) end; ----------------------------------------------------------- --- DDR MAX2/Extreme(-esque) Scoring by @sakuraponila +--DDR MAX2/Extreme(-esque) Scoring by @sakuraponila ----------------------------------------------------------- local ext_Steps = {0,0}; r['DDR Extreme'] = function(params, pss) @@ -601,7 +137,7 @@ r['DDR Extreme'] = function(params, pss) end; ----------------------------------------------------------- --- HYBRID Scoring, contributed by @waiei +--HYBRID Scoring, contributed by @waiei ----------------------------------------------------------- local hyb_Steps={0,0}; r['Hybrid'] = function(params, pss) @@ -654,7 +190,7 @@ r['Hybrid'] = function(params, pss) end; ----------------------------------------------------------- --- DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila +--DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila ----------------------------------------------------------- local sntmp_Score = {0,0}; local sntmp_Steps = {0,0}; @@ -702,7 +238,7 @@ r['DDR SuperNOVA'] = function(params, pss) end; ----------------------------------------------------------- --- DDR SuperNOVA 2 scoring by @waiei +--DDR SuperNOVA 2 scoring by @waiei ----------------------------------------------------------- local sn2tmp_Sub={0,0}; local sn2tmp_Score={0,0}; @@ -755,8 +291,7 @@ r['DDR SuperNOVA 2'] = function(params, pss) end; ----------------------------------------------------------- --- Radar Master (disabled) --- (todo: get this working with StepMania 5) +--Radar Master (disabled; todo: get this working with StepMania 5) ----------------------------------------------------------- r['[SSC] Radar Master'] = function(params, pss) local masterTable = { @@ -777,18 +312,17 @@ r['[SSC] Radar Master'] = function(params, pss) totalRadar = totalRadar + firstRadar; end; end; - -- two loops are needed, because we need to calculate totalRadar - -- to actually calculate any part of the score + --two loops are needed because we need to calculate totalRadar + --to actually calculate any part of the score for k,v in pairs(masterTable) do local curPortion = pss:GetRadarActual():GetValue(k) / v; finalScore = finalScore + curPortion*(500000000*(v/totalRadar)); end; pss:SetScore(finalScore); end; - ------------------------------------------------------------ --- Marvelous Incorporated Grading System (or MIGS for short) --- basically like DP scoring with locked DP values +--Marvelous Incorporated Grading System (or MIGS for short) +--basically like DP scoring with locked DP values ------------------------------------------------------------ r['MIGS'] = function(params,pss) local curScore = 0; @@ -808,58 +342,14 @@ r['MIGS'] = function(params,pss) end; -------------------------------------------------------------- --- 1bilDP scoring because I can. +--1bilDP scoring because I can. -------------------------------------------------------------- r['Billions DP']= function(params,pss) local poss = pss:GetPossibleDancePoints() pss:SetScore(math.floor((pss:GetActualDancePoints()/poss)*1000000000)) pss:SetCurMaxScore(math.floor((pss:GetCurrentPossibleDancePoints()/poss)*1000000000)) end - ------------------------------------------------------------------------------- -- Formulas end here. - for v in ivalues(DisabledScoringModes) do r[v] = nil end Scoring = r; - -function UserPrefScoringMode() - local baseChoices = {} - for k,v in pairs(Scoring) do table.insert(baseChoices,k) end - if next(baseChoices) == nil then UndocumentedFeature "No scoring modes available" end - local t = { - Name = "UserPrefScoringMode"; - LayoutType = "ShowAllInRow"; - SelectType = "SelectOne"; - OneChoiceForAllPlayers = true; - ExportOnChange = false; - Choices = baseChoices; - LoadSelections = function(self, list, pn) - if ReadPrefFromFile("UserPrefScoringMode") ~= nil then - --Load the saved scoring mode from UserPrefs. - local theValue = ReadPrefFromFile("UserPrefScoringMode"); - local success = false; - - --HACK: Preview 4 took out 1st and 4th scoring. Replace with a close equivalent. - if theValue == "DDR 1stMIX" or theValue == "DDR 4thMIX" then theValue = "Oldschool" end - - --Search the list of scoring modes for the saved scoring mode. - for k,v in ipairs(baseChoices) do - if v == theValue then list[k] = true success = true break end - end; - - --We couldn't find it, pick the first available scoring mode as a sane default. - if success == false then list[1] = true end; - else - WritePrefToFile("UserPrefScoringMode", baseChoices[1]); - list[1] = true; - end; - end; - SaveSelections = function(self, list, pn) - for k,v in ipairs(list) do - if v then WritePrefToFile("UserPrefScoringMode", baseChoices[k]) break end - end; - end; - }; - setmetatable( t, t ); - return t; -end diff --git a/Themes/_fallback/Scripts/05 NewScoringFrontend.lua b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua new file mode 100644 index 0000000000..0740ce18d5 --- /dev/null +++ b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua @@ -0,0 +1,187 @@ +--[[DO NOT MODIFY THIS FILE. +You can add new scoring modes just by creating a different file and adding them to the +ScoringModes table. Replacing this file will cause additions to be lost during updates. +It's unnecessary and problematic.]] + +ScoringModes={} + +local function CreateOldScoringShim(name) + local func = Scoring[name] + return function(judg,pss,player,mode) + judg,pss,player,mode=coroutine.yield() + while true do + if mode=="update" then + func(judg,pss) + judg,pss,player,mode=coroutine.yield(pss:GetScore(),pss:GetCurMaxScore()) + elseif mode=="finalize" then + return pss:GetScore(),pss:GetCurMaxScore() + else + error("scoring shim for mode "..name.." got an unknown state.") + end + end + end +end + +local ZeroIfNotFound = { __index = function() return 0 end; }; + +function GetDirectRadar(player) + return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player) +end + +--The code here is an example of native modes. + +--[[There are three operation modes: +init mode: The JudgmentCommand is invalid in this mode. + This mode is designed to allow you to prepare your scoring mode. +update mode: all are valid. + This lets you respond to score changes. +finalize mode: JudgementCommand invalid. + This is designed to let you give score bonuses. +]] + +ScoringModes["Oldschool"]=function(judg,pss,player,mode) + local tscore = 0 + local tmaxscore = 1000000000 + local possibilities= { + ['TapNoteScore_W1']=999, + ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, + ['TapNoteScore_W3']=777, + ['TapNoteScore_W4']=555, + ['TapNoteScore_W5']=111, + }; + assert(mode=="init","issues") + setmetatable(possibilities, {__index=function() return 0 end;}); + judg,pss,player,mode = coroutine.yield() + --holy crap it's a state machine i guess! + while true do + if mode=="update" then + tscore=tscore+((pss:GetCurrentCombo()*111)^1.1)+ possibilities[judg.TapNoteScore] + (judg.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0) + judg,pss,player,mode = coroutine.yield(tscore,tmaxscore) + end + if mode=="finalize" then + break + end + end + return tscore,tmaxscore +end + +ScoringModes['DDRMAX']=function(judge,pss,player,mode) + --If you know Japanese and English, and can translate these comments, please help. + --日本ã®ã‚³ãƒ¡ãƒ³ãƒˆã¯ã€æ©Ÿæ¢°è§£é‡ˆã•れã¾ã—ãŸã€‚ ã‚ãªãŸãŒå½¼ã‚‰ã‚’人間を翻訳ã•れãŸã‚³ãƒ¡ãƒ³ãƒˆã¨å…¥ã‚Œæ›¿ãˆã‚‹ã®ã‚’手ä¼ã†ã“ã¨ãŒã§ãã‚‹ãªã‚‰ã°ã€ã©ã†ãžã€‚ + --[en] in init mode, you start here. judge will be nil. + --[jp] initモードã§ã€ã‚ãªãŸãŒã“ã“ã«å‡ºç™ºã™ã‚‹ã“ã¨ã€‚judgeãŒã€nilã§ã™ + local multLookup = { + TapNoteScore_W1=10, + TapNoteScore_W2=10, + TapNoteScore_W3=5 } + local notesToIgnore = { + TapNoteScore_CheckpointHit=true, + TapNoteScore_CheckpointMiss=true, + TapNoteScore_HitMine=true, + TapNoteScore_AvoidMine=true, + TapNoteScore_None=true} + local radarCategoriesAndBonuses={ + RadarCategory_Stream=20000000, + RadarCategory_Air=10000000, + RadarCategory_Voltage=10000000, + RadarCategory_Chaos=10000000, + RadarCategory_Freeze=10000000} + setmetatable(multLookup,ZeroIfNotFound) + local numNoteObjects = GetDirectRadar(player):GetValue('RadarCategory_TapsAndHolds') + local base = 5000000 + local curstep = 0 + local score = 0 + local bestscore = 0 + local s = numNoteObjects<1 and 0 or ((numNoteObjects/2)*(1+numNoteObjects)) + --[en] coroutine.yield() acts somewhat like return, but when the function is run by UpdateScoreKeepers() it will start here. + --[jp] coroutine.yield()ã¯ã„ãã¶ã‚“「returnã€ã®ã‚ˆã†ãªãµã‚Šã‚’ã—ã¾ã™ã€ã—ã‹ã—ã€æ©Ÿèƒ½ãŒUpdateScoreKeepers()ã«é€šã•れるã¨ãã€ãれã¯ã“ã“ã§å§‹ã¾ã‚Šã¾ã™ã€‚ + judge,pss,player,mode = coroutine.yield() + --[en] a while loop is only one way to make the mode selection system, but it's probably the easiest. + --[jp]「whileã€ãƒ«ãƒ¼ãƒ—ã¯ãƒ¢ãƒ¼ãƒ‰é¸æŠžã‚·ã‚¹ãƒ†ãƒ ã‚’行ã†1ã¤ã®æ–¹æ³•ã ã‘ã§ã™ã€ã—ã‹ã—ã€ãれã¯å¤šåˆ†æœ€ã‚‚ç°¡å˜ã§ã—ょã†ã€‚ + while true do + --update mode code + if mode == "update" then + --[en] this filters out holds and spurious judgments. DDRMAX ignores holds for scoring purposes. + --[jp] ã“れã¯ã€holdã¨ã‚‚ã£ã¨ã‚‚らã—ã„判断を除去ã—ã¾ã™ã€‚ DDRMAXã¯ã€ç›®çš„を記録ã™ã‚‹ãŸã‚ã«ã€holdを無視ã—ã¾ã™ã€‚ + if (not notesToIgnore[judge.TapNoteScore]) and judge.HoldNoteScore==nil then + curstep=curstep+1 + if curstep>numNoteObjects then error "Got some things we shouldn't have" end + score=score+(pss:GetFailed() and 1 or (multLookup[judge.TapNoteScore]*math.floor(base/s)*curstep))+((curstep==numNoteObjects and pss:FullComboOfScore('TapNoteScore_W2')) and (10*(base-(math.floor(base/s)*numNoteObjects))) or 0) + bestscore = (curstep==numNoteObjects and 50000000 or bestscore+(10*math.floor(base/s)*curstep)) + end + judge,pss,player,mode=coroutine.yield(score,bestscore) + end + if mode == "finalize" then + --[en] this code isn't accurate, but it's good enough + --[jp] ã“ã®ã‚³ãƒ¼ãƒ‰ã¯æ­£ç¢ºã§ã‚りã¾ã›ã‚“ã€ã—ã‹ã—ã€ãれã¯å分ã«ã‚ˆã„ã§ã™ + local actradar = pss:GetRadarActual() + local possradar = pss:GetRadarPossible() + for k,v in pairs(radarCategoriesAndBonuses) do + local thispossradar=possradar:GetValue(k) + if thispossradar>0 then +score=score+math.floor((actradar:GetValue(k)/thispossradar)*(thispossradar*v)) + bestscore=bestscore+(thispossradar*v) + end + end + break + end + end + return score,bestscore +end + +for k,v in pairs(Scoring) do + if ScoringModes[k] == nil then + ScoringModes[k] = CreateOldScoringShim(k) + end +end + +--if you are using the old Scoring system in the standard way, your theme will not need to be updated +local OldCallShimMt={ + __index=function(t,k,v) + return function(judg, _) + if GetNumReadiedScoreKeepers()==0 then + --lazy programming + InitScoreKeepers(ArgsIfPlayerJoinedOrNil(v)) + end + UpdateScoreKeepers(judg) + end + end +} + +Scoring={} +setmetatable(Scoring,OldCallShimMt) + +function UserPrefScoringMode() + local baseChoices = {} + for k,v in pairs(ScoringModes) do table.insert(baseChoices,k) end + if next(baseChoices) == nil then UndocumentedFeature "No scoring modes available" end + local t = { + Name = "UserPrefScoringMode"; + LayoutType = "ShowAllInRow"; + SelectType = "SelectOne"; + OneChoiceForAllPlayers = true; + ExportOnChange = false; + Choices = baseChoices; + LoadSelections = function(self, list, pn) + if ReadPrefFromFile("UserPrefScoringMode") ~= nil then + --Load the saved scoring mode from UserPrefs. + local theValue = ReadPrefFromFile("UserPrefScoringMode"); + local success = false; + --HACK: Preview 4 took out 1st and 4th scoring. Replace with a close equivalent. + if theValue == "DDR 1stMIX" or theValue == "DDR 4thMIX" then theValue = "Oldschool" end + --Search the list of scoring modes for the saved scoring mode. + for k,v in ipairs(baseChoices) do if v == theValue then list[k] = true success = true break end end; + --We couldn't find it, pick the first available scoring mode as a sane default. + if success == false then list[1] = true end; + else + WritePrefToFile("UserPrefScoringMode", baseChoices[1]); + list[1] = true; + end; + end; + SaveSelections = function(self, list, pn) + for k,v in ipairs(list) do if v then WritePrefToFile("UserPrefScoringMode", baseChoices[k]) break end end; + end; + }; + setmetatable( t, t ); + return t; +end \ No newline at end of file diff --git a/Themes/_fallback/Scripts/05 ScoringEngine2.lua b/Themes/_fallback/Scripts/05 ScoringEngine2.lua new file mode 100644 index 0000000000..4519d6ef2c --- /dev/null +++ b/Themes/_fallback/Scripts/05 ScoringEngine2.lua @@ -0,0 +1,145 @@ +--ScoringEngine2 by FSX v1.41 +--essentially a really chunky layer to make SetScore elegant(ish) +--arguments for scorekeepers: JudgmentMessageCommand,PlayerStageStats,PlayerNumber,State +--[[changelog +v1.41 6 May 2012 +*Not really sure. +*Included in SM5 for alpha 3. +v1.4 18 Apr 2012 +*Support for judgment filtering. +*Minor changes. +*First public release (in SE2 Dev Kit) (didn't happen) +v1.3 17 Apr 2012 +*First complete release. +*Error reporting in FinalizeScoreKeepers() +*Bug fixes.]] +--scoring modes written for the old ad-hoc system don't work, but don't cause crashes either. +--SM5 has some glue code for them, though +local stageKey = nil +local ReadiedScoreKeepers = {} +local JudgmentFilters = {} + +local function CoroutineIsGood(cr) + return coroutine.status(cr)=="suspended" +end + +function GetNumReadiedScoreKeepers() + return table.itemcount(ReadiedScoreKeepers) +end + +function InitScoreKeepers(p1Mode, p2Mode) + local newStgK = {pcall(GameState.GetStageSeed,GAMESTATE)} + assert(newStgK[1], "it's too early to initialize the ScoreKeepers, the GameState isn't ready yet") + if newStgK[2] == stageKey then + Log "[InitScoreKeepers] unnecessary call" + return true + end + ReadiedScoreKeepers={} + JudgmentFilters={} + stageKey = newStgK + local intab = {} + if p1Mode ~= nil then + intab.P1 = p1Mode + end + if p2Mode ~= nil then + intab.P2 = p2Mode + end + assert(next(intab), "InitScoreKeepers didn't get any args") + for k,v in pairs(intab) do + if not ScoringModes[v] then + --SPOILER: UndocumentedFeature crashes the game intentionally. + UndocumentedFeature(k.."'s scoring mode \""..v.."\" doesn't exist.") + end + ReadiedScoreKeepers[k] = coroutine.create(ScoringModes[v]) + --call each scoring mode one time in init mode + checks={coroutine.resume(ReadiedScoreKeepers[k],nil,STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k), "PlayerNumber_"..k, "init")} + if not CoroutineIsGood(ReadiedScoreKeepers[k]) then SCREENMAN:SystemMessage("scoring init error: "..checks[2]) return false end + --very very very very safe filtering rule load code + if type(checks[2])=="table" then + if type(checks[2][1])..type(checks[2][2]) == "tabletable" then + local isGood=false + local tapscan = Enum.Reverse(TapNoteScore) + local holdscan = Enum.Reverse(HoldNoteScore) + local finaltable = {{},{}} + for i=1,2 do + for k,v in pairs(checks[2][i]) do + finaltable[i][v]=true + if (not (i==2 and holdscan[v] or tapscan[v])) or v==nil then isGood=false break end + isGood=true + end + if not isGood then break end + end + if isGood then + JudgmentFilters[k]=finaltable + end + end + end + end + return true +end + +function UpdateScoreKeepers(JMC) + assert(JMC,"pass args, please") + runplayer = ToEnumShortString(JMC.Player) + if ReadiedScoreKeepers[runplayer] then + if JudgmentFilters[runplayer] and (JudgmentFilters[runplayer][1][JMC.TapNoteScore] or JudgmentFilters[runplayer][2][JMC.HoldNoteScore]) then + return true + end + local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats(JMC.Player) + local newscores = {coroutine.resume(ReadiedScoreKeepers[runplayer],JMC,pss,JMC.Player,"update")} + if CoroutineIsGood(ReadiedScoreKeepers[runplayer]) then + pss:SetScore(newscores[2]) + pss:SetCurMaxScore(newscores[3]) + return true + else + SCREENMAN:SystemMessage("scoring update error: "..newscores[2]) + ReadiedScoreKeepers[runplayer]=nil + return false + end + end +end + +function FinalizeScoreKeepers() + for k,v in pairs(ReadiedScoreKeepers) do + local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k) + local newscores = {coroutine.resume(v,nil,pss,"PlayerNumber_"..k,"finalize")} + local status = coroutine.status(v) + --kill the scorekeeper now, we don't need it again + ReadiedScoreKeepers[k] = nil + if status=="dead" then + if newscores[1]==true then + pss:SetScore(newscores[2]) + pss:SetCurMaxScore(newscores[3]) + else + SCREENMAN:SystemMessage("scoring finalize error: "..newscores[2]) + return false + end + else + return false + end + end + return true +end + +-- (c) 2012 Jack Walstrom and the spinal shark collective +-- 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. \ No newline at end of file diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 194bbd99b9..e445c49c40 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1152,7 +1152,8 @@ RequireStepOnMines=false InitialHoldLife=IsGame("pump") and 0.05 or 1 MaxHoldLife=1 RollBodyIncrementsCombo=false -ScoreMissedHoldsAndRolls=not IsGame("pump") +#ScoreMissedHoldsAndRolls=not IsGame("pump") +ScoreMissedHoldsAndRolls=not IsGame("pump") and not IsGame("dance") PercentUntilColorCombo=0.25 ComboStoppedAt=50 AttackRunTimeRandom=6 @@ -1577,6 +1578,7 @@ TimerSeconds=-1 FirstUpdateCommand= PlayMusic=true MusicAlignBeat=true +DelayMusicSeconds=0 StopMusicOnBack=false WaitForChildrenBeforeTweeningOut=false CancelTransitionsOut=false @@ -1873,20 +1875,34 @@ DefaultChoice="Single" ChoiceNames=GameCompatibleModes() # OptionOrderAuto="1:2,2:1" +# dance, pump, and likely others ChoiceSingle="name,Single;style,single;text,Single;screen,"..Branch.AfterSelectStyle() ChoiceDouble="name,Double;style,double;text,Double;screen,"..Branch.AfterSelectStyle() ChoiceSolo="name,Solo;style,solo;text,Solo;screen,"..Branch.AfterSelectStyle() ChoiceVersus="name,Versus;style,versus;text,Versus;screen,"..Branch.AfterSelectStyle() ChoiceCouple="name,Couple;style,couple;text,Couple;screen,"..Branch.AfterSelectStyle() ChoiceRoutine="name,Routine;style,routine;text,Routine;screen,"..Branch.AfterSelectStyle() +# pump ChoiceHalfDouble="name,HalfDouble;style,halfdouble;text,HalfDouble;screen,"..Branch.AfterSelectStyle() +# beat Choice5Keys="name,5Keys;style,single5;text,5Keys;screen,"..Branch.AfterSelectStyle() Choice7Keys="name,7Keys;style,single7;text,7Keys;screen,"..Branch.AfterSelectStyle() ChoiceVersus5="name,Versus5;style,versus5;text,Versus5;screen,"..Branch.AfterSelectStyle() ChoiceVersus7="name,Versus7;style,versus7;text,Versus7;screen,"..Branch.AfterSelectStyle() Choice10Keys="name,10Keys;style,double5;text,10Keys;screen,"..Branch.AfterSelectStyle() Choice14Keys="name,14Keys;style,double7;text,14Keys;screen,"..Branch.AfterSelectStyle() +# kb7 ChoiceKB7="name,kb7;style,single;screen,"..Branch.AfterSelectStyle() +# techno +ChoiceSingle4="name,Single4;style,single4;screen,"..Branch.AfterSelectStyle() +ChoiceSingle5="name,Single5;style,single5;screen,"..Branch.AfterSelectStyle() +ChoiceSingle8="name,Single8;style,single8;screen,"..Branch.AfterSelectStyle() +ChoiceVersus4="name,Versus4;style,versus4;screen,"..Branch.AfterSelectStyle() +ChoiceVersus5="name,Versus5;style,versus5;screen,"..Branch.AfterSelectStyle() +ChoiceVersus8="name,Versus8;style,versus8;screen,"..Branch.AfterSelectStyle() +ChoiceDouble4="name,Double4;style,double4;screen,"..Branch.AfterSelectStyle() +ChoiceDouble5="name,Double5;style,double5;screen,"..Branch.AfterSelectStyle() +ChoiceDouble8="name,Double8;style,double8;screen,"..Branch.AfterSelectStyle() # PerChoiceScrollElement=false PerChoiceIconElement=false @@ -2872,7 +2888,7 @@ Line20="conf,VisualDelaySeconds" Fallback="ScreenOptionsServiceChild" NextScreen="ScreenOptionsService" PrevScreen="ScreenOptionsService" -LineNames="Score,3,4,8,11,13,14,15,16,28,29,30" +LineNames="Score,3,4,8,11,13,14,15,16,28,29,30,31" LineScore="lua,UserPrefScoringMode()" Line3="conf,TimingWindowScale" Line4="conf,LifeDifficulty" @@ -2885,6 +2901,7 @@ Line16="conf,UseUnlockSystem" Line28="conf,AutogenSteps" Line29="conf,AutogenGroupCourses" Line30="conf,FastLoad" +Line31="conf,FastLoadAdditionalSongs" # unused options #Line2="conf,ScoringType" diff --git a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua index 8695387dfe..ff478c90c8 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua @@ -1,3 +1,7 @@ +if not GAMESTATE:IsCourseMode() then + FinalizeScoreKeepers() +end + local function GraphDisplay( pn ) local t = Def.ActorFrame { Def.GraphDisplay { diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index 3bacf03843..b6ff781803 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -215,8 +215,7 @@ if( not GAMESTATE:IsCourseMode() ) then params.TapNoteScore ~= 'TapNoteScore_Invalid' and params.TapNoteScore ~= 'TapNoteScore_None' then - Scoring[GetUserPref("UserPrefScoringMode")](params, - STATSMAN:GetCurStageStats():GetPlayerStageStats(params.Player)) + UpdateScoreKeepers(params) end end; }; diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 249debdbdf..2f0471e7aa 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -77,4 +77,12 @@ t[#t+1] = Def.ActorFrame { }; }; -return t \ No newline at end of file +--Get scoring ready. +if not GAMESTATE:IsCourseMode() then + InitScoreKeepers( + GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode"), + GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode") + ) +end + +return t diff --git a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua index 5394ab5d25..e0baff0761 100644 --- a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua +++ b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -6,25 +6,34 @@ local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,12); LoadFont("Common Normal") .. { - InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set"); - SetCommand=function(self) - if GAMESTATE:GetCurrentCourse() then - self:settext( GAMESTATE:GetCurrentStageIndex()+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); - elseif GAMESTATE:IsEventMode() then - self:settextf("Stage %s", curStageIndex+1); - else - if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then - self:settextf("%s", ToEnumShortString(curStage)); - self:zoom(0.75); - else - self:settextf("%s Stage", ToEnumShortString(curStage)); - self:zoom(1); - end; - end; - -- StepMania is being stupid so we have to do this here; - self:diffuse(StageToColor(curStage)); - self:diffusetopedge(ColorLightTone(StageToColor(curStage))); - end; + InitCommand=cmd(y,-1;shadowlength,1;); + BeginCommand=function(self) + local top = SCREENMAN:GetTopScreen() + if top then + if not string.find(top:GetName(),"ScreenEvaluation") then + curStageIndex = curStageIndex + 1 + end + end + self:playcommand("Set") + end; + SetCommand=function(self) + if GAMESTATE:GetCurrentCourse() then + self:settext( curStageIndex+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); + elseif GAMESTATE:IsEventMode() then + self:settextf("Stage %s", curStageIndex); + else + if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then + self:settextf("%s", ToEnumShortString(curStage)); + self:zoom(0.75); + else + self:settextf("%s Stage", ToEnumShortString(curStage)); + self:zoom(1); + end; + end; + -- StepMania is being stupid so we have to do this here; + self:diffuse(StageToColor(curStage)); + self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + end; }; }; return t \ No newline at end of file diff --git a/Themes/home/metrics.ini b/Themes/home/metrics.ini index a5a948a6c8..3531cb3c0f 100644 --- a/Themes/home/metrics.ini +++ b/Themes/home/metrics.ini @@ -2,4 +2,6 @@ [Global] FallbackTheme=default -# Now you can edit or add things. ############################################## \ No newline at end of file +# Now you can edit or add things. ############################################## +[ScreenEdit] +EditModifiers="midi-note" \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/new/BGAnimations/ScreenGameplay decorations.lua similarity index 96% rename from Themes/new/BGAnimations/ScreenGameplay decorations/default.lua rename to Themes/new/BGAnimations/ScreenGameplay decorations.lua index 68a7bae928..b2a600e16d 100644 --- a/Themes/new/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/new/BGAnimations/ScreenGameplay decorations.lua @@ -1,31 +1,31 @@ -local t = Def.ActorFrame {}; --- Header -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_TOP;draworder,100); - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - zoomto,SCREEN_WIDTH,64; - diffuse,ThemeColor.Secondary); - }; - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - zoomto,SCREEN_WIDTH,48; - diffuse,ThemeColor.Background); - }; -}; --- Footer -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_BOTTOM;draworder,100); - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - zoomto,SCREEN_WIDTH,64; - diffuse,ThemeColor.Secondary); - }; - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - zoomto,SCREEN_WIDTH,32; - diffuse,ThemeColor.Background); - }; -}; - +local t = Def.ActorFrame {}; +-- Header +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_TOP;draworder,100); + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + zoomto,SCREEN_WIDTH,64; + diffuse,ThemeColor.Secondary); + }; + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + zoomto,SCREEN_WIDTH,48; + diffuse,ThemeColor.Background); + }; +}; +-- Footer +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_BOTTOM;draworder,100); + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + zoomto,SCREEN_WIDTH,64; + diffuse,ThemeColor.Secondary); + }; + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + zoomto,SCREEN_WIDTH,32; + diffuse,ThemeColor.Background); + }; +}; + return t; \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenSelectMusic decorations/default.lua b/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua similarity index 70% rename from Themes/new/BGAnimations/ScreenSelectMusic decorations/default.lua rename to Themes/new/BGAnimations/ScreenSelectMusic decorations.lua index e0302ba383..f7c1c28553 100644 --- a/Themes/new/BGAnimations/ScreenSelectMusic decorations/default.lua +++ b/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua @@ -1,41 +1,43 @@ -local t = LoadFallbackB(); --- -t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); -t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); --- StepsDisplay -local function CreateStepsDisplay( _pn ) - local function set(self, _pn) - self:SetFromGameState( _pn); - end - - local t = Def.StepsDisplay { - InitCommand=cmd(Load,"StepsDisplay",GAMESTATE:GetPlayerState(_pn);); - }; - - if _pn == PLAYER_1 then - t.CurrentStepsP1ChangedMessageCommand=function(self) set(self, _pn); end; - t.CurrentTrailP1ChangedMessageCommand=function(self) set(self, _pn); end; - else - t.CurrentStepsP2ChangedMessageCommand=function(self) set(self, _pn); end; - t.CurrentTrailP2ChangedMessageCommand=function(self) set(self, _pn); end; - end - - return t; -end --- Create Background For Each Player ---[[ for pn in ivalues(PlayerNumber) do - local MetricsName = "PlayerFrame" .. PlayerNumberToString(pn) - t[#t+1] = LoadActor(THEME:GetPathG(Var "LoadingScreen","PlayerFrame")) .. { - InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; - }; -end ]] --- Create StepsDisplay for each player -for pn in ivalues(PlayerNumber) do - local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); - t[#t+1] = CreateStepsDisplay(pn) .. { - InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; - }; -end - +local t = LoadFallbackB(); +-- +t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); +t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("TimeDisplay","TimeDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("SortDisplay","SortDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); + +-- StepsDisplay creator +local function CreateStepsDisplay( _pn ) + local function set(self, _pn) + self:SetFromGameState( _pn); + end + + local t = Def.StepsDisplay { + InitCommand=cmd(Load,"StepsDisplay",GAMESTATE:GetPlayerState(_pn);); + }; + + if _pn == PLAYER_1 then + t.CurrentStepsP1ChangedMessageCommand=function(self) set(self, _pn); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) set(self, _pn); end; + else + t.CurrentStepsP2ChangedMessageCommand=function(self) set(self, _pn); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) set(self, _pn); end; + end + + return t; +end +-- Create StepsDisplay for each player +for pn in ivalues(PlayerNumber) do + local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); + t[#t+1] = CreateStepsDisplay(pn) .. { + InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; + }; +end +-- Create PaneDisplay for each player +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplay","PaneDisplay"); +--[[ for pn in ivalues(PlayerNumber) do + local MetricsName = "PaneDisplay" .. PlayerNumberToString(pn); + t[#t+1] = StandardDecorationFromFileOptional(MetricsName,"PaneDisplay",PlayerNumber); +end ]] return t; \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenWithMenuElements decorations/default.lua b/Themes/new/BGAnimations/ScreenWithMenuElements decorations.lua similarity index 100% rename from Themes/new/BGAnimations/ScreenWithMenuElements decorations/default.lua rename to Themes/new/BGAnimations/ScreenWithMenuElements decorations.lua diff --git a/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua index d80623d688..0b34bd35e4 100644 --- a/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua +++ b/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua @@ -1,74 +1,74 @@ -local switchTime = 2; -local bThen, bNow, bMultipleBPMs; -local iCurrent = 0; -local Song, BPMs; -local updateTimer = function(self, fDeltaTime) - local c = self:GetChildren(); - -- use aux as a timer internally. - self:aux( self:getaux() + fDeltaTime ); - -- debug - -- c.BPMText:settextf("d:%0.16f (a:%0.2f)",fDeltaTime,self:getaux()); - bNow = (math.floor( self:getaux() % switchTime ) == 0) and true or false; - local bChanged = (bThen == bNow); - -- Toggle current index - if bChanged then - iCurrent = 1 - iCurrent; - if ( BPMs[1] == BPMs[2] ) then - bMultipleBPMs = false; - c.BPMText:targetnumber(clamp(BPMs[1],0,9999)); - else - bMultipleBPMs = true; - c.BPMText:targetnumber(clamp(BPMs[1+iCurrent],0,9999)); - end; - end; - -- - -- - bThen = (math.floor( self:getaux() % 2 ) ~= 0) and true or false; -end; -return Def.ActorFrame { - BeginCommand=function(self) - self:SetUpdateFunction( updateTimer ); - end; - CurrentSongChangedMessageCommand=function(self) - self:aux(0); - self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); - end; - -- BPM Background - Def.Quad { - Name="BPMBackground"; - InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); - }; - -- BPM Multiple Warning - Def.Quad { - Name="BPMFlag"; - InitCommand=cmd(x,-32;y,4;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset'); - SingleBPMCommand=cmd(finishtweening;decelerate,0.1;zoom,0;zoomx,8;diffusealpha,0); - MultipleBPMCommand=cmd(finishtweening;smooth,0.05;zoom,1;diffusealpha,1;); - }; - -- BPM Label - LoadFont("Common Normal") .. { - Name="BPMLabel"; - Text="BPM"; - InitCommand=cmd(x,-32;y,-8;zoom,0.5); - }; - -- BPM Display - Def.RollingNumbers { - Name="BPMText"; - File=THEME:GetPathF("Common","Normal"); - InitCommand=cmd(Load,"RollingNumbersBPMDisplay"); - OnCommand=cmd(horizalign,left;x,-16); - BeginCommand=cmd(playcommand,"Set"); - CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - Song = GAMESTATE:GetCurrentSong(); - BPMs = Song:GetDisplayBpms() or {0,0}; - -- reset numbers - self:targetnumber( clamp(BPMs[1],0,9999) ); - -- (force once) - if (self:getaux() == 0) then - self:settext(clamp(BPMs[1],0,9999)); - self:aux( 1 ); - end; - end; - }; +local switchTime = 2; +local bThen, bNow, bMultipleBPMs; +local iCurrent = 0; +local Song, BPMs; +local updateTimer = function(self, fDeltaTime) + local c = self:GetChildren(); + -- use aux as a timer internally. + self:aux( self:getaux() + fDeltaTime ); + -- debug + -- c.BPMText:settextf("d:%0.16f (a:%0.2f)",fDeltaTime,self:getaux()); + bNow = (math.floor( self:getaux() % switchTime ) == 0) and true or false; + local bChanged = (bThen == bNow); + -- Toggle current index + if bChanged then + iCurrent = 1 - iCurrent; + if ( BPMs[1] == BPMs[2] ) then + bMultipleBPMs = false; + c.BPMText:targetnumber(clamp(BPMs[1],0,9999)); + else + bMultipleBPMs = true; + c.BPMText:targetnumber(clamp(BPMs[1+iCurrent],0,9999)); + end; + end; + -- + -- + bThen = (math.floor( self:getaux() % 2 ) ~= 0) and true or false; +end; +return Def.ActorFrame { + BeginCommand=function(self) + self:SetUpdateFunction( updateTimer ); + end; + CurrentSongChangedMessageCommand=function(self) + self:aux(0); + self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); + end; + -- BPM Background + Def.Quad { + Name="BPMBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- BPM Multiple Warning + Def.Quad { + Name="BPMFlag"; + InitCommand=cmd(x,32;y,-8;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset'); + SingleBPMCommand=cmd(finishtweening;decelerate,0.1;zoom,0;zoomx,8;diffusealpha,0); + MultipleBPMCommand=cmd(finishtweening;smooth,0.05;zoom,1;diffusealpha,1;); + }; + -- BPM Label + LoadFont("Common Normal") .. { + Name="BPMLabel"; + Text="BPM"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- BPM Display + Def.RollingNumbers { + Name="BPMText"; + File=THEME:GetPathF("Common","Normal"); + InitCommand=cmd(Load,"RollingNumbersBPMDisplay"); + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + Song = GAMESTATE:GetCurrentSong(); + BPMs = Song:GetDisplayBpms() or {0,0}; + -- reset numbers + self:targetnumber( clamp(BPMs[1],0,9999) ); + -- (force once) + if (self:getaux() == 0) then + self:settext(clamp(BPMs[1],0,9999)); + self:aux( 1 ); + end; + end; + }; }; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua b/Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua new file mode 100644 index 0000000000..2bcb3f567a --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua @@ -0,0 +1,7 @@ +return Def.StepsDisplayList { + Name="StepsDisplayListRow"; + CursorP1 = Def.ActorFrame {}; + CursorP2 = Def.ActorFrame {}; + CursorP1Frame = Def.Actor {}; + CursorP2Frame = Def.Actor {}; +}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua new file mode 100644 index 0000000000..7fd7af834b --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua @@ -0,0 +1,125 @@ +local t = Def.ActorFrame {}; +-- Background +t[#t+1] = Def.ActorFrame { Name="Background"; + Def.Quad { + InitCommand=cmd(zoomto,320+8,96;diffuse,ThemeColor.Secondary); + }; +}; +-- Radar Text +local function RadarLabel( rc ) + local t = Def.ActorFrame {}; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.upper(THEME:GetString("RadarCategoryShort",ToEnumShortString(rc))); + InitCommand=cmd(shadowlength,1;zoom,0.675;horizalign,right); + }; + -- + return t; +end; +-- +local function RadarItem( pn, rc ) + local t = Def.ActorFrame {}; + -- + local function GetRadarValue( _rc, _pn ) + if GAMESTATE:GetCurrentSteps( _pn ) then + local Steps = GAMESTATE:GetCurrentSteps( _pn ); + local RadarValues = Steps:GetRadarValues( _pn ); + local ThisValue = RadarValues:GetValue( _rc ); + -- + return tonumber(ThisValue); + else + return 0; + end; + end; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.format("%04i",GetRadarValue(rc,pn)); + InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); + SetCommand=function(self,params) + if params.Player == pn then + self:settextf("%04i",GetRadarValue(rc,pn)); + end; + end; + }; + -- + t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + -- + return t; +end; +-- +local function RadarPercent( pn, rc ) + local t = Def.ActorFrame {}; + -- + local function GetRadarValue( _rc, _pn ) + if GAMESTATE:GetCurrentSteps( _pn ) then + local Steps = GAMESTATE:GetCurrentSteps( _pn ); + local RadarValues = Steps:GetRadarValues( _pn ); + local ThisValue = RadarValues:GetValue( _rc ); + -- + return tonumber(ThisValue); + else + return 0; + end; + end; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.format("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); + InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); + SetCommand=function(self,params) + if params.Player == pn then + self:settextf("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); + end; + end; + }; + -- + t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + -- + return t; +end; +-- +for index,rc in ipairs(RadarCategory) do + if index > 5 then + local VisualIndex = index-6 + local VertOffset = ( VisualIndex % 4 ) * 16; + local HorizOffset = math.floor( (VisualIndex)/4 ) * 156; + t[#t+1] = Def.ActorFrame { + Name="RadarCategoryRow" .. tonumber(index-5); + InitCommand=cmd(x,-96+HorizOffset;y,-10+VertOffset); + -- + RadarLabel(rc); + RadarItem(PLAYER_1, rc) .. { InitCommand=cmd(x,-96-8); }; + RadarItem(PLAYER_2, rc) .. { InitCommand=cmd(x,-64+4); }; + }; + end +end; +-- +for index,rc in ipairs(RadarCategory) do + if index < 6 then + local HorizOffset = (index-1) * 64; + t[#t+1] = Def.ActorFrame { + Name="RadarCategoryRow" .. tonumber(index-5); + InitCommand=cmd(x,-148+HorizOffset;y,-33); + -- + RadarLabel(rc); + RadarPercent(PLAYER_1, rc) .. { InitCommand=cmd(x,-104;y,-7); }; + RadarPercent(PLAYER_2, rc) .. { InitCommand=cmd(x,-104;y,7); }; + }; + end +end; +-- +--[[ for index,rc in ipairs(RadarCategory) do + if index > 5 then + t[#t+1] = LoadFont("Common Normal") .. { Text=ToEnumShortString(rc); InitCommand=cmd(zoom,0.5;shadowlength,1;y,(index-5)*10); }; + end +end; ]] +return t \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic SongTime.lua b/Themes/new/Graphics/ScreenSelectMusic SongTime.lua deleted file mode 100644 index ab6a023f8f..0000000000 --- a/Themes/new/Graphics/ScreenSelectMusic SongTime.lua +++ /dev/null @@ -1,17 +0,0 @@ -return Def.ActorFrame { - CurrentSongChangedMessageCommand=function(self) - self:aux(0); - self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); - end; - -- BPM Background - Def.Quad { - Name="BPMBackground"; - InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); - }; - -- BPM Label - LoadFont("Common Normal") .. { - Name="BPMLabel"; - Text="Time"; - InitCommand=cmd(x,-32;y,-8;zoom,0.5); - }; -}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua new file mode 100644 index 0000000000..f03bcc4afb --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua @@ -0,0 +1,25 @@ +return Def.ActorFrame { + -- Time Background + Def.Quad { + Name="SortBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- Time Label + LoadFont("Common Normal") .. { + Name="SortLabel"; + Text="SORT"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- Time Text + LoadFont("Common Normal") .. { + Name="SortText"; + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + SortOrderChangedMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + local s = SortOrderToLocalizedString( GAMESTATE:GetSortOrder() ); + -- reset numbers + self:settext(s); + end; + }; +}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua new file mode 100644 index 0000000000..823e5fefac --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua @@ -0,0 +1,28 @@ +return Def.ActorFrame { + -- Time Background + Def.Quad { + Name="TimeBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- Time Label + LoadFont("Common Normal") .. { + Name="TimeLabel"; + Text="TIME"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- Time Text + LoadFont("Common Normal") .. { + Name="BPMText"; + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + Song = GAMESTATE:GetCurrentSong(); + Time = Song:GetStepsSeconds() or 0; + Minutes = math.floor( Time / 60 ); + Seconds = tonumber(Time) - tonumber(Minutes*60); + -- reset numbers + self:settextf("%02i:%02i",Minutes,Seconds); + end; + }; +}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenWithMenuElements Header.lua b/Themes/new/Graphics/ScreenWithMenuElements Header.lua index 6542393f23..095989bcaa 100644 --- a/Themes/new/Graphics/ScreenWithMenuElements Header.lua +++ b/Themes/new/Graphics/ScreenWithMenuElements Header.lua @@ -1,98 +1,98 @@ -local t = Def.ActorFrame {}; -local function UpdateTriangleFrame(self) - local curBPS = GAMESTATE:GetSongBPS() and GAMESTATE:GetSongBPS() or 1; - local c = self:GetChildren(); - local auxRate = 6; - -- - c.TriangleFrame:aux( math.mod( c.TriangleFrame:getaux() + ( curBPS * auxRate ), 360) ); - c.TriangleFrame:rotationz( c.TriangleFrame:GetRotationZ() + ( curBPS * 1.5 ) ); - c.TriangleFrame:zoom( 1.125 - ((c.TriangleFrame:getaux() / 360) * 0.5) ); - -- c.TriangleFrame:x( math.cos( math.rad(c.TriangleFrame:getaux()) ) * 8 ); - -- c.TriangleFrame:y(math.sin( math.rad(c.TriangleFrame:getaux()) ) * 8); -end; -t[#t+1] = Def.ActorFrame { - -- Base - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - zoomto,SCREEN_WIDTH,48; - diffuse,ThemeColor.Secondary); - }; - -- Inner Shadow - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - y,48; - zoomto,SCREEN_WIDTH,5; - diffuse,Color('Black');diffusealpha,0.25; - fadetop,1); - }; - -- Inner Hard Line - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - y,48; - zoomto,SCREEN_WIDTH,1; - diffuse,Color('Black');diffusealpha,0.125;); - }; - -- Outer White Fade - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - y,48; - zoomto,SCREEN_WIDTH,8; - diffuse,Color('White');diffusealpha,0.125; - fadebottom,1); - }; - -- Outer White Line - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - y,48; - zoomto,SCREEN_WIDTH,1; - diffuse,Color('White');diffusealpha,0.125;); - }; -} -t[#t+1] = Def.ActorFrame { Name="TriangleFrame"; - InitCommand=cmd(x,24;y,32); - BeginCommand=function(self) - self:SetUpdateFunction( UpdateTriangleFrame ); - end; - -- Triangle Beaterator - Def.ActorFrame { - Name="TriangleFrame"; ---~ OnCommand=cmd(thump,2;effectclock,'beatnooffset';effectmagnitude,1,1.135,1); - -- - LoadActor(THEME:GetPathG("_primitive","Triangle")) .. { - Name="Triangle"; - OnCommand=cmd(diffuse,ThemeColor.Primary;zoom,0.75); - }; - }; -}; -t[#t+1] = Def.ActorFrame { - -- Text - LoadFont("Common Normal") .. { - Text=string.upper(THEME:GetString( Var "LoadingScreen","HeaderText")); - InitCommand=cmd(horizalign,left; - x,16;y,16; - diffuse,ThemeColor.Primary; - zoom,0.875; - ); - }; - -- // ---[[ LoadFont("Common Normal") .. { - Text="//"; - InitCommand=cmd(horizalign,left; - x,16;y,32; - diffuse,color("0.7,0.7,0.7,1"); - zoom,0.5; - ); - }; ]] - -- Textem - LoadFont("Common Normal") .. { - Text=string.upper("SELECT AND CHOOSE THE BEST ONE"); - InitCommand=cmd(horizalign,left; - x,34;y,32; - diffuse,color("0.7,0.7,0.7,1"); - zoom,0.5; - skewx,-0.125; - ); - }; -}; - +local t = Def.ActorFrame {}; +local function UpdateTriangleFrame(self) + local curBPS = GAMESTATE:GetSongBPS() and GAMESTATE:GetSongBPS() or 1; + local c = self:GetChildren(); + local auxRate = 3; + -- + c.TriangleFrame:aux( math.mod( c.TriangleFrame:getaux() + ( curBPS * auxRate ), 360) ); + c.TriangleFrame:rotationz( c.TriangleFrame:GetRotationZ() + ( curBPS * 0.75 ) ); + c.TriangleFrame:zoom( 1.125 - ((c.TriangleFrame:getaux() / 360) * 0.35) ); + -- c.TriangleFrame:x( math.cos( math.rad(c.TriangleFrame:getaux()) ) * 8 ); + -- c.TriangleFrame:y(math.sin( math.rad(c.TriangleFrame:getaux()) ) * 8); +end; +t[#t+1] = Def.ActorFrame { + -- Base + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + zoomto,SCREEN_WIDTH,48; + diffuse,ThemeColor.Secondary); + }; + -- Inner Shadow + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + y,48; + zoomto,SCREEN_WIDTH,5; + diffuse,Color('Black');diffusealpha,0.25; + fadetop,1); + }; + -- Inner Hard Line + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + y,48; + zoomto,SCREEN_WIDTH,1; + diffuse,Color('Black');diffusealpha,0.125;); + }; + -- Outer White Fade + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + y,48; + zoomto,SCREEN_WIDTH,8; + diffuse,Color('White');diffusealpha,0.125; + fadebottom,1); + }; + -- Outer White Line + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + y,48; + zoomto,SCREEN_WIDTH,1; + diffuse,Color('White');diffusealpha,0.125;); + }; +} +t[#t+1] = Def.ActorFrame { Name="TriangleFrame"; + InitCommand=cmd(x,24;y,32); + BeginCommand=function(self) + self:SetUpdateFunction( UpdateTriangleFrame ); + end; + -- Triangle Beaterator + Def.ActorFrame { + Name="TriangleFrame"; +--~ OnCommand=cmd(thump,2;effectclock,'beatnooffset';effectmagnitude,1,1.135,1); + -- + LoadActor(THEME:GetPathG("_primitive","Triangle")) .. { + Name="Triangle"; + OnCommand=cmd(diffuse,ThemeColor.Primary;zoom,0.75); + }; + }; +}; +t[#t+1] = Def.ActorFrame { + -- Text + LoadFont("Common Normal") .. { + Text=string.upper(THEME:GetString( Var "LoadingScreen","HeaderText")); + InitCommand=cmd(horizalign,left; + x,16;y,16; + diffuse,ThemeColor.Primary; + zoom,0.875; + ); + }; + -- // +--[[ LoadFont("Common Normal") .. { + Text="//"; + InitCommand=cmd(horizalign,left; + x,16;y,32; + diffuse,color("0.7,0.7,0.7,1"); + zoom,0.5; + ); + }; ]] + -- Textem + LoadFont("Common Normal") .. { + Text=string.upper("SELECT AND CHOOSE THE BEST ONE"); + InitCommand=cmd(horizalign,left; + x,34;y,32; + diffuse,color("0.7,0.7,0.7,1"); + zoom,0.5; + skewx,-0.125; + ); + }; +}; + return t \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua index 499ff3332f..d50a9037c2 100644 --- a/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua +++ b/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -10,7 +10,7 @@ local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",160,20); LoadFont("Common Normal") .. { - Text=curStage .. " (" .. curStageIndex .. ")"; + Text=StageToLocalizedString( curStage ) .. " Stage (" .. curStageIndex .. ")"; InitCommand=cmd(zoom,0.75;y,-2;shadowlength,1; diffuse,StageToColor(curStage); diffusetopedge,ColorLightTone(StageToColor(curStage)); diff --git a/Themes/new/Graphics/StepsDisplayListRow frame.lua b/Themes/new/Graphics/StepsDisplayListRow frame.lua new file mode 100644 index 0000000000..870c71931a --- /dev/null +++ b/Themes/new/Graphics/StepsDisplayListRow frame.lua @@ -0,0 +1 @@ +return Def.Quad {}; \ No newline at end of file diff --git a/Themes/new/metrics.ini b/Themes/new/metrics.ini index 7eae55d25e..049bea05cf 100644 --- a/Themes/new/metrics.ini +++ b/Themes/new/metrics.ini @@ -51,6 +51,24 @@ BPMDisplayY=SCREEN_CENTER_Y-128-40 BPMDisplayOnCommand=draworder,115 BPMDisplayOffCommand= # +ShowTimeDisplay=true +TimeDisplayX=SCREEN_CENTER_X-256+96+4 +TimeDisplayY=SCREEN_CENTER_Y-128-40 +TimeDisplayOnCommand=draworder,115; +TimeDisplayOffCommand= +# +ShowSortDisplay=true +SortDisplayX=SCREEN_CENTER_X-256+96+96+8 +SortDisplayY=SCREEN_CENTER_Y-128-40 +SortDisplayOnCommand=draworder,115; +SortDisplayOffCommand= +# +ShowDifficultyList=true +DifficultyListX=SCREEN_CENTER_X-128-64-64-32; +DifficultyListY=SCREEN_CENTER_Y-96-32-4; +DifficultyListOnCommand=draworder,115; +DifficultyListOffCommand= +# StepsDisplayP1X=SCREEN_CENTER_X-160 StepsDisplayP1Y=SCREEN_CENTER_Y+184 StepsDisplayP1OnCommand=draworder,155; @@ -61,6 +79,24 @@ StepsDisplayP2Y=SCREEN_CENTER_Y+184 StepsDisplayP2OnCommand=draworder,155; StepsDisplayP2OffCommand= # +ShowPaneDisplay=true +PaneDisplayX=SCREEN_CENTER_X-128-32+4 +PaneDisplayY=SCREEN_CENTER_Y +PaneDisplayOnCommand= +PaneDisplayOffCommand= +# +ShowPaneDisplayP1=true +PaneDisplayP1X= +PaneDisplayP1Y= +PaneDisplayP1OnCommand= +PaneDisplayP1OffCommand= +# +ShowPaneDisplayP2=true +PaneDisplayP2X= +PaneDisplayP2Y= +PaneDisplayP2OnCommand= +PaneDisplayP2OffCommand= +# PlayerFrameP1X=SCREEN_CENTER_X-160 PlayerFrameP1Y=SCREEN_CENTER_Y+184 PlayerFrameP1OnCommand=draworder,155;diffuse,PlayerColor(PLAYER_1); @@ -75,8 +111,8 @@ TextFormat="%04.0f" ApproachSeconds=0.25 Commify=false LeadingZeroMultiplyColor=color("#777777FF") -[RollingNumbersSongTime] -TextFormat="%02i:02i" +[RollingNumbersTimeDisplay] +TextFormat="%02f:02f" ApproachSeconds=0.25 Commify=false LeadingZeroMultiplyColor=color("#777777FF") @@ -205,7 +241,63 @@ ShowStepsType=false StepsTypeX=-20-32 StepsTypeY=7 StepsTypeOnCommand=zoom,0.45 - +[DifficultyList] +ItemsSpacingY=16 +NumShownItems=5 +[StepsDisplayListRow] +# TODO: Make this use DifficultyList? +CapitalizeDifficultyNames=false +NumShownItems=5 +ItemsSpacingY=16 +MoveCommand= +FrameX= +FrameY= +FrameOnCommand=zoomto,60,14; +FrameOffCommand= +FrameSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ + else \ + self:diffuse(color('1,1,1,1')); \ + end; \ +end; +# +NumTicks=10 +MaxTicks=10 +# +ShowMeter=true +MeterX=0 +MeterOnCommand=zoom,0.75; +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowDescription=false +DescriptionX=0 +DescriptionOnCommand=0 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=false +AutogenX=0 +AutogenY=0 +AutogenOnCommand= +# +ShowStepsType=false +StepsTypeX=0 +StepsTypeY=0 +StepsTypeOnCommand= +StepsTypeSetCommand= [ScreenGameplay] LifeP1OnCommand=draworder,105 LifeP2OnCommand=draworder,105 diff --git a/Xcode/Info-StepMania.plist b/Xcode/Info-StepMania.plist index f0cc221793..907653aecc 100644 --- a/Xcode/Info-StepMania.plist +++ b/Xcode/Info-StepMania.plist @@ -45,23 +45,15 @@ PRODUCT_VER_BARE CFBundleSignature Step - CFBundleURLTypes - CFBundleVersion PRODUCT_VER_BARE LSApplicationCategoryType public.app-category.music-games LSMinimumSystemVersion - 10.4.10 + 10.5.10 NSHumanReadableCopyright - Copyright 2001-2011 + Copyright 2001-2012 NSPrincipalClass SMApplication - NSServices - - UTExportedTypeDeclarations - - UTImportedTypeDeclarations - diff --git a/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj b/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj index d6e9c9ce73..c6d1338d22 100644 --- a/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj +++ b/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj @@ -7857,49 +7857,6 @@ }; name = PerformanceDebug; }; - 2B17AB7513980FE0001AE57D /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = "../extern/libpng/**"; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = "png-1.5.1-sm5"; - USER_HEADER_SEARCH_PATHS = ""; - }; - name = Universal; - }; 2B17AB7613980FE0001AE57D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8030,48 +7987,6 @@ }; name = PerformanceDebug; }; - 2B17ABC313981522001AE57D /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = "../extern/glew-1.5.8/include"; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = "glew-sm5"; - USER_HEADER_SEARCH_PATHS = ""; - }; - name = Universal; - }; 2B17ABC413981522001AE57D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8121,6 +8036,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -8135,6 +8051,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -8161,6 +8078,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -8175,6 +8093,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -8197,50 +8116,11 @@ }; name = PerformanceDebug; }; - 2B17ABE313981757001AE57D /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = ""; - GCC_PREFIX_HEADER = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = "pcre-sm5"; - }; - name = Universal; - }; 2B17ABE413981757001AE57D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -8258,6 +8138,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -8284,9 +8165,34 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -8307,9 +8213,34 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -8326,26 +8257,11 @@ }; name = PerformanceDebug; }; - 2BD6E10F13D78B37008443DB /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = /usr/local/lib; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../extern/zlib\"", - ); - PRODUCT_NAME = "zlib-sm5"; - }; - name = Universal; - }; 2BD6E11013D78B37008443DB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -8354,19 +8270,24 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_NEWLINE = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; GCC_WARN_SHADOW = NO; GCC_WARN_SIGN_COMPARE = NO; GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; GCC_WARN_UNKNOWN_PRAGMAS = NO; GCC_WARN_UNUSED_FUNCTION = NO; GCC_WARN_UNUSED_LABEL = NO; @@ -8559,54 +8480,6 @@ }; name = Native; }; - AA40D52909A08D650068C0D5 /* Universal */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SRCROOT)/Frameworks", - "$(SYSTEM_LIBRARY_DIR)/Frameworks", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks", - ); - FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; - GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - NO_MP3_SUPPORT, - WITHOUT_NETWORKING, - ); - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../src", - "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", - "$(SRCROOT)/../src/vorbis", - "$(SRCROOT)/../src/libjpeg", - "$(SRCROOT)/../src/libpng/include", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/A/Headers", - ); - INFOPLIST_FILE = "Info-StepMania.plist"; - INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; - INFOPLIST_PREPROCESS = YES; - INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/Libraries", - "$(SRCROOT)/build/$(CONFIGURATION)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", - ); - LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; - OBJROOT = "$(SRCROOT)/build"; - OTHER_CPLUSPLUSFLAGS = ( - "-finline-limit=300", - "-fconstant-cfstrings", - "-fsingle-precision-constant", - "-fno-exceptions", - ); - PRODUCT_NAME = StepMania; - SYMROOT = "$(SRCROOT)/.."; - WRAPPER_EXTENSION = app; - }; - name = Universal; - }; AA40D52A09A08D660068C0D5 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; @@ -8675,24 +8548,6 @@ }; name = Native; }; - AA7A2B9B0AE09BA50054C5BA /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_DYNAMIC_NO_PIC = YES; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - LUA_USE_MACOSX, - "$(value)", - ); - INSTALL_PATH = "$(HOME)/bin"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; - OBJROOT = "$(SRCROOT)/build"; - PRODUCT_NAME = lua; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7A2B9C0AE09BA50054C5BA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8726,21 +8581,6 @@ }; name = Native; }; - AA7A2BBB0AE09D4E0054C5BA /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_DYNAMIC_NO_PIC = YES; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; - INSTALL_PATH = "$(HOME)/bin"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; - OBJROOT = "$(SRCROOT)/build"; - PRODUCT_NAME = luac; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7A2BBC0AE09D4E0054C5BA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8763,13 +8603,6 @@ }; name = Native; }; - AA7A2BBF0AE09D4E0054C5BA /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "all lua"; - }; - name = Universal; - }; AA7A2BC00AE09D4E0054C5BA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8796,21 +8629,6 @@ }; name = Native; }; - AA7C89830B67447E00FD9940 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_DYNAMIC_NO_PIC = YES; - GCC_MODEL_TUNING = G5; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = "tommath-sm5"; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7C89840B67447E00FD9940 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8845,23 +8663,6 @@ }; name = Native; }; - AA7C8B900B67464300FD9940 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - DEAD_CODE_STRIPPING = NO; - GCC_DYNAMIC_NO_PIC = YES; - GCC_ENABLE_CPP_RTTI = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - INSTALL_PATH = /usr/local/lib; - KEEP_PRIVATE_EXTERNS = YES; - PRODUCT_NAME = "tomcrypt-sm5"; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7C8B910B67464300FD9940 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8955,42 +8756,6 @@ }; name = PerformanceDebug; }; - AAA070AC0CE7B0E2005A3060 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - FPM = ""; - "FPM[arch=i386]" = FPM_INTEL; - "FPM[arch=ppc]" = FPM_PPC; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PREPROCESSOR_DEFINITIONS = ( - "HAVE_ASSERT_H=1", - "HAVE_DLFCN_H=1", - "HAVE_ERRNO_H=1", - "HAVE_FORK=1", - "HAVE_INTTYPES_H=1", - "HAVE_LIMITS_H=1", - "HAVE_MEMORY_H=1", - "HAVE_WAITPID=1", - "SIZEOF_LONG=4", - "$(FPM)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../src/mad-0.15.1b"; - INSTALL_PATH = /usr/local/lib; - PREBINDING = NO; - PRODUCT_NAME = "mad-sm5"; - }; - name = Universal; - }; AAA070AD0CE7B0E2005A3060 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9417,125 +9182,6 @@ }; name = Native; }; - AAE44A2B0965707500B025E5 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_PARAMETER = NO; - GCC_WARN_UNUSED_VALUE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LIBRARY_STYLE = Bundle; - MACOSX_DEPLOYMENT_TARGET = 10.5; - PRODUCT_NAME = version; - ZERO_LINK = NO; - }; - name = Universal; - }; - AAE44A2C0965707500B025E5 /* Universal */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; - FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; - GCC_ENABLE_OBJC_EXCEPTIONS = NO; - GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; - GCC_PREPROCESSOR_DEFINITIONS = _XOPEN_SOURCE; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../src", - "$(SRCROOT)/../Xcode/ffmpeg/include", - "$(SRCROOT)/../src/vorbis", - "$(SRCROOT)/../src/libjpeg", - "$(SRCROOT)/../src/libpng/include", - ); - INFOPLIST_FILE = "Info-StepMania.plist"; - INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; - INFOPLIST_PREPROCESS = YES; - INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; - LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/../src", - "$(SRCROOT)/../src/ffmpeg/include", - "$(SRCROOT)/../src/vorbis", - "$(SRCROOT)/../src/libjpeg", - "$(SRCROOT)/../src/libpng/include", - ); - LINKER_DISPLAYS_MANGLED_NAMES = NO; - MACOSX_DEPLOYMENT_TARGET = 10.5; - OBJROOT = "$(SRCROOT)/build"; - OTHER_CPLUSPLUSFLAGS = ( - "-finline-limit=300", - "-fconstant-cfstrings", - "-fno-exceptions", - "-falign-loops=16", - ); - OTHER_LDFLAGS = "-lbz2"; - PRODUCT_NAME = StepMania; - SYMROOT = "$(SRCROOT)/.."; - WRAPPER_EXTENSION = app; - }; - name = Universal; - }; - AAE44A2D0965707500B025E5 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - BUILD_VARIANTS = normal; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; - DEAD_CODE_STRIPPING = YES; - EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; - GCC_ENABLE_CPP_EXCEPTIONS = NO; - GCC_FAST_MATH = NO; - GCC_FAST_OBJC_DISPATCH = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = YES; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_STRICT_ALIASING = YES; - GCC_UNROLL_LOOPS = YES; - GCC_VERSION = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MISSING_PARENTHESES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VALUE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libraries"; - LINKER_DISPLAYS_MANGLED_NAMES = YES; - MACOSX_DEPLOYMENT_TARGET = 10.5; - PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; - SDKROOT = macosx10.6; - SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; - STRIP_INSTALLED_PRODUCT = YES; - STRIP_STYLE = "non-global"; - USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include"; - }; - name = Universal; - }; AAE781800AC7E3BF00AEFC64 /* Native */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9561,31 +9207,6 @@ }; name = Native; }; - AAE781810AC7E3BF00AEFC64 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_DEBUGGING_SYMBOLS = full; - GCC_DYNAMIC_NO_PIC = YES; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(value)", - LUA_USE_MACOSX, - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - INSTALL_PATH = /usr/local/lib; - OBJROOT = "$(SRCROOT)/build"; - PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; - PRODUCT_NAME = "lua-5.1-sm5"; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AAE781820AC7E3BF00AEFC64 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9615,6 +9236,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -9628,6 +9250,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -9654,6 +9277,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -9667,6 +9291,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -9689,48 +9314,11 @@ }; name = PerformanceDebug; }; - EE4FD26314A8EFE1002B5758 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "jpeg-sm5"; - }; - name = Universal; - }; EE4FD26414A8EFE1002B5758 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -9747,6 +9335,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -9777,7 +9366,6 @@ buildConfigurations = ( 2B17AB7313980FE0001AE57D /* Native */, 2B17AB7413980FE0001AE57D /* PerformanceDebug */, - 2B17AB7513980FE0001AE57D /* Universal */, 2B17AB7613980FE0001AE57D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9788,7 +9376,6 @@ buildConfigurations = ( 2B17ABC113981522001AE57D /* Native */, 2B17ABC213981522001AE57D /* PerformanceDebug */, - 2B17ABC313981522001AE57D /* Universal */, 2B17ABC413981522001AE57D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9799,7 +9386,6 @@ buildConfigurations = ( 2B17ABE113981757001AE57D /* Native */, 2B17ABE213981757001AE57D /* PerformanceDebug */, - 2B17ABE313981757001AE57D /* Universal */, 2B17ABE413981757001AE57D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9810,7 +9396,6 @@ buildConfigurations = ( 2BD6E10D13D78B37008443DB /* Native */, 2BD6E10E13D78B37008443DB /* PerformanceDebug */, - 2BD6E10F13D78B37008443DB /* Universal */, 2BD6E11013D78B37008443DB /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9821,7 +9406,6 @@ buildConfigurations = ( AA40D52809A08D650068C0D5 /* Native */, AABF4DBD0CD37960005A3060 /* PerformanceDebug */, - AA40D52909A08D650068C0D5 /* Universal */, AA40D52A09A08D660068C0D5 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9832,7 +9416,6 @@ buildConfigurations = ( AA7A2B9A0AE09BA50054C5BA /* Native */, AABF4DBF0CD37960005A3060 /* PerformanceDebug */, - AA7A2B9B0AE09BA50054C5BA /* Universal */, AA7A2B9C0AE09BA50054C5BA /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9843,7 +9426,6 @@ buildConfigurations = ( AA7A2BBA0AE09D4E0054C5BA /* Native */, AABF4DC00CD37960005A3060 /* PerformanceDebug */, - AA7A2BBB0AE09D4E0054C5BA /* Universal */, AA7A2BBC0AE09D4E0054C5BA /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9854,7 +9436,6 @@ buildConfigurations = ( AA7A2BBE0AE09D4E0054C5BA /* Native */, AABF4DC10CD37960005A3060 /* PerformanceDebug */, - AA7A2BBF0AE09D4E0054C5BA /* Universal */, AA7A2BC00AE09D4E0054C5BA /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9865,7 +9446,6 @@ buildConfigurations = ( AA7C89820B67447E00FD9940 /* Native */, AABF4DC20CD37960005A3060 /* PerformanceDebug */, - AA7C89830B67447E00FD9940 /* Universal */, AA7C89840B67447E00FD9940 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9876,7 +9456,6 @@ buildConfigurations = ( AA7C8B8F0B67464300FD9940 /* Native */, AABF4DC30CD37960005A3060 /* PerformanceDebug */, - AA7C8B900B67464300FD9940 /* Universal */, AA7C8B910B67464300FD9940 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9887,7 +9466,6 @@ buildConfigurations = ( AAA070AA0CE7B0E2005A3060 /* Native */, AAA070AB0CE7B0E2005A3060 /* PerformanceDebug */, - AAA070AC0CE7B0E2005A3060 /* Universal */, AAA070AD0CE7B0E2005A3060 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9898,7 +9476,6 @@ buildConfigurations = ( AAC8450D0856A19700A9FEAB /* Native */, AABF4DBC0CD37960005A3060 /* PerformanceDebug */, - AAE44A2B0965707500B025E5 /* Universal */, AA0AA8FE0963CF7700427F4D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9909,7 +9486,6 @@ buildConfigurations = ( AAC845110856A19700A9FEAB /* Native */, AABF4DBB0CD37960005A3060 /* PerformanceDebug */, - AAE44A2C0965707500B025E5 /* Universal */, AA0AA8FF0963CF7700427F4D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9920,7 +9496,6 @@ buildConfigurations = ( AAC845150856A19700A9FEAB /* Native */, AABF4DBA0CD37960005A3060 /* PerformanceDebug */, - AAE44A2D0965707500B025E5 /* Universal */, AA0AA9000963CF7700427F4D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9931,7 +9506,6 @@ buildConfigurations = ( AAE781800AC7E3BF00AEFC64 /* Native */, AABF4DBE0CD37960005A3060 /* PerformanceDebug */, - AAE781810AC7E3BF00AEFC64 /* Universal */, AAE781820AC7E3BF00AEFC64 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9942,7 +9516,6 @@ buildConfigurations = ( EE4FD26114A8EFE1002B5758 /* Native */, EE4FD26214A8EFE1002B5758 /* PerformanceDebug */, - EE4FD26314A8EFE1002B5758 /* Universal */, EE4FD26414A8EFE1002B5758 /* Debug */, ); defaultConfigurationIsVisible = 0; diff --git a/extern/libpng/include/projects/visualc71/libpng.sln b/extern/libpng/include/projects/visualc71/libpng.sln index eeb101f2e3..adce68aae0 100644 --- a/extern/libpng/include/projects/visualc71/libpng.sln +++ b/extern/libpng/include/projects/visualc71/libpng.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng.vcproj", "{0008960E-E0DD-41A6-8265-00B31DDB4C21}" - ProjectSection(ProjectDependencies) = postProject - {2D4F8105-7D21-454C-9932-B47CAB71A5C0} = {2D4F8105-7D21-454C-9932-B47CAB71A5C0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest.vcproj", "{FD1C2F86-9EEF-47BD-95A4-530917E17FDA}" - ProjectSection(ProjectDependencies) = postProject - {0008960E-E0DD-41A6-8265-00B31DDB4C21} = {0008960E-E0DD-41A6-8265-00B31DDB4C21} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcproj", "{2D4F8105-7D21-454C-9932-B47CAB71A5C0}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - DLL Debug = DLL Debug - DLL Release = DLL Release - DLL VB = DLL VB - LIB Debug = LIB Debug - LIB Release = LIB Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.ActiveCfg = DLL Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.Build.0 = DLL Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.ActiveCfg = DLL Release|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.Build.0 = DLL Release|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.ActiveCfg = DLL VB|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.Build.0 = DLL VB|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.ActiveCfg = LIB Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.Build.0 = LIB Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.ActiveCfg = LIB Release|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.Build.0 = LIB Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.ActiveCfg = DLL Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.Build.0 = DLL Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.ActiveCfg = DLL Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.Build.0 = DLL Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.ActiveCfg = DLL VB|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.Build.0 = DLL VB|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.ActiveCfg = LIB Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.Build.0 = LIB Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.ActiveCfg = LIB Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.Build.0 = LIB Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.ActiveCfg = DLL Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.Build.0 = DLL Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.ActiveCfg = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.Build.0 = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.ActiveCfg = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.Build.0 = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.ActiveCfg = LIB Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.Build.0 = LIB Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.ActiveCfg = LIB Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.Build.0 = LIB Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng.vcproj", "{0008960E-E0DD-41A6-8265-00B31DDB4C21}" + ProjectSection(ProjectDependencies) = postProject + {2D4F8105-7D21-454C-9932-B47CAB71A5C0} = {2D4F8105-7D21-454C-9932-B47CAB71A5C0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest.vcproj", "{FD1C2F86-9EEF-47BD-95A4-530917E17FDA}" + ProjectSection(ProjectDependencies) = postProject + {0008960E-E0DD-41A6-8265-00B31DDB4C21} = {0008960E-E0DD-41A6-8265-00B31DDB4C21} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcproj", "{2D4F8105-7D21-454C-9932-B47CAB71A5C0}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + DLL Debug = DLL Debug + DLL Release = DLL Release + DLL VB = DLL VB + LIB Debug = LIB Debug + LIB Release = LIB Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.ActiveCfg = DLL Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.Build.0 = DLL Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.ActiveCfg = DLL Release|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.Build.0 = DLL Release|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.ActiveCfg = DLL VB|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.Build.0 = DLL VB|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.ActiveCfg = LIB Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.Build.0 = LIB Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.ActiveCfg = LIB Release|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.Build.0 = LIB Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.ActiveCfg = DLL Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.Build.0 = DLL Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.ActiveCfg = DLL Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.Build.0 = DLL Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.ActiveCfg = DLL VB|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.Build.0 = DLL VB|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.ActiveCfg = LIB Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.Build.0 = LIB Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.ActiveCfg = LIB Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.Build.0 = LIB Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.ActiveCfg = DLL Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.Build.0 = DLL Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.ActiveCfg = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.Build.0 = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.ActiveCfg = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.Build.0 = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.ActiveCfg = LIB Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.Build.0 = LIB Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.ActiveCfg = LIB Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.Build.0 = LIB Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/extern/libpng/include/projects/visualc71/libpng.vcproj b/extern/libpng/include/projects/visualc71/libpng.vcproj index 4c5acf94c8..e17f4f7a8d 100644 --- a/extern/libpng/include/projects/visualc71/libpng.vcproj +++ b/extern/libpng/include/projects/visualc71/libpng.vcproj @@ -1,419 +1,419 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extern/libpng/include/projects/visualc71/pngtest.vcproj b/extern/libpng/include/projects/visualc71/pngtest.vcproj index ff330ae350..ac82ff9b7d 100644 --- a/extern/libpng/include/projects/visualc71/pngtest.vcproj +++ b/extern/libpng/include/projects/visualc71/pngtest.vcproj @@ -1,267 +1,267 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extern/libpng/include/projects/visualc71/zlib.vcproj b/extern/libpng/include/projects/visualc71/zlib.vcproj index eb218488dc..614b869e7f 100644 --- a/extern/libpng/include/projects/visualc71/zlib.vcproj +++ b/extern/libpng/include/projects/visualc71/zlib.vcproj @@ -1,391 +1,391 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extern/libpng/include/projects/vstudio/vstudio.sln b/extern/libpng/include/projects/vstudio/vstudio.sln index 4ab66418ca..c6c50e4431 100644 --- a/extern/libpng/include/projects/vstudio/vstudio.sln +++ b/extern/libpng/include/projects/vstudio/vstudio.sln @@ -1,87 +1,87 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng\libpng.vcxproj", "{D6973076-9317-4EF2-A0B8-B7A18AC0713E}" - ProjectSection(ProjectDependencies) = postProject - {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} - {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest\pngtest.vcxproj", "{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}" - ProjectSection(ProjectDependencies) = postProject - {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} - {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} - {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{60F89955-91C6-3A36-8000-13C592FEC2DF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngvalid", "pngvalid\pngvalid.vcxproj", "{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}" - ProjectSection(ProjectDependencies) = postProject - {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} - {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} - {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pnglibconf", "pnglibconf\pnglibconf.vcxproj", "{EB33566E-DA7F-4D28-9077-88C0B7C77E35}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Library|Win32 = Debug Library|Win32 - Debug|Win32 = Debug|Win32 - Release Library|Win32 = Release Library|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.ActiveCfg = Debug|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.Build.0 = Debug|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.Build.0 = Release Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.ActiveCfg = Release|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.Build.0 = Release|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.ActiveCfg = Debug|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.Build.0 = Debug|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.Build.0 = Release Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.ActiveCfg = Release|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.Build.0 = Release|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.ActiveCfg = Debug|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.Build.0 = Debug|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.Build.0 = Release Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.ActiveCfg = Release|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.Build.0 = Release|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.ActiveCfg = Debug|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.Build.0 = Debug|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.Build.0 = Release Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.ActiveCfg = Release|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.Build.0 = Release|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.ActiveCfg = Debug|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.Build.0 = Debug|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.Build.0 = Release Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.ActiveCfg = Release|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng\libpng.vcxproj", "{D6973076-9317-4EF2-A0B8-B7A18AC0713E}" + ProjectSection(ProjectDependencies) = postProject + {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} + {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest\pngtest.vcxproj", "{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}" + ProjectSection(ProjectDependencies) = postProject + {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} + {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} + {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{60F89955-91C6-3A36-8000-13C592FEC2DF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngvalid", "pngvalid\pngvalid.vcxproj", "{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}" + ProjectSection(ProjectDependencies) = postProject + {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} + {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} + {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pnglibconf", "pnglibconf\pnglibconf.vcxproj", "{EB33566E-DA7F-4D28-9077-88C0B7C77E35}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug Library|Win32 = Debug Library|Win32 + Debug|Win32 = Debug|Win32 + Release Library|Win32 = Release Library|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.ActiveCfg = Debug|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.Build.0 = Debug|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.Build.0 = Release Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.ActiveCfg = Release|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.Build.0 = Release|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.ActiveCfg = Debug|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.Build.0 = Debug|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.Build.0 = Release Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.ActiveCfg = Release|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.Build.0 = Release|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.ActiveCfg = Debug|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.Build.0 = Debug|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.Build.0 = Release Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.ActiveCfg = Release|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.Build.0 = Release|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.ActiveCfg = Debug|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.Build.0 = Debug|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.Build.0 = Release Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.ActiveCfg = Release|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.Build.0 = Release|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.ActiveCfg = Debug|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.Build.0 = Debug|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.Build.0 = Release Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.ActiveCfg = Release|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/extern/libpng/lib/libpng.lib b/extern/libpng/lib/libpng.lib index ae02dcbae5..f045af9d8e 100644 Binary files a/extern/libpng/lib/libpng.lib and b/extern/libpng/lib/libpng.lib differ diff --git a/src/Actor.cpp b/src/Actor.cpp index 917f4cc45f..0d5e3411d6 100644 --- a/src/Actor.cpp +++ b/src/Actor.cpp @@ -1351,6 +1351,7 @@ public: static int x( T* p, lua_State *L ) { p->SetX(FArg(1)); return 0; } static int y( T* p, lua_State *L ) { p->SetY(FArg(1)); return 0; } static int z( T* p, lua_State *L ) { p->SetZ(FArg(1)); return 0; } + static int xy( T* p, lua_State *L ) { p->SetXY(FArg(1),FArg(2)); return 0; } static int addx( T* p, lua_State *L ) { p->AddX(FArg(1)); return 0; } static int addy( T* p, lua_State *L ) { p->AddY(FArg(1)); return 0; } static int addz( T* p, lua_State *L ) { p->AddZ(FArg(1)); return 0; } @@ -1569,6 +1570,7 @@ public: ADD_METHOD( x ); ADD_METHOD( y ); ADD_METHOD( z ); + ADD_METHOD( xy ); ADD_METHOD( addx ); ADD_METHOD( addy ); ADD_METHOD( addz ); diff --git a/src/Course.cpp b/src/Course.cpp index ac591041b1..6736109b63 100644 --- a/src/Course.cpp +++ b/src/Course.cpp @@ -1116,6 +1116,7 @@ public: return 1; } DEFINE_METHOD( IsRanking, IsRanking() ) + DEFINE_METHOD( AllSongsAreFixed, AllSongsAreFixed() ) LunaCourse() { @@ -1146,6 +1147,7 @@ public: ADD_METHOD( IsAnEdit ); ADD_METHOD( IsPlayableIn ); ADD_METHOD( IsRanking ); + ADD_METHOD( AllSongsAreFixed ); } }; diff --git a/src/GhostArrowRow.cpp b/src/GhostArrowRow.cpp index f81eef75d6..9693167e6d 100644 --- a/src/GhostArrowRow.cpp +++ b/src/GhostArrowRow.cpp @@ -16,12 +16,17 @@ void GhostArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOffset m_fYReverseOffsetPixels = fYReverseOffset; const Style* pStyle = GAMESTATE->GetCurrentStyle(); + const PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + NOTESKIN->SetPlayerNumber( pn ); // init arrows for( int c=0; cm_iColsPerPlayer; c++ ) { const RString &sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( c ); + const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( c, pn ); + NOTESKIN->SetGameController( GameI.controller ); + m_bHoldShowing.push_back( TapNote::SubType_Invalid ); m_bLastHoldShowing.push_back( TapNote::SubType_Invalid ); @@ -87,8 +92,10 @@ void GhostArrowRow::Update( float fDeltaTime ) void GhostArrowRow::DrawPrimitives() { - for( unsigned c=0; cGetCurrentStyle(); + for( unsigned i=0; im_iColumnDrawOrder[i]; m_Ghost[c]->Draw(); } } diff --git a/src/LightsManager.cpp b/src/LightsManager.cpp index 77d49fb16f..e2d2c4083a 100644 --- a/src/LightsManager.cpp +++ b/src/LightsManager.cpp @@ -209,7 +209,8 @@ void LightsManager::Update( float fDeltaTime ) int iSec = (int)RageTimer::GetTimeSinceStartFast(); int iTopIndex = iSec % 4; - CabinetLight cl = CabinetLight_Invalid; + // Aldo: Disabled this line, apparently it was a forgotten initialization + //CabinetLight cl = CabinetLight_Invalid; switch( iTopIndex ) { diff --git a/src/NoteDisplay.cpp b/src/NoteDisplay.cpp index 7e1ff5516c..565619c431 100644 --- a/src/NoteDisplay.cpp +++ b/src/NoteDisplay.cpp @@ -246,6 +246,11 @@ void NoteDisplay::Load( int iColNum, const PlayerState* pPlayerState, float fYRe m_pPlayerState = pPlayerState; m_fYReverseOffsetPixels = fYReverseOffsetPixels; + const PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iColNum, pn ); + NOTESKIN->SetPlayerNumber( pn ); + NOTESKIN->SetGameController( GameI.controller ); + const RString &sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( iColNum ); cache->Load( sButton ); diff --git a/src/NoteSkinManager.cpp b/src/NoteSkinManager.cpp index 902a757dd7..8815c414bc 100644 --- a/src/NoteSkinManager.cpp +++ b/src/NoteSkinManager.cpp @@ -2,6 +2,7 @@ #include "NoteSkinManager.h" #include "RageFileManager.h" #include "RageLog.h" +#include "GameInput.h" #include "GameState.h" #include "Game.h" #include "Style.h" @@ -47,6 +48,8 @@ namespace NoteSkinManager::NoteSkinManager() { m_pCurGame = NULL; + m_PlayerNumber = PlayerNumber_Invalid; + m_GameController = GameController_Invalid; // Register with Lua. { @@ -378,6 +381,8 @@ bool NoteSkinManager::PushActorTemplate( Lua *L, const RString &sButton, const R ASSERT( iter != g_mapNameToData.end() ); const NoteSkinData &data = iter->second; + LuaThreadVariable varPlayer( "Player", LuaReference::Create(m_PlayerNumber) ); + LuaThreadVariable varController( "Controller", LuaReference::Create(m_GameController) ); LuaThreadVariable varButton( "Button", sButton ); LuaThreadVariable varElement( "Element", sElement ); LuaThreadVariable varSpriteOnly( "SpriteOnly", LuaReference::Create(bSpriteOnly) ); diff --git a/src/NoteSkinManager.h b/src/NoteSkinManager.h index 7534a51827..3917982fb7 100644 --- a/src/NoteSkinManager.h +++ b/src/NoteSkinManager.h @@ -4,6 +4,7 @@ #include "Actor.h" #include "RageTypes.h" #include "PlayerNumber.h" +#include "GameInput.h" #include "IniFile.h" class Game; @@ -24,7 +25,8 @@ public: void SetCurrentNoteSkin( const RString &sNoteSkin ) { m_sCurrentNoteSkin = sNoteSkin; } const RString &GetCurrentNoteSkin() { return m_sCurrentNoteSkin; } - + void SetPlayerNumber( PlayerNumber pn ) { m_PlayerNumber = pn; } + void SetGameController( GameController gc ) { m_GameController = gc; } RString GetPath( const RString &sButtonName, const RString &sElement ); bool PushActorTemplate( Lua *L, const RString &sButton, const RString &sElement, bool bSpriteOnly ); Actor *LoadActor( const RString &sButton, const RString &sElement, Actor *pParent = NULL, bool bSpriteOnly = false ); @@ -46,6 +48,10 @@ protected: void LoadNoteSkinDataRecursive( const RString &sNoteSkinName, NoteSkinData& data_out ); RString m_sCurrentNoteSkin; const Game* m_pCurGame; + + // xxx: is this the best way to implement this? -freem + PlayerNumber m_PlayerNumber; + GameController m_GameController; }; extern NoteSkinManager* NOTESKIN; // global and accessable from anywhere in our program diff --git a/src/RageDisplay_OGL.cpp b/src/RageDisplay_OGL.cpp index 20d0a85340..9a6e1fe65e 100644 --- a/src/RageDisplay_OGL.cpp +++ b/src/RageDisplay_OGL.cpp @@ -2618,7 +2618,7 @@ bool RageDisplay_Legacy::SupportsTextureFormat(PixelFormat pixfmt, bool bRealtim return glColorTableEXT && glGetColorTableParameterivEXT; case GL_BGR: case GL_BGRA: - return GLEW_EXT_bgra; + return !!GLEW_EXT_bgra; default: return true; } diff --git a/src/RageSoundReader_ThreadedBuffer.cpp b/src/RageSoundReader_ThreadedBuffer.cpp index 9a12a22e2a..14dac250a9 100644 --- a/src/RageSoundReader_ThreadedBuffer.cpp +++ b/src/RageSoundReader_ThreadedBuffer.cpp @@ -1,5 +1,6 @@ #include "global.h" #include "RageSoundReader_ThreadedBuffer.h" +#include "RageUtil.h" #include "RageTimer.h" #include "Foreach.h" #include "RageLog.h" diff --git a/src/ReceptorArrow.cpp b/src/ReceptorArrow.cpp index 87e260fa08..13628af2d2 100644 --- a/src/ReceptorArrow.cpp +++ b/src/ReceptorArrow.cpp @@ -19,6 +19,11 @@ void ReceptorArrow::Load( const PlayerState* pPlayerState, int iColNo ) m_pPlayerState = pPlayerState; m_iColNo = iColNo; + const PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iColNo, pn ); + NOTESKIN->SetPlayerNumber( pn ); + NOTESKIN->SetGameController( GameI.controller ); + RString sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( iColNo ); m_pReceptor.Load( NOTESKIN->LoadActor(sButton, "Receptor") ); this->AddChild( m_pReceptor ); diff --git a/src/ReceptorArrowRow.cpp b/src/ReceptorArrowRow.cpp index 7acb928da9..276c63eb90 100644 --- a/src/ReceptorArrowRow.cpp +++ b/src/ReceptorArrowRow.cpp @@ -66,8 +66,12 @@ void ReceptorArrowRow::Update( float fDeltaTime ) void ReceptorArrowRow::DrawPrimitives() { - for( unsigned c=0; cGetCurrentStyle(); + for( unsigned i=0; im_iColumnDrawOrder[i]; m_ReceptorArrow[c]->Draw(); + } } void ReceptorArrowRow::Step( int iCol, TapNoteScore score ) diff --git a/src/ScreenOptionsMasterPrefs.cpp b/src/ScreenOptionsMasterPrefs.cpp index a3fd2305c8..6993cefeb6 100644 --- a/src/ScreenOptionsMasterPrefs.cpp +++ b/src/ScreenOptionsMasterPrefs.cpp @@ -678,6 +678,7 @@ static void InitializeConfOptions() ADD( ConfOption( "AutogenGroupCourses", MovePref, "Off","On" ) ); ADD( ConfOption( "FastLoad", MovePref, "Off","On" ) ); + ADD( ConfOption( "FastLoadAdditionalSongs", MovePref, "Off","On" ) ); // Background options ADD( ConfOption( "RandomBackgroundMode", MovePref, "Off","Animations","Random Movies" ) ); diff --git a/src/ScreenWithMenuElements.cpp b/src/ScreenWithMenuElements.cpp index 8377a5fb75..0db311fd6d 100644 --- a/src/ScreenWithMenuElements.cpp +++ b/src/ScreenWithMenuElements.cpp @@ -31,6 +31,7 @@ void ScreenWithMenuElements::Init() { PLAY_MUSIC.Load( m_sName, "PlayMusic" ); MUSIC_ALIGN_BEAT.Load( m_sName, "MusicAlignBeat" ); + DELAY_MUSIC_SECONDS.Load( m_sName, "DelayMusicSeconds" ); CANCEL_TRANSITIONS_OUT.Load( m_sName, "CancelTransitionsOut" ); TIMER_SECONDS.Load( m_sName, "TimerSeconds" ); TIMER_METRICS_GROUP.Load( m_sName, "TimerMetricsGroup" ); @@ -217,7 +218,11 @@ void ScreenWithMenuElements::StartPlayingMusic() { pmp.sFile = sMusicPathFromLua; pmp.bAlignBeat = MUSIC_ALIGN_BEAT; + // TODO: load other params into pmp here -aj + if( DELAY_MUSIC_SECONDS > 0.0f ) + pmp.fStartSecond = -DELAY_MUSIC_SECONDS; + SOUND->PlayMusic( pmp ); } else @@ -238,6 +243,10 @@ void ScreenWithMenuElements::StartPlayingMusic() { pmp.sFile = m_sPathToMusic; pmp.bAlignBeat = MUSIC_ALIGN_BEAT; + + if( DELAY_MUSIC_SECONDS > 0.0f ) + pmp.fStartSecond = -DELAY_MUSIC_SECONDS; + SOUND->PlayMusic( pmp ); } } diff --git a/src/ScreenWithMenuElements.h b/src/ScreenWithMenuElements.h index 6027387120..a671e9cfd9 100644 --- a/src/ScreenWithMenuElements.h +++ b/src/ScreenWithMenuElements.h @@ -49,6 +49,7 @@ protected: ThemeMetric PLAY_MUSIC; ThemeMetric MUSIC_ALIGN_BEAT; + ThemeMetric DELAY_MUSIC_SECONDS; ThemeMetric CANCEL_TRANSITIONS_OUT; ThemeMetric TIMER_SECONDS; ThemeMetric TIMER_METRICS_GROUP; diff --git a/src/StepMania-net2011.vcxproj b/src/StepMania-net2011.vcxproj new file mode 100644 index 0000000000..082bf889d8 --- /dev/null +++ b/src/StepMania-net2011.vcxproj @@ -0,0 +1,2398 @@ + + + + + Debug + Win32 + + + FastDebug + Win32 + + + Release-SSE2 + Win32 + + + Release + Win32 + + + + StepMania + {AF209DBD-24BD-4356-8DFE-41751B221195} + StepMania + MFCProj + $(VCTargetsPath11) + + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + true + true + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + false + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + true + true + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + StepMania-debug + StepMania-fastdebug + StepMania-SSE2 + StepMania + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + Disabled + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINDOWS;DEBUG;GLEW_STATIC;%(PreprocessorDefinitions) + + + EnableFastChecks + MultiThreadedDebugDLL + Use + global.h + $(IntDir)StepMania.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + EditAndContinue + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + true + false + /EHsc %(AdditionalOptions) + false + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ../Program/StepMania-debug.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)StepMania.pdb + true + $(IntDir)$(TargetName).map + true + Windows + false + + + SendErrorReport + false + + + archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-debug.vdi" + + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + /MP4 %(AdditionalOptions) + Full + AnySuitable + true + Size + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINDOWS;RELEASE;GLEW_STATIC;%(PreprocessorDefinitions) + true + false + Sync + MultiThreadedDLL + false + false + Use + global.h + $(IntDir)StepMania.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + ProgramDatabase + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + true + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ../Program/StepMania.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;%(IgnoreSpecificDefaultLibraries) + $(IntDir)StepMania.pdb + true + $(IntDir)$(TargetName).map + true + Windows + false + true + SendErrorReport + UseLinkTimeCodeGeneration + true + false + + + archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania.vdi" + + + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + MaxSpeed + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINDOWS;DEBUG;GLEW_STATIC;%(PreprocessorDefinitions) + Sync + Default + MultiThreadedDebugDLL + Use + global.h + $(IntDir)StepMania.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + ProgramDatabase + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + false + AnySuitable + true + Speed + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ../Program/StepMania-fastdebug.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\;%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)StepMania.pdb + true + $(IntDir)$(TargetName).map + true + Windows + false + + + SendErrorReport + Default + false + + + archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-fastdebug.vdi" + + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + /MP4 %(AdditionalOptions) + Full + AnySuitable + true + Speed + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINDOWS;RELEASE;GLEW_STATIC;%(PreprocessorDefinitions) + true + false + + + MultiThreadedDLL + false + false + StreamingSIMDExtensions2 + Create + global.h + $(IntDir)StepMania-SSE2.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + ProgramDatabase + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + false + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ..\Program/StepMania-SSE2.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;%(IgnoreSpecificDefaultLibraries) + $(IntDir)StepMania-SSE2.pdb + true + $(IntDir)$(TargetName)-SSE2.map + true + Windows + false + + + NotSet + SendErrorReport + false + + + archutils\Win32\mapconv "$(IntDir)$(TargetName)-SSE2.map" "$(TargetDir)\StepMania-SSE2.vdi" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HAVE_VERSION_INFO;%(PreprocessorDefinitions) + HAVE_VERSION_INFO;%(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {f70dd0fe-a74a-42e7-b81f-e35c49fc9eb9} + false + + + {fede5283-1518-4b1d-8124-5c54db17ea57} + false + + + + + + \ No newline at end of file diff --git a/src/StepMania-net2011.vcxproj.filters b/src/StepMania-net2011.vcxproj.filters new file mode 100644 index 0000000000..237aef0c0c --- /dev/null +++ b/src/StepMania-net2011.vcxproj.filters @@ -0,0 +1,3127 @@ + + + + + {499eeb19-5960-444d-b411-19d081889b15} + + + {7374b57a-894a-455d-9005-31ec8182ef1f} + + + {f95bd5c1-b158-4130-9920-2963e4f00821} + + + {03e9a63d-2660-4086-80ba-8c4734317c34} + + + {0d7a3c39-ac85-4040-8379-3b790cb9d687} + + + {33ad08c0-708a-489d-b95e-f2d95fa26b5e} + + + {8ed6a7cc-d70d-463f-a069-8e6602c4ff90} + + + {48e2a90f-22fb-43c5-b702-09eb19321a7a} + + + {59ec1714-aac9-4da1-b409-f75eead865f8} + + + {dafaf471-0654-4704-9773-13d78caeeb9b} + + + {eb3b5843-3d55-4ef7-816c-8c27b0e4898c} + + + {0aedb235-8389-48a5-ae3a-1938807ce182} + + + {bf943b89-b3a7-4565-85d5-55a43d959c5c} + + + {abab063b-8f74-441a-a461-d21c8bcf4390} + + + {7d083a3b-3121-4848-99c4-00928682d01d} + + + {4adcace8-8e8e-42c1-8cff-4fb55ad97faf} + + + {babeda37-148f-48d6-a5f0-4459c8e9c061} + + + {b4aa0865-e07d-438b-887e-a2afcd21301d} + + + {4feef3e5-646f-4ab8-9369-29b54b7607a1} + + + {cfefd67e-7fd4-4bf7-aa4b-0032ded96b5e} + + + {361d936e-6d5a-44df-a363-d8f305fafeac} + + + {148c21c0-1798-463e-8494-060eeb389f01} + + + {0a42b7f0-1202-401f-8e16-42d1dd50a4a5} + + + {8bcf27ef-f964-4001-bda2-ae3a982d86ec} + + + {672a8d1d-bb79-4eb7-9950-bbf3dcff4770} + + + {a432da5c-eeb6-4012-9e34-0aef2bd8f59e} + + + {68f5026f-06bd-483b-b577-24d1fcb15592} + + + {d61d93ca-80d7-4ca3-8f99-fae33523caae} + + + {b3893dd5-1761-4d69-bb3f-18bcaefd5064} + + + {44550b7c-6a30-41c1-92bd-e0a9c3199de5} + + + {e7ecc1c5-b142-4259-b87c-4728177e2fae} + + + {2d157d5c-7c0e-4967-925a-3976a6ad0dd0} + + + {46a5ab77-6eaf-44eb-93ec-43b2db4741ff} + + + {a89b61cf-bbf6-4303-a32a-6eec76f78893} + + + {b4c5e8c8-60f5-44c6-9529-832212276d1a} + + + {c2c701a5-a88f-4a36-ab40-43619668f88f} + + + {52c8e19c-32ec-4115-bee6-f5957389d7ea} + + + {ba251bae-0742-4c91-9b1f-488c32791a63} + + + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + File Types + + + File Types + + + File Types + + + File Types + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania\arch + + + StepMania\arch\LoadingWindow + + + StepMania\arch\LoadingWindow + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\MemoryCard + + + StepMania\arch\MemoryCard + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Threads + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\jsoncpp + + + Helpers\jsoncpp + + + Helpers\jsoncpp + + + Helpers\glew + + + Data Structures + + + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + File Types + + + File Types + + + File Types + + + File Types + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania\arch + + + StepMania\arch + + + StepMania\arch + + + StepMania\arch + + + StepMania\arch\LoadingWindow + + + StepMania\arch\LoadingWindow + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\MemoryCard + + + StepMania\arch\MemoryCard + + + StepMania\arch\MemoryCard + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Threads + + + StepMania\arch\Threads + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Helpers + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Data Structures + + + + + StepMania\system + + + StepMania\system + + + + + + + + + StepMania\system + + + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + diff --git a/src/arch/Dialog/Dialog.cpp b/src/arch/Dialog/Dialog.cpp index 9067ce0bb7..62ec752fc6 100644 --- a/src/arch/Dialog/Dialog.cpp +++ b/src/arch/Dialog/Dialog.cpp @@ -234,6 +234,30 @@ Dialog::Result Dialog::AbortRetry( RString sMessage, RString sID ) return ret; } +Dialog::Result Dialog::YesNo( RString sMessage, RString sID ) +{ + Dialog::Init(); + + if( LOG ) + LOG->Trace( "Dialog: \"%s\" [%s]", sMessage.c_str(), sID.c_str() ); + + if( sID != "" && MessageIsIgnored(sID) ) + return g_NullDriver.YesNo( sMessage, sID ); + + RageThread::SetIsShowingDialog( true ); + + // only show Dialog if windowed + Dialog::Result ret; + if( DialogsEnabled() ) + ret = g_pImpl->YesNo( sMessage, sID ); // call derived version + else + ret = g_NullDriver.YesNo( sMessage, sID ); + + RageThread::SetIsShowingDialog( false ); + + return ret; +} + /* * (c) 2003-2004 Glenn Maynard, Chris Danford * All rights reserved. diff --git a/src/arch/Dialog/Dialog.h b/src/arch/Dialog/Dialog.h index e36d2cacda..d115c85b6d 100644 --- a/src/arch/Dialog/Dialog.h +++ b/src/arch/Dialog/Dialog.h @@ -10,12 +10,13 @@ namespace Dialog void SetWindowed( bool bWindowed ); - enum Result { ok, cancel, abort, retry, ignore }; + enum Result { ok, cancel, abort, retry, ignore, yes, no }; void Error( RString sError, RString sID = "" ); void OK( RString sMessage, RString sID = "" ); Result OKCancel( RString sMessage, RString sID = "" ); Result AbortRetryIgnore( RString sMessage, RString sID = "" ); Result AbortRetry( RString sMessage, RString sID = "" ); + Result YesNo( RString sMessage, RString sID = "" ); /* for DialogDrivers */ void IgnoreMessage( RString sID ); diff --git a/src/arch/Dialog/DialogDriver.h b/src/arch/Dialog/DialogDriver.h index 3ce0dd3de0..5e377328ba 100644 --- a/src/arch/Dialog/DialogDriver.h +++ b/src/arch/Dialog/DialogDriver.h @@ -12,8 +12,9 @@ public: virtual void Error( RString sMessage, RString sID ) { printf("Error: %s\n", sMessage.c_str()); } virtual void OK( RString sMessage, RString sID ) {} virtual Dialog::Result OKCancel( RString sMessage, RString sID ) { return Dialog::ok; } - virtual Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ) { return Dialog::ignore; } - virtual Dialog::Result AbortRetry( RString sMessage, RString sID ) { return Dialog::abort; } + virtual Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ) { return Dialog::ignore; } + virtual Dialog::Result AbortRetry( RString sMessage, RString sID ) { return Dialog::abort; } + virtual Dialog::Result YesNo( RString sMessage, RString sID ) { return Dialog::no; } virtual RString Init() { return RString(); } virtual ~DialogDriver() { } diff --git a/src/arch/Dialog/DialogDriver_MacOSX.cpp b/src/arch/Dialog/DialogDriver_MacOSX.cpp index 989d4abda2..57340a9c51 100644 --- a/src/arch/Dialog/DialogDriver_MacOSX.cpp +++ b/src/arch/Dialog/DialogDriver_MacOSX.cpp @@ -54,6 +54,27 @@ void DialogDriver_MacOSX::Error( RString sError, RString sID ) ShowAlert( kCFUserNotificationStopAlertLevel, sError, CFSTR("OK") ); } +Dialog::Result DialogDriver_MacOSX::OKCancel( RString sMessage, RString sID ) +{ + CFBundleRef bundle = CFBundleGetMainBundle(); + CFStringRef sOK = LSTRING( bundle, "OK" ); + CFStringRef sCancel = LSTRING( bundle, "Cancel" ); + CFOptionFlags result = ShowAlert( kCFUserNotificationNoteAlertLevel, sMessage, sOK, sCancel ); + + CFRelease( sOK ); + CFRelease( sCancel ); + switch( result ) + { + case kCFUserNotificationDefaultResponse: + case kCFUserNotificationCancelResponse: + return Dialog::cancel; + case kCFUserNotificationAlternateResponse: + return Dialog::ok; + default: + FAIL_M( ssprintf("Invalid response: %d.", int(result)) ); + } +} + Dialog::Result DialogDriver_MacOSX::AbortRetryIgnore( RString sMessage, RString sID ) { CFBundleRef bundle = CFBundleGetMainBundle(); @@ -101,6 +122,27 @@ Dialog::Result DialogDriver_MacOSX::AbortRetry( RString sMessage, RString sID ) } } +Dialog::Result DialogDriver_MacOSX::YesNo( RString sMessage, RString sID ) +{ + CFBundleRef bundle = CFBundleGetMainBundle(); + CFStringRef sYes = LSTRING( bundle, "Yes" ); + CFStringRef sNo = LSTRING( bundle, "No" ); + CFOptionFlags result = ShowAlert( kCFUserNotificationNoteAlertLevel, sMessage, sYes, sNo ); + + CFRelease( sYes ); + CFRelease( sNo ); + switch( result ) + { + case kCFUserNotificationDefaultResponse: + case kCFUserNotificationCancelResponse: + return Dialog::no; + case kCFUserNotificationAlternateResponse: + return Dialog::yes; + default: + FAIL_M( ssprintf("Invalid response: %d.", int(result)) ); + } +} + /* * (c) 2003-2006 Steve Checkoway * All rights reserved. diff --git a/src/arch/Dialog/DialogDriver_MacOSX.h b/src/arch/Dialog/DialogDriver_MacOSX.h index d07e513db7..109d8053da 100644 --- a/src/arch/Dialog/DialogDriver_MacOSX.h +++ b/src/arch/Dialog/DialogDriver_MacOSX.h @@ -8,8 +8,10 @@ class DialogDriver_MacOSX: public DialogDriver public: void Error( RString sError, RString sID ); void OK( RString sMessage, RString sID ); + Dialog::Result OKCancel( RString sMessage, RString sID ); Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ); Dialog::Result AbortRetry( RString sMessage, RString sID ); + Dialog::Result YesNo( RString sMessage, RString sID ); }; #define USE_DIALOG_DRIVER_COCOA diff --git a/src/arch/Dialog/DialogDriver_Win32.cpp b/src/arch/Dialog/DialogDriver_Win32.cpp index 705e29fb9c..1849f70c1c 100644 --- a/src/arch/Dialog/DialogDriver_Win32.cpp +++ b/src/arch/Dialog/DialogDriver_Win32.cpp @@ -263,6 +263,22 @@ Dialog::Result DialogDriver_Win32::AbortRetry( RString sMessage, RString sID ) } } +Dialog::Result DialogDriver_Win32::YesNo( RString sMessage, RString sID ) +{ + int iRet = 0; +#if !defined(SMPACKAGE) + iRet = ::MessageBox(::GetHwnd(), ConvertUTF8ToACP(sMessage).c_str(), ConvertUTF8ToACP(::GetWindowTitle()).c_str(), MB_YESNO); +#else + iRet = ::AfxMessageBox( ConvertUTF8ToACP(sMessage).c_str(), MB_RETRYCANCEL, 0 ); +#endif + switch( iRet ) + { + case IDYES: return Dialog::yes; + default: ASSERT(0); + case IDNO: return Dialog::no; + } +} + /* * (c) 2003-2004 Glenn Maynard, Chris Danford * All rights reserved. diff --git a/src/arch/Dialog/DialogDriver_Win32.h b/src/arch/Dialog/DialogDriver_Win32.h index 14c3be75bb..3edc6e1544 100644 --- a/src/arch/Dialog/DialogDriver_Win32.h +++ b/src/arch/Dialog/DialogDriver_Win32.h @@ -11,6 +11,7 @@ public: Dialog::Result OKCancel( RString sMessage, RString sID ); Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ); Dialog::Result AbortRetry( RString sMessage, RString sID ); + Dialog::Result YesNo( RString sMessage, RString sID ); }; #endif diff --git a/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp b/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp index 2fc7392d0c..c4f8028803 100644 --- a/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp +++ b/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp @@ -4,7 +4,6 @@ #include "RageLog.h" #include "RageUtil.h" -#include #include #include @@ -135,7 +134,6 @@ void InputHandler_Linux_Joystick::InputThread() continue; RageTimer now; - printf("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"); for(int i = 0; i < NUM_JOYSTICKS; ++i) { if( fds[i] == -1 ) diff --git a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp index 0fbb07199c..7e1d3187d9 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp @@ -92,7 +92,7 @@ void LoadingWindow_Gtk::SetIcon( const RageSurface *pIcon ) void LoadingWindow_Gtk::SetSplash( const RString str ) { - Module_SetSplash( str ); + Module_SetSplash( FILEMAN->ResolvePath(str) ); } void LoadingWindow_Gtk::SetProgress( const int progress ) diff --git a/src/archutils/Win32/arch_setup.h b/src/archutils/Win32/arch_setup.h index 5e980524ea..2872d71972 100644 --- a/src/archutils/Win32/arch_setup.h +++ b/src/archutils/Win32/arch_setup.h @@ -106,8 +106,10 @@ typedef int int32_t; typedef unsigned int uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; +#if _MSC_VER < 1700 // 1700 = VC++ 2011 #define INT64_C(i) i##i64 #define UINT64_C(i) i##i64 +#endif // #if _MSC_VER < 1700 #if _MSC_VER < 1600 // 1600 = VC++ 2010 static inline int64_t llabs( int64_t i ) { return i >= 0? i: -i; } #endif // #if _MSC_VER < 1600 diff --git a/src/libtomcrypt/libtomcrypt-net2011.vcxproj b/src/libtomcrypt/libtomcrypt-net2011.vcxproj new file mode 100644 index 0000000000..1c132e1d64 --- /dev/null +++ b/src/libtomcrypt/libtomcrypt-net2011.vcxproj @@ -0,0 +1,312 @@ + + + + + Debug + Win32 + + + Release-PGO + Win32 + + + Release-SSE2 + Win32 + + + Release + Win32 + + + + libtomcrypt + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9} + libtomcrypt + Win32Proj + $(VCTargetsPath11) + + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + v110 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + src\headers;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + + + Level2 + EditAndContinue + true + + + + + false + src\headers;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + true + + + + + false + src\headers;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + true + + + + + false + src\headers;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters b/src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters new file mode 100644 index 0000000000..324bacfbbc --- /dev/null +++ b/src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters @@ -0,0 +1,478 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {ad1b2be2-aa3e-4683-8892-a9742e0e933a} + + + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + \ No newline at end of file diff --git a/src/libtommath/libtommath-net2011.vcxproj b/src/libtommath/libtommath-net2011.vcxproj new file mode 100644 index 0000000000..c092061577 --- /dev/null +++ b/src/libtommath/libtommath-net2011.vcxproj @@ -0,0 +1,280 @@ + + + + + Debug + Win32 + + + Release-PGO + Win32 + + + Release-SSE2 + Win32 + + + Release + Win32 + + + + libtommath + {FEDE5283-1518-4B1D-8124-5C54DB17EA57} + libtommath + Win32Proj + $(VCTargetsPath11) + + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + v110 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + .;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + false + EnableFastChecks + MultiThreadedDebugDLL + + + Level2 + EditAndContinue + true + + + + + false + .;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + true + + + + + false + .;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + true + + + + + false + .;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libtommath/libtommath-net2011.vcxproj.filters b/src/libtommath/libtommath-net2011.vcxproj.filters new file mode 100644 index 0000000000..3f78ab53fa --- /dev/null +++ b/src/libtommath/libtommath-net2011.vcxproj.filters @@ -0,0 +1,378 @@ + + + + + {d28820c7-38c7-477c-8993-1124bc2d2caf} + + + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + + + src + + + src + + + src + + + \ No newline at end of file diff --git a/src/sm5-net2011.sln b/src/sm5-net2011.sln new file mode 100644 index 0000000000..52645ba4ac --- /dev/null +++ b/src/sm5-net2011.sln @@ -0,0 +1,45 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sm-ssc", "StepMania-net2011.vcxproj", "{AF209DBD-24BD-4356-8DFE-41751B221195}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtommath", "libtommath\libtommath-net2011.vcxproj", "{FEDE5283-1518-4B1D-8124-5C54DB17EA57}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtomcrypt", "libtomcrypt\libtomcrypt-net2011.vcxproj", "{F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + FastDebug|Win32 = FastDebug|Win32 + Release|Win32 = Release|Win32 + Release-SSE2|Win32 = Release-SSE2|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AF209DBD-24BD-4356-8DFE-41751B221195}.Debug|Win32.ActiveCfg = Debug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Debug|Win32.Build.0 = Debug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.FastDebug|Win32.ActiveCfg = FastDebug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.FastDebug|Win32.Build.0 = FastDebug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release|Win32.ActiveCfg = Release|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release|Win32.Build.0 = Release|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release-SSE2|Win32.ActiveCfg = Release-SSE2|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release-SSE2|Win32.Build.0 = Release-SSE2|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Debug|Win32.ActiveCfg = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Debug|Win32.Build.0 = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.FastDebug|Win32.ActiveCfg = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.FastDebug|Win32.Build.0 = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release|Win32.ActiveCfg = Release|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release|Win32.Build.0 = Release|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release-SSE2|Win32.ActiveCfg = Release-SSE2|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release-SSE2|Win32.Build.0 = Release-SSE2|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Debug|Win32.ActiveCfg = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Debug|Win32.Build.0 = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.FastDebug|Win32.ActiveCfg = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.FastDebug|Win32.Build.0 = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release|Win32.ActiveCfg = Release|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release|Win32.Build.0 = Release|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release-SSE2|Win32.ActiveCfg = Release-SSE2|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release-SSE2|Win32.Build.0 = Release-SSE2|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal