Commit Graph

3392 Commits

Author SHA1 Message Date
Benjamin Popp
725e5549f6 Merge branch 'dev' into haven1433-dev 2019-02-05 21:05:46 -06:00
haven1433
a3014d552d Change name in readme 2019-02-05 21:01:53 -06:00
haven1433
40d722d762 Merge pull request #19 from haven1433/dev
Usability Improvements
2019-02-05 21:01:08 -06:00
Benjamin Popp
0c8633da52 rename folders / files / projects from Gen3Hex to HexManiac 2019-02-05 20:58:49 -06:00
Benjamin Popp
4c11b5af9c fix a bug where the "next run" was the current run whenever the current run had a length of 0 2019-02-04 22:09:34 -06:00
Benjamin Popp
4a38ad6fbe performance fix: only seak pointers if we haven't seeked before
(usually this means that you should only seak if it's a new anchor)
2019-02-03 22:38:14 -06:00
Benjamin Popp
932fd7a59e make the integer format look a bit better 2019-02-03 22:10:39 -06:00
Benjamin Popp
dad8a17fe3 support for editing ints 2019-02-03 21:51:35 -06:00
Benjamin Popp
96934c24b6 Merge branch 'dev' into haven1433-dev 2019-02-02 20:13:08 -06:00
Benjamin Popp
9eb4102849 add new test to remind me what I need to work on next 2019-02-02 20:13:01 -06:00
Benjamin Popp
cf6c409cee first step for implementing integers in arrays
Can now add arrays with integers of length 1, 2, 3, or 4 bytes.

Can't edit yet, and don't have array-length-matching support yet
2019-02-02 20:06:25 -06:00
Benjamin Popp
33a784ba00 fixing edge cases 2019-02-01 23:39:06 -06:00
haven1433
c031b15554 Merge pull request #18 from haven1433/dev
Arrays and Usability Improvements
2019-02-01 23:35:05 -06:00
Benjamin Popp
44aca3cbd5 - error when there are too many search results to display
- add basic help information on the start screen so it doesn't look so empty
2019-02-01 23:33:54 -06:00
Benjamin Popp
1bce1c8887 don't hang when goto asks to go outside the size of the data 2019-01-31 20:27:56 -06:00
Benjamin Popp
bc62a3bb7e add a "clear format" right-click option
when adding an anchor, search for pointers to that spot
2019-01-31 20:15:09 -06:00
Benjamin Popp
75a65ce502 something is only a pointer if it points to useful data, no 0xFF 2019-01-31 06:33:53 -06:00
Benjamin Popp
88fc89378c performance fix: pointers should only draw via the clipping method if the
pointer's position is GREATER than the X position, meaning that part of
the pointer is clipped
2019-01-31 06:33:30 -06:00
Benjamin Popp
ae7798115c changing external name to "Hex Maniac Advance"
updating icons to match
2019-01-30 21:44:10 -06:00
Benjamin Popp
e36d8dcfbf add ascii runs for header decoding 2019-01-30 21:22:02 -06:00
Benjamin Popp
adaebe39af pre-review refactoring
also updated tests project based on type renaming (and thus Stub renaming)
2019-01-29 20:07:40 -06:00
Benjamin Popp
e9d91a7fbb performance improvement: only clip when you absolutely have to
bugfix: typing < or ^ followed by cursor movement should redraw everything
2019-01-28 20:19:00 -06:00
Benjamin Popp
923330d1c7 refactor: moving types around and renaming things 2019-01-28 07:33:43 -06:00
Benjamin Popp
efb226e4c2 fix clipping issues: allow two-line pointers to appear correctly on two lines 2019-01-27 21:56:59 -06:00
Benjamin Popp
47488f9953 - make it possible to surface the preferredWidth
it may be useful later in the UI to be able to change it manually

- add a matrix that can be turned on/off
2019-01-27 16:46:25 -06:00
Benjamin Popp
addd5b9aab bugfix: appending to an array should modify the array format length 2019-01-27 16:00:29 -06:00
Benjamin Popp
10a9ad9f4d add a test showing that the app will error if you try to paste an array
that will blap another anchor
modify behavior to _not_ auto-fill anchor info after typing ^
(I thought that auto-fill was desirable, but it messes with paste)
This is less of a problem now that there's a dedicated anchor editor.
2019-01-27 15:48:11 -06:00
Benjamin Popp
db0ce4bda1 add a test showing it's possbile to cut/paste arrays 2019-01-27 15:34:35 -06:00
Benjamin Popp
41df0a5eb2 mass paste was slow. Performance updates to make it faster.
- SilentScroll should return whether or not a scroll was needed.
  This lets us be smarter about when we really need a refresh.
- create a lightweight version of RefreshBackingData that only refreshes
  a single square. Use the new version on pcs character complete.
- for mass edits, defer tool content updates until the end of the edit.
- update tools after an anchor edit (fixes a crash)
- use stringbuilders instead of string concatanation in critical paths
- when converting bytes to a PCSString, cache off the currentByte
  instead of asking for it multiple times
- PCSRuns did string caching so that the full string given to a HexElement
  only had to be calculated once each refresh. Now arrays cache too.

related changes:
- fixed a crash when pasting an array into a location where it would
  conflict with an existing run
- pasting large arrays no longer randomly inserts blank elements
  (no whitespace after pasted strings)
- you can middle-click to clear an error
2019-01-27 11:50:59 -06:00
Benjamin Popp
b5e73897e5 Text Tool now works for arrays 2019-01-26 16:40:04 -06:00
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