# Racked.ru PrismLauncher - Project Summary ## What Was Done Your custom PrismLauncher has been successfully merged with the upstream PrismLauncher fork and configured for minimal, portable builds across all platforms. ## Project Structure ``` prismlauncher-racked/ ├── launcher/ # Source code │ ├── resources/ │ │ ├── racked_ru/ # Your custom theme │ │ │ ├── theme.json # Black/red color scheme │ │ │ ├── themeStyle.css # Qt stylesheet │ │ │ └── racked_ru.qrc # Qt resource file │ │ └── backgrounds/ │ │ └── backgrounds.qrc # Updated with racked_ru background │ ├── Application.cpp # Default theme set to racked.ru │ └── main.cpp # Only loads required resources ├── scripts/ │ ├── build-windows-portable.bat # Windows build script │ ├── build-linux-portable.sh # Linux build script │ ├── build-macos-portable.sh # macOS build script │ ├── build-all-platforms.sh # Master build script │ └── create-release.sh # Release automation ├── BUILD_GUIDE.md # Comprehensive build instructions ├── README_RELEASE.md # Quick start guide └── .gitignore # Updated for this project ``` ## Key Changes Made ### 1. Theme Integration - Created `racked_ru` theme resource directory - Added your custom theme.json with black/red color scheme - Set racked.ru as default application theme - Set flat_white as default icon theme - Added racked_ru background cat image ### 2. Resource Stripping Removed these themes from the build to reduce size: - pe_dark, pe_light, pe_blue, pe_colored - breeze_dark, breeze_light - OSX, iOS - flat (kept only flat_white) ### 3. Build Configuration - Updated CMakeLists.txt to only include racked_ru and flat_white - Updated main.cpp to only load required Qt resources - Updated ThemeManager.h to remove unused icon themes from defaults - Added portable.txt support for USB-friendly operation ### 4. Portable Mode All builds are configured for portable operation: - No installation required - All data stored in launcher directory - Perfect for USB drives - No system registry or appdata usage ### 5. Cross-Platform Build Scripts Created automated build scripts for: - **Windows**: Batch script with MSVC support - **Linux**: Bash script with Qt6 detection - **macOS**: Bash script with .app bundle creation ## How to Build ### Prerequisites **Windows:** - Visual Studio 2022 - Qt 6.5.3+ (MSVC 2019 64-bit) - CMake 3.25+ **Linux:** ```bash # Ubuntu/Debian sudo apt install build-essential cmake qt6-base-dev qt6-tools-dev qt6-networkauth-dev # Fedora sudo dnf install gcc-c++ cmake qt6-qtbase-devel qt6-qtnetworkauth-devel ``` **macOS:** ```bash xcode-select --install brew install cmake qt6 ``` ### Build Commands Quick build (auto-detects platform): ```bash cd prismlauncher-racked bash scripts/build-all-platforms.sh ``` Platform-specific: ```bash # Windows (in Developer Command Prompt) scripts\build-windows-portable.bat # Linux bash scripts/build-linux-portable.sh # macOS bash scripts/build-macos-portable.sh ``` Create release: ```bash bash scripts/create-release.sh 1.0.0 ``` ## Output Structure After building, you'll have: ``` release/ ├── Racked.ru-PrismLauncher-Windows-Portable/ │ ├── prismlauncher.exe │ ├── portable.txt │ ├── Qt6*.dll │ ├── platforms/ │ ├── iconengines/ │ └── imageformats/ ├── Racked.ru-PrismLauncher-Linux-Portable/ │ ├── bin/prismlauncher │ ├── portable.txt │ └── run.sh └── Racked.ru-PrismLauncher-macOS-Portable/ ├── PrismLauncher.app ├── portable.txt └── run.sh ``` ## Distribution Packages After running create-release.sh: ``` release/ ├── racked-prismlauncher-1.0.0-windows-portable.zip ├── racked-prismlauncher-1.0.0-linux-portable.tar.gz └── racked-prismlauncher-1.0.0-macos-portable.tar.gz ``` ## Custom Theme Files ### theme.json ```json { "colors": { "AlternateBase": "#000000", "Base": "#000000", "BrightText": "#ff0000", "Button": "#000000", "ButtonText": "#ffffff", "Highlight": "#4C4C4C", "HighlightedText": "#CCCCCC", "Link": "#CD001F", "Text": "#ffffff", "ToolTipBase": "#ffffff", "ToolTipText": "#ffffff", "Window": "#000000", "WindowText": "#ffffff" }, "name": "racked.ru", "widgets": "Fusion" } ``` ### themeStyle.css ```css QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; } ``` ## Default Settings The launcher is pre-configured with: - Application Theme: racked.ru - Icon Theme: flat_white - Background: racked_ru - Portable Mode: Enabled (via portable.txt) ## File Size Comparison Your minimal build should be significantly smaller than a full PrismLauncher: - **Before (full themes)**: ~150MB (Windows) - **After (minimal)**: ~80-100MB (estimated, depending on Qt version) ## USB Portability Features 1. **No Installation**: Copy and run from any location 2. **Self-Contained**: All data stays in launcher folder 3. **Cross-Machine**: Works on any computer without setup 4. **Preserved Settings**: Your theme and instances travel with you ## Next Steps 1. **Build** the launcher using the provided scripts 2. **Test** on each platform you support 3. **Customize** the theme further if desired (edit theme.json) 4. **Distribute** via https://racked.ru/ 5. **Update** periodically by merging upstream changes ## Updating from Upstream To get new features from upstream: ```bash cd prismlauncher-racked git remote add upstream https://github.com/s8n-ru/minecraft-launcher.git git fetch upstream git merge upstream/main # Resolve any conflicts, keeping your theme changes ``` ## Troubleshooting ### Build fails on Linux with Qt6 errors Install complete Qt6 development packages: ```bash sudo apt install qt6-base-dev qt6-tools-dev qt6-svg-dev qt6-networkauth-dev ``` ### Windows build missing DLLs The build script automatically copies required Qt DLLs. If still missing, ensure Qt bin directory is in PATH. ### Theme not loading Ensure `portable.txt` exists in the root directory, and check `prismlauncher.cfg` for: ``` ApplicationTheme=racked.ru IconTheme=flat_white BackgroundCat=racked_ru ``` ### macOS "App is damaged" Codesign the app: ```bash codesign --deep --force --sign "-" release/Racked.ru-PrismLauncher-macOS-Portable/PrismLauncher.app ``` ## Repository Structure This project is organized as: - **prismlauncher-racked/**: Modified upstream repository with your theme - ** prismlauncher-upstream/**: Clean upstream copy (reference) - **_project_minecraft/**: Your original launcher (backup) ## License Based on PrismLauncher - licensed under GPL-3.0-only. Your modifications maintain the same license. ## Credits - **PrismLauncher Team**: Original launcher - **Diegiwg**: Upstream fork base - **racked.ru**: Custom theme and branding - **Build System**: Custom portable cross-platform scripts --- Project created: 2026-04-13 Based on: PrismLauncher upstream fork (latest commit as of date) Build system: CMake 3.25+, Qt 6.5.3+