All Projects → OlavStornes → ModBuddy

OlavStornes / ModBuddy

Licence: GPL-3.0 license
Mod buddy is a mod manager created with extensibility in mind

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ModBuddy

botw-modding
The Legend of Zelda: Breath of the Wild - Modding Documentation and Tools
Stars: ✭ 51 (+70%)
Mutual labels:  modding-games, modding-tools
Unity-Lua
A wrapper around MoonSharp that allows easy development of moddable Unity games
Stars: ✭ 105 (+250%)
Mutual labels:  modding-games, modding-tools
SMLHelper
A complete Subnautica and Subnautica: Below Zero modding library for the popular QModManager framework.
Stars: ✭ 36 (+20%)
Mutual labels:  modding-games, modding-tools
botw-editor
The Legend of Zelda: Breath of the Wild - Editor
Stars: ✭ 27 (-10%)
Mutual labels:  modding-games, modding-tools
qt5-tutorials
graphics dojo Qt5
Stars: ✭ 29 (-3.33%)
Mutual labels:  qt5
libQuotient
A Qt5 library to write cross-platform clients for Matrix
Stars: ✭ 101 (+236.67%)
Mutual labels:  qt5
osmapy
Osmapy - Python Editor for OpenStreetMap
Stars: ✭ 22 (-26.67%)
Mutual labels:  qt5
NativeFX
Native Rendering integration for JavaFX (13 and beyond)
Stars: ✭ 125 (+316.67%)
Mutual labels:  qt5
Morpheus
A Matrix client written in Go-QT
Stars: ✭ 20 (-33.33%)
Mutual labels:  qt5
studio
GAMS Studio
Stars: ✭ 25 (-16.67%)
Mutual labels:  qt5
sugaroid
The not-that intelligent, but cute Artificially Intelligent bot, created when I was bored.
Stars: ✭ 12 (-60%)
Mutual labels:  qt5
PS-HDD-Tools
PS3 and PS4 HDD tools
Stars: ✭ 28 (-6.67%)
Mutual labels:  qt5
wavebin
∿ Oscilloscope waveform capture viewer and converter.
Stars: ✭ 31 (+3.33%)
Mutual labels:  qt5
QSvgStyle
QSvgStyle is a themeable SVG style for Qt5 applications
Stars: ✭ 66 (+120%)
Mutual labels:  qt5
gamestudio
2D game engine and editor
Stars: ✭ 207 (+590%)
Mutual labels:  qt5
unicodemoticon
Trayicon with Unicode Emoticons using Python3 Qt5
Stars: ✭ 21 (-30%)
Mutual labels:  qt5
qtorm
Object-Relational Mapping Module for Qt
Stars: ✭ 16 (-46.67%)
Mutual labels:  qt5
DrawingBoard
NJU_Graphics_Homework / 计算机图形学课程大作业
Stars: ✭ 37 (+23.33%)
Mutual labels:  qt5
FFNx
Next generation modding platform for Final Fantasy VII and Final Fantasy VIII ( with native Steam 2013 release support! )
Stars: ✭ 200 (+566.67%)
Mutual labels:  modding-games
QtDemos
This is a demo about Qt5, including Qt Custom Widget, Qt Multithreaded Downloader, QML Video Player(using OpenGL, FFmpeg and SDL2)
Stars: ✭ 18 (-40%)
Mutual labels:  qt5

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].