YoshiRulz
5412a74890
Use the *correct* formatting string, skip calls to Math.Abs
2019-03-05 19:16:20 +10:00
YoshiRulz
20087cd804
Use string interpolation with {0:P;M;Z} format string
2019-03-03 17:52:47 +10:00
upthorn
59f30b4a79
Allow signed display of fixed point values.
2018-12-06 12:25:00 -08:00
Asnivor
92f187fce1
RAMWatch: Enhancements ( #1315 )
...
fix #1257
2018-09-14 08:28:38 +03:00
frequem
d0d73766bd
Fixed some filenames causing problems on case-sensitive systems
2018-02-21 20:19:33 -05:00
alyosha-tas
7a987810ef
Cheats: Fix 2 byte return values
...
Fixes #1060
2017-11-21 09:58:16 -05:00
YoshiRulz
f983c91eb0
Add display type column ( resolves #683 )
2017-11-10 14:32:30 +11:00
alyosha-tas
af9c813c5b
Add files via upload
2017-10-19 09:48:27 -04:00
zeromus
f536002053
ramwatch: print diffs as integers always, fixes spurious - display as well as what I assume is a combination of unwanted and illogical behaviour attempting to display it as the same format as the value
2017-06-27 16:20:19 -05:00
adelikat
43cb50d5c3
Misc cleanups in Client.Common
2017-05-19 13:17:07 -05:00
adelikat
0d4313af91
general Cheat code cleanup
2017-05-18 15:16:02 -05:00
adelikat
70baf9d306
Client.Common cleanups
2017-05-18 11:36:38 -05:00
adelikat
2a54517b52
more misc Client.Common cleanups
2017-05-17 13:18:26 -05:00
adelikat
dfea029fe4
Misc cleanups in Client.Common, documentation fixes
2017-05-17 11:16:55 -05:00
adelikat
f576cb14b0
Watch classes - refactor, simplify, and cleanup code
2017-05-17 10:46:56 -05:00
adelikat
3860cf89c3
LINQ-fu
2017-05-10 13:40:18 -05:00
adelikat
429b066955
Client.Common - remove various redundant codez
2017-05-10 13:37:04 -05:00
adelikat
f942a409d7
Client.Common - remove a bunch of unused usings
2017-05-10 13:27:10 -05:00
nattthebear
ebe789eed2
heh
2017-05-10 07:45:23 -04:00
adelikat
e0985465b6
misc Client.Common code cleanups
2017-05-09 13:19:55 -05:00
J.D. Purcell
b53502eed8
Spaces -> tabs.
2017-04-15 16:37:30 -04:00
J.D. Purcell
ed3bf0e62b
Fix mixed line endings.
2017-04-15 15:53:02 -04:00
adelikat
b6f335e4c8
misc code cleanups in BizHawk.Client.Common
2017-04-14 14:59:01 -05:00
adelikat
fc59710dab
some code cleanup, mostly introducing C#6isms, also add a customized resharper+stylecop settings file in case anyone is using resharper
2017-04-10 10:30:05 -05:00
J.D. Purcell
b2a28339d1
Use 'nameof' operator.
2017-04-10 08:36:42 -04:00
adelikat
98a390b3c6
Default compare type to equal not NOTHING, fixes nes game genie codes generated through the cheat converter, and probably a lot of other platforms. And this is a better default, also silent failures are always bad
2017-02-25 15:08:20 -06:00
adelikat
44a1e691f3
Ram Search - show restored/removed messages when undoing/redoing, fixes #749
2017-01-14 20:00:55 -06:00
adelikat
ef6c9131c6
Fix behavior when loading a new rom when a cheat is loaded, fixes #550
2016-10-06 13:57:39 -05:00
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