Difference between revisions of "Modding"
Line 1: | Line 1: | ||
Game mods modify games in some way. A good source for mods is https://www.nexusmods.com. Sometimes they work in the same way as on Windows, but that's not always the case. [[Reshade]] is an example for a modding tool. | Game mods modify games in some way. A good source for mods is https://www.nexusmods.com. Sometimes they work in the same way as on Windows, but that's not always the case. [[Reshade|Res?hade]] is an example for a modding tool. | ||
== Mod Manager == | == Mod Manager == | ||
Line 12: | Line 12: | ||
== Manual Installation == | == Manual Installation == | ||
{{Needs work|Problem=I have no idea what is correct, and what is not correct. But this should give you a vague idea about how to get your mods working}} | |||
=== DLL overrides === | |||
The game can either use ''native'' dlls that come with the game, or use ''builtin'' dlls that come with wine. It (sometimes?/usually?) uses only the ''builtin'' dlls. | |||
On Windows, the game would do it the other way around, and first use ''all'' dlls in the game directory, and only if the dll is not there, look somewhere else. | |||
Now if you put a different dll from a mod inside the game directory, this will not (not always?) work. | |||
That's why you have to tell wine, that it should use the dll from the mod. | |||
==== Example ==== | |||
For example, if you want to tell wine to use the d3dcompiler_47.dll that's in your game folder, and only use the builtin dll if it can't find any dll in the game folder, you would do the following: | |||
Open Lutris, click your game, on the bottom, click the up-arrow right next to the wine bottle icon, click <code>Wine configuration</code>, click <code>Libraries</code>, insert the name of the dll (without the .dll) in the text box under <code>New override for library</code>: | |||
*<code>d3dcompiler_47</code> | |||
*select it in the list, click <code>Edit</code> and select <code>native, then builtin</code> | |||
Alternatively, you could also set <code>WINEDLLOVERRIDES="dsound=n,b"</code> as an environment variable. |
Revision as of 16:32, 20 February 2022
Game mods modify games in some way. A good source for mods is https://www.nexusmods.com. Sometimes they work in the same way as on Windows, but that's not always the case. Res?hade is an example for a modding tool.
Mod Manager
You can try installing mod Managers from Lutris, if there is an install script. There are scripts (for older versions of) Vortex and NMM.
Otherwise, you can try installing them in the same wine prefix. You could do this for example the following way:
- Copy the executable into the wine prefix of your game:
~/Games/<your_game>/drive_c/users/<your_name>/Downloads/
- In Lutris, click your game, then click on the arrow next to the wine bottle on the bottom of the window. Click
Run EXE inside Wine prefix
- Locate the exe, and run it.
- If it works, you can locate the executable of the installed mod manager, and run it in this way. Otherwise, you can also create a new "game" in the same wine prefix and select the executable there. TODO: describe how.
Manual Installation
DLL overrides
The game can either use native dlls that come with the game, or use builtin dlls that come with wine. It (sometimes?/usually?) uses only the builtin dlls.
On Windows, the game would do it the other way around, and first use all dlls in the game directory, and only if the dll is not there, look somewhere else.
Now if you put a different dll from a mod inside the game directory, this will not (not always?) work.
That's why you have to tell wine, that it should use the dll from the mod.
Example
For example, if you want to tell wine to use the d3dcompiler_47.dll that's in your game folder, and only use the builtin dll if it can't find any dll in the game folder, you would do the following:
Open Lutris, click your game, on the bottom, click the up-arrow right next to the wine bottle icon, click Wine configuration
, click Libraries
, insert the name of the dll (without the .dll) in the text box under New override for library
:
d3dcompiler_47
- select it in the list, click
Edit
and selectnative, then builtin
Alternatively, you could also set WINEDLLOVERRIDES="dsound=n,b"
as an environment variable.