# Source changes — 2026-04-30

All edits in `source/`. Rebuild required, then move build artifact into `launcher/`.

## Branding

| File | Change |
|---|---|
| `program_info/CMakeLists.txt` | `Launcher_DisplayName` → `"racked.ru launcher"` (was `"Prism Launcher"`) |
| `launcher/Application.cpp:300` | `setApplicationDisplayName()` no longer appends version. Window title becomes `racked.ru launcher` (was `Prism Launcher 11.0.0-develop`) |

`Launcher_CommonName` left as `PrismLauncher` — used for binary name, install paths, env var prefix. Changing it would require renaming `bin/prismlauncher`, `prismlauncher.cfg`, and `PRISMLAUNCHER_DATA_DIR` env handling. Display-only rebrand is cleaner.

## "Cracked" scrub — DONE

All 7 files cleaned. `Diegiwg/PrismLauncher-Cracked` URLs → placeholder `s8n-ru/minecraft-launcher`. Doc prose rephrased to "PrismLauncher upstream fork (Diegiwg)". Per-file copyright headers + LICENSE preserved (GPL-3.0 §5c).

Files touched: `CMakeLists.txt`, `program_info/CMakeLists.txt`, `program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in`, `README_RELEASE.md`, `PROJECT_SUMMARY.md`, `BUILD_GUIDE.md`, `scripts/create-release.sh`.

**Open:** placeholder repo slug `s8n-ru/minecraft-launcher` — replace with real repo URL once chosen.

## News feed → racked.ru

| File | Setting | Old | New |
|---|---|---|---|
| `CMakeLists.txt:174` | `Launcher_NEWS_RSS_URL` | `https://prismlauncher.org/feed/feed.xml` | `https://racked.ru/feed.xml` |
| `CMakeLists.txt:175` | `Launcher_NEWS_OPEN_URL` | `https://prismlauncher.org/news` | `https://racked.ru/news` |

**Open:** racked.ru must serve a valid RSS feed at `/feed.xml` or news pane stays empty + retries. Until ready, optional disable by setting URLs blank.

## Default settings (ported runtime → source defaults)

| File | Setting | Old default | New default |
|---|---|---|---|
| `launcher/Application.cpp` | `MinMemAlloc` | 512 | 384 |
| `launcher/Application.cpp` | `MaxMemAlloc` | `SysInfo::defaultMaxJvmMem()` | 4096 |
| `launcher/Application.cpp` | `MenuBarInsteadOfToolBar` | false | true |

See `SETTINGS_AUDIT.md` for full diff table.

## Bloat strips — DONE

### Source-side

| Target | Action | Saved |
|---|---|---|
| `.github/` | deleted | 136K |
| `tests/` + `if(BUILD_TESTING)` block in `CMakeLists.txt:503-505` | deleted | ~928K |
| `nix/`, `flake.nix`, `flake.lock` | deleted | ~28K |
| `launcher/resources/multimc/` icon theme | deleted (3M) but instance icons preserved (see below) | ~2.5M |

### multimc → racked_ru migration

multimc theme had only `Application.cpp:950` hardcoded reference (default instance icons) plus Qt theme fallback. Plan B chosen — extracted the 71 instance icons into `racked_ru/`, dropped rest of multimc.

| File | Change |
|---|---|
| `launcher/resources/racked_ru/{32x32,50x50,128x128,scalable}/instances/` | new — copied from multimc |
| `launcher/resources/racked_ru/racked_ru.qrc` | added 71 file entries under `prefix="/icons/racked_ru"` |
| `launcher/CMakeLists.txt:1284` | removed `resources/multimc/multimc.qrc` from `qt_add_resources()` |
| `launcher/Application.cpp:950-951` | `:/icons/multimc/...instances/` → `:/icons/racked_ru/...instances/` |
| `launcher/ui/themes/ThemeManager.h:94` | `builtinIcons{"flat_white", "multimc"}` → `{"flat_white", "racked_ru"}` |

**Risk note:** non-instance multimc icons (proxy, language, atlauncher logo, etc.) no longer baked. flat_white covers most UI icons. If a niche icon is missing in active theme, blank slot. Surface during test, easy fix (copy missing icon from upstream multimc archive into flat_white or racked_ru).

### Runtime-side (`launcher/`)

| Deleted | Saved |
|---|---|
| `java/java21.tar.gz` (extracted archive leftover) | 198M |
| `*sync-conflict*` (Syncthing leftovers, 4 files) | ~340K |
| `cache/*` (regens on first launch) | ~5.5M |

`launcher/` size: 1.3G → 1.1G.

## Verification (after rebuild)

1. `cd source && cmake -B build -S . -DCMAKE_BUILD_TYPE=Release && cmake --build build -j$(nproc)`
2. Move new `prismlauncher` binary + resource artifacts into `launcher/bin/` and `launcher/share/` as appropriate
3. Run `launcher/run.sh`
4. Check:
   - Window title = `racked.ru launcher` (no version suffix)
   - Settings → Appearance → Icon Theme dropdown lists `flat_white` + `racked_ru` only
   - Instance List shows valid kitten/Minecraft instance icons (not blank squares)
   - News pane shows racked.ru content (or empty/retrying if feed not yet live)
   - "Fabulously Optimized" instance launches Minecraft cleanly

## Out of scope (per user decision)

- Modplatform strips (ATLauncher / Technic / FTB / Legacy FTB / Import FTB / Packwiz) — kept (nostalgia)
- Other icon themes (flat, breeze_*, pe_*, iOS, OSX) — kept
- `backgrounds/` cat art — kept
- Java bundle — kept (instant-play guarantee)
