Difference between revisions of "Mod Loader"

From GTAMods Wiki
Jump to navigation Jump to search
(v0.2.4)
Line 2: Line 2:
 
{{ToolBox
 
{{ToolBox
 
| name    = Mod Loader
 
| name    = Mod Loader
| version = 0.2.3
+
| version = 0.2.4
| date    = 02 February, 2014
+
| date    = 12 February, 2015
 
| author  = {{Ui|Link2012}}
 
| author  = {{Ui|Link2012}}
 
| game    = [[GTA SA]]
 
| game    = [[GTA SA]]
Line 20: Line 20:
 
* Changes made to the directory while the game is running are applied immediately!
 
* Changes made to the directory while the game is running are applied immediately!
 
* Game menu for configurations, providing a even easier management of mods! [[Image:modloader_menu_modspage.png|200px|thumb|right|The in-game menu]]
 
* Game menu for configurations, providing a even easier management of mods! [[Image:modloader_menu_modspage.png|200px|thumb|right|The in-game menu]]
 +
* Profiles allowing the user to have many games in one.
 
* Dynamic loading screen, removing the flickering when there are too few [[gta.dat]] entries (usually on TCs).
 
* Dynamic loading screen, removing the flickering when there are too few [[gta.dat]] entries (usually on TCs).
 
* [http://youtu.be/dfAKYOmcBGM?t=1m13s Bug-free] sound modding.
 
* [http://youtu.be/dfAKYOmcBGM?t=1m13s Bug-free] sound modding.
Line 25: Line 26:
 
== Supported Files ==
 
== Supported Files ==
  
Mod Loader supports all the files the default game provides (except for [[Audio streams|stream tracks]] at this moment) with the addition of some files well known in the modding scene. The supported file types are:
+
Mod Loader supports all the files the default game provides with the addition of some files well known in the modding scene. The supported file types are:
  
 
* [[ASI|ASI plugins]], [[CLEO#Plugins|CLEO plugins]] and D3D9 hooks.
 
* [[ASI|ASI plugins]], [[CLEO#Plugins|CLEO plugins]] and D3D9 hooks.
Line 32: Line 33:
 
* Generic files, , effects, script sprites and [[img archive]]s.
 
* Generic files, , effects, script sprites and [[img archive]]s.
 
* [[SFX (SA)|SFX]] files including wave files directly on disk.
 
* [[SFX (SA)|SFX]] files including wave files directly on disk.
 +
* [[Audio streams|stream tracks]].
 
* [[SCM]] files and [[CLEO#Custom scripts|CLEO scripts]].
 
* [[SCM]] files and [[CLEO#Custom scripts|CLEO scripts]].
 
* [[GXT]] and [[FXT#CLEO|FXT]] game text files.
 
* [[GXT]] and [[FXT#CLEO|FXT]] game text files.
 
* Intro movies.
 
* Intro movies.
  
== Configurability ==
+
== Profiles ==
  
The user is able to configure the loader either through the game menu or from the <code>modloader.ini</code> file which contains more advanced options than in the menu.
+
Profiles are the basic configuration system for Mod Loader. By default <code>modloader.ini</code> contains a ''Default'' profile but the user can create additional profiles either by creating a new ini with the profile content in <code>modloader/.profiles</code> or appending the profile to <code>modloader.ini</code> itself. Notice that profile names are not case-sensitive!.
  
 +
Profiles let you create a group of mods to load, files to ignore, exclusive mods and so on.
 +
 +
To make use a profile switch the current profile set the <code>Profile</code> key in <code>modloader.ini</code>, send a command line <code>-modprof</code> followed by the profile name to use, or have a <code>UseIfModule</code> condition on it.
 +
 +
The following configuration keys can be specified in the <code>[Profile.ProfileName.Config]</code> section.
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
Line 46: Line 53:
 
! Description
 
! Description
 
|-
 
|-
|''IgnoreAllFiles''
+
|''Parents''
 +
|<center>&#x2717;</center>
 +
|Profiles to inherit configurations from (comma delimited) ''(IncludeMods list, Configs, and so on)''.<br>Special values are '''$Current''' for the profile currently set in <code>modloader.ini</code> and '''$None''' for no parent.
 +
|-
 +
|''IgnoreAllMods ''
 
|<center>&#x2713;</center>
 
|<center>&#x2713;</center>
 
|Ignores all mods in the <code>modloader</code> directory, essentially disabling any mod.
 
|Ignores all mods in the <code>modloader</code> directory, essentially disabling any mod.
 
|-
 
|-
|''ExcludeAllMods''
+
|''ExcludeAllMods ''
 
|<center>&#x2717;</center>
 
|<center>&#x2717;</center>
|Ignores all mods in the <code>modloader</code> directory except for the ones in the ''[IncludeMods]'' list.
+
|Ignores all mods in the <code>modloader</code> directory except for the ones in the ''[Profiles.ProfileName.IncludeMods]'' list.
 +
|-
 +
|''UseIfModule''
 +
|<center>&#x2717;</center>
 +
|This profile is forced to be used by Mod Loader if the specified executable/dll module is loaded.
 +
|}
 +
 
 +
The following list sections are available:
 +
{|class="wikitable"
 
|-
 
|-
|''[IgnoreMods]''
+
! Configuration Name
 +
! Menu
 +
! Description
 +
|-
 +
|''[Profiles.ProfileName.IgnoreMods]''
 
|<center>&#x2713;</center>
 
|<center>&#x2713;</center>
|All the mods in this list are ignored by the loader while scanning for mods.
+
|All the mods in this list are ignored by the profile while scanning for mods.
 
|-
 
|-
|''[IncludeMods]''
+
|''[Profiles.ProfileName.IncludeMods]''
 
|<center>&#x2717;</center>
 
|<center>&#x2717;</center>
 
|All the mods in this list are going to be used even when ''ExcludeAllMods'' is set to true.
 
|All the mods in this list are going to be used even when ''ExcludeAllMods'' is set to true.
 
|-
 
|-
|''[IgnoreFiles]''
+
|''[Profiles.ProfileName.ExclusiveMods]''
 +
|<center>&#x2717;</center>
 +
|Any mod in this list will be loaded ONLY by this profile, any other profile will have this mod automatically ignored.<br>If another profile has a similar exclusive mod, both will have the mods as exclusive and use them
 +
|-
 +
|''[Profiles.ProfileName.IgnoreFiles]''
 
|<center>&#x2717;</center>
 
|<center>&#x2717;</center>
|All [http://en.wikipedia.org/wiki/Glob_%28programming%29 files globs] in this list are ignored by the loader while scanning for files.
+
|All [http://en.wikipedia.org/wiki/Wildcard_character wildcards] in this list are ignored by the profile while scanning for files.
 
|-
 
|-
|''[Priority]''
+
|''[Profiles.ProfileName.Priority]''
 
|<center>&#x2713;</center>
 
|<center>&#x2713;</center>
 
|Defines mods priorities, that's if two mods modify the same file which should have precedence over the other.
 
|Defines mods priorities, that's if two mods modify the same file which should have precedence over the other.

Revision as of 02:52, 13 February 2015

Mod Loader
Mods installed in Mod Loader
Current version:0.2.4
Developed by:User.pngLink2012
Supported games:GTA SA
Type:mod installation

Mod Loader is a plugin that adds an user-friendly and easy way to install and uninstall modifications into the game without changing anything in the game installation. The user only needs to put the mods in the modloader directory and that's all.

Features

  • Do not replace any original file, all the mods are installed by injection on the fly!
  • The user can give several versions of the same data file and the loader will take care of merging them together!
  • The user does not need to manually take data lines from readme files, the loader is able to identify them and inject them in!
  • Changes made to the directory while the game is running are applied immediately!
  • Game menu for configurations, providing a even easier management of mods!
    The in-game menu
  • Profiles allowing the user to have many games in one.
  • Dynamic loading screen, removing the flickering when there are too few gta.dat entries (usually on TCs).
  • Bug-free sound modding.

Supported Files

Mod Loader supports all the files the default game provides with the addition of some files well known in the modding scene. The supported file types are:

Profiles

Profiles are the basic configuration system for Mod Loader. By default modloader.ini contains a Default profile but the user can create additional profiles either by creating a new ini with the profile content in modloader/.profiles or appending the profile to modloader.ini itself. Notice that profile names are not case-sensitive!.

Profiles let you create a group of mods to load, files to ignore, exclusive mods and so on.

To make use a profile switch the current profile set the Profile key in modloader.ini, send a command line -modprof followed by the profile name to use, or have a UseIfModule condition on it.

The following configuration keys can be specified in the [Profile.ProfileName.Config] section.

Configuration Name Menu Description
Parents
Profiles to inherit configurations from (comma delimited) (IncludeMods list, Configs, and so on).
Special values are $Current for the profile currently set in modloader.ini and $None for no parent.
IgnoreAllMods
Ignores all mods in the modloader directory, essentially disabling any mod.
ExcludeAllMods
Ignores all mods in the modloader directory except for the ones in the [Profiles.ProfileName.IncludeMods] list.
UseIfModule
This profile is forced to be used by Mod Loader if the specified executable/dll module is loaded.

The following list sections are available:

Configuration Name Menu Description
[Profiles.ProfileName.IgnoreMods]
All the mods in this list are ignored by the profile while scanning for mods.
[Profiles.ProfileName.IncludeMods]
All the mods in this list are going to be used even when ExcludeAllMods is set to true.
[Profiles.ProfileName.ExclusiveMods]
Any mod in this list will be loaded ONLY by this profile, any other profile will have this mod automatically ignored.
If another profile has a similar exclusive mod, both will have the mods as exclusive and use them
[Profiles.ProfileName.IgnoreFiles]
All wildcards in this list are ignored by the profile while scanning for files.
[Profiles.ProfileName.Priority]
Defines mods priorities, that's if two mods modify the same file which should have precedence over the other.

Command Line

Mod Loader has support for command lines arguments to the game executable, possible commands are:

Command Line Description
-mod name Only the specified mod is going to be loaded.
This command line can be sent more than once to specify varios mods to be loaded.
-modprof name The specified profile will be used
-nomods Disables any mod from loading.

Notes:

  • The -nomods, -mod and -modprof command lines are mutually exclusive.
  • When -mod or a -modprof command line are used a anonymous profile is created so any changes to the related profiles aren't saved/loaded.

External links