Hathor86
e7de250fb2
Comments on ByteWatch
...
Also moved nullable value type to non nullable (with exception
prevention).
2015-11-29 17:13:32 +01:00
Hathor86
01639c3e10
Watch comparaison interfaces implementation
...
Watch now implements IEquatable<Watch>, IEquatable<Cheat>,
IComparable<Watch>
Operators had also been overloaded. You can now put watches from SAME
domain in a list and easly sort them.
Sorting is based on address first then size.
2015-11-29 13:46:50 +01:00
Hathor86
1e2f4e12be
Watch refactoring
...
Some improvement when you get Available types. Used to return a new
array each time you call the function. It has been transformed into an
IEnumrable and yield return.
DisplayType, PreviousType and Watchsize have been moved outside the
Watch Class
2015-11-28 22:52:00 +01:00
Hathor86
565f19fc83
Watch: Comments & reordering
...
Just comments some methods and reordering them
2015-11-27 13:43:49 +01:00
Hathor86
d4b4c06f0c
Draft of API
...
So, I create a new dll named BizHawk.Client.ApiHawk and moved few stuff
to it.
Also moved some stuff to BizHawk.Client.Common. Don't think it can be
desiociated.
I started comment Watch and rearrange code (put some #region etc...
It compiles and it seems working :)
2015-11-26 23:05:29 +01:00
zeromus
6f71956faa
add lousy logic to fix cheat compares
2015-11-15 18:22:12 -06:00
zeromus
5402f1ff9e
dont reorder cheats list when editing cheats
2015-08-04 22:25:58 -05:00
pjgat09
c829887f00
Ram search: fix equal/not equal for float searches
2015-03-21 00:13:53 +00:00
adelikat
36f4eff0f6
add ByteSize to MemoryDomain with a default of 1, set it to not 1 on appropriate domains (I probably missed some, or got some wrong). Have RamSearch use that instead of SystemInfo, remove ByteSize from SystemInfo since it is no longer needed
2015-02-22 15:19:38 +00:00
adelikat
8371c23830
WatchList - use the new watch to string method, did not wire up the from string, since the load code while very poorly coded, both works and supports legacy formats including older rerecording emulators
2015-01-27 02:55:31 +00:00
adelikat
f547dfbb21
some fixes to last commit
2015-01-27 02:53:57 +00:00
adelikat
bb2cd1b476
Ram Watch - support copy and paste (generates and receives the same text as would be in a .wch file)
2015-01-27 02:37:18 +00:00
zeromus
2a1f40982c
dont know how valuable it will be, but just in case.. 16.16 fixed point support
2015-01-22 01:24:20 +00:00
adelikat
4c47ef2f3f
Watch.cs - an remove an int cast I missed when converting domain size to long
2015-01-19 02:58:18 +00:00
adelikat
515a41592c
Convert a whole bunch of ram stuff from int to long
2015-01-18 18:59:23 +00:00
adelikat
91ffc17aae
Refacotor MemoryDomain.Size to be long instead of int, still some small todos, but it compiles and seems to work
2015-01-18 15:25:47 +00:00
adelikat
fbdb29b64c
refactor IMemorydomains to be a domain list instead of having a domain property, refactor cores to register an IMemoryDomains instead of being one
2015-01-14 21:55:48 +00:00
adelikat
3c83911c4f
Ram Search - don't allow undo to the original list, a user can easily start a new search to get to that state, and allowing it means undo already starts out with a full list eating a lot of RAM for no benefit
2015-01-02 22:18:53 +00:00
scepheo
14e2b280ac
Removed reference to Global.Emulator from RamSearchEngine.
2014-12-16 01:50:22 +00:00
scepheo
77be509e44
RAM Search: Implement previous type "last change". Fixes issue 331.
2014-12-16 01:19:29 +00:00
scepheo
528b7ea104
RAM Search: Fix issues with signed values. Resolves issue 340.
2014-12-16 00:41:47 +00:00
scepheo
53ea2caeac
^Really^ fix cheats not working (forgot WordWatch & DWordWatch)
2014-12-15 23:57:56 +00:00
goyuken
ea47246658
remove the IEmulator inheritance from some services, and fix code as needed
2014-12-15 22:25:06 +00:00
scepheo
5179a3379f
Fixed cheats not working.
2014-12-14 01:51:55 +00:00
adelikat
04f9081943
in IEmulator extensions add methods such as AsMemoryDomains(), AsStatable() that do the service calling magic. In the client code replace appplicable casts of IMemoryDomains with AsMemoryDomains(), more commits of this nature for the other IEmulatorServices soon to follow
2014-12-05 00:32:29 +00:00
adelikat
fdc9ea2aa9
fix issue 326 - Ram Watch, Ram Search showing actual value instead of frozen value on frozen addresses
2014-11-29 00:45:38 +00:00
adelikat
7c83b91e83
Ram Watch - fix a bug where loading a watch file with separators would throw a null reference exception
2014-11-29 00:28:48 +00:00
adelikat
e6e2972e3d
Make IMemoryDomains inherit IEmulator and simplify some code slightly as a result
2014-11-23 16:03:04 +00:00
adelikat
f4d3b70469
Ram Watch - fix issue with stale memory domains when rebooting a core, some cores were unaffected, cores like atari 2600 were affected by this bug
2014-09-28 16:39:53 +00:00
adelikat
1dc789eb02
Ram Tools - support poking frozen values, fixes issue 266
2014-09-27 21:52:15 +00:00
zeromus
87e9d235f6
make some effort to support memdomain of full 32bits size, and use it for n64 system bus. make sure to check that its disabled in ramsearch engine and in hex editor. we could probably fix it to work in hex editor later.
2014-09-09 21:34:41 +00:00
zeromus
ea1387c339
fix signed comparisons probably broken by last commit
2014-09-07 06:33:21 +00:00
zeromus
c829183fa7
fix handling of sign extension and longs in ramsearch engine. fixes observed misbehaviours in n64 ramsearching. not tested real well, but definitely a needed improvement
2014-09-07 06:17:10 +00:00
adelikat
d003be9cda
remove some todos, I decided not to do any of them, it is too pedantic to do them
2014-09-01 19:07:05 +00:00
adelikat
5ba74c631c
Remove MemoryDomains from IEmulator into a new Interface, IMemoryDomains, Add this interface to existing cores, except null emulator (and removed memory domain related code from it). Refactored EmuHawk for ram tools to use an instance of IMemoryDomains rather than IEmulator, don't expose ram tools unless the core implements IMemoryDomains. Still a few misc todos, and probably some cleanup
2014-09-01 18:43:41 +00:00
adelikat
db0dd17676
Hex Editor - fix wrapping logic when incrementing/decrementing frozen addresses
2014-08-16 14:44:40 +00:00
adelikat
9cfb30093a
Ram Watch/Ram Search - Fix freezing of float values as well as some other types
2014-08-02 01:54:07 +00:00
adelikat
2fd1ffe824
VirtualListView - add a UseCustomBackground flag true by default, if set to false it will bypass custom background drawing logic resulting in that speedboost I keep doing checkins for. Refactor RamWatch to check if there is any need to draw ahead of time and set this flag. Most of the time this will result is a good speed boost for this dialog, only if they are watching a frozen address (which isn't very exciting anyway) or an out of range address (which they need to fix) do they suffer the speed cost of background drawing
2014-07-30 21:31:13 +00:00
adelikat
ef14f661c0
Hex Editor - properly handle (and not throw exceptions) the display of cheat values in a byte size not equal to the cheat byte size
2014-07-28 00:49:48 +00:00
adelikat
6269e957e6
Remove some unused extension methods and move some others to CollectionExtensions
2014-07-03 18:43:49 +00:00
adelikat
1964f3754a
Merge InputValidate into StringExtensions
2014-07-03 16:00:57 +00:00
adelikat
0eb37ad36d
Convert IntHelpers to NumberExtensions and change namespace appropriately, remove StringHelpers.cs
2014-07-03 15:16:47 +00:00
adelikat
467f8da2fb
Convert StringHelpers into extension methods, and merge into StringExtensions, change namespace of string extensions
2014-07-03 15:05:02 +00:00
adelikat
d5e2808944
Fix namespaces
2014-07-03 14:56:13 +00:00
adelikat
461b73f1df
Ram Search - make manually deleting items a lot faster, since it was taking many many minutes when user was manually deleting an absurd number at once
2014-07-03 01:46:14 +00:00
adelikat
da1bc66c0e
SystemInfo object - don't need endian type, Ram Search - remove bi ol system ID switch for defaults in favor of system info and more clever logic. Finish display name refactor
2014-05-31 23:05:02 +00:00
adelikat
ddd3512552
Ram Search - fix float searches
2014-05-18 23:59:15 +00:00
adelikat
3127e6d36c
Ram tools - for floats, use sci notation, rather than spooky rounding
2014-05-18 19:40:21 +00:00
adelikat
74cafb6ace
Ram Search Engine - don't throw exception on not having the type in SetType() this can be the result of the user changing settings before rebooting
2014-05-18 19:14:48 +00:00
scepheo
12559588a3
Fixed indexing error on multi-byte RAM search.
2014-05-15 00:33:18 +00:00
adelikat
653fb0ff38
Ram Watch - set the CurrentFileName property during LoadFile, fixes some subtle bugs that resulted from a loaded watch with an empty name
2014-05-11 12:09:41 +00:00
adelikat
e5b3138d15
Ram Watch, Ram Search - don't crash on out of range addresses (such as when the user leaves ram watch open and changes cores), highlight out of range addresses and warn user. On Ram Search - give the option to remove these addresses from the list.
2014-05-04 15:30:18 +00:00
adelikat
4fc81991d7
Save cheats even if the cheat dialog was never opened (for instance, if the cheat were added via a game genie dialog or lua)
2014-04-26 17:28:43 +00:00
adelikat
dd651b2ca8
issue #149 fixed - better notion of equals when comparing watch object
2014-04-11 17:21:45 +00:00
adelikat
e4c7110174
Hex Editor - fix issue 150 - exceptions thrown when freezing multi-byte addresses
2014-04-11 16:45:05 +00:00
adelikat
6d1675e54c
Change UnfreezeAll option on many tools to remove cheats not simply disable them.
2014-03-23 13:21:48 +00:00
adelikat
75b9b132b6
Hex Editor - make freezing a range of addresses not slow
2014-03-01 18:04:21 +00:00
adelikat
97bf870b74
Ram Tools - speed up many situations that are slow when freezing/unfreezing addresses with multiple tools open due to sloppy handling of change events
2014-03-01 16:30:06 +00:00
adelikat
02ea7d360f
some code cleanup
2014-02-22 23:59:52 +00:00
zeromus
dca390018a
fix bug in hex cheats, which was making them basically non-functional
2014-02-05 20:05:44 +00:00
adelikat
23f7017651
Some code cleanup tinkerings in Client.Common
2014-02-03 20:48:01 +00:00
adelikat
3dfcd8b22a
drastically cleanup the InputValidate class
2014-02-03 19:37:43 +00:00
adelikat
74b88584be
Ram Watch/Search - fix bug where signed and unsigned are saved backwards
2014-01-21 00:21:19 +00:00
adelikat
b67e97f9aa
Ram Search - fix change count logic and previous value as previous frame
2014-01-02 17:56:57 +00:00
adelikat
6252c58a3f
Ram Search - don't attempt to binary search if the list is not sorted! This fixes exceptions thrown when using column click. The consequence is that preview mode is significantly slower after sorting by anything other than Address ascending, only really impacts large domains such as N64 domains
2014-01-01 21:56:35 +00:00
adelikat
377ab3b4ea
Fix Hex Editor to show cheat value on frozen addresses, and some fix ups in misc bugs that also contributed to this problem. Note: hex editor still will show some dubious behavior when viewing in one byte size and having cheats in another, that kind of mess will have to be sorted out in another commit
2014-01-01 03:19:08 +00:00
adelikat
57f62d13f1
RamSearchEngine - tiny code cleanup using Enumerable.Repeat because I just learned of it and it is nifty
2013-12-31 20:41:42 +00:00
adelikat
f195416713
Ram Search - when creating a new list, allocate the list to number of addresses to be added, not the size of the domain (meaning, factor in the byte size and CheckMisAligned settings).
2013-12-31 16:59:38 +00:00
adelikat
16f7c7fcdc
A round of code cleanup on Rewind and some other misc things in Client.Common
2013-12-30 01:17:11 +00:00
adelikat
098fca2895
Ram Search - make manual removal of addresses undo-able, slight cleanup of Start method
2013-12-27 16:48:47 +00:00
adelikat
8d680d79a5
Cheats - fix weird behavior caused by the Cheat changed event handler not being wired up on file load
2013-12-21 17:18:08 +00:00
adelikat
b6eb13a8b2
Ram Watch - fix bug where Domain wasn't being loaded from a .wch file
2013-12-05 18:34:42 +00:00
adelikat
d6954e4209
Ram WAtch and Hex Editor code cleanup
2013-11-28 22:06:38 +00:00
adelikat
df622ec9f1
Ram Watch - clode cleanup
2013-11-20 01:17:01 +00:00
adelikat
79b2e03d84
Previous commit was a lie, it implemented ICollection instead, therefore change the name of the object to CheatCollection
2013-11-16 16:30:20 +00:00
adelikat
a4d3e68f66
Implement IList on CheatList object
2013-11-16 16:24:45 +00:00
adelikat
39ca14dda1
WatchList object - implement IList (previously only implemented IEnumerable but already had most of the IList methods anyway)
2013-11-16 16:17:19 +00:00
adelikat
ba876d9765
Ram Search - default to unsigned for N64 and GBA, not float. Float as the default wasn't supposed to make it into a release.
2013-11-16 04:29:43 +00:00
adelikat
f3344863ac
When loading a ram watch file, default to main memory when unable to find the domain saved in the file
2013-11-14 19:39:57 +00:00
adelikat
9dbcfdffd1
oops, forgot to check this in
2013-11-07 22:56:10 +00:00
adelikat
0adffa65c1
Use ToHexString() extension is more places
2013-11-07 18:15:17 +00:00
adelikat
6f1090c87f
refactor cheatlist and watchlist to use MemoryDomain name indexing
2013-11-06 02:25:27 +00:00
adelikat
1061add64f
Refactor MemoryDomains in IEmulator, make a MemoryDomainsList object rather than IList<MemoryDomain>, remove MainMemory from IEmulator and make it a property of this new collection object, also add indexing by name. Refactor cores and tools as needed
2013-11-06 02:15:29 +00:00
adelikat
6f29976e9d
Cheats - fix bug where compare is 0 when clicking a cheat with a null compare value, refactor CheatList.Add() to be upsert logic
2013-11-05 23:14:22 +00:00
adelikat
92f8f9982c
When adding a cheat, if it already exists, update the existing instead of doing nothing!
2013-11-05 19:53:49 +00:00
adelikat
4aae8a1311
Cheats - implement editing (oops, it was released without it!), fix value display (was showing the actual ram value, not the cheat's override value), don't flag changes if erroneously adding an existing cheat.
2013-11-05 19:33:06 +00:00
adelikat
9bbd8a07a6
fix an oops in last commit, and fix adding cheats via Cheats cheat form
2013-11-05 17:07:34 +00:00
adelikat
5c22d7433c
Cheats - fix insert separator
2013-11-05 16:53:24 +00:00
adelikat
2da8696b8d
fix some cheat related things I broke when refactoring it
2013-11-05 15:36:18 +00:00
adelikat
29dffc9bca
fix some false Ask to save changes nagging done by the cheat form
2013-11-04 21:02:36 +00:00
adelikat
56cb2ba538
Refactor CheatList and Cheats to have changed event handlers, and have the client wire up an event handler to update all the relevant dialogs.
2013-11-04 15:52:59 +00:00
adelikat
bc5807a07c
move a search extension out of RamSearchEngine into the extensions class in BizHawk.Common
2013-11-04 02:18:40 +00:00
adelikat
be547db4a1
Move MemoryDomain to its own file, and move the Endian enum into it, also clean up the class a bit, and refactor things as necessary
2013-11-04 02:11:40 +00:00
adelikat
9751fd5a1a
Move interfaces and base implemenations from emulation to emulation.common
2013-11-04 01:39:19 +00:00
adelikat
9473f6840b
Client.Common code refactoring and some misc things to do
2013-10-27 17:47:54 +00:00
zeromus
fa40ae718f
reapply edits and cleanup
2013-10-27 07:54:00 +00:00
zeromus
11dbb0e1c8
reapply moves with merge tracking
2013-10-27 07:52:20 +00:00
zeromus
179dbd4124
revert back to r5156
2013-10-27 07:45:59 +00:00
adelikat
aa9bfa8e99
Move RamSearchEngine to Client.Common
2013-10-25 15:44:41 +00:00
adelikat
f72303f326
Move watchlist to common
2013-10-25 13:27:20 +00:00