This is a DLL file which adds ASI plugin loading functionality to any game, which uses any of the following libraries:
- d3d8.dll
- d3d9.dll (x86 and x64)
- d3d10.dll (x86 and x64)
- d3d11.dll (x86 and x64)
- d3d12.dll (x86 and x64)
- ddraw.dll
- dinput.dll
- dinput8.dll (x86 and x64)
- dsound.dll (x86 and x64)
- msacm32.dll
- msvfw32.dll
- version.dll (x86 and x64)
- wininet.dll (x86 and x64)
- winmm.dll (x86 and x64)
- xlive.dll
- bink2w64.dll (rename original to bink2w64Hooked.dll)
- vorbisFile.dll (rename original to vorbisHooked.dll, optional)
- binkw32.dll (rename original to binkw32Hooked.dll, optional)
With the last two, it is possible to load the original dll by renaming it to 'vorbisHooked.dll' or 'binkw32Hooked.dll'. Usually it is not required and you can simply replace the dll. Always make a backup before replacing any files.
In order to install it, you just need to place DLL into game directory. Usually it works as dinput8.dll, but if it's not, there is a possibility to rename it(see the list of supported names above).
Put ASI files in game root directory, 'scripts' or 'plugins' folder. If configuration is necessary, global.ini file can be placed to 'scripts' or 'plugins' folder. It can be used alongside the chosen dll and if so, it is also possible to use dll name for ini file, e.g. version.dll/version.ini. See example of global.ini here.
ASI loader have built-in wndmode.dll, which can be loaded, if you create empty wndmode.ini in the folder with asi loader's dll. It will be automatically filled with example configuration at the first run of the game. Settings are not universal and should be changed in every specific case, but usually it works as is.
Some mods, like SkyGfx require d3d8to9. It is also a part of ASI loader, so in order to use it, create global.ini inside scripts folder with the following content:
[GlobalSets]
UseD3D8to9=1
See example of global.ini here.
ASI loader is now capable of generating crash minidumps and crash logs. To use this feature, create a folder named CrashDumps
in the folder with asi loader's dll. You can disable that via DisableCrashDumps=1
ini option.
- Enable Developer Mode (Windows Settings -> Update and Security -> For Developers -> Developer Mode)
- Install an UWP game, for example GTA San Andreas.
- Launch an UWP game through the start menu.
- Open UWPInjector.exe from the UWPDumper download.
- Enter the Process ID that is displayed from the injector and then hit enter.
- Wait until the game is dumped.
- Go to the directory :
C:\Users\[YOUR USERNAME]\AppData\Local\Packages\[YOUR UWP GAME NAME]\TempState\DUMP
- Copy these files into a new folder somewhere else of your choosing.
- Uninstall an UWP game by clicking on start menu and right clicking on its icon and uninstall.
- Go to your directory with your new dumped files (the ones you copied over) and shift + right click in the directory and "Open Powershell window here".
- In that folder, rename AppxBlockMap.xml and AppxSignature.xml to anything else.
- Run the following command:
Add-AppxPackage -Register AppxManifest.xml
- Place Ultimate ASI Loader DLL into game directory. You need to find out which name works for a specific game, in case of GTA SA I've used d3d11.dll, so I put dinput8.dll from x86 archive and renamed it to d3d11.dll.
- Create an ini file with the same name, in this case: d3d11.ini, with the following content:
[GlobalSets]
DontLoadFromDllMain=0
Sometimes it may not be necessary, but UWP GTA SA didn't work with current implementation of DontLoadFromDllMain=1
.
15. Create scripts or plugins folder within the root directory and place your plugins in it.
Rough code example of radio for all vehicles plugin here. Compiled binary here - GTASAUWP.RadioForAllVehicles.zip
16. Click on the start menu and launch the game!
17. See your mods in action.