[[tes:morrowind|go to index]] ===== Manual Installation of Mods ===== The word "Manual" installation may sound scary, but actually to install mods in OpenMW is fairly straightforward once one knows the kinds of mods it may stumble upon. ==== Introduction ==== To install mods requires to edit a configuration file (i.e., ''~/.config/openmw/openmw.cfg''), so you may want to keep different versions ready to use via a version control program or making backup copies. The file ''openmw.cfg'' file is a sequence of assignments like ''key=value'', ''key'' can be repeated. Initially the keys will be in alphabetical order, but I suggest to sort like: fallback=... fallback=... fallback-archive=... fallback-archive=... resources=... data=... data=... content=... content=... groundcover=... groundcover=... If you have other key values, (e.g., ''encoding='') just put them in the top of the file. The mods can be categorized in: * esp-file mods * groundcover mods * esp-less mods * ini-edit mods * shaders * core shaders * post-process shaders ==== esp-file mods ==== Example: [[https://www.nexusmods.com/morrowind/mods/45096/|Patch for Purists]] (PfP for short) This is, by far, the most common kind of mods. They are easy to recognize for they do have .esp / .esm / .owaddon files inside the archive. To install a esp-file mod you need to unpack it somewhere and edit the file ''~/.config/openmw/openmw.cfg'' and add at least two lines. * a ''data='' line containing the full path to where are the .esX files between quotes, * a ''content='' line containing the ''.esp'' filenames. As example, let's unpack the PfP in the directory ''mods/PfP'': $ pwd /home/username/games/tes_morrowind/mods/PfP $ ls -1 BookArt Docs Icons Meshes 'Patch for Purists - Book Typos.ESP' 'Patch for Purists - Semi-Purist Fixes.ESP' 'Patch for Purists.esm' Textures So the .esX files are: ''Patch for Purists - Book Typos.ESP'', ''Patch for Purists - Semi-Purist Fixes.ESP'', and ''Patch for Purists.esm''. We then edit the ''openmw.cfg'' we have to add the following lines: data="/home/username/games/tes_morrowind/mods/PfP" content=Patch for Purists.esm content=Patch for Purists - Book Typos.ESP content=Patch for Purists - Semi-Purist Fixes.ESP In what order? In general what is after in the list overrides what is before so if two mods change the same texture, the second will be shown in-game. The order of the esp files hardly matters, but ''.esm'' files should be before esp files. To have a rule of thumb, if a mod is big it should be on top, if it specific it should be on the bottom. ''.bsa'' files are archives, if the mod has bsa files in addition to the ''data='' line you will need to add a ''fallback-archive='' line to have the game read its contents. === Groundcover mods === Example: [[https://mw.modhistory.com/download-56-14671|Ozzy's Grass]] Groundcover mods have their own ''.esp'' files, but they must be loaded differently because the game needs to distinguish between groundcover objects and normal ones. In other words, groundcover mods work as esp-file mods, but instead of ''content='' rows you have to add ''groundcover='' rows. Let us install Ozzy's grass, first we unpack in the ''mods/Ozzy_Grass'' directory. $ pwd /home/username/games/tes_morrowind/mods/Ozzy_Grass $ ls 'Data Files' 'Original readmes' ReadMe.htm files $ ls -1 Data\ Files "Ozzy's Grass - Ascadian Isles.esp" "Ozzy's Grass - Bitter Coast.esp" "Ozzy's Grass - Grazelands.esp" "Ozzy's Grass - Solstheim.esp" "Ozzy's Grass - West Gash.esp" "Ozzy's Grass.bsa" The esp files are ''Ozzy's Grass - Ascadian Isles.esp'', ''Ozzy's Grass - Bitter Coast.esp'', ''Ozzy's Grass - Grazelands.esp'', ''Ozzy's Grass - Solstheim.esp'', and ''Ozzy's Grass - West Gash.esp''. There is also bsa archive: ''Ozzy's Grass.bsa''. So we need to add the following rows, note how the ''data='' row points where the other files are. fallback-archive=Ozzy's Grass.bsa data="/home/username/games/tes_morrowind/mods/Ozzy_Grass/Data Files" groundcover=Ozzy's Grass - Ascadian Isles.esp groundcover=Ozzy's Grass - Bitter Coast.esp groundcover=Ozzy's Grass - Grazelands.esp groundcover=Ozzy's Grass - Solstheim.esp groundcover=Ozzy's Grass - West Gash.esp == ground cover settings == To work ground cover mods need to be enabled in the ''settings.cfg'' file. Here is an example setting set, the row ''enabled'' is the only necessary. To reduce density of rendering distance may help performance. [Groundcover] enabled = true min chunk size = 0.5 density = 1.0 stomp mode = 2 stomp intensity = 2 rendering distance = 18432 ==== esp-less mods ==== Example: [[https://www.nexusmods.com/morrowind/mods/50296|Swiveller's Ashland and Molag Amur]] Esp-less mods are installed very similarly to esp-file mods, but they have no ''content='' or ''groundcover='' rows. The lack of esp files means the mod normally can only alter existing game assets, like textures, meshes, or sounds. But it cannot add anything. So, the main point to keep in mind is that order is usually more important in esp-less mods, while adding the ''data='' rows you have to be careful: whatever is lower in the order will appear in game. Let us install Swiveller's Ashland and Molag Amur textures, first we unpack in the ''mods/Swiv_barren'' directory. $ pwd /home/username/games/tes_morrowind/mods/Swiv_barren $ ls Swiveller_barren $ ls -1 Swiveller_barren/ readme.txt swiveller_readmes textures As we can see, there is no esX files. We just need to add the ''data='' line. Here I kept the directory name as-is, but you may want to move Swiveller_barren to avoid the double. data="/home/username/games/tes_morrowind/mods/Swiv_barren/Swiveller_barren" If some other mod changes the Ashlands or the Molag Amur textures which one will appear in game depends on the order. Once again the rule of thumb is that the more general a mod is the higher it should go, the more specific the lower. Post-process shaders mods are an exception that what we said. Since those, being specific to OpenMW, even without esp files are able to add new shaders to the game. In the game you can access the shader menu pressing F2. Example: [[https://gitlab.com/glassmancody.info/omwfx-shaders|Glassman's Shaders]]. ==== ini-edit mods === Example: [[https://www.nexusmods.com/morrowind/mods/12816|Different Sky Colors for Morrowind]] The Morrowind game has many interesting settings stored in the ''morrowind.ini'' file. For example, the color of fogs depending on the weather. Few mods alter those values, you can recognize those mods because usually they include a ''.ini'' or textual file with the new settings; seldom the settings are described in the readme file. In any case, somewhere are the settings in the ini format. The ini values in OpenMW appear in the ''openmw.cfg'' file as ''fallback='' values. In the OpenMW the ''fallback='' rows can be repeated, and if it is the case, the one lower in the file will be considered. So, to install ini-edit mods we convert the ini file included in the mod in the format expected by OpenMW and copy the rows in the ''openmw.cfg'' file, ideally with a comment on top to remind there the new rows come from. Let us say the ini settings are in a file called ''input.ini''. To convert the ini values from the morrowind.exe format to the OpenMW format we can use the following command line: $ openmw-iniimporter -v -i input.ini -c ~/.config/openmw/openmw.cfg -o /dev/stdout | grep '^fallback=' > openmw_cfg_fallbacks.txt The output file ''openmw_cfg_fallbacks.txt'' will contain the ini settings in the format expected by OpenMW. We can easily copy and paste from there. Let us see an example. First we unpack Different Sky Colors for Morrowind in the ''mods/skies'' directory. $ pwd /home/username/games/tes_morrowind/mods/skies $ ls different_sky_colors_1.1 $ ls -1 different_sky_colors_1.1 'INI settings - different_sky_colors - ASE compatibility.txt' 'INI settings - different_sky_colors.txt' Tx_sky_ashstorm.dds [...] Tx_sky_stormy.dds Tx_sky_thunder.dds 'different_sky_colors - sample.jpg' 'readme - different_sky_colors._1.1.txt' The files are not sorted as the game needs. The dds files are textures, but are not in the ''textures'' directory. But for now we focus on the ini setting file, since we do not use ASE (Atmospheric Sound Effects), we check the file ''INI settings - different_sky_colors.txt''. $ <'different_sky_colors_1.1/INI settings - different_sky_colors.txt' head [Weather Clear] Sky Sunrise Color=166,118,149 Sky Day Color=135,094,204 Sky Sunset Color=067,057,131 Sky Night Color=009,010,011 Fog Sunrise Color=255,189,157 Fog Day Color=255,223,207 Fog Sunset Color=255,189,157 Fog Night Color=009,010,011 As we can see it contains the new values for the sky and fog colors in the ini format. Let us convert: $ openmw-iniimporter -v -i 'different_sky_colors_1.1/INI settings - different_sky_colors.txt' -c ~/.config/openmw/openmw.cfg -o /dev/stdout | grep '^fallback=' > openmw_cfg_fallbacks.txt $