diff --git a/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs b/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs index 1d4a13aa..2b548b5e 100644 --- a/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs +++ b/TJAPlayer3/Stages/05.SongSelect/CActSelect曲リスト.cs @@ -2545,6 +2545,8 @@ namespace TJAPlayer3 private void tバーの初期化() { + stバー情報 = new STバー情報[TJAPlayer3.Skin.SongSelect_Bar_Count]; + int barCenterNum = (TJAPlayer3.Skin.SongSelect_Bar_Count - 1) / 2; for ( int i = 0; i < TJAPlayer3.Skin.SongSelect_Bar_Count; i++ ) { diff --git a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs index 0797c374..a1f215f6 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/CStage演奏ドラム画面.cs @@ -1773,7 +1773,7 @@ namespace TJAPlayer3 long time = pChip.n発声時刻ms - __dbt; float play_bpm_time = this.GetNowPBMTime(dTX, 0); - y += NotesManager.GetNoteX(pChip, time * pChip.dbBPM, _scrollSpeed, TJAPlayer3.Skin.Game_Notes_Interval, play_bpm_time, configIni.eScrollMode, false); + y += NotesManager.GetNoteY(pChip, time * pChip.dbBPM, _scrollSpeed, TJAPlayer3.Skin.Game_Notes_Interval, play_bpm_time, configIni.eScrollMode, false); /* if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.Normal) diff --git a/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs b/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs index 4e93d307..ac13c274 100644 --- a/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs +++ b/TJAPlayer3/Stages/07.Game/Taiko/NotesManager.cs @@ -63,17 +63,39 @@ namespace TJAPlayer3 public static int GetNoteX(CDTX.CChip pChip, double timems, double scroll, int interval, float play_bpm_time, EScrollMode eScrollMode, bool roll) { double hbtime = ((roll ? pChip.fBMSCROLLTime_end : pChip.fBMSCROLLTime) - (play_bpm_time)); + double screen_ratio = TJAPlayer3.Skin.Resolution[0] / 1280.0; switch (eScrollMode) { case EScrollMode.Normal: - return (int)((timems / 240000.0) * interval * scroll); + return (int)((timems / 240000.0) * interval * scroll * screen_ratio); case EScrollMode.BMSCROLL: { - return (int)((hbtime / 16.0) * interval); + return (int)((hbtime / 16.0) * interval * screen_ratio); } case EScrollMode.HBSCROLL: { - return (int)((hbtime / 16.0) * interval * scroll); + return (int)((hbtime / 16.0) * interval * scroll * screen_ratio); + } + default: + return 0; + } + } + + public static int GetNoteY(CDTX.CChip pChip, double timems, double scroll, int interval, float play_bpm_time, EScrollMode eScrollMode, bool roll) + { + double hbtime = ((roll ? pChip.fBMSCROLLTime_end : pChip.fBMSCROLLTime) - (play_bpm_time)); + double screen_ratio = TJAPlayer3.Skin.Resolution[1] / 720.0; + switch (eScrollMode) + { + case EScrollMode.Normal: + return (int)((timems / 240000.0) * interval * scroll * screen_ratio); + case EScrollMode.BMSCROLL: + { + return (int)((hbtime / 16.0) * interval * screen_ratio); + } + case EScrollMode.HBSCROLL: + { + return (int)((hbtime / 16.0) * interval * scroll * screen_ratio); } default: return 0;