{"id":16475330,"url":"https://github.com/dark0dave/mod_installer","last_synced_at":"2026-05-03T21:02:54.127Z","repository":{"id":153793516,"uuid":"629684586","full_name":"dark0dave/mod_installer","owner":"dark0dave","description":"Infinity Engine Mod Installer, auto install mods from your backed up weidu log file","archived":false,"fork":false,"pushed_at":"2026-04-28T22:23:05.000Z","size":44932,"stargazers_count":31,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-04-28T22:24:44.362Z","etag":null,"topics":["baldurs-gate","baldurs-gate-ii","baldursgate","bg2ee","bgee","bgeemodding","eet","infinity-engine","modding-tools","qol","rust","weidu"],"latest_commit_sha":null,"homepage":"https://dark0dave.github.io/mod_installer/rust_docs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dark0dave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-18T20:20:26.000Z","updated_at":"2026-04-28T20:30:57.000Z","dependencies_parsed_at":"2025-12-01T08:07:42.300Z","dependency_job_id":null,"html_url":"https://github.com/dark0dave/mod_installer","commit_stats":null,"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"purl":"pkg:github/dark0dave/mod_installer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dark0dave%2Fmod_installer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dark0dave%2Fmod_installer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dark0dave%2Fmod_installer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dark0dave%2Fmod_installer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dark0dave","download_url":"https://codeload.github.com/dark0dave/mod_installer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dark0dave%2Fmod_installer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32584651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baldurs-gate","baldurs-gate-ii","baldursgate","bg2ee","bgee","bgeemodding","eet","infinity-engine","modding-tools","qol","rust","weidu"],"created_at":"2024-10-11T12:37:43.095Z","updated_at":"2026-05-03T21:02:54.100Z","avatar_url":"https://github.com/dark0dave.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"  # Infinity Engine Mod Installer\n[![](./docs/rust.svg)](https://www.rust-lang.org/tools/install)\n[![](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black)](https://github.com/dark0dave/mod_installer/releases/latest)\n[![](https://img.shields.io/badge/Windows-0078D6?\u0026style=for-the-badge\u0026logoColor=white\u0026logo=git-for-windows)](https://github.com/dark0dave/mod_installer/releases/latest)\n[![](https://img.shields.io/badge/mac%20os-grey?style=for-the-badge\u0026logo=apple\u0026logoColor=white)](https://github.com/dark0dave/mod_installer/releases/latest)\n[![](https://img.shields.io/github/actions/workflow/status/dark0dave/mod_installer/main.yaml?style=for-the-badge)](https://github.com/dark0dave/mod_installer/actions/workflows/main.yaml)\n[![](https://img.shields.io/github/license/dark0dave/mod_installer?style=for-the-badge)](./LICENSE)\n\n      /\\/\\   ___   __| | (_)_ __  ___| |_ __ _| | | ___ _ __\n     /    \\ / _ \\ / _` | | | '_ \\/ __| __/ _` | | |/ _ \\ '__|\n    / /\\/\\ \\ (_) | (_| | | | | | \\__ \\ || (_| | | |  __/ |\n    \\/    \\/\\___/ \\__,_| |_|_| |_|___/\\__\\__,_|_|_|\\___|_|\n\nThe Infinity Engine Mod Installer is a tool designed to automate the installation of mods for Infinity Engine games such as Baldur's Gate, Icewind Dale, and Planescape: Torment. It uses a file called \"weidu.log\" to determine which mods to install and how to install them.\n\n## Usage\n\nTo use the Infinity Engine Mod Installer, you need to run it from the command line. Here's the basic structure of the command:\n\n```sh\nUsage: mod_installer(.exe) \u003cCOMMAND\u003e [OPTIONS]\n\nCommands:\n  normal, -n  Normal install for (BG1EE,BG2EE,IWDEE) (STABLE)\n  eet, -e     EET install for (eet) (BETA)\n  scan, -s    Scan for (BG1EE,BG2EE,IWDEE) (ALPHA)\n  help        Print this message or the help of the given subcommand(s)\n```\nLet's break down what each part means:\n\n* mod_installer(.exe): This is the name of the program you're running.\n[OPTIONS]: These are additional settings you can use to customize how the program works (we'll explain these in detail below).\n\n## Born2BSalty Windows guide\n\n[![guide](./docs/guide.webp)](https://github.com/user-attachments/assets/7c775551-848a-40c9-8fab-67a86ee6ca53)\n\n## Normal Install\n\n```sh\nUsage: mod_installer {normal|-n} [OPTIONS] --log-file \u003cLOG_FILE\u003e --game-directory \u003cGAME_DIRECTORY\u003e\n\nOptions:\n  -f, --log-file \u003cLOG_FILE\u003e\n          Path to target log [env: LOG_FILE=]\n  -g, --game-directory \u003cGAME_DIRECTORY\u003e\n          Absolute Path to game directory [env: GAME_DIRECTORY=]\n  -w, --weidu-binary \u003cWEIDU_BINARY\u003e\n          Absolute Path to weidu binary [env: WEIDU_BINARY=] [default: /home/x/projects/bg_mods/tools/weidu/weidu]\n  -m, --mod-directories \u003cMOD_DIRECTORIES\u003e\n          Path to mod directories [env: MOD_DIRECTORIES=] [default: /home/x/projects/bg_mods/tools/mod_installer]\n  ...\n  -h, --help                             Print help\n```\n\n* --log-file \u003cLOG_FILE\u003e: This is where you tell the program where to find the \"weidu.log\" file, which contains the mods you want to install, please note this is not the same as the weidu.log file in the game directory.\n\n* --game-directory \u003cGAME_DIRECTORY\u003e: This is where you tell the program where your game is installed.\n\n* --mod-directories \u003cMOD_DIRECTORIES\u003e: This is where you tell the program where to find the mod files. This defaults to the current workgin directory\n\n### Example Run\n\nWith binary or installed from cargo\n```sh\nmod_installer(.exe) --log-file dark0dave_weidu.log --game-directory ~/.steam/steam/steamapps/common/Baldur\\'s\\ Gate\\ Enhanced\\ Edition/ --mod-directories ~/Downloads/my_mods/\n```\n\nWith cargo:\n```sh\ncargo run -- normal --log-file dark0dave_weidu.log --game-directory ~/.steam/steam/steamapps/common/Baldur\\'s\\ Gate\\ Enhanced\\ Edition/ --mod-directories ~/Downloads/my_mods/\n```\n\n## BETA: EET Install\n\nThis automation exists purely to help install EET, as you end up juggling two directories and weidu mod lists.\n\n\n```sh\nUsage: mod_installer {eet|-e} [OPTIONS] --bg1-game-directory \u003cBG1_GAME_DIRECTORY\u003e --bg1-log-file \u003cBG1_LOG_FILE\u003e --bg2-game-directory \u003cBG2_GAME_DIRECTORY\u003e --bg2-log-file \u003cBG2_LOG_FILE\u003e --mod-directories \u003cMOD_DIRECTORIES\u003e\n\nOptions:\n  -1, --bg1-game-directory \u003cBG1_GAME_DIRECTORY\u003e\n          Absolute Path to bg1ee game directory [env: BG1_GAME_DIRECTORY=]\n  -y, --bg1-log-file \u003cBG1_LOG_FILE\u003e\n          Path to bg1ee weidu.log file [env: BG1_LOG_FILE=]\n  -2, --bg2-game-directory \u003cBG2_GAME_DIRECTORY\u003e\n          Absolute Path to bg2ee game directory [env: BG2_GAME_DIRECTORY=]\n  -z, --bg2-log-file \u003cBG2_LOG_FILE\u003e\n          Path to bg2ee weidu.log file [env: BG2_LOG_FILE=]\n  -w, --weidu-binary \u003cWEIDU_BINARY\u003e\n          Absolute Path to weidu binary [env: WEIDU_BINARY=] [default: /home/x/projects/bg_mods/tools/weidu/weidu]\n  -m, --mod-directories \u003cMOD_DIRECTORIES\u003e\n          Path to mod directories [env: MOD_DIRECTORIES=] [default: /home/x/projects/bg_mods/tools/mod_installer]\n  ...\n  -h, --help Print help\n```\n\n* --bg1-log-file \u003cLOG_FILE\u003e: This is where you tell the program where to find the \"weidu.log\" file, which contains the mods you want to install, as the first part of the EET process. This is often referred to as the pre-EET section.\n\n* --bg2-log-file \u003cLOG_FILE\u003e: Same as bg1-log-file, but for the bg2 part of EET, ie the log which is installed after the bg1 log is installed.\n\n* --bg1-game-directory \u003cGAME_DIRECTORY\u003e: This is where you tell the program where your game is installed.\n\n* --bg2-game-directory \u003cGAME_DIRECTORY\u003e: This is where you tell the program where your EET part (bg2) to be installed.\n\n* --mod-directories \u003cMOD_DIRECTORIES\u003e: This is where you tell the program where to find the mod files. This defaults to the current workgin directory\n\n## BETA: Download feature\n\nThis automation exists purely to help the install process. Currently its very limited. Users can supply the flag `--download` followed by the associated github zip url.\n\n```sh\nUsage: mod_installer -{e|n} ... --download\n```\n\nIf a mod is missing users will be presented with the following prompt:\n\n```sh\n[2025-06-14T14:08:34Z INFO  mod_installer::utils] Missing mod: Component {\n        tp_file: \"SETUP-EEFIXPACK.TP2\",\n        name: \"eefixpack\",\n        lang: \"0\",\n        component: \"0\",\n        component_name: \"Core Fixes\",\n        sub_component: \"\",\n        version: \"Nightly 031225\",\n    }\n[2025-06-14T14:08:34Z INFO  mod_installer::utils] Please provide mod url, or exit\n```\n\nUsers can then input the required github zip url, and the mod_installer will download extract and install the provided mod.\n\n#### Notes\n\n- Only github is supported (more to come I promise!)\n- No version check is performed, ie it downloads what ever is passed and that must be a zip file\n\n## ALPHA: Scan feature\n\nThe mod installer can scan and detect what mods are available to you. It will however need a game directory to detect what mods can actually be installed.\n\n```sh\nUsage: mod_installer {scan|-s} [OPTIONS] --game-directory \u003cGAME_DIRECTORY\u003e\nOptions:\n  -g, --game-directory \u003cGAME_DIRECTORY\u003e\n          Absolute Path to game directory [env: GAME_DIRECTORY=]\n  -f, --filter-by-selected-language \u003cFILTER_BY_SELECTED_LANGUAGE\u003e\n          filter by selected language [default: ]\n  -w, --weidu-binary \u003cWEIDU_BINARY\u003e\n          Absolute Path to weidu binary [env: WEIDU_BINARY=] [default: /usr/bin/weidu]\n  -m, --mod-directories \u003cMOD_DIRECTORIES\u003e\n          Path to mod directories [env: MOD_DIRECTORIES=] [default: /home/x/projects/bg_mods/tools/mod_installer]\n  ...\n  -h, --help Print help\n```\n\nYou can optionally supply a language to scan for, please note this is a fuzzy match. Something something I am doing my best here.\n\n```sh\nmod_installer(.exe) -s -m \".\" -g \".\" -f english\n```\nExample output:\n```sh\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8070 // Improved Unseeing Eye: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8080 // Improved Bodhi: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8085 // Ascension version of Bodhi uses Improved-Bodhi abilities: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8090 // Party's items are taken from them in Spellhold: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8100 // Improved battle with Irenicus in Spellhold: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8110 // Improved Sahuagin: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8120 // Improved Beholder hive: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8130 // Rebalanced troll regeneration: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8140 // Improved Drow: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8150 // Improved Watcher's Keep: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8160 // Improved Fire Giant temple: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8170 // Improved Sendai's Enclave: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8180 // Improved Abazigal's Lair: 35.21\n~STRATAGEMS/SETUP-STRATAGEMS.TP2~ #0 #8190 // Improved Minor Encounters: 35.21\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #0 // Sir Ajantis NPC for BGII: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #1 // Install the unique BG(II):EE BAM for Ajantis' Family Shield: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #3 // Installation of adult romance content: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #5 // Ajantis kit choice: make Ajantis Cavalier: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #41 // Select Ajantis' Friendship Dialogues and Romance Speed: -\u003e Speed: 45 minutes real time minimum between Dialogues: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #42 // Select Ajantis' Friendship Dialogues and Romance Speed: -\u003e Speed: 30 minutes real time minimum between Dialogues: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #43 // Select Ajantis' Friendship Dialogues and Romance Speed: -\u003e Speed: 15 minutes real time minimum between Dialogues: 20\n~AJANTISBG2/AJANTISBG2.TP2~ #1 #44 // Select Ajantis' Friendship Dialogues and Romance Speed: -\u003e Speed: 1 hour 30 minutes (extended) real time minimum between Dialogues: 20\n~C#SOLAUFEIN/C#SOLAUFEIN.TP2~ #1 #0 // Solaufein's Rescue: Jastey's Solaufein NPC for BGII: 5.0\n~C#SOLAUFEIN/C#SOLAUFEIN.TP2~ #1 #1 // Give Solaufein in Ust Natha the Mod's Portrait: 5.0\n~C#SOLAUFEIN/C#SOLAUFEIN.TP2~ #1 #2 // Enable Drider Animations in this Mod: 5.0\n~C#SOLAUFEIN/C#SOLAUFEIN.TP2~ #1 #3 // Install alternative portrait #2 from Chinasky: 5.0\n~C#SOLAUFEIN/C#SOLAUFEIN.TP2~ #1 #4 // Install Detection for Drow PC: 5.0\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #10 // Install new spells -\u003e Overwrite spells from other mods: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #11 // Install new spells -\u003e Only add spells if not present from other mods: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #50 // Remove Cleric Kits -\u003e Remove Only Mod Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #51 // Remove Cleric Kits -\u003e Remove All Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #52 // Remove Druid Kits -\u003e Remove Only Mod Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #53 // Remove Druid Kits -\u003e Remove All Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #54 // Remove Paladin Kits -\u003e Remove Only Mod Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #55 // Remove Paladin Kits -\u003e Remove All Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #56 // Remove Ranger Kits -\u003e Remove Only Mod Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #57 // Remove Ranger Kits -\u003e Remove All Kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #100 // Cleric Remix -\u003e Use conventional format for cleric kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #101 // Cleric Remix -\u003e Use new format for cleric kits: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #103 // Install Silverstar of Selune Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #106 // Install Nightcloak of Shar Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #107 // Install Holy Strategist of the Red Knight Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #109 // Install Battleguard of Tempus Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #112 // Install Painbearer of Ilmater Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #115 // Install Firewalker of Kossuth Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #118 // Install Authlim of Iyachtu Xvim Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #121 // Install Lorekeeper of Oghma Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #124 // Install Heartwarder of Sune Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #127 // Install Feywarden of Corellon Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #130 // Install Strifeleader of Cyric Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #133 // Install Holy Justice of Tyr Cleric Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #200 // Druid Remix: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #203 // Install Oozemaster Druid kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #403 // Install Bowslinger Ranger Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #406 // Install Feralan Ranger Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #409 // Install Forest Runner Ranger Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #412 // Install Justifier Ranger Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #415 // Install Wilderness Runner Ranger Kit: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #600 // Install Battleguard of Tempus Kit for Branwen: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #605 // Change Jaheira to Neutral Good: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #610 // Install Nightcloak of Shar Kit for Viconia: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #1000 // Implement sphere system for regular divine spells: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #1001 // Implement sphere system for High-Level Abilities: v9_Test_Build_2\n~DIVINE_REMIX/SETUP-DIVINE_REMIX.TP2~ #0 #3000 // Alternative Item Usability Scheme for Cleric Kits: v9_Test_Build_2\n~ASCENSION/ASCENSION.TP2~ #0 #0 // Rewritten Final Chapter of Throne of Bhaal: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #10 // Balthazar can be redeemed: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #20 // Improved Sarevok-Player Interactions: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #30 // Improved Imoen-Player Interactions in Throne of Bhaal: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #40 // Restored Bhaalspawn Powers: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #50 // Improved Slayer Transformation: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #60 // Expanded Epilogues for Bioware NPCs -\u003e David Gaider's expanded epilogues for Bioware NPCs: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #61 // Expanded Epilogues for Bioware NPCs -\u003e Alternate epilogues by Shawne: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #1000 // Tougher Abazigal: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #1100 // Tougher Balthazar: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #1200 // Tougher Demogorgon: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #1300 // Tougher Gromnir: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #1400 // Tougher Illasera: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #1500 // Tougher Yaga-Shura: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #2000 // Full-body portrait for Bodhi: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #2100 // Alternate Balthazar portrait, by Cuv: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #2200 // Extended Epilogues for additional Beamdog NPCs, by shawne: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #2300 // Sharper portraits of Abazigal and Gromnir for the Enhanced Edition, by DavidW: 2.1.0\n~ASCENSION/ASCENSION.TP2~ #0 #2400 // Slightly improved cutscenes, by DavidW: 2.1.0\n```\n\n## FAQ\n\nThe Infinity Engine Mod Installer looks at a \"weidu.log\" file that you provide. This file contains information about mods you want to install. The tool then goes through this list and installs each mod automatically. This saves you time and effort, as you don't have to manually install each mod one by one.\n\n### Weidu Log\n\nThe Weidu log file contains a list of installed mods and is typically found in your game directory if you have previously installed mods. Here's an example of what a Weidu log might look like:\n\n```sh\n// Log of Currently Installed WeiDU Mods\n// The top of the file is the 'oldest' mod\n// ~TP2_File~ #language_number #component_number // [Subcomponent Name -\u003e ] Component Name [ : Version]\n~TEST_MOD_NAME_1/TEST.TP2~ #0 #0 // test mod one\n```\nIf you're new to modding Infinity Engine games, we recommend installing mods manually first to familiarize yourself with the process. This will help you understand how mods work and how they interact with your game.\n\n### Getting Started with Weidu Logs\n\nIf you're looking for an example `weidu.log` to get started:\n\nCheck online forums and modding communities. Experienced players and modders often share their mod lists and corresponding Weidu logs.\nLook for \"mod packs\" or \"recommended mod lists\" for your specific game. These often come with pre-configured Weidu logs.\nStart with a small number of popular mods and gradually build up your log as you become more comfortable with the modding process.\nSome mod managers for Infinity Engine games can generate Weidu logs based on your selected mods.\n\nRemember, Weidu is a powerful tool, but it's important to understand what you're installing. Always back up your game files before installing mods, and be aware that some mods may conflict with others.\n\n### Demo\nWe have a short video that shows how the tool works:\n\n![](docs/mod_installer.gif)\n\n### What options can I use?\n\n**Don't panic** you can use the help command to find all the options listed below:\n\n* -h, --help\n\n  What it does: This shows a help message with information about how to use the program.\n  How to use it: Just add this option to your command if you need help.\n  Example: mod_installer --help\n\n#### Normal Install\n\n```sh\nmod_installer(.exe) normal --help\n```\n\nHere's a detailed explanation of all the options you can use, for a normal install:\n\n* -f, --log-file \u003cLOG_FILE\u003e\n\n  \u003e What it does: This tells the program where to find the \"weidu.log\" file.\n\n  \u003e How to use it: Replace \u003cLOG_FILE\u003e with the path to your \"weidu.log\" file.\n\n  \u003e Example: --log-file C:\\Games\\Baldur's Gate\\weidu.log\n\n\n* -g, --game-directory \u003cGAME_DIRECTORY\u003e\n\n\n  \u003e What it does: This tells the program where your game is installed.\n\n  \u003e How to use it: Replace \u003cGAME_DIRECTORY\u003e with the path to your game folder.\n\n  \u003e Example: --game-directory C:\\Games\\Baldur's Gate\n\n\n#### EET Install\n\n```sh\nmod_installer(.exe) eet --help\n```\n* -1, --bg1-game-directory \u003cBG1_GAME_DIRECTORY\u003e\n\n  \u003e What it does: This tells the program where your bg1ee is installed.\n\n  \u003e How to use it: Replace \u003cBG1_GAME_DIRECTORY\u003e with the path to your game folder.\n\n  \u003e Example: --bg1-game-directory C:\\Games\\Baldur's Gate Enhanced Edition\n\n* -y, --bg1-log-file \u003cBG1_LOG_FILE\u003e\n\n\n  \u003e What it does: This tells the program where to find the \"weidu.log\" file. For the BG1/pre-EET Install.\n\n  \u003e How to use it: Replace \u003cBG1_LOG_FILE\u003e with the path to your \"weidu.log\" file.\n\n  \u003e Example: --bg1-log-file C:\\pre-eet-weidu.log\n\n* -2, --bg2-game-directory \u003cBG2_GAME_DIRECTORY\u003e\n\n  \u003e What it does: This tells the program where your bg2ee is installed.\n\n  \u003e How to use it: Replace \u003cBG1_GAME_DIRECTORY\u003e with the path to your game folder.\n\n  \u003e Example: --bg2-game-directory C:\\Games\\Baldur's Gate II Enhanced Edition\n\n* -z, --bg2-log-file \u003cBG2_LOG_FILE\u003e\n\n  \u003e What it does: This tells the program where to find the \"weidu.log\" file. For the BG2EE/EET Install.\n\n  \u003e How to use it: Replace \u003cBG2_LOG_FILE\u003e with the path to your \"weidu.log\" file.\n\n  \u003e Example: --bg2-log-file C:\\eet-weidu.log\n\n#### Common Options\n\nThese flags work for either of the above commands\n\n* -w, --weidu-binary \u003cWEIDU_BINARY\u003e\n\n\n  \u003e What it does: This tells the program where to find the WeiDU program.\n\n  \u003e How to use it: Replace \u003cWEIDU_BINARY\u003e with the path to your WeiDU executable.\n\n  \u003e Example: --weidu-binary C:\\WeiDU\\weidu.exe\n\n\n* -m, --mod-directories \u003cMOD_DIRECTORIES\u003e\n\n\n  \u003e What it does: This tells the program where to find the mod files.\n\n  \u003e How to use it: Replace \u003cMOD_DIRECTORIES\u003e with the path(s) to your mod folder(s).\n\n  \u003e Example: --mod-directories C:\\BG_Mods\n\n\n* -l, --language \u003cLANGUAGE\u003e\n\n\n  \u003e What it does: This sets the language for the game and mods.\n\n  \u003e How to use it: Replace \u003cLANGUAGE\u003e with your preferred language code.\n\n  \u003e Default: en_US (English)\n\n  \u003e Example: --language fr_FR (for French)\n\n\n* -d, --depth \u003cDEPTH\u003e\n\n\n  \u003e What it does: This sets how deep the program should look in folders for mod files.\n\n  \u003e How to use it: Replace \u003cDEPTH\u003e with a number.\n\n  \u003e Default: 5\n\n  \u003e Example: --depth 3\n\n\n* -s, --skip-installed\n\n\n  \u003e What it does: This makes the program check what's already installed and skip those mods.\n\n  \u003e How to use it: Just add this option to your command if you want to use it.\n\n  \u003e Default: This is on by default.\n\n  \u003e Example: --skip-installed=false\n\n\n* -a, --abort-on-warnings\n\n\n  \u003e What it does: This makes the program stop if it encounters any warnings.\n\n  \u003e How to use it: Just add this option to your command if you want to use it.\n\n  \u003e Default: This is on by default.\n\n  \u003e Example: --abort-on-warnings=false\n\n\n* -t, --timeout \u003cTIMEOUT\u003e\n\n\n  \u003e What it does: This sets how long the program will wait for each mod to install before giving up.\n\n  \u003e How to use it: Replace \u003cTIMEOUT\u003e with a number of seconds.\n\n  \u003e Default: 3600 (1 hour)\n\n  \u003e Example: --timeout 7200 (2 hours)\n\n* -i, --tick \u003cTICK\u003e\n\n\n  \u003e What it does: This sets how long the program will wait between polling weidu.\n\n  \u003e How to use it: Replace \u003cTIMEOUT\u003e with a number of milliseconds.\n\n  \u003e Default: 500 (1/2 a second)\n\n  \u003e Example: --tick 1000\n\n* -u, --weidu-log-mode \u003cWEIDU_LOG_MODE\u003e\n\n\n  \u003e What it does: This sets how WeiDU should log its actions.\n\n  \u003e How to use it: Replace \u003cWEIDU_LOG_MODE\u003e with a WeiDU log mode.\n\n  \u003e Default: \"autolog,logapp,log-extern\"\n\n  \u003e Example: --weidu-log-mode \"log \u003cPATH TO FILE\u003e,logapp\"\n\n  \u003e *ALPHA FEATURE*\n\n  \u003e If a directory is passed with `log`, the mod_installer will log out per component.\n\n  \u003e Example: --weidu-log-mode \"log \u003cPATH TO DIR\u003e,logapp\"\n\n  \u003e Result: Path passed will contain a number of log files per installed component\n\n* -o, --overwrite\n\n  \u003e What it does: This tells the mod_installer to overwrite mod directories in the game folder.\n\n  \u003e How to use it: Pass the overwrite flag to the mod_installer\n\n  \u003e Default: false\n\n  \u003e Example: -o\n\n\n* -x, --strict-matching\n\n\n  \u003e What it does: This makes the program more strict about matching mod versions and components.\n\n  \u003e How to use it: Just add this option to your command if you want to use it.\n\n  \u003e Default: This is off by default.\n\n  \u003e Example: --strict-matching\n\n* -c, --check_last_installed\n\n\n  \u003e What it does: This has the mod_installer compare what it just installed vs the last line in the weidu.log file.\n\n  \u003e How to use it: Just add this option to your command if you want to use it.\n\n  \u003e Default: This is off by default.\n\n  \u003e Example: -c --check_last_installed\n\n* -V, --version\n\n\n  \u003e What it does: This shows what version of the program you're using.\n\n  \u003e How to use it: Just add this option to your command if you want to check the version.\n\n  \u003e Example: mod_installer --version\n\n### Configuring the Parser\n\nSee the `example_config.toml` for defaults parser uses. Here we provide a brief breakdown of what each configuration does:\n\nName|Category|Description|Example\n----|----|:----|----\n| in_progress_words | A list of words | Checks if weidu is currently running | [\"installing\", \"creating\", ...]\n| useful_status_words | A list of words | Provides feedback on the weidu process | [\"copied\", \"copying\", ...]\n| choice_words | A list of words | Words which check if weidu wants user input | [\"choice\", \"choose\", ...]\n| choice_phrase | A list of phrases | Phrases which check if weidu wants user input | [\"do you want\", \"would you like\", ...]\n| completed_with_warnings | A list of phrases | Phrases which wiedu uses if it finishes with warning | [\"installed with warnings\", ...]\n| failed_with_error | A list of phrases | Phrases which wiedu uses if it finishes with an error | [\"not installed due to errors\", ...]\n| finished | A list of phrases | Phrases which wiedu uses if it finishes successfully | [\"successfully installed\",\"process ended\", ...]\n\nNote: **All words/phrases are compared in lowercase ascii.**\n\nIf you wish to changes the above; or you are using a different game language (apologies for not translating all of this); have found a exemption; or just want to change the way the parser works you'll need to create your own mod_installer.toml.\n\nWe use the rust crate [`confy`](https://crates.io/crates/confy) to load configuration. Confy uses the rust crate [`directories`](https://crates.io/crates/directories) to find the the expected path for your operating system. The `directories` crate uses:\n\n- the XDG base directory and the XDG user directory specifications on Linux\n- the Known Folder API on Windows\n- the Standard Directories guidelines on macOS\n\nIn order to save you some time reading all the above we will put the expected locations below:\n\n- Windows: `{FOLDERID_RoamingAppData}\\mod_installer\\config`\n- Macos: `$HOME/Library/Application Support/mod_installer/config.toml`\n- Linux: `$XDG_CONFIG_HOME/mod_installer/config.toml` or `$HOME/.config/mod_installer/config.toml`\n\n### Logging\n\nYou can show more install information by setting the `RUST_LOG` environment variable. Here are some of the levels you can use:\n\nFor some additional information:\n\n```sh\nRUST_LOG=INFO mod_installer [OPTIONS]\n```\n\nFor detailed information about each step:\n```sh\nRUST_LOG=DEBUG mod_installer [OPTIONS]\n```\n\nFor absolutely everything, including WeiDU logs:\n```sh\nRUST_LOG=TRACE mod_installer [OPTIONS]\n```\n\nFor more information on logging visit the rust crate [`log`](https://crates.io/crates/log).\n\n### Building\n\nWe offer two ways of building the mod_installer. Nix or cargo directly.\n\n#### Cargo\n\n```sh\ncargo build --release\n```\n\n#### Nix\n\n```sh\nnix build -f default.nix\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdark0dave%2Fmod_installer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdark0dave%2Fmod_installer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdark0dave%2Fmod_installer/lists"}