1
0
mirror of synced 2025-02-20 04:21:02 +01:00

deprecate old calibration method (calibration tja) that got replaced by input calibration on the regular menu

This commit is contained in:
0auBSQ 2024-10-23 03:04:09 +09:00
parent 12eec18ab9
commit 1314118073
7 changed files with 902 additions and 1001 deletions

View File

@ -171,8 +171,6 @@ namespace OpenTaiko {
public static CSongReplay[] ReplayInstances = new CSongReplay[5];
public static bool IsPerformingCalibration;
public static CFPS FPS {
get;
private set;

View File

@ -783,8 +783,6 @@ namespace OpenTaiko {
}
OpenTaiko.IsPerformingCalibration = false;
OpenTaiko.stageSongSelect.actDifficultySelectionScreen.bIsDifficltSelect = false;
this.pfBoxName = HPrivateFastFont.tInstantiateMainFont(OpenTaiko.Skin.SongSelect_BoxName_Scale);

View File

@ -50,16 +50,6 @@ namespace OpenTaiko {
this.strサブタイトル = .strサブタイトル;
}
// For the moment, detect that we are performing
// calibration via there being an actual single
// player and the special song title and subtitle
// of the .tja used to perform input calibration
OpenTaiko.IsPerformingCalibration =
!OpenTaiko.ConfigIni.bAutoPlay[0] &&
OpenTaiko.ConfigIni.nPlayerCount == 1 &&
str曲タイトル == "Input Calibration" &&
strサブタイトル == "TJAPlayer3 Developers";
this.strSTAGEFILE = CSkin.Path(@$"Graphics{Path.DirectorySeparatorChar}4_SongLoading{Path.DirectorySeparatorChar}Background.png");
@ -76,13 +66,9 @@ namespace OpenTaiko {
// calibration is about to begin, rather than
// displaying the song title and subtitle as usual.
var = OpenTaiko.IsPerformingCalibration
? "Input calibration is about to begin."
: this.str曲タイトル;
var = this.str曲タイトル;
var = OpenTaiko.IsPerformingCalibration
? "Please play as accurately as possible."
: this.strサブタイトル;
var = this.strサブタイトル;
if (!string.IsNullOrEmpty()) {
//this.txタイトル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );
@ -108,7 +94,6 @@ namespace OpenTaiko {
Trace.TraceError("テクスチャの生成に失敗しました。({0})", new object[] { this.strSTAGEFILE });
this.txタイトル = null;
this.txサブタイトル = null;
this.tx背景 = null;
}
base.Activate();
@ -136,7 +121,6 @@ namespace OpenTaiko {
pfDanTitle = HPrivateFastFont.tInstantiateMainFont(OpenTaiko.Skin.Game_DanC_Title_Size);
pfDanSubTitle = HPrivateFastFont.tInstantiateMainFont(OpenTaiko.Skin.Game_DanC_SubTitle_Size);
this.tx背景 = OpenTaiko.tテクスチャの生成(this.strSTAGEFILE, false);
//this.txSongnamePlate = CDTXMania.tテクスチャの生成( CSkin.Path( @$"Graphics{Path.DirectorySeparatorChar}6_SongnamePlate.png" ) );
base.CreateManagedResource();
}
@ -147,7 +131,6 @@ namespace OpenTaiko {
pfDanTitle?.Dispose();
pfDanSubTitle?.Dispose();
OpenTaiko.tテクスチャの解放(ref this.tx背景);
base.ReleaseManagedResource();
}
public override int Draw() {
@ -548,7 +531,6 @@ namespace OpenTaiko {
private string strサブタイトル;
private CTexture txタイトル;
private CTexture txサブタイトル;
private CTexture tx背景;
//private CTexture txSongnamePlate;
private DateTime timeBeginLoad;
private DateTime timeBeginLoadWAV;

View File

@ -505,12 +505,6 @@ namespace OpenTaiko {
var meanLag = CLagLogger.LogAndReturnMeanLag();
if (OpenTaiko.IsPerformingCalibration && meanLag != null) {
var oldInputAdjustTimeMs = OpenTaiko.ConfigIni.nInputAdjustTimeMs;
var newInputAdjustTimeMs = oldInputAdjustTimeMs - (int)Math.Round(meanLag.Value);
Trace.TraceInformation($"Calibration complete. Updating InputAdjustTime from {oldInputAdjustTimeMs}ms to {newInputAdjustTimeMs}ms.");
OpenTaiko.ConfigIni.nInputAdjustTimeMs = newInputAdjustTimeMs;
}
this.actDan.IsAnimating = false;// IsAnimating=trueのときにそのまま選曲画面に戻ると、文字列が描画されない問題修正用。
OpenTaiko.tテクスチャの解放(ref this.tx背景);
@ -941,23 +935,7 @@ namespace OpenTaiko {
internal ENoteJudge e指定時刻からChipのJUDGEを返す(long nTime, CDTX.CChip pChip, int player = 0) {
var e判定 = e指定時刻からChipのJUDGEを返すImpl(nTime, pChip, player);
// When performing calibration, reduce audio distraction from user input.
// For users who play primarily by watching notes cross the judgment position,
// you might think that we want them to see visual judgment feedback during
// calibration, but we do not. Humans are remarkably good at adjusting
// the timing of their own physical movement, even without realizing it.
// We are calibrating their input timing for the purposes of judgment.
// We do not want them subconsciously playing early so as to line up
// their hits with the perfect, good, etc. judgment results based on their
// current (and soon to be replaced) input adjust time values.
// Instead, we want them focused on the sounds of their keyboard, tatacon,
// other controller, etc. and the visuals of notes crossing the judgment position.
if (OpenTaiko.IsPerformingCalibration) {
return e判定 < ENoteJudge.Good ? ENoteJudge.Good : e判定;
} else {
return e判定;
}
return e判定;
}
private bool tEasyTimeZones(int nPlayer) {
@ -2865,13 +2843,7 @@ namespace OpenTaiko {
}
}
protected void tパネル文字列の設定() {
// When performing calibration, inform the player that
// calibration is taking place, rather than
// displaying the panel title or song title as usual.
var panelString = OpenTaiko.IsPerformingCalibration
? "Calibrating input..."
: string.IsNullOrEmpty(OpenTaiko.DTX.PANEL) ? OpenTaiko.DTX.TITLE.GetString("") : OpenTaiko.DTX.PANEL;
var panelString = string.IsNullOrEmpty(OpenTaiko.DTX.PANEL) ? OpenTaiko.DTX.TITLE.GetString("") : OpenTaiko.DTX.PANEL;
this.actPanel.SetPanelString(panelString,
OpenTaiko.stageSongSelect.rChoosenSong.str本当のジャンル,

View File

@ -164,7 +164,7 @@ namespace OpenTaiko {
// (When performing calibration, reduce visual distraction
// and current judgment feedback near the judgment position.)
if (OpenTaiko.Tx.Effects_Hit_Explosion != null && !OpenTaiko.IsPerformingCalibration) {
if (OpenTaiko.Tx.Effects_Hit_Explosion != null) {
int n = this.st状態[i].nIsBig == 1 ? (nHeight * 2) : 0;
int nX = 0;

View File

@ -288,49 +288,21 @@ namespace OpenTaiko {
// their drum sound effects with the sounds of the input calibration file.
// Instead, we want them focused on the sounds of their keyboard, tatacon,
// other controller, etc. and the sounds of the input calibration audio file.
if (!OpenTaiko.IsPerformingCalibration) {
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
int actual = OpenTaiko.GetActualPlayer(i);
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
int actual = OpenTaiko.GetActualPlayer(i);
var hs = OpenTaiko.Skin.hsHitSoundsInformations;
var hs = OpenTaiko.Skin.hsHitSoundsInformations;
//this.soundRed[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.don[actual]), ESoundGroup.SoundEffect);
//this.soundBlue[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.ka[actual]), ESoundGroup.SoundEffect);
//this.soundAdlib[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.adlib[actual]), ESoundGroup.SoundEffect);
//this.soundClap[i] = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(hs.clap[actual]), ESoundGroup.SoundEffect);
this.soundRed[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.don[actual]), ESoundGroup.SoundEffect);
this.soundBlue[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.ka[actual]), ESoundGroup.SoundEffect);
this.soundAdlib[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.adlib[actual]), ESoundGroup.SoundEffect);
this.soundClap[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.clap[actual]), ESoundGroup.SoundEffect);
this.soundRed[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.don[actual]), ESoundGroup.SoundEffect);
this.soundBlue[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.ka[actual]), ESoundGroup.SoundEffect);
this.soundAdlib[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.adlib[actual]), ESoundGroup.SoundEffect);
this.soundClap[i] = OpenTaiko.SoundManager.tCreateSound((@$"Global{Path.DirectorySeparatorChar}HitSounds{Path.DirectorySeparatorChar}" + hs.clap[actual]), ESoundGroup.SoundEffect);
int _panning = OpenTaiko.ConfigIni.nPanning[OpenTaiko.ConfigIni.nPlayerCount - 1][i];
if (this.soundRed[i] != null) this.soundRed[i].SoundPosition = _panning;
if (this.soundBlue[i] != null) this.soundBlue[i].SoundPosition = _panning;
if (this.soundAdlib[i] != null) this.soundAdlib[i].SoundPosition = _panning;
if (this.soundClap[i] != null) this.soundClap[i].SoundPosition = _panning;
}
/*
this.soundRed = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path( @"Sounds\Taiko\dong.ogg" ), ESoundGroup.SoundEffect );
this.soundBlue = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path( @"Sounds\Taiko\ka.ogg" ), ESoundGroup.SoundEffect );
this.soundAdlib = TJAPlayer3.Sound管理.tサウンドを生成する( CSkin.Path(@"Sounds\Taiko\Adlib.ogg"), ESoundGroup.SoundEffect );
this.soundRed2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Taiko\dong.ogg"), ESoundGroup.SoundEffect);
this.soundBlue2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Taiko\ka.ogg"), ESoundGroup.SoundEffect);
this.soundAdlib2 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Taiko\Adlib.ogg"), ESoundGroup.SoundEffect);
*/
/*
if (TJAPlayer3.ConfigIni.nPlayerCount == 2)//2020.05.06 Mr-Ojii左右に出したかったから、追加。
{
this.soundRed[0].n位置 = -100;
this.soundBlue[0].n位置 = -100;
this.soundAdlib[0].n位置 = -100;
this.soundRed[1].n位置 = 100;
this.soundBlue[1].n位置 = 100;
this.soundAdlib[1].n位置 = 100;
}
*/
int _panning = OpenTaiko.ConfigIni.nPanning[OpenTaiko.ConfigIni.nPlayerCount - 1][i];
if (this.soundRed[i] != null) this.soundRed[i].SoundPosition = _panning;
if (this.soundBlue[i] != null) this.soundBlue[i].SoundPosition = _panning;
if (this.soundAdlib[i] != null) this.soundAdlib[i].SoundPosition = _panning;
if (this.soundClap[i] != null) this.soundClap[i].SoundPosition = _panning;
}
}
public override void DeActivate() {
@ -352,20 +324,6 @@ namespace OpenTaiko {
LoudnessMetadataScanner.StartBackgroundScanning();
}
public override void CreateManagedResource() {
//this.t背景テクスチャの生成();
//this.tx太鼓ーツ = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_taiko_notes.png" ) );
//this.txHand = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_taiko_notes_arm.png" ) );
//this.txSenotes = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_senotes.png" ) );
//this.tx小節線 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_bar_line.png" ) );
//this.tx小節線_branch = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_bar_line_branch.png" ) );
// this.tx判定数小文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\8_Result_number_s.png" ) );
// this.txNamePlate = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_NamePlate.png" ) );
// if (CDTXMania.stage演奏ドラム画面.bDoublePlay)
// this.txNamePlate2P = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_NamePlate2P.png" ) );
// this.txPlayerNumber = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_PlayerNumber.png"));
// this.tx判定数表示パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Paramater Panel.png" ) );
base.CreateManagedResource();
}
public override void ReleaseManagedResource() {

View File

@ -20,14 +20,7 @@ namespace OpenTaiko {
public override void Activate() {
// After performing calibration, inform the player that
// calibration has been completed, rather than
// displaying the song title as usual.
var title = OpenTaiko.IsPerformingCalibration
? $"Calibration complete. InputAdjustTime is now {OpenTaiko.ConfigIni.nInputAdjustTimeMs}ms (Note : InputAdjust is deprecated, please transfer the value to GlobalOffset and reload the songs"
: OpenTaiko.DTX.TITLE.GetString("");
var title = OpenTaiko.DTX.TITLE.GetString("");
using (var bmpSongTitle = pfMusicName.DrawText(title, OpenTaiko.Skin.Result_MusicName_ForeColor, OpenTaiko.Skin.Result_MusicName_BackColor, null, 30)) {
this.txMusicName = OpenTaiko.tテクスチャの生成(bmpSongTitle, false);