Commit Graph

134 Commits

Author SHA1 Message Date
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
zeromus 6616a75cfb etc 2013-10-25 00:59:34 +00:00
zeromus 249ddea268 revert to pre-refactor state. its a WIP, dont judge 2013-10-25 00:34:01 +00:00
adelikat 2f7df4a776 some Client.Common Code cleanup 2013-10-20 18:21:51 +00:00
adelikat 59386b59f1 Move Cheat and CheatList to Client.Common and refator a bunch of things as a result 2013-10-20 18:02:43 +00:00
adelikat 6c54faa7ab Rename Client.Core to BizHawk.Client.Common, and change all namespaces, reorganize some files, remove the LuaHawk project as it was a bad idea, change namespace in the PCE_Debugger project 2013-10-20 16:19:59 +00:00