public override void OnManagedリソースの作成() { this.b再生済み = false; //this.txバチお左_成功[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_L_00.png" ) ); //this.txバチお左_成功[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_L_01.png" ) ); //this.txバチお左_成功[ 2 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_L_02.png" ) ); //this.txバチお左_成功[ 3 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_L_03.png" ) ); //this.txバチお左_成功[ 4 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_L_04.png" ) ); //this.txバチお右_成功[ 0 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_R_00.png" ) ); //this.txバチお右_成功[ 1 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_R_01.png" ) ); //this.txバチお右_成功[ 2 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_R_02.png" ) ); //this.txバチお右_成功[ 3 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_R_03.png" ) ); //this.txバチお右_成功[ 4 ] = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Clear_R_04.png" ) ); //this.tx文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Text.png" ) ); //this.tx文字マスク = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\End\Text_Effect.png" ) ); //if( this.tx文字マスク != null ) // this.tx文字マスク.b加算合成 = true; this.soundClear = CDTXMania.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Clear.ogg")); base.OnManagedリソースの作成(); }
// CStage 実装 public override void On活性化() { Trace.TraceInformation("曲読み込みステージを活性化します。"); Trace.Indent(); try { this.str曲タイトル = ""; this.strSTAGEFILE = ""; if (!string.IsNullOrEmpty(CDTXMania.ConfigIni.FontName)) { this.pfTITLE = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.FontName), CDTXMania.Skin.SongLoading_Title_FontSize); this.pfSUBTITLE = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.FontName), CDTXMania.Skin.SongLoading_SubTitle_FontSize); } else { this.pfTITLE = new CPrivateFastFont(new FontFamily("MS UI Gothic"), CDTXMania.Skin.SongLoading_Title_FontSize); this.pfSUBTITLE = new CPrivateFastFont(new FontFamily("MS UI Gothic"), CDTXMania.Skin.SongLoading_SubTitle_FontSize); } this.nBGM再生開始時刻 = -1; this.nBGMの総再生時間ms = 0; if (this.sd読み込み音 != null) { CDTXMania.Sound管理.tサウンドを破棄する(this.sd読み込み音); this.sd読み込み音 = null; } if (CDTXMania.bコンパクトモード) { string strDTXファイルパス = CDTXMania.strコンパクトモードファイル; CDTX cdtx = new CDTX(strDTXファイルパス, true, 1.0, 0, 0); if (File.Exists(cdtx.strフォルダ名 + @"set.def")) { cdtx = new CDTX(strDTXファイルパス, true, 1.0, 0, 1); } this.str曲タイトル = cdtx.TITLE; this.strサブタイトル = cdtx.SUBTITLE; cdtx.On非活性化(); } else { string strDTXファイルパス = CDTXMania.stage選曲.r確定されたスコア.ファイル情報.ファイルの絶対パス; var strフォルダ名 = Path.GetDirectoryName(strDTXファイルパス) + @"\"; if (File.Exists(strフォルダ名 + @"set.def")) { var cdtx = new CDTX(strDTXファイルパス, true, 1.0, 0, 1); this.str曲タイトル = cdtx.TITLE; this.strサブタイトル = cdtx.SUBTITLE; cdtx.On非活性化(); } else { var 譜面情報 = CDTXMania.stage選曲.r確定されたスコア.譜面情報; this.str曲タイトル = 譜面情報.タイトル; 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 CDTXMania.IsPerformingCalibration = !CDTXMania.ConfigIni.b太鼓パートAutoPlay && CDTXMania.ConfigIni.nPlayerCount == 1 && str曲タイトル == "Input Calibration" && strサブタイトル == "TJAPlayer3 Developers"; this.strSTAGEFILE = CSkin.Path(@"Graphics\4_SongLoading\Background.png"); base.On活性化(); } finally { Trace.TraceInformation("曲読み込みステージの活性化を完了しました。"); Trace.Unindent(); } }
/// <summary> /// 2016.07.30 kairera0467 #36413 /// </summary> public void tSaveSkinConfig() { if (File.Exists(CSkin.Path(@"SkinConfig.ini"))) { StreamWriter sw = new StreamWriter(CSkin.Path(@"SkinConfig.ini"), false, Encoding.GetEncoding("unicode")); sw.WriteLine("; スキンごとでの設定ファイル。現在テスト段階です。"); sw.WriteLine("; ここで設定した数値が優先的に使用されます。"); sw.WriteLine(";"); sw.WriteLine("; 読み込み画面、演奏画面、ネームプレート、リザルト画面の曲名で使用するフォント名"); sw.WriteLine("DisplayFontName={0}", CDTXMania.ConfigIni.str曲名表示フォント); sw.WriteLine(); sw.WriteLine("; 選曲リストのフォント名"); sw.WriteLine("; Font name for select song item."); sw.WriteLine("SelectListFontName={0}", CDTXMania.ConfigIni.str選曲リストフォント); sw.WriteLine(); sw.WriteLine("; 選曲リストのフォントのサイズ[dot]"); sw.WriteLine("; Font size[dot] for select song item."); sw.WriteLine("SelectListFontSize={0}", CDTXMania.ConfigIni.n選曲リストフォントのサイズdot); sw.WriteLine(); sw.WriteLine("; ネームプレートタイプ"); sw.WriteLine("; 0:タイプA XG2風の表示がされます。"); sw.WriteLine("; 1:タイプB XG風の表示がされます。このタイプでは7_NamePlate_XG.png、7_Difficlty_XG.pngが読み込まれます。"); sw.WriteLine("NamePlateType={0}", (int)CDTXMania.ConfigIni.eNamePlate); sw.WriteLine(); sw.WriteLine("; 動くドラムセット(0:ON, 1:OFF, 2:NONE)"); sw.WriteLine("DrumSetMoves={0}", (int)CDTXMania.ConfigIni.eドラムセットを動かす); sw.WriteLine(); sw.WriteLine("; BPMバーの表示(0:表示する, 1:左のみ表示, 2:動くバーを表示しない, 3:表示しない)"); sw.WriteLine("BPMBar={0}", (int)CDTXMania.ConfigIni.eBPMbar); sw.WriteLine(); sw.WriteLine("; LivePointの表示(0:OFF, 1:ON)"); sw.WriteLine("LivePoint={0}", CDTXMania.ConfigIni.bLivePoint ? 1 : 0); sw.WriteLine(); sw.WriteLine("; スピーカーの表示(0:OFF, 1:ON)"); sw.WriteLine("Speaker={0}", CDTXMania.ConfigIni.bSpeaker ? 1 : 0); sw.WriteLine(); sw.WriteLine(";判定画像のアニメーション方式"); sw.WriteLine(";(0:旧DTXMania方式 1:コマ方式 2:擬似XG方式)"); sw.WriteLine("JudgeAnimeType={0}", CDTXMania.ConfigIni.nJudgeAnimeType); sw.WriteLine(); sw.WriteLine(";判定画像のコマ数"); sw.WriteLine("JudgeFrames={0}", CDTXMania.ConfigIni.nJudgeFrames); sw.WriteLine(); sw.WriteLine(";判定画像の1コマのフレーム数"); sw.WriteLine("JudgeInterval={0}", CDTXMania.ConfigIni.nJudgeInterval); sw.WriteLine(); sw.WriteLine(";判定画像の1コマの幅"); sw.WriteLine("JudgeWidgh={0}", CDTXMania.ConfigIni.nJudgeWidgh); sw.WriteLine(); sw.WriteLine(";判定画像の1コマの高さ"); sw.WriteLine("JudgeHeight={0}", CDTXMania.ConfigIni.nJudgeHeight); sw.WriteLine(); sw.WriteLine(";アタックエフェクトのコマ数"); sw.WriteLine("ExplosionFrames={0}", CDTXMania.ConfigIni.nExplosionFrames); sw.WriteLine(); sw.WriteLine(";アタックエフェクトの1コマのフレーム数"); sw.WriteLine("ExplosionInterval={0}", CDTXMania.ConfigIni.nExplosionInterval); sw.WriteLine(); sw.WriteLine(";アタックエフェクトの1コマの幅"); sw.WriteLine("ExplosionWidgh={0}", CDTXMania.ConfigIni.nExplosionWidgh); sw.WriteLine(); sw.WriteLine(";アタックエフェクトの1コマの高さ"); sw.WriteLine("ExplosionHeight={0}", CDTXMania.ConfigIni.nExplosionHeight); sw.WriteLine(); sw.WriteLine("ワイリングエフェクトのコマ数;"); sw.WriteLine("WailingFireFrames={0}", CDTXMania.ConfigIni.nWailingFireFrames); sw.WriteLine(); sw.WriteLine(";ワイリングエフェクトの1コマのフレーム数"); sw.WriteLine("WailingFireInterval={0}", CDTXMania.ConfigIni.nWailingFireInterval); sw.WriteLine(); sw.WriteLine(";ワイリングエフェクトの1コマの幅"); sw.WriteLine("WailingFireWidgh={0}", CDTXMania.ConfigIni.nWailingFireWidgh); sw.WriteLine(); sw.WriteLine(";ワイリングエフェクトの1コマの高さ"); sw.WriteLine("WailingFireHeight={0}", CDTXMania.ConfigIni.nWailingFireHeight); sw.WriteLine(); sw.WriteLine(";ワイリングエフェクトのX座標"); sw.WriteLine("WailingFirePosXGuitar={0}", CDTXMania.ConfigIni.nWailingFireX.Guitar); sw.WriteLine("WailingFirePosXBass={0}", CDTXMania.ConfigIni.nWailingFireX.Bass); sw.WriteLine(); sw.WriteLine(";ワイリングエフェクトのY座標(Guitar、Bass共通)"); sw.WriteLine("WailingFirePosY={0}", CDTXMania.ConfigIni.nWailingFireY); sw.WriteLine(); sw.Close(); } }
public void tGetDifficultyLabelFromScript(string strラベル名) { string strRawScriptFile; //ファイルの存在チェック if (File.Exists(CSkin.Path(@"Script\difficult.dtxs"))) { //スクリプトを開く StreamReader reader = new StreamReader(CSkin.Path(@"Script\difficult.dtxs"), Encoding.GetEncoding("Shift_JIS")); strRawScriptFile = reader.ReadToEnd(); strRawScriptFile = strRawScriptFile.Replace(Environment.NewLine, "\n"); string[] delimiter = { "\n" }; string[] strSingleLine = strRawScriptFile.Split(delimiter, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < strSingleLine.Length; i++) { if (strSingleLine[i].StartsWith("//")) { continue; //コメント行の場合は無視 } //まずSplit string[] arScriptLine = strSingleLine[i].Split(','); if ((arScriptLine.Length >= 4 && arScriptLine.Length <= 5) == false) { continue; //引数が4つか5つじゃなければ無視。 } if (arScriptLine[0] != "7") { continue; //使用するシーンが違うなら無視。 } if (arScriptLine.Length == 4) { if (String.Compare(arScriptLine[1], strラベル名, true) != 0) { continue; //ラベル名が違うなら無視。大文字小文字区別しない } } else if (arScriptLine.Length == 5) { if (arScriptLine[4] == "1") { if (arScriptLine[1] != strラベル名) { continue; //ラベル名が違うなら無視。 } } else { if (String.Compare(arScriptLine[1], strラベル名, true) != 0) { continue; //ラベル名が違うなら無視。大文字小文字区別しない } } } this.rectDiffPanelPoint.X = Convert.ToInt32(arScriptLine[2]); this.rectDiffPanelPoint.Y = Convert.ToInt32(arScriptLine[3]); reader.Close(); break; } } }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { this.txCharacter[0] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Ratenumber_s.png")); this.txCharacter[1] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Ratenumber_l.png")); this.txCharacter[2] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_numbers_large.png")); this.txNewRecord = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_New Record.png")); this.txSkillPanel = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_SkillPanel.png")); this.txExciteGauge = new CTexture[3]; this.txExciteGauge[0] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Gauge.png")); this.txExciteGauge[1] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_gauge_bar.png")); this.txExciteGauge[2] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_gauge_bar.jpg")); this.txScore = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_score numbersGD.png")); this.txSkillPanel = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_SkillPanel.png")); this.tx難易度パネル = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Difficulty.png")); this.tx難易度用数字 = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_LevelNumber.png")); //Load new textures this.txPercent = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_RatePercent_l.png")); this.txSkillMax = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_skill max.png")); for (int i = 0; i < 3; i++) { this.strPlayerName = string.IsNullOrEmpty(CDTXMania.ConfigIni.strCardName[i]) ? "GUEST" : CDTXMania.ConfigIni.strCardName[i]; this.strTitleName = string.IsNullOrEmpty(CDTXMania.ConfigIni.strGroupName[i]) ? "" : CDTXMania.ConfigIni.strGroupName[i]; Bitmap image2 = new Bitmap(257, 100); Graphics graネームプレート用 = Graphics.FromImage(image2); #region [ ネームカラー ] //-------------------- Color clNameColor = Color.White; Color clNameColorLower = Color.White; switch (CDTXMania.ConfigIni.nNameColor[0]) { case 0: clNameColor = Color.White; break; case 1: clNameColor = Color.LightYellow; break; case 2: clNameColor = Color.Yellow; break; case 3: clNameColor = Color.Green; break; case 4: clNameColor = Color.Blue; break; case 5: clNameColor = Color.Purple; break; case 6: clNameColor = Color.Red; break; case 7: clNameColor = Color.Brown; break; case 8: clNameColor = Color.Silver; break; case 9: clNameColor = Color.Gold; break; case 10: clNameColor = Color.White; break; case 11: clNameColor = Color.LightYellow; clNameColorLower = Color.White; break; case 12: clNameColor = Color.Yellow; clNameColorLower = Color.White; break; case 13: clNameColor = Color.FromArgb(0, 255, 33); clNameColorLower = Color.White; break; case 14: clNameColor = Color.FromArgb(0, 38, 255); clNameColorLower = Color.White; break; case 15: clNameColor = Color.FromArgb(72, 0, 255); clNameColorLower = Color.White; break; case 16: clNameColor = Color.FromArgb(255, 255, 0, 0); clNameColorLower = Color.White; break; case 17: clNameColor = Color.FromArgb(255, 232, 182, 149); clNameColorLower = Color.FromArgb(255, 122, 69, 26); break; case 18: clNameColor = Color.FromArgb(246, 245, 255); clNameColorLower = Color.FromArgb(125, 128, 137); break; case 19: clNameColor = Color.FromArgb(255, 238, 196, 85); clNameColorLower = Color.FromArgb(255, 255, 241, 200); break; } //-------------------- #endregion #region [ 名前とか ] Bitmap bmpCardName = new Bitmap(1, 1); bmpCardName = this.prv表示用フォント.DrawPrivateFont(this.strPlayerName, Color.White, Color.Transparent, clNameColor, (CDTXMania.ConfigIni.nNameColor[i] > 11 ? clNameColorLower : clNameColor)); Bitmap bmpTitleName = new Bitmap(1, 1); bmpTitleName = this.prv称号フォント.DrawPrivateFont(this.strTitleName, Color.White, Color.Transparent); graネームプレート用.DrawImage(bmpCardName, -2f, 26f); graネームプレート用.DrawImage(bmpTitleName, 6f, 8f); #endregion CDTXMania.t安全にDisposeする(ref bmpCardName); CDTXMania.t安全にDisposeする(ref bmpTitleName); this.txネームプレート用文字[i] = new CTexture(CDTXMania.app.Device, image2, CDTXMania.TextureFormat, false); CDTXMania.t安全にDisposeする(ref image2); CDTXMania.t安全にDisposeする(ref graネームプレート用); } this.prv表示用フォント.Dispose(); this.prv称号フォント.Dispose(); this.tGetDifficultyLabelFromScript(CDTXMania.stageSongSelection.rConfirmedSong.arDifficultyLabel[CDTXMania.stageSongSelection.nConfirmedSongDifficulty]); base.OnManagedCreateResources(); } }
public void LoadTexture() { #region 共通 Tile_Black = TxC(@"Tile_Black.png"); Tile_White = TxC(@"Tile_White.png"); Menu_Title = TxC(@"Menu_Title.png"); Menu_Highlight = TxC(@"Menu_Highlight.png"); Enum_Song = TxC(@"Enum_Song.png"); Scanning_Loudness = TxC(@"Scanning_Loudness.png"); Overlay = TxC(@"Overlay.png"); NamePlate = new CTexture[2]; NamePlate[0] = TxC(@"1P_NamePlate.png"); NamePlate[1] = TxC(@"2P_NamePlate.png"); #endregion #region 1_タイトル画面 Title_Background = TxC(TITLE + @"Background.png"); Title_Menu = TxC(TITLE + @"Menu.png"); #endregion #region 2_コンフィグ画面 Config_Background = TxC(CONFIG + @"Background.png"); Config_Cursor = TxC(CONFIG + @"Cursor.png"); Config_ItemBox = TxC(CONFIG + @"ItemBox.png"); Config_Arrow = TxC(CONFIG + @"Arrow.png"); Config_KeyAssign = TxC(CONFIG + @"KeyAssign.png"); Config_Font = TxC(CONFIG + @"Font.png"); Config_Font_Bold = TxC(CONFIG + @"Font_Bold.png"); Config_Enum_Song = TxC(CONFIG + @"Enum_Song.png"); #endregion #region 3_選曲画面 SongSelect_Background = TxC(SONGSELECT + @"Background.png"); SongSelect_Header = TxC(SONGSELECT + @"Header.png"); SongSelect_Footer = TxC(SONGSELECT + @"Footer.png"); SongSelect_Difficulty = TxC(SONGSELECT + @"Difficulty.png"); SongSelect_Auto = TxC(SONGSELECT + @"Auto.png"); SongSelect_Level = TxC(SONGSELECT + @"Level.png"); SongSelect_Branch = TxC(SONGSELECT + @"Branch.png"); SongSelect_Branch_Text = TxC(SONGSELECT + @"Branch_Text.png"); SongSelect_Bar_Center = TxC(SONGSELECT + @"Bar_Center.png"); SongSelect_Frame_Score = TxC(SONGSELECT + @"Frame_Score.png"); SongSelect_Frame_Box = TxC(SONGSELECT + @"Frame_Box.png"); SongSelect_Frame_BackBox = TxC(SONGSELECT + @"Frame_BackBox.png"); SongSelect_Frame_Random = TxC(SONGSELECT + @"Frame_Random.png"); SongSelect_Score_Select = TxC(SONGSELECT + @"Score_Select.png"); //SongSelect_Frame_Dani = TxC(SONGSELECT + @"Frame_Dani.png"); SongSelect_GenreText = TxC(SONGSELECT + @"GenreText.png"); SongSelect_Cursor_Left = TxC(SONGSELECT + @"Cursor_Left.png"); SongSelect_Cursor_Right = TxC(SONGSELECT + @"Cursor_Right.png"); for (int i = 0; i < 9; i++) { SongSelect_Bar_Genre[i] = TxC(SONGSELECT + @"Bar_Genre_" + i.ToString() + ".png"); } for (int i = 0; i < 5; i++) { SongSelect_ScoreWindow[i] = TxC(SONGSELECT + @"ScoreWindow_" + i.ToString() + ".png"); } for (int i = 0; i < 9; i++) { SongSelect_GenreBack[i] = TxC(SONGSELECT + @"GenreBackground_" + i.ToString() + ".png"); } SongSelect_ScoreWindow_Text = TxC(SONGSELECT + @"ScoreWindow_Text.png"); #endregion #region 4_読み込み画面 SongLoading_Plate = TxC(SONGLOADING + @"Plate.png"); SongLoading_FadeIn = TxC(SONGLOADING + @"FadeIn.png"); SongLoading_FadeOut = TxC(SONGLOADING + @"FadeOut.png"); #endregion #region 5_演奏画面 #region 共通 Notes = TxC(GAME + @"Notes.png"); Judge_Frame = TxC(GAME + @"Notes.png"); SENotes = TxC(GAME + @"SENotes.png"); Notes_Arm = TxC(GAME + @"Notes_Arm.png"); Judge = TxC(GAME + @"Judge.png"); Judge_Meter = TxC(GAME + @"Judge_Meter.png"); Bar = TxC(GAME + @"Bar.png"); Bar_Branch = TxC(GAME + @"Bar_Branch.png"); #endregion #region キャラクター CDTXMania.Skin.Game_Chara_Ptn_Normal = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"Normal\")); if (CDTXMania.Skin.Game_Chara_Ptn_Normal != 0) { Chara_Normal = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_Normal]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Normal; i++) { Chara_Normal[i] = TxC(GAME + CHARA + @"Normal\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_Clear = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"Clear\")); if (CDTXMania.Skin.Game_Chara_Ptn_Clear != 0) { Chara_Normal_Cleared = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_Clear]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Clear; i++) { Chara_Normal_Cleared[i] = TxC(GAME + CHARA + @"Clear\" + i.ToString() + ".png"); } } if (CDTXMania.Skin.Game_Chara_Ptn_Clear != 0) { Chara_Normal_Maxed = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_Clear]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Clear; i++) { Chara_Normal_Maxed[i] = TxC(GAME + CHARA + @"Clear_Max\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_GoGo = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"GoGo\")); if (CDTXMania.Skin.Game_Chara_Ptn_GoGo != 0) { Chara_GoGoTime = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_GoGo]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGo; i++) { Chara_GoGoTime[i] = TxC(GAME + CHARA + @"GoGo\" + i.ToString() + ".png"); } } if (CDTXMania.Skin.Game_Chara_Ptn_GoGo != 0) { Chara_GoGoTime_Maxed = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_GoGo]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGo; i++) { Chara_GoGoTime_Maxed[i] = TxC(GAME + CHARA + @"GoGo_Max\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_10combo = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"10combo\")); if (CDTXMania.Skin.Game_Chara_Ptn_10combo != 0) { Chara_10Combo = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_10combo]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_10combo; i++) { Chara_10Combo[i] = TxC(GAME + CHARA + @"10combo\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_10combo_Max = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"10combo_Max\")); if (CDTXMania.Skin.Game_Chara_Ptn_10combo_Max != 0) { Chara_10Combo_Maxed = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_10combo_Max]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_10combo_Max; i++) { Chara_10Combo_Maxed[i] = TxC(GAME + CHARA + @"10combo_Max\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_GoGoStart = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"GoGoStart\")); if (CDTXMania.Skin.Game_Chara_Ptn_GoGoStart != 0) { Chara_GoGoStart = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_GoGoStart]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGoStart; i++) { Chara_GoGoStart[i] = TxC(GAME + CHARA + @"GoGoStart\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_GoGoStart_Max = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"GoGoStart_Max\")); if (CDTXMania.Skin.Game_Chara_Ptn_GoGoStart_Max != 0) { Chara_GoGoStart_Maxed = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_GoGoStart_Max]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGoStart_Max; i++) { Chara_GoGoStart_Maxed[i] = TxC(GAME + CHARA + @"GoGoStart_Max\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_ClearIn = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"ClearIn\")); if (CDTXMania.Skin.Game_Chara_Ptn_ClearIn != 0) { Chara_Become_Cleared = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_ClearIn]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_ClearIn; i++) { Chara_Become_Cleared[i] = TxC(GAME + CHARA + @"ClearIn\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_SoulIn = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"SoulIn\")); if (CDTXMania.Skin.Game_Chara_Ptn_SoulIn != 0) { Chara_Become_Maxed = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_SoulIn]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_SoulIn; i++) { Chara_Become_Maxed[i] = TxC(GAME + CHARA + @"SoulIn\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_Balloon_Breaking = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"Balloon_Breaking\")); if (CDTXMania.Skin.Game_Chara_Ptn_Balloon_Breaking != 0) { Chara_Balloon_Breaking = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_Balloon_Breaking]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Balloon_Breaking; i++) { Chara_Balloon_Breaking[i] = TxC(GAME + CHARA + @"Balloon_Breaking\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_Balloon_Broke = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"Balloon_Broke\")); if (CDTXMania.Skin.Game_Chara_Ptn_Balloon_Broke != 0) { Chara_Balloon_Broke = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_Balloon_Broke]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Balloon_Broke; i++) { Chara_Balloon_Broke[i] = TxC(GAME + CHARA + @"Balloon_Broke\" + i.ToString() + ".png"); } } CDTXMania.Skin.Game_Chara_Ptn_Balloon_Miss = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + CHARA + @"Balloon_Miss\")); if (CDTXMania.Skin.Game_Chara_Ptn_Balloon_Miss != 0) { Chara_Balloon_Miss = new CTexture[CDTXMania.Skin.Game_Chara_Ptn_Balloon_Miss]; for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Balloon_Miss; i++) { Chara_Balloon_Miss[i] = TxC(GAME + CHARA + @"Balloon_Miss\" + i.ToString() + ".png"); } } #endregion #region り子 CDTXMania.Skin.Game_Dancer_Ptn = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + DANCER + @"1\")); if (CDTXMania.Skin.Game_Dancer_Ptn != 0) { Dancer = new CTexture[5][]; for (int i = 0; i < 5; i++) { Dancer[i] = new CTexture[CDTXMania.Skin.Game_Dancer_Ptn]; for (int p = 0; p < CDTXMania.Skin.Game_Dancer_Ptn; p++) { Dancer[i][p] = TxC(GAME + DANCER + (i + 1) + @"\" + p.ToString() + ".png"); } } } #endregion #region モブ CDTXMania.Skin.Game_Mob_Ptn = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + MOB)); Mob = new CTexture[CDTXMania.Skin.Game_Mob_Ptn]; for (int i = 0; i < CDTXMania.Skin.Game_Mob_Ptn; i++) { Mob[i] = TxC(GAME + MOB + i.ToString() + ".png"); } #endregion #region フッター Mob_Footer = TxC(GAME + FOOTER + @"0.png"); #endregion #region 背景 Background = TxC(GAME + Background + @"0\" + @"Background.png"); Background_Up = new CTexture[2]; Background_Up[0] = TxC(GAME + BACKGROUND + @"0\" + @"1P_Up.png"); Background_Up[1] = TxC(GAME + BACKGROUND + @"0\" + @"2P_Up.png"); Background_Up_Clear = new CTexture[2]; Background_Up_Clear[0] = TxC(GAME + BACKGROUND + @"0\" + @"1P_Up_Clear.png"); Background_Up_Clear[1] = TxC(GAME + BACKGROUND + @"0\" + @"2P_Up_Clear.png"); Background_Down = TxC(GAME + BACKGROUND + @"0\" + @"Down.png"); Background_Down_Clear = TxC(GAME + BACKGROUND + @"0\" + @"Down_Clear.png"); Background_Down_Scroll = TxC(GAME + BACKGROUND + @"0\" + @"Down_Scroll.png"); #endregion #region 太鼓 Taiko_Background = new CTexture[2]; Taiko_Background[0] = TxC(GAME + TAIKO + @"1P_Background.png"); Taiko_Background[1] = TxC(GAME + TAIKO + @"2P_Background.png"); Taiko_Frame = new CTexture[2]; Taiko_Frame[0] = TxC(GAME + TAIKO + @"1P_Frame.png"); Taiko_Frame[1] = TxC(GAME + TAIKO + @"2P_Frame.png"); Taiko_PlayerNumber = new CTexture[2]; Taiko_PlayerNumber[0] = TxC(GAME + TAIKO + @"1P_PlayerNumber.png"); Taiko_PlayerNumber[1] = TxC(GAME + TAIKO + @"2P_PlayerNumber.png"); Taiko_NamePlate = new CTexture[2]; Taiko_NamePlate[0] = TxC(GAME + TAIKO + @"1P_NamePlate.png"); Taiko_NamePlate[1] = TxC(GAME + TAIKO + @"2P_NamePlate.png"); Taiko_Base = TxC(GAME + TAIKO + @"Base.png"); Taiko_Don_Left = TxC(GAME + TAIKO + @"Don.png"); Taiko_Don_Right = TxC(GAME + TAIKO + @"Don.png"); Taiko_Ka_Left = TxC(GAME + TAIKO + @"Ka.png"); Taiko_Ka_Right = TxC(GAME + TAIKO + @"Ka.png"); Taiko_LevelUp = TxC(GAME + TAIKO + @"LevelUp.png"); Taiko_LevelDown = TxC(GAME + TAIKO + @"LevelDown.png"); Couse_Symbol = new CTexture[6]; string[] Couse_Symbols = new string[6] { "Easy", "Normal", "Hard", "Oni", "Edit", "Shin" }; for (int i = 0; i < 6; i++) { Couse_Symbol[i] = TxC(GAME + COURSESYMBOL + Couse_Symbols[i] + ".png"); } Taiko_Score = new CTexture[3]; Taiko_Score[0] = TxC(GAME + TAIKO + @"Score.png"); Taiko_Score[1] = TxC(GAME + TAIKO + @"Score_1P.png"); Taiko_Score[2] = TxC(GAME + TAIKO + @"Score_2P.png"); Taiko_Combo = new CTexture[2]; Taiko_Combo[0] = TxC(GAME + TAIKO + @"Combo.png"); Taiko_Combo[1] = TxC(GAME + TAIKO + @"Combo_Big.png"); Taiko_Combo_Effect = TxC(GAME + TAIKO + @"Combo_Effect.png"); Taiko_Combo_Text = TxC(GAME + TAIKO + @"Combo_Text.png"); #endregion #region ゲージ Gauge = new CTexture[2]; Gauge[0] = TxC(GAME + GAUGE + @"1P.png"); Gauge[1] = TxC(GAME + GAUGE + @"2P.png"); Gauge_Base = new CTexture[2]; Gauge_Base[0] = TxC(GAME + GAUGE + @"1P_Base.png"); Gauge_Base[1] = TxC(GAME + GAUGE + @"2P_Base.png"); Gauge_Line = new CTexture[2]; Gauge_Line[0] = TxC(GAME + GAUGE + @"1P_Line.png"); Gauge_Line[1] = TxC(GAME + GAUGE + @"2P_Line.png"); CDTXMania.Skin.Game_Gauge_Rainbow_Ptn = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + GAUGE + @"Rainbow\")); if (CDTXMania.Skin.Game_Gauge_Rainbow_Ptn != 0) { Gauge_Rainbow = new CTexture[CDTXMania.Skin.Game_Gauge_Rainbow_Ptn]; for (int i = 0; i < CDTXMania.Skin.Game_Gauge_Rainbow_Ptn; i++) { Gauge_Rainbow[i] = TxC(GAME + GAUGE + @"Rainbow\" + i.ToString() + ".png"); } } Gauge_Soul = TxC(GAME + GAUGE + @"Soul.png"); Gauge_Soul_Fire = TxC(GAME + GAUGE + @"Fire.png"); Gauge_Soul_Explosion = new CTexture[2]; Gauge_Soul_Explosion[0] = TxC(GAME + GAUGE + @"1P_Explosion.png"); Gauge_Soul_Explosion[1] = TxC(GAME + GAUGE + @"2P_Explosion.png"); #endregion #region 吹き出し Balloon_Combo = new CTexture[2]; Balloon_Combo[0] = TxC(GAME + BALLOON + @"Combo_1P.png"); Balloon_Combo[1] = TxC(GAME + BALLOON + @"Combo_2P.png"); Balloon_Roll = TxC(GAME + BALLOON + @"Roll.png"); Balloon_Balloon = TxC(GAME + BALLOON + @"Balloon.png"); Balloon_Number_Roll = TxC(GAME + BALLOON + @"Number_Roll.png"); Balloon_Number_Combo = TxC(GAME + BALLOON + @"Number_Combo.png"); Balloon_Breaking = new CTexture[6]; for (int i = 0; i < 6; i++) { Balloon_Breaking[i] = TxC(GAME + BALLOON + @"Breaking_" + i.ToString() + ".png"); } #endregion #region エフェクト Effects_Hit_Explosion = TxCAf(GAME + EFFECTS + @"Hit\Explosion.png"); if (Effects_Hit_Explosion != null) { Effects_Hit_Explosion.b加算合成 = true; } Effects_Hit_Explosion_Big = TxC(GAME + EFFECTS + @"Hit\Explosion_Big.png"); if (Effects_Hit_Explosion_Big != null) { Effects_Hit_Explosion.b加算合成 = true; } Effects_Hit_FireWorks = new CTextureAf[2]; Effects_Hit_FireWorks[0] = TxCAf(GAME + EFFECTS + @"Hit\FireWorks_1P.png"); if (Effects_Hit_FireWorks[0] != null) { Effects_Hit_FireWorks[0].b加算合成 = true; } Effects_Hit_FireWorks[1] = TxCAf(GAME + EFFECTS + @"Hit\FireWorks_2P.png"); if (Effects_Hit_FireWorks[1] != null) { Effects_Hit_FireWorks[1].b加算合成 = true; } Effects_Fire = TxC(GAME + EFFECTS + @"Fire.png"); if (Effects_Fire != null) { Effects_Fire.b加算合成 = true; } Effects_Rainbow = TxC(GAME + EFFECTS + @"Rainbow.png"); Effects_Splash = new CTexture[30]; for (int i = 0; i < 30; i++) { Effects_Splash[i] = TxC(GAME + EFFECTS + @"Splash\" + i.ToString() + ".png"); if (Effects_Splash[i] != null) { Effects_Splash[i].b加算合成 = true; } } Effects_Hit_Great = new CTexture[15]; Effects_Hit_Great_Big = new CTexture[15]; Effects_Hit_Good = new CTexture[15]; Effects_Hit_Good_Big = new CTexture[15]; for (int i = 0; i < 15; i++) { Effects_Hit_Great[i] = TxC(GAME + EFFECTS + @"Hit\" + @"Great\" + i.ToString() + ".png"); Effects_Hit_Great_Big[i] = TxC(GAME + EFFECTS + @"Hit\" + @"Great_Big\" + i.ToString() + ".png"); Effects_Hit_Good[i] = TxC(GAME + EFFECTS + @"Hit\" + @"Good\" + i.ToString() + ".png"); Effects_Hit_Good_Big[i] = TxC(GAME + EFFECTS + @"Hit\" + @"Good_Big\" + i.ToString() + ".png"); } CDTXMania.Skin.Game_Effect_Roll_Ptn = CDTXMania.t連番画像の枚数を数える(CSkin.Path(BASE + GAME + EFFECTS + @"Roll\")); Effects_Roll = new CTexture[CDTXMania.Skin.Game_Effect_Roll_Ptn]; for (int i = 0; i < CDTXMania.Skin.Game_Effect_Roll_Ptn; i++) { Effects_Roll[i] = TxC(GAME + EFFECTS + @"Roll\" + i.ToString() + ".png"); } #endregion #region レーン Lane_Base = new CTexture[3]; Lane_Text = new CTexture[3]; string[] Lanes = new string[3] { "Normal", "Expert", "Master" }; for (int i = 0; i < 3; i++) { Lane_Base[i] = TxC(GAME + LANE + "Base_" + Lanes[i] + ".png"); Lane_Text[i] = TxC(GAME + LANE + "Text_" + Lanes[i] + ".png"); } Lane_Red = TxC(GAME + LANE + @"Red.png"); Lane_Blue = TxC(GAME + LANE + @"Blue.png"); Lane_Yellow = TxC(GAME + LANE + @"Yellow.png"); Lane_Background_Main = TxC(GAME + LANE + @"Background_Main.png"); Lane_Background_Sub = TxC(GAME + LANE + @"Background_Sub.png"); Lane_Background_GoGo = TxC(GAME + LANE + @"Background_GoGo.png"); #endregion #region 終了演出 End_Clear_L = new CTexture[5]; End_Clear_R = new CTexture[5]; for (int i = 0; i < 5; i++) { End_Clear_L[i] = TxC(GAME + END + @"Clear_L_" + i.ToString() + ".png"); End_Clear_R[i] = TxC(GAME + END + @"Clear_R_" + i.ToString() + ".png"); } End_Clear_Text = TxC(GAME + END + @"Clear_Text.png"); End_Clear_Text_Effect = TxC(GAME + END + @"Clear_Text_Effect.png"); if (End_Clear_Text_Effect != null) { End_Clear_Text_Effect.b加算合成 = true; } #endregion #region ゲームモード GameMode_Timer_Tick = TxC(GAME + GAMEMODE + @"Timer_Tick.png"); GameMode_Timer_Frame = TxC(GAME + GAMEMODE + @"Timer_Frame.png"); #endregion #region ステージ失敗 Failed_Game = TxC(GAME + FAILED + @"Game.png"); Failed_Stage = TxC(GAME + FAILED + @"Stage.png"); #endregion #region ランナー Runner = TxC(GAME + RUNNER + @"0.png"); #endregion #endregion #region 6_結果発表 Result_Background = TxC(RESULT + @"Background.png"); Result_FadeIn = TxC(RESULT + @"FadeIn.png"); Result_Gauge = TxC(RESULT + @"Gauge.png"); Result_Gauge_Base = TxC(RESULT + @"Gauge_Base.png"); Result_Judge = TxC(RESULT + @"Judge.png"); Result_Header = TxC(RESULT + @"Header.png"); Result_Number = TxC(RESULT + @"Number.png"); Result_Panel = TxC(RESULT + @"Panel.png"); Result_Score_Text = TxC(RESULT + @"Score_Text.png"); Result_Score_Number = TxC(RESULT + @"Score_Number.png"); #endregion #region 7_終了画面 Exit_Background = TxC(EXIT + @"Background.png"); #endregion }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { this.ds背景動画 = CDTXMania.t失敗してもスキップ可能なDirectShowを生成する(CSkin.Path(@"Graphics\8_background.mp4"), CDTXMania.app.WindowHandle, true); this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background.jpg")); switch (CDTXMania.stageResult.n総合ランク値) { case 0: if (File.Exists(CSkin.Path(@"Graphics\8_background rankSS.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankSS.png")); } break; case 1: if (File.Exists(CSkin.Path(@"Graphics\8_background rankS.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankS.png")); } break; case 2: if (File.Exists(CSkin.Path(@"Graphics\8_background rankA.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankA.png")); } break; case 3: if (File.Exists(CSkin.Path(@"Graphics\8_background rankB.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankB.png")); } break; case 4: if (File.Exists(CSkin.Path(@"Graphics\8_background rankC.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankC.png")); } break; case 5: if (File.Exists(CSkin.Path(@"Graphics\8_background rankD.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankD.png")); } break; case 6: case 99: if (File.Exists(CSkin.Path(@"Graphics\8_background rankE.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankE.png")); } break; } this.txTopPanel = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_header panel.png"), true); this.txBottomPanel = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_footer panel.png"), true); base.OnManagedCreateResources(); } }
public override void OnManagedリソースの作成() { if (!this.b活性化してない) { //キャラクター画像を格納しているディレクトリに各モーションの画像がいくつあるかを検索。 //現在は固定値。 this.nキャラクター通常モーション枚数 = CDTXMania.ConfigIni.nCharaMotionCount; this.nキャラクターゴーゴーモーション枚数 = CDTXMania.ConfigIni.nCharaMotionCount_gogo; this.nキャラクタークリアモーション枚数 = CDTXMania.ConfigIni.nCharaMotionCount_clear; this.nキャラクターMAX通常モーション枚数 = CDTXMania.ConfigIni.nCharaMotionCount_max; this.nキャラクターMAXゴーゴーモーション枚数 = CDTXMania.ConfigIni.nCharaMotionCount_maxgogo; this.txキャラクターNormal = new CTexture[this.nキャラクター通常モーション枚数]; for (int i = 0; i < this.nキャラクター通常モーション枚数; i++) { this.txキャラクターNormal[i] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\Chara\Normal_" + i.ToString() + ".png")); } this.txキャラクターGogo = new CTexture[this.nキャラクターゴーゴーモーション枚数]; for (int i = 0; i < this.nキャラクターゴーゴーモーション枚数; i++) { this.txキャラクターGogo[i] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\Chara\gogo_" + i.ToString() + ".png")); } if (this.nキャラクタークリアモーション枚数 != 0) { this.txキャラクターClear_Normal = new CTexture[this.nキャラクタークリアモーション枚数]; for (int i = 0; i < this.nキャラクタークリアモーション枚数; i++) { this.txキャラクターClear_Normal[i] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\Chara\Clear_" + i.ToString() + ".png")); } } if (this.nキャラクターMAX通常モーション枚数 != 0) { this.txキャラクターMax_Normal = new CTexture[this.nキャラクターMAX通常モーション枚数]; for (int i = 0; i < this.nキャラクターMAX通常モーション枚数; i++) { this.txキャラクターMax_Normal[i] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\Chara\Max_" + i.ToString() + ".png")); } } if (this.nキャラクターMAXゴーゴーモーション枚数 != 0) { this.txキャラクターMax_Gogo = new CTexture[this.nキャラクターMAXゴーゴーモーション枚数]; for (int i = 0; i < this.nキャラクターMAXゴーゴーモーション枚数; i++) { this.txキャラクターMax_Gogo[i] = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\Chara\Max_gogo_" + i.ToString() + ".png")); } } //固定値 //this.arゴーゴーモーション番号 = new int[]{ 0, 1, 2, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0 }; //2015.08.05 Config.iniから変更可能にするための実験 this.strList = CDTXMania.ConfigIni.strCharaMotionList; this.strListGogo = CDTXMania.ConfigIni.strCharaMotionList_gogo; this.strListClear = CDTXMania.ConfigIni.strCharaMotionList_clear; this.strListMAX = CDTXMania.ConfigIni.strCharaMotionList_max; this.strListMAXGogo = CDTXMania.ConfigIni.strCharaMotionList_maxgogo; this.arモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す(this.strList); this.arゴーゴーモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す(this.strListGogo); this.arクリアモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す(this.strListClear); this.ar黄色モーション番号 = C変換.ar配列形式のstringをint配列に変換して返す(this.strListGogo); this.ar黄色ゴーゴーモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す(this.strListMAXGogo); this.ct通常モーション = new CCounter(0, this.arモーション番号.Length - 1, 0.02, CSound管理.rc演奏用タイマ); this.ctゴーゴーモーション = new CCounter(0, this.arゴーゴーモーション番号.Length - 1, 50, CDTXMania.Timer); if (this.nキャラクタークリアモーション枚数 != 0) { this.ctクリア通常モーション = new CCounter(0, this.arクリアモーション番号.Length - 1, 50, CDTXMania.Timer); } if (this.nキャラクターMAX通常モーション枚数 != 0) { this.ctMAX通常モーション = new CCounter(0, this.ar黄色モーション番号.Length - 1, 50, CDTXMania.Timer); } if (this.nキャラクターMAXゴーゴーモーション枚数 != 0) { this.ctMAXゴーゴーモーション = new CCounter(0, this.ar黄色ゴーゴーモーション番号.Length - 1, 50, CDTXMania.Timer); } base.OnManagedリソースの作成(); } }
public override int On進行描画() { if (this.b活性化してない) { return(0); } #region [ 初めての進行描画 ] //----------------- if (this.b初めての進行描画) { for (int i = 0; i < 13; i++) { this.ct登場アニメ用[i] = new CCounter(-i * 10, 100, 3, CDTXMania.Timer); } this.ct譜面分岐.t開始(1, 200, 10, CDTXMania.Timer); this.nスクロールタイマ = CSound管理.rc演奏用タイマ.n現在時刻; CDTXMania.stage選曲.t選択曲変更通知(); this.n矢印スクロール用タイマ値 = CSound管理.rc演奏用タイマ.n現在時刻; this.ct三角矢印アニメ.t開始(0, 19, 40, CDTXMania.Timer); // 現在位置をかんたん~おに(エディット)の間に移動させる #if DEBUG this.n現在の選択行 = 0; #else this.n現在の選択行 = 3 + CDTXMania.stage選曲.act曲リスト.n現在選択中の曲の現在の難易度レベル; #endif Point[] ptパネル座標 = new Point[] { new Point(450, 84), new Point(550, 84), new Point(650, 84), new Point(750, 84), new Point(850, 84) }; for (int j = 3; j < 7; j++) { ST難易度選択項目 stDiffList = new ST難易度選択項目(); stDiffList.b選択可 = CDTXMania.stage選曲.act曲リスト.r現在選択中の曲.arスコア[j - 3] != null ? true : false; stDiffList.b譜面分岐 = CDTXMania.stage選曲.act曲リスト.r現在選択中の曲.arスコア[j - 3] != null ? CDTXMania.stage選曲.act曲リスト.r現在選択中の曲.arスコア[j - 3].譜面情報.b譜面分岐[j - 3] : false; stDiffList.e項目種類 = (E項目種類)(j - 3); stDiffList.str項目名 = "Diff:" + j; stDiffList.ptパネル座標 = ptパネル座標[j - 3]; stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); stDiffList.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diffboard_" + (j - 2) + ".png")); this.list難易度選択項目[j] = stDiffList; } this.soundSelectAnnounce?.tサウンドを再生する(); base.b初めての進行描画 = false; } //----------------- #endregion // 進行。 //this.ct三角矢印アニメ.t進行Loop(); this.ct譜面分岐?.t進行Loop(); //if( this.tx背景 != null ) // this.tx背景.t2D描画( CDTXMania.app.Device, 0, 0 ); //if( !this.b登場アニメ全部完了 ) //{ // #region [ (1) 登場アニメフェーズの進行。] // //----------------- // //----------------- // #endregion //} //else { #region [ (2) 通常フェーズの進行。] //----------------- //キー操作 if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.RightArrow)) { CDTXMania.Skin.soundカーソル移動音.t再生する(); this.t次に移動(); } else if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.LeftArrow)) { CDTXMania.Skin.soundカーソル移動音.t再生する(); this.t前に移動(); } else if ((CDTXMania.Pad.b押されたDGB(Eパッド.Decide) || ((CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return))))) { if (this.list難易度選択項目[this.n現在の選択行].b選択可) { //CDTXMania.stage選曲.actPresound.tサウンド停止(); switch (this.list難易度選択項目[this.n現在の選択行].e項目種類) { case E項目種類.かんたん: case E項目種類.ふつう: case E項目種類.むずかしい: case E項目種類.おに: case E項目種類.エディット: { switch (CDTXMania.stage選曲.r現在選択中の曲.eノード種別) { case C曲リストノード.Eノード種別.SCORE: { CDTXMania.Skin.sound決定音.t再生する(); CDTXMania.stage選曲.t曲を選択する((int)this.list難易度選択項目[this.n現在の選択行].e項目種類); } break; case C曲リストノード.Eノード種別.RANDOM: { CDTXMania.Skin.sound曲決定音.t再生する(); //CDTXMania.stage選曲.n確定された曲の難易度 = (int)this.list難易度選択項目[this.n現在の選択行].e項目種類; CDTXMania.stage選曲.act曲リスト.n現在のアンカ難易度レベル_渡((int)this.list難易度選択項目[this.n現在の選択行].e項目種類); CDTXMania.stage選曲.t曲をランダム選択する(); } break; } } break; case E項目種類.戻る: CDTXMania.stage選曲.t難易度選択画面を閉じる(); break; case E項目種類.オプション: break; case E項目種類.音色: break; } } else { // 選択できない項目だった CDTXMania.Skin.sound選択不可音.t再生する(); } } else if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape)) { CDTXMania.stage選曲.t難易度選択画面を閉じる(); } #region [ F2 簡易オプション ] if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F2)) { CDTXMania.Skin.sound変更音.t再生する(); CDTXMania.stage選曲.actQuickConfig.tActivatePopupMenu(E楽器パート.DRUMS); } #endregion #region [ F3 オートON/OFF ] if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F3)) { // [ESC] CDTXMania.Skin.sound変更音.t再生する(); C共通.bToggleBoolian(ref CDTXMania.ConfigIni.b太鼓パートAutoPlay); } #endregion #region [ F4 ゲージ ] if (CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F4)) { CDTXMania.Skin.sound変更音.t再生する(); if (CDTXMania.ConfigIni.eGaugeMode == Eゲージモード.Normal) { CDTXMania.ConfigIni.eGaugeMode = Eゲージモード.IIDX; } else if (CDTXMania.ConfigIni.eGaugeMode == Eゲージモード.IIDX) { CDTXMania.ConfigIni.eGaugeMode = Eゲージモード.HARD; } else if (CDTXMania.ConfigIni.eGaugeMode == Eゲージモード.HARD) { CDTXMania.ConfigIni.eGaugeMode = Eゲージモード.EXHARD; } else if (CDTXMania.ConfigIni.eGaugeMode == Eゲージモード.EXHARD) { CDTXMania.ConfigIni.eGaugeMode = Eゲージモード.DEATH; } else if (CDTXMania.ConfigIni.eGaugeMode == Eゲージモード.DEATH) { CDTXMania.ConfigIni.eGaugeMode = Eゲージモード.Normal; } } #endregion foreach (var item in this.list難易度選択項目) { if (item.txパネル != null) { item.txパネル.n透明度 = item.b選択可 ? 255 : 127; item.txパネル.t2D描画(CDTXMania.app.Device, item.ptパネル座標.X, item.ptパネル座標.Y); if (item.b譜面) { if (item.b譜面分岐 ? (this.ct譜面分岐.n現在の値 >= 0 && this.ct譜面分岐.n現在の値 < 100) : false) { this.tx譜面分岐?.t2D描画(CDTXMania.app.Device, item.ptパネル座標.X, item.ptパネル座標.Y); //CDTXMania.act文字コンソール.tPrint( CDTXMania.Skin.nSelectSongDiffIconX + (60 * i), 343, C文字コンソール.Eフォント種別.赤, "B\nr\na\nn\nc\nh" ); } else { for (int i = 0; i < CDTXMania.stage選曲.r現在選択中のスコア.譜面情報.nレベル[(int)item.e項目種類]; i++) { this.txレベル星.t2D描画(CDTXMania.app.Device, item.ptパネル座標.X + 40, (item.ptパネル座標.Y + 392) - (20 * i)); } } } } } switch (this.list難易度選択項目[this.n現在の選択行].e項目種類) { case E項目種類.かんたん: case E項目種類.ふつう: case E項目種類.むずかしい: case E項目種類.おに: case E項目種類.エディット: if (this.txカーソル大 != null) { this.txカーソル大.t2D描画(CDTXMania.app.Device, this.list難易度選択項目[this.n現在の選択行].ptパネル座標.X, this.list難易度選択項目[this.n現在の選択行].ptパネル座標.Y, new Rectangle(0, 0, 102, 530)); } break; case E項目種類.戻る: case E項目種類.オプション: case E項目種類.音色: if (this.txカーソル小 != null) { this.txカーソル小.t2D描画(CDTXMania.app.Device, this.list難易度選択項目[this.n現在の選択行].ptパネル座標.X, this.list難易度選択項目[this.n現在の選択行].ptパネル座標.Y, new Rectangle(0, 0, 70, 310)); } break; } //----------------- #endregion } #region [ デバッグ用表示 ] //----------------- #if DEBUG int nバー基準Y = 64; CDTXMania.act文字コンソール.tPrint(0, 32, C文字コンソール.Eフォント種別.白, this.n現在の選択行.ToString()); for (int i = 0; i < this.list難易度選択項目.Count; i++) { C文字コンソール.Eフォント種別 bColorFlag = this.n現在の選択行 == i ? C文字コンソール.Eフォント種別.赤 : (this.list難易度選択項目[i].b選択可 ? C文字コンソール.Eフォント種別.白 : C文字コンソール.Eフォント種別.灰); nバー基準Y = nバー基準Y + 16; CDTXMania.act文字コンソール.tPrint(0, nバー基準Y, bColorFlag, this.list難易度選択項目[i].str項目名); } //----------------- #endif #endregion if (this.txフッター != null) { this.txフッター.t2D描画(CDTXMania.app.Device, 0, 720 - this.txフッター.sz画像サイズ.Height); } return(0); }
public override void OnManagedリソースの作成() { if (this.b活性化してない) { return; } this.tx背景 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diffselect_background.png")); this.txヘッダー = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diffselect_header_panel.png")); this.txフッター = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_footer panel.png")); this.txカーソル大 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diff_coursol1.png")); this.txカーソル小 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diff_coursol2.png")); this.tx説明背景 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_information_BG.png")); this.tx説明1 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_information.png")); this.txレベル星 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diffboard_star.png")); this.tx譜面分岐 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_diffboard_branch.png")); this.soundSelectAnnounce = CDTXMania.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\DiffSelect.ogg")); this.list難易度選択項目 = new List <ST難易度選択項目>(); if (this.list難易度選択項目 != null) { for (int i = 0; i < 8; i++) { // 項目リストを作る ST難易度選択項目 stDiffList = new ST難易度選択項目(); switch (i) { case 0: // 戻る stDiffList.b選択可 = true; stDiffList.str項目名 = "back"; stDiffList.e項目種類 = E項目種類.戻る; stDiffList.ptパネル座標 = new Point(249, 114); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); stDiffList.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_item_back.png")); this.list難易度選択項目.Add(stDiffList); break; case 1: // オプション stDiffList.b選択可 = false; stDiffList.str項目名 = "option"; stDiffList.e項目種類 = E項目種類.オプション; stDiffList.ptパネル座標 = new Point(319, 114); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); stDiffList.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_item_option.png")); this.list難易度選択項目.Add(stDiffList); break; case 2: // 音色 stDiffList.b選択可 = false; stDiffList.str項目名 = "se"; stDiffList.e項目種類 = E項目種類.音色; stDiffList.ptパネル座標 = new Point(389, 114); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); stDiffList.txパネル = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\5_item_se.png")); this.list難易度選択項目.Add(stDiffList); break; case 3: stDiffList.b選択可 = false; stDiffList.e項目種類 = E項目種類.かんたん; stDiffList.str項目名 = "Diff:0"; stDiffList.ptパネル座標 = new Point(450, 80); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); this.list難易度選択項目.Add(stDiffList); break; case 4: stDiffList.b選択可 = false; stDiffList.e項目種類 = E項目種類.ふつう; stDiffList.str項目名 = "Diff:1"; stDiffList.ptパネル座標 = new Point(550, 80); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); this.list難易度選択項目.Add(stDiffList); break; case 5: stDiffList.b選択可 = false; stDiffList.e項目種類 = E項目種類.むずかしい; stDiffList.str項目名 = "Diff:2"; stDiffList.ptパネル座標 = new Point(650, 0); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); this.list難易度選択項目.Add(stDiffList); break; case 6: stDiffList.b選択可 = false; stDiffList.e項目種類 = E項目種類.おに; stDiffList.str項目名 = "Diff:3"; stDiffList.ptパネル座標 = new Point(750, 0); stDiffList.rectパネル位置 = new Rectangle(0, 0, 0, 0); this.list難易度選択項目.Add(stDiffList); break; //case 7: // stDiffList.b選択可 = CDTXMania.stage選曲.act曲リスト.r現在選択中の曲.arスコア[ 4 ] != null ? true : false; // stDiffList.e項目種類 = E項目種類.エディット; // stDiffList.str項目名 = "Diff:4"; // stDiffList.ptパネル座標 = new Point( 850, 0 ); // stDiffList.rectパネル位置 = new Rectangle( 0, 0, 0, 0 ); // this.list難易度選択項目.Add( stDiffList ); // break; } } } base.OnManagedリソースの作成(); }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { this.txリザルト画像がないときの画像 = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\5_preimage default.png")); if (CDTXMania.ConfigIni.bストイックモード) { this.txリザルト画像 = this.txリザルト画像がないときの画像; } else if (((!this.tリザルト画像の指定があれば構築する()) && (!this.tプレビュー画像の指定があれば構築する()))) { this.txリザルト画像 = this.txリザルト画像がないときの画像; } #region [ 曲名、アーティスト名テクスチャの生成 ] if (string.IsNullOrEmpty(CDTXMania.DTX.TITLE) || (!CDTXMania.bCompactMode && CDTXMania.ConfigIni.b曲名表示をdefのものにする)) { this.strSongName = CDTXMania.stageSongSelection.r現在選択中の曲.strタイトル; } else { this.strSongName = CDTXMania.DTX.TITLE; } this.pfタイトル = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 20, FontStyle.Regular); Bitmap bmpSongName = new Bitmap(1, 1); bmpSongName = pfタイトル.DrawPrivateFont(this.strSongName, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true); this.txSongName = CDTXMania.tGenerateTexture(bmpSongName, false); bmpSongName.Dispose(); this.pfアーティスト = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 15, FontStyle.Regular); Bitmap bmpArtistName = new Bitmap(1, 1); bmpArtistName = pfアーティスト.DrawPrivateFont(CDTXMania.DTX.ARTIST, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true); this.txArtistName = CDTXMania.tGenerateTexture(bmpArtistName, false); bmpArtistName.Dispose(); #endregion Bitmap bitmap2 = new Bitmap(0x3a, 0x12); Graphics graphics = Graphics.FromImage(bitmap2); graphics.Dispose(); this.txSongDifficulty = new CTexture(CDTXMania.app.Device, bitmap2, CDTXMania.TextureFormat, false); bitmap2.Dispose(); Bitmap bitmap3 = new Bitmap(100, 100); graphics = Graphics.FromImage(bitmap3); float num; //If Skill Mode is CLASSIC, always display lvl as Classic Style if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false))) { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums); } else { if (CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums > 100) { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums); } else { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums) / 10f; } } //If Skill Mode is CLASSIC, always display lvl as Classic Style if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false) && (CDTXMania.DTX.b強制的にXG譜面にする == false))) { graphics.DrawString(string.Format("{0:00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); } else { graphics.DrawString(string.Format("{0:0.00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); } this.txSongLevel = new CTexture(CDTXMania.app.Device, bitmap3, CDTXMania.TextureFormat, false); graphics.Dispose(); bitmap3.Dispose(); Bitmap bitmap4 = new Bitmap(0x2a, 0x30); graphics = Graphics.FromImage(bitmap4); graphics.DrawImage(this.iDrumSpeed, new Rectangle(0, 0, 0x2a, 0x30), new Rectangle(0, CDTXMania.ConfigIni.nScrollSpeed.Drums * 0x30, 0x2a, 0x30), GraphicsUnit.Pixel); this.txDrumSpeed = new CTexture(CDTXMania.app.Device, bitmap4, CDTXMania.TextureFormat, false); graphics.Dispose(); //graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default; bitmap4.Dispose(); base.OnManagedCreateResources(); } }
public override void OnManagedリソースの作成() { this.b再生済み = false; this.soundClear = CDTXMania.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Clear.ogg"), ESoundGroup.SoundEffect); base.OnManagedリソースの作成(); }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { this.ftSongDifficultyFont = new System.Drawing.Font("Impact", 15f, FontStyle.Regular); this.iDrumSpeed = Image.FromFile(CSkin.Path(@"Graphics\7_panel_icons.jpg")); this.txジャケットパネル = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_JacketPanel.png")); this.txリザルト画像がないときの画像 = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\5_preimage default.png")); if (CDTXMania.ConfigIni.bストイックモード) { this.txリザルト画像 = this.txリザルト画像がないときの画像; } else if (((!this.tリザルト画像の指定があれば構築する()) && (!this.tプレビュー画像の指定があれば構築する()))) { this.txリザルト画像 = this.txリザルト画像がないときの画像; } #region [ Generation of song title, artist name and disclaimer textures ] if (string.IsNullOrEmpty(CDTXMania.DTX.TITLE) || (!CDTXMania.bCompactMode && CDTXMania.ConfigIni.b曲名表示をdefのものにする)) { this.strSongName = CDTXMania.stageSongSelection.r現在選択中の曲.strタイトル; } else { this.strSongName = CDTXMania.DTX.TITLE; } CPrivateFastFont pfTitle = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 20, FontStyle.Regular); Bitmap bmpSongName = pfTitle.DrawPrivateFont(this.strSongName, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true); this.txSongName = CDTXMania.tGenerateTexture(bmpSongName, false); bmpSongName.Dispose(); pfTitle.Dispose(); CPrivateFastFont pfArtist = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 15, FontStyle.Regular); Bitmap bmpArtistName = pfArtist.DrawPrivateFont(CDTXMania.DTX.ARTIST, CPrivateFont.DrawMode.Edge, Color.Black, Color.Black, this.clGITADORAgradationTopColor, this.clGITADORAgradationBottomColor, true); this.txArtistName = CDTXMania.tGenerateTexture(bmpArtistName, false); bmpArtistName.Dispose(); pfArtist.Dispose(); if (CDTXMania.ConfigIni.nPlaySpeed != 20) { double d = (double)(CDTXMania.ConfigIni.nPlaySpeed / 20.0); String strModifiedPlaySpeed = "Play Speed: x" + d.ToString("0.000"); CPrivateFastFont pfModifiedPlaySpeed = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 18, FontStyle.Regular); Bitmap bmpModifiedPlaySpeed = pfModifiedPlaySpeed.DrawPrivateFont(strModifiedPlaySpeed, CPrivateFont.DrawMode.Edge, Color.White, Color.White, Color.Black, Color.Red, true); this.txModifiedPlaySpeed = CDTXMania.tGenerateTexture(bmpModifiedPlaySpeed, false); bmpModifiedPlaySpeed.Dispose(); pfModifiedPlaySpeed.Dispose(); } if (CDTXMania.stageResult.bIsTrainingMode) { String strResultsNotSavedTraining = "Training feature used"; CPrivateFastFont pfResultsNotSavedTraining = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 18, FontStyle.Regular); Bitmap bmpResultsNotSavedTraining = pfResultsNotSavedTraining.DrawPrivateFont(strResultsNotSavedTraining, CPrivateFont.DrawMode.Edge, Color.White, Color.White, Color.Black, Color.Red, true); this.txTrainingMode = CDTXMania.tGenerateTexture(bmpResultsNotSavedTraining, false); bmpResultsNotSavedTraining.Dispose(); pfResultsNotSavedTraining.Dispose(); } String strResultsNotSaved = "Score will not be saved"; CPrivateFastFont pfResultsNotSaved = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str選曲リストフォント), 18, FontStyle.Regular); Bitmap bmpResultsNotSaved = pfResultsNotSaved.DrawPrivateFont(strResultsNotSaved, CPrivateFont.DrawMode.Edge, Color.White, Color.White, Color.Black, Color.Red, true); this.txResultsNotSaved = CDTXMania.tGenerateTexture(bmpResultsNotSaved, false); bmpResultsNotSaved.Dispose(); pfResultsNotSaved.Dispose(); #endregion Bitmap bitmap2 = new Bitmap(0x3a, 0x12); Graphics graphics = Graphics.FromImage(bitmap2); graphics.Dispose(); this.txSongDifficulty = new CTexture(CDTXMania.app.Device, bitmap2, CDTXMania.TextureFormat, false); bitmap2.Dispose(); Bitmap bitmap3 = new Bitmap(100, 100); graphics = Graphics.FromImage(bitmap3); float num; //If Skill Mode is CLASSIC, always display lvl as Classic Style if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false))) { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums); } else { if (CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums > 100) { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums); } else { num = ((float)CDTXMania.stageSongSelection.rChosenScore.SongInformation.Level.Drums) / 10f; } } //If Skill Mode is CLASSIC, always display lvl as Classic Style if (CDTXMania.ConfigIni.nSkillMode == 0 || (CDTXMania.ConfigIni.bCLASSIC譜面判別を有効にする && (CDTXMania.DTX.bチップがある.LeftCymbal == false) && (CDTXMania.DTX.bチップがある.LP == false) && (CDTXMania.DTX.bチップがある.LBD == false) && (CDTXMania.DTX.bチップがある.FT == false) && (CDTXMania.DTX.bチップがある.Ride == false) && (CDTXMania.DTX.b強制的にXG譜面にする == false))) { graphics.DrawString(string.Format("{0:00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); } else { graphics.DrawString(string.Format("{0:0.00}", num), this.ftSongDifficultyFont, new SolidBrush(Color.FromArgb(0xba, 0xba, 0xba)), (float)0f, (float)-4f); } this.txSongLevel = new CTexture(CDTXMania.app.Device, bitmap3, CDTXMania.TextureFormat, false); graphics.Dispose(); bitmap3.Dispose(); Bitmap bitmap4 = new Bitmap(0x2a, 0x30); graphics = Graphics.FromImage(bitmap4); graphics.DrawImage(this.iDrumSpeed, new Rectangle(0, 0, 0x2a, 0x30), new Rectangle(0, CDTXMania.ConfigIni.nScrollSpeed.Drums * 0x30, 0x2a, 0x30), GraphicsUnit.Pixel); this.txDrumSpeed = new CTexture(CDTXMania.app.Device, bitmap4, CDTXMania.TextureFormat, false); graphics.Dispose(); //graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default; bitmap4.Dispose(); base.OnManagedCreateResources(); } }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { // this.rBackgroundVideoAVI = new CDTX.CAVI(1290, CSkin.Path(@"Graphics\8_background.mp4"), "", 20.0); this.rBackgroundVideoAVI.OnDeviceCreated(); if (rBackgroundVideoAVI.avi != null) { this.actBackgroundVideoAVI.bLoop = true; this.actBackgroundVideoAVI.Start(EChannel.MovieFull, rBackgroundVideoAVI, 0, -1); Trace.TraceInformation("Playing Background video for Result Screen"); } //this.ds背景動画 = CDTXMania.t失敗してもスキップ可能なDirectShowを生成する(CSkin.Path(@"Graphics\8_background.mp4"), CDTXMania.app.WindowHandle, true); this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background.jpg")); switch (CDTXMania.stageResult.n総合ランク値) { case 0: if (File.Exists(CSkin.Path(@"Graphics\8_background rankSS.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankSS.png")); } break; case 1: if (File.Exists(CSkin.Path(@"Graphics\8_background rankS.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankS.png")); } break; case 2: if (File.Exists(CSkin.Path(@"Graphics\8_background rankA.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankA.png")); } break; case 3: if (File.Exists(CSkin.Path(@"Graphics\8_background rankB.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankB.png")); } break; case 4: if (File.Exists(CSkin.Path(@"Graphics\8_background rankC.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankC.png")); } break; case 5: if (File.Exists(CSkin.Path(@"Graphics\8_background rankD.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankD.png")); } break; case 6: case 99: if (File.Exists(CSkin.Path(@"Graphics\8_background rankE.png"))) { this.txBackground = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_background rankE.png")); } break; } this.txTopPanel = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_header panel.png"), true); this.txBottomPanel = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\8_footer panel.png"), true); base.OnManagedCreateResources(); } }
public override void OnManagedリソースの作成() { if (!base.b活性化してない) { this.tReadSoundConfig(); for (int i = 0; i < this.listComboVoice?.Count; i++) { if (this.listComboVoice[i].bFileFound) { this.listComboVoice[i].soundComboVoice = CDTXMania.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\" + this.listComboVoice[i].strFilePath)); } } for (int i = 0; i < this.listComboVoiceP2?.Count; i++) { if (this.listComboVoiceP2[i].bFileFound) { this.listComboVoiceP2[i].soundComboVoice = CDTXMania.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\" + this.listComboVoiceP2[i].strFilePath)); } } base.OnManagedリソースの作成(); } }
public override void OnManagedリソースの作成() { if (this.b活性化してない) { return; } string pathNowEnumeratingSongs = CSkin.Path(@"Graphics\ScreenTitle NowEnumeratingSongs.png"); if (File.Exists(pathNowEnumeratingSongs)) { this.txNowEnumeratingSongs = CDTXMania.tテクスチャの生成(pathNowEnumeratingSongs, false); } else { this.txNowEnumeratingSongs = null; } string pathDialogNowEnumeratingSongs = CSkin.Path(@"Graphics\ScreenConfig NowEnumeratingSongs.png"); if (File.Exists(pathDialogNowEnumeratingSongs)) { this.txDialogNowEnumeratingSongs = CDTXMania.tテクスチャの生成(pathDialogNowEnumeratingSongs, false); } else { this.txDialogNowEnumeratingSongs = null; } try { System.Drawing.Font ftMessage = new System.Drawing.Font("MS PGothic", 40f, FontStyle.Bold, GraphicsUnit.Pixel); string[] strMessage = { " 曲データの一覧を\n 取得しています。\n しばらくお待ちください。", " Now enumerating songs.\n Please wait..." }; int ci = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja") ? 0 : 1; if ((strMessage != null) && (strMessage.Length > 0)) { Bitmap image = new Bitmap(1, 1); Graphics graphics = Graphics.FromImage(image); SizeF ef = graphics.MeasureString(strMessage[ci], ftMessage); Size size = new Size((int)Math.Ceiling((double)ef.Width), (int)Math.Ceiling((double)ef.Height)); graphics.Dispose(); image.Dispose(); image = new Bitmap(size.Width, size.Height); graphics = Graphics.FromImage(image); graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; graphics.DrawString(strMessage[ci], ftMessage, Brushes.White, (float)0f, (float)0f); graphics.Dispose(); this.txMessage = new CTexture(CDTXMania.app.Device, image, CDTXMania.TextureFormat); this.txMessage.vc拡大縮小倍率 = new Vector3(0.5f, 0.5f, 1f); image.Dispose(); CDTXMania.t安全にDisposeする(ref ftMessage); } else { this.txMessage = null; } } catch (CTextureCreateFailedException) { Trace.TraceError("テクスチャの生成に失敗しました。(txMessage)"); this.txMessage = null; } base.OnManagedリソースの作成(); }
public override void OnManagedCreateResources() { if (!base.bNotActivated) { this.prv表示用フォント = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str曲名表示フォント), 20, FontStyle.Regular); this.prv称号フォント = new CPrivateFastFont(new FontFamily(CDTXMania.ConfigIni.str曲名表示フォント), 12, FontStyle.Regular); this.txスキルパネル = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_SkillPanel.png")); this.txパネル文字[0] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Ratenumber_s.png")); this.txパネル文字[1] = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Ratenumber_l.png")); this.tx難易度パネル = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_Difficulty.png")); this.tx難易度用数字 = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_LevelNumber.png")); //Load new textures this.txPercent = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_RatePercent_l.png")); this.txSkillMax = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_skill max.png")); this.txLagHitCount = CDTXMania.tGenerateTexture(CSkin.Path(@"Graphics\7_lag numbers.png")); this.strPlayerName = string.IsNullOrEmpty(CDTXMania.ConfigIni.strCardName[0]) ? "GUEST" : CDTXMania.ConfigIni.strCardName[0]; this.strTitleName = string.IsNullOrEmpty(CDTXMania.ConfigIni.strGroupName[0]) ? "" : CDTXMania.ConfigIni.strGroupName[0]; Bitmap image2 = new Bitmap(257, 100); Graphics graネームプレート用 = Graphics.FromImage(image2); #region [ ネームカラー ] //-------------------- Color clNameColor = Color.White; Color clNameColorLower = Color.White; switch (CDTXMania.ConfigIni.nNameColor[0]) { case 0: clNameColor = Color.White; break; case 1: clNameColor = Color.LightYellow; break; case 2: clNameColor = Color.Yellow; break; case 3: clNameColor = Color.Green; break; case 4: clNameColor = Color.Blue; break; case 5: clNameColor = Color.Purple; break; case 6: clNameColor = Color.Red; break; case 7: clNameColor = Color.Brown; break; case 8: clNameColor = Color.Silver; break; case 9: clNameColor = Color.Gold; break; case 10: clNameColor = Color.White; break; case 11: clNameColor = Color.LightYellow; clNameColorLower = Color.White; break; case 12: clNameColor = Color.Yellow; clNameColorLower = Color.White; break; case 13: clNameColor = Color.FromArgb(0, 255, 33); clNameColorLower = Color.White; break; case 14: clNameColor = Color.FromArgb(0, 38, 255); clNameColorLower = Color.White; break; case 15: clNameColor = Color.FromArgb(72, 0, 255); clNameColorLower = Color.White; break; case 16: clNameColor = Color.FromArgb(255, 255, 0, 0); clNameColorLower = Color.White; break; case 17: clNameColor = Color.FromArgb(255, 232, 182, 149); clNameColorLower = Color.FromArgb(255, 122, 69, 26); break; case 18: clNameColor = Color.FromArgb(246, 245, 255); clNameColorLower = Color.FromArgb(125, 128, 137); break; case 19: clNameColor = Color.FromArgb(255, 238, 196, 85); clNameColorLower = Color.FromArgb(255, 255, 241, 200); break; } //-------------------- #endregion #region [ 名前とか ] Bitmap bmpCardName = new Bitmap(1, 1); bmpCardName = this.prv表示用フォント.DrawPrivateFont(this.strPlayerName, Color.White, Color.Transparent, clNameColor, (CDTXMania.ConfigIni.nNameColor[0] > 11 ? clNameColorLower : clNameColor)); Bitmap bmpTitleName = new Bitmap(1, 1); bmpTitleName = this.prv称号フォント.DrawPrivateFont(this.strTitleName, Color.White, Color.Transparent); graネームプレート用.DrawImage(bmpCardName, -2f, 26f); graネームプレート用.DrawImage(bmpTitleName, 6f, 8f); #endregion bmpCardName.Dispose(); bmpTitleName.Dispose(); this.txネームプレート用文字 = new CTexture(CDTXMania.app.Device, image2, CDTXMania.TextureFormat, false); image2.Dispose(); graネームプレート用.Dispose(); base.OnManagedCreateResources(); } }
internal CTextureAf TxCAf(string FileName) { return(CDTXMania.tテクスチャの生成Af(CSkin.Path(BASE + FileName))); }
// メソッド public void SetPanelString(string str) { this.strパネル文字列 = str; if (base.b活性化してる) { if ((this.strパネル文字列 != null) && (this.strパネル文字列.Length > 0)) { try { Bitmap bmpSongTitle = new Bitmap(1, 1); bmpSongTitle = pfMusicName.DrawPrivateFont(this.strパネル文字列, Color.White, Color.Black); //Bitmap bmpVTest = new Bitmap( 1, 1 ); //bmpVTest = pf縦書きテスト.DrawPrivateFont( this.strパネル文字列, Color.White, Color.Black, true ); CDTXMania.t安全にDisposeする(ref this.txMusicName); this.txMusicName = CDTXMania.tテクスチャの生成(bmpSongTitle, false); Bitmap bmpDiff = new Bitmap(1, 1); string strDiff = ""; if (CDTXMania.Skin.eDiffDispMode == E難易度表示タイプ.n曲目に表示) { switch (CDTXMania.stage選曲.n確定された曲の難易度) { case 0: strDiff = "かんたん "; break; case 1: strDiff = "ふつう "; break; case 2: strDiff = "むずかしい "; break; case 3: strDiff = "おに "; break; case 4: strDiff = "えでぃと "; break; default: strDiff = "おに "; break; } bmpDiff = pfMusicName.DrawPrivateFont(strDiff + "1 曲目", Color.White, Color.Black); } else { bmpDiff = pfMusicName.DrawPrivateFont("1曲目", Color.White, Color.Black); } if (this.tx難易度とステージ数 == null) { this.tx難易度とステージ数 = CDTXMania.tテクスチャの生成(bmpDiff, false); } CDTXMania.t安全にDisposeする(ref bmpDiff); CDTXMania.t安全にDisposeする(ref bmpSongTitle); //CDTXMania.t安全にDisposeする( ref this.pfMusicName ); //たまにNullReferenceが出るのでダメ } catch (CTextureCreateFailedException) { Trace.TraceError("パネル文字列テクスチャの生成に失敗しました。"); } } if (!string.IsNullOrEmpty(CDTXMania.DTX.GENRE) && this.txGENRE == null) { string strGenre = CDTXMania.DTX.GENRE; if (strGenre.Equals("アニメ")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_anime.png")); } else if (strGenre.Equals("J-POP")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_JPOP.png")); } else if (strGenre.Equals("ゲームミュージック")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_game.png")); } else if (strGenre.Equals("ナムコオリジナル")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_namco.png")); } else if (strGenre.Equals("クラシック")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_classic.png")); } else if (strGenre.Equals("どうよう")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_child.png")); } else if (strGenre.Equals("バラエティ")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_variety.png")); } else if (strGenre.Equals("ボーカロイド") || strGenre.Equals("VOCALOID")) { this.txGENRE = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Genre_vocaloid.png")); } else { Bitmap bmpDummy = new Bitmap(1, 1); this.txGENRE = CDTXMania.tテクスチャの生成(bmpDummy, true); CDTXMania.t安全にDisposeする(ref bmpDummy); } } this.ct進行用 = new CCounter(0, 2000, 2, CDTXMania.Timer); this.Start(); } }
internal CTexture TxCGen(string FileName) { return(CDTXMania.tテクスチャの生成(CSkin.Path(BASE + GAME + GENRE + FileName + ".png"))); }