Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Tuners
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    2. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    3. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    1. Grand Theft Auto Series

      1. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    6. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

      1. GTANet 20th Anniversary
    2. Support

    3. Suggestions

Simple DLL loader


The Hero
 Share

Recommended Posts

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

 

To implement this I forked TAG's Ultimate ASI Loader, implemented what I described above and called it the Simple DLL Loader. And here you can get it:

https://github.com/aap/simpledllloader/releases

 

 

Just read the readme how to install and use it.

 

As an example, this is my dlls.cfg for III:

 

 

 

dlls\wndmode.dlldlls\III.VC.SA.LimitAdjuster.dlldlls\debugging.dlldlls\sharptrails.dlldlls\skygfx.dll

 

and it works perfectly

Edited by The Hero
Link to comment
Share on other sites

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

Edited by guard3
Link to comment
Share on other sites

What's wrong with ASIs? Also, who uses Silent's VC Trails if sharptrails includes them and even better. And remember, Silent's VC Trails is outdated, back then everybody was using the mss32 loader.

 

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

Yes and you can do the same thing but backwards with Ultimate ASI Loader. DLL to ASI. :p

Edited by gts.
Link to comment
Share on other sites

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.

Edited by The Hero
Link to comment
Share on other sites

 

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?

Link to comment
Share on other sites

Good work.

Link to comment
Share on other sites

 

 

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?

 

Probably, but try it.
Link to comment
Share on other sites

Overcame my laziness and added back vorbisfile.dll support again. Note that you can't just replace vorbisfile.dll as with UAL but have to rename the original to vorbisfilehooked.dll.

  • Like 2
Link to comment
Share on other sites

bad mod

Link to comment
Share on other sites

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:

scripts\wndmode.asiscripts\III.VC.SA.LimitAdjuster.asiscripts\debugging.asiscripts\sharptrails.asiscripts\skygfx.asi

I'm not demanding or something like that, it is only a question.

  • Like 2
Link to comment
Share on other sites

That's pretty much what I did though. Only I didn't merge it but replace the old behaviour.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Am I retarded?

I don't get it, it doesn't work.

AIx1NOq.png

 

Naming as dinput8.dll does nothing.

Naming as vorbisFile and creating a vorbisFileHooked throws me this crash.

Link to comment
Share on other sites

Link to comment
Share on other sites

  • 2 weeks later...

Seriously what the f*ck

 

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.

 

I absolutely have no idea where to go from here. Help.

Link to comment
Share on other sites

Kinda begs the question "why was it even included"?

Anyway I got SkyGFX to work again by just renaming it to .asi ¯\_(ツ)_/¯

I think the DLL drama stems from a lot of people not knowing you can even do that lmao

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.