internal CTexture TxCGen(string FileName) { return(CDTXMania.tテクスチャの生成(CSkin.Path(BASE + GAME + GENRE + FileName + ".png"))); }
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_Big.b加算合成 = true; } Effects_Hit_FireWorks = TxC(GAME + EFFECTS + @"Hit\FireWorks.png"); if (Effects_Hit_FireWorks != null) { Effects_Hit_FireWorks.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_GoGoSplash = TxC(GAME + EFFECTS + @"GoGoSplash.png"); if (Effects_GoGoSplash != null) { Effects_GoGoSplash.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 void DisposeTexture() { CDTXMania.tテクスチャの解放(ref Title_Background); CDTXMania.tテクスチャの解放(ref Title_Menu); #region 共通 CDTXMania.tテクスチャの解放(ref Tile_Black); CDTXMania.tテクスチャの解放(ref Tile_White); CDTXMania.tテクスチャの解放(ref Menu_Title); CDTXMania.tテクスチャの解放(ref Menu_Highlight); CDTXMania.tテクスチャの解放(ref Enum_Song); CDTXMania.tテクスチャの解放(ref Scanning_Loudness); CDTXMania.tテクスチャの解放(ref Overlay); for (int i = 0; i < 2; i++) { CDTXMania.tテクスチャの解放(ref NamePlate[i]); } #endregion #region 1_タイトル画面 CDTXMania.tテクスチャの解放(ref Title_Background); CDTXMania.tテクスチャの解放(ref Title_Menu); #endregion #region 2_コンフィグ画面 CDTXMania.tテクスチャの解放(ref Config_Background); CDTXMania.tテクスチャの解放(ref Config_Cursor); CDTXMania.tテクスチャの解放(ref Config_ItemBox); CDTXMania.tテクスチャの解放(ref Config_Arrow); CDTXMania.tテクスチャの解放(ref Config_KeyAssign); CDTXMania.tテクスチャの解放(ref Config_Font); CDTXMania.tテクスチャの解放(ref Config_Font_Bold); CDTXMania.tテクスチャの解放(ref Config_Enum_Song); #endregion #region 3_選曲画面 CDTXMania.tテクスチャの解放(ref SongSelect_Background); CDTXMania.tテクスチャの解放(ref SongSelect_Header); CDTXMania.tテクスチャの解放(ref SongSelect_Footer); CDTXMania.tテクスチャの解放(ref SongSelect_Difficulty); CDTXMania.tテクスチャの解放(ref SongSelect_Auto); CDTXMania.tテクスチャの解放(ref SongSelect_Level); CDTXMania.tテクスチャの解放(ref SongSelect_Branch); CDTXMania.tテクスチャの解放(ref SongSelect_Branch_Text); CDTXMania.tテクスチャの解放(ref SongSelect_Bar_Center); CDTXMania.tテクスチャの解放(ref SongSelect_Frame_Score); CDTXMania.tテクスチャの解放(ref SongSelect_Frame_Box); CDTXMania.tテクスチャの解放(ref SongSelect_Frame_BackBox); CDTXMania.tテクスチャの解放(ref SongSelect_Frame_Random); CDTXMania.tテクスチャの解放(ref SongSelect_Score_Select); CDTXMania.tテクスチャの解放(ref SongSelect_GenreText); CDTXMania.tテクスチャの解放(ref SongSelect_Cursor_Left); CDTXMania.tテクスチャの解放(ref SongSelect_Cursor_Right); for (int i = 0; i < 9; i++) { CDTXMania.tテクスチャの解放(ref SongSelect_Bar_Genre[i]); } for (int i = 0; i < 5; i++) { CDTXMania.tテクスチャの解放(ref SongSelect_ScoreWindow[i]); } for (int i = 0; i < 9; i++) { CDTXMania.tテクスチャの解放(ref SongSelect_GenreBack[i]); } CDTXMania.tテクスチャの解放(ref SongSelect_ScoreWindow_Text); #endregion #region 4_読み込み画面 CDTXMania.tテクスチャの解放(ref SongLoading_Plate); CDTXMania.tテクスチャの解放(ref SongLoading_FadeIn); CDTXMania.tテクスチャの解放(ref SongLoading_FadeOut); #endregion #region 5_演奏画面 #region 共通 CDTXMania.tテクスチャの解放(ref Notes); CDTXMania.tテクスチャの解放(ref Judge_Frame); CDTXMania.tテクスチャの解放(ref SENotes); CDTXMania.tテクスチャの解放(ref Notes_Arm); CDTXMania.tテクスチャの解放(ref Judge); CDTXMania.tテクスチャの解放(ref Judge_Meter); CDTXMania.tテクスチャの解放(ref Bar); CDTXMania.tテクスチャの解放(ref Bar_Branch); #endregion #region キャラクター for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Normal; i++) { CDTXMania.tテクスチャの解放(ref Chara_Normal[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Clear; i++) { CDTXMania.tテクスチャの解放(ref Chara_Normal_Cleared[i]); CDTXMania.tテクスチャの解放(ref Chara_Normal_Maxed[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGo; i++) { CDTXMania.tテクスチャの解放(ref Chara_GoGoTime[i]); CDTXMania.tテクスチャの解放(ref Chara_GoGoTime_Maxed[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_10combo; i++) { CDTXMania.tテクスチャの解放(ref Chara_10Combo[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_10combo_Max; i++) { CDTXMania.tテクスチャの解放(ref Chara_10Combo_Maxed[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGoStart; i++) { CDTXMania.tテクスチャの解放(ref Chara_GoGoStart[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_GoGoStart_Max; i++) { CDTXMania.tテクスチャの解放(ref Chara_GoGoStart_Maxed[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_ClearIn; i++) { CDTXMania.tテクスチャの解放(ref Chara_Become_Cleared[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_SoulIn; i++) { CDTXMania.tテクスチャの解放(ref Chara_Become_Maxed[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Balloon_Breaking; i++) { CDTXMania.tテクスチャの解放(ref Chara_Balloon_Breaking[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Balloon_Broke; i++) { CDTXMania.tテクスチャの解放(ref Chara_Balloon_Broke[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Chara_Ptn_Balloon_Miss; i++) { CDTXMania.tテクスチャの解放(ref Chara_Balloon_Miss[i]); } #endregion #region り子 for (int i = 0; i < 5; i++) { for (int p = 0; p < CDTXMania.Skin.Game_Dancer_Ptn; p++) { CDTXMania.tテクスチャの解放(ref Dancer[i][p]); } } #endregion #region モブ for (int i = 0; i < CDTXMania.Skin.Game_Mob_Ptn; i++) { CDTXMania.tテクスチャの解放(ref Mob[i]); } #endregion #region フッター CDTXMania.tテクスチャの解放(ref Mob_Footer); #endregion #region 背景 CDTXMania.tテクスチャの解放(ref Background); CDTXMania.tテクスチャの解放(ref Background_Up[0]); CDTXMania.tテクスチャの解放(ref Background_Up[1]); CDTXMania.tテクスチャの解放(ref Background_Up_Clear[0]); CDTXMania.tテクスチャの解放(ref Background_Up_Clear[1]); CDTXMania.tテクスチャの解放(ref Background_Down); CDTXMania.tテクスチャの解放(ref Background_Down_Clear); CDTXMania.tテクスチャの解放(ref Background_Down_Scroll); #endregion #region 太鼓 CDTXMania.tテクスチャの解放(ref Taiko_Background[0]); CDTXMania.tテクスチャの解放(ref Taiko_Background[1]); CDTXMania.tテクスチャの解放(ref Taiko_Frame[0]); CDTXMania.tテクスチャの解放(ref Taiko_Frame[1]); CDTXMania.tテクスチャの解放(ref Taiko_PlayerNumber[0]); CDTXMania.tテクスチャの解放(ref Taiko_PlayerNumber[1]); CDTXMania.tテクスチャの解放(ref Taiko_NamePlate[0]); CDTXMania.tテクスチャの解放(ref Taiko_NamePlate[1]); CDTXMania.tテクスチャの解放(ref Taiko_Base); CDTXMania.tテクスチャの解放(ref Taiko_Don_Left); CDTXMania.tテクスチャの解放(ref Taiko_Don_Right); CDTXMania.tテクスチャの解放(ref Taiko_Ka_Left); CDTXMania.tテクスチャの解放(ref Taiko_Ka_Right); CDTXMania.tテクスチャの解放(ref Taiko_LevelUp); CDTXMania.tテクスチャの解放(ref Taiko_LevelDown); for (int i = 0; i < 6; i++) { CDTXMania.tテクスチャの解放(ref Couse_Symbol[i]); } CDTXMania.tテクスチャの解放(ref Taiko_Score[0]); CDTXMania.tテクスチャの解放(ref Taiko_Score[1]); CDTXMania.tテクスチャの解放(ref Taiko_Score[2]); CDTXMania.tテクスチャの解放(ref Taiko_Combo[0]); CDTXMania.tテクスチャの解放(ref Taiko_Combo[1]); CDTXMania.tテクスチャの解放(ref Taiko_Combo_Effect); CDTXMania.tテクスチャの解放(ref Taiko_Combo_Text); #endregion #region ゲージ CDTXMania.tテクスチャの解放(ref Gauge[0]); CDTXMania.tテクスチャの解放(ref Gauge[1]); CDTXMania.tテクスチャの解放(ref Gauge_Base[0]); CDTXMania.tテクスチャの解放(ref Gauge_Base[1]); CDTXMania.tテクスチャの解放(ref Gauge_Line[0]); CDTXMania.tテクスチャの解放(ref Gauge_Line[1]); for (int i = 0; i < CDTXMania.Skin.Game_Gauge_Rainbow_Ptn; i++) { CDTXMania.tテクスチャの解放(ref Gauge_Rainbow[i]); } CDTXMania.tテクスチャの解放(ref Gauge_Soul); CDTXMania.tテクスチャの解放(ref Gauge_Soul_Fire); CDTXMania.tテクスチャの解放(ref Gauge_Soul_Explosion[0]); CDTXMania.tテクスチャの解放(ref Gauge_Soul_Explosion[1]); #endregion #region 吹き出し CDTXMania.tテクスチャの解放(ref Balloon_Combo[0]); CDTXMania.tテクスチャの解放(ref Balloon_Combo[1]); CDTXMania.tテクスチャの解放(ref Balloon_Roll); CDTXMania.tテクスチャの解放(ref Balloon_Balloon); CDTXMania.tテクスチャの解放(ref Balloon_Number_Roll); CDTXMania.tテクスチャの解放(ref Balloon_Number_Combo); for (int i = 0; i < 6; i++) { CDTXMania.tテクスチャの解放(ref Balloon_Breaking[i]); } #endregion #region エフェクト CDTXMania.tテクスチャの解放(ref Effects_Hit_Explosion); CDTXMania.tテクスチャの解放(ref Effects_Hit_Explosion_Big); CDTXMania.tテクスチャの解放(ref Effects_Hit_FireWorks); CDTXMania.tテクスチャの解放(ref Effects_Fire); CDTXMania.tテクスチャの解放(ref Effects_Rainbow); CDTXMania.tテクスチャの解放(ref Effects_GoGoSplash); for (int i = 0; i < 15; i++) { CDTXMania.tテクスチャの解放(ref Effects_Hit_Great[i]); CDTXMania.tテクスチャの解放(ref Effects_Hit_Great_Big[i]); CDTXMania.tテクスチャの解放(ref Effects_Hit_Good[i]); CDTXMania.tテクスチャの解放(ref Effects_Hit_Good_Big[i]); } for (int i = 0; i < CDTXMania.Skin.Game_Effect_Roll_Ptn; i++) { CDTXMania.tテクスチャの解放(ref Effects_Roll[i]); } #endregion #region レーン for (int i = 0; i < 3; i++) { CDTXMania.tテクスチャの解放(ref Lane_Base[i]); CDTXMania.tテクスチャの解放(ref Lane_Text[i]); } CDTXMania.tテクスチャの解放(ref Lane_Red); CDTXMania.tテクスチャの解放(ref Lane_Blue); CDTXMania.tテクスチャの解放(ref Lane_Yellow); CDTXMania.tテクスチャの解放(ref Lane_Background_Main); CDTXMania.tテクスチャの解放(ref Lane_Background_Sub); CDTXMania.tテクスチャの解放(ref Lane_Background_GoGo); #endregion #region 終了演出 for (int i = 0; i < 5; i++) { CDTXMania.tテクスチャの解放(ref End_Clear_L[i]); CDTXMania.tテクスチャの解放(ref End_Clear_R[i]); } CDTXMania.tテクスチャの解放(ref End_Clear_Text); CDTXMania.tテクスチャの解放(ref End_Clear_Text_Effect); #endregion #region ゲームモード CDTXMania.tテクスチャの解放(ref GameMode_Timer_Tick); CDTXMania.tテクスチャの解放(ref GameMode_Timer_Frame); #endregion #region ステージ失敗 CDTXMania.tテクスチャの解放(ref Failed_Game); CDTXMania.tテクスチャの解放(ref Failed_Stage); #endregion #region ランナー CDTXMania.tテクスチャの解放(ref Runner); #endregion #endregion #region 6_結果発表 CDTXMania.tテクスチャの解放(ref Result_Background); CDTXMania.tテクスチャの解放(ref Result_FadeIn); CDTXMania.tテクスチャの解放(ref Result_Gauge); CDTXMania.tテクスチャの解放(ref Result_Gauge_Base); CDTXMania.tテクスチャの解放(ref Result_Judge); CDTXMania.tテクスチャの解放(ref Result_Header); CDTXMania.tテクスチャの解放(ref Result_Number); CDTXMania.tテクスチャの解放(ref Result_Panel); CDTXMania.tテクスチャの解放(ref Result_Score_Text); CDTXMania.tテクスチャの解放(ref Result_Score_Number); #endregion #region 7_終了画面 CDTXMania.tテクスチャの解放(ref Exit_Background); #endregion }
internal CTextureAf TxCAf(string FileName) { return(CDTXMania.tテクスチャの生成Af(CSkin.Path(BASE + FileName))); }
/// <summary> /// 文字列を描画したテクスチャを返す /// </summary> /// <param name="drawstr">描画文字列</param> /// <param name="fontColor">描画色</param> /// <param name="gradationTopColor">グラデーション 上側の色</param> /// <param name="gradationBottomColor">グラデーション 下側の色</param> /// <returns>描画済テクスチャ</returns> //public CTexture DrawPrivateFont( string drawstr, Color fontColor, Color gradationTopColor, Color gradataionBottomColor ) //{ // Bitmap bmp = DrawPrivateFont( drawstr, DrawMode.Gradation, fontColor, Color.White, gradationTopColor, gradataionBottomColor ); // return CDTXMania.tテクスチャの生成( bmp, false ); //} /// <summary> /// 文字列を描画したテクスチャを返す /// </summary> /// <param name="drawstr">描画文字列</param> /// <param name="fontColor">描画色</param> /// <param name="edgeColor">縁取色</param> /// <param name="gradationTopColor">グラデーション 上側の色</param> /// <param name="gradationBottomColor">グラデーション 下側の色</param> /// <returns>描画済テクスチャ</returns> public CTexture DrawPrivateFont(string drawstr, Color fontColor, Color edgeColor, Color gradationTopColor, Color gradataionBottomColor) { Bitmap bmp = DrawPrivateFont(drawstr, DrawMode.Edge | DrawMode.Gradation, fontColor, edgeColor, gradationTopColor, gradataionBottomColor); return(CDTXMania.tテクスチャの生成(bmp, false)); }
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 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 [ 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(); } }
/// <summary> /// 文字列を描画したテクスチャを返す /// </summary> /// <param name="drawstr">描画文字列</param> /// <param name="fontColor">描画色</param> /// <param name="edgeColor">縁取色</param> /// <returns>描画済テクスチャ</returns> public CTexture DrawPrivateFont(string drawstr, Color fontColor, Color edgeColor) { Bitmap bmp = DrawPrivateFont(drawstr, DrawMode.Edge, fontColor, edgeColor, Color.White, Color.White); return(CDTXMania.tテクスチャの生成(bmp, false)); }
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 UI Gothic", 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 e) { Trace.TraceError("テクスチャの生成に失敗しました。(txMessage)"); Trace.TraceError(e.ToString()); Trace.TraceError("例外が発生しましたが処理を継続します。"); this.txMessage = null; } base.OnManagedリソースの作成(); }
private static void Main() { mutex二重起動防止用 = new Mutex(false, "DTXManiaMutex"); if (mutex二重起動防止用.WaitOne(0, false)) { string newLine = Environment.NewLine; bool bDllNotFound = false; Trace.WriteLine("Current Directory: " + Environment.CurrentDirectory); Trace.WriteLine("EXEのあるフォルダ: " + Path.GetDirectoryName(Application.ExecutablePath)); Environment.CurrentDirectory = Path.GetDirectoryName(Application.ExecutablePath); #region [DLL Existence check] if (!tDLLの存在チェック("dll\\FDK.dll", "FDK.dll またはその依存するdllが存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "FDK.dll, or its depended DLL, is not found." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック(CDTXMania.D3DXDLL, CDTXMania.D3DXDLL + " が存在しません。" + newLine + "DirectX Redist フォルダの DXSETUP.exe を実行し、" + newLine + "必要な DirectX ランタイムをインストールしてください。", CDTXMania.D3DXDLL + " is not found." + newLine + "Please execute DXSETUP.exe in \"DirectX Redist\" folder, to install DirectX runtimes required for DTXMania.", true )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\bass.dll", "bass.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "baas.dll is not found." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\Bass.Net.dll", "Bass.Net.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "Bass.Net.dll is not found." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\bassmix.dll", "bassmix.dll を読み込めません。bassmix.dll か bass.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "bassmix.dll is not loaded. bassmix.dll or bass.dll must not exist." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\bassasio.dll", "bassasio.dll を読み込めません。bassasio.dll か bass.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "bassasio.dll is not loaded. bassasio.dll or bass.dll must not exist." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\basswasapi.dll", "basswasapi.dll を読み込めません。basswasapi.dll か bass.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "basswasapi.dll is not loaded. basswasapi.dll or bass.dll must not exist." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\bass_fx.dll", "bass_fx.dll を読み込めません。bass_fx.dll か bass.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "bass_fx.dll is not loaded. bass_fx.dll or bass.dll must not exist." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } if (!tDLLの存在チェック("dll\\DirectShowLib-2005.dll", "DirectShowLib-2005.dll が存在しません。" + newLine + "DTXManiaをダウンロードしなおしてください。", "DirectShowLib-2005.dll is not found." + newLine + "Please download DTXMania again." )) { bDllNotFound = true; } #endregion if (!bDllNotFound) { if (CultureInfo.CurrentCulture.TwoLetterISOLanguageName != "ja") { Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); } DWM.EnableComposition(false); // Disable AeroGrass temporally string path = Path.GetDirectoryName(Application.ExecutablePath); /* For future 64bit migration * SetDllDirectory(null); * if (Environment.Is64BitProcess) * { * SetDllDirectory(Path.Combine(path, @"dll\x64")); * } * else */ { SetDllDirectory(Path.Combine(path, @"dll")); } #if !DEBUG try #endif { using (var mania = new CDTXMania()) mania.Run(); Trace.WriteLine(""); Trace.WriteLine("遊んでくれてありがとう!"); } #if !DEBUG catch (Exception e) { Trace.WriteLine(""); Trace.Write(e.ToString()); Trace.WriteLine(""); Trace.WriteLine("エラーだゴメン!(涙"); MessageBox.Show(e.ToString(), "DTXMania Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // #23670 2011.2.28 yyagi to show error dialog } #endif // END #24606 2011.03.08 from // END #23670 2010.11.13 from if (Trace.Listeners.Count > 1) { Trace.Listeners.RemoveAt(1); } } // BEGIN #24615 2011.03.09 from: Mutex.WaitOne() が true を返した場合は、Mutex のリリースが必要である。 mutex二重起動防止用.ReleaseMutex(); mutex二重起動防止用 = null; // END #24615 2011.03.09 from } else // DTXManiaが既に起動中 { // → 引数が0個の時はそのまま終了 // 1個( コンパクトモード or DTXV -S) か2個 (DTXV -Nxxx ファイル名)のときは、そのプロセスにコマンドラインを丸々投げて終了する for (int i = 0; i < 5; i++) // 検索結果のハンドルがZeroになることがあるので、200ms間隔で5回リトライする { #region [ 既に起動中のDTXManiaプロセスを検索する。] // このやり方だと、ShowInTaskbar=falseでタスクバーに表示されないパターンの時に検索に失敗するようだが // DTXManiaでそのパターンはない?のでこのままいく。 // FindWindowを使えばこのパターンにも対応できるが、C#でビルドするアプリはウインドウクラス名を自前指定できないので、これは使わない。 Process current = Process.GetCurrentProcess(); Process[] running = Process.GetProcessesByName(current.ProcessName); Process target = null; //IntPtr hWnd = FindWindow( null, "DTXMania .NET style release " + CDTXMania.VERSION ); foreach (Process p in running) { if (p.Id != current.Id) // プロセス名は同じでかつ、プロセスIDが自分自身とは異なるものを探す { if (p.MainModule.FileName == current.MainModule.FileName && p.MainWindowHandle != IntPtr.Zero) { target = p; break; } } } #endregion #region [ 起動中のDTXManiaがいれば、そのプロセスにコマンドラインを投げる ] if (target != null) { string[] commandLineArgs = Environment.GetCommandLineArgs(); if (commandLineArgs != null && commandLineArgs.Length > 1) { string arg = null; for (int j = 1; j < commandLineArgs.Length; j++) { if (j == 1) { arg += commandLineArgs[j]; } else { arg += " " + "\"" + commandLineArgs[j] + "\""; } } Trace.TraceInformation("Message=" + arg + ", len(w/o null)=" + arg.Length); if (arg != null) { FDK.CSendMessage.sendmessage(target.MainWindowHandle, current.MainWindowHandle, arg); } } break; } #endregion else { Trace.TraceInformation("メッセージ送信先のプロセスが見つからず。5回リトライします。"); Thread.Sleep(200); } } } }
// メソッド public void SetPanelString(string str) { this.strパネル文字列 = str; if (base.b活性化してる) { CDTXMania.tテクスチャの解放(ref this.txPanel); 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 ); 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 + CDTXMania.Skin.Game_StageText, Color.White, Color.Black); } else { if (CDTXMania.Skin.Game_StageText_IsRed) { bmpDiff = pfMusicName.DrawPrivateFont(CDTXMania.Skin.Game_StageText, Color.White, Color.Red); } else { bmpDiff = pfMusicName.DrawPrivateFont(CDTXMania.Skin.Game_StageText, Color.White, Color.Black); } } this.tx難易度とステージ数 = CDTXMania.tテクスチャの生成(bmpDiff, false); CDTXMania.t安全にDisposeする(ref bmpDiff); CDTXMania.t安全にDisposeする(ref bmpSongTitle); } catch (CTextureCreateFailedException e) { Trace.TraceError(e.ToString()); Trace.TraceError("パネル文字列テクスチャの生成に失敗しました。"); this.txPanel = null; } } if (!string.IsNullOrEmpty(CDTXMania.stage選曲.str確定された曲のジャンル)) { string strGenre = CDTXMania.stage選曲.str確定された曲のジャンル; if (strGenre.Equals("アニメ")) { this.txGENRE = CDTXMania.Tx.TxCGen("Anime"); } else if (strGenre.Equals("J-POP")) { this.txGENRE = CDTXMania.Tx.TxCGen("J-POP"); } else if (strGenre.Equals("ゲームミュージック")) { this.txGENRE = CDTXMania.Tx.TxCGen("Game"); } else if (strGenre.Equals("ナムコオリジナル")) { this.txGENRE = CDTXMania.Tx.TxCGen("Namco"); } else if (strGenre.Equals("クラシック")) { this.txGENRE = CDTXMania.Tx.TxCGen("Classic"); } else if (strGenre.Equals("どうよう")) { this.txGENRE = CDTXMania.Tx.TxCGen("Child"); } else if (strGenre.Equals("バラエティ")) { this.txGENRE = CDTXMania.Tx.TxCGen("Variety"); } else if (strGenre.Equals("ボーカロイド") || strGenre.Equals("VOCALOID")) { this.txGENRE = CDTXMania.Tx.TxCGen("Vocaloid"); } else { Bitmap bmpDummy = new Bitmap(1, 1); this.txGENRE = CDTXMania.tテクスチャの生成(bmpDummy, true); } } this.ct進行用 = new CCounter(0, 2000, 2, CDTXMania.Timer); this.Start(); } }
public int t進行描画(int x, int y) { if (!base.b活性化してない && !this.bMute) { this.ct進行用.t進行Loop(); if (this.bFirst) { this.ct進行用.n現在の値 = 300; } if (this.txGENRE != null) { this.txGENRE.t2D描画(CDTXMania.app.Device, 1114, 74); } if (CDTXMania.Skin.b現在のステージ数を表示しない) { if (this.txMusicName != null) { float fRate = 660.0f / this.txMusicName.szテクスチャサイズ.Width; if (this.txMusicName.szテクスチャサイズ.Width <= 660.0f) { fRate = 1.0f; } this.txMusicName.vc拡大縮小倍率.X = fRate; this.txMusicName.t2D描画(CDTXMania.app.Device, 1254 - (this.txMusicName.szテクスチャサイズ.Width * fRate), 14); } } else { #region [ 透明度制御 ] if (this.ct進行用.n現在の値 < 745) { this.bFirst = false; this.txMusicName.n透明度 = 255; if (this.txGENRE != null) { this.txGENRE.n透明度 = 255; } this.tx難易度とステージ数.n透明度 = 0; } else if (this.ct進行用.n現在の値 >= 745 && this.ct進行用.n現在の値 < 1000) { this.txMusicName.n透明度 = 255 - (this.ct進行用.n現在の値 - 745); if (this.txGENRE != null) { this.txGENRE.n透明度 = 255 - (this.ct進行用.n現在の値 - 745); } this.tx難易度とステージ数.n透明度 = this.ct進行用.n現在の値 - 745; } else if (this.ct進行用.n現在の値 >= 1000 && this.ct進行用.n現在の値 <= 1745) { this.txMusicName.n透明度 = 0; if (this.txGENRE != null) { this.txGENRE.n透明度 = 0; } this.tx難易度とステージ数.n透明度 = 255; } else if (this.ct進行用.n現在の値 >= 1745) { this.txMusicName.n透明度 = this.ct進行用.n現在の値 - 1745; if (this.txGENRE != null) { this.txGENRE.n透明度 = this.ct進行用.n現在の値 - 1745; } this.tx難易度とステージ数.n透明度 = 255 - (this.ct進行用.n現在の値 - 1745); } #endregion if (this.txMusicName != null) { if (this.b初めての進行描画) { this.txMusicName.vc拡大縮小倍率.X = CDTXMania.GetSongNameXScaling(ref txMusicName); b初めての進行描画 = false; } this.txMusicName.t2D描画(CDTXMania.app.Device, 1254 - (this.txMusicName.szテクスチャサイズ.Width * txMusicName.vc拡大縮小倍率.X), 14); } if (this.tx難易度とステージ数 != null) { this.tx難易度とステージ数.t2D描画(CDTXMania.app.Device, 1254 - this.tx難易度とステージ数.szテクスチャサイズ.Width, 14); } } //CDTXMania.act文字コンソール.tPrint( 0, 0, C文字コンソール.Eフォント種別.白, this.ct進行用.n現在の値.ToString() ); //this.txMusicName.t2D描画( CDTXMania.app.Device, 1250 - this.txMusicName.szテクスチャサイズ.Width, 14 ); } return(0); }
public override void OnManagedリソースの解放() { CDTXMania.tテクスチャの解放(ref this.txフッター); CDTXMania.tテクスチャの解放(ref this.txモブ); base.OnManagedリソースの解放(); }
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[i]) { 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 int t進行描画() { if (!base.b活性化してない && this.bIsActivePopupMenu) { if (this.bキー入力待ち) { #region [ Shift-F1: CONFIG画面 ] if ((CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.RightShift) || CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.LeftShift)) && CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.F1)) { // [SHIFT] + [F1] CONFIG CDTXMania.Skin.sound取消音.t再生する(); tCancel(); this.bGotoDetailConfig = true; } #endregion #region [ キー入力: キャンセル ] else if ((CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Escape) || CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.FT) || CDTXMania.Pad.b押されたGB(Eパッド.Cancel)) && this.bEsc有効) { // キャンセル CDTXMania.Skin.sound取消音.t再生する(); tCancel(); this.bIsActivePopupMenu = false; } #endregion #region [ キー入力: 決定 ] // E楽器パート eInst = E楽器パート.UNKNOWN; ESortAction eAction = ESortAction.END; if (CDTXMania.Pad.b押された(E楽器パート.GUITAR, Eパッド.Decide)) { eInst = E楽器パート.GUITAR; eAction = ESortAction.Decide; } else if (CDTXMania.Pad.b押された(E楽器パート.BASS, Eパッド.Decide)) { eInst = E楽器パート.BASS; eAction = ESortAction.Decide; } else if ( CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.Decide) || // #24756 2011.4.1 yyagi: Add condition "Drum-Decide" to enable CY in Sort Menu. CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.RD) || CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.LC) || (CDTXMania.ConfigIni.bEnterがキー割り当てのどこにも使用されていない && CDTXMania.Input管理.Keyboard.bキーが押された((int)SlimDX.DirectInput.Key.Return))) { eInst = E楽器パート.DRUMS; eAction = ESortAction.Decide; } if (eAction == ESortAction.Decide) // 決定 { this.tEnter押下(); } #endregion #region [ キー入力: 前に移動 ] this.ctキー反復用.Up.tキー反復(CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.UpArrow), new CCounter.DGキー処理(this.t前に移動)); this.ctキー反復用.R.tキー反復(CDTXMania.Pad.b押されているGB(Eパッド.R), new CCounter.DGキー処理(this.t前に移動)); if (CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.SD)) { this.t前に移動(); } #endregion #region [ キー入力: 次に移動 ] this.ctキー反復用.Down.tキー反復(CDTXMania.Input管理.Keyboard.bキーが押されている((int)SlimDX.DirectInput.Key.DownArrow), new CCounter.DGキー処理(this.t次に移動)); this.ctキー反復用.B.tキー反復(CDTXMania.Pad.b押されているGB(Eパッド.B), new CCounter.DGキー処理(this.t次に移動)); if (CDTXMania.Pad.b押された(E楽器パート.DRUMS, Eパッド.LT)) { this.t次に移動(); } #endregion } #region [ ポップアップメニュー 背景描画 ] if (this.txPopupMenuBackground != null) { this.txPopupMenuBackground.t2D描画(CDTXMania.app.Device, 160, 40); } #endregion #region [ ソートメニュータイトル描画 ] int x = 240, y = 44; stqMenuTitle.txName.t2D描画(CDTXMania.app.Device, x, y); #endregion #region [ カーソル描画 ] if (this.txCursor != null) { int height = 32; int curX = 180; int curY = 46 + (height * (this.n現在の選択行 + 1)); this.txCursor.t2D描画(CDTXMania.app.Device, curX, curY, new Rectangle(0, 0, 16, 32)); curX += 0x10; Rectangle rectangle = new Rectangle(8, 0, 0x10, 0x20); for (int j = 0; j < 16; j++) { this.txCursor.t2D描画(CDTXMania.app.Device, curX, curY, rectangle); curX += 16; } this.txCursor.t2D描画(CDTXMania.app.Device, curX, curY, new Rectangle(0x10, 0, 16, 32)); } #endregion #region [ ソート候補文字列描画 ] for (int i = 0; i < lciMenuItems.Length; i++) { bool bItemBold = (i == nItemSelecting && !bShowAllItems) ? true : false; //font.t文字列描画( 190, 80 + i * 32, lciMenuItems[ i ].cItem.str項目名, bItemBold, 1.0f ); if (lciMenuItems[i].txName != null) { int height = lciMenuItems[i].rectName.Height; lciMenuItems[i].txName.t2D描画(CDTXMania.app.Device, 180, 77 + i * 32); } bool bValueBold = (bItemBold || (i == nItemSelecting && bIsSelectingIntItem)) ? true : false; if (bItemBold || bShowAllItems) { string s; switch (lciMenuItems[i].cItem.str項目名) { case "演奏速度": { double d = (double)((int)lciMenuItems[i].cItem.obj現在値() / 20.0); s = "x" + d.ToString("0.000"); } break; case "ばいそく": { double d = (double)((((int)lciMenuItems[i].cItem.obj現在値()) + 1) / 2.0); s = "x" + d.ToString("0.0"); } break; default: s = lciMenuItems[i].cItem.obj現在値().ToString(); break; } //font.t文字列描画( (int)(340 * Scale.X), (int)(80 + i * 32), s, bValueBold, 1.0f * Scale.Y); Bitmap bmpStr = bValueBold ? prvFont.DrawPrivateFont(s, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) : prvFont.DrawPrivateFont(s, Color.White, Color.Black); CTexture ctStr = CDTXMania.tテクスチャの生成(bmpStr, false); ctStr.t2D描画(CDTXMania.app.Device, 330, 77 + i * 32); CDTXMania.tテクスチャの解放(ref ctStr); } } #endregion t進行描画sub(); } return(0); }