Skip to content

Nauder/floowandereeze-and-modding-qt

Repository files navigation

Floowandereeze & Modding

A modding tool for Yu-Gi-Oh! Master Duel, built with PySide6 (Qt6) for Windows. A successor to the original Tkinter Floowandereeze & Modding.

🚧 Under Development 🚧

⚠️ This project is currently in active development. Features may change or break at any time. ⚠️

Pylint Black License: GPL v3

Python PySide6 SQLAlchemy UnityPy Windows

Table of Contents

Features

  • Unity asset texture extraction and manipulation, including:
    • Card Art
    • Card Face
    • Card Sleeve
    • Duel Field
    • Home Background
    • Home Wallpaper
    • Player Icon
  • Card name and description editing
  • Customizable compression and mipmap count for created assets

Requirements

  • Windows 10 or later
  • Python 3.8 or later (only for development)
  • Yu-Gi-Oh! Master Duel installed with the in-game download

Installation

For end-user documentation, refer to the documentation.

  1. Clone the repository:

    git clone https://github.com/Nauder/floowandereeze-and-modding-qt.git
    cd floowandereeze-and-modding-qt
  2. Create and activate a virtual environment:

    python -m venv .venv
    .venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. (Optional) Install docs dependencies:

    pip install -r requirements-docs.txt

Usage

Running the development environment

.\dev.ps1

This script will:

  • Activate the virtual environment
  • Compile Qt UI files and resources using build_qt.ps1
  • Launch the application

Note: The build_qt.ps1 script is used to:

  • Compile Qt resource files (.qrc) into Python modules
  • Convert Qt Designer UI files (.ui) into Python code
  • These steps are necessary for the application to run properly

Running the documentation

mkdocs serve

This will serve the documentation in the docs/ directory at https://localhost:8000

Project Structure

floo-qt/
├── pages/            # Main application pages and windows
│   └── models/       # Asset List Models for data pages
├── widgets/          # Custom Qt widgets
├── services/         # Core functionality services
├── util/             # Utility functions and helpers
├── database/         # Database models and operations
├── unity/            # Unity asset handling
├── dialogs/          # Custom dialog windows
├── qtdesigner/       # Qt Designer UI files
│   ├── ui/           # UI files (.ui)
│   └── images/       # Application images and resources
├── main.py           # Application entry point
├── requirements.txt  # Python dependencies
├── build.ps1         # Build script for executable
├── build_qt.ps1      # Qt UI compilation script
└── dev.ps1           # Development environment script

Development

  • The project uses PySide6 for the GUI, with Pyside Designer ui files
  • SQLAlchemy for database operations
  • UnityPy for Unity asset handling
  • Various other utilities for file processing and data manipulation
  • Currently, development is focused on Windows, as that is the main supported desktop OS for Master Duel

Building

To create a standalone executable:

.\build.ps1

This script will:

  1. Compile Qt UI files and resources using build_qt.ps1
  2. Create a single-file executable using PyInstaller
  3. Include necessary dependencies and UnityPy assets
  4. Generate the executable in the dist directory

License

This project is licensed under the terms specified in the LICENSE file.

Credits

About

Tool to replace any sleeve, card art, icon, home art and most fields in the Yu-Gi-Oh! Master Duel game.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages