ASI Support for RAGE Plugin Hook 0.4.0 BETA

0d917c logo


This is a RPH plugin that converts ASI mods into UASI ("Universal ASI") mods which can be loaded with RAGE Plugin Hook in the same way ASI mods are loaded with ScriptHookV. Everything but the raw DirectX access ("Present callbacks") has been implemented, so most ASIs should load and work properly.

To use this plugin, you must have:
.NET Framework 4.6
RAGE Plugin Hook

How does it work?
The first version was entirely coded in C++/CLI: native C++ code was used to interact with native ASI plugins, and the "CLI" (or "managed") part of the code was used to interact with the .NET Framework and RAGE Plugin Hook. Though, this mix between managed and native code created problems and confusion: errors were hard to track down, the program was hard to maintain, and the plugin didn't work for a lot of people.
This version was created with compatibility and user-friendliness in mind: managed code is in its own file ("AsiSupport.dll", which is the RPH Plugin), and all unmanaged code (the bare minimum the make the plugin work) is in UnvAsiIntrf.dll (which stands for "Universal ASI Interface"). UnvAsiIntrf.dll should be supported by the end user as it is pure C++, and AsiSupport.dll should also not cause any problem if the end user has all required dependencies to use RPH.
UnvAsiIntrf.dll has been created as a generic way for ASI plugins to interact with another entity: said entity would register as an "API Handler" which has access to GTA V (in this instance, to RPH which gives it access to GTA V) and which would load UASI files (converted ASI files); then, the ASI scripts would interact with GTA V the same way the would've done it with ScriptHookV, except they would do via UnvAsiIntrf.dll, which itself serves as a simple bridge between UASI scripts and the API Handler.

Reporting bugs and crashes
As the plugin is still in beta and might be unstable, you may experience bugs and / or crashes. In that case, please report the bug/crash either on Github, in the comment section, or on the RPH Discord. If you're reporting a crash, please also send the crash report (located inside the "CrashReports" directory in your GTA V folder).


* The maximum number of native arguments has been increased from 25 to 32
* All argument buffers are now pre-allocated: this should improve the plugin's overall performance
+ ScriptHookVDotNet support added

* The plugin can now optionally consider the current game version as unknown (getGameVersion() then always returns -1)
* The plugin can now optionally ignore calls to unknown natives. This could prevent some plugins from crashing. If a plugin tries to call an unknown native, 0 will be returned.
* Added the ReloadAsiConfig command

* The plugin should no longer crash if it failed to load or convert an ASI file
* The plugin now detects non ScriptHookV scripts instead of trying to convert them

* Improved performance

* The AsiSupport plugin has been rewritten in C# to remove the C++/CLI dependency
* The interop with ASI scripts is now done via UnvAsiIntrf.dll (coded in pure C++)
* AsiSupport no longer uses .rasi files: it uses .uasi (Universal ASI) files
* Converting ASI files to UASI should now be faster
* Key events are no longer being transferred to ASI plugins when the RPH console is open
* Better handling of exceptions: the plugin should no longer crash (most of the times), but instead show a user friendly error message
* Most ASI plugins can now be unloaded and reloaded without rebooting the game (sorry, ELS is not one of them)
* Some previously hardcoded values are now read in an external, easily editable file

* If a script is already loaded with SHV, the SHV script will be killed
* The dependency issue is now fixed
* The plugin should now also work on Windows 7, 8, and 8.1
* OpenIV.asi is no longer handled as it is stand-alone and will work anyway
* If the original .asi file changes, the converted .rasi file is updated

+ Initial public release

Please note I only created it to be able to use old ASI plugins created by inactive authors. If you're a new developer wanting to create a GTA V plugin, I highly recommend you directly use RPH instead, as it will improve performance.

Thanks to MulleDK19 and LMS for RAGE Plugin Hook
Thanks to Alexander Blade for ScriptHookV
Thanks to JackD111 for OpenVHook
Thanks to alexguirre for helping me figure out stuff

The source is available on Github under the GPLv3 license.
Show Full Description

Pertama diunggah: Senin, 29 Oktober 2018
Terakhir diperbarui: Jumat, 26 Juli 2019
Terakhir Diunduh: 12 menit yang lalu

All Versions

 0.4.0 BETA (current)

17.975 unduhan , 485 KB
Jumat, 26 Juli 2019

 0.3.3 BETA

1.967 unduhan , 101 KB
Sabtu, 22 Juni 2019

 0.3.2 BETA

5.324 unduhan , 101 KB
Sabtu, 15 Desember 2018

 0.3.1 BETA

1.738 unduhan , 101 KB
Selasa, 30 Oktober 2018

 0.3.0 BETA

202 unduhan , 102 KB
Senin, 29 Oktober 2018

119 Komentar