diff --git a/OpenTaiko/src/Common/CSkin.cs b/OpenTaiko/src/Common/CSkin.cs index c830a5ad..53dd2d6b 100644 --- a/OpenTaiko/src/Common/CSkin.cs +++ b/OpenTaiko/src/Common/CSkin.cs @@ -764,8 +764,15 @@ internal class CSkin : IDisposable { /// 3. System/ (従来互換) /// public void ReloadSkinPaths() { - #region [ まず System/*** をenumerateする ] + #region [ Enumerate System ] + if (!Directory.Exists(strSystemSkinRoot)) + throw new DirectoryNotFoundException("OpenTaiko could not find the System folder, which contains the skin(s) needed to load the game."); + string[] tempSkinSubfolders = System.IO.Directory.GetDirectories(strSystemSkinRoot, "*"); + + if (tempSkinSubfolders.Length == 0) + throw new DirectoryNotFoundException("OpenTaiko found the System folder, but could not find any skin(s) to load."); + strSystemSkinSubfolders = new string[tempSkinSubfolders.Length]; int size = 0; for (int i = 0; i < tempSkinSubfolders.Length; i++) { diff --git a/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs b/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs index 18137e3d..2c783ef0 100644 --- a/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs +++ b/OpenTaiko/src/Stages/01.StartUp/TextureLoader.cs @@ -142,7 +142,6 @@ class TextureLoader { #endregion #region 1_タイトル画面 - //Title_Background = TxC(TITLE + @$"Background.png"); Entry_Bar = TxC(TITLE + @$"Entry_Bar.png"); Entry_Bar_Text = TxC(TITLE + @$"Entry_Bar_Text.png"); @@ -153,9 +152,6 @@ class TextureLoader { Banapas_Load_Clear[0] = TxC(TITLE + @$"Banapas_Load_Clear.png"); Banapas_Load_Clear[1] = TxC(TITLE + @$"Banapas_Load_Clear_Anime.png"); - Banapas_Load_Failure[0] = TxC(TITLE + @$"Banapas_Load_Failure.png"); - Banapas_Load_Failure[1] = TxC(TITLE + @$"Banapas_Load_Clear_Anime.png"); - Entry_Player[0] = TxC(TITLE + @$"Entry_Player.png"); Entry_Player[1] = TxC(TITLE + @$"Entry_Player_Select_Bar.png"); Entry_Player[2] = TxC(TITLE + @$"Entry_Player_Select.png"); @@ -196,7 +192,6 @@ class TextureLoader { SongSelect_Coin_Slot[2] = TxC(SONGSELECT + @$"Coin_Slot_4P.png"); SongSelect_Coin_Slot[3] = TxC(SONGSELECT + @$"Coin_Slot_5P.png"); - SongSelect_Auto = TxC(SONGSELECT + @$"Auto.png"); SongSelect_Level = TxC(SONGSELECT + @$"Level.png"); SongSelect_Branch = TxC(SONGSELECT + @$"Branch.png"); SongSelect_Branch_Text = TxC(SONGSELECT + @$"Branch_Text.png"); @@ -434,10 +429,6 @@ class TextureLoader { #endregion - #region Mob - - #endregion - #region Taiko Taiko_Background = new CTexture[12]; @@ -707,19 +698,6 @@ class TextureLoader { #endregion - #region ClearFailed - - Failed_Game = TxC(GAME + FAILED + @$"Game.png"); - Failed_Stage = TxC(GAME + FAILED + @$"Stage.png"); - - #endregion - - #region Runner - - //Runner = TxC(GAME + RUNNER + @$"0.png"); - - #endregion - #region DanC DanC_Background = TxC(GAME + DANC + @$"Background.png"); @@ -947,10 +925,6 @@ class TextureLoader { #endregion - #region 7_終了画面 - //Exit_Background = TxC(EXIT + @$"Background.png"); - #endregion - #region 7_AIResults Result_AIBattle_Panel_AI = TxC(RESULT + @$"AIBattle{Path.DirectorySeparatorChar}Panel_AI.png"); diff --git a/OpenTaiko/src/Stages/02.Title/CStageタイトル.cs b/OpenTaiko/src/Stages/02.Title/CStageタイトル.cs index a6615e77..e9f7ecdb 100644 --- a/OpenTaiko/src/Stages/02.Title/CStageタイトル.cs +++ b/OpenTaiko/src/Stages/02.Title/CStageタイトル.cs @@ -181,7 +181,7 @@ internal class CStageタイトル : CStage { */ // 1st step (Save file loading) - if (!bSaveIsLoading && !bSaveFailedToLoad) { + if (!bSaveIsLoading) { if (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.Decide) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed)) { @@ -341,7 +341,7 @@ internal class CStageタイトル : CStage { if (bSaveFileLoaded == false) { #region [ Save Loading ] - if (!bSaveIsLoading && !bSaveFailedToLoad) { + if (!bSaveIsLoading) { OpenTaiko.Tx.Entry_Bar.t2D描画(0, 0); if (this.ctコインイン待機.CurrentValue <= 255) @@ -394,26 +394,6 @@ internal class CStageタイトル : CStage { } } - if (bSaveFailedToLoad) { - OpenTaiko.Tx.Tile_Black.Opacity = this.ctSaveLoadingFailed.CurrentValue <= 1000 ? 128 : 128 - (this.ctSaveLoadingFailed.CurrentValue - 1000); - - for (int i = 0; i < OpenTaiko.Skin.Resolution[0] / OpenTaiko.Tx.Tile_Black.szTextureSize.Width + 1; i++) - for (int j = 0; j < OpenTaiko.Skin.Resolution[1] / OpenTaiko.Tx.Tile_Black.szTextureSize.Height + 1; j++) - OpenTaiko.Tx.Tile_Black.t2D描画(i * OpenTaiko.Tx.Tile_Black.szTextureSize.Width, j * OpenTaiko.Tx.Tile_Black.szTextureSize.Height); - - if (!OpenTaiko.Skin.soundError.bPlayed) - OpenTaiko.Skin.soundError.tPlay(); - - int count = this.ctSaveLoadingFailed.CurrentValue; - OpenTaiko.Tx.Banapas_Load_Failure[0].Opacity = count >= 872 ? 255 - (count - 872) * 2 : count * 2; - OpenTaiko.Tx.Banapas_Load_Failure[0].vcScaleRatio.Y = count <= 100 ? count * 0.01f : 1.0f; - OpenTaiko.Tx.Banapas_Load_Failure[0].t2D描画(0, 0); - - if (ctSaveLoadingFailed.CurrentValue >= 1128) { - bSaveFailedToLoad = false; - OpenTaiko.Skin.soundError.bPlayed = false; - } - } } else { if (bSaveIsLoading) { OpenTaiko.Tx.Tile_Black.Opacity = this.ctSaveLoaded.CurrentValue <= 2972 ? 128 : 128 - (this.ctSaveLoaded.CurrentValue - 2972); @@ -941,7 +921,6 @@ internal class CStageタイトル : CStage { this.ctBarMove.CurrentValue = 250; this.bSaveIsLoading = false; - this.bSaveFailedToLoad = false; this.bプレイヤーエントリー = false; this.bプレイヤーエントリー決定 = false; this.bモード選択 = false; @@ -982,7 +961,6 @@ internal class CStageタイトル : CStage { private int usedMenusCount; private bool bSaveIsLoading; - private bool bSaveFailedToLoad; private bool bプレイヤーエントリー; private bool bプレイヤーエントリー決定; private bool bモード選択; diff --git a/OpenTaiko/src/Stages/05.SongSelect/CActSelectPreimageパネル.cs b/OpenTaiko/src/Stages/05.SongSelect/CActSelectPreimageパネル.cs index 5a3c03ba..dc64ea5b 100644 --- a/OpenTaiko/src/Stages/05.SongSelect/CActSelectPreimageパネル.cs +++ b/OpenTaiko/src/Stages/05.SongSelect/CActSelectPreimageパネル.cs @@ -76,10 +76,11 @@ internal class CActSelectPreimageパネル : CActivity { float xRatio = width / (float)this.rCurrentlyDisplayedPreimage.sz画像サイズ.Width; float yRatio = height / (float)this.rCurrentlyDisplayedPreimage.sz画像サイズ.Height; + float bestRatio = Math.Min(xRatio, yRatio); this.rCurrentlyDisplayedPreimage.Opacity = 255; - this.rCurrentlyDisplayedPreimage.vcScaleRatio.X = xRatio; - this.rCurrentlyDisplayedPreimage.vcScaleRatio.Y = xRatio; + this.rCurrentlyDisplayedPreimage.vcScaleRatio.X = bestRatio; + this.rCurrentlyDisplayedPreimage.vcScaleRatio.Y = bestRatio; } return rCurrentlyDisplayedPreimage; @@ -148,10 +149,11 @@ internal class CActSelectPreimageパネル : CActivity { float xRatio = width / (float)this.rCurrentlyDisplayedPreimage.sz画像サイズ.Width; float yRatio = height / (float)this.rCurrentlyDisplayedPreimage.sz画像サイズ.Height; + float bestRatio = Math.Min(xRatio, yRatio); this.rCurrentlyDisplayedPreimage.Opacity = (int)(255f * num3); - this.rCurrentlyDisplayedPreimage.vcScaleRatio.X = num4 * xRatio; - this.rCurrentlyDisplayedPreimage.vcScaleRatio.Y = num4 * xRatio; + this.rCurrentlyDisplayedPreimage.vcScaleRatio.X = num4 * bestRatio; + this.rCurrentlyDisplayedPreimage.vcScaleRatio.Y = num4 * bestRatio; var HiddenIndex = OpenTaiko.Databases.DBSongUnlockables.tGetSongHiddenIndex(OpenTaiko.stageSongSelect.actSongList.rCurrentlySelectedSong); diff --git a/OpenTaiko/src/Stages/05.SongSelect/CActSortSongs.cs b/OpenTaiko/src/Stages/05.SongSelect/CActSortSongs.cs index 74be0630..0d8bd3bf 100644 --- a/OpenTaiko/src/Stages/05.SongSelect/CActSortSongs.cs +++ b/OpenTaiko/src/Stages/05.SongSelect/CActSortSongs.cs @@ -5,6 +5,9 @@ internal class CActSortSongs : CActSelectPopupMenu { // Constructor public CActSortSongs() { + } + + public override void Activate() { List lci = new List(); lci.Add(new CItemList(CLangManager.LangInstance.GetString("SONGSELECT_SORT_PATH"), CItemBase.EPanelType.Normal, 0, "", "", new string[] { "Z,Y,X,...", "A,B,C,..." })); lci.Add(new CItemList(CLangManager.LangInstance.GetString("SONGSELECT_SORT_TITLE"), CItemBase.EPanelType.Normal, 0, "", "", new string[] { "Z,Y,X,...", "A,B,C,..." })); @@ -14,10 +17,10 @@ internal class CActSortSongs : CActSelectPopupMenu { lci.Add( new CItemList( "BPM", CItemBase.EPanelType.Normal, 0, "", "", new string[] { "300,200,...", "70,80,90,..." } ) ); #endif lci.Add(new CItemList(CLangManager.LangInstance.GetString("MENU_RETURN"), CItemBase.EPanelType.Normal, 0, "", "", new string[] { "", "" })); - base.Initialize(lci, false, CLangManager.LangInstance.GetString("SONGSELECT_SORT")); + base.Initialize(lci, false, CLangManager.LangInstance.GetString("SONGSELECT_SORT")); + base.Activate(); } - // メソッド public void tActivatePopupMenu(EInstrumentPad einst, ref CActSelect曲リスト ca) { this.act曲リスト = ca;