Releases: SaltContainer/BrilliantShiningScriptEditor
Releases · SaltContainer/BrilliantShiningScriptEditor
2.0 Release
This is a huge update and there probably won't be another one for a bit, unless there are some major bugs to fix.
Overview
- Script and Script File browsing now uses a TreeView for ease of use.
- Full Script File editing is now supported.
- Script and Script File renaming is now supported.
- Compilation errors and warnings have been moved to their own section of the UI instead of only appearing in a MessageBox.
- Command Reference, now renamed Data Reference, has been moved to its own separate window that can be kept open alongside the script editor.
- Data Reference now shows info on Flags, System Flags, Work Variables, and File Names.
- Custom reference can be imported from within Data Reference for all types.
- The space previously occupied by Command Reference now shows info on the currently open Script/Script File.
Fixed issues
- When adding or renaming a Script, the same name as any other Script is no longer allowed.
- Previously, this was only for Scripts within the same Script File, but BDSP does not differentiate between files and puts every single Script into one Dictionary. This would cause Scripts of the same name to only ever use the first one that the game finds.
- The WebView2 console no longer spits out errors on every character typed in the editor.
- This was from leftover code in the javascript that has now been removed.
New Features
- Script and Script File browsing now uses a TreeView for ease of use.
- The tree has two layers: Script Files, then the Scripts within.
- Double-clicking a Script or Script File will open it in the editor. This can also be done by right-clicking, then Open.
- Renaming can be done by right-clicking, then Rename.
- Adding Scripts is now done by right-clicking a Script File, then Add Script.
- Deleting Scripts is now done by right-clicking a Script, then Delete.
- Full Script File editing is now supported.
- The format used for each Script within is:
- First line is the script name, followed by ":"
- The next lines are the script itself
- An extra (optional) empty line is added for easier reading
- This also can be used to batch add, delete, or rename Scripts within a file.
- The format used for each Script within is:
- Script and Script File renaming is now supported.
- This can be done by right-clicking a Script or Script File in the TreeView.
- The same restrictions for the name as adding a Script apply (not empty and not an existing Script name).
- Compilation errors and warnings have been moved to their own section of the UI instead of only appearing in a MessageBox.
- This section can be toggled to allow for more space for the editor.
- Compiling and saving will no longer give you the detailed errors/warnings within the MessageBox and will instead direct you to the Error List if there are any errors/warnings.
- Saving will allow you to save if there are no errors or warnings.
- Turning off Safe mode will allow you to save if there are only warnings, like before.
- Command Reference, now renamed Data Reference, has been moved to its own separate window that can be kept open alongside the script editor.
- This new window acts the same as the previous Command Reference section.
- Data Reference now shows info on Flags, System Flags, Work Variables, and File Names.
- Currently, none of these are documented, but hopefully they will be in the future.
- Custom reference can be imported from within Data Reference for all types.
- The JSON format that is expected is the same as the one used for each type's reference file in the JSON folder of the application.
- Once imported, the data is kept in JSON/CustomReference, in a file of the same name as the default references.
- These custom references have priority over the default references. If two of the same ID are found, the custom reference is used.
- The space previously occupied by Command Reference now shows info on the currently open Script/Script File.
- Info includes:
- Script File name and "Friendly Name" (and Script name if editing a Script)
- Amount of total commands in the Script/Script File
- Amount of total Scripts (if editing a Script File)
- Info includes:
1.3.0 Release
Overview
- Script insertion in existing files is now supported.
- Script deletion is now supported.
- The comboboxes for selecting script files now use "Friendly Names" for ease of use.
Fixed issues
- Resizing the window does not resize the editor within the WebView2.
- Resizing now works properly.
- Pressing F5 to refresh the WebView2 will lock the editor into read-only mode.
- This will still happen but re-selecting a script to edit will undo read-only.
- There were issues with end-of-line characters being "\r\n" instead of "\n" on Windows. These have been fixed.
- Specifically, the issue arose in scripts where no end-of-line characters were present, making Windows default to "\r\n".
- The fix was to automatically remove "\r" from the code. This shouldn't cause issues unless a label has that in its name, which I don't think such a label exists.
New Features
- Script insertion in existing files is now supported.
- There are no restrictions on names except for requiring it to not be empty or an existing script name in the same file.
- It is unknown if specific characters or name length can cause issues, so try to keep it to short names with basic ASCII characters.
- There are no restrictions on names except for requiring it to not be empty or an existing script name in the same file.
- Script deletion is now supported.
- It is unknown what happens when the game attempts to call a non-existent script from a PlaceData or other scripts, so make sure there are no references to a script before deleting it.
- The comboboxes for selecting script files now use "Friendly Names" for ease of use.
- Some of the names had to be abbreviated to fit the size of the combobox.
- Names can be customized in the file_names.json file in the JSON folder, like with commands and arguments.
- Better support for this customization will come at a later date, like for commands and arguments.
1.2.0 Release
Overview
- Rebranding from Pokémon BDSP Editor to Brilliant Shining Script Editor (BSSE)!
- Replaced the RichTextBox used for editing scripts with a WebView2 loading a Monaco Editor.
- Added support for Flag, System Flag, and Work names, which the editor now defaults to using when decompiling.
New Dependencies
- Microsoft.Web.WebView2 (1.0.1462.37, latest stable as of writing) as a NuGet package.
- This control is used to load a Monaco Editor for script editing.
- Monaco Editor (0.34.1, latest released as of writing) bundled with the project.
- Used for script editing.
Fixed issues
- #1
- Support for Flag, System Flag, and Work names has been added.
- cmd_-1 does not compile.
- Negative indices are now supported for commands only. This is only to support re-compiling scripts that contain command -1, likely as an error from ILCA/Game Freak, and should not be used.
- There is an infinite loop when an argument type in commands.json is not one of the 4 expected ones.
- The infinite loop has been fixed.
New Features
- Support for Flag, System Flag, and Work names has been added.
- The editor defaults to these names when decompiling scripts.
- Commands and arguments of format "cmd_#", "flag_#", "sys_#", "var_#" are still supported.
- Syntax highlighting for commands and most arguments.
- Commands are blue.
- Flags are green.
- System Flags are red.
- Work Variables are pink.
- Numbers are light green.
- The rest (usually labels) is not highlighted.
- Hovering over Commands, Flags, System Flags, and Work Variables shows the ID and description for that element.
- Commands also give argument info, similarly to the Command Reference section on the right.
- Autocompletion for Command, Flag, System Flag, and Work names.
- Starting to type on a new line will only bring up commands.
- Starting to type after a command will bring up Flags, System Flags, and Work Variables.
- The JSON files used for data on commands and arguments are now outside the executable, making them editable by the user.
- This allows for custom Flag, System Flag and Work names for more advanced BDSP mods.
- There will be a more user-friendly way to do this at a later date.
Known Issues
- Resizing the window does not resize the editor within the WebView2.
- Pressing F5 to refresh the WebView2 resizes it properly after the window has been sized to your liking.
- Pressing F5 to refresh the WebView2 will lock the editor into read-only mode.
- This can be fixed by going into developer tools with F12, then running "editor.updateOptions({readOnly: false})" in the console.
1.1.0 Release
- Added handling of script files with the same name
- This means support for 1.3.0, as that version previously crashed on saving because of Hall of Origin having two script files of the same name
- For a more technical explanation, the path ID is now used to differentiate files instead of the file name now
1.0.1 Release
- Improved Compilation error handling
- Now all errors are shown instead of just the first one.
- Added "Safe Mode" Checkmark
- "Safe Mode" is what the previous release was. Turning it off allows saving a script with ignorable compilation errors. Ignorable errors are for commands that aren't documented and expect 0 arguments.
- Documented a few more commands
1.0 Release
- Initial Release
- Initial support for Script Editing
- ~300 Commands documented