adelikat
3a36835af2
Ram Search - with the Diff column displayed, don't throw exceptions, Fixes #637 . The Diff column still has issues with 4 byte watches though, but this fixes unending exceptions at least
2016-10-05 20:58:26 -05:00
zeromus
a7d2b8d7f7
* add a new IToolForm update mechanism which has extensible update points (so a tool can both pre- and post- update)
...
* make trace logging "core-pushes" model, to a sink installed by the frontend. This sink can go straight to the disk without wasting memory if that's what the Trace Logger tool has selected; or the Trace Logger will buffer it if it needs to. Formerly, we had a "core-pushes-to-buffer" and "client-pulls-once-per-frame" which necessarily caused huge buffers no matter what was going on.
2016-08-13 15:31:26 -05:00
feos
13476f33ca
tastudio: don't pass ctrl+c hotkey to mainform.
2016-08-01 20:23:16 +03:00
Isotarge
5a20a520bd
Tools: Ram -> RAM #669
2016-07-22 01:32:54 +09:30
zeromus
859f4e3c01
fix 2 watch-related bugs and a typo in an error message
2016-04-15 22:43:14 -05:00
nattthebear
111648cf98
Break a bunch of memory domain stuff with pointless refactoring
2016-04-13 19:50:06 -04:00
Hathor86
fcb0c8bc32
Work on input get/set through ApiHawk
...
Convertion has been moved to dedicated class
SystemInfo class review
SystemInfo class now instanciate all SystemInfo and stores them in a
static readonly collection (avoid creating a new class each time we call
DisplayName property).
+ EmulatedSystem enum (in Api) renamed to CoreSystem and moved to
BizHawk.Client.Common
+ this enum is used in SystemInfo class
Created a Joypad class that is populated with JoypadButton enum flags
Input get/set throught ApiHawk works for NES only. So many work remains...
2016-03-29 23:42:24 +02:00
zeromus
75df712563
fix ramwatch crashing bug involving core reboots and watchlist hanging on to stale emulator instances
2016-02-23 14:42:47 -06:00
adelikat
cacfb615c4
simplify Cheat.cs somewhat
2016-02-16 20:02:57 -05:00
adelikat
3257b06f85
unnecessary usings
2016-02-16 19:57:57 -05:00
Adam Sturge
c82f70763e
Fixed bug where having no comparison type would throw exception
2016-02-09 20:33:44 -08:00
Adam Sturge
5dc31d3eb9
Fixed index bug for comparison type in Load() in CheatList
2016-02-07 21:54:45 -08:00
Adam Sturge
52c587d712
Save/Load cheats now accounts for comparison type column
2016-02-07 21:40:14 -08:00
Adam Sturge
992acd9e96
Added code to sort by comparison type. Added code to compare based on comparison type selected
2016-02-07 20:56:40 -08:00
Adam Sturge
f19333dd11
Prettied up display of comparison type in cheats table
2016-02-05 20:33:21 -08:00
Adam Sturge
092b5da974
restored [ConfigPerist].
2016-02-05 19:33:31 -08:00
Adam Sturge
9959d61949
Added comparison type dropdown. Updated Cheat model to contain reference to comparison type
2016-02-02 20:32:46 -08:00
adelikat
cc1867326a
Ram Search - fix "Exclude Ram Watch" option
2016-01-31 19:28:25 -05:00
adelikat
ab16e9238b
Drop support for pre-1.0.5 ram watch files, I think it is safe to do this by now
2016-01-30 22:19:32 -05:00
adelikat
0013646db5
Rip out obsolete notion of a WatchList domain, change ram watch menu item to Default Domain, who's functionality is simply to decide the default domain used when adding a new watch, also add some Visual Studio designer shenanigans for a previous commit I made that broke it
2016-01-30 22:17:31 -05:00
Hathor86
da25052e09
Just few comments on above notwa's method :)
...
(Oh and transform string concatenation with + to a string.Format)
Also made a small fix to externaltoolmanager
2015-12-24 14:00:08 +01:00
Connor Olding
f0c939d87c
reimplement strings for OSD watches
...
also fixed saving separators
2015-12-23 17:18:39 -08:00
Hathor86
a7074c6341
ExternalToolManager and BizHawkExternalToolattribute
...
Add those 2 classes in order to help handling of external tools
- Also fix value setting in watches constructor
- Bugfix in loading externaltools (they loaded multiple times)
- Add new version of Hello World external tool
Whitespaces noise in RamWatch.cs... :s The code hasn't changed
2015-12-13 21:38:35 +01:00
Hathor86
21e25555d0
BytWatch ValueString property fix
...
Call GetByte() instead of _value field (like other watches)
2015-12-10 10:25:45 +01:00
Hathor86
7779b2f7db
Fix RamSearch value
...
Fix has been done on constructor of each watch. Call GetByte / Word /
DWord if value is 0.
It ensure that previous passed in parameters remains unchanged
2015-12-10 00:34:07 +01:00
Hathor86
708bb4fa93
Final stuff to WatchList
...
Now fully use comparer class. That saves memory and offer extensibility
ItemCount property obsolete => Moved to Count property (which did the same thing)
Moved ConfigPersistAttribute.cs, IToolForm.cs, IToolFormAutoConfig.cs back to common
2015-12-09 00:54:54 +01:00
adelikat
48487f2a90
Sort out and fix problems with Ram Search watch files showing up in the Ram Watch recent list
2015-12-04 23:18:46 -05:00
Hathor86
31cc08a954
More WatchList comments
...
Finished coments on WatchList object
2015-12-02 22:48:30 +01:00
Hathor86
32271899c3
Comments on Watch derived class; started on watchlist
...
+ Moved WatchList.cs to specific directory (just a matter of ordering)
+ Mark some properties and methods in watchlist as obsolete
+ Create Comparer class that are used for sorting (Only domain and
address atm, other a still stored with linq). Unlike OrderBy in LINQ, it
doesn't create a new list for sorting (so it saves memory), furthermore,
it runs faster.
Finally, change to type of Watch.Address from nullable lon to regular
long (the rare times watch.Address.Value was used, there wasn't any
check of null and so, program would have crashed -
InvalidOperationException -)
2015-12-01 22:18:55 +01:00
Hathor86
ee860fd820
Quick fix of save watch
...
Wrong ToString() method was called when writing
Reading was ok
2015-11-30 18:27:55 +01:00
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