A powerful, modern, and user-friendly desktop application for viewing and editing Madden roster files. Built with Python, PyQt6, and pandas, this tool provides a rich user interface for in-depth player modification.
This project was created to provide a modern, stable, and extensible platform for the Madden modding community. It addresses the need for a tool that can handle complex roster data while providing a fluid and intuitive user experience, complete with features like animated transitions and a contextual player header.
The application reads the roster's cryptic data fields, maps them to human-readable names, and presents them in an organized and editable format. All changes are saved back to the roster file in the correct format.
- Full Player Editing: Modify hundreds of player attributes, from physical ratings and contract details to equipment and traits / styles.
- Modern, Animated UI: A polished user interface with smooth, animated tab transitions and a contextual header that always shows the currently selected player.
- Live Highlighting of Edits: Any changed attribute is highlighted in bold/italic, showing you exactly what you've changed before you save.
- Advanced Tools:
- OVR Recalculation: Recalculate a player's Overall Rating based on their attributes and archetype.
- Archetype Regeneration: Automatically determine the best-fit archetype for a player based on their ratings.
- Portrait ID Copier: Quickly copy all player portrait IDs from a source roster to your current roster by matching player names and positions.
- Bulk Injury Removal: Instantly clear all active injuries for every player in the roster.
- Live Search & Filtering: Easily find players by name, position, or team.
- Standalone Executable: Packaged into a single
.exefile for easy distribution and use without needing Python installed.
There are two ways to get started with the Madden Roster Editor: as a user or as a developer (coming soon).
- Go to the Releases page of this GitHub repository.
- Download the latest
.zipfile (e.g.,MRE_v1.0.zip). - Extract the contents.
- Run the
MRE.exeexecutable.
If you want to run the application from the source code or contribute to its development:
-
Prerequisites:
- Python 3.10+
- Node.js version 16.20.2 (for the roster I/O script)
-
Clone the repository:
git clone https://github.com/kn1meR/MaddenRosterEditor.git cd MaddenRosterEditor -
Create and activate a virtual environment:
python -m venv venv .\venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python src/mrepAPI.py
The application is highly configurable via files located in the config/ directory.
config.json: The central configuration file. It contains all the necessary data maps:header_map: Translates cryptic roster codes (e.g.,PFNA) to readable names ("First Name").position_map,team_map,archetype_map, etc.: Map numeric IDs to their string representations.
ui_layout.json: Defines the entire layout of the player editor, including which attributes appear on which tab and in which group.archetype_breakdown.xlsx: The spreadsheet used by the Overall and Archetype calculators to determine weights and formulas.settings.json: This file is created automatically in the same directory as the.exewhen you first save your settings (e.g., the path to your player images folder).
This project uses PyInstaller to package the application into a single .exe file.
- Ensure you have followed the "For Developers" setup steps.
- Make sure PyInstaller is installed (
pip install pyinstaller). - Download the nodejs standalone binary from here and extract it to the project root in a folder named 'node'.
- Run the build command from the project's root directory:
pyinstaller MREP.spec
- The final standalone executable will be located in the
dist/folder.
Distributed under the MIT License. See LICENSE for more information.