Git Product home page Git Product logo

modbuddy's Introduction

Mod buddy

After attempting to mod Stalker Anomaly, i had issues finding good tools for the modding scene in Linux. Instead of merging a large amount of files like a caveman, I attempted to create a good enough tool for my use cases.

Features

Showcase of modbuddy

  • Apply any mod, regardless of how the folder structure is.
  • Applied mods are hard linked, saving space
  • Support for an arbitrary amount of games
  • Mod presets
  • Prioritize mod order

Future dreams

  • Conflict detection
  • Revert a modified folder to its unmodded state
  • More user friendlyness
  • Use relative paths on mod settings

Cases

To further understand why this exists in the first place, I have some examples where the use case may be clear:

  • Texture packs with optional patches

This is one use case i find practical. Rather than merging all the patches i want, i can manage them through Mod buddy by importing each patch as a separate mod.

WWHD example

  • STALKER Anomaly

Stalker anomaly has a big variety of addons/mods, and as a lot of the mods overlap with varying grade of compabillity. This workflow is easily manageable as well. Since not all addons have the same file structure ('ROOT/gamedata'), Mod buddy is developed to handle such cases as well.

Explanation

Modbuddy is leveraging the usage of hard links to both avoid duplicated data and avoid any suprises in regards to the filesystem. This is the main functionality residing in modpack.py

Flow example

Usage

  • Requirements can be retrieved with pip install -r requirements.txt
  • Run via main.py

Set up a game folder

  • First you need to set up a destination folder. This is done with the control panel on the upper right ("New Game"). Here you will choose which folder the mods will reside. Empty mod buddy Get mod folder

Presets

  • When setting up a new game, a default profile is created as well (controls at the top middle). Should you need multiple configurations, this is where you can control this.

Add mods

Lastly, you add mods via the "Add mods"-group to the top left.

You can add mods from two different ways:

  • Add mod from archive: Extract target archive to a folder inside Mod buddy, where you then can choose the folder inside
  • Add mod from folder: Choose a folder which contains a mod
    • This is intended for mods that have multiple patches (such as the texture pack mentioned above) or when the user didn't use the above mentioned button.

Disclaimer

Before you want to try this out: I'm not a UX-designer, a QT-developer nor a cat. This is a personal project which i have found a practical use for.

modbuddy's People

Contributors

olavstornes avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.