diff --git a/contrib/fractured-dev-extras/CLIENT-PATCHES.md b/contrib/fractured-dev-extras/CLIENT-PATCHES.md new file mode 100644 index 0000000..a8d09bb --- /dev/null +++ b/contrib/fractured-dev-extras/CLIENT-PATCHES.md @@ -0,0 +1,85 @@ +# Fractured Client Patches + +Binary client artifacts that pair with this server. They live on the +[Releases page](https://github.com/Dawnforger/Fractured/releases), +**not** in the tree, so the repo stays lean and binaries can be +re-downloaded without bloating `git clone`. + +This file is the table of contents and install guide. + +--- + +## What ships in a release + +| Artifact | Size | Purpose | +|---|---|---| +| `patch-enUS-4.MPQ` | ~5 MB | DBC + GlueXML bake. Adds `CLASS_PARAGON` (id 12), the character-create slot, glue strings, talent-tab DBC entries, and the Paragon resource bar definitions. Required for character creation as Paragon to even show up. | +| `patch-enUS-5.MPQ` | ~40 KB | FrameXML overrides. Replaces stock `PlayerFrame.lua` / `RuneFrame.lua` / `ComboFrame.lua` / `UnitFrame.lua` with Paragon-aware versions: rune simulator, combo-point simulator, server-authoritative resource sync over the `PARAA` addon channel, action-button usability + click guards. | +| `patch-enUS-6.MPQ` | ~160 KB | The `ParagonAdvancement` addon. Replaces the talent pane (`N` key) for Paragon characters with the Character Advancement panel: per-class spell tabs, talent grid, Overview/Search tabs, AE/TE currency, commit / reset / preview, login-time toast suppression. | +| `Wow.exe` | ~7.5 MB | 3.3.5a (build 12340) client byte-patched to skip the MPQ signature check so custom `patch-enUS-N.MPQ` files load. Diff against stock is a few bytes; everything else is unchanged. | + +Server and client work as a pair: the addon talks to `mod-paragon` on the +worldserver via `WHISPER` addon-channel messages with the `PARAA` prefix +(currency push, spell/talent snapshot, commit, combo points, rune +cooldowns, learn-toast silence window). Mismatched versions usually +manifest as the panel rendering blank or AE/TE reading 0/0. + +--- + +## Install + +You need a 3.3.5a (build 12340) WoW client. ChromieCraft's free 3.3.5a +download is the canonical clean source if you don't already have one. + +1. Download every artifact from the latest release matching this server + build: + `https://github.com/Dawnforger/Fractured/releases/latest` +2. Replace `Wow.exe` at the root of your client install with the patched + one from the release. Keep a backup of the original if you want. +3. Drop `patch-enUS-4.MPQ`, `patch-enUS-5.MPQ`, `patch-enUS-6.MPQ` into + `Data/enUS/`. (For other locales, rename the suffix accordingly — + contents are locale-independent, only the filename ordering matters + to the loader.) +4. Edit `Data/enUS/realmlist.wtf` to point at your server, e.g. + `set realmlist your.host.tld`. +5. Launch `Wow.exe`. The login screen should reach the realm list. Make + a Paragon character (the new class entry on the create screen) and + press `N` in-world to open the Character Advancement panel. + +If the panel opens empty / AE+TE read 0/0 / `N` opens the stock talent +pane: your client is loading an older `patch-enUS-6.MPQ`, or the +worldserver image is older than commit `4d2a80d` (the +`character_paragon_panel_spell_revoked` migration). Pull both ends to +the same release tag and rebuild the worldserver image. + +--- + +## Building the patches yourself + +The MPQs are reproducible from the dev tree (not in this repo — +`Classless Dev/Paragon Patch UI/` and +`Classless Dev/Paragon Advancement/` on the maintainer's workstation) +via two PowerShell scripts in `tools/`: + +``` +tools\build_paragon_ui_patch.ps1 -Deploy # -> patch-enUS-5.MPQ +tools\build_paragon_advancement_patch.ps1 -Deploy # -> patch-enUS-6.MPQ +``` + +`patch-enUS-4.MPQ` is the DBC + GlueXML bake; the bake scripts live with +the rest of the dev tooling and are not part of this repo by design +(see the repo-tidy policy in `README.txt` next to this file). + +The patched `Wow.exe` is a one-time hex-edit of the stock 3.3.5a +client. The diff is publicly documented in the WoW emulation community +under names like "MPQ signature patch" / "no-CD-signature patch". + +--- + +## Versioning + +Releases are tagged to match the state of `main` they were built from. +The release notes call out which server commit shipped alongside each +artifact set, so a contributor running `git checkout ` on this +repo can pull the matching client bundle and have a guaranteed-aligned +end-to-end build. diff --git a/contrib/fractured-dev-extras/README.txt b/contrib/fractured-dev-extras/README.txt index 571440b..ab84350 100644 --- a/contrib/fractured-dev-extras/README.txt +++ b/contrib/fractured-dev-extras/README.txt @@ -7,6 +7,9 @@ AzerothCore. Upstream AzerothCore does not ship these paths. Contents: - BUILD-NATIVE.md — fork-specific native build notes (moved from repo root). - CLAUDE.md — optional AI assistant context (moved from repo root). +- CLIENT-PATCHES.md — what ships in a Fractured client release (MPQs + + patched Wow.exe), where to download them (Releases page), and how + to install them. Binaries themselves are NOT in the tree. - *.log — local build logs (moved from repo root when present). Operational files (docker-compose.override.yml, env/dist, modules/mod-paragon,