reapply edits and cleanup
This commit is contained in:
parent
11dbb0e1c8
commit
fa40ae718f
BizHawk.Client.Common
BinarySaveStates.csBizHawk.Client.Common.csprojControllerBinding.csGlobal.csPathManager.csSavestateManager.csXmlGame.cs
tools
BizHawk.Common
BizHawk.Emulation
BizHawk.MultiClient
AVOut
BizHawk.MultiClient.csprojGlobalWinF.csMainForm.Designer.csMainForm.MenuItems.csMainForm.csMainForm.resxRenderPanel.csSound.cstools
|
@ -5,7 +5,7 @@ using System.Text;
|
|||
using ICSharpCode.SharpZipLib.Zip;
|
||||
using System.IO;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public class BinaryStateFileNames
|
||||
{
|
||||
|
|
|
@ -33,6 +33,9 @@
|
|||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ICSharpCode.SharpZipLib">
|
||||
<HintPath>..\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json">
|
||||
<HintPath>..\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
|
@ -82,9 +85,11 @@
|
|||
<Compile Include="7z\SevenZipExtractorAsynchronous.cs" />
|
||||
<Compile Include="7z\SevenZipSfx.cs" />
|
||||
<Compile Include="7z\StreamWrappers.cs" />
|
||||
<Compile Include="BinarySaveStates.cs" />
|
||||
<Compile Include="config\Binding.cs" />
|
||||
<Compile Include="config\Config.cs" />
|
||||
<Compile Include="config\ConfigService.cs" />
|
||||
<Compile Include="ControllerBinding.cs" />
|
||||
<Compile Include="CoreFileProvider.cs" />
|
||||
<Compile Include="FirmwareManager.cs" />
|
||||
<Compile Include="Global.cs" />
|
||||
|
@ -100,15 +105,24 @@
|
|||
<Compile Include="movie\MultitrackRecording.cs" />
|
||||
<Compile Include="movie\Subtitle.cs" />
|
||||
<Compile Include="movie\SubtitleList.cs" />
|
||||
<Compile Include="PathManager.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="RecentFiles.cs" />
|
||||
<Compile Include="helpers\StringHelpers.cs" />
|
||||
<Compile Include="RomGame.cs" />
|
||||
<Compile Include="SavestateManager.cs" />
|
||||
<Compile Include="tools\Cheat.cs" />
|
||||
<Compile Include="tools\CheatList.cs" />
|
||||
<Compile Include="tools\RamSearchEngine.cs" />
|
||||
<Compile Include="tools\Watch.cs" />
|
||||
<Compile Include="tools\WatchList.cs" />
|
||||
<Compile Include="XmlGame.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BizHawk.Common\BizHawk.Common.csproj">
|
||||
<Project>{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}</Project>
|
||||
<Name>BizHawk.Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\BizHawk.Emulation\BizHawk.Emulation.csproj">
|
||||
<Project>{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}</Project>
|
||||
<Name>BizHawk.Emulation</Name>
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public class Controller : IController
|
||||
{
|
||||
|
|
|
@ -14,5 +14,10 @@
|
|||
/// </summary>
|
||||
public static MultitrackRewiringControllerAdapter MultitrackRewiringControllerAdapter = new MultitrackRewiringControllerAdapter();
|
||||
public static MovieSession MovieSession = new MovieSession();
|
||||
|
||||
/// <summary>
|
||||
/// whether throttling is force-disabled by use of fast forward
|
||||
/// </summary>
|
||||
public static bool ForceNoThrottle;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,17 +3,13 @@ using System.Linq;
|
|||
using System.IO;
|
||||
using System.Reflection;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public static class PathManager
|
||||
{
|
||||
public static string GetExeDirectoryAbsolute()
|
||||
{
|
||||
var uri = new Uri(Assembly.GetEntryAssembly().GetName().CodeBase);
|
||||
string module = uri.LocalPath + System.Web.HttpUtility.UrlDecode(uri.Fragment);
|
||||
return Path.GetDirectoryName(module);
|
||||
return AppDomain.CurrentDomain.BaseDirectory;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
using System.IO;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
class SavestateManager
|
||||
public class SavestateManager
|
||||
{
|
||||
private readonly bool[] slots = new bool[10];
|
||||
private readonly bool[] redo = new bool[10];
|
||||
|
@ -32,14 +30,17 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
public bool HasSavestateSlots()
|
||||
public bool HasSavestateSlots
|
||||
{
|
||||
Update();
|
||||
for (int x = 0; x < 10; x++)
|
||||
get
|
||||
{
|
||||
if (slots[x]) return true;
|
||||
Update();
|
||||
for (int x = 0; x < 10; x++)
|
||||
{
|
||||
if (slots[x]) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool HasSlot(int slot)
|
||||
|
|
|
@ -5,9 +5,7 @@ using System.Text;
|
|||
using System.IO;
|
||||
using System.Xml;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public class XmlGame
|
||||
{
|
||||
|
@ -96,10 +94,9 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
return ret;
|
||||
}
|
||||
catch (Exception e)
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(e.ToString(), "XMLGame Load Error");
|
||||
return null;
|
||||
throw new InvalidOperationException(ex.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ using System.Linq;
|
|||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
//TODO: move me
|
||||
//http://stackoverflow.com/questions/1766328/can-linq-use-binary-search-when-the-collection-is-ordered
|
||||
|
@ -49,8 +49,6 @@ namespace BizHawk.MultiClient
|
|||
|
||||
public class RamSearchEngine
|
||||
{
|
||||
|
||||
|
||||
public enum ComparisonOperator { Equal, GreaterThan, GreaterThanEqual, LessThan, LessThanEqual, NotEqual, DifferentBy };
|
||||
public enum Compare { Previous, SpecificValue, SpecificAddress, Changes, Difference }
|
||||
|
||||
|
@ -61,7 +59,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private List<IMiniWatch> _watchList = new List<IMiniWatch>();
|
||||
private Settings _settings = new Settings();
|
||||
private WatchHistory _history = new WatchHistory(true);
|
||||
private UndoHistory<IMiniWatch> _history = new UndoHistory<IMiniWatch>(true);
|
||||
private bool _keepHistory = true;
|
||||
|
||||
public RamSearchEngine(Settings settings)
|
||||
|
@ -408,7 +406,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
switch(column)
|
||||
{
|
||||
case RamSearch.ADDRESS:
|
||||
case WatchList.ADDRESS:
|
||||
if (reverse)
|
||||
{
|
||||
_watchList = _watchList.OrderByDescending(x => x.Address).ToList();
|
||||
|
@ -418,7 +416,7 @@ namespace BizHawk.MultiClient
|
|||
_watchList = _watchList.OrderBy(x => x.Address).ToList();
|
||||
}
|
||||
break;
|
||||
case RamSearch.VALUE:
|
||||
case WatchList.VALUE:
|
||||
if (reverse)
|
||||
{
|
||||
_watchList = _watchList.OrderByDescending(x => GetValue(x.Address)).ToList();
|
||||
|
@ -428,7 +426,7 @@ namespace BizHawk.MultiClient
|
|||
_watchList = _watchList.OrderBy(x => GetValue(x.Address)).ToList();
|
||||
}
|
||||
break;
|
||||
case RamSearch.PREV:
|
||||
case WatchList.PREV:
|
||||
if (reverse)
|
||||
{
|
||||
_watchList = _watchList.OrderByDescending(x => x.Previous).ToList();
|
||||
|
@ -438,7 +436,7 @@ namespace BizHawk.MultiClient
|
|||
_watchList = _watchList.OrderBy(x => x.Previous).ToList();
|
||||
}
|
||||
break;
|
||||
case RamSearch.CHANGES:
|
||||
case WatchList.CHANGES:
|
||||
if (_settings.Mode == Settings.SearchMode.Detailed)
|
||||
{
|
||||
if (reverse)
|
||||
|
@ -457,7 +455,7 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
break;
|
||||
case RamSearch.DIFF:
|
||||
case WatchList.DIFF:
|
||||
if (reverse)
|
||||
{
|
||||
_watchList = _watchList.OrderByDescending(x => (GetValue(x.Address) - x.Previous)).ToList();
|
||||
|
@ -499,7 +497,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (_keepHistory)
|
||||
{
|
||||
_watchList = _history.Undo();
|
||||
_watchList = _history.Undo().ToList();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -507,7 +505,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
if (_keepHistory)
|
||||
{
|
||||
_watchList = _history.Redo();
|
||||
_watchList = _history.Redo().ToList();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,16 +4,11 @@ using System.Globalization;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
public class WatchList : IEnumerable<Watch>
|
||||
{
|
||||
|
||||
|
||||
public const string ADDRESS = "AddressColumn";
|
||||
public const string VALUE = "ValueColumn";
|
||||
public const string PREV = "PrevColumn";
|
||||
|
@ -297,26 +292,6 @@ namespace BizHawk.MultiClient
|
|||
public string CurrentFileName { get { return _currentFilename; } set { _currentFilename = value; } }
|
||||
public bool Changes { get; set; }
|
||||
|
||||
public bool Save()
|
||||
{
|
||||
bool result;
|
||||
if (!String.IsNullOrWhiteSpace(CurrentFileName))
|
||||
{
|
||||
result = SaveFile();
|
||||
}
|
||||
else
|
||||
{
|
||||
result = SaveAs();
|
||||
}
|
||||
|
||||
if (result)
|
||||
{
|
||||
Changes = false;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool Load(string path, bool append)
|
||||
{
|
||||
bool result = LoadFile(path, append);
|
||||
|
@ -346,7 +321,7 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
private bool SaveFile()
|
||||
public bool Save()
|
||||
{
|
||||
if (String.IsNullOrWhiteSpace(CurrentFileName))
|
||||
{
|
||||
|
@ -380,13 +355,12 @@ namespace BizHawk.MultiClient
|
|||
return true;
|
||||
}
|
||||
|
||||
public bool SaveAs()
|
||||
public bool SaveAs(FileInfo file)
|
||||
{
|
||||
var file = GetSaveFileFromUser(CurrentFileName);
|
||||
if (file != null)
|
||||
{
|
||||
CurrentFileName = file.FullName;
|
||||
return SaveFile();
|
||||
return Save();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -546,53 +520,6 @@ namespace BizHawk.MultiClient
|
|||
return 0;
|
||||
}
|
||||
|
||||
public static FileInfo GetFileFromUser(string currentFile)
|
||||
{
|
||||
var ofd = new OpenFileDialog();
|
||||
if (currentFile.Length > 0)
|
||||
ofd.FileName = Path.GetFileNameWithoutExtension(currentFile);
|
||||
ofd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null);
|
||||
ofd.Filter = "Watch Files (*.wch)|*.wch|All Files|*.*";
|
||||
ofd.RestoreDirectory = true;
|
||||
|
||||
GlobalWinF.Sound.StopSound();
|
||||
var result = ofd.ShowDialog();
|
||||
GlobalWinF.Sound.StartSound();
|
||||
if (result != DialogResult.OK)
|
||||
return null;
|
||||
var file = new FileInfo(ofd.FileName);
|
||||
return file;
|
||||
}
|
||||
|
||||
public static FileInfo GetSaveFileFromUser(string currentFile)
|
||||
{
|
||||
var sfd = new SaveFileDialog();
|
||||
if (currentFile.Length > 0)
|
||||
{
|
||||
sfd.FileName = Path.GetFileNameWithoutExtension(currentFile);
|
||||
sfd.InitialDirectory = Path.GetDirectoryName(currentFile);
|
||||
}
|
||||
else if (!(Global.Emulator is NullEmulator))
|
||||
{
|
||||
sfd.FileName = PathManager.FilesystemSafeName(Global.Game);
|
||||
sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
sfd.FileName = "NULL";
|
||||
sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null);
|
||||
}
|
||||
sfd.Filter = "Watch Files (*.wch)|*.wch|All Files|*.*";
|
||||
sfd.RestoreDirectory = true;
|
||||
GlobalWinF.Sound.StopSound();
|
||||
var result = sfd.ShowDialog();
|
||||
GlobalWinF.Sound.StartSound();
|
||||
if (result != DialogResult.OK)
|
||||
return null;
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
return file;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BizHawk.Common</RootNamespace>
|
||||
<AssemblyName>BizHawk.Common</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="MruStack.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="UndoHistory.cs" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -1,4 +1,4 @@
|
|||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Common
|
||||
{
|
||||
public class MruStack<T>
|
||||
{
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("BizHawk.Common")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Measurement Incorporated")]
|
||||
[assembly: AssemblyProduct("BizHawk.Common")]
|
||||
[assembly: AssemblyCopyright("Copyright © Measurement Incorporated 2013")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("f8e9ad29-89d8-478b-a699-ed3369703b6a")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -1,20 +1,21 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
namespace BizHawk.Common
|
||||
{
|
||||
public class WatchHistory
|
||||
public class UndoHistory<T>
|
||||
{
|
||||
private List<List<RamSearchEngine.IMiniWatch>> _history = new List<List<RamSearchEngine.IMiniWatch>>();
|
||||
private List<List<T>> _history = new List<List<T>>();
|
||||
private int curPos; //1-based
|
||||
|
||||
public bool Enabled { get; private set; }
|
||||
|
||||
public WatchHistory(bool enabled)
|
||||
public UndoHistory(bool enabled)
|
||||
{
|
||||
Enabled = enabled;
|
||||
}
|
||||
|
||||
public WatchHistory(List<RamSearchEngine.IMiniWatch> newState, bool enabled)
|
||||
public UndoHistory(IEnumerable<T> newState, bool enabled)
|
||||
{
|
||||
AddState(newState);
|
||||
Enabled = enabled;
|
||||
|
@ -22,7 +23,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
public void Clear()
|
||||
{
|
||||
_history = new List<List<RamSearchEngine.IMiniWatch>>();
|
||||
_history = new List<List<T>>();
|
||||
curPos = 0;
|
||||
}
|
||||
|
||||
|
@ -41,7 +42,7 @@ namespace BizHawk.MultiClient
|
|||
get { return Enabled && _history.Any(); }
|
||||
}
|
||||
|
||||
public void AddState(List<RamSearchEngine.IMiniWatch> newState)
|
||||
public void AddState(IEnumerable<T> newState)
|
||||
{
|
||||
if (Enabled)
|
||||
{
|
||||
|
@ -53,12 +54,12 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
_history.Add(newState);
|
||||
_history.Add(newState.ToList());
|
||||
curPos = _history.Count;
|
||||
}
|
||||
}
|
||||
|
||||
public List<RamSearchEngine.IMiniWatch> Undo()
|
||||
public IEnumerable<T> Undo()
|
||||
{
|
||||
if (CanUndo && Enabled)
|
||||
{
|
||||
|
@ -71,7 +72,7 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
public List<RamSearchEngine.IMiniWatch> Redo()
|
||||
public IEnumerable<T> Redo()
|
||||
{
|
||||
if (CanRedo && Enabled)
|
||||
{
|
||||
|
|
|
@ -583,7 +583,12 @@
|
|||
<ItemGroup>
|
||||
<Folder Include="Computers\Commodore64\Peripheral\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\BizHawk.Common\BizHawk.Common.csproj">
|
||||
<Project>{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}</Project>
|
||||
<Name>BizHawk.Common</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Consoles\Atari\docs\stella.pdf" />
|
||||
<None Include="Consoles\Coleco\docs\colecovision tech1.pdf" />
|
||||
|
|
|
@ -3,6 +3,8 @@ using System.Collections.Generic;
|
|||
using System.Text;
|
||||
using System.Diagnostics;
|
||||
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.MultiClient
|
||||
{
|
||||
/// <summary>
|
||||
|
|
|
@ -84,7 +84,6 @@
|
|||
</Reference>
|
||||
<Reference Include="System.DirectoryServices" />
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml.Linq">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
|
@ -153,7 +152,6 @@
|
|||
<DependentUpon>VideoWriterChooserForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="AVOut\WavWriter.cs" />
|
||||
<Compile Include="BinarySaveStates.cs" />
|
||||
<Compile Include="BizBox.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -232,7 +230,6 @@
|
|||
<Compile Include="config\PathInfo.Designer.cs">
|
||||
<DependentUpon>PathInfo.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="config\PathManager.cs" />
|
||||
<Compile Include="config\RewindConfig.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -283,7 +280,6 @@
|
|||
<Compile Include="DisplayManager\DisplayManager.cs" />
|
||||
<Compile Include="DisplayManager\Filters\Hq2x.cs" />
|
||||
<Compile Include="GlobalWinF.cs" />
|
||||
<Compile Include="Input\ControllerBinding.cs" />
|
||||
<Compile Include="Input\GamePad.cs" Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
<Compile Include="Input\GamePad360.cs" />
|
||||
<Compile Include="Input\Input.cs" />
|
||||
|
@ -344,7 +340,6 @@
|
|||
<Compile Include="movie\SubtitleMaker.Designer.cs">
|
||||
<DependentUpon>SubtitleMaker.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MruStack.cs" />
|
||||
<Compile Include="NameStateForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -504,7 +499,6 @@
|
|||
<Compile Include="tools\N64\N64VideoPluginconfig.Designer.cs">
|
||||
<DependentUpon>N64VideoPluginconfig.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="tools\NES\MovieConvert.cs" />
|
||||
<Compile Include="tools\NES\NameTableViewer.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
@ -727,7 +721,6 @@
|
|||
<Compile Include="tools\Watch\RamSearch.Designer.cs">
|
||||
<DependentUpon>RamSearch.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="tools\Watch\RamSearchEngine.cs" />
|
||||
<Compile Include="tools\Watch\RamWatch.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
@ -740,12 +733,9 @@
|
|||
<Compile Include="tools\Watch\WatchEditor.Designer.cs">
|
||||
<DependentUpon>WatchEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="tools\Watch\WatchHistory.cs" />
|
||||
<Compile Include="tools\Watch\WatchList.cs" />
|
||||
<Compile Include="tools\Watch\WatchValueBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="XmlGame.cs" />
|
||||
<EmbeddedResource Include="AVOut\FFmpegWriterForm.resx">
|
||||
<DependentUpon>FFmpegWriterForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
@ -981,7 +971,6 @@
|
|||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
<Compile Include="Properties\svnrev.cs" />
|
||||
<Compile Include="SavestateManager.cs" />
|
||||
<Compile Include="Throttle.cs" />
|
||||
<Compile Include="tools\InputPrompt.cs">
|
||||
<SubType>Form</SubType>
|
||||
|
@ -1010,6 +999,10 @@
|
|||
<Project>{24A0AA3C-B25F-4197-B23D-476D6462DBA0}</Project>
|
||||
<Name>BizHawk.Client.Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\BizHawk.Common\BizHawk.Common.csproj">
|
||||
<Project>{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}</Project>
|
||||
<Name>BizHawk.Common</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\BizHawk.Emulation\BizHawk.Emulation.csproj">
|
||||
<Project>{197D4314-8A9F-49BA-977D-54ACEFAEB6BA}</Project>
|
||||
<Name>BizHawk.Emulation</Name>
|
||||
|
|
|
@ -22,11 +22,6 @@ namespace BizHawk.MultiClient
|
|||
public static Controller NullControls;
|
||||
public static AutofireController AutofireNullControls;
|
||||
|
||||
/// <summary>
|
||||
/// whether throttling is force-disabled by use of fast forward
|
||||
/// </summary>
|
||||
public static bool ForceNoThrottle;
|
||||
|
||||
//the movie will be spliced inbetween these if it is present
|
||||
public static CopyControllerAdapter MovieInputSourceAdapter = new CopyControllerAdapter();
|
||||
public static CopyControllerAdapter MovieOutputHardpoint = new CopyControllerAdapter();
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -189,7 +189,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
ShowConsole();
|
||||
//PsxApi.StdioFixes();
|
||||
displayLogWindowToolStripMenuItem.Checked = true;
|
||||
DisplayLogWindowMenuItem.Checked = true;
|
||||
}
|
||||
|
||||
throttle = new Throttle();
|
||||
|
@ -429,7 +429,7 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
else
|
||||
{
|
||||
displayStatusBarToolStripMenuItem.Checked = true;
|
||||
DisplayStatusBarMenuItem.Checked = true;
|
||||
}
|
||||
|
||||
if (Global.Config.StartPaused)
|
||||
|
@ -625,7 +625,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
bool fastforward = GlobalWinF.ClientControls["Fast Forward"] || FastForward;
|
||||
bool superfastforward = GlobalWinF.ClientControls["Turbo"];
|
||||
GlobalWinF.ForceNoThrottle = unthrottled || fastforward;
|
||||
Global.ForceNoThrottle = unthrottled || fastforward;
|
||||
|
||||
// realtime throttle is never going to be so exact that using a double here is wrong
|
||||
throttle.SetCoreFps(Global.Emulator.CoreComm.VsyncRate);
|
||||
|
@ -1228,10 +1228,9 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
else if (file.Extension.ToLower() == ".xml")
|
||||
{
|
||||
var XMLG = XmlGame.Create(file);
|
||||
|
||||
if (XMLG != null)
|
||||
try
|
||||
{
|
||||
var XMLG = XmlGame.Create(file); // if load fails, are we supposed to retry as a bsnes XML????????
|
||||
game = XMLG.GI;
|
||||
|
||||
switch (game.System)
|
||||
|
@ -1256,9 +1255,11 @@ namespace BizHawk.MultiClient
|
|||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
// if load fails, are we supposed to retry as a bsnes XML????????
|
||||
catch(Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.ToString(), "XMLGame Load Error");
|
||||
}
|
||||
}
|
||||
else // most extensions
|
||||
{
|
||||
|
@ -3206,7 +3207,7 @@ namespace BizHawk.MultiClient
|
|||
//sends an alt+mnemonic combination
|
||||
void SendAltKeyChar(char c)
|
||||
{
|
||||
typeof(ToolStrip).InvokeMember("ProcessMnemonicInternal", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Instance, null, menuStrip1, new object[] { c });
|
||||
typeof(ToolStrip).InvokeMember("ProcessMnemonicInternal", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Instance, null, MainformMenu, new object[] { c });
|
||||
}
|
||||
|
||||
string FormatFilter(params string[] args)
|
||||
|
@ -4032,19 +4033,19 @@ namespace BizHawk.MultiClient
|
|||
private void ShowConsole()
|
||||
{
|
||||
LogConsole.ShowConsole();
|
||||
logWindowAsConsoleToolStripMenuItem.Enabled = false;
|
||||
LogWindowAsConsoleMenuItem.Enabled = false;
|
||||
}
|
||||
|
||||
private void HideConsole()
|
||||
{
|
||||
LogConsole.HideConsole();
|
||||
logWindowAsConsoleToolStripMenuItem.Enabled = true;
|
||||
LogWindowAsConsoleMenuItem.Enabled = true;
|
||||
}
|
||||
|
||||
public void notifyLogWindowClosing()
|
||||
{
|
||||
displayLogWindowToolStripMenuItem.Checked = false;
|
||||
logWindowAsConsoleToolStripMenuItem.Enabled = true;
|
||||
DisplayLogWindowMenuItem.Checked = false;
|
||||
LogWindowAsConsoleMenuItem.Enabled = true;
|
||||
}
|
||||
|
||||
private void MainForm_Load(object sender, EventArgs e)
|
||||
|
@ -4283,16 +4284,6 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
private void configToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
controllersToolStripMenuItem.Enabled = !(Global.Emulator is NullEmulator);
|
||||
}
|
||||
|
||||
private void firmwaresToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
new FirmwaresConfig().Show();
|
||||
}
|
||||
|
||||
private void menuStrip1_Leave(object sender, EventArgs e)
|
||||
{
|
||||
GlobalWinF.DisplayManager.NeedsToPaint = true;
|
||||
|
@ -4327,5 +4318,65 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
CloseROM(clearSRAM: true);
|
||||
}
|
||||
|
||||
public void ToggleBackgroundInput()
|
||||
{
|
||||
Global.Config.AcceptBackgroundInput ^= true;
|
||||
if (Global.Config.AcceptBackgroundInput)
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Background Input enabled");
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Background Input disabled");
|
||||
}
|
||||
}
|
||||
|
||||
public void LimitFrameRateMessage()
|
||||
{
|
||||
if (Global.Config.ClockThrottle)
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Framerate limiting on");
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Framerate limiting off");
|
||||
}
|
||||
}
|
||||
|
||||
public void ClickSpeedItem(int num)
|
||||
{
|
||||
if ((ModifierKeys & Keys.Control) != 0) SetSpeedPercentAlternate(num);
|
||||
else SetSpeedPercent(num);
|
||||
}
|
||||
|
||||
public void VsyncMessage()
|
||||
{
|
||||
if (Global.Config.VSyncThrottle)
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Display Vsync is set to on");
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Display Vsync is set to off");
|
||||
}
|
||||
}
|
||||
|
||||
public void MinimizeFrameskipMessage()
|
||||
{
|
||||
if (Global.Config.AutoMinimizeSkipping)
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Autominimizing set to on");
|
||||
}
|
||||
else
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Autominimizing set to off");
|
||||
}
|
||||
}
|
||||
|
||||
public void FrameSkipMessage()
|
||||
{
|
||||
GlobalWinF.OSD.AddMessage("Frameskipping set to " + Global.Config.FrameSkip.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<metadata name="MainformMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
|
|
|
@ -392,7 +392,7 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
get
|
||||
{
|
||||
if (GlobalWinF.ForceNoThrottle)
|
||||
if (Global.ForceNoThrottle)
|
||||
return false;
|
||||
return Global.Config.VSyncThrottle || Global.Config.VSync;
|
||||
}
|
||||
|
|
|
@ -208,7 +208,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
samplesProvided = 2 * nsampgot;
|
||||
|
||||
if (!GlobalWinF.ForceNoThrottle)
|
||||
if (!Global.ForceNoThrottle)
|
||||
while (samplesNeeded < samplesProvided)
|
||||
{
|
||||
System.Threading.Thread.Sleep((samplesProvided - samplesNeeded) / 88); // let audio clock control sleep time
|
||||
|
|
|
@ -11,6 +11,55 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
class ToolHelpers
|
||||
{
|
||||
public static FileInfo GetWatchFileFromUser(string currentFile)
|
||||
{
|
||||
var ofd = new OpenFileDialog();
|
||||
if (!String.IsNullOrWhiteSpace(currentFile))
|
||||
{
|
||||
ofd.FileName = Path.GetFileNameWithoutExtension(currentFile);
|
||||
}
|
||||
ofd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null);
|
||||
ofd.Filter = "Watch Files (*.wch)|*.wch|All Files|*.*";
|
||||
ofd.RestoreDirectory = true;
|
||||
|
||||
GlobalWinF.Sound.StopSound();
|
||||
var result = ofd.ShowDialog();
|
||||
GlobalWinF.Sound.StartSound();
|
||||
if (result != DialogResult.OK)
|
||||
return null;
|
||||
var file = new FileInfo(ofd.FileName);
|
||||
return file;
|
||||
}
|
||||
|
||||
public static FileInfo GetWatchSaveFileFromUser(string currentFile)
|
||||
{
|
||||
var sfd = new SaveFileDialog();
|
||||
if (!String.IsNullOrWhiteSpace(currentFile))
|
||||
{
|
||||
sfd.FileName = Path.GetFileNameWithoutExtension(currentFile);
|
||||
sfd.InitialDirectory = Path.GetDirectoryName(currentFile);
|
||||
}
|
||||
else if (!(Global.Emulator is NullEmulator))
|
||||
{
|
||||
sfd.FileName = PathManager.FilesystemSafeName(Global.Game);
|
||||
sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null);
|
||||
}
|
||||
else
|
||||
{
|
||||
sfd.FileName = "NULL";
|
||||
sfd.InitialDirectory = PathManager.MakeAbsolutePath(Global.Config.PathEntries.WatchPath, null);
|
||||
}
|
||||
sfd.Filter = "Watch Files (*.wch)|*.wch|All Files|*.*";
|
||||
sfd.RestoreDirectory = true;
|
||||
GlobalWinF.Sound.StopSound();
|
||||
var result = sfd.ShowDialog();
|
||||
GlobalWinF.Sound.StartSound();
|
||||
if (result != DialogResult.OK)
|
||||
return null;
|
||||
var file = new FileInfo(sfd.FileName);
|
||||
return file;
|
||||
}
|
||||
|
||||
public static FileInfo GetCheatFileFromUser(string currentFile)
|
||||
{
|
||||
var ofd = new OpenFileDialog();
|
||||
|
|
|
@ -19,19 +19,15 @@ namespace BizHawk.MultiClient
|
|||
/// </summary>
|
||||
public partial class RamSearch : Form
|
||||
{
|
||||
public const string ADDRESS = "AddressColumn";
|
||||
public const string VALUE = "ValueColumn";
|
||||
public const string PREV = "PrevColumn";
|
||||
public const string CHANGES = "ChangesColumn";
|
||||
public const string DIFF = "DiffColumn";
|
||||
//TODO: DoSearch grabs the state of widgets and passes it to the engine before running, so rip out code that is attempting to keep the state up to date through change events
|
||||
|
||||
private readonly Dictionary<string, int> DefaultColumnWidths = new Dictionary<string, int>
|
||||
{
|
||||
{ ADDRESS, 60 },
|
||||
{ VALUE, 59 },
|
||||
{ PREV, 59 },
|
||||
{ CHANGES, 55 },
|
||||
{ DIFF, 59 },
|
||||
{ WatchList.ADDRESS, 60 },
|
||||
{ WatchList.VALUE, 59 },
|
||||
{ WatchList.PREV, 59 },
|
||||
{ WatchList.CHANGES, 55 },
|
||||
{ WatchList.DIFF, 59 },
|
||||
};
|
||||
|
||||
private string CurrentFileName = String.Empty;
|
||||
|
@ -174,19 +170,19 @@ namespace BizHawk.MultiClient
|
|||
string columnName = WatchListView.Columns[column].Name;
|
||||
switch (columnName)
|
||||
{
|
||||
case ADDRESS:
|
||||
case WatchList.ADDRESS:
|
||||
text = Searches[index].AddressString;
|
||||
break;
|
||||
case VALUE:
|
||||
case WatchList.VALUE:
|
||||
text = Searches[index].ValueString;
|
||||
break;
|
||||
case PREV:
|
||||
case WatchList.PREV:
|
||||
text = Searches[index].PreviousStr;
|
||||
break;
|
||||
case CHANGES:
|
||||
case WatchList.CHANGES:
|
||||
text = Searches[index].ChangeCount.ToString();
|
||||
break;
|
||||
case DIFF:
|
||||
case WatchList.DIFF:
|
||||
text = Searches[index].Diff;
|
||||
break;
|
||||
}
|
||||
|
@ -413,10 +409,39 @@ namespace BizHawk.MultiClient
|
|||
}
|
||||
}
|
||||
|
||||
private RamSearchEngine.ComparisonOperator Operator
|
||||
{
|
||||
get
|
||||
{
|
||||
if (NotEqualToRadio.Checked) return RamSearchEngine.ComparisonOperator.NotEqual;
|
||||
else if (LessThanRadio.Checked) return RamSearchEngine.ComparisonOperator.LessThan;
|
||||
else if (GreaterThanRadio.Checked) return RamSearchEngine.ComparisonOperator.GreaterThan;
|
||||
else if (LessThanOrEqualToRadio.Checked) return RamSearchEngine.ComparisonOperator.LessThanEqual;
|
||||
else if (GreaterThanOrEqualToRadio.Checked) return RamSearchEngine.ComparisonOperator.GreaterThanEqual;
|
||||
else if (DifferentByRadio.Checked) return RamSearchEngine.ComparisonOperator.DifferentBy;
|
||||
else return RamSearchEngine.ComparisonOperator.Equal;
|
||||
}
|
||||
}
|
||||
|
||||
private RamSearchEngine.Compare Compare
|
||||
{
|
||||
get
|
||||
{
|
||||
if (SpecificValueRadio.Checked) return RamSearchEngine.Compare.SpecificValue;
|
||||
else if (SpecificAddressRadio.Checked) return RamSearchEngine.Compare.SpecificAddress;
|
||||
else if (NumberOfChangesRadio.Checked) return RamSearchEngine.Compare.Changes;
|
||||
else if (DifferenceRadio.Checked) return RamSearchEngine.Compare.Difference;
|
||||
else return RamSearchEngine.Compare.Previous;
|
||||
}
|
||||
}
|
||||
|
||||
public void DoSearch()
|
||||
{
|
||||
Searches.CompareValue = CompareToValue;
|
||||
Searches.DifferentBy = DifferentByValue;
|
||||
Searches.Operator = Operator;
|
||||
Searches.CompareTo = Compare;
|
||||
|
||||
int removed = Searches.DoSearch();
|
||||
SetTotal();
|
||||
WatchListView.ItemCount = Searches.Count;
|
||||
|
@ -515,11 +540,11 @@ namespace BizHawk.MultiClient
|
|||
private void LoadColumnInfo()
|
||||
{
|
||||
WatchListView.Columns.Clear();
|
||||
ToolHelpers.AddColumn(WatchListView, ADDRESS, true, GetColumnWidth(ADDRESS));
|
||||
ToolHelpers.AddColumn(WatchListView, VALUE, true, GetColumnWidth(VALUE));
|
||||
ToolHelpers.AddColumn(WatchListView, PREV, Global.Config.RamSearchShowPrevColumn, GetColumnWidth(PREV));
|
||||
ToolHelpers.AddColumn(WatchListView, CHANGES, Global.Config.RamSearchShowChangeColumn, GetColumnWidth(CHANGES));
|
||||
ToolHelpers.AddColumn(WatchListView, DIFF, Global.Config.RamSearchShowDiffColumn, GetColumnWidth(DIFF));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.ADDRESS, true, GetColumnWidth(WatchList.ADDRESS));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.PREV, Global.Config.RamSearchShowPrevColumn, GetColumnWidth(WatchList.PREV));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.CHANGES, Global.Config.RamSearchShowChangeColumn, GetColumnWidth(WatchList.CHANGES));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.DIFF, Global.Config.RamSearchShowDiffColumn, GetColumnWidth(WatchList.DIFF));
|
||||
|
||||
ColumnPositions();
|
||||
}
|
||||
|
@ -542,34 +567,34 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void SaveColumnInfo()
|
||||
{
|
||||
if (WatchListView.Columns[ADDRESS] != null)
|
||||
if (WatchListView.Columns[WatchList.ADDRESS] != null)
|
||||
{
|
||||
Global.Config.RamSearchColumnIndexes[ADDRESS] = WatchListView.Columns[ADDRESS].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[ADDRESS] = WatchListView.Columns[ADDRESS].Width;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.ADDRESS] = WatchListView.Columns[WatchList.ADDRESS].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[WatchList.ADDRESS] = WatchListView.Columns[WatchList.ADDRESS].Width;
|
||||
}
|
||||
|
||||
if (WatchListView.Columns[VALUE] != null)
|
||||
if (WatchListView.Columns[WatchList.VALUE] != null)
|
||||
{
|
||||
Global.Config.RamSearchColumnIndexes[VALUE] = WatchListView.Columns[VALUE].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[VALUE] = WatchListView.Columns[VALUE].Width;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.VALUE] = WatchListView.Columns[WatchList.VALUE].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[WatchList.VALUE] = WatchListView.Columns[WatchList.VALUE].Width;
|
||||
}
|
||||
|
||||
if (WatchListView.Columns[PREV] != null)
|
||||
if (WatchListView.Columns[WatchList.PREV] != null)
|
||||
{
|
||||
Global.Config.RamSearchColumnIndexes[PREV] = WatchListView.Columns[PREV].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[PREV] = WatchListView.Columns[PREV].Width;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.PREV] = WatchListView.Columns[WatchList.PREV].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[WatchList.PREV] = WatchListView.Columns[WatchList.PREV].Width;
|
||||
}
|
||||
|
||||
if (WatchListView.Columns[CHANGES] != null)
|
||||
if (WatchListView.Columns[WatchList.CHANGES] != null)
|
||||
{
|
||||
Global.Config.RamSearchColumnIndexes[CHANGES] = WatchListView.Columns[CHANGES].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].Width;
|
||||
}
|
||||
|
||||
if (WatchListView.Columns[DIFF] != null)
|
||||
if (WatchListView.Columns[WatchList.DIFF] != null)
|
||||
{
|
||||
Global.Config.RamSearchColumnIndexes[DIFF] = WatchListView.Columns[DIFF].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[DIFF] = WatchListView.Columns[DIFF].Width;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.DIFF] = WatchListView.Columns[WatchList.DIFF].DisplayIndex;
|
||||
Global.Config.RamSearchColumnWidths[WatchList.DIFF] = WatchListView.Columns[WatchList.DIFF].Width;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -700,7 +725,7 @@ namespace BizHawk.MultiClient
|
|||
DifferenceRadio.Enabled = true;
|
||||
DifferentByBox.Enabled = true;
|
||||
ClearChangeCountsToolBarItem.Enabled = true;
|
||||
WatchListView.Columns[CHANGES].Width = Global.Config.RamSearchColumnWidths[CHANGES];
|
||||
WatchListView.Columns[WatchList.CHANGES].Width = Global.Config.RamSearchColumnWidths[WatchList.CHANGES];
|
||||
SetReboot(true);
|
||||
}
|
||||
|
||||
|
@ -723,8 +748,8 @@ namespace BizHawk.MultiClient
|
|||
PreviousValueRadio.Checked = true;
|
||||
}
|
||||
|
||||
Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width;
|
||||
WatchListView.Columns[CHANGES].Width = 0;
|
||||
Global.Config.RamSearchColumnWidths[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].Width;
|
||||
WatchListView.Columns[WatchList.CHANGES].Width = 0;
|
||||
SetReboot(true);
|
||||
}
|
||||
|
||||
|
@ -846,15 +871,15 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
default:
|
||||
return String.Empty;
|
||||
case ADDRESS:
|
||||
case WatchList.ADDRESS:
|
||||
return Searches[index].AddressString;
|
||||
case VALUE:
|
||||
case WatchList.VALUE:
|
||||
return Searches[index].ValueString;
|
||||
case PREV:
|
||||
case WatchList.PREV:
|
||||
return Searches[index].PreviousStr;
|
||||
case CHANGES:
|
||||
case WatchList.CHANGES:
|
||||
return Searches[index].ChangeCount.ToString();
|
||||
case DIFF:
|
||||
case WatchList.DIFF:
|
||||
return Searches[index].Diff;
|
||||
}
|
||||
}
|
||||
|
@ -911,7 +936,7 @@ namespace BizHawk.MultiClient
|
|||
private void OpenMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
LoadWatchFile(
|
||||
WatchList.GetFileFromUser(String.Empty),
|
||||
ToolHelpers.GetWatchFileFromUser(String.Empty),
|
||||
sender == AppendFileMenuItem,
|
||||
sender == TruncateFromFileMenuItem
|
||||
);
|
||||
|
@ -928,10 +953,22 @@ namespace BizHawk.MultiClient
|
|||
watches.Add(Searches[i]);
|
||||
}
|
||||
|
||||
if (watches.Save())
|
||||
if (!String.IsNullOrWhiteSpace(watches.CurrentFileName))
|
||||
{
|
||||
CurrentFileName = watches.CurrentFileName;
|
||||
MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved";
|
||||
if (watches.Save())
|
||||
{
|
||||
CurrentFileName = watches.CurrentFileName;
|
||||
MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
bool result = watches.SaveAs(ToolHelpers.GetWatchSaveFileFromUser(watches.CurrentFileName));
|
||||
if (result)
|
||||
{
|
||||
MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved";
|
||||
Global.Config.RecentWatches.Add(watches.CurrentFileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -945,7 +982,7 @@ namespace BizHawk.MultiClient
|
|||
watches.Add(Searches[i]);
|
||||
}
|
||||
|
||||
if (watches.SaveAs())
|
||||
if (watches.SaveAs(ToolHelpers.GetWatchSaveFileFromUser(watches.CurrentFileName)))
|
||||
{
|
||||
CurrentFileName = watches.CurrentFileName;
|
||||
MessageLabel.Text = Path.GetFileName(CurrentFileName) + " saved";
|
||||
|
@ -1123,6 +1160,10 @@ namespace BizHawk.MultiClient
|
|||
if (Searches.CanUndo)
|
||||
{
|
||||
Searches.Undo();
|
||||
SetTotal();
|
||||
WatchListView.ItemCount = Searches.Count;
|
||||
ToggleSearchDependentToolBarItems();
|
||||
forcePreviewClear = true;
|
||||
UpdateUndoToolBarButtons();
|
||||
}
|
||||
}
|
||||
|
@ -1132,6 +1173,10 @@ namespace BizHawk.MultiClient
|
|||
if (Searches.CanRedo)
|
||||
{
|
||||
Searches.Redo();
|
||||
SetTotal();
|
||||
WatchListView.ItemCount = Searches.Count;
|
||||
ToggleSearchDependentToolBarItems();
|
||||
forcePreviewClear = true;
|
||||
UpdateUndoToolBarButtons();
|
||||
}
|
||||
}
|
||||
|
@ -1274,11 +1319,11 @@ namespace BizHawk.MultiClient
|
|||
Global.Config.RamSearchShowPrevColumn = true;
|
||||
Global.Config.RamSearchShowDiffColumn = false;
|
||||
|
||||
WatchListView.Columns[ADDRESS].Width = DefaultColumnWidths[ADDRESS];
|
||||
WatchListView.Columns[VALUE].Width = DefaultColumnWidths[VALUE];
|
||||
//WatchListView.Columns[PREV].Width = DefaultColumnWidths[PREV];
|
||||
WatchListView.Columns[CHANGES].Width = DefaultColumnWidths[CHANGES];
|
||||
//WatchListView.Columns[DIFF].Width = DefaultColumnWidths[DIFF];
|
||||
WatchListView.Columns[WatchList.ADDRESS].Width = DefaultColumnWidths[WatchList.ADDRESS];
|
||||
WatchListView.Columns[WatchList.VALUE].Width = DefaultColumnWidths[WatchList.VALUE];
|
||||
//WatchListView.Columns[WatchList.PREV].Width = DefaultColumnWidths[WatchList.PREV];
|
||||
WatchListView.Columns[WatchList.CHANGES].Width = DefaultColumnWidths[WatchList.CHANGES];
|
||||
//WatchListView.Columns[WatchList.DIFF].Width = DefaultColumnWidths[WatchList.DIFF];
|
||||
|
||||
Global.Config.RamSearchSaveWindowPosition = true;
|
||||
Global.Config.RamSearchAlwaysOnTop = TopMost = false;
|
||||
|
@ -1631,11 +1676,11 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private void WatchListView_ColumnReordered(object sender, ColumnReorderedEventArgs e)
|
||||
{
|
||||
Global.Config.RamSearchColumnIndexes[ADDRESS] = WatchListView.Columns[ADDRESS].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[VALUE] = WatchListView.Columns[VALUE].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[PREV] = WatchListView.Columns[ADDRESS].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[CHANGES] = WatchListView.Columns[CHANGES].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[DIFF] = WatchListView.Columns[DIFF].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.ADDRESS] = WatchListView.Columns[WatchList.ADDRESS].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.VALUE] = WatchListView.Columns[WatchList.VALUE].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.PREV] = WatchListView.Columns[WatchList.ADDRESS].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.CHANGES] = WatchListView.Columns[WatchList.CHANGES].DisplayIndex;
|
||||
Global.Config.RamSearchColumnIndexes[WatchList.DIFF] = WatchListView.Columns[WatchList.DIFF].DisplayIndex;
|
||||
}
|
||||
|
||||
private void WatchListView_Enter(object sender, EventArgs e)
|
||||
|
|
|
@ -737,6 +737,16 @@ namespace BizHawk.MultiClient
|
|||
WatchListView.Refresh();
|
||||
}
|
||||
|
||||
private void SaveAs()
|
||||
{
|
||||
bool result = Watches.SaveAs(ToolHelpers.GetWatchSaveFileFromUser(Watches.CurrentFileName));
|
||||
if (result)
|
||||
{
|
||||
UpdateMessageLabel(saved: true);
|
||||
Global.Config.RecentWatches.Add(Watches.CurrentFileName);
|
||||
}
|
||||
}
|
||||
|
||||
#region Winform Events
|
||||
|
||||
private void NewRamWatch_Load(object sender, EventArgs e)
|
||||
|
@ -783,25 +793,27 @@ namespace BizHawk.MultiClient
|
|||
private void openToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool append = sender == appendFileToolStripMenuItem;
|
||||
LoadWatchFile(WatchList.GetFileFromUser(Watches.CurrentFileName), append);
|
||||
LoadWatchFile(ToolHelpers.GetWatchFileFromUser(Watches.CurrentFileName), append);
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (Watches.Save())
|
||||
if (!String.IsNullOrWhiteSpace(Watches.CurrentFileName))
|
||||
{
|
||||
UpdateMessageLabel(saved: true);
|
||||
if (Watches.Save())
|
||||
{
|
||||
UpdateMessageLabel(saved: true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SaveAs();
|
||||
}
|
||||
}
|
||||
|
||||
private void saveAsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool result = Watches.SaveAs();
|
||||
if (result)
|
||||
{
|
||||
UpdateMessageLabel(saved: true);
|
||||
Global.Config.RecentWatches.Add(Watches.CurrentFileName);
|
||||
}
|
||||
SaveAs();
|
||||
}
|
||||
|
||||
private void recentToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||
|
|
14
BizHawk.sln
14
BizHawk.sln
|
@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BizHawk.PCE_Debugger", "Biz
|
|||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BizHawk.Client.Common", "BizHawk.Client.Common\BizHawk.Client.Common.csproj", "{24A0AA3C-B25F-4197-B23D-476D6462DBA0}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BizHawk.Common", "BizHawk.Common\BizHawk.Common.csproj", "{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
|
@ -89,6 +91,18 @@ Global
|
|||
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{24A0AA3C-B25F-4197-B23D-476D6462DBA0}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|Win32.ActiveCfg = Debug|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|Win32.ActiveCfg = Release|Any CPU
|
||||
{866F8D13-0678-4FF9-80A4-A3993FD4D8A3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
Loading…
Reference in New Issue