diff --git a/Cargo.toml b/Cargo.toml index 493e6e7..cdb4284 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,15 +2,31 @@ name = "mod_installer" version = "8.1.0" edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +authors = [ "dark0dave" ] +documentation = "https://raw.githubusercontent.com/dark0dave/mod_installer/main/README.md" +homepage = "https://github.com/dark0dave/mod_installer" +description = "The 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." +license-file = "LICENSE" +readme = "README.md" +repository = "https://github.com/dark0dave/mod_installer" +categories = [ "command-line-interface", "filesystem" ] +keywords = [ + "cli", + "infinity-engine", + "modding-tools", + "terminal", + "tool" +] [dependencies] -clap = { version = "4.5.9", features = ["derive", "env"] } env_logger = "0.11.1" fs_extra = "1.3.0" -log = "*" +log = "0.4.22" walkdir = "2.3.2" + [dependencies.clap] + version = "4.5.9" + features = [ "derive", "env" ] + [dev-dependencies] pretty_assertions = "1.3.0" diff --git a/README.md b/README.md index 2fa0ee5..8c43e5b 100644 --- a/README.md +++ b/README.md @@ -11,46 +11,19 @@ / /\/\ \ (_) | (_| | | | | | \__ \ || (_| | | | __/ | \/ \/\___/ \__,_| |_|_| |_|___/\__\__,_|_|_|\___|_| -Automatically install mods from a prepopulated weidu.log file. - -## What is this? - The 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. -### Weidu Log +## Installation -The 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: +`mod_installer` can be installed via crates.io: ```sh -// Log of Currently Installed WeiDU Mods -// The top of the file is the 'oldest' mod -// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version] -~TEST_MOD_NAME_1/TEST.TP2~ #0 #0 // test mod one +cargo install mod_installer ``` -If 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. - -## Getting Started with Weidu Logs - -If you're looking for an example `weidu.log` to get started: - -Check online forums and modding communities. Experienced players and modders often share their mod lists and corresponding Weidu logs. -Look for "mod packs" or "recommended mod lists" for your specific game. These often come with pre-configured Weidu logs. -Start with a small number of popular mods and gradually build up your log as you become more comfortable with the modding process. -Some mod managers for Infinity Engine games can generate Weidu logs based on your selected mods. - -Remember, the Weidu log 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. - -## What does it do? - -The 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. - -## How can I see it in action? -We have a short video that shows how the tool works: +or you can grab it from the latest releases page on github, [here](https://github.com/dark0dave/mod_installer/releases/latest). -![](docs/mod_installer.gif) - -## How do I use it? +## Usage To use the Infinity Engine Mod Installer, you need to run it from the command line. Here's the basic structure of the command: @@ -74,6 +47,38 @@ Let's break down what each part means: * --mod-directories : This is where you tell the program where to find the mod files. +## FAQ + +The 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. + +### Weidu Log + +The 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: + +```sh +// Log of Currently Installed WeiDU Mods +// The top of the file is the 'oldest' mod +// ~TP2_File~ #language_number #component_number // [Subcomponent Name -> ] Component Name [ : Version] +~TEST_MOD_NAME_1/TEST.TP2~ #0 #0 // test mod one +``` +If 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. + +### Getting Started with Weidu Logs + +If you're looking for an example `weidu.log` to get started: + +Check online forums and modding communities. Experienced players and modders often share their mod lists and corresponding Weidu logs. +Look for "mod packs" or "recommended mod lists" for your specific game. These often come with pre-configured Weidu logs. +Start with a small number of popular mods and gradually build up your log as you become more comfortable with the modding process. +Some mod managers for Infinity Engine games can generate Weidu logs based on your selected mods. + +Remember, the Weidu log 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. + +### Demo +We have a short video that shows how the tool works: + +![](docs/mod_installer.gif) + ### What options can I use? **Don't panic** you can use the help command to find all the options listed below: @@ -175,7 +180,7 @@ Here's a detailed explanation of all the options you can use: How to use it: Just add this option to your command if you want to check the version. Example: mod_installer --version -## How can I see more information about what the program is doing? +### Logging You can make the program show more information by setting the RUST_LOG environment variable. Here are three levels you can use: