Commit Graph

4216 Commits

Author SHA1 Message Date
haven1433
e0b8675e88 add turnobject alias for spriteface 2025-01-02 20:36:49 -06:00
haven1433
e64a27d11f format documents 2025-01-01 20:55:52 -06:00
Francesco Cariaggi
86389fa98d Add partial support for Italian Fire Red (#240)
* partial support for Italian Fire Red

* minor tweaks
2025-01-01 20:53:08 -06:00
haven1433
824755f0c8 add capability for grouping table fields together
* useful for copy paste
* a bit better for performance
* when grouped, there's no "goto source" buttons on enums
* also made sprites not take performance if they're collapsed
* performance is still not great
2024-10-07 22:24:29 -05:00
haven1433
acd2496b3f add combobox to multifield
multifield now includes autocomplete for combo options
using combo options should improve efficiency, since we
don't need to create combooptions anymore.
Feature is still turned off for now, as is delayed content updates.
2024-10-06 20:42:32 -05:00
haven1433
ffb94c2dc3 prototype multifield in table
* remove 'Theme' elements from Xaml, we're not using them and the table tool is too slow, bloated with too many elements
* add capability for "multi-field" in table tool: multiple fields get gathered together into a single textbox for performance. It doesn't look as nice, but it's faster. Currently turned off
* Turn off delayed table loading while prototyping this feature. Easy to turn back on later.
2024-10-06 11:30:00 -05:00
haven1433
a8716acd53 script compilation after delay
makes the script editor go faster if they're still typing.
2024-10-05 18:22:44 -05:00
haven1433
10c89c4492 Delete 25-grid, update 9-grid functionality
9-grids are now drawn in 2x2 blocks
2024-10-05 15:49:18 -05:00
haven1433
18a3955c54 Improve table tool loading performance by introducing delay
Don't have the table try to load unless it's stable for over half a second. This initial pause make the table slower, but prevents it from trying to load during scroll operations, which greatly increases the scrolling performance.

Also, don't make the table reload in response to self-edits. If the element isn't changing because the combobox is still open, leave it be until the filter closes.
2024-09-30 22:50:40 -05:00
haven1433
c959a00e53 update comments 2024-09-22 17:06:44 -05:00
haven1433
8be50120b5 hidden item flags should count as used flags 2024-07-10 18:51:11 -05:00
haven1433
271c6460ef don't crash if connections are null
when trying to remove a matching connection from a neighboring map, it's possible that the neighboring map has no connection data. If that's the case, there's nothing to remove... just don't crash.
2024-07-10 18:32:47 -05:00
haven1433
4e3e6c9a73 these should not be editable after initialization 2024-07-10 18:14:39 -05:00
haven1433
37d81284cb guard code for FindMacro 2024-07-10 18:14:22 -05:00
haven1433
2f75729234 Only used cached script if it's from the correct parser 2024-07-10 17:53:10 -05:00
haven1433
bae0f86c0f fix numeric syntax highlighting for code tool 2024-06-20 13:15:41 -05:00
haven1433
6564bc8d8b render text jump button 2024-06-11 08:19:14 -05:00
haven1433
1045aa19a5 beginning of a simple blinking cursor 2024-06-06 21:36:00 -05:00
haven1433
d9544b3ae1 first pass SpriteIndicator 2024-06-06 09:58:01 -05:00
haven1433
34b701e60a Update anchors in callasm hma script
`scripts.battle.thumb` -> `scripts.commands.battle.battlescript`
2024-06-06 09:00:08 -05:00
haven1433
9ffa1fe0ba don't crash if looking for clones in a map with no event table 2024-06-06 08:52:23 -05:00
haven1433
3e9a4dcd04 first pass Group buttons 2024-06-06 08:29:06 -05:00
haven1433
8240b4f1e5 First pass GroupBitArrayControl 2024-06-05 18:48:20 -05:00
haven1433
8841444701 basic movement implementation for offset render control 2024-06-05 12:14:56 -05:00
haven1433
4e37507511 update default textbox context menu (select all) 2024-06-05 11:32:23 -05:00
haven1433
6f76b92bcb TableGroupPanel -> first pass palette control 2024-06-05 07:49:35 -05:00
haven1433
e7577eccbf version bump 2024-06-04 21:52:20 -05:00
haven1433
1c6e13feb1 Merge branch 'master' of https://github.com/haven1433/HexManiacAdvance 2024-06-04 21:48:22 -05:00
haven1433
2731719321 make it easy to toggle back/forth between the real table UI and the prototype table UI 2024-06-04 21:48:13 -05:00
ShinyTillDawn
855959435f A variety of changes related to HUBOL (#222)
* Updated HUBOL's move names count to 896.

Previously, two "Rapid Flow" moves were left out of the hard−coded formatting.

Testing will be required.

* Fixed a typo in the "trainerabilities" variable.

* Added HUBOL's move effect options.

Yak Attack's feature request.

The code could be improved so that it replaces the vanilla move effect options [[List]].

This code has not been tested yet.

* Fixed the indentation.

* Removed all `\t`s in favor of spaces.

* Added the code to update the "effectiveness" list.

This is if the CFRU was detected.

* Added the code to add the type chart anchor.

Address 145BB74 is the anchor reference pointer, not the location of the anchor itself.

This should be updated as `AdjustFormatForCFRU()` makes its initial call.

* Readded C9 Btl. Script alias. Fixed syntax errors.

The `jumpifattackandspecialattackcannotfall` alias no longer throws a compiler error due to its length, so it's fair game to readd it.
The other syntax errors came from implementing more things for HUBOL's metadata.

* Fixed the move effects [[List]] generation.

The existing code did not account for all of the new move effects, and the list added earlier was not completely accurate. Now, the move effect names _should_ be correct.

Some of the move effects (like Endure) are unused in HUBOL's _moves,_ but they're still used in some tables referenced by the vanilla AI.

* Optimized the code for two [[List]]s.

* Removed some comments.

* Optimized the code for making the type chart taЫe.

* Added Decorate's move effect to the metadata.

Decorate uses its own move effect (#245), and that was previously overlooked.
2024-06-04 21:44:11 -05:00
haven1433
3627fa7755 TableGroupPanel update
Child controls now have access to the FrameworkElement parent during interactions, so they can do things like updating the cursor.
First pass at an enum control
First pass at an offset render control
First pass at a text stream control
-> all of these are visual only, no interactions
2024-06-04 21:40:16 -05:00
haven1433
b2835c2464 TableGroupPanel update
* mouse interactions are now shared from the GroupPanel to the controls. Controls don't have logic yet, except for basic testing logic from the splitter.
* splitters can show/hide their section content
* filler implementation for splitters and images
* TableGroupPanel now tracks and shares a FontSize, used for zooming content.
* RenderContext can now calculate a preferred font size for long text
2024-06-04 17:49:31 -05:00
haven1433
23572cdd38 TableGroupPanel updates
After exploring other options of reducing property notifications or allowing async notifications, I've decided that the only real way to fix the table performance is to redo the UI layer. As such, I'm revisiting the TableGroupPanel.

I'll watch performance as I work to make sure it remains fast. But using a single control and modeling the interaction costs a lot of code, but hopefully not a lot of performance.
2024-06-03 19:59:40 -05:00
haven1433
7923ac1168 add functionality for silencing notifications on child viewmodels
ViewModelCore can now use `SilencePropertyNotifications` to temporarily
silence notifications. These notifications are not deferred, they are silenced.

Furthermore, ViewModels can specify a list of child viewmodels that might need to be silenced. These children cannot be detected automatically, because some ViewModels hold references to peers as well as children.

When you call `SilencePropertyNotifications`, the ViewModel and all its registered children will be silenced until the end of the silence scope.
2024-06-03 14:08:37 -05:00
haven1433
5fb94334b6 fix move relearner after move expansion 2024-06-03 08:56:39 -05:00
haven1433
32bebb384b fix script selection bug
if the script start changes and the script end doesn't change, we still need to update the script shown in the code tool.
2024-06-02 15:52:42 -05:00
haven1433
6968fffb89 fix context menu for editable AngleComboBox textbox 2024-06-02 15:41:46 -05:00
haven1433
1213886e4a fix crash importing castform sprite 2024-06-02 13:11:55 -05:00
haven1433
34dc79f877 when expanding signposts, update the existing scripts to backpoint to the moved table 2024-06-02 12:23:36 -05:00
haven1433
fdd8407aa7 don't try to show uses for null maps 2024-06-02 11:38:46 -05:00
haven1433
9bb6dee9af Script discovery logic improvement
During the first pass, scripts that are detected that are earlier than the current script are given a length of 1 to prevent recursion.
The script parser can now produce a second pass on these addresses if they're recognized as scripts, to make sure that the full script gets concatenated rather than truncated to the first command.
2024-06-02 11:13:09 -05:00
haven1433
011aa9f66a improve handling bad state for connections 2024-06-01 17:41:32 -05:00
haven1433
75d5f339ba show error for short-form macros with too many args 2024-06-01 13:26:23 -05:00
haven1433
0fecf32465 handle failure to load files better 2024-06-01 12:58:40 -05:00
haven1433
953d4e786e documentation update 2024-06-01 12:46:42 -05:00
haven1433
ae081f4b74 don't load OW sprite lists if the size isn't reasonable 2024-06-01 10:44:34 -05:00
haven1433
2fee8d5eec handle edge case clicking outside of data 2024-06-01 10:35:07 -05:00
haven1433
92360f662b don't crash if loading table formats past the end of the rom 2024-06-01 09:59:50 -05:00
haven1433
c72bd85d76 don't crash trainer creator if pokestats is missing 2024-06-01 09:49:28 -05:00
haven1433
831b2257ab Improve ability to add formats for map tilesets 2024-06-01 09:40:14 -05:00