Benjamin Popp
da7ad3cd8d
bumping version for the next release, so I don't forget to later.
2019-01-26 10:24:10 -06:00
Benjamin Popp
b6b6f93955
when you search for an array, make it remember the length that it found
2019-01-26 08:41:53 -06:00
Benjamin Popp
f378d1eeac
fix a test: if an anchor is being added with no format, then don't clear
...
whatever format is already active there.
2019-01-26 08:36:43 -06:00
Benjamin Popp
21365e1fbf
add a close button to the tab header
2019-01-26 00:20:59 -06:00
Benjamin Popp
7c9d5db90f
version bump
2019-01-26 00:15:05 -06:00
Benjamin Popp
5b14925565
improve auto-searching
2019-01-26 00:14:18 -06:00
Benjamin Popp
0b5277a3fe
bug fix: goto should work for tabs after switching tabs
2019-01-25 23:07:38 -06:00
Benjamin Popp
5b7304518b
allow pointers to end in 0x09 if the file is long enough
...
exclude the GBA header from the search for anchors
2019-01-25 22:47:13 -06:00
Benjamin Popp
2db1696f20
typing <> on data should try to convert it to a pointer
...
creating a pointer to outside the data range should fail
2019-01-25 22:35:38 -06:00
Benjamin Popp
29bff692bc
make undo not jump to the beginning so much
2019-01-25 22:23:41 -06:00
Benjamin Popp
40b9abc11b
make 00 not italic, just FF
2019-01-25 22:08:54 -06:00
Benjamin Popp
a48e5a0aa7
string -> text
...
more user friendly
2019-01-25 22:05:34 -06:00
Benjamin Popp
10d58f9b90
typing a pointer over a pointer should auto-align to the start of the pointer
2019-01-25 22:01:30 -06:00
Benjamin Popp
7fd8780e9f
bug: moving selection to goto only happened if you press Ctrl+G
...
while the Goto tool is closed.
fix it so that pressing Ctrl+G *always* moves the focus
fixed it for Find as well.
2019-01-25 21:50:16 -06:00
Benjamin Popp
0ef26a9af4
clearing the address on the string tool should not crash. Generally make the no-valid-string-in-tool experience better.
2019-01-25 21:33:40 -06:00
Benjamin Popp
38e284170c
default to only showing .gba files
2019-01-25 21:12:49 -06:00
Benjamin Popp
048cceb0d7
opening a .sav file should not crash
2019-01-25 20:59:07 -06:00
Benjamin Popp
b2335968dc
make the auto-width a bit more intuitive
2019-01-25 20:52:16 -06:00
Benjamin Popp
1dd640ac25
fixing data corruption issue
...
splitting the model to have 'ClearFormat' and 'ClearFormatAndData'
so I can decide in each case which one I want to do.
2019-01-25 20:41:50 -06:00
Benjamin Popp
8f95a59805
changing version information for the first public prerelease
2019-01-25 08:14:19 -06:00
Benjamin Popp
dd22595afa
- "delete" with a bunch of bytes highlighted should clear them to FF
2019-01-23 22:27:21 -06:00
Benjamin Popp
1e59fcd4d3
fixed a bug where pasting an array could accidentally switch formats if a string was too long
...
fixed a bug where string arrays were cropping the first character of the strings
2019-01-23 22:18:19 -06:00
Benjamin Popp
a97ac3f510
make it possible to extend arrays in the data
...
fix a bug where typing " to end a string in an array wouldn't append the 0xFF end byte
tools for string arrays are not fully implemented yet, but at least it doesn't crash now
make the string tool add a scrollbar when it gets really tall instead of growing past the bottom edge of the screen
make it possible to copy/paste an array
make it possible to edit arrays in the data
2019-01-23 21:00:21 -06:00
Benjamin Popp
67dcee0d14
test that up/down commands work correctly for the goto viewmodel
...
note that this involved updating to a newer version of AutoImplement,
which contained a bugfix that allows for testing of the IModel interface.
2019-01-21 21:40:44 -06:00
Benjamin Popp
c4c46063c7
goto / follow pointer, when going to the exact address of an array,
...
restricts the width of the data to be a multiple (or divisor) of
the array's element width. This makes things look much nicer.
2019-01-20 22:46:54 -06:00
Benjamin Popp
c0040e7932
add autocomplete menu for goto based on known anchor names
...
- there are enough properties / commands needed for goto now that it deserves its own viewmodel.
2019-01-20 20:09:28 -06:00
Benjamin Popp
e049979fbc
support for searching datasets for known data formats
...
it is now possible to specify an array based on a format and no length,
and the app will look for that data based on known pointers.
It will automatically match the longest values, and the results will
be stored in the metadata file. Therefor, this search will only occur
when loading a file that has no associated metadata.
This searching functionality is exposed in a new model subclass, so that the
tests won't be effected. However, the functionality exists in the general model,
so it's still possible to write specific tests based on bugs found.
Since an array can call something a string when it's not, added a new "ErrorPCS"
implementation of IDataFormat, to display the raw byte in red. This will help
find string errors and possibly missing string characters.
2019-01-20 10:58:03 -06:00
Benjamin Popp
520b8d78b2
support for dynamic array length
...
when writing a string, I do need to know that it has an end byte (0xFF)
adjusted usages to handle the change in API.
2019-01-19 15:16:38 -06:00
Benjamin Popp
039cb68b84
whenever the string tool's content textbox updates its cursor position,
...
update the viewport selection to match.
2019-01-18 22:39:31 -06:00
Benjamin Popp
ca48afa272
- string tool address & content should update when changes are made in the primary view.
2019-01-18 07:09:16 -06:00
Benjamin Popp
e22293ce56
if there is not enough room in the dataset for a data move, expand the dataset.
2019-01-18 06:38:25 -06:00
Benjamin Popp
0b6a7410b0
adjusting the free-space-finder algorithm based on real-data feedback.
2019-01-17 21:53:18 -06:00
Benjamin Popp
48606e2e21
- add a 1 pixel border above the main tab content that's a different color.
...
This visual cue helps the user see the top data border when there's no anchor text box.
- add a message display to the error display / goto box / find box area.
- animate errors and messages to help draw the user attention to them.
- pressing escape should clear the context control
2019-01-17 21:35:18 -06:00
Benjamin Popp
0129f2dd4e
- add support for finding pointers if the search term is just 3 bytes
...
- refactor find method, it was too long
2019-01-17 20:44:28 -06:00
Benjamin Popp
40f6bd098b
make anchor thick only on mouse-over. This little bit of interaction on hover may promote understanding that the anchor can be interacted with somehow.
2019-01-16 22:47:11 -06:00
Benjamin Popp
a9c5620fc3
adding a border to the selection to make it more visible
2019-01-16 22:28:19 -06:00
Benjamin Popp
fd1cd72c2b
- allow header mouse events to trigger events on the content
...
- double-clicking a search (or search header) should open that search in the main view
2019-01-16 22:20:12 -06:00
Benjamin Popp
80f1576607
fixing a crash (thanks Daniel!)
...
- when using the Delete key to clear data, clear the format as well as the data.
2019-01-16 22:08:20 -06:00
Benjamin Popp
7c66b30f1b
bugfix: change the color of the None Format when the Theme changes.
2019-01-16 20:16:44 -06:00
Benjamin Popp
12a3ec3460
add tab/enter support in UI
2019-01-15 22:22:09 -06:00
Benjamin Popp
3482e215e7
make undo/redo follow changes visually a bit better. Cleanup some edge cases with string tool address.
2019-01-15 22:12:05 -06:00
Benjamin Popp
02a8edd4ef
fix a crash if you try to use back/forward from a search tab.
2019-01-15 21:50:00 -06:00
Benjamin Popp
62ddff0e30
fix a string truncation undo/redo bug. Make it possible to backspace in a string segment in an array. Make it possible to backspace multiple times in a string.
2019-01-15 21:46:14 -06:00
Benjamin Popp
096d87b0a4
make it possible to edit an anchor while the head is offscreen, possible via the anchor editor.
2019-01-15 21:20:56 -06:00
Benjamin Popp
4b7dd4cb92
first submission for array runs
...
arrayrun is a rather complex run. Each arrayrun is made of a number of elements, each of which contains a fixed set of segments.
Right now, the only type of segment it supports is strings. But ideally a segment could also be a number, a pointer, or something else.
The entire run could represent a large block of data. But the point is that the block is fairly homogeneus.
- added support for adding runs via typing
- added support for comprehending string segments to display/edit as PCS
- fixed a StringModelTest that was wrong, since this feature exposed it
2019-01-14 22:50:24 -06:00
Benjamin Popp
ab6ac40c20
adding remaining needed tests after user test
2019-01-11 20:53:24 -06:00
Benjamin Popp
54c5ce1917
Merge branch 'temp' into dev
2019-01-11 20:46:04 -06:00
Benjamin Popp
0b23bdbea5
adding tests for most recent changes
2019-01-11 20:43:54 -06:00
Benjamin Popp
099b9f48d6
temporary commit of yesterdays changes. I want to write the tests without these changes in, so that I can verify that the tests fail.
2019-01-11 17:09:24 -06:00
Benjamin Popp
a8e4519e69
file -> open should load metadata
2019-01-09 21:35:10 -06:00