private static void SetStartFadeOutTextureOpaque() { var frameBoxIndex = CStrジャンルtoNum.ForFrameBoxIndex(TJAPlayer3.stage選曲.r現在選択中の曲.strジャンル); var txResultFadeIn = TJAPlayer3.Tx.SongLoading_FadeOut; if (txResultFadeIn != null) { txResultFadeIn[frameBoxIndex].Opacity = 255; } }
public override int On進行描画() { if (base.b活性化してない || (this.counter == null)) { return(0); } if (base.b活性化してない || (this.counter2 == null)) { return(0); } this.counter.t進行(); this.counter1.t進行(); this.counter2.t進行(); // Size clientSize = CDTXMania.app.Window.ClientSize; // #23510 2010.10.31 yyagi: delete as of no one use this any longer. var frameBoxIndex = CStrジャンルtoNum.ForFrameBoxIndex(TJAPlayer3.stage選曲.r現在選択中の曲.strジャンル); if (this.mode == EFIFOモード.フェードアウト) { if (TJAPlayer3.Tx.SongLoading_FadeOut != null) { TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex].Opacity = (0 + counter.n現在の値) * 0xff / 100; TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex]?.t2D描画(TJAPlayer3.app.Device, 0, 0); } } else { if (TJAPlayer3.Tx.SongLoading_FadeIn != null) { TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex].Opacity = (((100 - this.counter.n現在の値) * 0xff) / 100); TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex]?.t2D描画(TJAPlayer3.app.Device, 0, 0); } } if (this.mode == EFIFOモード.フェードアウト) { if (this.counter.n現在の値 != 500) { return(0); } } else if (this.mode == EFIFOモード.フェードイン) { if (this.counter.n現在の値 != 1500) { return(0); } } return(1); }
public override int On進行描画() { if (!base.b活性化してない) { this.ct背景スクロール用タイマー.t進行Loop(); #region [ 初めての進行描画 ] //--------------------- if (base.b初めての進行描画) { this.ct登場時アニメ用共通 = new CCounter(0, 100, 3, TJAPlayer3.Timer); if (TJAPlayer3.r直前のステージ == TJAPlayer3.stage結果) { this.actFIfrom結果画面.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.選曲_結果画面からのフェードイン; } else { this.actFIFO.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; } this.t選択曲変更通知(); base.b初めての進行描画 = false; } //--------------------- #endregion this.ct登場時アニメ用共通.t進行(); if (TJAPlayer3.Tx.SongSelect_Background != null) { TJAPlayer3.Tx.SongSelect_Background.t2D描画(TJAPlayer3.app.Device, 0, 0); if (this.r現在選択中の曲 != null) { var genreBack = TJAPlayer3.Tx.SongSelect_GenreBack[CStrジャンルtoNum.ForGenreBackIndex(this.r現在選択中の曲.strジャンル)]; if (genreBack != null) { var width = TJAPlayer3.Tx.SongSelect_Background.szテクスチャサイズ.Width; for (int i = 0; i < (1280 / width) + 2; i++) { genreBack.t2D描画(TJAPlayer3.app.Device, -ct背景スクロール用タイマー.n現在の値 + width * i, 0); } } } } //this.actPreimageパネル.On進行描画(); // this.bIsEnumeratingSongs = !this.actPreimageパネル.bIsPlayingPremovie; // #27060 2011.3.2 yyagi: #PREMOVIE再生中は曲検索を中断する this.act曲リスト.On進行描画(); TJAPlayer3.Tx.SongSelect_Header?.t2D描画(TJAPlayer3.app.Device, 0, 0); this.actInformation.On進行描画(); TJAPlayer3.Tx.SongSelect_Footer?.t2D描画(TJAPlayer3.app.Device, 0, 720 - TJAPlayer3.Tx.SongSelect_Footer.sz画像サイズ.Height); #region ネームプレート for (int i = 0; i < Math.Min(TJAPlayer3.ConfigIni.nPlayerCount, TJAPlayer3.Tx.NamePlate.Length); i++) { TJAPlayer3.Tx.NamePlate[i]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_NamePlate_X[i], TJAPlayer3.Skin.SongSelect_NamePlate_Y[i]); } #endregion #region [ 下部テキスト ] if (TJAPlayer3.Tx.SongSelect_Auto != null) { if (TJAPlayer3.ConfigIni.b太鼓パートAutoPlay) { TJAPlayer3.Tx.SongSelect_Auto.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[0], TJAPlayer3.Skin.SongSelect_Auto_Y[0]); } if (TJAPlayer3.ConfigIni.nPlayerCount > 1 && TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P) { TJAPlayer3.Tx.SongSelect_Auto.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongSelect_Auto_X[1], TJAPlayer3.Skin.SongSelect_Auto_Y[1]); } } if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー) { TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL"); } if (TJAPlayer3.ConfigIni.eGameMode == EGame.完走叩ききりまショー激辛) { TJAPlayer3.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.白, "GAME: SURVIVAL HARD"); } if (TJAPlayer3.ConfigIni.bSuperHard) { TJAPlayer3.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "SUPER HARD MODE : ON"); } if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.BMSCROLL) { TJAPlayer3.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "BMSCROLL : ON"); } else if (TJAPlayer3.ConfigIni.eScrollMode == EScrollMode.HBSCROLL) { TJAPlayer3.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.赤, "HBSCROLL : ON"); } if (TJAPlayer3.ConfigIni.eGaugeMode == EGaugeMode.Groove) { TJAPlayer3.act文字コンソール.tPrint(0, 48, C文字コンソール.Eフォント種別.赤, "GAUGE : GROOVE"); } else if (TJAPlayer3.ConfigIni.eGaugeMode == EGaugeMode.Hard) { TJAPlayer3.act文字コンソール.tPrint(0, 48, C文字コンソール.Eフォント種別.赤, "GAUGE : HARD"); } else if (TJAPlayer3.ConfigIni.eGaugeMode == EGaugeMode.ExHard) { TJAPlayer3.act文字コンソール.tPrint(0, 48, C文字コンソール.Eフォント種別.赤, "GAUGE : EXHARD"); } #endregion //this.actステータスパネル.On進行描画(); this.actPresound.On進行描画(); //if( this.txコメントバー != null ) { //this.txコメントバー.t2D描画( CDTXMania.app.Device, 484, 314 ); } //this.actArtistComment.On進行描画(); this.act演奏履歴パネル.On進行描画(); //this.actオプションパネル.On進行描画(); this.actShowCurrentPosition.On進行描画(); // #27648 2011.3.28 yyagi //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, this.n現在選択中の曲の難易度.ToString() ); TJAPlayer3.Tx.SongSelect_Difficulty?.t2D描画(TJAPlayer3.app.Device, 980, 30, new Rectangle(0, 70 * this.n現在選択中の曲の難易度, 260, 70)); if (!this.bBGM再生済み && (base.eフェーズID == CStage.Eフェーズ.共通_通常状態)) { TJAPlayer3.Skin.bgm選曲画面.t再生する(); this.bBGM再生済み = true; } //Debug.WriteLine( "パンくず=" + this.r現在選択中の曲.strBreadcrumbs ); if (this.ctDiffSelect移動待ち != null) { this.ctDiffSelect移動待ち.t進行(); } // キー入力 if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態) { #region [ 簡易CONFIGでMore、またはShift+F1: 詳細CONFIG呼び出し ] if (actQuickConfig.bGotoDetailConfig) { // 詳細CONFIG呼び出し actQuickConfig.tDeativatePopupMenu(); this.actPresound.tサウンド停止(); this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; TJAPlayer3.Skin.sound取消音.t再生する(); return(0); } #endregion if (!this.actSortSongs.bIsActivePopupMenu && !this.actQuickConfig.bIsActivePopupMenu /*&& !this.act難易度選択画面.bIsDifficltSelect */) { #region [ ESC ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) && (this.act曲リスト.r現在選択中の曲 != null))// && ( ) ) ) { if (this.act曲リスト.r現在選択中の曲.r親ノード == null) { // [ESC] TJAPlayer3.Skin.sound取消音.t再生する(); this.eフェードアウト完了時の戻り値 = E戻り値.タイトルに戻る; this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; return(0); } else { TJAPlayer3.Skin.sound取消音.t再生する(); bool bNeedChangeSkin = this.act曲リスト.tBOXを出る(); this.actPresound.tサウンド停止(); } } #endregion #region [ Shift-F1: CONFIG画面 ] if ((TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift)) && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1)) { // [SHIFT] + [F1] CONFIG this.actPresound.tサウンド停止(); this.eフェードアウト完了時の戻り値 = E戻り値.コンフィグ呼び出し; // #24525 2011.3.16 yyagi: [SHIFT]-[F1]でCONFIG呼び出し this.actFIFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; TJAPlayer3.Skin.sound取消音.t再生する(); return(0); } #endregion #region [ F2 簡易オプション ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2)) { TJAPlayer3.Skin.sound変更音.t再生する(); this.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS); } #endregion #region [ F3 1PオートON/OFF ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F3)) { TJAPlayer3.Skin.sound変更音.t再生する(); C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay); } #endregion #region [ F4 2PオートON/OFF ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F4)) { if (TJAPlayer3.ConfigIni.nPlayerCount > 1) { TJAPlayer3.Skin.sound変更音.t再生する(); C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.b太鼓パートAutoPlay2P); } } #endregion #region [ F5 スーパーハード ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F5)) { TJAPlayer3.Skin.sound変更音.t再生する(); C共通.bToggleBoolian(ref TJAPlayer3.ConfigIni.bSuperHard); } #endregion #region [ F6 SCROLL ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F6)) { TJAPlayer3.Skin.sound変更音.t再生する(); TJAPlayer3.ConfigIni.bスクロールモードを上書き = true; switch ((int)TJAPlayer3.ConfigIni.eScrollMode) { case 0: TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.BMSCROLL; break; case 1: TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.HBSCROLL; break; case 2: TJAPlayer3.ConfigIni.eScrollMode = EScrollMode.Normal; TJAPlayer3.ConfigIni.bスクロールモードを上書き = false; break; } } #endregion #region F7 ゲージモード if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F7)) { TJAPlayer3.Skin.sound変更音.t再生する(); TJAPlayer3.ConfigIni.bゲージモードを上書き = true; switch ((int)TJAPlayer3.ConfigIni.eGaugeMode) { case 0: TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.Groove; break; case 1: TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.Hard; break; case 2: TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.ExHard; break; case 3: TJAPlayer3.ConfigIni.eGaugeMode = EGaugeMode.Normal; TJAPlayer3.ConfigIni.bゲージモードを上書き = false; break; } } #endregion if (this.act曲リスト.r現在選択中の曲 != null) { #region [ Decide ] if ((TJAPlayer3.Pad.b押されたDGB(Eパッド.Decide) || (TJAPlayer3.Pad.b押されたDGB(Eパッド.LRed) || TJAPlayer3.Pad.b押されたDGB(Eパッド.RRed)) || ((TJAPlayer3.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return))))) { if (this.act曲リスト.r現在選択中の曲 != null) { switch (this.act曲リスト.r現在選択中の曲.eノード種別) { case C曲リストノード.Eノード種別.SCORE: if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功) { TJAPlayer3.Skin.sound曲決定音.t再生する(); } else { TJAPlayer3.Skin.sound決定音.t再生する(); } this.t曲を選択する(); break; case C曲リストノード.Eノード種別.BOX: { TJAPlayer3.Skin.sound決定音.t再生する(); bool bNeedChangeSkin = this.act曲リスト.tBOXに入る(); if (bNeedChangeSkin) { this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更; base.eフェーズID = Eフェーズ.選曲_NowLoading画面へのフェードアウト; } } break; case C曲リストノード.Eノード種別.BACKBOX: { TJAPlayer3.Skin.sound取消音.t再生する(); bool bNeedChangeSkin = this.act曲リスト.tBOXを出る(); if (bNeedChangeSkin) { this.eフェードアウト完了時の戻り値 = E戻り値.スキン変更; base.eフェーズID = Eフェーズ.選曲_NowLoading画面へのフェードアウト; } } break; case C曲リストノード.Eノード種別.RANDOM: if (TJAPlayer3.Skin.sound曲決定音.b読み込み成功) { TJAPlayer3.Skin.sound曲決定音.t再生する(); } else { TJAPlayer3.Skin.sound決定音.t再生する(); } this.t曲をランダム選択する(); break; //case C曲リストノード.Eノード種別.DANI: // if (CDTXMania.Skin.sound段位移動.b読み込み成功) // CDTXMania.Skin.sound段位移動.t再生する(); // else // CDTXMania.Skin.sound段位移動.t再生する(); // this.X(); // break; } } } #endregion #region [ Up ] this.ctキー反復用.Up.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftArrow), new CCounter.DGキー処理(this.tカーソルを上へ移動する)); //this.ctキー反復用.Up.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.UpArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.LeftArrow ), new CCounter.DGキー処理( this.tカーソルを上へ移動する ) ); if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LBlue)) { this.tカーソルを上へ移動する(); } #endregion #region [ Down ] this.ctキー反復用.Down.tキー反復(TJAPlayer3.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightArrow), new CCounter.DGキー処理(this.tカーソルを下へ移動する)); //this.ctキー反復用.Down.tキー反復( CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.DownArrow ) || CDTXMania.Input管理.Keyboard.bキーが押されている( (int) SlimDX.DirectInput.Key.RightArrow ), new CCounter.DGキー処理( this.tカーソルを下へ移動する ) ); if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RBlue)) { this.tカーソルを下へ移動する(); } #endregion #region [ Upstairs ] if (((this.act曲リスト.r現在選択中の曲 != null) && (this.act曲リスト.r現在選択中の曲.r親ノード != null)) && (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) || TJAPlayer3.Pad.b押されたGB(Eパッド.Cancel))) { this.actPresound.tサウンド停止(); TJAPlayer3.Skin.sound取消音.t再生する(); this.act曲リスト.tBOXを出る(); this.t選択曲変更通知(); } #endregion #region [ BDx2: 簡易CONFIG ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Space)) { TJAPlayer3.Skin.sound変更音.t再生する(); this.actSortSongs.tActivatePopupMenu(E楽器パート.DRUMS, ref this.act曲リスト); } #endregion #region [ HHx2: 難易度変更 ] if (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HH) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.HHO)) { // [HH]x2 難易度変更 CommandHistory.Add(E楽器パート.DRUMS, EパッドFlag.HH); EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH }; if (CommandHistory.CheckCommand(comChangeDifficulty, E楽器パート.DRUMS)) { Debug.WriteLine("ドラムス難易度変更"); this.act曲リスト.t難易度レベルをひとつ進める(); TJAPlayer3.Skin.sound変更音.t再生する(); } } #endregion #region [ 上: 難易度変更(上) ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.UpArrow)) { //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH ); //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH }; //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) ) { Debug.WriteLine("ドラムス難易度変更"); this.act曲リスト.t難易度レベルをひとつ進める(); TJAPlayer3.Skin.sound変更音.t再生する(); } } #endregion #region [ 下: 難易度変更(下) ] if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.DownArrow)) { //CommandHistory.Add( E楽器パート.DRUMS, EパッドFlag.HH ); //EパッドFlag[] comChangeDifficulty = new EパッドFlag[] { EパッドFlag.HH, EパッドFlag.HH }; //if ( CommandHistory.CheckCommand( comChangeDifficulty, E楽器パート.DRUMS ) ) { Debug.WriteLine("ドラムス難易度変更"); this.act曲リスト.t難易度レベルをひとつ戻す(); TJAPlayer3.Skin.sound変更音.t再生する(); } } #endregion } } #region [ [ & ] Sound Group Level ] KeyboardSoundGroupLevelControlHandler.Handle( TJAPlayer3.Input管理.Keyboard, TJAPlayer3.SoundGroupLevelController, TJAPlayer3.Skin, true); #endregion #region [ Ctrl-1 through Ctrl-5 Song Rating ] SongRatingControlHandler.Handle( TJAPlayer3.Input管理.Keyboard, act曲リスト, TJAPlayer3.EnumSongs); #endregion this.actSortSongs.t進行描画(); this.actQuickConfig.t進行描画(); } //------------------------------ //if (this.act難易度選択画面.bIsDifficltSelect) //{ // if (this.ctDiffSelect移動待ち.n現在の値 == this.ctDiffSelect移動待ち.n終了値) // { // this.act難易度選択画面.On進行描画(); // CDTXMania.act文字コンソール.tPrint(0, 0, C文字コンソール.Eフォント種別.赤, "NowStage:DifficltSelect"); // } // CDTXMania.act文字コンソール.tPrint(0, 16, C文字コンソール.Eフォント種別.赤, "Count:" + this.ctDiffSelect移動待ち.n現在の値); //} //------------------------------ switch (base.eフェーズID) { case CStage.Eフェーズ.共通_フェードイン: if (this.actFIFO.On進行描画() != 0) { base.eフェーズID = CStage.Eフェーズ.共通_通常状態; } break; case CStage.Eフェーズ.共通_フェードアウト: if (this.actFIFO.On進行描画() == 0) { break; } return((int)this.eフェードアウト完了時の戻り値); case CStage.Eフェーズ.選曲_結果画面からのフェードイン: if (this.actFIfrom結果画面.On進行描画() != 0) { base.eフェーズID = CStage.Eフェーズ.共通_通常状態; } break; case CStage.Eフェーズ.選曲_NowLoading画面へのフェードアウト: if (this.actFOtoNowLoading.On進行描画() == 0) { break; } return((int)this.eフェードアウト完了時の戻り値); } } return(0); }
public override int On進行描画() { if (base.b活性化してない) { return(0); } #region [ 初めての進行描画 ] //----------------------------- if (base.b初めての進行描画) { Cスコア cスコア1 = TJAPlayer3.stage選曲.r確定されたスコア; if (this.sd読み込み音 != null) { if (TJAPlayer3.Skin.sound曲読込開始音.b排他 && (CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド != null)) { CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド.t停止する(); } this.sd読み込み音.t再生を開始する(); this.nBGM再生開始時刻 = CSound管理.rc演奏用タイマ.n現在時刻; this.nBGMの総再生時間ms = this.sd読み込み音.n総演奏時間ms; } else { TJAPlayer3.Skin.sound曲読込開始音.t再生する(); this.nBGM再生開始時刻 = CSound管理.rc演奏用タイマ.n現在時刻; this.nBGMの総再生時間ms = TJAPlayer3.Skin.sound曲読込開始音.n長さ_現在のサウンド; } //this.actFI.tフェードイン開始(); // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; base.b初めての進行描画 = false; nWAVcount = 1; bitmapFilename = new Bitmap(640, 24); graphicsFilename = Graphics.FromImage(bitmapFilename); graphicsFilename.TextRenderingHint = TextRenderingHint.AntiAlias; ftFilename = new Font(FontUtilities.FallbackFontName, 24f, FontStyle.Bold, GraphicsUnit.Pixel); } //----------------------------- #endregion this.ct待機.t進行(); #region [ ESC押下時は選曲画面に戻る ] if (tキー入力()) { if (this.sd読み込み音 != null) { this.sd読み込み音.tサウンドを停止する(); this.sd読み込み音.t解放する(); } return((int)E曲読込画面の戻り値.読込中止); } #endregion #region [ 背景、音符+タイトル表示 ] //----------------------------- this.ct曲名表示.t進行(); if (this.tx背景 != null) { this.tx背景.t2D描画(TJAPlayer3.app.Device, 0, 0); } if (TJAPlayer3.Tx.SongLoading_Plate != null) { //TJAPlayer3.Tx.SongLoading_Plate.bスクリーン合成 = TJAPlayer3.Skin.SongLoading_Plate_ScreenBlend; //あまりにも出番が無い TJAPlayer3.Tx.SongLoading_Plate.Opacity = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0)); if (TJAPlayer3.Skin.SongLoading_Plate_ReferencePoint == CSkin.ReferencePoint.Left) { TJAPlayer3.Tx.SongLoading_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Plate_XY[0], TJAPlayer3.Skin.SongLoading_Plate_XY[1] - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Height / 2)); } else if (TJAPlayer3.Skin.SongLoading_Plate_ReferencePoint == CSkin.ReferencePoint.Right) { TJAPlayer3.Tx.SongLoading_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Plate_XY[0] - TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Width, TJAPlayer3.Skin.SongLoading_Plate_XY[1] - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Height / 2)); } else { TJAPlayer3.Tx.SongLoading_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Plate_XY[0] - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Width / 2), TJAPlayer3.Skin.SongLoading_Plate_XY[1] - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Height / 2)); } } int y = 720; if (this.txタイトル != null) { int nサブタイトル補正 = string.IsNullOrEmpty(TJAPlayer3.stage選曲.r確定されたスコア.譜面情報.strサブタイトル) ? 15 : 0; this.txタイトル.Opacity = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0)); if (TJAPlayer3.Skin.SongLoading_Title_ReferencePoint == CSkin.ReferencePoint.Left) { this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Title_XY[0], TJAPlayer3.Skin.SongLoading_Title_XY[1] + 75 - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正); } else if (TJAPlayer3.Skin.SongLoading_Title_ReferencePoint == CSkin.ReferencePoint.Right) { this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Title_XY[0] - (this.txタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X), TJAPlayer3.Skin.SongLoading_Title_XY[1] + 75 - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正); } else { this.txタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_Title_XY[0] - ((this.txタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X) / 2)), TJAPlayer3.Skin.SongLoading_Title_XY[1] + 75 - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正); } } if (this.txサブタイトル != null) { this.txサブタイトル.Opacity = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0)); if (TJAPlayer3.Skin.SongLoading_SubTitle_ReferencePoint == CSkin.ReferencePoint.Left) { this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_SubTitle_XY[0], TJAPlayer3.Skin.SongLoading_SubTitle_XY[1] + 50 - (this.txサブタイトル.sz画像サイズ.Height / 2)); } else if (TJAPlayer3.Skin.SongLoading_Title_ReferencePoint == CSkin.ReferencePoint.Right) { this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_SubTitle_XY[0] - (this.txサブタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X), TJAPlayer3.Skin.SongLoading_SubTitle_XY[1] + 50 - (this.txサブタイトル.sz画像サイズ.Height / 2)); } else { this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_SubTitle_XY[0] - ((this.txサブタイトル.sz画像サイズ.Width * txサブタイトル.vc拡大縮小倍率.X) / 2)), TJAPlayer3.Skin.SongLoading_SubTitle_XY[1] + 50 - (this.txサブタイトル.sz画像サイズ.Height / 2)); } } var frameBoxIndex = CStrジャンルtoNum.ForFrameBoxIndex(TJAPlayer3.stage選曲.r現在選択中の曲.strジャンル); if (TJAPlayer3.Tx.SongLoading_FadeOut != null) { TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex]?.t2D描画(TJAPlayer3.app.Device, 0, 0); } this.桜.t進行Loop(); if (TJAPlayer3.Tx.SongLoading_r != null) { TJAPlayer3.Tx.SongLoading_r[5].t2D描画(TJAPlayer3.app.Device, 1797, 972); if (this.桜.n現在の値 == 1) { TJAPlayer3.Tx.SongLoading_r[0].Opacity = 255; TJAPlayer3.Tx.SongLoading_r[0].t2D描画(TJAPlayer3.app.Device, 1818, 975); TJAPlayer3.Tx.SongLoading_r[4].Opacity = 150; TJAPlayer3.Tx.SongLoading_r[4].t2D描画(TJAPlayer3.app.Device, 1801, 987); } if (this.桜.n現在の値 == 2) { TJAPlayer3.Tx.SongLoading_r[1].Opacity = 255; TJAPlayer3.Tx.SongLoading_r[1].t2D描画(TJAPlayer3.app.Device, 1831, 987); TJAPlayer3.Tx.SongLoading_r[0].Opacity = 150; TJAPlayer3.Tx.SongLoading_r[0].t2D描画(TJAPlayer3.app.Device, 1818, 975); } if (this.桜.n現在の値 == 3) { TJAPlayer3.Tx.SongLoading_r[2].Opacity = 255; TJAPlayer3.Tx.SongLoading_r[2].t2D描画(TJAPlayer3.app.Device, 1828, 1004); TJAPlayer3.Tx.SongLoading_r[1].Opacity = 150; TJAPlayer3.Tx.SongLoading_r[1].t2D描画(TJAPlayer3.app.Device, 1831, 987); } if (this.桜.n現在の値 == 4) { TJAPlayer3.Tx.SongLoading_r[3].Opacity = 255; TJAPlayer3.Tx.SongLoading_r[3].t2D描画(TJAPlayer3.app.Device, 1807, 1005); TJAPlayer3.Tx.SongLoading_r[2].Opacity = 150; TJAPlayer3.Tx.SongLoading_r[2].t2D描画(TJAPlayer3.app.Device, 1828, 1004); } if (this.桜.n現在の値 == 5) { TJAPlayer3.Tx.SongLoading_r[4].Opacity = 255; TJAPlayer3.Tx.SongLoading_r[4].t2D描画(TJAPlayer3.app.Device, 1801, 987); TJAPlayer3.Tx.SongLoading_r[3].Opacity = 150; TJAPlayer3.Tx.SongLoading_r[3].t2D描画(TJAPlayer3.app.Device, 1807, 1005); } TJAPlayer3.Tx.SongLoading_r[6].t2D描画(TJAPlayer3.app.Device, 1647, 987); } //----------------------------- #endregion switch (base.eフェーズID) { case CStage.Eフェーズ.共通_フェードイン: //if( this.actFI.On進行描画() != 0 ) // #27787 2012.3.10 yyagi 曲読み込み画面のフェードインの省略 // 必ず一度「CStaeg.Eフェーズ.共通_フェードイン」フェーズを経由させること。 // さもないと、曲読み込みが完了するまで、曲読み込み画面が描画されない。 base.eフェーズID = CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む; return((int)E曲読込画面の戻り値.継続); case CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む: { timeBeginLoad = DateTime.Now; var str = TJAPlayer3.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; CScoreIni ini = new CScoreIni(str + ".score.ini"); ini.t全演奏記録セクションの整合性をチェックし不整合があればリセットする(); if ((TJAPlayer3.DTX != null) && TJAPlayer3.DTX.b活性化してる) { TJAPlayer3.DTX.On非活性化(); } //if( CDTXMania.DTX == null ) { TJAPlayer3.DTX = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 0, true); if (TJAPlayer3.ConfigIni.nPlayerCount == 2) { TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true); } if (File.Exists(TJAPlayer3.DTX.strフォルダ名 + @"\\set.def")) { TJAPlayer3.DTX = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true); if (TJAPlayer3.ConfigIni.nPlayerCount == 2) { TJAPlayer3.DTX_2P = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, 1, true); } } Trace.TraceInformation("----曲情報-----------------"); Trace.TraceInformation("TITLE: {0}", TJAPlayer3.DTX.TITLE); Trace.TraceInformation("FILE: {0}", TJAPlayer3.DTX.strファイル名の絶対パス); Trace.TraceInformation("---------------------------"); var span = (TimeSpan)(DateTime.Now - timeBeginLoad); Trace.TraceInformation("DTX読込所要時間: {0}", span.ToString()); // 段位認定モード用。 if (TJAPlayer3.stage選曲.n確定された曲の難易度 == (int)Difficulty.Dan && TJAPlayer3.DTX.List_DanSongs != null) { var fontFamily = FontUtilities.GetFontFamilyOrFallback(TJAPlayer3.ConfigIni.FontName); using (var pfTitle = new CPrivateFont(fontFamily, 30)) using (var pfSubTitle = new CPrivateFont(fontFamily, 22)) { var titleForeColor = TJAPlayer3.Skin.Game_DanC_Title_ForeColor; var titleBackColor = TJAPlayer3.Skin.Game_DanC_Title_BackColor; var subtitleForeColor = TJAPlayer3.Skin.Game_DanC_SubTitle_ForeColor; var subtitleBackColor = TJAPlayer3.Skin.Game_DanC_SubTitle_BackColor; foreach (var danSong in TJAPlayer3.DTX.List_DanSongs) { if (!string.IsNullOrEmpty(danSong.Title)) { using (var bmpSongTitle = pfTitle.DrawPrivateFont(danSong.Title, titleForeColor, titleBackColor)) { danSong.TitleTex = TJAPlayer3.tテクスチャの生成(bmpSongTitle, false); danSong.TitleTex.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref danSong.TitleTex, 710); } } if (!string.IsNullOrEmpty(danSong.SubTitle)) { using (var bmpSongSubTitle = pfSubTitle.DrawPrivateFont(danSong.SubTitle, subtitleForeColor, subtitleBackColor)) { danSong.SubTitleTex = TJAPlayer3.tテクスチャの生成(bmpSongSubTitle, false); danSong.SubTitleTex.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref danSong.SubTitleTex, 710); } } } } } } //2017.01.28 DD Config.iniに反映しないように変更 /* * switch( CDTXMania.DTX.nScoreModeTmp ) * { * case 0: * CDTXMania.ConfigIni.nScoreMode = 0; * break; * case 1: * CDTXMania.ConfigIni.nScoreMode = 1; * break; * case 2: * CDTXMania.ConfigIni.nScoreMode = 2; * break; * case -1: * CDTXMania.ConfigIni.nScoreMode = 1; * break; * } */ base.eフェーズID = CStage.Eフェーズ.NOWLOADING_WAV読み込み待機; timeBeginLoadWAV = DateTime.Now; return((int)E曲読込画面の戻り値.継続); } case CStage.Eフェーズ.NOWLOADING_WAV読み込み待機: { if (this.ct待機.n現在の値 > 520) { base.eフェーズID = CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む; } return((int)E曲読込画面の戻り値.継続); } case CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む: { if (nWAVcount == 1 && TJAPlayer3.DTX.listWAV.Count > 0) // #28934 2012.7.7 yyagi (added checking Count) { ShowProgressByFilename(TJAPlayer3.DTX.listWAV[nWAVcount].strファイル名); } int looptime = (TJAPlayer3.ConfigIni.b垂直帰線待ちを行う)? 3 : 1; // VSyncWait=ON時は1frame(1/60s)あたり3つ読むようにする for (int i = 0; i < looptime && nWAVcount <= TJAPlayer3.DTX.listWAV.Count; i++) { if (TJAPlayer3.DTX.listWAV[nWAVcount].listこのWAVを使用するチャンネル番号の集合.Count > 0) // #28674 2012.5.8 yyagi { TJAPlayer3.DTX.tWAVの読み込み(TJAPlayer3.DTX.listWAV[nWAVcount]); } nWAVcount++; } if (nWAVcount <= TJAPlayer3.DTX.listWAV.Count) { ShowProgressByFilename(TJAPlayer3.DTX.listWAV[nWAVcount].strファイル名); } if (nWAVcount > TJAPlayer3.DTX.listWAV.Count) { TimeSpan span = ( TimeSpan )(DateTime.Now - timeBeginLoadWAV); Trace.TraceInformation("WAV読込所要時間({0,4}): {1}", TJAPlayer3.DTX.listWAV.Count, span.ToString()); timeBeginLoadWAV = DateTime.Now; if (TJAPlayer3.ConfigIni.bDynamicBassMixerManagement) { TJAPlayer3.DTX.PlanToAddMixerChannel(); } TJAPlayer3.DTX.t太鼓チップのランダム化(TJAPlayer3.ConfigIni.eRandom.Taiko); TJAPlayer3.stage演奏ドラム画面.On活性化(); span = (TimeSpan)(DateTime.Now - timeBeginLoadWAV); base.eフェーズID = CStage.Eフェーズ.NOWLOADING_BMPファイルを読み込む; } return((int)E曲読込画面の戻り値.継続); } case CStage.Eフェーズ.NOWLOADING_BMPファイルを読み込む: { TimeSpan span; DateTime timeBeginLoadBMPAVI = DateTime.Now; if (TJAPlayer3.ConfigIni.bAVI有効) { TJAPlayer3.DTX.tAVIの読み込み(); } span = ( TimeSpan )(DateTime.Now - timeBeginLoadBMPAVI); span = ( TimeSpan )(DateTime.Now - timeBeginLoad); Trace.TraceInformation("総読込時間: {0}", span.ToString()); if (TJAPlayer3.ConfigIni.FastRender) { var fastRender = new FastRender(); fastRender.Render(); fastRender = null; } if (bitmapFilename != null) { bitmapFilename.Dispose(); bitmapFilename = null; } if (graphicsFilename != null) { graphicsFilename.Dispose(); graphicsFilename = null; } if (ftFilename != null) { ftFilename.Dispose(); ftFilename = null; } TJAPlayer3.Timer.t更新(); //CSound管理.rc演奏用タイマ.t更新(); base.eフェーズID = CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ; return((int)E曲読込画面の戻り値.継続); } case CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ: { long nCurrentTime = TJAPlayer3.Timer.n現在時刻; if (nCurrentTime < this.nBGM再生開始時刻) { this.nBGM再生開始時刻 = nCurrentTime; } // if ( ( nCurrentTime - this.nBGM再生開始時刻 ) > ( this.nBGMの総再生時間ms - 1000 ) ) if ((nCurrentTime - this.nBGM再生開始時刻) >= (this.nBGMの総再生時間ms)) // #27787 2012.3.10 yyagi 1000ms == フェードイン分の時間 { base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; } return((int)E曲読込画面の戻り値.継続); } case CStage.Eフェーズ.共通_フェードアウト: if (this.ct待機.b終了値に達してない) { return((int)E曲読込画面の戻り値.継続); } if (txFilename != null) { txFilename.Dispose(); } if (this.sd読み込み音 != null) { this.sd読み込み音.t解放する(); } return((int)E曲読込画面の戻り値.読込完了); } return((int)E曲読込画面の戻り値.継続); }
public override int On進行描画() { if (!base.b活性化してない) { int num; if (base.b初めての進行描画) { this.ct登場用 = new CCounter(0, 100, 5, TJAPlayer3.Timer); this.actFI.tフェードイン開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードイン; if (this.rResultSound != null) { this.rResultSound.t再生を開始する(); } base.b初めての進行描画 = false; } this.bアニメが完了 = true; if (this.ct登場用.b進行中) { this.ct登場用.t進行(); if (this.ct登場用.b終了値に達した) { this.ct登場用.t停止(); } else { this.bアニメが完了 = false; } } // 描画 var frameBoxIndex = CStrジャンルtoNum.ForFrameBoxIndex(TJAPlayer3.stage選曲.r現在選択中の曲.strジャンル); if (TJAPlayer3.Tx.SongLoading_FadeOut != null) { TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex].Opacity = 255; TJAPlayer3.Tx.SongLoading_FadeOut[frameBoxIndex]?.t2D描画(TJAPlayer3.app.Device, 0, 0); } if (this.ct登場用.b進行中 && (TJAPlayer3.Tx.Result_Header != null)) { double num2 = ((double)this.ct登場用.n現在の値) / 100.0; double num3 = Math.Sin(Math.PI / 2 * num2); num = ((int)(TJAPlayer3.Tx.Result_Header.sz画像サイズ.Height * num3)) - TJAPlayer3.Tx.Result_Header.sz画像サイズ.Height; } else { num = 0; } if (TJAPlayer3.Tx.Result_Header != null) { TJAPlayer3.Tx.Result_Header.t2D描画(TJAPlayer3.app.Device, 0, 0); } if (this.actResultImage.On進行描画() == 0) { this.bアニメが完了 = false; } if (this.actParameterPanel.On進行描画() == 0) { this.bアニメが完了 = false; } if (this.actSongBar.On進行描画() == 0) { this.bアニメが完了 = false; } #region ネームプレート for (int i = 0; i < TJAPlayer3.ConfigIni.nPlayerCount; i++) { TJAPlayer3.Tx.NamePlate[i]?.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.Result_NamePlate_X[i], TJAPlayer3.Skin.Result_NamePlate_Y[i]); } #endregion if (base.eフェーズID == CStage.Eフェーズ.共通_フェードイン) { if (this.actFI.On進行描画() != 0) { base.eフェーズID = CStage.Eフェーズ.共通_通常状態; TJAPlayer3.Skin.bgm結果画面.t再生する(); } } else if ((base.eフェーズID == CStage.Eフェーズ.共通_フェードアウト)) //&& ( this.actFO.On進行描画() != 0 ) ) { return((int)this.eフェードアウト完了時の戻り値); } #region [ #24609 2011.3.14 yyagi ランク更新or演奏型スキル更新時、リザルト画像をpngで保存する ] if (this.bアニメが完了 == true && this.bIsCheckedWhetherResultScreenShouldSaveOrNot == false && // #24609 2011.3.14 yyagi; to save result screen in case BestRank or HiSkill. TJAPlayer3.ConfigIni.bScoreIniを出力する && TJAPlayer3.ConfigIni.bIsAutoResultCapture) // #25399 2011.6.9 yyagi { CheckAndSaveResultScreen(true); this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true; } #endregion // キー入力 if (((TJAPlayer3.Pad.b押されたDGB(Eパッド.CY) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RD)) || (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LC) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return))) && !this.bアニメが完了) { this.actFI.tフェードイン完了(); // #25406 2011.6.9 yyagi this.actResultImage.tアニメを完了させる(); this.actParameterPanel.tアニメを完了させる(); this.actSongBar.tアニメを完了させる(); this.ct登場用.t停止(); } #region [ #24609 2011.4.7 yyagi リザルト画面で[F12]を押下すると、リザルト画像をpngで保存する機能は、CDTXManiaに移管。 ] // if ( CDTXMania.Input管理.Keyboard.bキーが押された( (int) SlimDX.DirectInput.Key.F12 ) && // CDTXMania.ConfigIni.bScoreIniを出力する ) // { // CheckAndSaveResultScreen(false); // this.bIsCheckedWhetherResultScreenShouldSaveOrNot = true; // } #endregion if (base.eフェーズID == CStage.Eフェーズ.共通_通常状態) { if (TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape)) { TJAPlayer3.Skin.sound取消音.t再生する(); this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; this.eフェードアウト完了時の戻り値 = E戻り値.完了; } if (((TJAPlayer3.Pad.b押されたDGB(Eパッド.CY) || TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.RD)) || (TJAPlayer3.Pad.b押された(E楽器パート.DRUMS, Eパッド.LC) || TJAPlayer3.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return))) && this.bアニメが完了) { TJAPlayer3.Skin.sound取消音.t再生する(); // this.actFO.tフェードアウト開始(); base.eフェーズID = CStage.Eフェーズ.共通_フェードアウト; this.eフェードアウト完了時の戻り値 = E戻り値.完了; } } } return(0); }