ASI supports RAGE plugin hook

by Pursuit·v0.3.2 BETA·Updated 2019-01-15

ASI支持RAGE插件钩子

Screenshots 1 screenshots

About this mod Machine translation

This is an RPH plugin that converts ASI mods to UASI ("Universal ASI") mods, the RAGE Plugin Hook can be loaded in the same way that ScriptHookV loads ASI mods. Everything except raw DirectX access ("callbacks now") has been implemented, so most ASIs should load and work properly.

To use this plugin you must: .NET Framework 4.6

RAGE plug-in hook

How does it work?

The first version is entirely coded in C++/CLI: the native C++ code is used to interact with the native ASI plug-in, and the "CLI" (or "managed") part of the code is used to interact with the .NET Framework and RAGE plug-in hooks. Although this mix between managed and native code created problems and confusion: bugs were difficult to track down, programs were difficult to maintain, and plug-ins didn't work for many 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), all unmanaged code (the minimum for the plugin to work) is in UnvAsiIntrf.dll (which stands for "Universal ASI Interface"). End users should support UnvAsiIntrf.dll since it is pure C++, nor AsiSupport.dll should cause any issues 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 will be registered as an "API handler" with access to GTA V (in this case, RPH has access to GTA V) which will load the Uasi file (the converted ASI file); the ASI script will then complete its way with GTA using ScriptHookV V interact unless they interact through UnvAsiIntrf.dll, which itself acts as a simple bridge between UASI scripts and API handlers.

Report bugs and crashes

Since the plugin is still in beta and may be unstable, you may experience errors and/or crashes. In this case, please report bugs/crashes on Github, the GTA5-mods.com comments section, or the RPH Discord. If you report a crash, please also send a crash report (located in the "CrashReports" directory in the GTA V folder).

Update log:

0.3.2

*The plugin should no longer crash if loading or converting an ASI file fails

*The plugin now detects non-ScriptHookV scripts instead of trying to convert them

0.3.1

*Improve performance

0.3.0

*AsiSupport plugin has been rewritten in C# to remove C++/CLI dependencies

*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 transmitted to the ASI plugin when the RPH console is open
  • Better handling of exceptions: plugins should no longer crash (in most cases) but instead display user-friendly error messages
  • Most ASI plugins can now be unloaded and reloaded without restarting the game (sorry, ELS is not one of them)
  • Some previously hardcoded values ​​can now be read in external, easily editable files

0.2.0

*If the script has already loaded SHV, the SHV script will be terminated

*Dependency issue now fixed

*The plugin now also works on Windows 7, 8 and 8.1

  • OpenIV.asi is no longer handled as it is standalone and will work anyway

*If the original .asi file changes, the converted .rasi file will be updated

0.1.0

+First public release

Please note that I only created it to use old ASI plugins created by inactive authors. If you are a new developer looking to create a GTA V add-on, I highly recommend using RPH directly 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 alexguirre for helping me figure things out

The source code is available on Github under the GPLv3 license.

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") ha …

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. There is no universal mod manager for this game: some mods replace game files directly, some go into a game-specific Mods folder, and some need a game-specific community loader or tool first — follow the bundled readme.
  3. Place the files exactly as the readme says; mods with listed dependencies need those installed too.
  4. Launch the game to confirm it loaded; some games require enabling mods in settings or an in-game mod menu.

Install locations vary a lot between games and mods — the bundled readme is the most reliable guide.

File & checksum

Filename
ASI支持RAGE插件钩子
File size
101.0 KiB