{
// プロパティ
#region [ properties ]
- public static readonly string VERSION = "114(190117)";
+ public static readonly string VERSION = "118(200510)";
//public static readonly string SLIMDXDLL = "c_net20x86_Jun2010";
public static readonly string D3DXDLL = "d3dx9_43.dll"; // June 2010
//public static readonly string D3DXDLL = "d3dx9_42.dll"; // February 2010
Trace.TraceInformation("----------------------");
Trace.TraceInformation("■ アプリケーションの初期化");
- PutSystemLog();
-
-
+ CPutSystemLog.PutSystemLog();
#endregion
#region [ 言語の設定 ]
//多重再生数=4
CDTXMania.instance.ConfigIni.nPolyphonicSounds.Value = 4;
+ CDTXMania.instance.ConfigIni.nPolyphonicSoundsGB.Value = 2;
//再生速度x1
CDTXMania.instance.ConfigIni.nPlaySpeed.Value = 20;
#endregion
#region [ 現在の電源プランをバックアップし、CONFIGのHighPower=ONの場合は HighPerformanceに変更 ]
- CPowerPlan.BackupCurrentPowerPlan();
if (CDTXMania.Instance.ConfigIni.bForceHighPowerPlan)
{
+ CPowerPlan.BackupCurrentPowerPlan();
CPowerPlan.ChangeHighPerformance();
}
#endregion
base.Window.Icon = Properties.Resources.dtx;
base.Window.KeyDown += new KeyEventHandler(this.Window_KeyDown);
base.Window.MouseUp += new MouseEventHandler(this.Window_MouseUp);
+ base.Window.MouseDown += new MouseEventHandler(this.Window_MouseDown);
// #23510 2010.11.13 yyagi: to go fullscreen mode
base.Window.MouseDoubleClick += new MouseEventHandler(this.Window_MouseDoubleClick);
// #23510 2010.11.20 yyagi: to set resized window size in Config.ini
Trace.TraceInformation("サウンドデバイスの初期化を完了しました。");
}
+ catch (NullReferenceException) // No audio output found
+ {
+ Trace.TraceError("Error: No sound output devices are ready.");
+ string strWarnMes = CDTXMania.Instance.Resources.Explanation("strErrorNoActiveSoundDevice");
+ MessageBox.Show(strWarnMes, "DTXMania Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
+ Environment.Exit(-1);
+ }
catch (Exception e)
{
Trace.TraceError(e.Message);
r現在のステージ = stage起動;
}
r現在のステージ.On活性化();
+ this.Window.Activate(); // #41300 workaround to avoid SharpDX exception
#endregion
}
#if WindowedFullscreen
// #30666 2013.2.2 yyagi Don't use Fullscreen mode becasue NVIDIA GeForce is
// tend to delay drawing on Fullscreen mode. So DTXMania uses Maximized window
- // in spite of using fullscreen mode.
+ // instead of using fullscreen mode.
Instance.Window.WindowState = FormWindowState.Normal;
Instance.Window.FormBorderStyle = FormBorderStyle.Sizable;
Instance.Window.WindowState = FormWindowState.Normal;
CScoreIni scoreIni = null;
- if (Control.IsKeyLocked(Keys.CapsLock)) // #30925 2013.3.11 yyagi; capslock=ON時は、EnumSongsしないようにして、起動負荷とASIOの音切れの関係を確認する
+ //if (Control.IsKeyLocked(Keys.CapsLock)) // #30925 2013.3.11 yyagi; capslock=ON時は、EnumSongsしないようにして、起動負荷とASIOの音切れの関係を確認する
+ if (!CDTXMania.instance.ConfigIni.bEnumerateSongsInBoot) // #40772 2020.10.12 yyagi
{
// → songs.db等の書き込み時だと音切れするっぽい
actEnumSongs.On非活性化();
{
if (File.Exists(xmlpath))
{
- using (XmlReader xr = XmlReader.Create(xmlpath))
+ using (StreamReader reader = new StreamReader(xmlpath, Encoding.GetEncoding("shift_jis")))
+ using (XmlReader xr = XmlReader.Create(reader))
{
DataContractSerializer serializer = new DataContractSerializer(t);
ret = serializer.ReadObject(xr);
Path.Combine( Path.Combine( this.strEXEのあるフォルダ, "System" ), ConfigIni.strSystemSkinSubfolderPath );
}
}
+
+ ConfigIni.UpgradeConfig(); // 本体version upに伴ってConfig.xmlの定義が更新される場合の、最低限のフォローアップ
}
/// <summary>
/// 座標値を読み込む。Coordinates メンバ初期化後いつ呼び出しても構わない。
{
mb = e.Button;
}
+ private void Window_MouseDown(object sender, MouseEventArgs e)
+ {
+ currentMousePosition.X = Control.MousePosition.X;
+ currentMousePosition.Y = Control.MousePosition.Y;
+ }
private void Window_MouseDoubleClick(object sender, MouseEventArgs e) // #23510 2010.11.13 yyagi: to go full screen mode
{
if (mb.Equals(MouseButtons.Left) && ConfigIni.bIsAllowedDoubleClickFullscreen) // #26752 2011.11.27 yyagi
{
- ConfigIni.bウィンドウモード = false;
+ ConfigIni.bウィンドウモード = !ConfigIni.bウィンドウモード;
this.t全画面_ウィンドウモード切り替え();
}
}
+ private Point currentMousePosition = new Point(-1,-1);
private void Window_MouseMove(object sender, MouseEventArgs e)
{
if (cMouseHideControl != null) cMouseHideControl.tResetCursorState(ConfigIni.bウィンドウモード, this.bApplicationActive);
- }
+ if (Control.MouseButtons.HasFlag(MouseButtons.Left))
+ {
+ int X = base.Window.Location.X;
+ X += (Control.MousePosition.X - currentMousePosition.X);
+ int Y = base.Window.Location.Y;
+ Y += (Control.MousePosition.Y - currentMousePosition.Y);
+
+ base.Window.Location = new Point(X, Y);
+ currentMousePosition.X = Control.MousePosition.X;
+ currentMousePosition.Y = Control.MousePosition.Y;
+ }
+ }
private void Window_ResizeEnd(object sender, EventArgs e) // #23510 2010.11.20 yyagi: to get resized window size
{
if (ConfigIni.bウィンドウモード)
bマウスカーソル表示中 = false;
}
}
-
- /// <summary>
- /// システム環境のログを出力する
- /// </summary>
- private void PutSystemLog()
- {
- System.Management.ManagementClass mc =
- new System.Management.ManagementClass("Win32_Processor");
- System.Management.ManagementObjectCollection moc = mc.GetInstances();
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("CPU Information:");
- //Trace.TraceInformation("DeviceID = {0}", mo["DeviceID"]);
- Trace.TraceInformation("Name = {0}", mo["Name"]);
- Trace.TraceInformation("MaxClockSpeed = {0}MHz", mo["MaxClockSpeed"]);
- Trace.TraceInformation("L2CacheSize = {0}KB", mo["L2CacheSize"]);
- Trace.TraceInformation("L3CacheSize = {0}KB", mo["L3CacheSize"]);
- Trace.TraceInformation("NumberOfCores = {0}", mo["NumberOfCores"]);
- Trace.TraceInformation("NumberOfLogicalProcessors = {0}", mo["NumberOfLogicalProcessors"]);
- }
- moc.Dispose();
- moc.Dispose();
-
- //System.Management.ManagementClass mc =
- // new System.Management.ManagementClass("Win32_OperatingSystem");
- //System.Management.ManagementObjectCollection moc = mc.GetInstances();
- mc =
- new System.Management.ManagementClass("Win32_OperatingSystem");
- moc = mc.GetInstances();
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("OS Information:");
- //簡単な説明(Windows 8.1では「Microsoft Windows 8.1 Pro」等)
- Trace.TraceInformation("OS: " + mo["Caption"]);
- //バージョン(Windows 8.1では、「6.3.9600」)
- Trace.TraceInformation("Version: " + mo["Version"]);
- //ビルド番号(Windows 8.1では「9600」)
- //Trace.TraceInformation( "BuildNumber: " + mo["BuildNumber"]);
-
- //サービスパック(Windows 8.1ではNULL)
- Trace.TraceInformation("CSDVersion (ServicePack): " + mo["CSDVersion"]);
- //言語(日本語は「1041」)
- Trace.TraceInformation("OSLanguage: " + mo["OSLanguage"]);
-
- Trace.TraceInformation("OSArchitecture: " + mo["OSArchitecture"]);
-
- //Trace.TraceInformation("TotalVisibleMemorySize = {0}", mo["TotalVisibleMemorySize"]);
- }
- moc.Dispose();
- mc.Dispose();
-
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("General Environment Information:");
- //Trace.TraceInformation("OS Version: " + Environment.OSVersion); // fake version will be returned (due to the lack of manifest settings)
- //Trace.TraceInformation("ProcessorCount: " + Environment.ProcessorCount.ToString());
- Trace.TraceInformation("CLR Version: " + Environment.Version.ToString());
- Trace.TraceInformation("SystemPageSize: " + Environment.SystemPageSize.ToString());
-
- var cominfo = new Microsoft.VisualBasic.Devices.ComputerInfo();
- Trace.TraceInformation("TotalPhysicalMemorySize: {0:F2}GB", (cominfo.TotalPhysicalMemory / 1024f / 1024f / 1024f));
- Trace.TraceInformation("VirtialMemorySize: {0:F2}GB", (cominfo.TotalVirtualMemory / 1024f / 1024f / 1024f));
- Trace.TraceInformation("FreePhysicalMemorySize: {0:F2}MB", (cominfo.AvailablePhysicalMemory / 1024f / 1024f));
- Trace.TraceInformation("FreeVirtualMemorySize: {0:F2}MB", (cominfo.AvailableVirtualMemory / 1024f / 1024f));
- //Trace.TraceInformation(cominfo.OSFullName + ", " + cominfo.OSPlatform + ", " + cominfo.OSVersion);
-
- mc = new System.Management.ManagementClass("Win32_PhysicalMemory");
- moc = mc.GetInstances();
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("Physical Memory Information:");
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("Capacity: {0:F2}GB", (Convert.ToInt64(mo["Capacity"]) / 1024f / 1024f / 1024f));
- }
- moc.Dispose();
- mc.Dispose();
-
- mc = new System.Management.ManagementClass("Win32_DisplayControllerConfiguration");
- moc = mc.GetInstances();
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("Display Adapter Information:");
- Trace.TraceInformation("Name: " + mo["Name"]);
- Trace.TraceInformation("VideoMode: " + mo["VideoMode"]);
- Trace.TraceInformation("HorizontalResolution: " + mo["HorizontalResolution"]);
- Trace.TraceInformation("VerticalResolution: " + mo["VerticalResolution"]);
- Trace.TraceInformation("RefreshRate: " + mo["RefreshRate"]);
- }
- moc.Dispose();
- mc.Dispose();
-
- mc = new System.Management.ManagementClass("Win32_VideoController");
- moc = mc.GetInstances();
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("Video Controller Information:");
- Trace.TraceInformation("Description: " + mo["Description"]);
- Trace.TraceInformation("AdapterRAM: {0}MB", (Convert.ToInt64(mo["AdapterRAM"]) / 1024f / 1024f));
- Trace.TraceInformation("CapabilityDescriptions: " + mo["CapabilityDescriptions"]);
- }
- moc.Dispose();
- mc.Dispose();
-
- mc = new System.Management.ManagementClass("Win32_DesktopMonitor");
- moc = mc.GetInstances();
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("Display Information:");
- Trace.TraceInformation("Description: " + mo["Description"]);
- Trace.TraceInformation("PixelsPerXLogicalInch: " + mo["PixelsPerXLogicalInch"]);
- Trace.TraceInformation("PixelsPerYLogicalInch: " + mo["PixelsPerYLogicalInch"]);
- Trace.TraceInformation("ScreenWidth: " + mo["ScreenWidth"]);
- Trace.TraceInformation("ScreenHeight: " + mo["ScreenHeight"]);
- }
- moc.Dispose();
- mc.Dispose();
-
- mc = new System.Management.ManagementClass("Win32_SoundDevice");
- moc = mc.GetInstances();
- foreach (System.Management.ManagementObject mo in moc)
- {
- Trace.TraceInformation("-------------------------");
- Trace.TraceInformation("Audio Information:");
- //Trace.TraceInformation("Caption: " + mo["Caption"]);
- //Trace.TraceInformation("ProductName: " + mo["ProductName"]);
- //Trace.TraceInformation("DMABufferSize: " + mo["DMABufferSize"]);
-
- foreach (PropertyData property in mo.Properties)
- {
- Trace.TraceInformation("{0}:{1}", property.Name, property.Value);
- }
- }
- moc.Dispose();
- mc.Dispose();
-
- Trace.TraceInformation("----------------------");
- Trace.TraceInformation("DTXMania settings:");
- Trace.TraceInformation("VSyncWait: " + ConfigIni.bVSyncWait.ToString());
- Trace.TraceInformation("Fullscreen: " + ConfigIni.bFullScreen.ToString());
- Trace.TraceInformation("----------------------");
- }
-
}
}