Releases: Sardelka9515/scripthookvdotnetcore
Releases · Sardelka9515/scripthookvdotnetcore
v1.2.1
- Fix crash and native call not working
v1.2.0
- Added CoreCLR support, you can now run scripts in managed mode. NativeAOT will remain supported but using CoreCLR is recommened due to significantly shorter compile time and being more stabe. Add
<EnableDynamicLoading>true</EnableDynamicLoading>
to the csproj to ensure all depedencies are copied to output folder. - The primary nuget package now uses CoreCLR by default, to use NativeAOT mode instead, switch to this package
- The CoreCLR plugin model supports loading different versions of API assembly at the same time, shipping
ScriptHookVDotNetCore.dll
with your mod is recommended to ensure future compatability. - To enable assembly context isolation, put script assmeblies and dependecies into a seperate folder instead of directly in
CoreScripts
, e.g.CoreScripts\MyMod
, this way the script(s) can be loaded/unloaded individually and don't need to worry about dependency version conflict. - The in-game console now supports executing code on-the-fly, providing a convenient way to test the scripting API. Scripts can also register their own commands by marking public methods with
GTA.ConsoleCommand
attribute. - Added
Script.FilePath
to retrive the path where the script is loaded from
Full Changelog: v1.1.2...v1.2.0
v1.1.2
- Fixed a crash when an exceptioni was thrown after a module has been unloaded (#4)
- Fixed some random crashes by cleaning up FLS (fiber-local storage) properly
- Added configuration option to enable debug console and skip legal screen
- Others...
Full Changelog: v1.1.1...v1.1.2
v1.1.1
- Fix generator not detecting indirectly inherited script class
- Add version check for script module
- Update shvdn
Full Changelog: v1.1.0...v1.1.1
v1.1.0
- Fixed issue in source generator that causes duplicated script loading under some circumstances (#2)
- Added in-game console, press F6 to open by default, configurable through the ini file. The console is not as powerful as that of SHVDN, only commands registered by scripts can be executed as it's impossible to dynamically compile and execute code in NativeAOT. To expose a function as command, mark it with GTA.ConsoleCommand attribute, most primitives and class that implements
IConvertible
can be converted and passed as parameters. - Fixed an error that causes random crash probaly due to the use of fiber switching and GC by reintroducing dedicated script thread, performance degration is expected. To get better performance, mark the script class with
[ScriptAttribute(NoScriptThread = true)]
like those in the base script, but beware thatScript.Yield()
andScript.Wait()
will throw an exception running in such mode. - Save time for memory scanning each time a module is loaded by reusing
NativeMemoryStruct
- Added
NativeInvoker
class, which allows easy and intuitive native function calling with strong-typed parameters and comments
v1.0.0
Initial release