ASI Support for RAGE Plugin Hook 0.4.6 BETA

0d917c logo

60 374

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 GTA5-mods.com 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).


* Fixed a crash that could occur when trying to draw an invalid texture

* The versions manifest has been updated (up to version 1.0.2245.0)

* The versions manifest has been updated (up to version 1.0.2215.0)

* The versions manifest has been updated (up to version 1.0.2189.0)

* The versions manifest has been updated (up to version 1.0.2060.0)
* Thread crashes can now be notified to the player
- SHVDN support has been removed as it is obsolete. A new support might be added in the future.

* SHVDN support is now disabled by default (because of its instability)
* The versions manifest has been updated (up to version 1.0.1868.1)
* Process corrupted state exceptions (ie: AccessViolations) are now properly handled.

* 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

Първо качено на: 29 октомври 2018
Последно обновено на: 17 март 2021
Последно изтеглено: преди 2 часа

All Versions

 0.4.6 BETA (current)

9 935 изтегляния , 100 КБ
17 март 2021

 0.4.5 BETA

440 изтегляния , 100 КБ
16 март 2021

 0.4.4 BETA

2 905 изтегляния , 100 КБ
10 февруари 2021

 0.4.3 BETA

497 изтегляния , 100 КБ
15 декември 2020

 0.4.2 BETA

9 155 изтегляния , 100 КБ
15 август 2020

 0.4.1 BETA

8 306 изтегляния , 500 КБ
04 юни 2020

 0.4.0 BETA

18 252 изтегляния , 500 КБ
26 юли 2019

 0.3.3 BETA

2 028 изтегляния , 100 КБ
22 юни 2019

 0.3.2 BETA

5 371 изтегляния , 100 КБ
15 декември 2018

 0.3.1 BETA

1 805 изтегляния , 100 КБ
30 октомври 2018

 0.3.0 BETA

356 изтегляния , 100 КБ
29 октомври 2018

181 Коментари