Commit Graph

33 Commits

Author SHA1 Message Date
Haven1433
15d3b6d411 SelectedAddress should always have a set 2022-09-10 20:13:16 -05:00
Haven1433
b704fb2f50 paste raw bytes
Pasting raw bytes is useful in a few situations. But pasting over a pointer isn't safe. So any time you paste over a pointer (or pointer in a table), paste-raw-bytes will clear the formatting. Other than that, it's an easy way to paste arbitrary data, but can cause issues if you're not careful, such as pasting over compressed data.
2022-09-01 16:12:14 -05:00
Haven1433
ed21535626 Store ToolPanelWidth in the ViewModel
WPF destroys the view whenever we switch tabs.
Store the ToolPanelWidth in the ViewModel so we can remember the value when changing tabs.
2022-08-29 07:38:13 -05:00
Haven1433
1556c84029 Improve diff layout 2022-05-26 21:21:35 -05:00
Haven1433
0ee6c97617 Add ips/ups patch creation support
right-click on a tab, choose to create a patch from that tab to the next tab to the right
2022-05-12 08:05:04 -05:00
Haven1433
6730940fd9 patch application should be more careful with metadata
don't mark the metadata as changed until we're ready to actually use the token
2022-05-09 22:38:43 -05:00
Haven1433
0925b97d2a fix UPS Patch bug 2022-05-03 22:12:03 -05:00
Haven1433
a00b897277 fix ValidateMatchedWords exposure
ValidateMatchedWords can be handled by the ViewPort
2022-03-03 22:00:05 -06:00
Haven1433
ee227ac85e Fix loading bug
Don't CascadeScripts right away. Instead, wait until the model is done loading, and _then_ cascade scripts. RefreshBackingData at the same time so as to refresh the cells on the screen.
2022-03-03 21:30:02 -06:00
Haven1433
c28fce209a First pass: ViewPort.ConsiderReload is async 2022-03-01 21:10:36 -06:00
Haven1433
ad5f99bb73 HMA can now apply UPS patches
Including some basic error checking to note when a patch checksum doesn't match.
2022-03-01 20:22:14 -06:00
Haven1433
1f607a8f2b Prevent 0-height rendering for DiffViewPort 2022-01-25 07:34:08 -06:00
Haven1433
e332290441 Improve Save-As behavior when multiple ViewPorts point to the same Model. 2021-12-06 20:21:07 -06:00
Benjamin Popp
2e15b577ed Implement IPS patch import 2021-10-15 16:28:18 -05:00
Benjamin Popp
051a842a7d Improve Find Visibility Mode
Visibility mode changes the coloring of bytes to help certain bytes stick out more clearly. Previously, it only worked with a single byte. Now it's been more fully integrated into the model, and can work with any number of bytes. Note that it only cares about bytes that are on screen, so it won't find byte chunks where part of the chunk is off screen.
2021-10-13 11:13:28 -05:00
Benjamin Popp
c38e053f2c Show different save icon for metadata-only changes
Users need a way to distinguish between when a save is needed for actual data changes to their rom, vs when a save is needed because they've made changes to their metadata but not their rom.
2021-10-12 16:47:55 -05:00
Benjamin Popp
5304aea1d1 Improve Diff tab
* Combine close results into a single diff to limit showing the same row of data twice.
* Don't truncate table/array diffs to 4 lines
* "file -> new" from a diff tab shouldn't crash
* display a name in the tab tooltip
* update diff-left and diff-right menu context items after swapping tabs.
* update diff-left and diff-right menu context items after opening a new tab
2021-10-01 23:00:09 -05:00
Benjamin Popp
6a603acaec Diff improvement: option to exclude pointer-only changes 2021-09-30 14:13:37 -05:00
Benjamin Popp
0b25cc7b0b bugfix: allow entering 1-byte constants that match an array name 2021-09-03 13:48:22 -05:00
Benjamin Popp
5de71b167e Allow user to duplicate the current tab
This is useful if you want to view multiple locations in the same rom at the same time. This was previously possible by following a pointer into a new tab, but often the thing you want to see isn't available from an onscreen pointer, so it makes more sense to open up a new goto.
2021-08-01 00:38:49 -05:00
Benjamin Popp
b4ec32f033 don't crash when running 'find' with a diff tab open 2021-07-10 00:52:14 -05:00
Benjamin Popp
6669d83e16 copy address from diff tab 2021-07-08 20:04:19 -05:00
Benjamin Popp
8a63c7e441 don't crash if right-click on diff tab 2021-07-01 23:02:58 -05:00
Benjamin Popp
af76480fc6 Set a max width for left/right sides 2021-06-25 20:33:49 -05:00
Benjamin Popp
b2b110e888 Goto from Diff 2021-06-24 21:20:02 -05:00
Benjamin Popp
a278d91f9f Add 'matchExactCase' parameter for ViewPort.Find 2021-06-21 22:20:12 -05:00
Benjamin Popp
f61d858d25 Don't crash on saveall / closeall 2021-06-05 22:04:07 -05:00
Benjamin Popp
ef9e6d8842 Add boilerplate to connect view to diff commands in the viewport 2021-06-05 21:53:42 -05:00
Benjamin Popp
ecc4353de3 implement page up / page down for diff tabs 2021-06-05 20:21:43 -05:00
Benjamin Popp
6dbbf449d1 More tests for diff tab
* Make sure the data in the tabs is aligned. This required changing the implementation to no longer depend on the SearchResultsViewPort, but instead the DiffTab owns the children viewports itself. This lets the DiffTab control the alignment between the parallel children.
* Make sure we can see differences from multiple changes in the tab at the same time.
2021-06-04 21:27:38 -05:00
Benjamin Popp
49de6fbf9f progress with Diff 2021-06-01 20:52:39 -05:00
Benjamin Popp
f3c93c0257 Get the diff tab's name right 2021-06-01 20:24:54 -05:00
Benjamin Popp
6db0cdc7b3 Introducing the Diff tab
The Diff tab is not fully functional yet. But this is a skeleton of the implementation.
2021-05-24 19:56:18 -05:00