The Hero

Yo guys,for quite some time I've been mad that we're abusing the .asi extension for our mods. ASI files are renamed DLL files used as plugins for the miles sound system (mss32) as used by III and VC and as such they were convenient to use as these two games load them automatically. San Andreas however does not use mss so custom asi loaders were written, which was a questionable choice to begin with. Not only that but then *other* asi loaders were written for III and VC which clashed with the mss loader, because the mss loader loads asi files relatively late (before going into the menu) and not all asis are compatible with being loaded earlier (e.g. Silent's trails for VC). This led to the situation of having to have *two* directories for asis, one for files to be loaded early and one for files to be loaded late. The file extension was of no help because in both cases it had be "asi". As a result many people had problems putting the files into the correct directories, and that was not due to their stupidity but due to ours (speaking for the people who make these sort of mods).

So here I propose a very simple solution: instead of a loader finding files automagically in various directories there is *one* file (dlls.cfg) having one file per line that is to be loaded by the loader. The advantages of this are:- use your own extension (no more f*cking asi!)- put the files whereever you want- control the order in which files are loaded- have a clear view of what's being loaded at all

The Hero

So I can just rename .asi to .dll and load it through cfg? Even mods that were released in .dll?

Yes, but that depends on the mod. If the .dll actually *replaces* the functionality of the original one that will (probably?) not work (d3d8/9.dlls often do this). However if the dll just reroutes the exported functions and mainly does its own thing, then sure you can use this loader to load it.

Inadequate

So I can just rename .asi to .dll and load it through cfg? Even mods that were released in .dll?

Yes, but that depends on the mod. If the .dll actually *replaces* the functionality of the original one that will (probably?) not work (d3d8/9.dlls often do this). However if the dll just reroutes the exported functions and mainly does its own thing, then sure you can use this loader to load it.

About this... for instance, UltraThing is named d3d9.dll and includes another library named as d3dx9_42.dll. Will work with this loader?

The Hero

So I can just rename .asi to .dll and load it through cfg? Even mods that were released in .dll?

Yes, but that depends on the mod. If the .dll actually *replaces* the functionality of the original one that will (probably?) not work (d3d8/9.dlls often do this). However if the dll just reroutes the exported functions and mainly does its own thing, then sure you can use this loader to load it.

About this... for instance, UltraThing is named d3d9.dll and includes another library named as d3dx9_42.dll. Will work with this loader?

Inadequate

Can I ask... Wasn't better to merge that position thing to Ultimate ASI Loader instead of make a whole new loader? I mean, the way that this loader loads the scripts by positions, as your dll.cfg example. Like this if this thing was UAL in the global.ini:

CRRPGMykael

I added dinput8.dll to my directory (x64) under every single name in the readme (ddraw, d3d11, etc etc).

I renamed vorbisfile.dll to vorbisfilehooked.dll, I created a dll.cfg where I listed some .dll file names, but nothing works. I've already got a bunch of different .dll's from other mods (for instance, I have a .dll called VorbisHooked.dll).

Whenever I start the game I get .dll related errors. Usually it's "Could not initialize BASS sound system", other times it's "missing vorbisfile.dll", and finally the typical 0xc00000 type errors.

The Hero

I've explained it on every page of every thread and in every readme that you can rename dll to asi. If people still don't get it, I can't help them.The 64 bit version is included because the dll loader is just a fork of TAG's asi loader and that one has 64 bit support.