- Added a new command, Open Enums..., which lets you quickly view enum files even if they are not in the mod globals folder.
- Enums are now loaded from Star Rod's database if they are not found in your mod's
globals/enum
folder
- Added support for Star Rod 0.5.0
- Fixed enums in subdirectories not being suggested
- Exported structs from global patch files are now shown in suggestions for other global patch files (previously, viewing exported global patch structs was limited to non-global patch files)
- Added support for Star Rod 0.4.4
- Fixed highlighting of
#export:Type $identifier
in patch files
- Added syntax highlighting for the decompilation's .msg format
- Fixed documentation comments being ignored.
- Fixed syntax highlighting for
@ $identifier
where the space between@
and$
is omitted.
- Normalised syntax highlighting among every
$identifier
regardless of type. - Strings now use the 'text' icon when appearing in autocomplete suggestions.
- Structs declared or patched in the current file are now shown in the Outline (bottom of the sidebar) and can be jumped to with Go To Symbol in Editor... (Ctrl+Shift+O, or Ctrl+P then
@
). - Added syntax highlighting for
#new:VertexTable
blocks. - Fixed syntax highlighting for the
LT
branch/jump instructions in functions. - Fixed
}
not being included in the highlighted range of Go To Definition. - You can now document structs using any line comments, rather than just those prefixed with
!
. - Made struct parsing more lenient - a comment between the header line and the comment block is now read correctly.
- Struct types are now displayed for functions and scripts, instead of
scr
,api
, orasm
. The distinction between the latter two is still maintained, however, in autocomplete. - Improved type detection for functions. Functions in
$snake_case
are assumed to be for assembly (JAL $func
) only, whereas functions in$PascalCase
are assumed to be for script use (Call $Func
) only.
- Added syntax highlighting for
#new:String
blocks. - Added support for Star Rod 0.3.2.
- Added autocompletion for enum namespaces and enum members. Note that enum files in Star Rod's local
database
are not read, only those in your mod folder (globals/enum/
). - Added syntax highlighting for
#alias
directives. - New syntactic analysis features (0.3.0+ only):
- Added CodeLens actions on
#new
directives in src/gen files. This will add to, or create, the relevantpatch
file. - You can now use any number of
%!
line comments before a struct to document it. This info will appear in autocomplete suggestions and whenever you hover over the struct name. - Added autocompletion for map/area/game/mod flags and vars.
- Added autocompletion and Go To Definition (hold Ctrl and click) for structs, including from other files (i.e.
src
,gen
,#import
ed files, and global patches).
- Added CodeLens actions on
- Disabled autocompletion features in string blocks.
- Extension now reloads when the Star Rod directory or version is changed in Settings.
- Added support for Star Rod 0.3.1.
- Unknown StarRod.jar files are now assumed to be the latest supported SR version.
- Removed a broken mod folder version failsafe
- Fixed syntax version detection to use the Star Rod directory version rather than
BuildVersion
frommod.cfg
- Published on https://open-vsx.org (e.g. for VSCodium users) as well as the Visual Studio Marketplace
Stable release! No significant/breaking changes despite the major version bump.
- Added support for Star Rod 0.3.0.
- Added support for
{scope=pause}
in the database library and its associated file extensions (pscr
,ppat
). - The database is now reloaded when
starRod
configuration changes. - Fixed
Jump
syntax highlighting and autocomplete. - Fixed
@Script
blocks in global patches not being treated as scripts by autocomplete etc. - Fixed
Npc
structs not being recognised. - Fixed
#new:Function
blocks in global patches not being highlighted when a scope (e.g.:Battle
) is used.
- Added syntax highlighting support for SR 0.3's RAM global patches e.g.
@Hook:Map
. - Added autocomplete for
~Func:
expressions similar toCall
in scripts. - Added the
starRod.installDirectoryVersionOverride
configuration option.
- Fixed indented block directives such as
@
and#new
not being highlighted - Fixed identifier highlighting in
Set
expressions - Fixed highlighting of
>=
operator - Fixed highlighting of the last colon in multi-argument expressions: i.e.
{expression:arg:arg}
and~expression:arg:arg
- Updated database syntax highlighting
- Fixed typo in message when database args are marked
{raw}
- Fixed indentation rules (e.g. behaviour of the Reindent Lines command)
- Added support for Star Rod 0.3.0-beta0
- Unlike with Star Rod 0.2.0, the database used for function signature documentation is actually provided by the files in your Star Rod
database
folder.
- Unlike with Star Rod 0.2.0, the database used for function signature documentation is actually provided by the files in your Star Rod
- Added an Open Database... command which lets you quickly view the database files Star Rod is using. Syntax highlighting has been added for these files also.
- Syntax highlighting for
mod.cfg
,main.cfg
,GameFlags.txt
, andGameBytes.txt
. - Better syntax highlighting for
*.enum
files. - Many syntax highlighting fixes.
- Fixed an issue with Compile Mod where compilation would be aborted if the output from Star Rod was greater than 1 MB. The new limit is 4 MB - please tell me if your mod hits this limit (you'll get an
stdout maxBuffer length exceeded
error) and I can raise it.
- Added Run Mod, a command that runs the compiled mod in an emulator. You may need to set
starRod.emulatorPath
in your preferences.
- Added Compile Mod and Compile Map... commands. Use
Ctrl+P
and type 'Star Rod' to use them. - Added an option to disable showing script keyword documentation when they are hovered over.
- Added a prompt to set the Star Rod installation directory if it is unset or invalid.
- Fixed syntax highlighting for
#new:Script_Main
,#new:Function_Init
,#new:Script:Global
, etc.
- Huge improvements to the accuracy and completeness of syntax highlighting
- Many scopes (what things are marked as) have changed, which means the colors you see due to your theme may have changed
- 🚀 A custom color scheme will be coming in the next release to take advantage of the greater accuracy of the new scopes. For example, assembly instructions/registers will be highlighted differently depending on their group
- Typing at the start of a line no longer suggests script commands if you are not in a script
- Updated intellisense hugely ✨
- Function database updated to Star Rod 0.2.0
- Hovering over
{Func:XXX}
in functions to get its documentation now works - Script commands (
Call
,Set
, etc.) are now autocompleted and have attached documentation- This includes snippets for complex commands such as
Bind
- press Tab to have the syntax filled-in for you
- This includes snippets for complex commands such as
- You can also hover over script commands to see documentation and examples
- Hovering over a raw-addressed
Call
now gives the name of the function if it is known - Generated function signature/documentation bugfixes
- Code folding is now "smart" rather than indentation-based
- This includes folding
/%...%/
block comments,#import
series, and entire structs/strings
- This includes folding
- Indentation/unindentation occurs automatically when "If," "EndIf", etc are used
#new:Script
and#new:Function
are deliberately not indented as to do so would be inconsistent with other structs
- Script commands outside of
#new:Script
/@
blocks anyway to reduce flicker when enter is pressed to create a newline- In the future, an error will be raised upon saving the file if there are script commands outside of a script block
- Fixed some syntax highlighting issues, including
#new:Data
not being recognised & PAUSE/CHOICE in strings
Syntax highlighting:
- Fixed double-precision floats (e.g.
1.0d
) - Fixed script/function lines with numeric offsets having their operation/mnemonic mishighlighted
- Fixed highlighting of pointer offsets such as
LTW v0, v0 ($MyStruct)
- Updated numeric constant to not highlight errors such as
FFFFb
as numbers (b
, for example, requires at most 2 hex digits before it)
Syntax highlighting:
- All struct types such as
#new:Function_GetTattle
are now recgonised - Script keywords
Call
,Exec
, andExecWait
are now highlighted in italics - Script keywords
ConstAND
,ConstOR
,DoesScriptExist
, andKill
are now recgonised - Phrases such as
TODO
andFIXME
are now highlighted when they appear in comments - The numeric suffixes
`
,b
, ands
are now highlighted differently from the number value itself - Fixed unknown struct types being highlighted as if they were arbitrary data
- Fixed floating-point literals using only binary digits (e.g.
10.0
) being highlighted incorrectly past the decimal point