bool TryToOpen(string path) { const string errorheader = "Could not open file"; if (!File.Exists(path)) { Error.Show( "\"{0}\" does not exist" , errorheader, path); return(false); } else { try { Kmt kmt = new Kmt(); kmt.Load(path); ResetData(); msv_Program.LoadKmt(kmt); openkmt = kmt; openfname = new StringValue(path); } catch (Exception ex) { Error.Show(ex.Message, errorheader); return(false); } } return(true); }
void File_Save(bool forcesaveas) { bool fileisfound() { bool filefound = false; if (openfname != null) { if (File.Exists(openfname.Value)) { filefound = true; } } return(filefound); } bool SaveIt() { string savefilename; if (forcesaveas | (!fileisfound())) { SaveFileDialog dialog = new SaveFileDialog(); dialog.Filter = "KMT File|*.kmt"; if (dialog.ShowDialog() == DialogResult.OK) { savefilename = dialog.FileName; } else { return(false); } } else { savefilename = openfname.Value; } Kmt kmt = new Kmt(); kmt.Entries = msv_Program.Missions(); kmt.Save(savefilename); openfname = new StringValue(savefilename); openkmt = kmt; return(true); } SaveIt(); }
public void LoadKmt(Kmt kmt) { clear(); for (int n = 0; n < kmt.Entries.Count; n += 1) { KmtEntry entry = kmt.Entries[n]; KmtEntry newentry = cloneentry(entry); int section_index = n / 8; int mission_index = n % 8; TreeNode mission = new TreeNode(String.Format( "{0} - {1}" , section_index + 1, mission_index + 1)); nodemission.Add(mission, newentry); tv_Missions.Nodes.Add(mission); } updatebuttons(); }
void ResetData() { msv_Program.Clear(); openfname = null; openkmt = null; }
static void Main(string[] args) { using var loggerFactory = LoggerFactory.Create(builder => { builder .AddSimpleConsole(options => { options.IncludeScopes = true; options.SingleLine = true; }); }); Console.WriteLine($"{Assembly.GetEntryAssembly().GetName().Name} v{Assembly.GetEntryAssembly().GetName().Version}\n"); var kmt = new Kmt(loggerFactory.CreateLogger <Kmt>()); foreach (var adapter in kmt.GetAdapters()) { if (adapter.AdapterType.SoftwareDevice) //skip software devices { adapter.Dispose(); continue; } Console.WriteLine("ID 8, Adapter Registry Info:"); Console.WriteLine($" - adapter string : {adapter.AdapterRegistryInfo.AdapterString}"); Console.WriteLine($" - bios string : {adapter.AdapterRegistryInfo.BiosString}"); Console.WriteLine($" - dac type : {adapter.AdapterRegistryInfo.DacType}"); Console.WriteLine($" - chip type : {adapter.AdapterRegistryInfo.ChipType}"); Console.WriteLine(""); Console.WriteLine("ID 13, Driver Version:"); Console.WriteLine($" - wddm version : {adapter.DriverVersion}"); Console.WriteLine(""); Console.WriteLine("ID 15, Adapter Type:"); Console.WriteLine($" - render supp. : {adapter.AdapterType.RenderSupported}"); Console.WriteLine($" - display supp. : {adapter.AdapterType.DisplaySupported}"); Console.WriteLine($" - software device: {adapter.AdapterType.SoftwareDevice}"); Console.WriteLine($" - post device : {adapter.AdapterType.PostDevice}"); Console.WriteLine($" - hybrid discrete: {adapter.AdapterType.HybridDiscrete}"); Console.WriteLine($" - hybrid integr. : {adapter.AdapterType.HybridIntegrated}"); Console.WriteLine($" - indirect displ.: {adapter.AdapterType.IndirectDisplayDevice}"); Console.WriteLine($" - paravirtualized: {adapter.AdapterType.Paravirtualized}"); Console.WriteLine($" - ACG supported : {adapter.AdapterType.ACGSupported}"); Console.WriteLine($" - tmngs from vidp: {adapter.AdapterType.SupportSetTimingsFromVidPn}"); Console.WriteLine($" - detachable : {adapter.AdapterType.Detachable}"); Console.WriteLine($" - compute only : {adapter.AdapterType.ComputeOnly}"); Console.WriteLine($" - prototype : {adapter.AdapterType.Prototype}"); Console.WriteLine($" - rt power mngmt : {adapter.AdapterType.RuntimePowerManagement}"); Console.WriteLine(""); Console.WriteLine("ID 24, WDDM 2.0 Capabilities:"); Console.WriteLine($" - 64-bit atomics : {adapter.WddmCapabilities_20.Atomics64Bit}"); Console.WriteLine($" - GPU MMU : {adapter.WddmCapabilities_20.GpuMmu}"); Console.WriteLine($" - Io MMU : {adapter.WddmCapabilities_20.IoMmu}"); Console.WriteLine($" - flip overwrite : {adapter.WddmCapabilities_20.FlipOverwrite}"); Console.WriteLine($" - ctxless present : {adapter.WddmCapabilities_20.ContextlessPresent}"); Console.WriteLine($" - surprise removal: {adapter.WddmCapabilities_20.SurpriseRemoval}"); Console.WriteLine(""); Console.WriteLine("ID 26, Content Protection Driver Name:"); Console.WriteLine($" - cp driver name : {adapter.ContentProtectionDriverName.ContentProtectionFileName}"); Console.WriteLine(""); Console.WriteLine("ID 31, Physical Adapter Device IDs:"); Console.WriteLine($" - vendor id : 0x{adapter.DeviceIds.VendorID:X4}"); Console.WriteLine($" - device id : 0x{adapter.DeviceIds.DeviceID:X4}"); Console.WriteLine($" - subvendor id : 0x{adapter.DeviceIds.SubVendorID:X4}"); Console.WriteLine($" - subsystem id : 0x{adapter.DeviceIds.SubSystemID:X4}"); Console.WriteLine($" - revision id : 0x{adapter.DeviceIds.RevisionID:X4}"); Console.WriteLine($" - bus type : 0x{adapter.DeviceIds.BusType}"); Console.WriteLine(""); Console.WriteLine("ID 34, GPU MMU Capabilities:"); Console.WriteLine($" - VA bit count : {adapter.GpuMmuCapabilities.VirtualAddressBitCount}"); Console.WriteLine($" - r/o : {adapter.GpuMmuCapabilities.ReadOnlyMemorySupported}"); Console.WriteLine($" - no_exec : {adapter.GpuMmuCapabilities.NoExecuteMemorySupported}"); Console.WriteLine($" - cache_coherent : {adapter.GpuMmuCapabilities.CacheCoherentMemorySupported}"); Console.WriteLine(""); Console.WriteLine("ID 62, Adapter Performance Data:"); Console.WriteLine($" - mem. freq. : {adapter.PerformanceData.MemoryFrequency} Hz"); Console.WriteLine($" - mem. freq. max : {adapter.PerformanceData.MaxMemoryFrequency} Hz"); Console.WriteLine($" - mem. freq. OC : {adapter.PerformanceData.MaxMemoryFrequencyOC} Hz"); Console.WriteLine($" - mem. bandwidth : {adapter.PerformanceData.MemoryBandwidth} Bytes"); Console.WriteLine($" - pcie bandwidth : {adapter.PerformanceData.PCIEBandwidth} Bytes"); Console.WriteLine($" - fan speed : {adapter.PerformanceData.FanRPM} RPM"); Console.WriteLine($" - power draw : {adapter.PerformanceData.Power/10.0} %"); Console.WriteLine($" - temperature : {adapter.PerformanceData.Temperature / 10.0} *C"); Console.WriteLine($" - power state ovr: {adapter.PerformanceData.PowerStateOverride}"); Console.WriteLine(""); Console.WriteLine("ID 63, Adapter Performance Data Capabilities:"); Console.WriteLine($" - adapter idx : {adapter.PerformanceDataCapabilities.PhysicalAdapterIndex}"); Console.WriteLine($" - max mem bandwth: {adapter.PerformanceDataCapabilities.MaxMemoryBandwidth} Bytes"); Console.WriteLine($" - max pci bandwth: {adapter.PerformanceDataCapabilities.MaxPCIEBandwidth} Bytes"); Console.WriteLine($" - max fan speed : {adapter.PerformanceDataCapabilities.MaxFanRPM} RPM"); Console.WriteLine($" - temp max : {adapter.PerformanceDataCapabilities.TemperatureMax / 10.0} *C"); Console.WriteLine($" - temp warning : {adapter.PerformanceDataCapabilities.TemperatureWarning / 10.0} *C"); Console.WriteLine(""); Console.WriteLine("ID 64, GPU version :"); Console.WriteLine($" - adapter idx : {adapter.GpuVersion.PhysicalAdapterIndex}"); Console.WriteLine($" - bios version : {adapter.GpuVersion.BiosVersion}"); Console.WriteLine($" - gpu version : {adapter.GpuVersion.GpuArchitecture}"); Console.WriteLine(""); Console.WriteLine("ID 70, WDDM 2.7 Capabilities:"); Console.WriteLine($" - HwSch supported : {adapter.WddmCapabilities_27.HwSchSupported}"); Console.WriteLine($" - HwSch enabled : {adapter.WddmCapabilities_27.HwSchEnabled}"); Console.WriteLine($" - HwSch enbl deflt: {adapter.WddmCapabilities_27.HwSchEnabledByDefault}"); Console.WriteLine($" - idpdt vdpn vsync: {adapter.WddmCapabilities_27.IndependentVidPnVSyncControl}"); Console.WriteLine(""); adapter.Dispose(); } Console.ReadKey(); }