diff --git a/Docs/Changelog_SSCformat.txt b/Docs/Changelog_SSCformat.txt index b21c8c8ce1..643f4b60a0 100644 --- a/Docs/Changelog_SSCformat.txt +++ b/Docs/Changelog_SSCformat.txt @@ -9,6 +9,9 @@ change to JSON, but it is unsure if this will be done. Implement .ssc at your own risk. _______________________________________________________________________________ +[v0.82] - cerbo +* add #PREVIEWVID tag. (to load the preview video, like #PREVIEW tag in .sma) + [v0.81] - freem * add #JACKET, #CDIMAGE, and #DISCIMAGE tags. (similar to #BANNER, etc.) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 2c356f59a2..7a9c6a00ae 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,10 +4,34 @@ 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. ________________________________________________________________________________ +================================================================================ +StepMania 5.0 alpha 1a | 201201?? +-------------------------------------------------------------------------------- + +2012/01/15 +---------- +* [WheelNotifyIcon] Add the NumIconsToShow metric. [Wolfman2000] +* [PlayerOptions] Fix a problem with m-mods where you would get m200 as + the default speed modifier. [AJ] + +2012/01/11 +---------- +* [ScreenEdit] Fix a floating point issue when dealing with speed segments. + [Wolfman2000] + +2012/01/09 +---------- +* [Song] Fix a bug introduced with "Only read certain tags during first load" + where song graphic files wouldn't load. [theDtTvB] + ================================================================================ StepMania 5.0 alpha 1 | 20120108 -------------------------------------------------------------------------------- +2012/01/08 +---------- +* [Song] Add HasPreviewVid and GetPreviewVidPath lua binding [cerbo] + 2012/01/08 ---------- * [ScreenManager] Made AddScreenToTop take a second (optional) parameter for diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 062cc2b248..f1f2aa9b77 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -94,6 +94,7 @@ + @@ -736,6 +737,7 @@ + @@ -2308,6 +2310,6 @@ - StepMania v5.0 alpha 0 - 2011-12-29 + StepMania v5.0 alpha 1 + 2012-01-12 diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index 740602aef7..62c548dce5 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -273,6 +273,9 @@ save yourself some time, copy this for undocumented things: [03 ThemePrefs.lua] Initializes various user preferences. + + [01 base.lua] "Like ipairs(), but returns only values." + [02 Utilities.lua] Returns true if the coin mode is not set to CoinMode_Home. @@ -352,7 +355,7 @@ save yourself some time, copy this for undocumented things: Creates a module. See the Lua manual for more details. - Returns the current month of the year. + Returns the current month of the year (0-11). Returns Month m as a localized string. @@ -386,6 +389,9 @@ save yourself some time, copy this for undocumented things: [02 Actor.lua] Returns either p1val or p2val depending on pn. + + Returns a formatted percent with the specified numerator and denominator. + [00 init.lua] @@ -438,6 +444,9 @@ save yourself some time, copy this for undocumented things: [02 Colors.lua] Modifies the saturation of the specified color + + Scales x, originally within low1 and high1, to fall between low2 and high2. + [03 Gameplay.lua] Returns the primary ScoreKeeper class to use. @@ -2110,7 +2119,10 @@ save yourself some time, copy this for undocumented things: Return the source for the editor or nil if it does not exist. - + + Returns a table of enabled players. + + Returns the name of the currently expanded section. diff --git a/Docs/license-ext/theme_lang-ja.txt b/Docs/license-ext/theme_lang-ja.txt index 2535f44532..531d618851 100644 --- a/Docs/license-ext/theme_lang-ja.txt +++ b/Docs/license-ext/theme_lang-ja.txt @@ -1,39 +1,49 @@ -Stepmania 5系本体用 日本語化セット2(2011/12/18) -作者:ナイラー +Stepmania 5n{̗p@{ꉻZbg5(2012/01/12) +ҁFiC[ ----------- -Stepmania5系本体では従来の日本語テーマ、および日本語ランゲージファイルが使用できなくなっています。 -個人的に日本語が見えているほうが安心できるので、とりあえずファイルを製作してみました。 +Stepmania5n{̂ł͏]̓{e[}Aѓ{ꃉQ[Wt@CgpłȂȂĂ܂B +lIɓ{ꂪĂقSł̂ŁAƂ肠t@C𐻍삵Ă݂܂B ----------- -以下のファイルが同梱されています。 -・fallbackja.ini(_fallbackテーマ用日本語ランゲージファイル) Ver 1.04α -・themeja.ini(デフォルトテーマ用日本語ランゲージファイル) Ver 1.02α +ȉ̃t@CĂ܂B +Efallbackja.ini(_fallbacke[}p{ꃉQ[Wt@C) Ver 1.05 +Ethemeja.ini(ftHge[}p{ꃉQ[Wt@C) Ver 1.03 +(YɂȂ̂ɋӖ͂܂BԍȂ̂) ----------- -今回の更新点 -fallbackja.iniに対して -・一部整形し忘れた文の整形。 -・エディット内での背景設定の部分の訳。 +̍XV_ +ÓuׂvŌƂĂC܂B +fallbackja.iniɑ΂ +ENEChẼeLXg̓{ꉻB +EGfBbg̃wv̖̒ECB +ȂAmFĂ͂܂񂪋NEChE2oCguƃoOƎv܂(ł)B +oONꍇA[LoadingWindow]ׂ̍ĉp̌t@Ĉ̂ɒuĂB +NȂ΂y݂B +themeja.iniɑ΂ +EI[gvC̐̒ECB +Eʂ‚ȂɃQ[X^[gGfBbgIԂƏoĂXN[͂̐̕`B ----------- -それぞれのファイルは、次の場所に配置してください。 -・fallbackja.iniは、「Theme」フォルダの「_fallback」フォルダ内の「Language」フォルダに、 - 「ja.ini」にリネームして配置。 -・themeja.iniは、「Theme」フォルダの「Default」フォルダ内の「Language」フォルダに - 「ja.ini」にリネームして配置。 -  ☆(重要)デフォルトテーマ以外では日本語化しきれなくなる部分があります。 -      そのことの報告は控えていただければ。 -これでオプションから日本語が設定できるようになります。 -操作の手順は、標準テーマなら -「起動→Option→More Option→Appearance Options→Languageで日本語を選択」です。 +ꂼ̃t@ĆȀꏊɔzuĂB +Efallbackja.iníAuThemevtH_́u_fallbackvtH_́uLanguagevtH_ɁA +@uja.inivɃl[ĔzuB +Ethemeja.iníAuThemevtH_́uDefaultvtH_́uLanguagevtH_ +@uja.inivɃl[ĔzuB +@@(dv)ftHge[}ȊOł͓{ꉻȂȂ镔܂B +@@@@@@̂Ƃ̕񍐂͍TĂ΁B +ŃIvV{ꂪݒł悤ɂȂ܂B +̎菇́AWe[}Ȃ +uNOptionMore OptionAppearance OptionsLanguageœ{IvłB ---------- -誤訳、および訳さないほうがいい部分もありますが、そこは勘弁してください。 -また、フォント画像が追加で必要になる箇所があるかもしれませんが、今回はそれも勘弁してください。 - +Aі󂳂Ȃق܂A͊قĂB +ljœ{tHgt@CKvƂȂꍇA +https://skydrive.live.com/embed?cid=EF81182F6B9C3571&resid=EF81182F6B9C3571%21140&authkey=AHPyLL7fuTngDMk +uStepmaniapāv肷邱Ƃł܂B +StepmaniapĂɂ͔pJiftHgtHgɎ^ĂȂ̈ꕔ^Ă܂B ---------- -このセットは自由に改変、再配布することができます。パッケージなどに同梱しても構いません。 -改変後のファイルの改変・再配布条件は自由に設定してかまいません。 +̃Zbg͎RɉρAĔzz邱Ƃł܂BpbP[WȂǂɓĂ\܂B +ό̃t@C̉ρEĔzz͎Rɐݒ肵Ă܂܂B ---------- -For foreign "rhythmers" This archive can be fixed and redistributed by you all.Including to Song Packages or Themes is also OK. Moreover,you can decide how these files are treated. +Sorry for my poor English :) ---------- -何かありましたらTwitterの@Niler_jpまで。 \ No newline at end of file +܂Twitter@Niler_jp܂ŁB \ No newline at end of file diff --git a/Makefile.am b/Makefile.am index f39d0f24ec..80e9d934ac 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,9 +20,9 @@ SMData: $(srcdir)/Utils/CreatePackage.pl $(srcdir) . dist-hook: SMData - mkdir -p $(distdir)/Packages - mv GameData.smzip $(distdir)/Packages - cp -r $(srcdir)/Docs $(distdir) + mkdir -p "$(distdir)/Packages" + mv GameData.smzip "$(distdir)/Packages" + cp -r "$(srcdir)/Docs" "$(distdir)" cp -r -t "$(distdir)" $(installFiles) install-exec-hook: diff --git a/Themes/_fallback/Languages/ja.ini b/Themes/_fallback/Languages/ja.ini index 288ff48d22..52e4dd05b7 100644 --- a/Themes/_fallback/Languages/ja.ini +++ b/Themes/_fallback/Languages/ja.ini @@ -1,24 +1,24 @@ -;Stepmania 5.0系本体用 _fallbackテーマ日本語化ファイルVer 1.04α +;Stepmania 5.0系本体用 _fallbackテーマ日本語化ファイルVer 1.05β [Common] WindowTitle=StepMania StepMania=StepMania [LoadingWindow] -Couldn't open any loading windows.=Couldn't open any loading windows. -Starting sound subsystem...=Starting sound subsystem... -Initializing bookkeeper...=Initializing bookkeeper... -Starting lights subsystem...=Starting lights subsystem... -Loading game type...=Loading game type... -Building song cache index...=Building song cache index... -Loading banner cache...=Loading banner cache... -Initializing memory card system...=Initializing memory card system... -Initializing character system...=Initializing character system... -Initializing profile system...=Initializing profile system... -Updating popular song list...=Updating popular song list... -Updating course rankings...=Updating course rankings... -Initializing statics manager...=Initializing statics manager... -Initializing message system...=Initializing message system... +Couldn't open any loading windows.=読み込みウインドウが開けませんでした。 +Starting sound subsystem...=音声システム開始 +Initializing bookkeeper...=クレジット記録初期化中 +Starting lights subsystem...=サイドライト初期化中 +Loading game type...=ゲーム読み込み中 +Building song cache index...=譜面データベース生成中 +Loading banner cache...=バナー画像キャッシュ中 +Initializing memory card system...=メモリーカードポート初期化中 +Initializing character system...=フォント読み込み中 +Initializing profile system...=プロフィール読み込み中 +Updating popular song list...=人気曲リスト更新中 +Updating course rankings...=コースランキング更新中 +Initializing statics manager...=スタティックマネージャー初期化中 +Initializing message system...=メッセージシステム初期化中 [Arch] Couldn't create a movie driver.=動画ドライバの生成に失敗しました。 @@ -379,7 +379,7 @@ Fill Machine Stats= Game=シミュレートするゲームを変更します。 GetRankingName=ネーム入力画面の出方を設定します。 Graphics/Sound Options=画面及び音声に関する設定です。 -Group= +Group=譜面を再生するグループを設定します。 HiddenSongs=Onにすると「SELECTABLE」設定が\n「NO」になっている曲は選択できなくなります。 @@ -402,7 +402,7 @@ No Memory Card=メモリーカードが認識されません。 NoteSkins=使用するノートスキンを設定します。\n必ずシミュレート中のモードに対応したスキンを使用してください。 NumBackgrounds=ランダム背景を使う際に常に読み込む画像数を設定します。 OnlyDedicatedMenuButtons=ゲーム用のボタンでメニューが操作できるようになります。\n特別なことがない限り「Use Gameplay Buttons」にしてください。 -OptionsRandomJukebox=ジュークボックスについての設定です。 +OptionsRandomJukebox=ランダムでプレイオプションを設定して譜面を再生します。 OsMountPlayer1= OsMountPlayer2= @@ -460,7 +460,7 @@ SoundVolumeAttract=アトラクトデモの音量を変更します。 StepMania Credits=StepManiaの開発チームを紹介します。 Steps=譜面 -Style=スタイル +Style=再生するプレイスタイルを設定します。 Test Input=ジョイスティックの入力テストを行います。 Test Lights=ライトセンサーの入力テストを行います。 TextureColorDepth=テクスチャの有効色数を設定します。 @@ -836,7 +836,7 @@ Clear area=エリア内のオブジェ削除 Clear clipboard=クリップボード削除 CoinMode=コインモード CoinModeNoHome=コインモード -CoinsPerCredit=Coins Per Credit +CoinsPerCredit=1クレジットの\nコイン数 Connection=接続 Convert pause to beats=停止を拍に Convert delay to beats=低速を拍に @@ -935,7 +935,7 @@ Game=Game GetRankingName=ネーム入力 Graphics/Sound Options=画像/音声オプション Group=グループ -Hands=Hands +Hands=トリプル HiddenSongs=隠し曲 Hide=判定ゾーン High Meter=High Meter @@ -992,7 +992,7 @@ Play selection=選択範囲をテストプレイ Player1Profile=1Pのプロファイル Player2Profile=2Pのプロファイル PlayerAutoPlay=オートプレイ -Predicted Meter=Predicted Meter +Predicted Meter=予想難易度 Preferences=好み PreloadSounds=音声の先読み Premium=プレミアム @@ -1319,7 +1319,7 @@ Enter a new min BPM.=表示される最小BPMを入力してください。 Enter a new max BPM.=表示される最大BPMを入力してください。 More than %d notes per measure is not allowed. This change has been reverted.=1小節に%d個のオブジェは置けません。修正してください。 No backgrounds available=背景画像が存在しません。 -EditHelpText=Up/Down:\n 拍の変更\nLeft/Right:\n 分数切り替え\n数字キー:\n 配置/除去\nN and M keys:\n オブジェの種類変更\nCtrl + N/M:\n サイクルフラグ変更\nCtrl + ,/.:\n サイクル挿入\n数字キー押しっぱなし\n ホールド挿入\n\nシフトキーも押してロールアロー\nスペースキー \nエリアマーカー設置\nTキー タイミング\nEnterキー エリアメニュー\nAキー エリアメニュー2\nEscキー メインメニュー\nF4: タイミングメニュー\nF1: ヘルプ\n +EditHelpText=↑/↓キー:\n 拍の変更\n←/→キー:\n 分数切り替え\n数字キー(1が一番左):\n 配置/除去\nN/Mキー:\n オブジェの種類変更\nCtrl + N/M:\n サイクルフラグ変更\nCtrl + ,/.:\n サイクル挿入\n数字キー押しっぱなし:\n ホールド挿入\n  シフトキーも押してロールアロー\nVキー:\n  おじゃま設定\nスペースキー:\n  エリアマーカー設置\n\nUキー:アンドゥ\nTキー:拍モード/時間モード\nEnterキー:エリアメニュー呼出\nAキー:エリアメニュー2呼出\nEscキー:メインメニュー呼出\nF4:タイミングメニュー呼出\nF1:ヘルプ呼出\n PlayRecordHelpText=Startボタンで終了 Save successful.=正常に保存しました。 Saved as SM and DWI.=SMとDWI形式で保存しました。 @@ -2025,7 +2025,8 @@ Set selection=エリアマーカーの設置 Toggle assist tick=アシストチックを使う Next/prev steps of same StepsType=同じタイプの違うシーケンス Decrease/increase BPM at cur beat=BPMの調整 -Decrease/increase stop at cur beat=シーケンス停止の調整 +Decrease/increase stop at cur beat=譜面停止時間の調整 +Decrease/increase delay at cur beat=譜面遅延時間の調整 Decrease/increase music offset=オフセットの調整 Decrease/increase sample music start=試聴曲スタートの調整 Decrease/increase sample music length=試聴曲の長さの調整 diff --git a/Themes/_fallback/Scripts/00 init.lua b/Themes/_fallback/Scripts/00 init.lua index 3c32232492..1f4d2950bc 100644 --- a/Themes/_fallback/Scripts/00 init.lua +++ b/Themes/_fallback/Scripts/00 init.lua @@ -21,6 +21,7 @@ end PLAYER_1 = "PlayerNumber_P1" PLAYER_2 = "PlayerNumber_P2" NUM_PLAYERS = #PlayerNumber +OtherPlayer = { [PLAYER_1] = PLAYER_2, [PLAYER_2] = PLAYER_1 } function string:find_last(text) local LastPos = 0 diff --git a/Themes/_fallback/Scripts/02 ThemePrefs.lua b/Themes/_fallback/Scripts/02 ThemePrefs.lua index 58236a2361..a7fa98bb0f 100644 --- a/Themes/_fallback/Scripts/02 ThemePrefs.lua +++ b/Themes/_fallback/Scripts/02 ThemePrefs.lua @@ -3,6 +3,7 @@ ThemePrefs: handles the underlying structure for ThemePrefs, so any themes built off of this can simply declare their prefs and default values, and access them through this system. +v0.7.2: Jan. 10, 2012. Added ThemePrefs.ForceSave function [freem] v0.7.1: Dec. 28, 2010. Added language support. v0.7.0: Dec. 15, 2010. Initial version. @@ -42,7 +43,7 @@ local function ResolveTable( pref ) local val = PrefsTable[name][pref] if val ~= nil then - Trace( ("ResolveTable(%s): found in %s"):format(pref,name) ) + --Trace( ("ResolveTable(%s): found in %s"):format(pref,name) ) return PrefsTable[name] end @@ -50,7 +51,7 @@ local function ResolveTable( pref ) if PrefsTable[FallbackTheme] then val = PrefsTable[FallbackTheme][pref] if val ~= nil then - Trace( ("ResolveTable(%s): found in fallback"):format(pref) ) + --Trace( ("ResolveTable(%s): found in fallback"):format(pref) ) return PrefsTable[FallbackTheme] end end @@ -60,7 +61,7 @@ local function ResolveTable( pref ) for section, _ in pairs(PrefsTable) do val = PrefsTable[section][pref] if val ~= nil then - Trace( ("ResolveTable(%s): found in section %s"):format(pref,section) ) + --Trace( ("ResolveTable(%s): found in section %s"):format(pref,section) ) return PrefsTable[section] end end @@ -93,7 +94,7 @@ ThemePrefs = local section = GetThemeName() PrefsTable[section] = PrefsTable[section] and PrefsTable[section] or { } - Trace( "Using section " .. section ) + --Trace( "Using section " .. section ) -- if the key doesn't exist, add it with our default value for k, tbl in pairs(prefs) do @@ -103,7 +104,7 @@ ThemePrefs = end end - PrintTable( PrefsTable[section] ) + --PrintTable( PrefsTable[section] ) end, Load = function() @@ -120,8 +121,15 @@ ThemePrefs = IniFile.WriteFile( ThemePrefsPath, PrefsTable ) end, + -- for when you absolutely have to save, no matter what NeedsSaved says. + ForceSave = function() + if not IniFile then return false end + NeedsSaved = false + IniFile.WriteFile( ThemePrefsPath, PrefsTable ) + end, + Get = function( name ) - Trace( ("ThemePrefs.Get(%s)"):format(name) ) + --Trace( ("ThemePrefs.Get(%s)"):format(name) ) local tbl = ResolveTable(name) if tbl then return tbl[name] end Warn( "Get: "..GetString("UnknownPreference"):format(name) ) @@ -129,7 +137,7 @@ ThemePrefs = end, Set = function( name, value ) - Trace( ("ThemePrefs.Set(%s, %s)"):format(name, tostring(value)) ) + --Trace( ("ThemePrefs.Set(%s, %s)"):format(name, tostring(value)) ) local tbl = ResolveTable(name) if tbl then tbl[name] = value; NeedsSaved = true; return end Warn( "Set: "..GetString("UnknownPreference"):format(name) ) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index ff89c92185..389a2e3717 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1148,8 +1148,8 @@ ImmediateHoldLetGo=not IsGame("pump") RequireStepOnHoldHeads=not IsGame("pump") RequireStepOnMines=false InitialHoldLife=IsGame("pump") and 0.05 or 1 -MaxHoldLife=IsGame("pump") and 0.05 or 1 -RollBodyIncrementsCombo=GetGamePrefB("UserPrefComboOnRolls") +MaxHoldLife=1 +RollBodyIncrementsCombo=false ScoreMissedHoldsAndRolls=not IsGame("pump") PercentUntilColorCombo=0.25 ComboStoppedAt=50 @@ -1447,6 +1447,7 @@ AfterSetCommand=%TextBannerAfterSet [WheelNotifyIcon] ShowTraining=false BlinkPlayersBest=true +NumIconsToShow=2 # 04 # diff --git a/Themes/default/BGAnimations/ScreenGameplay go/default.lua b/Themes/default/BGAnimations/ScreenGameplay go/default.lua index fd86e61752..e9b1a6b5e8 100644 --- a/Themes/default/BGAnimations/ScreenGameplay go/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay go/default.lua @@ -1,3 +1,8 @@ +if IsNetSMOnline() then + -- don't show "Ready" online; it will obscure the immediately-starting steps. + return Def.ActorFrame{} +end + return LoadActor("go") .. { InitCommand=cmd(Center;draworder,105); StartTransitioningCommand=cmd(zoom,1.3;diffusealpha,0;bounceend,0.25;zoom,1;diffusealpha,1;linear,0.15;glow,BoostColor(Color("Blue"),1.75);decelerate,0.3;glow,1,1,1,0;sleep,1-0.45;linear,0.25;diffusealpha,0;); diff --git a/Themes/default/BGAnimations/ScreenGameplay out.lua b/Themes/default/BGAnimations/ScreenGameplay out.lua index cb3ce0e9d2..1d112f221a 100644 --- a/Themes/default/BGAnimations/ScreenGameplay out.lua +++ b/Themes/default/BGAnimations/ScreenGameplay out.lua @@ -1,6 +1,27 @@ -return Def.ActorFrame{ +local bg = Def.ActorFrame{ Def.Quad{ InitCommand=cmd(FullScreen;diffuse,color("0,0,0,0")); OnCommand=cmd(linear,5;diffusealpha,1); }; -}; \ No newline at end of file +}; + +if GAMESTATE:GetPlayMode() == 'PlayMode_Rave' then + -- find out who won the round + local raveWin, raveFile; + if GAMESTATE:IsWinner(PLAYER_1) then + raveFile = THEME:GetPathG("_rave result","P1") + elseif GAMESTATE:IsWinner(PLAYER_2) then + raveFile = THEME:GetPathG("_rave result","P2") + else + raveFile = THEME:GetPathG("_rave result","draw") + end + + raveWin = LoadActor(raveFile)..{ + InitCommand=cmd(Center;cropbottom,1;fadebottom,1;); + OnCommand=cmd(sleep,2;linear,0.5;cropbottom,0;fadebottom,0;sleep,1.75;linear,0.25;diffusealpha,0); + }; + + table.insert(bg,raveWin) +end + +return bg \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenGameplay ready/default.lua b/Themes/default/BGAnimations/ScreenGameplay ready/default.lua index 319f417f2d..73c513579a 100644 --- a/Themes/default/BGAnimations/ScreenGameplay ready/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay ready/default.lua @@ -1,3 +1,8 @@ +if IsNetSMOnline() then + -- don't show "Ready" online; it will obscure the immediately-starting steps. + return Def.ActorFrame{} +end + return LoadActor("ready") .. { InitCommand=cmd(Center;draworder,105); StartTransitioningCommand=cmd(zoom,1.3;diffusealpha,0;bounceend,0.25;zoom,1;diffusealpha,1;linear,0.15;glow,BoostColor(Color("Orange"),1.75);decelerate,0.3;glow,1,1,1,0;sleep,1-0.45;linear,0.25;diffusealpha,0;); diff --git a/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua b/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua index c85a1039e5..7f58a28fa3 100644 --- a/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua +++ b/Themes/default/BGAnimations/ScreenTitleMenu underlay.lua @@ -1,7 +1,12 @@ InitUserPrefs(); local t = Def.ActorFrame { - BeginCommand=function(self) + OnCommand=function(self) + if not FILEMAN:DoesFileExist("Save/ThemePrefs.ini") then + Trace("ThemePrefs doesn't exist; creating file") + ThemePrefs.ForceSave() + end + ThemePrefs.Save() end; }; diff --git a/Themes/default/Graphics/CombinedLifeMeterTug seperator.redir b/Themes/default/Graphics/CombinedLifeMeterTug seperator.redir deleted file mode 100644 index e184650b4e..0000000000 --- a/Themes/default/Graphics/CombinedLifeMeterTug seperator.redir +++ /dev/null @@ -1 +0,0 @@ -_CombinedLifeMeterTug seperator \ No newline at end of file diff --git a/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png b/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png index aaeadbe7af..c3aa1afcc1 100644 Binary files a/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png and b/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png differ diff --git a/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png b/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png index 3f3e0c3b35..6822b93dd8 100644 Binary files a/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png and b/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level1 (res 256x20).png b/Themes/default/Graphics/ScoreDisplayRave stream level1 (res 256x20).png deleted file mode 100644 index e5a9418357..0000000000 Binary files a/Themes/default/Graphics/ScoreDisplayRave stream level1 (res 256x20).png and /dev/null differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level1.png b/Themes/default/Graphics/ScoreDisplayRave stream level1.png new file mode 100644 index 0000000000..1aaf7a8957 Binary files /dev/null and b/Themes/default/Graphics/ScoreDisplayRave stream level1.png differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level2 (res 256x20).png b/Themes/default/Graphics/ScoreDisplayRave stream level2 (res 256x20).png deleted file mode 100644 index 199e406605..0000000000 Binary files a/Themes/default/Graphics/ScoreDisplayRave stream level2 (res 256x20).png and /dev/null differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level2.png b/Themes/default/Graphics/ScoreDisplayRave stream level2.png new file mode 100644 index 0000000000..cb8bfaaac7 Binary files /dev/null and b/Themes/default/Graphics/ScoreDisplayRave stream level2.png differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level3 (res 256x20).png b/Themes/default/Graphics/ScoreDisplayRave stream level3 (res 256x20).png deleted file mode 100644 index 41138c9a2f..0000000000 Binary files a/Themes/default/Graphics/ScoreDisplayRave stream level3 (res 256x20).png and /dev/null differ diff --git a/Themes/default/Graphics/ScoreDisplayRave stream level3.png b/Themes/default/Graphics/ScoreDisplayRave stream level3.png new file mode 100644 index 0000000000..af6b5f8e3a Binary files /dev/null and b/Themes/default/Graphics/ScoreDisplayRave stream level3.png differ diff --git a/Themes/default/Graphics/_CombinedLifeMeterTug separator.png b/Themes/default/Graphics/_CombinedLifeMeterTug separator.png index 4c62fd6b1e..28269d5b9a 100644 Binary files a/Themes/default/Graphics/_CombinedLifeMeterTug separator.png and b/Themes/default/Graphics/_CombinedLifeMeterTug separator.png differ diff --git a/Themes/default/Languages/ja.ini b/Themes/default/Languages/ja.ini index 93883de8f1..5e9e68b945 100644 --- a/Themes/default/Languages/ja.ini +++ b/Themes/default/Languages/ja.ini @@ -1,4 +1,4 @@ -;Stepmania 5.0系本体default用日本語化ファイル Ver 1.02α +;Stepmania 5.0系本体default用日本語化ファイル Ver 1.03β [Screen] HelpText=&BACK; 戻る &START; 決定 &SELECT; オプション &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; 選択 @@ -53,7 +53,7 @@ HardExplanation=上級者向けのモードです。音感冴えわたるあな OldNormalExplanation=中級者向けのモードです。十分に慣れてきたならこちら。 NormalExplanation=1曲ずつ選択してプレイするモードです。 RaveExplanation=対戦モードです。相手の邪魔にめげずノリ続けてください。 -ExtendedExplanation=何曲かを連続してプレイするモードです。 +NonstopExplanation=何曲かを連続してプレイするモードです。 OniExplanation=シーケンス処理力を問う、オプションが使用できないコースです。 EndlessExplanation=ゲージが尽きるまで、ひたすらプレイするモードです。 @@ -90,59 +90,56 @@ MachineRecord=筐体中#%i位! PersonalRecord=セルフレコード#%i位! [OptionTitles] -UserPrefAutoSetStyle=プレイスタイルの\n全選択可能化 -UserPrefNotePosition=シーケンスの位置 -UserPrefComboOnRolls=ロールの判定 -UserPrefComboUnderField=コンボを低めの\nレイヤーに表示する +AutoSetStyle=プレイスタイルの\n全選択可能化 +NotePosition=シーケンスの位置 +ComboOnRolls=ロールの判定 +ComboUnderField=コンボを低めの\nレイヤーに表示する - - -UserPrefGameplayShowScore=スコア表示 -UserPrefGameplayShowStepsDisplay=シーケンス表示 -UserPrefShowLotsaOptions=プレイオプション\nの個数 -UserPrefLongFail=プレイ失敗の演出 -UserPrefFlashyCombo=50コンボの演出 +GameplayShowScore=スコア表示 +GameplayShowStepsDisplay=シーケンス表示 +ShowLotsaOptions=プレイオプション\nの個数 +LongFail=プレイ失敗の演出 +FlashyCombo=50コンボの演出 UserPrefThemes=テーマ -UserPrefGameplayFooter=ゲーム中の\nオプション表示欄 -UserPrefFancyUIBG=背景の特殊\nオブジェクト -UserPrefTimingDisplay=曲位置メーターの\n区切り +GameplayFooter=ゲーム中の\nオプション表示欄 +FancyUIBG=背景の特殊\nオブジェクト +TimingDisplay=曲位置メーターの\n区切り [OptionExplanations] -UserPrefAutoSetStyle=プレイヤー人数に関わらずすべての\nプレイスタイルが選択できるようになります。(要再起動) -UserPrefNotePosition=プレイ中の判定ゾーンの位置を決めます。 -UserPrefComboOnRolls=ロールでコンボが増加するかどうかを決めます。 -UserPrefComboUnderField=コンボをシーケンスの下に表示するかどうかを決めます。 +AutoSetStyle=プレイヤー人数に関わらずすべての\nプレイスタイルが選択できるようになります。(要再起動) +NotePosition=プレイ中の判定ゾーンの位置を決めます。 +ComboOnRolls=ロールでコンボが増加するかどうかを決めます。 +ComboUnderField=コンボをシーケンスの下に表示するかどうかを決めます。 -UserPrefGameplayShowScore=プレイ中スコアを表示するかどうかを決めます。 -UserPrefGameplayShowStepsDisplay=曲選択中にシーケンス情報を表示するかどうかを決めます。 -UserPrefShowLotsaOptions=選択可能なプレイオプションを&oq;Few&cq;で最低限に、\n&oq;Many&cq;で最大限に表示します。 -UserPrefLongFail=プレイに失敗したときの演出の長さを決めます。 -UserPrefFlashyCombo=50コンボで発生する演出を表示するかどうかを決めます。 -UserPrefGameplayFooter=ONにすると、プレイ中に上か下かに画像が表示されます。\nオプションなどは見やすくなりますが、その分シーケンスが隠されます。 -UserPrefFancyUIBG=特殊な背景エフェクトの使用可否の設定です。\n古いパソコンでは"Off"に設定してください。 +GameplayShowScore=プレイ中スコアを表示するかどうかを決めます。 +GameplayShowStepsDisplay=曲選択中にシーケンス情報を表示するかどうかを決めます。 +ShowLotsaOptions=選択可能なプレイオプションを&oq;Few&cq;で最低限に、\n&oq;Many&cq;で最大限に表示します。 +LongFail=プレイに失敗したときの演出の長さを決めます。 +FlashyCombo=50コンボで発生する演出を表示するかどうかを決めます。 +GameplayFooter=ONにすると、プレイ中に上か下かに画像が表示されます。\nオプションなどは見やすくなりますが、その分シーケンスが隠されます。 +FancyUIBG=特殊な背景エフェクトの使用可否の設定です。\n古いパソコンでは"Off"に設定してください。 -UserPrefLanguage=使用言語を設定します。現在は「日本語」です。 -UserPrefAnnouncer=プレイ中のアナウンサーを選択します。専用ファイルの追加が必要です。 -UserPrefTheme=使用するテーマを設定します。必ずStepmania 5用のテーマを選択してください。 -UserPrefPercentageScoring=スコアをパーセント表示します。 -UserPrefMode=背景の設定です。Off以外では専用ファイルを用意する必要があります。 -UserPrefBrightness=背景の明度を設定します。 -UserPrefDancingCharacters=ダンサーの表示設定です。\n専用ファイルがない場合、無視してかまいません。 -UserPrefBeginnerHelper=Onにしてかつ専用ファイルが存在すると、\n難易度Beginnerでダンサーがお手本を見せてくれます。 -UserPrefRandomBackGrounds=ランダム背景使用時、常に同時に読み込む画像数を設定します。 +Language=使用言語を設定します。現在は「日本語」です。 +Announcer=プレイ中のアナウンサーを選択します。専用ファイルの追加が必要です。 +Theme=使用するテーマを設定します。必ずStepmania 5用のテーマを選択してください。 +PercentageScoring=スコアをパーセント表示します。 +Mode=背景の設定です。Off以外では専用ファイルを用意する必要があります。 +Brightness=背景の明度を設定します。 +DancingCharacters=ダンサーの表示設定です。\n専用ファイルがない場合、無視してかまいません。 +BeginnerHelper=Onにしてかつ専用ファイルが存在すると、\n難易度Beginnerでダンサーがお手本を見せてくれます。 +RandomBackGrounds=ランダム背景使用時、常に同時に読み込む画像数を設定します。 -UserPrefCenter1Player=Onにすると、1人プレイ時に\n判定ゾーンとシーケンスが中央寄りになります。 -UserPrefOniScoreDisplay=ONIモードでのスコア表示形式を設定します。 -UserPrefMenuTimer=Onにすると選択に時間制限が付きます。 +Center1Player=Onにすると、1人プレイ時に\n判定ゾーンとシーケンスが中央寄りになります。 +OniScoreDisplay=ONIモードでのスコア表示形式を設定します。 +MenuTimer=Onにすると選択に時間制限が付きます。 -UserPrefTimingDisplay=Onにすると、曲の現在位置を示すメーターが区切られます。 +TimingDisplay=Onにすると、曲の現在位置を示すメーターが区切られます。 ;以下プレイオプション Accel=譜面の判定ゾーンへの接近のしかたを設定します。 Appearance=シーケンスの出現のしかたを設定します。\n「Hidden」は途中から消え、「Sudden」は途中から現れます。\n「Stealth」は常に消え、「Blink」は常に点滅します。 AutoAdjust=曲の再生ズレ補正の設定です。「はまり」を起こしやすい曲では使わないでください。 -AutoPlay=OnにするとCPUが代わりにプレイします。スコアは加算も集計もされません。 Assist=リズムキープ用の補助音の設定をします。 BackGround=背景を設定します。「Random Background」はランダム背景用ファイルが必要です。 BarDrain=ライフゲージの減り方を設定します。 @@ -158,7 +155,8 @@ Mines=譜面に地雷を追加する規則を設定します。 MusicRateHelp=曲そのものを変速してプレイします。 NoteSkins=オブジェのスキンを変更します。必ずプレイモードに対応したスキンを使用してください。 Persp=譜面の流れ方の立体感を設定します。通常は「Overhead」です。 -ProTiming=判定の表示を変更します。 +ProTiming=「On」にすると、ジャストタイミングからの入力の離れを表示するようになります。 +PlayerAutoPlay=OnにするとCPUが代わりにプレイします。スコアは加算も集計もされません。 Rate=曲自体の速度の設定をします。「Haste」では微小な加減速を行い続けます。 Remove=シーケンスからオブジェを削除する規則を設定します。 SaveScores=スコア保存の設定をします。 @@ -213,9 +211,10 @@ Importing Songs=すでにあるStepmaniaから曲をインポートする Reload Songs=曲のリロード Exit=タイトルメニューへ -Explanation-WhereToFind=検索サイトで「Stepmania Simfile」などでシーケンス付きの曲を探すことができます。 -Explanation-HowToInstall=本体「Songs」フォルダ内にグループフォルダを作り、そこに見つけた曲をフォルダのまま入れてください。.smzip形式であれば自動でインストールしてくれます。 -Explanation-AdditionalFolders=AdditionalFolders機能を使って、他のStepmaniaにインストールされている曲をインポートできます。 +Explanation-WhereToFind=検索サイトで「Stepmania Simfile」などで譜面を探すことができます。\nなお著作権法に違反するファイルはダウンロードしないよう強くお願いします +Explanation-HowToInstall=本体「Songs」フォルダ内にグループフォルダを作り、\nそこに見つけた曲をフォルダのまま入れてください。\n.smzip形式であれば自動でインストールしてくれます。 +Explanation-AdditionalFolders=AdditionalFolders機能を使って、\n他のStepmaniaにインストールされている曲をインポートできます。 +Explanation-ReloadSongs=Stepmaniaの起動中に曲を追加したとき、\nまたはエディットを使わずに譜面を編集したときは\nオプションからのリロードが必要になります。 Explanation-Exit=タイトルメニューへ戻ります。 [OptionNames] diff --git a/Themes/default/Languages/pl.ini b/Themes/default/Languages/pl.ini index d118f2ce5e..6cf8d03efc 100755 --- a/Themes/default/Languages/pl.ini +++ b/Themes/default/Languages/pl.ini @@ -51,7 +51,7 @@ HardExplanation=Dla ekspertów. OldNormalExplanation=Nie za łatwo, nie za trudno. NormalExplanation=Graj w swoje ulubione piosenki! RaveExplanation=Bitwa dwóch graczy przeciwko sobie. -ExtendedExplanation=Kilka piosenek pod rząd. +NonstopExplanation=Kilka piosenek pod rząd. OniExplanation=Prawdziwy test umiejętności. EndlessExplanation=Tańcz aż padniesz. diff --git a/Themes/default/Sounds/ScreenEdit switch steps.redir b/Themes/default/Sounds/ScreenEdit switch steps.redir deleted file mode 100644 index de1c54532a..0000000000 --- a/Themes/default/Sounds/ScreenEdit switch steps.redir +++ /dev/null @@ -1 +0,0 @@ -_Music menu \ No newline at end of file diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 56c6d309c2..97624f317c 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -309,6 +309,7 @@ ShowBoard=GAMESTATE:GetCurrentGame():GetName() == "kb7" ReceptorArrowsYStandard=GetTapPosition('Standard') ReceptorArrowsYReverse=GetTapPosition('Reverse') ComboUnderField=ComboUnderField() +RollBodyIncrementsCombo=ThemePrefs.Get("ComboOnRolls") [PlayerOptions] @@ -353,8 +354,8 @@ PercentP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,B PercentP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,BoostColor(PlayerColor(PLAYER_2),1.5) [ScoreDisplayRave] -MeterP1OnCommand=draworder,-1 -MeterP2OnCommand=draworder,-1;zoomx,-1 +MeterP1OnCommand=draworder,-1;texcoordvelocity,1,0 +MeterP2OnCommand=draworder,-1;zoomx,-1;texcoordvelocity,1,0 LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; diff --git a/_assets/Themes/SMMAX2.0/exported graphics/01 ScreenCompanyFirst/info.txt b/_assets/Themes/SMMAX2.0/exported graphics/01 ScreenCompanyFirst/info.txt new file mode 100644 index 0000000000..860223a8fa --- /dev/null +++ b/_assets/Themes/SMMAX2.0/exported graphics/01 ScreenCompanyFirst/info.txt @@ -0,0 +1,3 @@ +No graphics here. +Hey. It`s only black bacground and some text. What you`ve expeced. +All text should be dynamic, and translatable, remeber? \ No newline at end of file diff --git a/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/logo shadow.png b/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/logo shadow.png new file mode 100644 index 0000000000..c8adfbdc45 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/logo shadow.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/logo.png b/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/logo.png new file mode 100644 index 0000000000..f3743dbf7e Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/logo.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/whitebg.png b/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/whitebg.png new file mode 100644 index 0000000000..fbb68d76eb Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/02 ScreenCompany/whitebg.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/bluearrow.png b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/bluearrow.png new file mode 100644 index 0000000000..f4c6920431 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/bluearrow.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/redarrow.png b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/redarrow.png new file mode 100644 index 0000000000..9f356de215 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/redarrow.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/SMMAX20logo.png b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/smmax20logo.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/SMMAX20logo.png rename to _assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/smmax20logo.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/titlemenubackground.jpg b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/titlemenubackground.jpg new file mode 100644 index 0000000000..8260bf7d52 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/03 ScreenLogo & ScreenTitleMenu/titlemenubackground.jpg differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/Common background.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/Common background.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/Common background.png rename to _assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/Common background.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/_shared footer.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/_shared footer.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/_shared footer.png rename to _assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/_shared footer.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/redselectionbox.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/redselectionbox.png new file mode 100644 index 0000000000..7aa55614d2 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/redselectionbox.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/screenicon.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/screenicon.png new file mode 100644 index 0000000000..4ae70f27f0 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/screenicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/selectionbar.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/selectionbar.png new file mode 100644 index 0000000000..af24577147 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/selectionbar.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/selectprofileribbon.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/selectprofileribbon.png new file mode 100644 index 0000000000..a3175c85a6 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/selectprofileribbon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/yellowheader.png b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/yellowheader.png new file mode 100644 index 0000000000..7c9b1747ee Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/04 ScreenSelectProfile/yellowheader.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/explanationbar.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/explanationbar.png new file mode 100644 index 0000000000..d99da43580 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/explanationbar.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/options warning box.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/options warning box.png new file mode 100644 index 0000000000..6df3c19299 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/options warning box.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/screenselectstyleicon.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/screenselectstyleicon.png new file mode 100644 index 0000000000..fa345f0080 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/screenselectstyleicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/singlevisualisation.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/singlevisualisation.png new file mode 100644 index 0000000000..39e156ab98 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/singlevisualisation.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styleSingleExplanationPanel.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styleSingleExplanationPanel.png new file mode 100644 index 0000000000..6637b2dc51 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styleSingleExplanationPanel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylecoupleicon.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylecoupleicon.png new file mode 100644 index 0000000000..17042cfc40 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylecoupleicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styledoubleicon.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styledoubleicon.png new file mode 100644 index 0000000000..3a5df7af40 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styledoubleicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylesingleicon.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylesingleicon.png new file mode 100644 index 0000000000..858f2785f2 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylesingleicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylesoloicon.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylesoloicon.png new file mode 100644 index 0000000000..03bcfb6c89 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/stylesoloicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styleversusicon.png b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styleversusicon.png new file mode 100644 index 0000000000..6e0a86dfa4 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/05 ScreenSelectStyle - Single/styleversusicon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/06 ScreenSelectStyle - Versus/styleVersusExplanationPanel.png b/_assets/Themes/SMMAX2.0/exported graphics/06 ScreenSelectStyle - Versus/styleVersusExplanationPanel.png new file mode 100644 index 0000000000..4f20100bbf Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/06 ScreenSelectStyle - Versus/styleVersusExplanationPanel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/06 ScreenSelectStyle - Versus/versusvisualisation.png b/_assets/Themes/SMMAX2.0/exported graphics/06 ScreenSelectStyle - Versus/versusvisualisation.png new file mode 100644 index 0000000000..82896df5a3 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/06 ScreenSelectStyle - Versus/versusvisualisation.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/07 ScreenSelectStyle - Couple/styleCoupleExplanationPanel.png b/_assets/Themes/SMMAX2.0/exported graphics/07 ScreenSelectStyle - Couple/styleCoupleExplanationPanel.png new file mode 100644 index 0000000000..5d9d4fc241 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/07 ScreenSelectStyle - Couple/styleCoupleExplanationPanel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/08 ScreenSelectStyle - Double/doublevisualisation.png b/_assets/Themes/SMMAX2.0/exported graphics/08 ScreenSelectStyle - Double/doublevisualisation.png new file mode 100644 index 0000000000..652aa2cebe Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/08 ScreenSelectStyle - Double/doublevisualisation.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/08 ScreenSelectStyle - Double/styleDoubleExplanationPanel.png b/_assets/Themes/SMMAX2.0/exported graphics/08 ScreenSelectStyle - Double/styleDoubleExplanationPanel.png new file mode 100644 index 0000000000..59c44e6754 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/08 ScreenSelectStyle - Double/styleDoubleExplanationPanel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/09 ScreenSelectStyle - Solo/solovisualisation.png b/_assets/Themes/SMMAX2.0/exported graphics/09 ScreenSelectStyle - Solo/solovisualisation.png new file mode 100644 index 0000000000..0174bf9c84 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/09 ScreenSelectStyle - Solo/solovisualisation.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/09 ScreenSelectStyle - Solo/styleSoloExplanationPanel.png b/_assets/Themes/SMMAX2.0/exported graphics/09 ScreenSelectStyle - Solo/styleSoloExplanationPanel.png new file mode 100644 index 0000000000..77de2831ee Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/09 ScreenSelectStyle - Solo/styleSoloExplanationPanel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/ScreenSelectPlayModeIcon.png b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/ScreenSelectPlayModeIcon.png new file mode 100644 index 0000000000..7589153017 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/ScreenSelectPlayModeIcon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-endless.png b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-endless.png new file mode 100644 index 0000000000..fbbac05d12 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-endless.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-extended.png b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-extended.png new file mode 100644 index 0000000000..be8d3045d4 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-extended.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-normal.png b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-normal.png new file mode 100644 index 0000000000..aa47b47c53 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-normal.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-oni.png b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-oni.png new file mode 100644 index 0000000000..005a2a607e Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-oni.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-rave.png b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-rave.png new file mode 100644 index 0000000000..ebb8019b22 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/10 ScreenSelectPlayMode/panel-rave.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/MusicWheel highlight.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/MusicWheel highlight.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/MusicWheel highlight.png rename to _assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/MusicWheel highlight.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/MusicWheelItem SectionCollapsed NormalPart.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/MusicWheelItem SectionCollapsed NormalPart.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/MusicWheelItem SectionCollapsed NormalPart.png rename to _assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/MusicWheelItem SectionCollapsed NormalPart.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/MusicWheelItem Song NormalPart.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/MusicWheelItem Song NormalPart.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/MusicWheelItem Song NormalPart.png rename to _assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/MusicWheelItem Song NormalPart.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/ScreenSelectMusicIcon.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/ScreenSelectMusicIcon.png new file mode 100644 index 0000000000..afd6ffeeda Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/ScreenSelectMusicIcon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/bannerdisplaybox.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/bannerdisplaybox.png new file mode 100644 index 0000000000..6cc4ef732c Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/bannerdisplaybox.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feet displaybg p1.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feet displaybg p1.png new file mode 100644 index 0000000000..3856e83e70 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feet displaybg p1.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feet displaybg p2.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feet displaybg p2.png new file mode 100644 index 0000000000..42ed19a0b7 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feet displaybg p2.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feeticon.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feeticon.png new file mode 100644 index 0000000000..0f9ebd753d Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/feeticon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelselectsmallp1.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelselectsmallp1.png new file mode 100644 index 0000000000..e1dfb5278f Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelselectsmallp1.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelselectsmallp2.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelselectsmallp2.png new file mode 100644 index 0000000000..08e4ef1614 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelselectsmallp2.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-beginner.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-beginner.png new file mode 100644 index 0000000000..7ff08aaa03 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-beginner.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-challenge.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-challenge.png new file mode 100644 index 0000000000..5166f1334b Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-challenge.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-heavy.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-heavy.png new file mode 100644 index 0000000000..f5113f38c5 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-heavy.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-light.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-light.png new file mode 100644 index 0000000000..c3c3bfdcd7 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-light.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-standard.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-standard.png new file mode 100644 index 0000000000..af3937fe98 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/levelsmallbox-standard.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - box active.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - box active.png new file mode 100644 index 0000000000..9ebe553a80 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - box active.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - box empty.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - box empty.png new file mode 100644 index 0000000000..9b49810ff7 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - box empty.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - p1.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - p1.png new file mode 100644 index 0000000000..7e7aa6ac90 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - p1.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - p2.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - p2.png new file mode 100644 index 0000000000..727b1c83ef Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/mods display - p2.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/scrollbar.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/scrollbar.png new file mode 100644 index 0000000000..01e8919625 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/scrollbar.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/songstatsdisplay.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/songstatsdisplay.png new file mode 100644 index 0000000000..03f2bf6c6b Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/songstatsdisplay.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/warps-speedups-pauses-etc-iconbg.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/warps-speedups-pauses-etc-iconbg.png new file mode 100644 index 0000000000..f8cb15becc Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/warps-speedups-pauses-etc-iconbg.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/wheel cover right.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheel cover right.png similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/wheel cover right.png rename to _assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheel cover right.png diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - beginner level indicator.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - beginner level indicator.png new file mode 100644 index 0000000000..3e9614fe99 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - beginner level indicator.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - edit.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - edit.png new file mode 100644 index 0000000000..f553105398 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - edit.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - long.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - long.png new file mode 100644 index 0000000000..a1a721b1de Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - long.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - marathon.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - marathon.png new file mode 100644 index 0000000000..f4746febf6 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - marathon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - popularity.png b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - popularity.png new file mode 100644 index 0000000000..31e2dd9899 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/11 ScreenSelectMusic/wheelicon - popularity.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/Common fallback background.jpg b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/Common fallback background.jpg similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/Common fallback background.jpg rename to _assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/Common fallback background.jpg diff --git a/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/energyleverdisplaygradient.png b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/energyleverdisplaygradient.png new file mode 100644 index 0000000000..a9f0fad336 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/energyleverdisplaygradient.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/footer.png b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/footer.png new file mode 100644 index 0000000000..5bf3aec97a Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/footer.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/header.png b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/header.png new file mode 100644 index 0000000000..057acab518 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/header.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/leveldisplay.png b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/leveldisplay.png new file mode 100644 index 0000000000..5999ac97cc Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/12 ScreenGamePlay/leveldisplay.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/ScreenEvaluationNormalIcon.png b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/ScreenEvaluationNormalIcon.png new file mode 100644 index 0000000000..406290f5a2 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/ScreenEvaluationNormalIcon.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/banner box.png b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/banner box.png new file mode 100644 index 0000000000..c781e0c856 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/banner box.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/grade window.png b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/grade window.png new file mode 100644 index 0000000000..444f37fd6e Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/grade window.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/judge description background.png b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/judge description background.png new file mode 100644 index 0000000000..07a0efe90d Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/judge description background.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/statbox - p1.png b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/statbox - p1.png new file mode 100644 index 0000000000..d678b0f740 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/statbox - p1.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/statbox - p2.png b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/statbox - p2.png new file mode 100644 index 0000000000..10eecec0c3 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/13 ScreenEvaluationNormal/statbox - p2.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/footer.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/footer.png new file mode 100644 index 0000000000..72dafb101b Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/footer.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/header.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/header.png new file mode 100644 index 0000000000..0201382a24 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/header.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 1.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 1.png new file mode 100644 index 0000000000..1fce74c034 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 1.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 2.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 2.png new file mode 100644 index 0000000000..b04a57990a Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 2.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 3.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 3.png new file mode 100644 index 0000000000..ca34ca775a Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 3.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 4.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 4.png new file mode 100644 index 0000000000..183557b0f5 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 4.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 5.png b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 5.png new file mode 100644 index 0000000000..a5321a059f Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/14 ScreenRanking/ranking icons - 5.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/baground dance tile.png b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/baground dance tile.png new file mode 100644 index 0000000000..5bb9ec6fde Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/baground dance tile.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/energy bar.png b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/energy bar.png new file mode 100644 index 0000000000..bbf29defcb Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/energy bar.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/hand pointer blue.png b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/hand pointer blue.png new file mode 100644 index 0000000000..be50582a08 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/hand pointer blue.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/hand pointer green.png b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/hand pointer green.png new file mode 100644 index 0000000000..7f032b1e0f Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/hand pointer green.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/how to play text.png b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/how to play text.png new file mode 100644 index 0000000000..098b696316 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/how to play text.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/info panel.png b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/info panel.png new file mode 100644 index 0000000000..af9773fede Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/15 ScreenHowToPlay/info panel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option cursors.png b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option cursors.png new file mode 100644 index 0000000000..c9c6606f99 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option cursors.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option row arrow selected.png b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option row arrow selected.png new file mode 100644 index 0000000000..6a82f3c3bc Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option row arrow selected.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option row arrow unselected.png b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option row arrow unselected.png new file mode 100644 index 0000000000..4787f3beda Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/option row arrow unselected.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/options bg panel.png b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/options bg panel.png new file mode 100644 index 0000000000..f80bf3a1e8 Binary files /dev/null and b/_assets/Themes/SMMAX2.0/exported graphics/16 ScreenOptions/options bg panel.png differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/Common fallback background.png b/_assets/Themes/SMMAX2.0/exported graphics/Common fallback background.png deleted file mode 100644 index 4381515744..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/Common fallback background.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/Common fallback banner.png b/_assets/Themes/SMMAX2.0/exported graphics/Common fallback banner.png deleted file mode 100644 index 40f5a1ee95..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/Common fallback banner.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/SMMAX20 screens project ver1.svg b/_assets/Themes/SMMAX2.0/exported graphics/SMMAX20 logo.svg similarity index 100% rename from _assets/Themes/SMMAX2.0/exported graphics/SMMAX20 screens project ver1.svg rename to _assets/Themes/SMMAX2.0/exported graphics/SMMAX20 logo.svg diff --git a/_assets/Themes/SMMAX2.0/exported graphics/SMMAX20 screens project ver1.png b/_assets/Themes/SMMAX2.0/exported graphics/SMMAX20 screens project ver1.png deleted file mode 100644 index df5f3976e4..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/SMMAX20 screens project ver1.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/ScreenLogo background.jpg b/_assets/Themes/SMMAX2.0/exported graphics/ScreenLogo background.jpg deleted file mode 100644 index e8004c841a..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/ScreenLogo background.jpg and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/ScreenLogo background.png b/_assets/Themes/SMMAX2.0/exported graphics/ScreenLogo background.png deleted file mode 100644 index 9a2e5297e4..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/ScreenLogo background.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/ScreenSelectMusic header.png b/_assets/Themes/SMMAX2.0/exported graphics/ScreenSelectMusic header.png deleted file mode 100644 index a1d8a18778..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/ScreenSelectMusic header.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/_banner frame.png b/_assets/Themes/SMMAX2.0/exported graphics/_banner frame.png deleted file mode 100644 index 9a16210558..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/_banner frame.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/aaaaaaaa.png b/_assets/Themes/SMMAX2.0/exported graphics/aaaaaaaa.png deleted file mode 100644 index 35b2b07c7d..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/aaaaaaaa.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/bg/commonbackground1440x1080.png b/_assets/Themes/SMMAX2.0/exported graphics/bg/commonbackground1440x1080.png deleted file mode 100644 index 234571a742..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/bg/commonbackground1440x1080.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select mode text transparent.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select mode text transparent.png deleted file mode 100644 index a8939a2f37..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select mode text transparent.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select music text transparent.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select music text transparent.png deleted file mode 100644 index 592df89c01..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select music text transparent.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select profile text transparent.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select profile text transparent.png deleted file mode 100644 index 90ef95441e..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select profile text transparent.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select style text transparent.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select style text transparent.png deleted file mode 100644 index 65e0fe0627..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/Nowy folder/screen select style text transparent.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/select mode header with text.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/select mode header with text.png deleted file mode 100644 index 2eed5bb301..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/select mode header with text.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/select music header with text.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/select music header with text.png deleted file mode 100644 index 44f4a4efbd..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/select music header with text.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/headers/select style header with text.png b/_assets/Themes/SMMAX2.0/exported graphics/headers/select style header with text.png deleted file mode 100644 index 9521bb418f..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/headers/select style header with text.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/icon couple.png b/_assets/Themes/SMMAX2.0/exported graphics/icon couple.png deleted file mode 100644 index 7b8728be5e..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/icon couple.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/icon double.png b/_assets/Themes/SMMAX2.0/exported graphics/icon double.png deleted file mode 100644 index bdf172b16c..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/icon double.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/icon single.png b/_assets/Themes/SMMAX2.0/exported graphics/icon single.png deleted file mode 100644 index 38dec832c7..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/icon single.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/icon solo.png b/_assets/Themes/SMMAX2.0/exported graphics/icon solo.png deleted file mode 100644 index 1ca9f5521e..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/icon solo.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/icon versus.png b/_assets/Themes/SMMAX2.0/exported graphics/icon versus.png deleted file mode 100644 index 40d781e56a..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/icon versus.png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/shadow (32bpp).png b/_assets/Themes/SMMAX2.0/exported graphics/shadow (32bpp).png deleted file mode 100644 index 90a8bb65ad..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/shadow (32bpp).png and /dev/null differ diff --git a/_assets/Themes/SMMAX2.0/exported graphics/stepmania (dither).png b/_assets/Themes/SMMAX2.0/exported graphics/stepmania (dither).png deleted file mode 100644 index 7cb028c5bf..0000000000 Binary files a/_assets/Themes/SMMAX2.0/exported graphics/stepmania (dither).png and /dev/null differ diff --git a/_assets/Themes/default/~res/Judgments.psd b/_assets/Themes/default/~res/Judgments.psd index e982f9be71..d9a8a5c0d1 100644 Binary files a/_assets/Themes/default/~res/Judgments.psd and b/_assets/Themes/default/~res/Judgments.psd differ diff --git a/src/EnumHelper.cpp b/src/EnumHelper.cpp index 49e837d33a..dec4665019 100644 --- a/src/EnumHelper.cpp +++ b/src/EnumHelper.cpp @@ -70,7 +70,12 @@ const RString &EnumToString( int iVal, int iMax, const char **szNameArray, auto_ // Maybe we should assert on _Invalid? It seems better to make // the caller check that they're supplying a valid enum value instead of // returning an inconspicuous garbage value (empty string). -Chris - ASSERT_M( iVal >= 0 && (iVal < iMax || iVal == iMax+1), ssprintf("%i, %i, (%s)", iVal, iMax, szNameArray[0]) ); + if (iVal < 0) + FAIL_M(ssprintf("Value %i cannot be negative for enums! Enum hint: %s", iVal, szNameArray[0])); + if (iVal == iMax) + FAIL_M(ssprintf("Value %i cannot be a string with value %i! Enum hint: %s", iVal, iMax, szNameArray[0])); + if (iVal > iMax+1) + FAIL_M(ssprintf("Value %i is past the invalid value %i! Enum hint: %s", iVal, iMax, szNameArray[0])); return *pNameCache[iVal]; } diff --git a/src/NetworkSyncManager.cpp b/src/NetworkSyncManager.cpp index 66a4a1b4de..7373f1eea9 100644 --- a/src/NetworkSyncManager.cpp +++ b/src/NetworkSyncManager.cpp @@ -214,8 +214,9 @@ bool NetworkSyncManager::Connect( const RString& addy, unsigned short port ) LOG->Info( "Beginning to connect" ); NetPlayerClient->create(); // Initialize Socket + LOG->Info( "Calling EzSockets:connect()" ); useSMserver = NetPlayerClient->connect( addy, port ); - + LOG->Info( "Back from ezsockets..." ) return useSMserver; } diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index 01318e7f19..0921924afc 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -207,6 +207,9 @@ bool SMALoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach else if( sValueName=="BACKGROUND" ) out.m_sBackgroundFile = sParams[1]; + + else if( sValueName=="PREVIEW" ) + out.m_sPreviewVidFile = sParams[1]; // Save "#LYRICS" for later, so we can add an internal lyrics tag. else if( sValueName=="LYRICSPATH" ) diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 420f09201f..c55d556137 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -325,6 +325,11 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach out.m_sBackgroundFile = sParams[1]; } + else if( sValueName=="PREVIEWVID" ) + { + out.m_sPreviewVidFile = sParams[1]; + } + else if( sValueName=="JACKET" ) { out.m_sJacketFile = sParams[1]; diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index bbb61227fb..c6dc65a714 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -172,7 +172,8 @@ static void GetTimingTags( vector &lines, const TimingData &timing, boo for (i = 0; i < labels.size(); i++) { LabelSegment *ls = static_cast(labels[i]); - w.Write( ls->GetRow(), ls->GetLabel().c_str() ); + if (!ls->GetLabel().empty()) + w.Write( ls->GetRow(), ls->GetLabel().c_str() ); } w.Finish(); } @@ -222,6 +223,7 @@ static void WriteGlobalTags( RageFile &f, const Song &out ) f.PutLine( ssprintf( "#CREDIT:%s;", SmEscape(out.m_sCredit).c_str() ) ); f.PutLine( ssprintf( "#BANNER:%s;", SmEscape(out.m_sBannerFile).c_str() ) ); f.PutLine( ssprintf( "#BACKGROUND:%s;", SmEscape(out.m_sBackgroundFile).c_str() ) ); + f.PutLine( ssprintf( "#PREVIEWVID:%s;", SmEscape(out.m_sPreviewVidFile).c_str() ) ); f.PutLine( ssprintf( "#JACKET:%s;", SmEscape(out.m_sJacketFile).c_str() ) ); f.PutLine( ssprintf( "#CDIMAGE:%s;", SmEscape(out.m_sCDFile).c_str() ) ); f.PutLine( ssprintf( "#DISCIMAGE:%s;", SmEscape(out.m_sDiscFile).c_str() ) ); diff --git a/src/PlayerOptions.cpp b/src/PlayerOptions.cpp index 3be8fb927d..ee936cd47c 100644 --- a/src/PlayerOptions.cpp +++ b/src/PlayerOptions.cpp @@ -61,7 +61,7 @@ void PlayerOptions::Approach( const PlayerOptions& other, float fDeltaSeconds ) APPROACH( fTimeSpacing ); APPROACH( fScrollSpeed ); - //APPROACH( fMaxScrollBPM ); + //APPROACH( fMaxScrollBPM ); // if uncommented, causes crashes. -aj fapproach( m_fScrollBPM, other.m_fScrollBPM, fDeltaSeconds * other.m_SpeedfScrollBPM*150 ); for( int i=0; i - *
  • "experimental: pre-release versions.
  • - * - *
  • "private beta v0.0": hmm, think about it for a second there.
  • - * - *
  • ==Public versions== - * - "v0.0 alpha #": Alpha versions (bug squashing, polishing until we reach beta) - * - "v0.0 beta #": Beta versions (bug squashing, _focus_ is on high priority bugs) - * - "v0.0 rc#": Release Candidates (if there are no problems, move on to final) - * - "v0.0": Final Releases + *
  • "v5.0 alpha #": Alpha versions (bug squashing, polishing until we reach beta)
  • + *
  • "v5.0 beta #": Beta versions (bug squashing, _focus_ is on high priority bugs)
  • + *
  • "v5.0 rc#": Release Candidates (if there are no problems, move on to final)
  • + *
  • "v5.0.0": Final Releases
  • * */ #ifndef PRODUCT_VER_BARE diff --git a/src/ProductInfo.inc b/src/ProductInfo.inc index fc3e2ab1ab..0bc8d97ce1 100644 --- a/src/ProductInfo.inc +++ b/src/ProductInfo.inc @@ -1,12 +1,14 @@ ; Included by the NSIS installer script ; Don't forget to also change ProductInfo.h! +; a friendly string to refer to the product !define PRODUCT_FAMILY "StepMania" -; see ProductInfo.h for use descriptions -!define PRODUCT_ID "StepMania" +; PRODUCT_ID must NOT be "StepMania" unless you want people to uninstall 3.9 +; when they install StepMania 5. +!define PRODUCT_ID "StepMania 5" !define PRODUCT_VER "v5.0 alpha 1" -!define PRODUCT_DISPLAY "${PRODUCT_ID} ${PRODUCT_VER}" +!define PRODUCT_DISPLAY "${PRODUCT_FAMILY} ${PRODUCT_VER}" !define PRODUCT_BITMAP "sm5" !define PRODUCT_URL "http://www.stepmania.com/" diff --git a/src/RageSurface_Load_BMP.cpp b/src/RageSurface_Load_BMP.cpp index 64fc660740..686beb9721 100644 --- a/src/RageSurface_Load_BMP.cpp +++ b/src/RageSurface_Load_BMP.cpp @@ -41,7 +41,6 @@ static RageSurfaceUtils::OpenResult LoadBMP( RageFile &f, RageSurface *&img, RSt uint32_t iDataOffset = read_u32_le( f, sError ); uint32_t iHeaderSize = read_u32_le( f, sError ); - uint32_t iWidth, iHeight, iPlanes, iBPP, iCompression = COMP_BI_RGB, iColors = 0; if( iHeaderSize == 12 ) { diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 7fdd2110ec..9cf82c20ed 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -198,8 +198,8 @@ void ScreenEdit::InitEditMappings() // v = course attack menu m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_ATTACK_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cv); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADD_COURSE_MODS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cm); - m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Ch); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_ADD_COURSE_MODS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Co); + m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu); // F1 = Show help popup m_EditMappingsDeviceInput.button [EDIT_BUTTON_OPEN_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1); @@ -534,7 +534,7 @@ static MenuDef g_MainMenu( MenuRowDef( ScreenEdit::edit_song_info, "Edit song info", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::edit_steps_information, "Edit steps information", true, EditMode_Practice, true, true, 0, NULL ), MenuRowDef( ScreenEdit::edit_timing_data, "Edit Timing Data", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::view_steps_data, "View steps data", true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef( ScreenEdit::view_steps_data, "View steps data", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::play_preview_music, "Play preview music", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef( ScreenEdit::exit, "Exit Edit Mode", true, EditMode_Practice, true, true, 0, NULL ) ); @@ -3642,38 +3642,38 @@ inline int ScreenEdit::GetRow() void ScreenEdit::DisplayTimingMenu() { - float fBeat = GetBeat(); + int row = GetRow(); TimingData &pTime = GetAppropriateTiming(); - bool bHasSpeedOnThisRow = pTime.GetSpeedSegmentAtBeat( fBeat )->GetBeat() == fBeat; + bool bHasSpeedOnThisRow = pTime.GetSpeedSegmentAtRow( row )->GetRow() == row; // bool bIsSelecting = ( (m_NoteFieldEdit.m_iEndMarker != -1) && (m_NoteFieldEdit.m_iBeginMarker != -1) ); g_TimingDataInformation.rows[beat_0_offset].SetOneUnthemedChoice( ssprintf("%.6f", pTime.m_fBeat0OffsetInSeconds) ); - g_TimingDataInformation.rows[bpm].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetBPMAtBeat( fBeat ) ) ); - g_TimingDataInformation.rows[stop].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetStopAtBeat( fBeat ) ) ) ; - g_TimingDataInformation.rows[delay].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetDelayAtBeat( fBeat ) ) ); + g_TimingDataInformation.rows[bpm].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetBPMAtRow( row ) ) ); + g_TimingDataInformation.rows[stop].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetStopAtRow( row ) ) ) ; + g_TimingDataInformation.rows[delay].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetDelayAtRow( row ) ) ); g_TimingDataInformation.rows[time_signature].SetOneUnthemedChoice( ssprintf( "%d / %d", - pTime.GetTimeSignatureSegmentAtBeat(fBeat)->GetNum(), - pTime.GetTimeSignatureSegmentAtBeat(fBeat)->GetDen() + pTime.GetTimeSignatureSegmentAtRow(row)->GetNum(), + pTime.GetTimeSignatureSegmentAtRow(row)->GetDen() ) ); - g_TimingDataInformation.rows[label].SetOneUnthemedChoice( pTime.GetLabelAtBeat( fBeat ).c_str() ); - g_TimingDataInformation.rows[tickcount].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTickcountAtBeat( fBeat ) ) ); + g_TimingDataInformation.rows[label].SetOneUnthemedChoice( pTime.GetLabelAtRow( row ).c_str() ); + g_TimingDataInformation.rows[tickcount].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTickcountAtRow( row ) ) ); g_TimingDataInformation.rows[combo].SetOneUnthemedChoice( ssprintf("%d / %d", - pTime.GetComboAtBeat( fBeat ), - pTime.GetMissComboAtBeat( fBeat ) ) ); - g_TimingDataInformation.rows[warp].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetWarpAtBeat( fBeat ) ) ); - g_TimingDataInformation.rows[speed_percent].SetOneUnthemedChoice( bHasSpeedOnThisRow ? ssprintf("%.6f", pTime.GetSpeedPercentAtBeat( fBeat ) ) : "---" ); - g_TimingDataInformation.rows[speed_wait].SetOneUnthemedChoice( bHasSpeedOnThisRow ? ssprintf("%.6f", pTime.GetSpeedWaitAtBeat( fBeat ) ) : "---" ); + pTime.GetComboAtRow( row ), + pTime.GetMissComboAtRow( row ) ) ); + g_TimingDataInformation.rows[warp].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetWarpAtRow( row ) ) ); + g_TimingDataInformation.rows[speed_percent].SetOneUnthemedChoice( bHasSpeedOnThisRow ? ssprintf("%.6f", pTime.GetSpeedPercentAtRow( row ) ) : "---" ); + g_TimingDataInformation.rows[speed_wait].SetOneUnthemedChoice( bHasSpeedOnThisRow ? ssprintf("%.6f", pTime.GetSpeedWaitAtRow( row ) ) : "---" ); - RString starting = ( pTime.GetSpeedModeAtBeat( fBeat ) == 1 ? "Seconds" : "Beats" ); + RString starting = ( pTime.GetSpeedModeAtRow( row ) == 1 ? "Seconds" : "Beats" ); g_TimingDataInformation.rows[speed_mode].SetOneUnthemedChoice( starting.c_str() ); - g_TimingDataInformation.rows[scroll].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetScrollAtBeat( fBeat ) ) ); - g_TimingDataInformation.rows[fake].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetFakeAtBeat( fBeat ) ) ); + g_TimingDataInformation.rows[scroll].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetScrollAtRow( row ) ) ); + g_TimingDataInformation.rows[fake].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetFakeAtRow( row ) ) ); // g_TimingDataInformation.rows[speed_percent].bEnabled = !bIsSelecting; g_TimingDataInformation.rows[speed_wait].bEnabled = bHasSpeedOnThisRow; diff --git a/src/ScreenHowToPlay.cpp b/src/ScreenHowToPlay.cpp index 18fd594c1c..8f97cac451 100644 --- a/src/ScreenHowToPlay.cpp +++ b/src/ScreenHowToPlay.cpp @@ -145,9 +145,9 @@ void ScreenHowToPlay::Init() const Style* pStyle = GAMESTATE->GetCurrentStyle(); - Steps *pSteps = SongUtil::GetClosestNotes( &m_Song, pStyle->m_StepsType, Difficulty_Beginner ); + Steps *pSteps = SongUtil::GetClosestNotes( &m_Song, pStyle->m_StepsType, Difficulty_Beginner ); ASSERT_M( pSteps != NULL, ssprintf("No playable steps of StepsType '%s' for ScreenHowToPlay", StringConversion::ToString(pStyle->m_StepsType).c_str()) ); - + pSteps->m_Timing.TidyUpData(); NoteData tempNoteData; pSteps->GetNoteData( tempNoteData ); @@ -157,7 +157,7 @@ void ScreenHowToPlay::Init() GAMESTATE->m_pCurSteps[PLAYER_1].Set(pSteps); GAMESTATE->m_bGameplayLeadIn.Set( false ); GAMESTATE->m_pPlayerState[PLAYER_1]->m_PlayerController = PC_AUTOPLAY; - + m_Player->Init( "Player", GAMESTATE->m_pPlayerState[PLAYER_1], diff --git a/src/ScreenTitleMenu.cpp b/src/ScreenTitleMenu.cpp index 244df3e619..5c2cce0b5a 100644 --- a/src/ScreenTitleMenu.cpp +++ b/src/ScreenTitleMenu.cpp @@ -43,7 +43,9 @@ static LocalizedString THEME_ ("ScreenTitleMenu","Theme"); static LocalizedString ANNOUNCER_ ("ScreenTitleMenu","Announcer"); void ScreenTitleMenu::Input( const InputEventPlus &input ) { +#if defined(DEBUG) LOG->Trace( "ScreenTitleMenu::Input( %d-%d )", input.DeviceI.device, input.DeviceI.button ); // debugging gameport joystick problem +#endif if( m_In.IsTransitioning() || m_Cancel.IsTransitioning() ) /* not m_Out */ return; diff --git a/src/Song.cpp b/src/Song.cpp index dad57461b9..527bc156bc 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 207; +const int FILE_CACHE_VERSION = 208; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; @@ -588,211 +588,208 @@ void Song::TidyUpData( bool fromCache, bool duringCache ) // is the CDTitle. CHECKPOINT_M( "Looking for images..." ); - // HACK: DWI/KSF files require searching the file system for this info. - RString extension = GetExtension(this->m_sSongFileName); - extension.MakeLower(); - - if( extension == "dwi" || extension == "ksf" || !duringCache ) - { - // First, check the file name for hints. - if( !HasBanner() ) - { - /* If a nonexistant banner file is specified, and we can't find a - * replacement, don't wipe out the old value. */ - // m_sBannerFile = ""; + if( !fromCache ) + { - // find an image with "banner" in the file name - vector arrayPossibleBanners; - GetImageDirListing( m_sSongDir + "*banner*", arrayPossibleBanners ); + // First, check the file name for hints. + if( !HasBanner() ) + { + /* If a nonexistant banner file is specified, and we can't find a + * replacement, don't wipe out the old value. */ + //m_sBannerFile = ""; - /* Some people do things differently for the sake of being different. - * Don't match eg. abnormal, numbness. */ - GetImageDirListing( m_sSongDir + "* BN", arrayPossibleBanners ); + // find an image with "banner" in the file name + vector arrayPossibleBanners; + GetImageDirListing( m_sSongDir + "*banner*", arrayPossibleBanners ); - if( !arrayPossibleBanners.empty() ) - m_sBannerFile = arrayPossibleBanners[0]; - } + /* Some people do things differently for the sake of being different. + * Don't match eg. abnormal, numbness. */ + GetImageDirListing( m_sSongDir + "* BN", arrayPossibleBanners ); - if( !HasBackground() ) - { - // m_sBackgroundFile = ""; + if( !arrayPossibleBanners.empty() ) + m_sBannerFile = arrayPossibleBanners[0]; + } - // find an image with "bg" or "background" in the file name - vector arrayPossibleBGs; - GetImageDirListing( m_sSongDir + "*background*", arrayPossibleBGs ); - // don't match e.g. "subgroup", "hobgoblin", etc. - GetImageDirListing( m_sSongDir + "*bg", arrayPossibleBGs ); - if( !arrayPossibleBGs.empty() ) - m_sBackgroundFile = arrayPossibleBGs[0]; - } + if( !HasBackground() ) + { + //m_sBackgroundFile = ""; - if( !HasJacket() ) - { - // find an image with "jacket" or "albumart" in the filename. - vector arrayPossibleJackets; - GetImageDirListing( m_sSongDir + "jk_*", arrayPossibleJackets ); - GetImageDirListing( m_sSongDir + "*jacket*", arrayPossibleJackets ); - GetImageDirListing( m_sSongDir + "*albumart*", arrayPossibleJackets ); - if( !arrayPossibleJackets.empty() ) - m_sJacketFile = arrayPossibleJackets[0]; - } + // find an image with "bg" or "background" in the file name + vector arrayPossibleBGs; + GetImageDirListing( m_sSongDir + "*background*", arrayPossibleBGs ); + // don't match e.g. "subgroup", "hobgoblin", etc. + GetImageDirListing( m_sSongDir + "*bg", arrayPossibleBGs ); + if( !arrayPossibleBGs.empty() ) + m_sBackgroundFile = arrayPossibleBGs[0]; + } - if( !HasCDImage() ) - { - // CD image, a la ddr 1st-3rd (not to be confused with CDTitles) - // find an image with "-cd" at the end of the filename. - vector arrayPossibleCDImages; - GetImageDirListing( m_sSongDir + "*-cd", arrayPossibleCDImages ); - if( !arrayPossibleCDImages.empty() ) - m_sCDFile = arrayPossibleCDImages[0]; - } + if( !HasJacket() ) + { + // find an image with "jacket" or "albumart" in the filename. + vector arrayPossibleJackets; + GetImageDirListing( m_sSongDir + "jk_*", arrayPossibleJackets ); + GetImageDirListing( m_sSongDir + "*jacket*", arrayPossibleJackets ); + GetImageDirListing( m_sSongDir + "*albumart*", arrayPossibleJackets ); + if( !arrayPossibleJackets.empty() ) + m_sJacketFile = arrayPossibleJackets[0]; + } - if( !HasDisc() ) - { - // a rectangular graphic, not to be confused with CDImage above. - vector arrayPossibleDiscImages; - GetImageDirListing( m_sSongDir + "* disc", arrayPossibleDiscImages ); - GetImageDirListing( m_sSongDir + "* title", arrayPossibleDiscImages ); - if( !arrayPossibleDiscImages.empty() ) - m_sDiscFile = arrayPossibleDiscImages[0]; - } + if( !HasCDImage() ) + { + // CD image, a la ddr 1st-3rd (not to be confused with CDTitles) + // find an image with "-cd" at the end of the filename. + vector arrayPossibleCDImages; + GetImageDirListing( m_sSongDir + "*-cd", arrayPossibleCDImages ); + if( !arrayPossibleCDImages.empty() ) + m_sCDFile = arrayPossibleCDImages[0]; + } - if( !HasCDTitle() ) - { - // find an image with "cdtitle" in the file name - vector arrayPossibleCDTitles; - GetImageDirListing( m_sSongDir + "*cdtitle*", arrayPossibleCDTitles ); - if( !arrayPossibleCDTitles.empty() ) - m_sCDTitleFile = arrayPossibleCDTitles[0]; - } + if( !HasDisc() ) + { + // a rectangular graphic, not to be confused with CDImage above. + vector arrayPossibleDiscImages; + GetImageDirListing( m_sSongDir + "* disc", arrayPossibleDiscImages ); + GetImageDirListing( m_sSongDir + "* title", arrayPossibleDiscImages ); + if( !arrayPossibleDiscImages.empty() ) + m_sDiscFile = arrayPossibleDiscImages[0]; + } - if( !HasLyrics() ) - { - // Check if there is a lyric file in here - vector arrayLyricFiles; - GetDirListing(m_sSongDir + RString("*.lrc"), arrayLyricFiles ); - if( !arrayLyricFiles.empty() ) - m_sLyricsFile = arrayLyricFiles[0]; - } + if( !HasCDTitle() ) + { + // find an image with "cdtitle" in the file name + vector arrayPossibleCDTitles; + GetImageDirListing( m_sSongDir + "*cdtitle*", arrayPossibleCDTitles ); + if( !arrayPossibleCDTitles.empty() ) + m_sCDTitleFile = arrayPossibleCDTitles[0]; + } - /* Now, For the images we still haven't found, - * look at the image dimensions of the remaining unclassified images. */ - vector arrayImages; - GetImageDirListing( m_sSongDir + "*", arrayImages ); + if( !HasLyrics() ) + { + // Check if there is a lyric file in here + vector arrayLyricFiles; + GetDirListing(m_sSongDir + RString("*.lrc"), arrayLyricFiles ); + if( !arrayLyricFiles.empty() ) + m_sLyricsFile = arrayLyricFiles[0]; + } - for( unsigned i=0; i arrayImages; + GetImageDirListing( m_sSongDir + "*", arrayImages ); - // ignore DWI "-char" graphics - RString sLower = arrayImages[i]; - sLower.MakeLower(); - if( BlacklistedImages.find(sLower) != BlacklistedImages.end() ) - continue; // skip + for( unsigned i=0; iUserLog( "Graphic file", sPath, "couldn't be loaded: %s", error.c_str() ); - continue; - } + RString sPath = m_sSongDir + arrayImages[i]; - const int width = img->w; - const int height = img->h; - delete img; + // We only care about the dimensions. + RString error; + RageSurface *img = RageSurfaceUtils::LoadFile( sPath, error, true ); + if( !img ) + { + LOG->UserLog( "Graphic file", sPath, "couldn't be loaded: %s", error.c_str() ); + continue; + } - if( !HasBackground() && width >= 320 && height >= 240 ) - { - m_sBackgroundFile = arrayImages[i]; - continue; - } + const int width = img->w; + const int height = img->h; + delete img; - if( !HasBanner() && 100<=width && width<=320 && 50<=height && height<=240 ) - { - m_sBannerFile = arrayImages[i]; - continue; - } + if( !HasBackground() && width >= 320 && height >= 240 ) + { + m_sBackgroundFile = arrayImages[i]; + continue; + } - /* Some songs have overlarge banners. Check if the ratio is reasonable - * (over 2:1; usually over 3:1), and large (not a cdtitle). */ - if( !HasBanner() && width > 200 && float(width) / height > 2.0f ) - { - m_sBannerFile = arrayImages[i]; - continue; - } + if( !HasBanner() && 100<=width && width<=320 && 50<=height && height<=240 ) + { + m_sBannerFile = arrayImages[i]; + continue; + } - /* Agh. DWI's inline title images are triggering this, resulting in - * kanji, etc., being used as a CDTitle for songs with none. Some - * sample data from random incarnations: - * 42x50 35x50 50x50 144x49 - * It looks like ~50 height is what people use to align to DWI's font. - * - * My tallest CDTitle is 44. Let's cut off in the middle and hope for - * the best. -(who? -aj) */ - /* The proper size of a CDTitle is 64x48 or sometihng. Simfile artists - * typically don't give a shit about this (see Cetaka's fucking banner - * -sized CDTitle). This is also subverted in certain designs (beta - * Mungyodance 3 simfiles, for instance, used the CDTitle to hold - * various information about the song in question). As it stands, - * I'm keeping this code until I figure out wtf to do -aj - */ - if( !HasCDTitle() && width<=100 && height<=48 ) - { - m_sCDTitleFile = arrayImages[i]; - continue; - } + /* Some songs have overlarge banners. Check if the ratio is reasonable + * (over 2:1; usually over 3:1), and large (not a cdtitle). */ + if( !HasBanner() && width > 200 && float(width) / height > 2.0f ) + { + m_sBannerFile = arrayImages[i]; + continue; + } - // Jacket files typically have the same width and height. - if( !HasJacket() && width == height ) - { - m_sJacketFile = arrayImages[i]; - continue; - } + /* Agh. DWI's inline title images are triggering this, resulting in + * kanji, etc., being used as a CDTitle for songs with none. Some + * sample data from random incarnations: + * 42x50 35x50 50x50 144x49 + * It looks like ~50 height is what people use to align to DWI's font. + * + * My tallest CDTitle is 44. Let's cut off in the middle and hope for + * the best. -(who? -aj) */ + /* The proper size of a CDTitle is 64x48 or sometihng. Simfile artists + * typically don't give a shit about this (see Cetaka's fucking banner + * -sized CDTitle). This is also subverted in certain designs (beta + * Mungyodance 3 simfiles, for instance, used the CDTitle to hold + * various information about the song in question). As it stands, + * I'm keeping this code until I figure out wtf to do -aj + */ + if( !HasCDTitle() && width<=100 && height<=48 ) + { + m_sCDTitleFile = arrayImages[i]; + continue; + } - // Disc images are typically rectangular; make sure we have a banner already. - if( !HasDisc() && (width > height) && HasBanner() ) - { - if( arrayImages[i] != m_sBannerFile ) - m_sDiscFile = arrayImages[i]; - continue; - } + // Jacket files typically have the same width and height. + if( !HasJacket() && width == height ) + { + m_sJacketFile = arrayImages[i]; + continue; + } - // CD images are the same as Jackets, typically the same width and height - if( !HasCDImage() && width == height ) - { - m_sCDFile = arrayImages[i]; - continue; - } - } + // Disc images are typically rectangular; make sure we have a banner already. + if( !HasDisc() && (width > height) && HasBanner() ) + { + if( arrayImages[i] != m_sBannerFile ) + m_sDiscFile = arrayImages[i]; + continue; + } - } - + // CD images are the same as Jackets, typically the same width and height + if( !HasCDImage() && width == height ) + { + m_sCDFile = arrayImages[i]; + continue; + } + } + + } + // These will be written to cache, for Song::LoadFromSongDir to use later. m_bHasMusic = HasMusic(); m_bHasBanner = HasBanner(); @@ -807,7 +804,7 @@ void Song::TidyUpData( bool fromCache, bool duringCache ) // If no BGChanges are specified and there are movies in the song directory, then assume // they are DWI style where the movie begins at beat 0. - if( extension == "dwi" || extension == "ksf" || (!HasBGChanges() && !duringCache) ) + if( (!HasBGChanges() && !fromCache) ) { vector arrayPossibleMovies; GetDirListing( m_sSongDir + RString("*.ogv"), arrayPossibleMovies ); @@ -829,10 +826,10 @@ void Song::TidyUpData( bool fromCache, bool duringCache ) /* Don't allow multiple Steps of the same StepsType and Difficulty (except * for edits). We should be able to use difficulty names as unique * identifiers for steps. */ - if( !duringCache ) - { - SongUtil::AdjustDuplicateSteps( this ); - } + if( !fromCache ) + { + SongUtil::AdjustDuplicateSteps( this ); + } } void Song::TranslateTitles() @@ -1276,6 +1273,10 @@ bool Song::HasCDImage() const { return m_sCDFile != "" && IsAFile(GetCDImagePath()); } +bool Song::HasPreviewVid() const +{ + return m_sPreviewVidFile != "" && IsAFile(GetPreviewVidPath()); +} const vector &Song::GetBackgroundChanges( BackgroundLayer bl ) const { @@ -1328,8 +1329,8 @@ vector Song::GetInstrumentTracksToVectorString() const if (this->HasInstrumentTrack(it)) { ret.push_back(InstrumentTrackToString(it) - + "=" - + this->m_sInstrumentTrackFile[it]); + + "=" + + this->m_sInstrumentTrackFile[it]); } } return ret; @@ -1409,6 +1410,11 @@ RString Song::GetCDImagePath() const return GetSongAssetPath( m_sCDFile, m_sSongDir ); } +RString Song::GetPreviewVidPath() const +{ + return GetSongAssetPath( m_sPreviewVidFile, m_sSongDir ); +} + RString Song::GetDisplayMainTitle() const { if(!PREFSMAN->m_bShowNativeLanguage) return GetTranslitMainTitle(); @@ -1701,6 +1707,15 @@ public: lua_pushnil(L); return 1; } + static int GetPreviewVidPath( T* p, lua_State *L ) + { + RString s = p->GetPreviewVidPath(); + if( !s.empty() ) + lua_pushstring(L, s); + else + lua_pushnil(L); + return 1; + } static int GetJacketPath( T* p, lua_State *L ) { RString s = p->GetJacketPath(); @@ -1822,6 +1837,7 @@ public: static int HasMusic( T* p, lua_State *L ) { lua_pushboolean(L, p->HasMusic()); return 1; } static int HasBanner( T* p, lua_State *L ) { lua_pushboolean(L, p->HasBanner()); return 1; } static int HasBackground( T* p, lua_State *L ) { lua_pushboolean(L, p->HasBackground()); return 1; } + static int HasPreviewVid( T* p, lua_State *L ) { lua_pushboolean(L, p->HasPreviewVid()); return 1; } static int HasJacket( T* p, lua_State *L ) { lua_pushboolean(L, p->HasJacket()); return 1; } static int HasDisc( T* p, lua_State *L ) { lua_pushboolean(L, p->HasDisc()); return 1; } static int HasCDImage( T* p, lua_State *L ) { lua_pushboolean(L, p->HasCDImage()); return 1; } @@ -1978,6 +1994,8 @@ public: ADD_METHOD( IsDisplayBpmConstant ); ADD_METHOD( IsDisplayBpmRandom ); ADD_METHOD( ShowInDemonstrationAndRanking ); + ADD_METHOD( HasPreviewVid ); + ADD_METHOD( GetPreviewVidPath ); } }; diff --git a/src/Song.h b/src/Song.h index fcf8d957d8..57f62bf8df 100644 --- a/src/Song.h +++ b/src/Song.h @@ -238,6 +238,7 @@ public: RString m_sLyricsFile; RString m_sBackgroundFile; RString m_sCDTitleFile; + RString m_sPreviewVidFile; AttackArray m_Attacks; vector m_sAttackString; @@ -251,6 +252,7 @@ public: RString GetLyricsPath() const; RString GetBackgroundPath() const; RString GetCDTitlePath() const; + RString GetPreviewVidPath() const; // For loading only: bool m_bHasMusic, m_bHasBanner, m_bHasBackground; @@ -273,6 +275,7 @@ public: bool HasBGChanges() const; bool HasLyrics() const; bool HasAttacks() const; + bool HasPreviewVid() const; bool Matches(RString sGroup, RString sSong) const; diff --git a/src/StepMania-net2008.vcproj b/src/StepMania-net2008.vcproj index f0dd06e569..5f06512c5c 100644 --- a/src/StepMania-net2008.vcproj +++ b/src/StepMania-net2008.vcproj @@ -336,7 +336,7 @@ SHOW_TRAINING ("WheelNotifyIcon","ShowTraining"); static ThemeMetric BLINK_BEST_ICON ("WheelNotifyIcon","BlinkPlayersBest"); +static ThemeMetric NUM_ICONS_TO_SHOW ("WheelNotifyIcon","NumIconsToShow"); WheelNotifyIcon::WheelNotifyIcon() { @@ -57,9 +58,7 @@ void WheelNotifyIcon::SetFlags( Flags flags ) m_vIconsToShow.push_back( empty ); } - // crop to most important 2 - // todo: Let themer handle this? -aj - m_vIconsToShow.resize( min(m_vIconsToShow.size(),2u) ); + m_vIconsToShow.resize( min(m_vIconsToShow.size(), static_cast(NUM_ICONS_TO_SHOW)) ); // Broadcast Set message so items can react. (futures) -aj //Message msg("Set"); diff --git a/src/arch/ArchHooks/ArchHooks_Win32.cpp b/src/arch/ArchHooks/ArchHooks_Win32.cpp index 230913b87d..b6945bc29a 100644 --- a/src/arch/ArchHooks/ArchHooks_Win32.cpp +++ b/src/arch/ArchHooks/ArchHooks_Win32.cpp @@ -19,7 +19,7 @@ static bool g_bIsMultipleInstance = false; void InvalidParameterHandler( const wchar_t *szExpression, const wchar_t *szFunction, const wchar_t *szFile, unsigned int iLine, uintptr_t pReserved ) { - FAIL_M( "Invalid parameter" ); //TODO: Make this more informative + FAIL_M( "Invalid parameter" ); //TODO: Make this more informative } #endif diff --git a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp index ba00dbacb0..c81318a737 100644 --- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp +++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp @@ -28,6 +28,15 @@ namespace avcodec #endif }; +/* XXX: FF_B_TYPE was previously a numeric macro, but newer versions define + * it as as a member of the AVPictureType enum in avutil. Bring it under + * our 'avcodec' namespace explicitly. */ + +#if FF_API_OLD_IMAGE_NAMES +#undef FF_B_TYPE +#define FF_B_TYPE avcodec::AV_PICTURE_TYPE_B +#endif + int URLRageFile_open( avcodec::URLContext *h, const char *filename, int flags ); int URLRageFile_read( avcodec::URLContext *h, unsigned char *buf, int size ); int URLRageFile_close( avcodec::URLContext *h ); @@ -672,16 +681,19 @@ int URLRageFile_read( avcodec::URLContext *h, unsigned char *buf, int size ) return f->Read( buf, size ); } -#if defined(MACOSX) || defined(_MSC_VER) // still using older ffmpeg versions - int URLRageFile_write( avcodec::URLContext *h, unsigned char *buf, int size ) -#else // assume ffmpeg 0.6 on *nix - int URLRageFile_write( avcodec::URLContext *h, unsigned char *buf, int size ) -#endif +int URLRageFile_write( avcodec::URLContext *h, const unsigned char *buf, int size ) { RageFileBasic *f = (RageFileBasic *) h->priv_data; return f->Write( buf, size ); } +/* Some avcodecs want unsigned char, others want const. Make everyone happy + * by providing a const overload and letting the compiler figure it out. */ +int URLRageFile_write( avcodec::URLContext *h, unsigned char *buf, int size ) +{ + return URLRageFile_write( h, (const unsigned char*)buf, size ); +} + // sm4svn has it as: #if defined(MACOSX) avcodec::offset_t URLRageFile_seek( avcodec::URLContext *h, avcodec::offset_t pos, int whence ) @@ -706,24 +718,21 @@ int URLRageFile_close( avcodec::URLContext *h ) return 0; } +/* TODO: URLProtocol is deprecated in newer releases. Either pick a + * version of ffmpeg to use statically, or migrate to AVIOContext. */ static avcodec::URLProtocol RageProtocol = { - "rage", - URLRageFile_open, - URLRageFile_read, - URLRageFile_write, - URLRageFile_seek, - URLRageFile_close, - // why were these two nulls added? -aj - // I added them because the last api of ffmpeg spects them to be, you could - // avoid them and I think it could result in compiler warnings, but the - // correct code is theese NULLS to be there. - howl (quote from - // http://www.stepmania.com/forums/showpost.php?p=168832&postcount=37) -#if !defined(MACOSX) - NULL, - NULL, -#endif - NULL + "rage", /* name */ + URLRageFile_open, /* url_open() */ + URLRageFile_read, /* url_read() */ + URLRageFile_write, /* url_write() */ + URLRageFile_seek, /* url_seek() */ + URLRageFile_close /* url_close() */ + + /* Since we're a static struct, all other struct data is zeroed. + * This is intentional: ffmpeg has several different URLProtocol + * structs floating around, but we don't care about any members + * except the above. Please ignore the compiler warning. -- vyhd */ }; void MovieTexture_FFMpeg::RegisterProtocols() diff --git a/src/archutils/Win32/WindowsResources.rc b/src/archutils/Win32/WindowsResources.rc index 5cb162619f..1fcf1aa93a 100644 --- a/src/archutils/Win32/WindowsResources.rc +++ b/src/archutils/Win32/WindowsResources.rc @@ -182,8 +182,8 @@ IDI_ICON1 ICON "smzip.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 5,0,0,5 - PRODUCTVERSION 5,0,0,5 + FILEVERSION 5,0,0,6 + PRODUCTVERSION 5,0,0,6 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -200,12 +200,12 @@ BEGIN BEGIN VALUE "CompanyName", "StepMania Team \n http://www.stepmania.com/" VALUE "FileDescription", "StepMania" - VALUE "FileVersion", "5, 0, 0, 5" - VALUE "InternalName", "sm-ssc v1.3.2" + VALUE "FileVersion", "5, 0, 0, 6" + VALUE "InternalName", "sm-ssc v1.3.2a" VALUE "LegalCopyright", "Copyright 2001-2012" VALUE "OriginalFilename", "StepMania.exe" VALUE "ProductName", "StepMania" - VALUE "ProductVersion", "5, 0, 0, 5" + VALUE "ProductVersion", "5, 0, 0, 6" END END BLOCK "VarFileInfo"