Пример #1
0
        public override void On活性化()
        {
            if (this.b活性化してる)
            {
                return;
            }

            DaniInAnime = false;

            ctDaniMoveAnime = new CCounter();
            ctDanAnimeIn    = new CCounter();
            ctDaniIn        = new CCounter(0, 3000, 1, TJAPlayer3.Timer);

            stバー情報 = new STバー情報[TJAPlayer3.Songs管理.list曲ルート_Dan.Count];

            if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName))
            {
                pfDanSong = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 24);
            }
            else
            {
                pfDanSong = new CPrivateFastFont(new FontFamily("MS UI Gothic"), 16);
            }

            //一応チェックしておく。
            if (TJAPlayer3.Songs管理.list曲ルート_Dan.Count > 0)
            {
                this.tバーの初期化();
            }

            base.On活性化();
        }
Пример #2
0
        public override void OnManagedリソースの作成()                                                                                         // OPTIONと画像以外共通
        {
            if (!base.b活性化してない)
            {
                string[] strMenuItem = { "System", "Drums", "Exit" };
                txMenuItemLeft = new CTexture[strMenuItem.Length, 2];
                using (var prvFont = new CPrivateFastFont(TJAPlayer3.ConfigIni.FontName, 20))
                {
                    for (int i = 0; i < strMenuItem.Length; i++)
                    {
                        using (var bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black, TJAPlayer3.Skin.Font_Edge_Ratio))
                        {
                            txMenuItemLeft[i, 0] = TJAPlayer3.tCreateTexture(bmpStr);
                        }
                        using (var bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black, Color.Yellow, Color.OrangeRed, TJAPlayer3.Skin.Font_Edge_Ratio))
                        {
                            txMenuItemLeft[i, 1] = TJAPlayer3.tCreateTexture(bmpStr);
                        }
                    }
                }

                if (this.bメニューにフォーカス中)
                {
                    this.t説明文パネルに現在選択されているメニューの説明を描画する();
                }
                else
                {
                    this.t説明文パネルに現在選択されている項目の説明を描画する();
                }
                base.OnManagedリソースの作成();
            }
        }
 private void ConditionallyInitializePrvFont()
 {
     if (prvFont == null)
     {
         prvFont = new CPrivateFastFont(CSkin.Path(@"Graphics\ipag.ttf"), 18);
     }
 }
Пример #4
0
        // CActivity 実装

        public override void On活性化()
        {
            // After performing calibration, inform the player that
            // calibration has been completed, rather than
            // displaying the song title as usual.


            var title = TJAPlayer3.IsPerformingCalibration
                                ? $"Calibration complete. InputAdjustTime is now {TJAPlayer3.ConfigIni.nInputAdjustTimeMs}ms"
                                : TJAPlayer3.DTX[0].TITLE;

            using (CPrivateFastFont pfMusicName = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.Result_MusicName_FontSize))
            {
                using (var bmpSongTitle = pfMusicName.DrawPrivateFont(title, TJAPlayer3.Skin.Result_MusicName_ForeColor, TJAPlayer3.Skin.Result_MusicName_BackColor))
                {
                    this.txMusicName       = TJAPlayer3.tテクスチャの生成(bmpSongTitle);
                    txMusicName.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref txMusicName);
                }
            }

            using (CPrivateFastFont pfStageText = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.Result_StageText_FontSize))
            {
                using (var bmpStageText = pfStageText.DrawPrivateFont(TJAPlayer3.Skin.Game_StageText, TJAPlayer3.Skin.Result_StageText_ForeColor, TJAPlayer3.Skin.Result_StageText_BackColor))
                {
                    this.txStageText = TJAPlayer3.tテクスチャの生成(bmpStageText);
                }
            }

            base.On活性化();
        }
 public CTexture OptionTypeTx(string str文字, Color forecolor, Color backcolor)
 {
     using (var bmp = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 13).DrawPrivateFont(str文字, forecolor, backcolor))
     {
         return(TJAPlayer3.tテクスチャの生成(bmp));
     }
 }
Пример #6
0
 private void ConditionallyInitializePrvFont()
 {
     if (prvFont == null)
     {
         prvFont = new CPrivateFastFont(TJAPlayer3.ConfigIni.FontName, 18);
     }
 }
Пример #7
0
 public TitleTextureKey(string str文字, CPrivateFastFont cPrivateFastFont, Color forecolor, Color backcolor)
 {
     this.str文字            = str文字;
     this.cPrivateFastFont = cPrivateFastFont;
     this.forecolor        = forecolor;
     this.backcolor        = backcolor;
 }
Пример #8
0
 private CTexture 文字テクスチャを生成する(string str文字, Color forecolor, Color backcolor)
 {
     using (var bmp = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 28).DrawPrivateFont(str文字, forecolor, backcolor, true))
     {
         return(TJAPlayer3.tテクスチャの生成(bmp));
     }
 }
Пример #9
0
        public override void OnManagedリソースの作成()
        {
            if (!b活性化してない)
            {
                string[] strMenuItem = { "System", "Drums", "Exit" };
                txMenuItemLeft = new CTexture[strMenuItem.Length, 2];
                using (var prvFont = new CPrivateFastFont(CSkin.Path(@"mplus-1p-heavy.ttf"), 20))
                {
                    for (var i = 0; i < strMenuItem.Length; i++)
                    {
                        using (var bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black))
                        {
                            txMenuItemLeft[i, 0] = TJAPlayer3.tテクスチャの生成(bmpStr, false);
                        }

                        using (var bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black, Color.Yellow, Color.OrangeRed))
                        {
                            txMenuItemLeft[i, 1] = TJAPlayer3.tテクスチャの生成(bmpStr, false);
                        }
                    }
                }

                if (bメニューにフォーカス中)
                {
                    t説明文パネルに現在選択されているメニューの説明を描画する();
                }
                else
                {
                    t説明文パネルに現在選択されている項目の説明を描画する();
                }

                base.OnManagedリソースの作成();
            }
        }
Пример #10
0
        public override void OnManagedリソースの作成()
        {
            if (!base.b活性化してない)
            {
                //this.txSongnamePlate = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\6_SongnamePlate.png" ) );
                this.ct待機   = new CCounter(0, 600, 5, TJAPlayer3.Timer);
                this.ct曲名表示 = new CCounter(1, 30, 30, TJAPlayer3.Timer);
                try
                {
                    // When performing calibration, inform the player that
                    // calibration is about to begin, rather than
                    // displaying the song title and subtitle as usual.

                    var タイトル = TJAPlayer3.IsPerformingCalibration
                                                ? "Input calibration is about to begin."
                                                : this.str曲タイトル;

                    var サブタイトル = TJAPlayer3.IsPerformingCalibration
                                                ? "Please play as accurately as possible."
                                                : this.strサブタイトル;

                    if (!string.IsNullOrEmpty(タイトル))
                    {
                        //this.txタイトル = new CTexture( CDTXMania.app.Device, image, CDTXMania.TextureFormat );
                        //this.txタイトル.vc拡大縮小倍率 = new Vector3( 0.5f, 0.5f, 1f );

                        using (CPrivateFastFont pfTITLE = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.SongLoading_Title_FontSize))
                        {
                            using (var bmpSongTitle = pfTITLE.DrawPrivateFont(タイトル, TJAPlayer3.Skin.SongLoading_Title_ForeColor, TJAPlayer3.Skin.SongLoading_Title_BackColor))
                            {
                                this.txタイトル            = TJAPlayer3.tテクスチャの生成(bmpSongTitle);
                                this.txタイトル.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref txタイトル, 710);
                            }
                        }

                        using (CPrivateFastFont pfSUBTITLE = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), TJAPlayer3.Skin.SongLoading_SubTitle_FontSize))
                        {
                            using (var bmpSongSubTitle = pfSUBTITLE.DrawPrivateFont(サブタイトル, TJAPlayer3.Skin.SongLoading_SubTitle_ForeColor, TJAPlayer3.Skin.SongLoading_SubTitle_BackColor))
                            {
                                this.txサブタイトル = TJAPlayer3.tテクスチャの生成(bmpSongSubTitle);
                            }
                        }
                    }
                    else
                    {
                        this.txタイトル   = null;
                        this.txサブタイトル = null;
                    }
                }
                catch (CTextureCreateFailedException e)
                {
                    Trace.TraceError(e.ToString());
                    this.txタイトル   = null;
                    this.txサブタイトル = null;
                }
                base.OnManagedリソースの作成();
            }
        }
Пример #11
0
        public void tNamePlateInit()
        {
            if (TJAPlayer3.ConfigIni.FontName != null)
            {
                pfName  = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 14);
                pfTitle = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 8);
            }
            else
            {
                pfName  = new CPrivateFastFont(new FontFamily("MS Gothic UI"), 14);
                pfTitle = new CPrivateFastFont(new FontFamily("MS Gothic UI"), 8);
            }

            using (var NameTexture = pfName.DrawPrivateFont("れんくん!", Color.White, Color.Black))
            {
                txName = TJAPlayer3.tテクスチャの生成(NameTexture);
            }

            using (var TitleTexture = pfTitle.DrawPrivateFont("ニジイロ八段は神", Color.Black, Color.Empty))
            {
                txTitle = TJAPlayer3.tテクスチャの生成(TitleTexture);
            }
        }
Пример #12
0
        public override void OnManagedリソースの作成()                                                                                         // OPTIONと画像以外共通
        {
            if (!base.b活性化してない)
            {
                ctBackgroundAnime = new CCounter(0, 1280, 20, TJAPlayer3.Timer);
                //this.tx背景 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_background.jpg" ), false );
                //this.tx上部パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_header panel.png" ) );
                //this.tx下部パネル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\4_footer panel.png" ) );
                //this.txMenuカーソル = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\ScreenConfig menu cursor.png" ) );
                string[] strMenuItem = { "System", "Drums", "Exit" };
                txMenuItemLeft = new CTexture[strMenuItem.Length, 2];
                using (var prvFont = new CPrivateFastFont(CSkin.Path(@"mplus-1p-heavy.ttf"), 20))
                {
                    for (int i = 0; i < strMenuItem.Length; i++)
                    {
                        using (var bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black))
                        {
                            txMenuItemLeft[i, 0] = TJAPlayer3.tテクスチャの生成(bmpStr, false);
                        }
                        using (var bmpStr = prvFont.DrawPrivateFont(strMenuItem[i], Color.White, Color.Black, Color.Yellow, Color.OrangeRed))
                        {
                            txMenuItemLeft[i, 1] = TJAPlayer3.tテクスチャの生成(bmpStr, false);
                        }
                    }
                }

                if (this.bメニューにフォーカス中)
                {
                    this.t説明文パネルに現在選択されているメニューの説明を描画する();
                }
                else
                {
                    this.t説明文パネルに現在選択されている項目の説明を描画する();
                }
                base.OnManagedリソースの作成();
            }
        }
        public override int On進行描画()
        {
            if (base.b活性化してない)
            {
                return(0);
            }

            #region [ 初めての進行描画 ]
            //-----------------------------
            if (base.b初めての進行描画)
            {
                if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
                {
                    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現在時刻ms;
                        this.nBGMの総再生時間ms = this.sd読み込み音.n総演奏時間ms;
                    }
                    else
                    {
                        TJAPlayer3.Skin.sound曲読込開始音.t再生する();
                        this.nBGM再生開始時刻   = CSound管理.rc演奏用タイマ.n現在時刻ms;
                        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("MS UI Gothic", 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 (TJAPlayer3.ConfigIni.bEnableSkinV2)
            {
                if (TJAPlayer3.Tx.SongLoading_v2_BG != null)
                {
                    TJAPlayer3.Tx.SongLoading_v2_BG.t2D描画(TJAPlayer3.app.Device, 0, 0);
                }
            }
            else
            {
                if (TJAPlayer3.Tx.SongLoading_BG != null)
                {
                    TJAPlayer3.Tx.SongLoading_BG.t2D描画(TJAPlayer3.app.Device, CTexture.RefPnt.Center, GameWindowSize.Width / 2, GameWindowSize.Height / 2);
                }
            }

            if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
            {
                if (TJAPlayer3.ConfigIni.bEnableSkinV2)
                {
                    if (TJAPlayer3.Tx.SongLoading_v2_Plate != null)
                    {
                        TJAPlayer3.Tx.SongLoading_v2_Plate.bスクリーン合成 = TJAPlayer3.Skin.SongLoading_Plate_ScreenBlend;                         //あまりにも出番が無い
                        TJAPlayer3.Tx.SongLoading_v2_Plate.Opacity  = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0));
                        if (TJAPlayer3.Skin.SongLoading_v2_Plate_ReferencePoint == CSkin.ReferencePoint.Left)
                        {
                            TJAPlayer3.Tx.SongLoading_v2_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Plate_X, TJAPlayer3.Skin.SongLoading_v2_Plate_Y - (TJAPlayer3.Tx.SongLoading_v2_Plate.sz画像サイズ.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_Plate_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            TJAPlayer3.Tx.SongLoading_v2_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Plate_X - TJAPlayer3.Tx.SongLoading_v2_Plate.sz画像サイズ.Width, TJAPlayer3.Skin.SongLoading_v2_Plate_Y - (TJAPlayer3.Tx.SongLoading_v2_Plate.sz画像サイズ.Height / 2));
                        }
                        else
                        {
                            TJAPlayer3.Tx.SongLoading_v2_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Plate_X - (TJAPlayer3.Tx.SongLoading_v2_Plate.sz画像サイズ.Width / 2), TJAPlayer3.Skin.SongLoading_v2_Plate_Y - (TJAPlayer3.Tx.SongLoading_v2_Plate.sz画像サイズ.Height / 2));
                        }
                    }

                    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_v2_Title_ReferencePoint == CSkin.ReferencePoint.Left)
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Title_X, TJAPlayer3.Skin.SongLoading_v2_Title_Y - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正);
                        }
                        else if (TJAPlayer3.Skin.SongLoading_v2_Title_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Title_X - (this.txタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X), TJAPlayer3.Skin.SongLoading_v2_Title_Y - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正);
                        }
                        else
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_v2_Title_X - ((this.txタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X) / 2)), TJAPlayer3.Skin.SongLoading_v2_Title_Y - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正);
                        }
                    }
                    if (this.txサブタイトル != null)
                    {
                        this.txサブタイトル.Opacity = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0));
                        if (TJAPlayer3.Skin.SongLoading_v2_SubTitle_ReferencePoint == CSkin.ReferencePoint.Left)
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_SubTitle_X, TJAPlayer3.Skin.SongLoading_v2_SubTitle_Y - (this.txサブタイトル.sz画像サイズ.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_v2_SubTitle_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_SubTitle_X - (this.txサブタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X), TJAPlayer3.Skin.SongLoading_v2_SubTitle_Y - (this.txサブタイトル.sz画像サイズ.Height / 2));
                        }
                        else
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_v2_SubTitle_X - ((this.txサブタイトル.sz画像サイズ.Width * txサブタイトル.vc拡大縮小倍率.X) / 2)), TJAPlayer3.Skin.SongLoading_v2_SubTitle_Y - (this.txサブタイトル.sz画像サイズ.Height / 2));
                        }
                    }
                }
                else
                {
                    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_X, TJAPlayer3.Skin.SongLoading_Plate_Y - (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_X - TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Width, TJAPlayer3.Skin.SongLoading_Plate_Y - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Height / 2));
                        }
                        else
                        {
                            TJAPlayer3.Tx.SongLoading_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Plate_X - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Width / 2), TJAPlayer3.Skin.SongLoading_Plate_Y - (TJAPlayer3.Tx.SongLoading_Plate.sz画像サイズ.Height / 2));
                        }
                    }

                    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_X, TJAPlayer3.Skin.SongLoading_Title_Y - (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_X - (this.txタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X), TJAPlayer3.Skin.SongLoading_Title_Y - (this.txタイトル.sz画像サイズ.Height / 2) + nサブタイトル補正);
                        }
                        else
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_Title_X - ((this.txタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X) / 2)), TJAPlayer3.Skin.SongLoading_Title_Y - (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_X, TJAPlayer3.Skin.SongLoading_SubTitle_Y - (this.txサブタイトル.sz画像サイズ.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_SubTitle_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_SubTitle_X - (this.txサブタイトル.sz画像サイズ.Width * txタイトル.vc拡大縮小倍率.X), TJAPlayer3.Skin.SongLoading_SubTitle_Y - (this.txサブタイトル.sz画像サイズ.Height / 2));
                        }
                        else
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_SubTitle_X - ((this.txサブタイトル.sz画像サイズ.Width * txサブタイトル.vc拡大縮小倍率.X) / 2)), TJAPlayer3.Skin.SongLoading_SubTitle_Y - (this.txサブタイトル.sz画像サイズ.Height / 2));
                        }
                    }
                }
            }
            //-----------------------------
            #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;
                string str = TJAPlayer3.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス;


                CScoreIni ini = new CScoreIni(str + ".score.ini");

                if ((TJAPlayer3.DTX[0] != null) && TJAPlayer3.DTX[0].b活性化してる)
                {
                    TJAPlayer3.DTX[0].On非活性化();
                }

                //if( CDTXMania.DTX == null )
                {
                    TJAPlayer3.DTX[0] = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, true);
                    if (TJAPlayer3.ConfigIni.nPlayerCount == 2)
                    {
                        TJAPlayer3.DTX[1] = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 1, true);
                    }

                    Trace.TraceInformation("----曲情報-----------------");
                    Trace.TraceInformation("TITLE: {0}", TJAPlayer3.DTX[0].TITLE);
                    Trace.TraceInformation("FILE: {0}", TJAPlayer3.DTX[0].strファイル名の絶対パス);
                    Trace.TraceInformation("---------------------------");

                    TimeSpan span = (TimeSpan)(DateTime.Now - timeBeginLoad);
                    Trace.TraceInformation("DTX読込所要時間:           {0}", span.ToString());

                    // 段位認定モード用。
                    if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan && TJAPlayer3.DTX[0].List_DanSongs != null)
                    {
                        for (int i = 0; i < TJAPlayer3.DTX[0].List_DanSongs.Count; i++)
                        {
                            if (!string.IsNullOrEmpty(TJAPlayer3.DTX[0].List_DanSongs[i].Title))
                            {
                                using (CPrivateFastFont pfTitle = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 32))
                                {
                                    using (var bmpSongTitle = pfTitle.DrawPrivateFont(TJAPlayer3.DTX[0].List_DanSongs[i].Title, TJAPlayer3.Skin.Game_DanC_Title_ForeColor, TJAPlayer3.Skin.Game_DanC_Title_BackColor))
                                    {
                                        TJAPlayer3.DTX[0].List_DanSongs[i].TitleTex            = TJAPlayer3.tテクスチャの生成(bmpSongTitle);
                                        TJAPlayer3.DTX[0].List_DanSongs[i].TitleTex.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref TJAPlayer3.DTX[0].List_DanSongs[i].TitleTex, 710);
                                    }
                                }
                            }

                            if (!string.IsNullOrEmpty(TJAPlayer3.DTX[0].List_DanSongs[i].SubTitle))
                            {
                                using (CPrivateFastFont pfSubTitle = new CPrivateFastFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 19))
                                {
                                    using (var bmpSongSubTitle = pfSubTitle.DrawPrivateFont(TJAPlayer3.DTX[0].List_DanSongs[i].SubTitle, TJAPlayer3.Skin.Game_DanC_SubTitle_ForeColor, TJAPlayer3.Skin.Game_DanC_SubTitle_BackColor))
                                    {
                                        TJAPlayer3.DTX[0].List_DanSongs[i].SubTitleTex            = TJAPlayer3.tテクスチャの生成(bmpSongSubTitle);
                                        TJAPlayer3.DTX[0].List_DanSongs[i].SubTitleTex.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref TJAPlayer3.DTX[0].List_DanSongs[i].SubTitleTex, 710);
                                    }
                                }
                            }
                        }
                    }
                }

                base.eフェーズID     = CStage.Eフェーズ.NOWLOADING_WAV読み込み待機;
                timeBeginLoadWAV = DateTime.Now;
                return((int)E曲読込画面の戻り値.継続);
            }

            case CStage.Eフェーズ.NOWLOADING_WAV読み込み待機:
            {
                if (this.ct待機.n現在の値 > 260)
                {
                    base.eフェーズID = CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む;
                }
                return((int)E曲読込画面の戻り値.継続);
            }

            case CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む:
            {
                if (nWAVcount == 1 && TJAPlayer3.DTX[0].listWAV.Count > 0)                                                      // #28934 2012.7.7 yyagi (added checking Count)
                {
                    ShowProgressByFilename(TJAPlayer3.DTX[0].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[0].listWAV.Count; i++)
                {
                    if (TJAPlayer3.DTX[0].listWAV[nWAVcount].listこのWAVを使用するチャンネル番号の集合.Count > 0)                                                // #28674 2012.5.8 yyagi
                    {
                        TJAPlayer3.DTX[0].tWAVの読み込み(TJAPlayer3.DTX[0].listWAV[nWAVcount]);
                    }
                    nWAVcount++;
                }
                if (nWAVcount <= TJAPlayer3.DTX[0].listWAV.Count)
                {
                    ShowProgressByFilename(TJAPlayer3.DTX[0].listWAV[nWAVcount].strファイル名);
                }
                if (nWAVcount > TJAPlayer3.DTX[0].listWAV.Count)
                {
                    TimeSpan span = ( TimeSpan )(DateTime.Now - timeBeginLoadWAV);
                    Trace.TraceInformation("WAV読込所要時間({0,4}):     {1}", TJAPlayer3.DTX[0].listWAV.Count, span.ToString());
                    timeBeginLoadWAV = DateTime.Now;

                    if (TJAPlayer3.ConfigIni.bDynamicBassMixerManagement)
                    {
                        TJAPlayer3.DTX[0].PlanToAddMixerChannel();
                    }

                    for (int nPlayer = 0; nPlayer < TJAPlayer3.ConfigIni.nPlayerCount; nPlayer++)
                    {
                        TJAPlayer3.DTX[nPlayer].t太鼓チップのランダム化(TJAPlayer3.ConfigIni.eRandom[nPlayer]);
                        //太鼓チップをランダム化する際、1P後2Pの処理をすぐに行うと、
                        //1Pと酷似した、もしくは全く同じチップが流れてしまうので、
                        //1Pのランダム化後、ある程度時間を空ける。
                        Stopwatch sw = new Stopwatch();
                        sw.Start();
                        for (int i = 0; i < 1;)
                        {
                            if (sw.ElapsedMilliseconds >= 500)
                            {
                                sw.Reset();
                                i++;
                            }
                        }
                    }

                    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[0].tAVIの読み込み();
                }
                span = ( TimeSpan )(DateTime.Now - timeBeginLoadBMPAVI);

                span = ( TimeSpan )(DateTime.Now - timeBeginLoad);
                Trace.TraceInformation("総読込時間:                {0}", span.ToString());

                if (TJAPlayer3.ConfigIni.FastRender)
                {
                    FastRender.Render();                                    //staticに変更 インスタンス作成不要
                }

                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現在時刻ms;
                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曲読込画面の戻り値.継続);
        }
Пример #14
0
        public override int On進行描画()
        {
            if (base.b活性化してない)
            {
                return(0);
            }

            #region [ 初めての進行描画 ]
            //-----------------------------
            if (base.b初めての進行描画)
            {
                if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
                {
                    if (this.sd読み込み音 != null)
                    {
                        if (TJAPlayer3.Skin.sound曲読込開始音.b排他 && (CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド != null))
                        {
                            CSkin.Cシステムサウンド.r最後に再生した排他システムサウンド.t停止する();
                        }
                        this.sd読み込み音.t再生を開始する();
                        this.nBGM再生開始時刻   = CSoundManager.rc演奏用タイマ.n現在時刻ms;
                        this.nBGMの総再生時間ms = this.sd読み込み音.n総演奏時間ms;
                    }
                    else
                    {
                        TJAPlayer3.Skin.sound曲読込開始音.t再生する();
                        this.nBGM再生開始時刻   = CSoundManager.rc演奏用タイマ.n現在時刻ms;
                        this.nBGMの総再生時間ms = TJAPlayer3.Skin.sound曲読込開始音.n長さ_現在のサウンド;
                    }
                }
                //this.actFI.tFadeIn開始();							// #27787 2012.3.10 yyagi 曲読み込み画面のFadeInの省略
                base.eフェーズID   = CStage.Eフェーズ.共通_FadeIn;
                base.b初めての進行描画 = false;

                nWAVcount = 1;
            }
            //-----------------------------
            #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 (TJAPlayer3.ConfigIni.bEnableSkinV2)
            {
                if (TJAPlayer3.Tx.SongLoading_v2_BG != null)
                {
                    TJAPlayer3.Tx.SongLoading_v2_BG.t2D描画(TJAPlayer3.app.Device, 0, 0);
                }
            }
            else
            {
                if (TJAPlayer3.Tx.SongLoading_BG != null)
                {
                    TJAPlayer3.Tx.SongLoading_BG.t2D描画(TJAPlayer3.app.Device, CTexture.RefPnt.Center, GameWindowSize.Width / 2, GameWindowSize.Height / 2);
                }
            }

            if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
            {
                if (TJAPlayer3.ConfigIni.bEnableSkinV2)
                {
                    if (TJAPlayer3.Tx.SongLoading_v2_Plate != null)
                    {
                        TJAPlayer3.Tx.SongLoading_v2_Plate.eBlendMode = TJAPlayer3.Skin.SongLoading_Plate_ScreenBlend ? CTexture.EBlendMode.Screen : CTexture.EBlendMode.Normal;                         //あまりにも出番が無い
                        TJAPlayer3.Tx.SongLoading_v2_Plate.Opacity    = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0));
                        if (TJAPlayer3.Skin.SongLoading_v2_Plate_ReferencePoint == CSkin.ReferencePoint.Left)
                        {
                            TJAPlayer3.Tx.SongLoading_v2_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Plate_X, TJAPlayer3.Skin.SongLoading_v2_Plate_Y - (TJAPlayer3.Tx.SongLoading_v2_Plate.szTextureSize.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_Plate_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            TJAPlayer3.Tx.SongLoading_v2_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Plate_X - TJAPlayer3.Tx.SongLoading_v2_Plate.szTextureSize.Width, TJAPlayer3.Skin.SongLoading_v2_Plate_Y - (TJAPlayer3.Tx.SongLoading_v2_Plate.szTextureSize.Height / 2));
                        }
                        else
                        {
                            TJAPlayer3.Tx.SongLoading_v2_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Plate_X - (TJAPlayer3.Tx.SongLoading_v2_Plate.szTextureSize.Width / 2), TJAPlayer3.Skin.SongLoading_v2_Plate_Y - (TJAPlayer3.Tx.SongLoading_v2_Plate.szTextureSize.Height / 2));
                        }
                    }

                    if (this.txタイトル != null)
                    {
                        int nサブタイトル補正 = string.IsNullOrEmpty(TJAPlayer3.stage選曲.r確定されたスコア.譜面情報.strSubTitle) ? 15 : 0;

                        this.txタイトル.Opacity = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0));
                        if (TJAPlayer3.Skin.SongLoading_v2_Title_ReferencePoint == CSkin.ReferencePoint.Left)
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Title_X, TJAPlayer3.Skin.SongLoading_v2_Title_Y - (this.txタイトル.szTextureSize.Height / 2) + nサブタイトル補正);
                        }
                        else if (TJAPlayer3.Skin.SongLoading_v2_Title_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_Title_X - (this.txタイトル.szTextureSize.Width * txタイトル.vcScaling.X), TJAPlayer3.Skin.SongLoading_v2_Title_Y - (this.txタイトル.szTextureSize.Height / 2) + nサブタイトル補正);
                        }
                        else
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_v2_Title_X - ((this.txタイトル.szTextureSize.Width * txタイトル.vcScaling.X) / 2)), TJAPlayer3.Skin.SongLoading_v2_Title_Y - (this.txタイトル.szTextureSize.Height / 2) + nサブタイトル補正);
                        }
                    }
                    if (this.txサブタイトル != null)
                    {
                        this.txサブタイトル.Opacity = C変換.nParsentTo255((this.ct曲名表示.n現在の値 / 30.0));
                        if (TJAPlayer3.Skin.SongLoading_v2_SubTitle_ReferencePoint == CSkin.ReferencePoint.Left)
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_SubTitle_X, TJAPlayer3.Skin.SongLoading_v2_SubTitle_Y - (this.txサブタイトル.szTextureSize.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_v2_SubTitle_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_v2_SubTitle_X - (this.txサブタイトル.szTextureSize.Width * txタイトル.vcScaling.X), TJAPlayer3.Skin.SongLoading_v2_SubTitle_Y - (this.txサブタイトル.szTextureSize.Height / 2));
                        }
                        else
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_v2_SubTitle_X - ((this.txサブタイトル.szTextureSize.Width * txサブタイトル.vcScaling.X) / 2)), TJAPlayer3.Skin.SongLoading_v2_SubTitle_Y - (this.txサブタイトル.szTextureSize.Height / 2));
                        }
                    }
                }
                else
                {
                    if (TJAPlayer3.Tx.SongLoading_Plate != null)
                    {
                        TJAPlayer3.Tx.SongLoading_Plate.eBlendMode = TJAPlayer3.Skin.SongLoading_Plate_ScreenBlend ? CTexture.EBlendMode.Screen : CTexture.EBlendMode.Normal;                         //あまりにも出番が無い
                        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_X, TJAPlayer3.Skin.SongLoading_Plate_Y - (TJAPlayer3.Tx.SongLoading_Plate.szTextureSize.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_Plate_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            TJAPlayer3.Tx.SongLoading_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Plate_X - TJAPlayer3.Tx.SongLoading_Plate.szTextureSize.Width, TJAPlayer3.Skin.SongLoading_Plate_Y - (TJAPlayer3.Tx.SongLoading_Plate.szTextureSize.Height / 2));
                        }
                        else
                        {
                            TJAPlayer3.Tx.SongLoading_Plate.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Plate_X - (TJAPlayer3.Tx.SongLoading_Plate.szTextureSize.Width / 2), TJAPlayer3.Skin.SongLoading_Plate_Y - (TJAPlayer3.Tx.SongLoading_Plate.szTextureSize.Height / 2));
                        }
                    }

                    if (this.txタイトル != null)
                    {
                        int nサブタイトル補正 = string.IsNullOrEmpty(TJAPlayer3.stage選曲.r確定されたスコア.譜面情報.strSubTitle) ? 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_X, TJAPlayer3.Skin.SongLoading_Title_Y - (this.txタイトル.szTextureSize.Height / 2) + nサブタイトル補正);
                        }
                        else if (TJAPlayer3.Skin.SongLoading_Title_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_Title_X - (this.txタイトル.szTextureSize.Width * txタイトル.vcScaling.X), TJAPlayer3.Skin.SongLoading_Title_Y - (this.txタイトル.szTextureSize.Height / 2) + nサブタイトル補正);
                        }
                        else
                        {
                            this.txタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_Title_X - ((this.txタイトル.szTextureSize.Width * txタイトル.vcScaling.X) / 2)), TJAPlayer3.Skin.SongLoading_Title_Y - (this.txタイトル.szTextureSize.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_X, TJAPlayer3.Skin.SongLoading_SubTitle_Y - (this.txサブタイトル.szTextureSize.Height / 2));
                        }
                        else if (TJAPlayer3.Skin.SongLoading_SubTitle_ReferencePoint == CSkin.ReferencePoint.Right)
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, TJAPlayer3.Skin.SongLoading_SubTitle_X - (this.txサブタイトル.szTextureSize.Width * txタイトル.vcScaling.X), TJAPlayer3.Skin.SongLoading_SubTitle_Y - (this.txサブタイトル.szTextureSize.Height / 2));
                        }
                        else
                        {
                            this.txサブタイトル.t2D描画(TJAPlayer3.app.Device, (TJAPlayer3.Skin.SongLoading_SubTitle_X - ((this.txサブタイトル.szTextureSize.Width * txサブタイトル.vcScaling.X) / 2)), TJAPlayer3.Skin.SongLoading_SubTitle_Y - (this.txサブタイトル.szTextureSize.Height / 2));
                        }
                    }
                }
            }
            //-----------------------------
            #endregion

            switch (base.eフェーズID)
            {
            case CStage.Eフェーズ.共通_FadeIn:
                //if( this.actFI.On進行描画() != 0 )			    // #27787 2012.3.10 yyagi 曲読み込み画面のFadeInの省略
                // 必ず一度「CStaeg.Eフェーズ.共通_FadeIn」フェーズを経由させること。
                // さもないと、曲読み込みが完了するまで、曲読み込み画面が描画されない。
                base.eフェーズID = CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む;
                return((int)E曲読込画面の戻り値.継続);

            case CStage.Eフェーズ.NOWLOADING_DTXファイルを読み込む:
            {
                timeBeginLoad = DateTime.Now;
                string str = TJAPlayer3.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス;


                CScoreIni ini = new CScoreIni(str + ".score.ini");

                if ((TJAPlayer3.DTX[0] != null) && TJAPlayer3.DTX[0].b活性化してる)
                {
                    TJAPlayer3.DTX[0].On非活性化();
                }

                //if( CDTXMania.DTX == null )
                {
                    TJAPlayer3.DTX[0] = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 0, TJAPlayer3.ConfigIni.nPlayerCount >= 2 && TJAPlayer3.stage選曲.n確定された曲の難易度[0] == TJAPlayer3.stage選曲.n確定された曲の難易度[1]);
                    if (TJAPlayer3.ConfigIni.nPlayerCount == 2)
                    {
                        TJAPlayer3.DTX[1] = new CDTX(str, false, 1.0, ini.stファイル.BGMAdjust, 1, TJAPlayer3.ConfigIni.nPlayerCount >= 2 && TJAPlayer3.stage選曲.n確定された曲の難易度[0] == TJAPlayer3.stage選曲.n確定された曲の難易度[1]);
                    }

                    Trace.TraceInformation("----曲情報-----------------");
                    Trace.TraceInformation("TITLE: {0}", TJAPlayer3.DTX[0].TITLE);
                    Trace.TraceInformation("FILE: {0}", TJAPlayer3.DTX[0].strファイル名の絶対パス);
                    Trace.TraceInformation("---------------------------");

                    TimeSpan span = (TimeSpan)(DateTime.Now - timeBeginLoad);
                    Trace.TraceInformation("DTX読込所要時間:           {0}", span.ToString());

                    // 段位認定モード用。
                    if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Dan && TJAPlayer3.DTX[0].List_DanSongs != null)
                    {
                        for (int i = 0; i < TJAPlayer3.DTX[0].List_DanSongs.Count; i++)
                        {
                            if (!string.IsNullOrEmpty(TJAPlayer3.DTX[0].List_DanSongs[i].Title))
                            {
                                using (CPrivateFastFont pfTitle = new CPrivateFastFont(TJAPlayer3.ConfigIni.FontName, 32))
                                {
                                    using (var bmpSongTitle = pfTitle.DrawPrivateFont(TJAPlayer3.DTX[0].List_DanSongs[i].Title, TJAPlayer3.Skin.Game_DanC_Title_ForeColor, TJAPlayer3.Skin.Game_DanC_Title_BackColor, TJAPlayer3.Skin.Font_Edge_Ratio))
                                    {
                                        TJAPlayer3.DTX[0].List_DanSongs[i].TitleTex             = TJAPlayer3.tCreateTexture(bmpSongTitle);
                                        TJAPlayer3.DTX[0].List_DanSongs[i].TitleTex.vcScaling.X = TJAPlayer3.GetSongNameXScaling(ref TJAPlayer3.DTX[0].List_DanSongs[i].TitleTex, 710);
                                    }
                                }
                            }

                            if (!string.IsNullOrEmpty(TJAPlayer3.DTX[0].List_DanSongs[i].SubTitle))
                            {
                                using (CPrivateFastFont pfSubTitle = new CPrivateFastFont(TJAPlayer3.ConfigIni.FontName, 19))
                                {
                                    using (var bmpSongSubTitle = pfSubTitle.DrawPrivateFont(TJAPlayer3.DTX[0].List_DanSongs[i].SubTitle, TJAPlayer3.Skin.Game_DanC_SubTitle_ForeColor, TJAPlayer3.Skin.Game_DanC_SubTitle_BackColor, TJAPlayer3.Skin.Font_Edge_Ratio))
                                    {
                                        TJAPlayer3.DTX[0].List_DanSongs[i].SubTitleTex             = TJAPlayer3.tCreateTexture(bmpSongSubTitle);
                                        TJAPlayer3.DTX[0].List_DanSongs[i].SubTitleTex.vcScaling.X = TJAPlayer3.GetSongNameXScaling(ref TJAPlayer3.DTX[0].List_DanSongs[i].SubTitleTex, 710);
                                    }
                                }
                            }
                        }
                    }
                }

                base.eフェーズID     = CStage.Eフェーズ.NOWLOADING_WAV読み込み待機;
                timeBeginLoadWAV = DateTime.Now;
                return((int)E曲読込画面の戻り値.継続);
            }

            case CStage.Eフェーズ.NOWLOADING_WAV読み込み待機:
            {
                if (this.ct待機.n現在の値 > 260)
                {
                    base.eフェーズID = CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む;
                }
                return((int)E曲読込画面の戻り値.継続);
            }

            case CStage.Eフェーズ.NOWLOADING_WAVファイルを読み込む:
            {
                int looptime = (TJAPlayer3.ConfigIni.b垂直帰線待ちを行う)? 3 : 1;                                        // VSyncWait=ON時は1frame(1/60s)あたり3つ読むようにする
                for (int i = 0; i < looptime && nWAVcount <= TJAPlayer3.DTX[0].listWAV.Count; i++)
                {
                    if (TJAPlayer3.DTX[0].listWAV[nWAVcount].listこのWAVを使用するチャンネル番号の集合.Count > 0)                                                // #28674 2012.5.8 yyagi
                    {
                        TJAPlayer3.DTX[0].tWAVの読み込み(TJAPlayer3.DTX[0].listWAV[nWAVcount]);
                    }
                    nWAVcount++;
                }
                if (nWAVcount > TJAPlayer3.DTX[0].listWAV.Count)
                {
                    TimeSpan span = ( TimeSpan )(DateTime.Now - timeBeginLoadWAV);
                    Trace.TraceInformation("WAV読込所要時間({0,4}):     {1}", TJAPlayer3.DTX[0].listWAV.Count, span.ToString());
                    timeBeginLoadWAV = DateTime.Now;

                    if (TJAPlayer3.ConfigIni.bDynamicBassMixerManagement)
                    {
                        TJAPlayer3.DTX[0].PlanToAddMixerChannel();
                    }

                    for (int nPlayer = 0; nPlayer < TJAPlayer3.ConfigIni.nPlayerCount; nPlayer++)
                    {
                        TJAPlayer3.DTX[nPlayer].t太鼓チップのランダム化(TJAPlayer3.ConfigIni.eRandom[nPlayer]);
                    }

                    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[0].tAVIの読み込み();
                }
                span = ( TimeSpan )(DateTime.Now - timeBeginLoadBMPAVI);

                span = ( TimeSpan )(DateTime.Now - timeBeginLoad);
                Trace.TraceInformation("総読込時間:                {0}", span.ToString());

                if (TJAPlayer3.ConfigIni.FastRender)
                {
                    FastRender.Render();                                    //staticに変更 インスタンス作成不要
                }

                TJAPlayer3.Timer.t更新();
                //CSoundManager.rc演奏用タイマ.t更新();
                base.eフェーズID = CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ;
                return((int)E曲読込画面の戻り値.継続);
            }

            case CStage.Eフェーズ.NOWLOADING_システムサウンドBGMの完了を待つ:
            {
                long nCurrentTime = TJAPlayer3.Timer.n現在時刻ms;
                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 == FadeIn分の時間
                {
                    base.eフェーズID = CStage.Eフェーズ.共通_FadeOut;
                }
                return((int)E曲読込画面の戻り値.継続);
            }

            case CStage.Eフェーズ.共通_FadeOut:
                if (this.ct待機.b終了値に達してない)
                {
                    return((int)E曲読込画面の戻り値.継続);
                }

                if (this.sd読み込み音 != null)
                {
                    this.sd読み込み音.t解放する();
                }
                return((int)E曲読込画面の戻り値.読込完了);
            }
            return((int)E曲読込画面の戻り値.継続);
        }