Commit Graph

3373 Commits

Author SHA1 Message Date
Benjamin Popp
617ae4f3f5 @ for goto should support / separator to go to sub-sections of arrays 2019-03-11 23:07:04 -05:00
Benjamin Popp
a00dbfeb97 bugfix: should've been using the flag passed in instead of just passing true
added auto-search tests for types
2019-03-11 23:04:52 -05:00
Benjamin Popp
9d7d1caef3 allow users to type pointers that lead into arrays that support inner anchors 2019-03-11 22:58:49 -05:00
Benjamin Popp
2c3f79242e bypass the anchor overwrite check when loading anchors from metadata 2019-03-11 22:26:01 -05:00
Benjamin Popp
885c187929 it is now possible for users to add arrays with inner anchors manually,
instead of relying on just the auto-search to get it right.
2019-03-11 22:12:08 -05:00
Benjamin Popp
52495eb888 bug fix: it should be possible to remove pointers that point into arrays without crashing the app. 2019-03-11 21:42:31 -05:00
Benjamin Popp
15d67e719c - render anchors within arrays (if the array supports it)
- goto index within array (example: types/2)
- goto index within array still limits screen width based on array
- when searching for pointers, return already existing pointers as well as newly added pointers.
2019-03-09 21:46:03 -06:00
Benjamin Popp
52249384bc arrays can now have pointers pointing within them.
using 'types' as the example of this that the game actually uses.
still have a bunch of pieces to do, but this is the basic code
2019-03-07 21:32:52 -06:00
haven1433
ee15c5f090 Merge pull request #21 from haven1433/dev
Pointer support in arrays, plus minor usability improvements
2019-02-24 21:38:41 -06:00
Benjamin Popp
76d41e6f27 add some tests for the auto-search model. These tests are skippable,
because they depend on loading real data that may not be available on
a development system.
2019-02-18 20:38:51 -06:00
Benjamin Popp
0a71cc139d handle case better for auto-complete 2019-02-18 20:04:37 -06:00
Benjamin Popp
98c3754c12 fix auto-search 2019-02-18 19:55:11 -06:00
Benjamin Popp
d725106277 fix a bug that was breaking segment rendering for arrays
better tooltip for anchor editor
automatically find items data (tested in the 5 base roms)
2019-02-16 20:59:59 -06:00
Benjamin Popp
3fb44380e9 array edge cases: make array pointers act like normal pointers
- changing one updates anchors
- you can create an array over formatted data, but not over anchors
- pointers update correctly when typed in
2019-02-12 22:29:24 -06:00
Benjamin Popp
cf828d06f1 slight refactoring to prep for more array / pointer stuff. Added some insertion points as TODOs 2019-02-12 21:04:11 -06:00
Benjamin Popp
34fd89c243 forgot to make an exception for null 2019-02-10 21:59:43 -06:00
Benjamin Popp
426c7ff362 arrays now support pointers 2019-02-10 21:34:58 -06:00
Benjamin Popp
147115bc10 code readability updates 2019-02-10 21:32:17 -06:00
Benjamin Popp
55f18002b7 support for doing Goto while in data using the @ symbol
this is useful because now users can paste an address and data
directly into the editor and have stuff automatically work.

For example:

`@123ABC <pokenames>`

You could paste that anywhere in the data, and the pointer pokenames
would get written at 123ABC.

You can combine multiple changes together in this way. Basically,
this turns HMA into a capable lightweight patching tool.
2019-02-10 11:10:29 -06:00
Benjamin Popp
c0f4456ea9 Merge branch 'master' into dev 2019-02-09 21:28:55 -06:00
Benjamin Popp
8b24af07ff rename paste to paste / replace, since it does an overwrite
fix a crash when using goto from the search results tab
fix goto not working on a tab if you get to that tab by closing the selected tab
2019-02-09 21:25:18 -06:00
Benjamin Popp
fe4f3feb2d make the anchor editor a bit more clear instead of just being a random text box 2019-02-09 21:12:35 -06:00
Benjamin Popp
3822b8b543 search results select the full length of the search string
instead of just the first byte

when following a search result, move selection to the result
2019-02-09 20:51:36 -06:00
Benjamin Popp
bb00a22fc5 - refactor ViewPort constructor to not need to take in the data array twice
- when searching for text, check if the found results are anchors
- when adding a text anchor with no name, search for pointers before rejecting it
2019-02-09 12:29:47 -06:00
Benjamin Popp
b05d7d0a5f right-clicking non-selected data should select that data
format clearing right-click option should be based on what's selected, not just what is clicked
2019-02-07 21:09:37 -06:00
Benjamin Popp
45ed0ae4f7 bumping version so I don't forget to later 2019-02-06 21:50:19 -06:00
haven1433
e929498fb0 Merge pull request #20 from haven1433/dev
Support for integers in arrays
2019-02-06 21:42:33 -06:00
Benjamin Popp
d23e77bd32 adjust the algorithm for goto-address to try to keep everything
aligned with hex 0 at the left edge (user request)

This changes automatically when you jump to an array
2019-02-06 21:41:47 -06:00
Benjamin Popp
3d8f9cd1cc right click -> escape, should close context menu 2019-02-06 21:27:32 -06:00
Benjamin Popp
e549699340 usability update: default to 16 bytes as the preferred width
the preferred width will sitll automatically change when you goto arrays
2019-02-06 21:17:04 -06:00
Benjamin Popp
4529c35551 skipping test, since now I know I won't be working on this feature next. 2019-02-05 21:11:45 -06:00
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