Commit Graph

1018 Commits

Author SHA1 Message Date
Benjamin Popp
5545e2eb70 Attempt to fix startup crash
The crash happened because the ModelTable was looking for the frontsprites / pokepalettes, which it couldn't find.
2020-05-05 21:22:20 -05:00
Benjamin Popp
dd0e2f89aa Make the first tile in a tileset a 'blank' tile
useful for transparency and layering effects, used for things like the first-person-view. Without this, the first tile gets plastered on top of the view after the screen clears, blocking the user from seeing anything.
2020-05-05 20:37:24 -05:00
Benjamin Popp
fef8f7648d Add battlebackground support 2020-05-05 20:08:52 -05:00
Benjamin Popp
3de725cd25 Improve Robustness 2020-05-05 15:46:58 -05:00
Benjamin Popp
acdbc1408f Update table tool on tab switch 2020-05-05 15:29:27 -05:00
Benjamin Popp
f91a199f04 Update pointers/anchors after dex reorder 2020-05-05 12:57:37 -05:00
Benjamin Popp
1cab8fb7cf Add DexOrder editing support
Also allow editing of the regional dex data
2020-05-05 12:38:14 -05:00
Benjamin Popp
57b540f158 Add DexReorderTab commands 2020-05-05 08:33:01 -05:00
Benjamin Popp
347430ddcb Render pokemon in dex order
This adds a prototype 'model' element for working with tables/table elements. If you're working with data in a known format, it provides an easier way to navigate through the data. Should be useful for scripts.
2020-05-05 08:12:34 -05:00
Benjamin Popp
07ec666214 load the publisher palette into the correct slot 2020-05-04 09:12:25 -05:00
Benjamin Popp
193f99710f Don't crash after saving 2020-05-04 09:12:05 -05:00
Benjamin Popp
223b303333 Add Plumbing for new Dex Reorder tab 2020-05-03 23:39:05 -05:00
Benjamin Popp
32507d3222 Add Redo check after Undo 2020-05-03 22:52:42 -05:00
Benjamin Popp
8dddf81813 Fix broken tests 2020-05-03 22:47:55 -05:00
Benjamin Popp
e532eb88a2 Fix Pointer edge-case
When a pointer run is replaced with a non-pointer run programatically, also clear that pointer from whatever destination the source was supposedly pointing to.
2020-05-03 22:47:47 -05:00
Benjamin Popp
1d0d030434 Improve BattleScript support 2020-05-03 22:12:45 -05:00
Benjamin Popp
b64bc2a71c Improve copy/paste for tables 2020-05-03 16:28:46 -05:00
Benjamin Popp
bf5d7ebcd0 Bugfix
make sure the newPalette length is as long as the renderPalette length in all cases.
2020-05-03 11:28:59 -05:00
Benjamin Popp
67158a4d7e Feature toggle: go ahead and show BSE in the code tool options 2020-05-02 15:49:27 -05:00
Benjamin Popp
0f2fdb77d5 Version Bump 2020-05-02 15:41:20 -05:00
Benjamin Popp
ba14809c1d Support Indexed4 PNGs 2020-05-02 15:40:09 -05:00
Benjamin Popp
d30b660c1a Add trainer payouts 2020-05-02 15:20:01 -05:00
Benjamin Popp
0e963da3de Load battle-scripts for move effects 2020-05-01 16:52:50 -05:00
Benjamin Popp
8aae2250f1 Version Bump 2020-05-01 08:16:32 -05:00
Benjamin Popp
93250ec061 Add backbone for battle-script support
battle scripts are almost identical to pokescripts in how they work. Each command has a single-byte code, followed by some number of arguments, each of which are 1 to 4 bytes.

Because of these similarities, we can reuse the same engine code and just load the engine from another file. So the code tool can have a 4th mode and basically just work for free. Runs for battle scripts can be as simple as XSE runs: just a single byte, don't bothe decoding, show decoding only in the tool.

Still to add: how to know which battle script commands are ending commands, or which ones point to other battle scripts, or which ones point to strings. How to view battle scripts in the editor? Etc.
2020-05-01 08:16:04 -05:00
Benjamin Popp
102c44ad6b Fix startup bug found my Fred40 2020-05-01 07:39:32 -05:00
Benjamin Popp
4bda80edaa Bugfix: allow typing 'ss' or 'oe' without munging
because "ss".StartsWith("ß") returns true
2020-04-29 09:13:55 -05:00
Benjamin Popp
d1e7ab5e12 Bugfix: match uncompressed sprite formats even if the palette hint is different. 2020-04-28 15:28:59 -05:00
Benjamin Popp
cc3b60c9c3 BugFix: don't parse bad addresses as '0', causing invalid XSE scripts starting at 0. 2020-04-28 15:28:26 -05:00
Benjamin Popp
077557a5b8 Scripting bugfixes
* special and special2 are different commands
* showpokepic should know it uses pokenames
* don't show tooltip during content curlies
2020-04-28 08:29:39 -05:00
Benjamin Popp
6ed54cd459 Bugfix: show more scripts in script tool 2020-04-28 08:19:45 -05:00
Benjamin Popp
61f53820af remove feature toggle
We'll be going with the multi-script content for now
2020-04-27 23:43:31 -05:00
Benjamin Popp
c2159d2867 Update about text
It's now possible, via a manual toggle, to get a build to specify that it's a preview release versus an unstable build. This is useful if people are building out of github, or if I give people one-off builds.
2020-04-27 23:43:13 -05:00
Benjamin Popp
e03ba2bc12 Add annotation option
The script tip may seem less out-of-place if the code being tipped has some sort of visual cue, like a color change.

This implementation shows a proof-of-concept of how that might look by drawing a TextBlock directly over the existing text. But because of how text is rendered, it looks... terrible. A better thing to do would be to not draw the under-text, and draw the caret over both layers. This requires a more specialized control and could also be used for general syntax-highlighting. Revisit later.
2020-04-27 23:27:53 -05:00
Benjamin Popp
0f73e7b3e4 Tooltip help during scripting 2020-04-27 22:57:18 -05:00
Benjamin Popp
6aa2516652 Don't crash if no file is given 2020-04-27 10:08:35 -05:00
Benjamin Popp
c00a5ace08 Add titlescreen info for Ruby/Sapphire 2020-04-27 08:26:55 -05:00
Benjamin Popp
734dfc4160 Import can Goto after moving data 2020-04-27 07:03:59 -05:00
Benjamin Popp
53d0169acf Hide Hex Converter when other things are shown 2020-04-26 23:47:29 -05:00
Benjamin Popp
b4a2e8cca0 Remove format recursively on cut 2020-04-26 23:43:02 -05:00
Benjamin Popp
9b5cbf33b2 Make cut/paste work better for table streams
When pasting a table stream that contains pointers to other streams, the length-tokens might get set AFTER the pointer tokens. In this case, we want to recognize the format of the data we point to and not do arbitrary repoints.
2020-04-26 23:20:06 -05:00
Benjamin Popp
49acee5915 Inform on table stream repoint 2020-04-26 21:06:00 -05:00
Benjamin Popp
446ae304ce Deserializing TableStreams can't return 0 elements. 2020-04-26 20:53:17 -05:00
Benjamin Popp
65147382dd Add 'Select All' support
User request: Fred40
2020-04-26 13:52:46 -05:00
Benjamin Popp
bf92c31042 Export/Import Tilemaps 2020-04-25 23:56:23 -05:00
Benjamin Popp
96db58d4a1 Import/Export uncompressed sprites/palettes 2020-04-24 14:45:36 -05:00
Benjamin Popp
26d44eb5ba Update About text 2020-04-24 14:31:01 -05:00
Benjamin Popp
3fb237a475 Keep palette the same where possible
* When exporting an image, also export the original palette.
* When importing an image, if that palette is included, use it. Otherwise, use whatever the current loaded palette is as a comparison point.
2020-04-24 14:30:50 -05:00
Benjamin Popp
bef73ad75f Support editing marts in scripts 2020-04-24 08:09:54 -05:00
Benjamin Popp
b8e04eeb93 Refresh view/tool after import 2020-04-24 07:58:10 -05:00