From 67388625ecc7ca4a5fb94ecbbabadb7f4013143d Mon Sep 17 00:00:00 2001 From: pkuzic Date: Sat, 26 Sep 2026 15:18:40 +0100 Subject: [PATCH] MONKEY (optional): add local sky and grading patch builder Build Blizzard-derived sky assets only from the user's own CASC install, merge lighting DBCs from mounted winners, and pack a preserved patch-Z candidate. Include bilingual install and recovery guidance plus project-owned grading data. Verified all 46 default stage payloads byte-identical to the reviewed stage; moderated WoW Forever LightIntBand byte-identical; band and mounted-chain checks pass on a hard-linked client copy. No Cargo command run. Co-Authored-By: GPT-5.6 Sol (Codex) --- LIGHTING.md | 2 + Optional/sky-and-grading/README.md | 179 ++++++++ Optional/sky-and-grading/README.ru.md | 167 +++++++ .../data/DBFilesClient/MonkeyZoneGrade.dbc | Bin 0 -> 245 bytes Optional/sky-and-grading/data/LICENSE.md | 13 + .../data/World/LUTs/DuskwoodCold.blp | Bin 0 -> 132244 bytes .../data/World/LUTs/ElwynnWarmGreen.blp | Bin 0 -> 132244 bytes .../data/World/LUTs/Identity.blp | Bin 0 -> 132244 bytes .../data/World/LUTs/RedridgeWarmRed.blp | Bin 0 -> 132244 bytes .../data/World/LUTs/WestfallGolden.blp | Bin 0 -> 132244 bytes .../tools/build_grading_data.py | 113 +++++ .../sky-and-grading/tools/build_sky_patch.py | 257 +++++++++++ Optional/sky-and-grading/tools/casc.py | 413 ++++++++++++++++++ Optional/sky-and-grading/tools/check_bands.py | 36 ++ Optional/sky-and-grading/tools/dbc_build.py | 200 +++++++++ Optional/sky-and-grading/tools/mpq_tools.py | 243 +++++++++++ Optional/sky-and-grading/tools/sky_convert.py | 409 +++++++++++++++++ .../tools/verify_client_chain.py | 111 +++++ Optional/sky-and-grading/tools/wdc.py | 171 ++++++++ Optional/sky-and-grading/tools/wf_colours.py | 218 +++++++++ README.md | 2 + 21 files changed, 2534 insertions(+) create mode 100644 Optional/sky-and-grading/README.md create mode 100644 Optional/sky-and-grading/README.ru.md create mode 100644 Optional/sky-and-grading/data/DBFilesClient/MonkeyZoneGrade.dbc create mode 100644 Optional/sky-and-grading/data/LICENSE.md create mode 100644 Optional/sky-and-grading/data/World/LUTs/DuskwoodCold.blp create mode 100644 Optional/sky-and-grading/data/World/LUTs/ElwynnWarmGreen.blp create mode 100644 Optional/sky-and-grading/data/World/LUTs/Identity.blp create mode 100644 Optional/sky-and-grading/data/World/LUTs/RedridgeWarmRed.blp create mode 100644 Optional/sky-and-grading/data/World/LUTs/WestfallGolden.blp create mode 100644 Optional/sky-and-grading/tools/build_grading_data.py create mode 100644 Optional/sky-and-grading/tools/build_sky_patch.py create mode 100644 Optional/sky-and-grading/tools/casc.py create mode 100644 Optional/sky-and-grading/tools/check_bands.py create mode 100644 Optional/sky-and-grading/tools/dbc_build.py create mode 100644 Optional/sky-and-grading/tools/mpq_tools.py create mode 100644 Optional/sky-and-grading/tools/sky_convert.py create mode 100644 Optional/sky-and-grading/tools/verify_client_chain.py create mode 100644 Optional/sky-and-grading/tools/wdc.py create mode 100644 Optional/sky-and-grading/tools/wf_colours.py diff --git a/LIGHTING.md b/LIGHTING.md index 651e4aa7..c41639d5 100644 --- a/LIGHTING.md +++ b/LIGHTING.md @@ -43,6 +43,8 @@ the reference 1.12 slots, so their fidelity fixes remain active in Classic: auth alpha tracks affect the layer, non-white M2 colours reach the mesh, deterministic captures pose at their pinned time, and the batch-order base reserves the lower celestial band and final fog cone. +Asset-free local builder and bilingual install guide: [`Optional/sky-and-grading/`](Optional/sky-and-grading/README.md). + Players reach all of it from **Options -> Advanced Graphics** (a Graphics Preset over everything, a Render Distance slider, a Lighting Quality preset Off / Low / Medium / High / Ultra plus the individual rows; Classic / Off is the original client look). The dev build has a panel for all of it: **Ctrl+Shift+D → Lighting & shadows**, with Dim / Default / Bright presets. diff --git a/Optional/sky-and-grading/README.md b/Optional/sky-and-grading/README.md new file mode 100644 index 00000000..c92d9b88 --- /dev/null +++ b/Optional/sky-and-grading/README.md @@ -0,0 +1,179 @@ +# Optional skyboxes and colour grading + +This asset-free kit builds an optional MPQ on your machine. It adds zone +skyboxes for Burning Steppes, Blasted Lands, and Mount Hyjal; project-authored +per-zone colour grading for Elwynn Forest, Duskwood, Westfall, and Redridge; +and, with `--wf-colours`, a moderated import of night colours from your own WoW +Forever installation. + +The repository contains only scripts and benilla's own grading LUTs/table. The +Blizzard models, textures, and lighting tables are read from installations you +own and appear only in your local build directory. + +## Requirements + +- Windows and Python 3.8 or newer. +- A World of Warcraft 1.12.1 client and its `Data` directory. +- For skyboxes, a local WoW Forever `_classic_beta_` or current retail install. + Point the command at the shared World of Warcraft root (the directory with + `.build.info` and `Data`), or at `_classic_beta_` itself. +- Git and the external `wowdev/pywowlib` checkout pinned below. It is not + redistributed here. +- 64-bit StormLib 9.40 (`StormLib.dll`) from the official + [StormLib releases](https://github.com/ladislav-zezula/StormLib/releases/tag/v9.40). + Download `stormlib_dll.zip` and use its x64 DLL. StormLib is not redistributed. +- Internet access on the first run for the public wow-listfile and public TACT + key list, unless `--listfile` and `--tact-keys` name local copies. + +## Install, one command per step + +Run these in PowerShell. Change the example paths for your machine. + +1. Clone the exact pywowlib revision used by the converter. + + ```powershell + git clone https://github.com/wowdev/pywowlib.git C:\Tools\pywowlib + ``` + +2. Pin it to the tested commit. + + ```powershell + git -C C:\Tools\pywowlib checkout 55276dc5c2195da7fe136638a2a59716622f8c65 + ``` + +3. Install the Python modules needed by the M2 reader. pywowlib remains an + external checkout; this installs dependencies only. + + ```powershell + py -3 -m pip install bidict==0.23.1 multimethod numpy + ``` + +4. Download StormLib 9.40's `stormlib_dll.zip` from the release linked above, + extract the 64-bit `StormLib.dll`, and place it at + `C:\Tools\StormLib\StormLib.dll`. + +5. Close the game and build the candidate. The tool never writes to either + input installation. + + ```powershell + py -3 .\tools\build_sky_patch.py --wow-forever "C:\Games\World of Warcraft" --client-data "C:\Games\WoW-1.12.1\Data" --pywowlib "C:\Tools\pywowlib" --stormlib "C:\Tools\StormLib\StormLib.dll" --out "C:\Temp\benilla-sky" + ``` + +6. Verify an isolated Data copy before installation. `C:\Temp\WoW-test\Data` + should be a copy or hard-link mirror in which only `patch-Z.mpq` is an + ordinary copy; replace that copy with the newly built archive first. + + ```powershell + py -3 .\tools\verify_client_chain.py "C:\Temp\WoW-test\Data" --stage "C:\Temp\benilla-sky\stage" --stormlib "C:\Tools\StormLib\StormLib.dll" + ``` + +7. Back up the live target archive if one exists. + + ```powershell + Copy-Item "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" "C:\Games\WoW-1.12.1\Data\patch-Z.before-benilla.mpq.bak" + ``` + +8. Copy the verified candidate into the client. + + ```powershell + Copy-Item -Force "C:\Temp\benilla-sky\patch-Z.MPQ" "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" + ``` + +If no `patch-Z.mpq` existed, skip step 7. The build report's `archive_base` +field records whether the builder preserved an existing patch-Z. + +### Variants + +Build only the project-owned grading table and LUTs; this needs no modern WoW +install or pywowlib: + +```powershell +py -3 .\tools\build_sky_patch.py --grading-only --client-data "C:\Games\WoW-1.12.1\Data" --stormlib "C:\Tools\StormLib\StormLib.dll" --out "C:\Temp\benilla-grading" +``` + +Add moderated WoW Forever night colours. LightData is extracted directly from +your installation; no derived LightData is shipped here: + +```powershell +py -3 .\tools\build_sky_patch.py --wow-forever "C:\Games\World of Warcraft" --client-data "C:\Games\WoW-1.12.1\Data" --pywowlib "C:\Tools\pywowlib" --stormlib "C:\Tools\StormLib\StormLib.dll" --wf-colours --out "C:\Temp\benilla-sky-wf" +``` + +## Enable in game + +Open **Options → Advanced Graphics** and enable **Zone Skyboxes** and +**Colour Grading**. The equivalent console commands are: + +```text +/console zoneSkyboxes 1 +/console colorGrading 1 +``` + +Use `0` instead of `1` to disable either effect without removing the MPQ. + +## MPQ load order: read before copying + +All five mutually dependent lighting DBCs must win from the same, highest +letter patch that carries any of them. The default is `patch-Z.mpq`. If the +client already has patch-Z, the builder copies that archive and overlays the +new files so unrelated members survive; install the resulting candidate as a +replacement, not as a second archive. + +Do not blindly rename the output. A later-mounted archive that also contains +`Light.dbc`, `LightParams.dbc`, `LightIntBand.dbc`, `LightFloatBand.dbc`, or +`LightSkybox.dbc` can split the table set and break the sky. Some custom clients +use punctuation after ordinary letters; in that case merge this stage into the +actual last patch or remove the conflicting DBC copies, then run +`verify_client_chain.py --require-winner ANY`. A conventional patch-Z setup +should keep the default strict check. + +The extended four-field `LightSkybox.dbc` is for benilla. Do not use this patch +with an unmodified stock 1.12 executable that expects the two-field table. + +## Uninstall + +Close the game. If the build preserved an existing patch-Z, restore the backup: + +```powershell +Move-Item -Force "C:\Games\WoW-1.12.1\Data\patch-Z.before-benilla.mpq.bak" "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" +``` + +If there was no prior patch-Z and this kit created it, remove only that exact +archive: + +```powershell +Remove-Item -LiteralPath "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" +``` + +Deleting a pre-existing patch-Z would remove unrelated custom content, so use +`build-report.json` and your backup to distinguish these cases. + +## Troubleshooting + +- **pywowlib revision mismatch:** run the checkout command from step 2. The + builder deliberately rejects another revision so M2 layout behaviour cannot + drift silently. +- **StormLib not found:** pass `--stormlib` or set `STORMLIB_PATH` to the x64 + DLL. A 32-bit DLL cannot load into 64-bit Python. +- **No CASC build/config:** point `--wow-forever` at the World of Warcraft root + with `.build.info` and `Data`, or at its `_classic_beta_` child. +- **Missing/encrypted CASC block:** update the public TACT key file or rerun + without a stale `--tact-keys` copy. The tool uses public keys only. +- **Unexpected source schema/clone start:** another addon has already changed + the winning lighting DBCs. Remove that conflict or merge deliberately; the + tool refuses to guess. +- **Sky does not appear:** enable `zoneSkyboxes`, fully restart the client, and + run `verify_client_chain.py` against the actual Data directory. +- **Bands fail:** run `check_bands.py --stormlib `. Correct + clone keys are `(P-1)*18+b+1` and `(P-1)*6+b+1`. +- **Output already exists:** choose a fresh `--out`, or pass `--force` only when + replacing the candidate archive in that output directory is intended. + +## Credits and rights + +WoW Forever and retail skybox art is © Blizzard Entertainment and is extracted +locally by the user from their own installation. No Blizzard art or client DBC +is distributed here. + +The colour-grading technique is based on WarcraftXL's `wxl-retail-grading` work +by iThorgrim, used with attribution. The grading LUTs and `MonkeyZoneGrade.dbc` +in `data/` are original benilla project data, licensed MIT OR Apache-2.0. diff --git a/Optional/sky-and-grading/README.ru.md b/Optional/sky-and-grading/README.ru.md new file mode 100644 index 00000000..6b8a3d3d --- /dev/null +++ b/Optional/sky-and-grading/README.ru.md @@ -0,0 +1,167 @@ +# Дополнительные небеса и цветокоррекция + +Этот комплект без игровых ресурсов собирает MPQ локально. Он добавляет небеса +зон для Burning Steppes, Blasted Lands и Mount Hyjal, собственную +цветокоррекцию benilla для Elwynn Forest, Duskwood, Westfall и Redridge, а с +ключом `--wf-colours` — умеренно смешанные ночные цвета из вашей установки WoW +Forever. + +В репозитории находятся только скрипты и созданные проектом LUT/таблица. Модели, +текстуры и исходные DBC Blizzard читаются из ваших установок и записываются +только во внешний каталог сборки. + +## Требования + +- Windows и Python 3.8 или новее. +- Клиент World of Warcraft 1.12.1 и его каталог `Data`. +- Для небес — локальная установка WoW Forever `_classic_beta_` либо retail. +- Git и внешний `wowdev/pywowlib` точной ревизии ниже. +- 64-битный StormLib 9.40 (`StormLib.dll`) из официальных + [релизов StormLib](https://github.com/ladislav-zezula/StormLib/releases/tag/v9.40). + Скачайте `stormlib_dll.zip` и используйте x64 DLL. +- Интернет при первом запуске для публичного listfile и списка публичных TACT + ключей, либо локальные файлы через `--listfile` и `--tact-keys`. + +## Установка — одна команда на шаг + +Команды выполняются в PowerShell; замените пути на свои. + +1. Клонируйте pywowlib. + + ```powershell + git clone https://github.com/wowdev/pywowlib.git C:\Tools\pywowlib + ``` + +2. Выберите проверенную ревизию. + + ```powershell + git -C C:\Tools\pywowlib checkout 55276dc5c2195da7fe136638a2a59716622f8c65 + ``` + +3. Установите зависимости Python. Сам pywowlib остаётся внешним checkout. + + ```powershell + py -3 -m pip install bidict==0.23.1 multimethod numpy + ``` + +4. Скачайте `stormlib_dll.zip` версии 9.40 по ссылке выше и распакуйте x64 + `StormLib.dll` в `C:\Tools\StormLib\StormLib.dll`. + +5. Закройте игру и соберите кандидат. Скрипт не пишет в исходные установки. + + ```powershell + py -3 .\tools\build_sky_patch.py --wow-forever "C:\Games\World of Warcraft" --client-data "C:\Games\WoW-1.12.1\Data" --pywowlib "C:\Tools\pywowlib" --stormlib "C:\Tools\StormLib\StormLib.dll" --out "C:\Temp\benilla-sky" + ``` + +6. Сначала проверьте изолированную копию `Data`. Все файлы можно сделать + жёсткими ссылками, но `patch-Z.mpq` должен быть обычной копией; замените его + собранным кандидатом и выполните: + + ```powershell + py -3 .\tools\verify_client_chain.py "C:\Temp\WoW-test\Data" --stage "C:\Temp\benilla-sky\stage" --stormlib "C:\Tools\StormLib\StormLib.dll" + ``` + +7. Если живой `patch-Z.mpq` уже есть, создайте резервную копию. + + ```powershell + Copy-Item "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" "C:\Games\WoW-1.12.1\Data\patch-Z.before-benilla.mpq.bak" + ``` + +8. Установите проверенный кандидат. + + ```powershell + Copy-Item -Force "C:\Temp\benilla-sky\patch-Z.MPQ" "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" + ``` + +Если patch-Z раньше не существовал, пропустите шаг 7. Поле `archive_base` в +`build-report.json` показывает, был ли старый архив сохранён внутри кандидата. + +### Варианты + +Только собственная цветокоррекция, без современной установки и pywowlib: + +```powershell +py -3 .\tools\build_sky_patch.py --grading-only --client-data "C:\Games\WoW-1.12.1\Data" --stormlib "C:\Tools\StormLib\StormLib.dll" --out "C:\Temp\benilla-grading" +``` + +Небеса и умеренные ночные цвета WoW Forever, извлечённые из вашей LightData: + +```powershell +py -3 .\tools\build_sky_patch.py --wow-forever "C:\Games\World of Warcraft" --client-data "C:\Games\WoW-1.12.1\Data" --pywowlib "C:\Tools\pywowlib" --stormlib "C:\Tools\StormLib\StormLib.dll" --wf-colours --out "C:\Temp\benilla-sky-wf" +``` + +## Включение в игре + +Включите **Zone Skyboxes** и **Colour Grading** в **Options → Advanced +Graphics**. Те же настройки через консоль: + +```text +/console zoneSkyboxes 1 +/console colorGrading 1 +``` + +Значение `0` отключает эффект без удаления MPQ. + +## Порядок загрузки MPQ + +Все пять связанных DBC освещения должны загружаться из одного самого старшего +буквенного патча, который содержит любой из них. По умолчанию это +`patch-Z.mpq`. Если он уже существует, сборщик копирует его и накладывает новые +файлы, сохраняя постороннее содержимое; результат устанавливается вместо +старого архива. + +Не переименовывайте результат вслепую. Более поздний архив с `Light.dbc`, +`LightParams.dbc`, `LightIntBand.dbc`, `LightFloatBand.dbc` или +`LightSkybox.dbc` разделит согласованный набор. Некоторые кастомные клиенты +используют символы, сортирующиеся после букв. Тогда объедините `stage` с +реально последним патчем либо удалите конфликтующие DBC и проверьте цепочку с +`--require-winner ANY`. Для обычного patch-Z оставьте строгую проверку. + +Расширенный четырёхполевой `LightSkybox.dbc` предназначен для benilla. Не +используйте его с неизменённым оригинальным exe 1.12, ожидающим два поля. + +## Удаление + +Закройте игру. Если patch-Z существовал ранее, восстановите резервную копию: + +```powershell +Move-Item -Force "C:\Games\WoW-1.12.1\Data\patch-Z.before-benilla.mpq.bak" "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" +``` + +Если архив был создан этим комплектом с нуля, удалите только его: + +```powershell +Remove-Item -LiteralPath "C:\Games\WoW-1.12.1\Data\patch-Z.mpq" +``` + +Удаление старого patch-Z уничтожит другое пользовательское содержимое. +Проверяйте `archive_base` и сохраняйте резервную копию. + +## Решение проблем + +- **Неверная ревизия pywowlib:** повторите шаг 2; сборщик намеренно не принимает + другую ревизию. +- **StormLib не найден:** укажите `--stormlib` либо `STORMLIB_PATH`; DLL должна + быть 64-битной для 64-битного Python. +- **CASC build/config не найден:** укажите корень World of Warcraft с + `.build.info` и `Data` либо его дочерний `_classic_beta_`. +- **Зашифрованный/отсутствующий блок:** обновите публичный список TACT ключей. + Приватные ключи не используются. +- **Неожиданная схема или номер клона:** другой аддон уже изменил выигрывающие + DBC. Уберите конфликт или выполните осознанное объединение. +- **Небо не видно:** включите `zoneSkyboxes`, полностью перезапустите клиент и + запустите `verify_client_chain.py` на его настоящем `Data`. +- **Ошибка band rows:** запустите `check_bands.py --stormlib `. + Правильные ключи: `(P-1)*18+b+1` и `(P-1)*6+b+1`. +- **Выходной архив уже существует:** выберите новый `--out` либо используйте + `--force` только для намеренной замены кандидата. + +## Авторы и права + +Графика небес WoW Forever/retail принадлежит © Blizzard Entertainment и +извлекается пользователем локально из собственной установки. Репозиторий не +распространяет графику Blizzard или DBC клиента. + +Метод цветокоррекции основан на `wxl-retail-grading` проекта WarcraftXL автора +iThorgrim и используется с указанием авторства. LUT и `MonkeyZoneGrade.dbc` в +`data/` созданы проектом benilla и лицензированы MIT OR Apache-2.0. diff --git a/Optional/sky-and-grading/data/DBFilesClient/MonkeyZoneGrade.dbc b/Optional/sky-and-grading/data/DBFilesClient/MonkeyZoneGrade.dbc new file mode 100644 index 0000000000000000000000000000000000000000..ff0badbc3c4b9e0dd264b8ae3fee7ee7b4892e3d GIT binary patch literal 245 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
Sq*js?Y-=Yc7*9+a?V`0I85PB;ZNmH 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
vEJV2FO8dGL(tyizsG-% zznuR*|9$=k{11}%gb(>2rbLDnsqtYYe`Q)uSjAtJUKv*NS7&JN@z?Oz@|W@7<1deT z#E#I(j_|Axf(NqaA8TUeXC)9nfCQndH@ z>-p>X8~7Xf8`G=8CjO?3_OO}1IrCE3!e1Hr7aM~19)C4|4Sx-PZR`N2y%(pw7dPI9 zFePk=pJ_*!Ye!gUN6_BmZ{ly}Z{cs@Z{=_0Z%a*Z+Iwla;iGizJ^uC#?LGb{nc92& z9a-1IhA8bl{>EtSJ^tnx?Y$Up@AJ3B4zVF<@A0?sxA8yXf6V`wzn#B5X+!uVS$i*e zSJ;uVC+ti)6n3UYhF$z!Y1(`IPx+tmKj(kW-<^5JT?$`h-LND4#g6cR9YK39`YAht z_8xx+e+Pdje`mb*9)DMY_FjUw_Y<}E61}~jq`k-A&EL)cg8v174}ULzFMl6@UwTRS zlK*8!W7y9>z(0_6DIDZ~%Kt1{dyoHljP@RXcWm$QMeGZ9gdui>(RPIKc7&;R1noWk zKK_^d{rvs>1N;O0gDHER_Fk&D_tUiZ($d3`bnQL<(G2Z9{;|yV5W$b&NAmaazvO=z z{iqE=doSiW8-n&8{~-Sm{}BH$|1kdu{|NtR(t9?9RpD6j20Ow>AtGg0h~!76YVYx* z_|g0rehfdBAIp!+>~Pw9S(ifs|47tdZ3quIZ}0Pu@gw*VaoT(Q$aw9&cyI3~XzwM= zvLR^iB`&fdXz%gk`0@OBegZ#%pU6*4OAJZ;~nU6K6V7{y||%v1noV351Dj%`fB^@{3{~vm_FnR88-n&;%EzHPReLXWU#Lkt9BTQs{5pOezn)*uZ{Rm% z9S@ECrtB;3W~hk%KRd#Mc7(_52-kRi#7!9y@WA#1ns@VX?BF!b_DIcq<8HI z+I##)ej~q$-^6d`H}hNgt^C%E{Lq%Ey_Z=N+OxFx_#N42!*TxcoSUI8MthIn5Uah% zZ;aF4i|cDc(B6w5W z@W17Mo9*p={&zWFh41;-WA3pbXz#^7ZbQ)C9=9WC@5O8H@xSALpWy9%{tt;0Z3xI0R%Q5B{J0Kl%UU|C9eO{=ai?+Ys&vKga&vj_|l0p|c&K zyB(pQ9bupyVYm%pZ1^o{q7C7-@O$zbc7%C$gvEA*59|nQ>4ecGPL(Hwf8dP!sA)m zds*4xiR?nBy_ZuTp3K$W%k}nt-UWBfj-b64f1e#edoSThJA(FJqV^vD5&on6$M}yW zPqrbE7PY z(B8}VB6Q<-%Zv!!`Q7vh@j-b7lpuNZM&F{_c!|#*yk_|z7FL|5|L3=OdbsNH* z(4XI*KOlXD)85O_-s8WR`9&C*c`yvjiU@^RVE$nKOZ*}HA^f5Iq5NU|=lT8l z{rLkDI@uAl_Y!;A5VZG_U$P-+@1OM8$1O1Ac1wzv0lwD)p~!}wh7J^riw zSNRk86Zs?gqxhrvqxqxxWB6l|2G|f@3NI&*vLlSMBTTU)Xz!(I@A1c{Ywz)2%~)?o z*cK*a?hF$%_k@Z3Nm-F$5`Qv(3V#ZJDt{_}8h;x9wfswAdck!&g17hi;}g8S&wn-P zSsQ}(Ub6Nce`1RE9)EJG_8xxwS^QZU+I#%jnc92&H?y?&vJQng+1h*A31KdOZcc7^i~lzNZT>v|JpO$CeEv-S zO#UqXti-2m2+xK$l6u<_2G|gWIPJYu?LGe7w3*>8{#)q_?Fia?{COE0>
ncm*# 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 KKYr?e{r>}2Zuh|e literal 0 HcmV?d00001 diff --git a/Optional/sky-and-grading/data/World/LUTs/ElwynnWarmGreen.blp b/Optional/sky-and-grading/data/World/LUTs/ElwynnWarmGreen.blp new file mode 100644 index 0000000000000000000000000000000000000000..7497b93e55774d74126c904df9de014172a56083 GIT binary patch literal 132244 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 E0Ll^6eE&xWTaSDFf3m4V!JQxh6{= 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

Hoj=|KIxmZ~gzb{{LJ5|E>T3*8hL&|G)MB-}?V= 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

wg&fobvf9LP~oxk&U{?6a| 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 str: + digest = hashlib.sha256() + with path.open("rb") as stream: + while True: + chunk = stream.read(1024 * 1024) + if not chunk: + break + digest.update(chunk) + return digest.hexdigest() + + +def fetch(url: str, target: Path) -> Path: + if target.is_file() and target.stat().st_size: + return target + target.parent.mkdir(parents=True, exist_ok=True) + partial = target.with_suffix(target.suffix + ".part") + with urllib.request.urlopen(url, timeout=120) as response, partial.open("wb") as output: + shutil.copyfileobj(response, output, 1024 * 1024) + partial.replace(target) + return target + + +def casc_root(install: Path) -> Path: + install = Path(install).resolve() + if (install / "Data" / "config").is_dir(): + return install + if (install.parent / "Data" / "config").is_dir(): + return install.parent + raise FileNotFoundError("no shared CASC Data/config below %s or its parent" % install) + + +def select_build_key(install: Path, preferred: str | None = None) -> tuple[str, str]: + info = install / ".build.info" + if not info.is_file(): + raise FileNotFoundError(info) + with info.open("r", encoding="utf-8-sig", newline="") as stream: + reader = csv.reader(stream, delimiter="|") + raw_headers = next(reader) + headers = [header.split("!", 1)[0] for header in raw_headers] + rows = [dict(zip(headers, row)) for row in reader] + active = [row for row in rows if row.get("Active") == "1"] or rows + products = [preferred] if preferred else [] + products.extend(name for name in ("wow_classic_beta", "wow") if name != preferred) + for wanted in products: + for row in active: + if row.get("Product") == wanted: + key = row.get("Build Key", "").lower() + if len(key) == 32: + return key, wanted + raise RuntimeError("no active WoW Forever/classic-beta or retail build in .build.info") + + +def reset_owned_directory(path: Path, parent: Path, force: bool) -> None: + path = path.resolve() + parent = parent.resolve() + if path.parent != parent: + raise RuntimeError("refusing to reset unexpected path %s" % path) + if path.exists(): + if not force: + raise FileExistsError("build directory exists; pass --force: %s" % path) + shutil.rmtree(path) + path.mkdir(parents=True) + + +def is_within(path: Path, parent: Path) -> bool: + try: + path.relative_to(parent) + return True + except ValueError: + return False + + +def copy_own_grading(stage: Path) -> None: + for source in sorted(DATA.rglob("*")): + if not source.is_file() or source.name == "LICENSE.md": + continue + relative = source.relative_to(DATA) + target = stage / relative + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(source, target) + + +def archive_base(client_data: Path, letter: str) -> Path | None: + wanted = ("patch-%s.mpq" % letter).casefold() + matches = [ + path for path in client_data.iterdir() + if path.is_file() and path.name.casefold() == wanted + ] + if len(matches) > 1: + raise RuntimeError("multiple case-insensitive matches for %s" % wanted) + return matches[0] if matches else None + + +def stage_pairs(stage: Path) -> list[tuple[Path, str]]: + return [ + (path, str(path.relative_to(stage)).replace("/", "\\")) + for path in sorted(stage.rglob("*")) + if path.is_file() + ] + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--wow-forever", type=Path, help="WoW Forever or retail install root") + parser.add_argument("--client-data", type=Path, required=True, help="1.12.1 Data directory") + parser.add_argument("--out", type=Path, required=True, help="output directory") + parser.add_argument("--grading-only", action="store_true", help="pack only project-owned grading data") + parser.add_argument("--wf-colours", action="store_true", help="moderate locally extracted WoW Forever night colours") + parser.add_argument("--pywowlib", type=Path, help="pinned external pywowlib checkout") + parser.add_argument("--stormlib", type=Path, help="path to StormLib.dll") + parser.add_argument("--listfile", type=Path, help="existing community-listfile.csv") + parser.add_argument("--tact-keys", type=Path, help="existing public WoW TACT key list") + parser.add_argument("--patch-letter", default="Z", help="single patch character (default: Z)") + parser.add_argument("--force", action="store_true", help="replace an existing output archive") + args = parser.parse_args() + if len(args.patch_letter) != 1 or not args.patch_letter.isalpha(): + parser.error("--patch-letter must be one ASCII letter") + if not args.client_data.is_dir(): + parser.error("--client-data is not a directory") + if args.wf_colours and args.grading_only: + parser.error("--wf-colours cannot be combined with --grading-only") + if not args.grading_only and (not args.wow_forever or not args.pywowlib): + parser.error("sky builds require --wow-forever and --pywowlib") + return args + + +def main() -> int: + if sys.version_info < (3, 8): + raise RuntimeError("Python 3.8 or newer is required") + args = parse_args() + output = args.out.resolve() + client_data = args.client_data.resolve() + if is_within(output, client_data): + raise ValueError("--out must not be inside the 1.12.1 Data directory") + if args.wow_forever: + modern_input = casc_root(args.wow_forever) + if is_within(output, modern_input): + raise ValueError("--out must not be inside the modern WoW installation") + output.mkdir(parents=True, exist_ok=True) + archive = output / ("patch-%s.MPQ" % args.patch_letter.upper()) + if archive.exists() and not args.force: + raise FileExistsError("output archive exists; pass --force: %s" % archive) + stage, work = output / "stage", output / "work" + reset_owned_directory(stage, output, args.force) + reset_owned_directory(work, output, args.force) + copy_own_grading(stage) + + storm = Storm(find_stormlib(args.stormlib)) + report: dict[str, object] = {"grading_only": args.grading_only} + if not args.grading_only: + cache = output / "cache" + listfile_path = args.listfile or fetch(LISTFILE_URL, cache / "community-listfile.csv") + tact_keys = args.tact_keys or fetch(TACT_KEYS_URL, cache / "WoW.txt") + install = modern_input + requested_name = args.wow_forever.resolve().name.casefold() + preferred = { + "_classic_beta_": "wow_classic_beta", + "_retail_": "wow", + }.get(requested_name) + build_key, product = select_build_key(install, preferred) + reader = CascReader(str(install), build_key, str(listfile_path), str(tact_keys)) + reader.load_encoding() + reader.load_root() + modules = load_pywowlib(args.pywowlib) + source_root = work / "source" + extract_sources(reader, read_listfile(listfile_path), source_root, modules) + conversions = convert_all(source_root, stage, listfile_path, modules) + + winners, winner_names = winning_payloads(storm, args.client_data, REQUIRED) + wf_changed = 0 + if args.wf_colours: + light_data = WDC5(reader.open_fdid(1375580)) + winners["LightIntBand.dbc"], wf_changed = apply_wf_colours( + winners["LightIntBand.dbc"], light_data + ) + merged, dbc_report = build_merged(winners) + dbc_dir = stage / "DBFilesClient" + dbc_dir.mkdir(parents=True, exist_ok=True) + for name, payload in merged.items(): + (dbc_dir / name).write_bytes(payload) + check_bands(merged["LightIntBand.dbc"], merged["LightFloatBand.dbc"]) + report.update( + { + "modern_product": product, + "build_key": build_key, + "dbc_winners": winner_names, + "dbc_merge": dbc_report, + "wf_colour_rows_changed": wf_changed, + "conversions": conversions, + } + ) + + if archive.exists(): + archive.unlink() + base = archive_base(args.client_data, args.patch_letter) + storm.pack(archive, stage_pairs(stage), base_archive=base) + + files = { + str(path.relative_to(stage)).replace("/", "\\"): { + "bytes": path.stat().st_size, + "sha256": sha256(path), + } + for path in sorted(stage.rglob("*")) + if path.is_file() + } + report.update( + { + "archive": str(archive), + "archive_base": str(base) if base else None, + "archive_bytes": archive.stat().st_size, + "archive_sha256": sha256(archive), + "stage_files": files, + } + ) + (output / "build-report.json").write_text( + json.dumps(report, indent=2) + "\n", encoding="utf-8" + ) + print( + "built %s with %d staged files%s" + % (archive, len(files), " (WoW Forever colours)" if args.wf_colours else "") + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/Optional/sky-and-grading/tools/casc.py b/Optional/sky-and-grading/tools/casc.py new file mode 100644 index 00000000..c2f2dd47 --- /dev/null +++ b/Optional/sky-and-grading/tools/casc.py @@ -0,0 +1,413 @@ +"""Small, read-only local CASC/TACT reader for the installed WoW builds. + +The implementation deliberately indexes only the latest local v7 .idx file per +bucket and opens payloads on demand. It never writes to the CASC installation. +""" +from __future__ import annotations + +import hashlib +import pathlib +import struct +import zlib +from typing import Dict, Iterable, List, Optional, Tuple + + +class CascError(Exception): + pass + + +class EncryptedBlock(CascError): + def __init__(self, key_name: bytes): + super().__init__("encrypted BLTE block; missing TACT key %s" % key_name.hex()) + self.key_name = key_name + + +def _u24be(data: bytes) -> int: + return int.from_bytes(data, "big") + + +def _rotl32(x: int, n: int) -> int: + return ((x << n) | (x >> (32 - n))) & 0xFFFFFFFF + + +def _salsa20_block(key: bytes, nonce8: bytes, counter: int) -> bytes: + # Salsa20/20 with the 64-bit nonce/64-bit block-counter construction. + if len(key) == 16: + constants = b"expand 16-byte k" + key = key + key + elif len(key) == 32: + constants = b"expand 32-byte k" + else: + raise CascError("Salsa20 key must contain 16 or 32 bytes") + c = struct.unpack("<4I", constants) + k = struct.unpack("<8I", key) + n0, n1 = struct.unpack("<2I", nonce8) + state = [c[0], k[0], k[1], k[2], k[3], c[1], n0, n1, + counter & 0xFFFFFFFF, (counter >> 32) & 0xFFFFFFFF, + c[2], k[4], k[5], k[6], k[7], c[3]] + x = state[:] + for _ in range(10): + # Column round then row round (Salsa20 double-round). + for a, b, c_, d in ((0, 4, 8, 12), (5, 9, 13, 1), + (10, 14, 2, 6), (15, 3, 7, 11), + (0, 1, 2, 3), (5, 6, 7, 4), + (10, 11, 8, 9), (15, 12, 13, 14)): + x[b] ^= _rotl32((x[a] + x[d]) & 0xFFFFFFFF, 7) + x[c_] ^= _rotl32((x[b] + x[a]) & 0xFFFFFFFF, 9) + x[d] ^= _rotl32((x[c_] + x[b]) & 0xFFFFFFFF, 13) + x[a] ^= _rotl32((x[d] + x[c_]) & 0xFFFFFFFF, 18) + return struct.pack("<16I", *((x[i] + state[i]) & 0xFFFFFFFF for i in range(16))) + + +def salsa20_xor(data: bytes, key: bytes, nonce8: bytes) -> bytes: + out = bytearray(len(data)) + for pos in range(0, len(data), 64): + stream = _salsa20_block(key, nonce8, pos // 64) + part = data[pos:pos + 64] + for j, value in enumerate(part): + out[pos + j] = value ^ stream[j] + return bytes(out) + + +def load_tact_keys(path: pathlib.Path) -> Dict[bytes, bytes]: + keys: Dict[bytes, bytes] = {} + if not path.exists(): + return keys + for raw in path.read_text(encoding="utf-8", errors="replace").splitlines(): + line = raw.strip() + if not line or line.startswith("#"): + continue + bits = line.replace(";", " ").split() + if len(bits) < 2: + continue + try: + name, key = bytes.fromhex(bits[0]), bytes.fromhex(bits[1]) + except ValueError: + continue + if len(name) == 8 and len(key) in (16, 32): + keys[name] = key + return keys + + +class CascReader: + """Read a product from one local modern Battle.net CASC installation.""" + + def __init__(self, install: str, build_key: str, + listfile: Optional[str] = None, + tact_keys: Optional[str] = None): + self.install = pathlib.Path(install) + self.data_dir = self.install / "Data" / "data" + self.config_dir = self.install / "Data" / "config" + self.build_key = build_key.lower() + self.config = self._read_config(self.build_key) + self.keys = load_tact_keys(pathlib.Path(tact_keys)) if tact_keys else {} + self.by_ekey9: Dict[bytes, Tuple[int, int, int]] = {} + self._load_local_indices() + self.names_by_fdid: Dict[int, str] = {} + self.fdids_by_name: Dict[str, int] = {} + if listfile: + self._load_listfile(pathlib.Path(listfile)) + self.encoding_map: Dict[bytes, List[bytes]] = {} + self.root_map: Dict[int, List[bytes]] = {} + self.encoding_header = {} + self.root_header = {} + + def _config_path(self, key: str) -> pathlib.Path: + return self.config_dir / key[:2] / key[2:4] / key + + def _read_config(self, key: str) -> Dict[str, List[str]]: + result: Dict[str, List[str]] = {} + for raw in self._config_path(key).read_text(encoding="ascii").splitlines(): + line = raw.strip() + if not line or line.startswith("#") or "=" not in line: + continue + name, value = line.split("=", 1) + result[name.strip()] = value.strip().split() + return result + + def _latest_indices(self) -> Iterable[pathlib.Path]: + groups: Dict[str, pathlib.Path] = {} + for path in self.data_dir.glob("*.idx"): + bucket = path.name[:2].lower() + old = groups.get(bucket) + # Generation is encoded in the remaining filename hex. The newest + # index in each bucket is sufficient because local indices are full. + if old is None or int(path.stem[2:], 16) > int(old.stem[2:], 16): + groups[bucket] = path + if len(groups) != 16: + raise CascError("expected 16 local index buckets, found %d" % len(groups)) + return (groups["%02x" % i] for i in range(16)) + + def _load_local_indices(self) -> None: + for expected_bucket, path in enumerate(self._latest_indices()): + data = path.read_bytes() + if len(data) < 40: + raise CascError("short local index " + str(path)) + header_len, = struct.unpack_from(" len(data): + raise CascError("truncated index entries in " + str(path)) + while pos < end: + key9 = data[pos:pos + key_bytes] + packed = int.from_bytes(data[pos + key_bytes:pos + key_bytes + offset_bytes], "big") + stored_size = int.from_bytes( + data[pos + key_bytes + offset_bytes:pos + entry_size], "little") + archive = packed >> 30 + offset = packed & 0x3FFFFFFF + self.by_ekey9[key9] = (archive, offset, stored_size) + pos += entry_size + + def _load_listfile(self, path: pathlib.Path) -> None: + with path.open("r", encoding="utf-8", errors="replace") as stream: + for raw in stream: + try: + left, name = raw.rstrip("\r\n").split(";", 1) + fdid = int(left) + except (ValueError, TypeError): + continue + normalized = name.replace("\\", "/").lower() + self.names_by_fdid[fdid] = name + self.fdids_by_name[normalized] = fdid + + def _decode_blte_chunk(self, chunk: bytes, chunk_index: int) -> bytes: + if not chunk: + return b"" + mode, payload = chunk[0:1], chunk[1:] + if mode == b"N": + return payload + if mode == b"Z": + return zlib.decompress(payload) + if mode == b"E": + if len(payload) < 3: + raise CascError("short encrypted BLTE block") + nkey = payload[0] + key_name = payload[1:1 + nkey][::-1] + at = 1 + nkey + niv = payload[at] + iv = bytearray(payload[at + 1:at + 1 + niv]) + at += 1 + niv + algorithm = payload[at:at + 1] + ciphertext = payload[at + 1:] + key = self.keys.get(key_name) + if key is None: + raise EncryptedBlock(key_name) + if algorithm != b"S": + raise CascError("unknown BLTE encryption algorithm %r" % algorithm) + for i in range(4): + if i < len(iv): + iv[i] ^= (chunk_index >> (8 * i)) & 0xFF + nonce = bytes(iv[:8]).ljust(8, b"\0") + clear = salsa20_xor(ciphertext, key, nonce) + return self._decode_blte_chunk(clear, chunk_index) + raise CascError("unknown BLTE block mode %r" % mode) + + def decode_blte(self, data: bytes) -> bytes: + if data[:4] != b"BLTE": + raise CascError("payload is not BLTE") + header_size, = struct.unpack_from(">I", data, 4) + if header_size == 0: + return self._decode_blte_chunk(data[8:], 0) + if header_size < 12 or header_size > len(data): + raise CascError("invalid BLTE header size") + flags = data[8] + count = _u24be(data[9:12]) + if flags != 0x0F or header_size < 12 + count * 24: + raise CascError("invalid BLTE chunk table") + chunks = [] + pos = 12 + for _ in range(count): + compressed, decompressed = struct.unpack_from(">II", data, pos) + digest = data[pos + 8:pos + 24] + chunks.append((compressed, decompressed, digest)) + pos += 24 + pos = header_size + output = [] + for index, (compressed, decompressed, digest) in enumerate(chunks): + raw = data[pos:pos + compressed] + if len(raw) != compressed: + raise CascError("truncated BLTE chunk") + if hashlib.md5(raw).digest() != digest: + raise CascError("BLTE chunk checksum mismatch") + clear = self._decode_blte_chunk(raw, index) + if len(clear) != decompressed: + raise CascError("BLTE decompressed-size mismatch") + output.append(clear) + pos += compressed + return b"".join(output) + + def open_ekey(self, ekey: bytes) -> bytes: + if isinstance(ekey, str): + ekey = bytes.fromhex(ekey) + location = self.by_ekey9.get(ekey[:9]) + if location is None: + raise CascError("encoding key is not present locally: " + ekey.hex()) + archive, offset, stored_size = location + data_path = self.data_dir / ("data.%03d" % archive) + with data_path.open("rb") as stream: + stream.seek(offset) + record = stream.read(stored_size) + if len(record) != stored_size or len(record) < 30: + raise CascError("short local CASC record for " + ekey.hex()) + # Local data header: reversed 16-byte (zero-extended) EKey, payload size, + # flags/checksum fields; the encoded BLTE stream begins at byte 30. + if record[30:34] != b"BLTE": + raise CascError("local CASC record has no BLTE payload") + return self.decode_blte(record[30:]) + + def load_encoding(self) -> None: + pair = self.config.get("encoding") + if not pair or len(pair) < 2: + raise CascError("build config has no encoding CKey/EKey pair") + data = self.open_ekey(bytes.fromhex(pair[1])) + self._parse_encoding(data) + + def _parse_encoding(self, data: bytes) -> None: + if data[:2] != b"EN": + raise CascError("bad encoding-file signature") + # Header fields are big-endian on disk. + version, ckey_size, ekey_size = data[2], data[3], data[4] + cpage_kib, epage_kib = struct.unpack_from(">HH", data, 5) + cpages, epages = struct.unpack_from(">II", data, 9) + unknown = data[17] + espec_size, = struct.unpack_from(">I", data, 18) + self.encoding_header = dict(version=version, ckey_size=ckey_size, + ekey_size=ekey_size, cpage_kib=cpage_kib, + epage_kib=epage_kib, cpages=cpages, + epages=epages, unknown=unknown, + espec_size=espec_size, + decoded_size=len(data)) + # The ESpec string block follows the 22-byte header. Each CKey page-index + # entry is first-key+MD5; the fixed-size pages immediately follow it. + pos = 22 + espec_size + cpage_size = cpage_kib * 1024 + epage_size = epage_kib * 1024 + cindex_pos = pos + cdata_pos = cindex_pos + cpages * (ckey_size + 16) + mapping: Dict[bytes, List[bytes]] = {} + for page in range(cpages): + page_data = data[cdata_pos + page * cpage_size:cdata_pos + (page + 1) * cpage_size] + at = 0 + while at < len(page_data): + if at + 2 > len(page_data): + break + count = int.from_bytes(page_data[at:at + 2], "little") + at += 2 + if count == 0: + break + need = 4 + ckey_size + count * ekey_size + if at + need > len(page_data): + raise CascError("truncated encoding CKey page") + _decoded_size = int.from_bytes(page_data[at:at + 4], "big") + at += 4 + ckey = page_data[at:at + ckey_size] + at += ckey_size + ekeys = [] + for _ in range(count): + ekeys.append(page_data[at:at + ekey_size]) + at += ekey_size + mapping[ckey] = ekeys + self.encoding_map = mapping + + def open_ckey(self, ckey: bytes) -> bytes: + if isinstance(ckey, str): + ckey = bytes.fromhex(ckey) + if not self.encoding_map: + self.load_encoding() + ekeys = self.encoding_map.get(ckey) + if not ekeys: + raise CascError("content key absent from encoding file: " + ckey.hex()) + errors = [] + for ekey in ekeys: + try: + return self.open_ekey(ekey) + except CascError as exc: + errors.append(str(exc)) + raise CascError("no local encoding for CKey %s: %s" % (ckey.hex(), "; ".join(errors))) + + def load_root(self) -> None: + roots = self.config.get("root") + if not roots: + raise CascError("build config has no root CKey") + data = self.open_ckey(bytes.fromhex(roots[0])) + self._parse_root(data) + + def _parse_root(self, data: bytes) -> None: + if data[:4] != b"TSFM" or len(data) < 24: + raise CascError("unsupported root signature") + header_size, version, total_files, named_files, flags = \ + struct.unpack_from("<5I", data, 4) + if header_size != 24 or version != 2: + raise CascError("unsupported TSFM root version/header") + mapping: Dict[int, List[bytes]] = {} + pos = header_size + seen_total = 0 + seen_named = 0 + blocks = 0 + while pos < len(data): + if pos + 17 > len(data): + raise CascError("truncated TSFM block header") + count, content_flags, locale_flags = struct.unpack_from(" len(data): + raise CascError("truncated TSFM block data") + fdid = -1 + for index in range(count): + delta, = struct.unpack_from(" bytes: + if not self.root_map: + self.load_root() + ckeys = self.root_map.get(int(fdid)) + if not ckeys: + raise CascError("FileDataID absent from root: %d" % fdid) + errors = [] + for ckey in ckeys: + try: + return self.open_ckey(ckey) + except CascError as exc: + errors.append(str(exc)) + raise CascError("no readable root entry for FDID %d: %s" % (fdid, "; ".join(errors))) + + def open_name(self, path: str) -> bytes: + normalized = path.replace("\\", "/").lower() + fdid = self.fdids_by_name.get(normalized) + if fdid is None: + raise CascError("path absent from listfile: " + path) + return self.open_fdid(fdid) diff --git a/Optional/sky-and-grading/tools/check_bands.py b/Optional/sky-and-grading/tools/check_bands.py new file mode 100644 index 00000000..3d6859f2 --- /dev/null +++ b/Optional/sky-and-grading/tools/check_bands.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +"""Check corrected Light band clone row IDs in loose files or an MPQ chain.""" + +import argparse +from pathlib import Path + +from dbc_build import check_bands +from mpq_tools import Storm, copies_for, find_stormlib + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("path", type=Path, help="stage directory or client Data directory") + parser.add_argument("--stormlib", type=Path) + parser.add_argument("--stage", action="store_true", help="path is a loose stage tree") + args = parser.parse_args() + if args.stage: + root = args.path / "DBFilesClient" + integer = (root / "LightIntBand.dbc").read_bytes() + floating = (root / "LightFloatBand.dbc").read_bytes() + else: + storm = Storm(find_stormlib(args.stormlib)) + payloads = [] + for name in ("LightIntBand.dbc", "LightFloatBand.dbc"): + copies = copies_for(storm, args.path, "DBFilesClient\\" + name) + if not copies: + raise FileNotFoundError(name) + payloads.append(copies[-1][1]) + integer, floating = payloads + check_bands(integer, floating) + print("PASS: clone rows use (P-1)*count + band + 1 and match params 23/21") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/Optional/sky-and-grading/tools/dbc_build.py b/Optional/sky-and-grading/tools/dbc_build.py new file mode 100644 index 00000000..bc2612d2 --- /dev/null +++ b/Optional/sky-and-grading/tools/dbc_build.py @@ -0,0 +1,200 @@ +"""Winner-safe lighting DBC merge for the optional sky patch.""" + +from __future__ import annotations + +import struct +from typing import Dict, List, Set, Tuple + + +REQUIRED = ( + "Light.dbc", + "LightParams.dbc", + "LightIntBand.dbc", + "LightFloatBand.dbc", + "LightSkybox.dbc", +) + + +def parse_dbc(data: bytes, label: str) -> Tuple[List[List[int]], bytes, int]: + if len(data) < 20: + raise ValueError("truncated DBC: %s" % label) + magic, count, fields, record_size, string_size = struct.unpack_from("<4s4I", data) + if magic != b"WDBC" or record_size != fields * 4: + raise ValueError("invalid WDBC schema: %s" % label) + expected = 20 + count * record_size + string_size + if len(data) != expected: + raise ValueError("invalid WDBC length: %s" % label) + records = [ + list(struct.unpack_from("<%dI" % fields, data, 20 + i * record_size)) + for i in range(count) + ] + return records, data[20 + count * record_size :], fields + + +def pack_dbc(records: List[List[int]], strings: bytes, fields: int) -> bytes: + if any(len(record) != fields for record in records): + raise ValueError("inconsistent DBC record width") + header = struct.pack("<4s4I", b"WDBC", len(records), fields, fields * 4, len(strings)) + body = b"".join(struct.pack("<%dI" % fields, *record) for record in records) + return header + body + strings + + +def indexed(records: List[List[int]], label: str) -> Dict[int, List[int]]: + result = {record[0]: record for record in records} + if len(result) != len(records): + raise ValueError("duplicate row ID in %s" % label) + return result + + +def band_row_id(param: int, band: int, per: int) -> int: + return (param - 1) * per + band + 1 + + +def append_string(block: bytearray, value: str) -> int: + encoded = value.encode("utf-8") + b"\0" + start = 0 + while True: + offset = block.find(encoded, start) + if offset < 0: + offset = len(block) + block.extend(encoded) + return offset + if offset == 0 or block[offset - 1] == 0: + return offset + start = offset + 1 + + +def build_merged(winners: Dict[str, bytes]) -> Tuple[Dict[str, bytes], Dict[str, object]]: + missing = [name for name in REQUIRED if name not in winners] + if missing: + raise ValueError("missing winning source DBCs: %s" % ", ".join(missing)) + + light, light_strings, light_fields = parse_dbc(winners["Light.dbc"], "Light") + params, params_strings, params_fields = parse_dbc( + winners["LightParams.dbc"], "LightParams" + ) + ints, int_strings, int_fields = parse_dbc( + winners["LightIntBand.dbc"], "LightIntBand" + ) + floats, float_strings, float_fields = parse_dbc( + winners["LightFloatBand.dbc"], "LightFloatBand" + ) + skies, sky_strings, sky_fields = parse_dbc( + winners["LightSkybox.dbc"], "LightSkybox" + ) + if (light_fields, params_fields, int_fields, float_fields, sky_fields) != ( + 12, 9, 34, 34, 2 + ): + raise ValueError("unexpected source lighting schema; use an unmodified 1.12 DBC chain") + if any(block != b"\0" for block in ( + light_strings, params_strings, int_strings, float_strings + )): + raise ValueError("numeric lighting DBC has a non-empty string block") + + light_by_id = indexed(light, "Light") + params_by_id = indexed(params, "LightParams") + int_by_id = indexed(ints, "LightIntBand") + float_by_id = indexed(floats, "LightFloatBand") + + targets = {20: 1139, 539: 1139, 6: 1140, 65: 1140, 67: 1140} + expected = {20: 23, 539: 23, 6: 21, 65: 21, 67: 21} + if light_by_id.get(14, [None] * 8)[7] != 16: + raise ValueError("Light row 14 is not on expected Swamp of Sorrows param 16") + for row_id, new_param in targets.items(): + if row_id not in light_by_id or light_by_id[row_id][7] != expected[row_id]: + raise ValueError("unexpected Light[%d].Clear" % row_id) + light_by_id[row_id][7] = new_param + + start_param = max( + max(params_by_id), + (max(int_by_id) + 17) // 18, + (max(float_by_id) + 5) // 6, + ) + 1 + if start_param != 1139: + raise ValueError( + "winner-derived clone start is %d, expected 1139; refusing an unsafe merge" + % start_param + ) + + for source_param, new_param, skybox_id in ((23, 1139, 8), (21, 1140, 9)): + clone = params_by_id[source_param][:] + clone[0] = new_param + clone[2] = skybox_id + params.append(clone) + for per, source, destination in ( + (18, int_by_id, ints), + (6, float_by_id, floats), + ): + for band in range(per): + source_id = band_row_id(source_param, band, per) + target_id = band_row_id(new_param, band, per) + if source_id not in source or target_id in source: + raise ValueError("unsafe band clone %d -> %d" % (source_id, target_id)) + row = source[source_id][:] + row[0] = target_id + destination.append(row) + + if params_by_id.get(269, [None, None, None])[2] != 0: + raise ValueError("unexpected LightParams[269].LightSkybox") + params_by_id[269][2] = 10 + + strings = bytearray(sky_strings) + extended = [[row[0], row[1], 0, 0] for row in skies] + specs = ( + (8, r"Environments\Stars\10can_volcanicsky01.mdx", 15, ""), + (9, r"Environments\Stars\bonewastesskybox.mdx", 4, ""), + ( + 10, + r"Environments\Stars\8drk_darkshoreelune_sky01.mdx", + 2, + r"Environments\Stars\hyjal_skybox.mdx", + ), + ) + for row_id, model, flags, celestial in specs: + extended.append( + [row_id, append_string(strings, model), flags, append_string(strings, celestial)] + ) + + light.sort(key=lambda row: row[0]) + params.sort(key=lambda row: row[0]) + ints.sort(key=lambda row: row[0]) + floats.sort(key=lambda row: row[0]) + extended.sort(key=lambda row: row[0]) + outputs = { + "Light.dbc": pack_dbc(light, light_strings, 12), + "LightParams.dbc": pack_dbc(params, params_strings, 9), + "LightIntBand.dbc": pack_dbc(ints, int_strings, 34), + "LightFloatBand.dbc": pack_dbc(floats, float_strings, 34), + "LightSkybox.dbc": pack_dbc(extended, bytes(strings), 4), + } + report = { + "source_rows": { + name: len(parse_dbc(winners[name], name)[0]) for name in REQUIRED + }, + "output_rows": { + name: len(parse_dbc(payload, name)[0]) for name, payload in outputs.items() + }, + "changed_light_rows": sorted(targets), + "light_14_clear": 16, + "clone_params": [1139, 1140], + } + return outputs, report + + +def check_bands(int_payload: bytes, float_payload: bytes) -> None: + for label, payload, per in ( + ("LightIntBand", int_payload, 18), + ("LightFloatBand", float_payload, 6), + ): + records, _, _ = parse_dbc(payload, label) + rows = indexed(records, label) + for source_param, target_param in ((23, 1139), (21, 1140)): + for band in range(per): + source_id = band_row_id(source_param, band, per) + target_id = band_row_id(target_param, band, per) + if target_id not in rows or rows[source_id][1:] != rows[target_id][1:]: + raise ValueError("%s clone mismatch at row %d" % (label, target_id)) + top = band_row_id(1140, per - 1, per) + stray = [row_id for row_id in rows if row_id > top] + if stray: + raise ValueError("%s has rows above param 1140 span" % label) diff --git a/Optional/sky-and-grading/tools/mpq_tools.py b/Optional/sky-and-grading/tools/mpq_tools.py new file mode 100644 index 00000000..667c8177 --- /dev/null +++ b/Optional/sky-and-grading/tools/mpq_tools.py @@ -0,0 +1,243 @@ +"""Small StormLib wrapper used by the optional-data builder. + +StormLib is loaded from the user's machine. This module never writes to a +client installation: candidates are copied or created below the requested +output directory and are verified after compaction. +""" + +from __future__ import annotations + +import ctypes +import os +from pathlib import Path +import re +import shutil +import stat +import tempfile +from typing import Dict, Iterable, List, Optional, Tuple + + +MPQ_OPEN_READ_ONLY = 0x00000100 +MPQ_FILE_COMPRESS = 0x00000200 +MPQ_FILE_REPLACEEXISTING = 0x80000000 +MPQ_COMPRESSION_ZLIB = 0x02 +MAX_FILE_COUNT = 8192 + + +def find_stormlib(explicit: Optional[Path]) -> Path: + candidates = [] + if explicit: + candidates.append(Path(explicit)) + env = os.environ.get("STORMLIB_PATH") + if env: + candidates.append(Path(env)) + candidates.extend( + [ + Path.cwd() / "StormLib.dll", + Path(__file__).resolve().parent / "StormLib.dll", + ] + ) + for path in candidates: + if path.is_file(): + return path.resolve() + raise FileNotFoundError( + "StormLib.dll was not found; pass --stormlib or set STORMLIB_PATH" + ) + + +class Storm: + def __init__(self, library: Path): + if os.name != "nt": + raise OSError("this StormLib ctypes wrapper currently supports Windows") + self.library = Path(library) + self.dll = ctypes.WinDLL(str(self.library), use_last_error=True) + handle = ctypes.c_void_p + signatures = { + "SFileOpenArchive": ( + ctypes.c_bool, + [ctypes.c_wchar_p, ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(handle)], + ), + "SFileCreateArchive": ( + ctypes.c_bool, + [ctypes.c_wchar_p, ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(handle)], + ), + "SFileSetMaxFileCount": (ctypes.c_bool, [handle, ctypes.c_uint32]), + "SFileAddFileEx": ( + ctypes.c_bool, + [handle, ctypes.c_wchar_p, ctypes.c_char_p, ctypes.c_uint32, + ctypes.c_uint32, ctypes.c_uint32], + ), + "SFileCompactArchive": ( + ctypes.c_bool, + [handle, ctypes.c_char_p, ctypes.c_bool], + ), + "SFileOpenFileEx": ( + ctypes.c_bool, + [handle, ctypes.c_char_p, ctypes.c_uint32, ctypes.POINTER(handle)], + ), + "SFileGetFileSize": ( + ctypes.c_uint32, + [handle, ctypes.POINTER(ctypes.c_uint32)], + ), + "SFileReadFile": ( + ctypes.c_bool, + [handle, ctypes.c_void_p, ctypes.c_uint32, + ctypes.POINTER(ctypes.c_uint32), ctypes.c_void_p], + ), + "SFileCloseFile": (ctypes.c_bool, [handle]), + "SFileCloseArchive": (ctypes.c_bool, [handle]), + } + for name, (result, arguments) in signatures.items(): + function = getattr(self.dll, name) + function.restype = result + function.argtypes = arguments + + @staticmethod + def fail(message: str) -> None: + error = ctypes.get_last_error() + raise OSError(error, "%s (Win32 error %d)" % (message, error)) + + def open(self, archive: Path, flags: int = 0) -> ctypes.c_void_p: + handle = ctypes.c_void_p() + if not self.dll.SFileOpenArchive(str(archive), 0, flags, ctypes.byref(handle)): + self.fail("SFileOpenArchive failed: %s" % archive) + return handle + + def create(self, archive: Path) -> ctypes.c_void_p: + handle = ctypes.c_void_p() + if not self.dll.SFileCreateArchive( + str(archive), 0, MAX_FILE_COUNT, ctypes.byref(handle) + ): + self.fail("SFileCreateArchive failed: %s" % archive) + return handle + + def close_archive(self, handle: ctypes.c_void_p) -> None: + if handle.value and not self.dll.SFileCloseArchive(handle): + self.fail("SFileCloseArchive failed") + + def read(self, archive: Path, member: str) -> Optional[bytes]: + archive_handle = self.open(archive, MPQ_OPEN_READ_ONLY) + try: + file_handle = ctypes.c_void_p() + encoded = member.encode("ascii") + if not self.dll.SFileOpenFileEx( + archive_handle, encoded, 0, ctypes.byref(file_handle) + ): + return None + try: + high = ctypes.c_uint32(0) + size = self.dll.SFileGetFileSize(file_handle, ctypes.byref(high)) + if size == 0xFFFFFFFF or high.value: + self.fail("SFileGetFileSize failed: %s" % member) + buffer = ctypes.create_string_buffer(size) + received = ctypes.c_uint32(0) + if not self.dll.SFileReadFile( + file_handle, buffer, size, ctypes.byref(received), None + ): + self.fail("SFileReadFile failed: %s" % member) + if received.value != size: + raise OSError("short MPQ read for %s" % member) + return buffer.raw[:size] + finally: + if file_handle.value and not self.dll.SFileCloseFile(file_handle): + self.fail("SFileCloseFile failed: %s" % member) + finally: + self.close_archive(archive_handle) + + def pack( + self, + archive: Path, + files: Iterable[Tuple[Path, str]], + base_archive: Optional[Path] = None, + ) -> None: + archive.parent.mkdir(parents=True, exist_ok=True) + if base_archive: + shutil.copy2(base_archive, archive) + os.chmod(archive, archive.stat().st_mode | stat.S_IWRITE) + handle = self.open(archive) + else: + handle = self.create(archive) + pairs = list(files) + listfile_temp = None + if not base_archive: + listfile_temp = tempfile.TemporaryDirectory(prefix="benilla-listfile-") + listfile_path = Path(listfile_temp.name) / "listfile.txt" + listfile_path.write_text( + "\r\n".join(member for _, member in pairs) + "\r\n(listfile)\r\n", + encoding="ascii", + ) + pairs.append((listfile_path, "(listfile)")) + try: + if not self.dll.SFileSetMaxFileCount(handle, MAX_FILE_COUNT): + self.fail("SFileSetMaxFileCount failed") + for disk_path, member in pairs: + if not self.dll.SFileAddFileEx( + handle, + str(disk_path), + member.encode("ascii"), + MPQ_FILE_COMPRESS | MPQ_FILE_REPLACEEXISTING, + MPQ_COMPRESSION_ZLIB, + MPQ_COMPRESSION_ZLIB, + ): + self.fail("SFileAddFileEx failed: %s" % member) + finally: + self.close_archive(handle) + + handle = self.open(archive) + try: + if not self.dll.SFileCompactArchive(handle, None, False): + self.fail("SFileCompactArchive failed") + finally: + self.close_archive(handle) + + for disk_path, member in pairs: + actual = self.read(archive, member) + if actual != disk_path.read_bytes(): + raise RuntimeError("packed member failed verification: %s" % member) + if listfile_temp is not None: + listfile_temp.cleanup() + + +def mount_key(path: Path) -> Tuple[int, int, str]: + name = path.name.casefold() + if name == "patch.mpq": + return (1, 0, name) + numeric = re.fullmatch(r"patch-(\d+)\.mpq", name) + if numeric: + return (2, int(numeric.group(1)), name) + letter = re.fullmatch(r"patch-(.)\.mpq", name) + if letter: + return (3, ord(letter.group(1)), name) + return (0, 0, name) + + +def archives_in_mount_order(data_dir: Path) -> List[Path]: + paths = [ + path for path in Path(data_dir).iterdir() + if path.is_file() and path.suffix.casefold() == ".mpq" + ] + return sorted(paths, key=mount_key) + + +def copies_for(storm: Storm, data_dir: Path, member: str) -> List[Tuple[Path, bytes]]: + result = [] + for archive in archives_in_mount_order(data_dir): + payload = storm.read(archive, member) + if payload is not None: + result.append((archive, payload)) + return result + + +def winning_payloads( + storm: Storm, data_dir: Path, names: Iterable[str] +) -> Tuple[Dict[str, bytes], Dict[str, str]]: + payloads: Dict[str, bytes] = {} + winners: Dict[str, str] = {} + for name in names: + copies = copies_for(storm, data_dir, "DBFilesClient\\" + name) + if not copies: + raise FileNotFoundError("no mounted copy of DBFilesClient\\%s" % name) + archive, payload = copies[-1] + payloads[name] = payload + winners[name] = archive.name + return payloads, winners diff --git a/Optional/sky-and-grading/tools/sky_convert.py b/Optional/sky-and-grading/tools/sky_convert.py new file mode 100644 index 00000000..a109c9ff --- /dev/null +++ b/Optional/sky-and-grading/tools/sky_convert.py @@ -0,0 +1,409 @@ +"""Extract four modern sky models from local CASC and convert them to M2 v256. + +pywowlib is an external dependency. The conversion and v256 compatibility +fixes here are original glue; no pywowlib source is redistributed. +""" + +from __future__ import annotations + +import importlib +import json +import os +from pathlib import Path +import shutil +import struct +import subprocess +import sys +from typing import Dict, Iterable, List, Tuple + + +PYWOWLIB_COMMIT = "55276dc5c2195da7fe136638a2a59716622f8c65" +MODELS = ( + ("blasted_lands", 130481, "bonewastesskybox.m2"), + ("mount_hyjal_main", 2322316, "8drk_darkshoreelune_sky01.m2"), + ("mount_hyjal_celestial", 317347, "hyjal_skybox.m2"), + ("burning_steppes", 4505901, "10can_volcanicsky01.m2"), +) + + +def load_pywowlib(checkout: Path) -> Dict[str, object]: + checkout = Path(checkout).resolve() + package = checkout if checkout.name.casefold() == "pywowlib" else checkout / "pywowlib" + if not (package / "m2_file.py").is_file(): + raise FileNotFoundError("--pywowlib must name a pywowlib checkout") + try: + head = subprocess.check_output( + ["git", "-C", str(package), "rev-parse", "HEAD"], text=True + ).strip() + except (OSError, subprocess.CalledProcessError) as error: + raise RuntimeError("the pywowlib checkout must retain its .git metadata") from error + if head != PYWOWLIB_COMMIT: + raise RuntimeError( + "pywowlib HEAD is %s; expected pinned commit %s" % (head, PYWOWLIB_COMMIT) + ) + sys.path.insert(0, str(package.parent)) + modules = { + "common": importlib.import_module("pywowlib.file_formats.wow_common_types"), + "types": importlib.import_module("pywowlib.io_utils.types"), + "m2_file": importlib.import_module("pywowlib.m2_file"), + "m2_format": importlib.import_module("pywowlib.file_formats.m2_format"), + "m2_chunks": importlib.import_module("pywowlib.file_formats.m2_chunks"), + "skin_format": importlib.import_module("pywowlib.file_formats.skin_format"), + } + return modules + + +def read_listfile(path: Path) -> Dict[int, str]: + result = {} + with Path(path).open("r", encoding="utf-8", errors="replace") as stream: + for line in stream: + raw_id, separator, name = line.rstrip("\r\n").partition(";") + if separator and raw_id.isdigit(): + result[int(raw_id)] = name + return result + + +def source_version(path: Path) -> int: + data = path.read_bytes()[:16] + if data[:4] == b"MD20": + return struct.unpack_from(" int: + versions = {256: 0, 263: 1, 264: 2, 272: 3, 273: 5, 274: 6} + if version not in versions: + raise ValueError("unsupported M2 version %d" % version) + return versions[version] + + +def extract_sources(reader: object, listfile: Dict[int, str], root: Path, modules: Dict[str, object]) -> None: + M2File = modules["m2_file"].M2File + manager = modules["common"].M2VersionsManager() + for _, file_id, output_name in MODELS: + source_dir = root / str(file_id) + source_dir.mkdir(parents=True, exist_ok=True) + model_path = source_dir / output_name + model_path.write_bytes(reader.open_fdid(file_id)) + version = source_version(model_path) + manager.set_m2_version(modules["common"].M2Versions.from_expansion_number(expansion_for(version))) + model = M2File(expansion_for(version), filepath=str(model_path)) + dependencies = model.find_model_dependencies() + ids = set(int(value) for value in dependencies.skins) + for index, texture in enumerate(model.root.textures): + texture_id = int(getattr(texture, "fdid", 0) or 0) + if not texture_id and model.txid and index < len(model.txid.texture_ids): + texture_id = int(model.txid.texture_ids[index]) + if texture.type == 0 and not texture.filename.value and texture_id: + ids.add(texture_id) + for dependency in sorted(ids): + game_path = listfile.get(dependency) + if not game_path: + raise KeyError("FileDataID %d is absent from the community listfile" % dependency) + local = source_dir / Path(game_path.replace("\\", "/")).name + local.write_bytes(reader.open_fdid(dependency)) + + +def walk_objects(root: object) -> Iterable[object]: + seen = set() + stack = [root] + while stack: + value = stack.pop() + if id(value) in seen: + continue + seen.add(id(value)) + yield value + if isinstance(value, (str, bytes, int, float, bool, type(None), tuple)): + continue + if isinstance(value, list): + stack.extend(value) + continue + values = getattr(value, "values", None) + if isinstance(values, list): + stack.extend(values) + attributes = getattr(value, "__dict__", None) + if attributes: + stack.extend(attributes.values()) + + +def collect_tracks(root: object, track_base: type) -> List[object]: + return [value for value in walk_objects(root) if isinstance(value, track_base)] + + +def assign_sequence_times(root: object) -> None: + timestamp = 0 + for sequence in root.sequences: + duration = int(getattr(sequence, "duration", 0) or 0) + sequence.start_timestamp = timestamp + sequence.end_timestamp = timestamp + duration + timestamp = sequence.end_timestamp + 1000 + + +def denormalize_tracks(root: object, modules: Dict[str, object]) -> None: + common, types, fmt = modules["common"], modules["types"], modules["m2_format"] + M2Array, M2Range = common.M2Array, fmt.M2Range + sequences = list(root.sequences) + + def array(value_type: type, values: List[object]) -> object: + result = M2Array(value_type) + result.values = list(values) + result.n_elements = len(result.values) + return result + + for track in collect_tracks(root, fmt.M2TrackBase): + timestamp_arrays = track.timestamps.values + if not timestamp_arrays or not isinstance(timestamp_arrays[0], M2Array): + continue + has_values = hasattr(track, "values") + value_arrays = track.values.values if has_values else [] + value_type = value_arrays[0].type if value_arrays else types.uint32 + flat_times: List[int] = [] + flat_values: List[object] = [] + ranges: List[Tuple[int, int]] = [] + if track.global_sequence >= 0: + flat_times = [int(value) for value in timestamp_arrays[0].values] + flat_values = list(value_arrays[0].values) if value_arrays else [] + else: + last_value = None + for index, sequence in enumerate(sequences): + times = timestamp_arrays[index].values if index < len(timestamp_arrays) else [] + values = value_arrays[index].values if index < len(value_arrays) else [] + offset = len(flat_times) + if times: + flat_times.extend(int(value) + sequence.start_timestamp for value in times) + if has_values: + flat_values.extend(values) + last_value = values[-1] + ranges.append((offset, offset + len(times) - 1)) + elif has_values and last_value is not None: + flat_times.append(sequence.start_timestamp) + flat_values.append(last_value) + ranges.append((offset, offset)) + else: + ranges.append((offset, max(0, offset - 1))) + ranges.append((0, 0)) + if has_values and flat_values and isinstance(flat_values[0], fmt.M2CompQuaternion): + converted = [] + for value in flat_values: + ww, xx, yy, zz = value.to_quaternion() + converted.append((xx, yy, zz, ww)) + flat_values = converted + value_type = types.quat + interpolation = M2Array(M2Range) + interpolation.values = [] + for minimum, maximum in ranges: + item = M2Range() + item.minimum, item.maximum = minimum, maximum + interpolation.values.append(item) + interpolation.n_elements = len(interpolation.values) + track.interpolation_ranges = interpolation + track.timestamps = array(types.uint32, flat_times) + if has_values: + track.values = array(value_type, flat_values) + + +def stage_sources(shader_id: int, count: int) -> Tuple[int, ...]: + shader_id &= 0xFFFF + if count <= 1: + return (-1,) if shader_id & 0x80 else ((1,) if shader_id & 0x4000 else (0,)) + first = -1 if shader_id & 0x80 else 0 + second = -1 if shader_id & 0x8 else (1 if shader_id & 0x4000 else 0) + return (first, second) + + +def find_or_append(table: List[int], values: Tuple[int, ...]) -> int: + for index in range(len(table) - len(values) + 1): + if tuple(table[index : index + len(values)]) == values: + return index + table.extend(values) + return len(table) - len(values) + + +def fix_texture_units(model: object) -> None: + root = model.root + coordinates = [0, 1] + weights = list(root.transparency_lookup_table.values) + transforms = list(root.texture_transforms_lookup_table.values) + textures = list(root.texture_lookup_table.values) + pair_cache = {} + for skin in model.skins: + for unit in skin.texture_units.values: + count = int(unit.texture_count) + if count not in (1, 2): + raise ValueError("unsupported textureCount %d" % count) + unit.texture_coord_combo_index = find_or_append( + coordinates, stage_sources(unit.shader_id, count) + ) + for stage in range(count): + tex = unit.texture_combo_index + stage + xform = unit.texture_transform_combo_index + stage + if tex >= len(textures) or textures[tex] >= len(root.textures.values): + raise ValueError("texture combo is out of range") + if xform >= len(transforms) or transforms[xform] >= len(root.texture_transforms.values): + raise ValueError("texture transform combo is out of range") + weight = unit.texture_weight_combo_index + if weight >= len(weights) or weights[weight] >= len(root.texture_weights.values): + raise ValueError("texture weight combo is out of range") + if count == 2: + track = weights[weight] + if track not in pair_cache: + pair_cache[track] = find_or_append(weights, (track, track)) + unit.texture_weight_combo_index = pair_cache[track] + root.tex_unit_lookup_table.values = coordinates + root.tex_unit_lookup_table.n_elements = len(coordinates) + root.transparency_lookup_table.values = weights + root.transparency_lookup_table.n_elements = len(weights) + + +def make_classic(model: object, modules: Dict[str, object]) -> None: + common, fmt, chunks = modules["common"], modules["m2_format"], modules["m2_chunks"] + source_root = model.root + assign_sequence_times(source_root) + denormalize_tracks(source_root, modules) + for sequence in source_root.sequences: + if not hasattr(sequence, "blend_time"): + sequence.blend_time = max( + int(getattr(sequence, "blend_time_in", 0)), + int(getattr(sequence, "blend_time_out", 0)), + ) + common.M2VersionsManager().set_m2_version(common.M2Versions.CLASSIC) + root = chunks.MD20() + for name in list(root.__dict__): + if name in source_root.__dict__ and name not in {"magic", "version", "m2_version", "_size"}: + setattr(root, name, getattr(source_root, name)) + model.root = root + model.version = common.M2Versions.CLASSIC + for value in walk_objects(root): + if isinstance(value, fmt.M2TrackBase) and not hasattr(value, "interpolation_ranges"): + value.interpolation_ranges = common.M2Array(fmt.M2Range) + if hasattr(value, "m2_version"): + value.m2_version = common.M2Versions.CLASSIC + if value.__class__.__name__ == "M2SkinProfile": + value._size = 44 + for skin in model.skins: + for value in walk_objects(skin): + if hasattr(value, "m2_version"): + value.m2_version = common.M2Versions.CLASSIC + if value.__class__.__name__ == "M2SkinProfile": + value._size = 44 + + +def write_classic(model: object, path: Path, modules: Dict[str, object]) -> None: + skin_class = modules["skin_format"].M2SkinProfile + bone_class = modules["m2_format"].M2CompBone + types = modules["types"] + original_skin_write = skin_class.write + original_skin_size = getattr(skin_class, "size", None) + original_bone_write = bone_class.write + + def write_embedded(skin: object, stream: object) -> object: + position = stream.tell() + stream.write(b"\0" * 44) + stream.seek(position) + skin.vertex_indices.write(stream) + skin.triangle_indices.write(stream) + skin.bone_indices.write(stream) + skin.submeshes.write(stream) + skin.texture_units.write(stream) + types.uint32.write(stream, skin.bone_count_max) + return skin + + def write_classic_bone(bone: object, stream: object) -> object: + types.int32.write(stream, bone.key_bone_id) + types.uint32.write(stream, bone.flags) + types.int16.write(stream, bone.parent_bone) + types.uint16.write(stream, bone.submesh_id) + bone.translation.write(stream) + bone.rotation.write(stream) + bone.scale.write(stream) + types.vec3D.write(stream, bone.pivot) + return bone + + skin_class.write = write_embedded + skin_class.size = staticmethod(lambda: 44) + bone_class.write = write_classic_bone + try: + model.root.skin_profiles.values = list(model.skins) + model.root.skin_profiles.n_elements = len(model.skins) + model.root.num_skin_profiles = len(model.skins) + with path.open("wb") as stream: + model.root.write(stream) + stream.seek(0, 2) + padding = (16 - stream.tell() % 16) % 16 + stream.write(b"\0" * padding) + finally: + skin_class.write = original_skin_write + if original_skin_size is None: + delattr(skin_class, "size") + else: + skin_class.size = original_skin_size + bone_class.write = original_bone_write + + +def convert_all( + source_root: Path, + output_root: Path, + listfile_path: Path, + modules: Dict[str, object], +) -> List[Dict[str, object]]: + listfile = read_listfile(listfile_path) + output_root.mkdir(parents=True, exist_ok=True) + result = [] + for key, file_id, output_name in MODELS: + source_dir = source_root / str(file_id) + source_path = source_dir / output_name + version = source_version(source_path) + common = modules["common"] + common.M2VersionsManager().set_m2_version( + common.M2Versions.from_expansion_number(expansion_for(version)) + ) + model = modules["m2_file"].M2File(expansion_for(version), filepath=str(source_path)) + dependencies = model.find_model_dependencies() + skins = [] + for dependency in dependencies.skins: + name = listfile.get(int(dependency)) + if not name: + raise KeyError("skin FileDataID %d missing from listfile" % dependency) + skins.append(str(source_dir / Path(name.replace("\\", "/")).name)) + model.read_additional_files(skins, {}) + textures = [] + for index, texture in enumerate(model.root.textures): + file_id_value = int(getattr(texture, "fdid", 0) or 0) + if not file_id_value and model.txid and index < len(model.txid.texture_ids): + file_id_value = int(model.txid.texture_ids[index]) + if texture.type == 0 and not texture.filename.value: + game_path = listfile.get(file_id_value) + if not game_path: + raise KeyError("texture FileDataID %d missing from listfile" % file_id_value) + texture.filename.value = game_path.replace("/", "\\") + local = source_dir / Path(game_path.replace("\\", "/")).name + target = output_root.joinpath(*game_path.replace("\\", "/").split("/")) + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(local, target) + textures.append(str(target.relative_to(output_root)).replace("/", "\\")) + model.root.global_flags &= 0x17 + if hasattr(model.root, "texture_combiner_combos"): + model.root.texture_combiner_combos.values = [] + model.root.texture_combiner_combos.n_elements = 0 + for material in model.root.materials: + if int(material.blending_mode) > 6: + material.blending_mode = 2 + fix_texture_units(model) + make_classic(model, modules) + target = output_root / "Environments" / "Stars" / output_name + target.parent.mkdir(parents=True, exist_ok=True) + write_classic(model, target, modules) + result.append( + { + "key": key, + "source_file_data_id": file_id, + "source_version": version, + "output": str(target), + "output_bytes": target.stat().st_size, + "skins_embedded": len(model.skins), + "textures": textures, + } + ) + return result diff --git a/Optional/sky-and-grading/tools/verify_client_chain.py b/Optional/sky-and-grading/tools/verify_client_chain.py new file mode 100644 index 00000000..53a6070c --- /dev/null +++ b/Optional/sky-and-grading/tools/verify_client_chain.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +"""Verify every staged payload is the mounted winner in a candidate Data chain.""" + +from __future__ import annotations + +import argparse +import hashlib +from pathlib import Path + +from dbc_build import check_bands, indexed, parse_dbc +from mpq_tools import Storm, copies_for, find_stormlib + + +def digest(data: bytes) -> str: + return hashlib.sha256(data).hexdigest() + + +def semantic_checks(payloads: dict[str, bytes]) -> None: + light, _, fields = parse_dbc(payloads["DBFilesClient\\Light.dbc"], "Light") + if fields != 12: + raise ValueError("Light.dbc is not 12 fields") + light_rows = indexed(light, "Light") + expected = {20: 1139, 539: 1139, 6: 1140, 65: 1140, 67: 1140, 14: 16} + for row_id, clear in expected.items(): + if light_rows[row_id][7] != clear: + raise ValueError("Light[%d].Clear is not %d" % (row_id, clear)) + params, _, fields = parse_dbc( + payloads["DBFilesClient\\LightParams.dbc"], "LightParams" + ) + if fields != 9: + raise ValueError("LightParams.dbc is not 9 fields") + param_rows = indexed(params, "LightParams") + for row_id, skybox in ((1139, 8), (1140, 9), (269, 10)): + if param_rows[row_id][2] != skybox: + raise ValueError("LightParams[%d] skybox mismatch" % row_id) + if 1141 in param_rows: + raise ValueError("stray LightParams 1141") + check_bands( + payloads["DBFilesClient\\LightIntBand.dbc"], + payloads["DBFilesClient\\LightFloatBand.dbc"], + ) + skies, strings, fields = parse_dbc( + payloads["DBFilesClient\\LightSkybox.dbc"], "LightSkybox" + ) + if fields != 4 or not strings: + raise ValueError("LightSkybox.dbc is not the extended four-field layout") + sky_rows = indexed(skies, "LightSkybox") + for row_id in (8, 9, 10): + if row_id not in sky_rows: + raise ValueError("LightSkybox row %d is missing" % row_id) + grade, _, fields = parse_dbc( + payloads["DBFilesClient\\MonkeyZoneGrade.dbc"], "MonkeyZoneGrade" + ) + if fields != 5 or len(grade) != 4: + raise ValueError("MonkeyZoneGrade must have four five-field rows") + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("data_dir", type=Path) + parser.add_argument("--stage", type=Path, required=True) + parser.add_argument("--stormlib", type=Path) + parser.add_argument("--require-winner", default="patch-Z.mpq") + args = parser.parse_args() + storm = Storm(find_stormlib(args.stormlib)) + expected = { + str(path.relative_to(args.stage)).replace("/", "\\"): path.read_bytes() + for path in sorted(args.stage.rglob("*")) + if path.is_file() + } + mounted = {} + failures = [] + for member, wanted in expected.items(): + copies = copies_for(storm, args.data_dir, member) + if not copies: + failures.append("missing %s" % member) + continue + archive, actual = copies[-1] + mounted[member] = actual + if args.require_winner.casefold() != "any" and ( + archive.name.casefold() != args.require_winner.casefold() + ): + failures.append("%s wins from %s" % (member, archive.name)) + if actual != wanted: + failures.append( + "%s differs: %s != %s" % (member, digest(actual), digest(wanted)) + ) + required = { + "DBFilesClient\\Light.dbc", + "DBFilesClient\\LightParams.dbc", + "DBFilesClient\\LightIntBand.dbc", + "DBFilesClient\\LightFloatBand.dbc", + "DBFilesClient\\LightSkybox.dbc", + "DBFilesClient\\MonkeyZoneGrade.dbc", + } + if required <= set(mounted): + try: + semantic_checks(mounted) + except (KeyError, ValueError) as error: + failures.append("semantic check: %s" % error) + if failures: + print("FAIL") + for failure in failures: + print(" " + failure) + return 1 + print("PASS: %d staged payloads are mounted winners" % len(expected)) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/Optional/sky-and-grading/tools/wdc.py b/Optional/sky-and-grading/tools/wdc.py new file mode 100644 index 00000000..05b67f0c --- /dev/null +++ b/Optional/sky-and-grading/tools/wdc.py @@ -0,0 +1,171 @@ +"""Minimal WDC5 reader for dense modern WoW DB2 tables.""" +from __future__ import annotations + +import copy +import struct + + +class WdcError(Exception): + pass + + +def _bits_le(data: bytes, bit_offset: int, bit_count: int) -> int: + if bit_count == 0: + return 0 + start = bit_offset // 8 + shift = bit_offset & 7 + count = (shift + bit_count + 7) // 8 + value = int.from_bytes(data[start:start + count], "little") >> shift + return value & ((1 << bit_count) - 1) + + +class WDC5: + HEADER_OFFSET = 0x88 + + def __init__(self, data: bytes): + self.data = data + if data[:4] != b"WDC5" or len(data) < self.HEADER_OFFSET + 68: + raise WdcError("not a supported WDC5 table") + o = self.HEADER_OFFSET + (self.record_count, self.field_count, self.record_size, + self.string_table_size, self.table_hash, self.layout_hash, + self.min_id, self.max_id, self.locale) = struct.unpack_from("<9I", data, o) + self.flags, self.id_index = struct.unpack_from("= self.record_count: + raise WdcError("WDC5 relationship record index is out of bounds") + self.relationship_by_index[record_index] = foreign_id + self.rows[self.row_ids[record_index]]["parent_id"] = foreign_id + for i in range(self.copy_table_count): + new_id, source_id = struct.unpack_from(" additional: + raise WdcError("palette index out of bounds") + return struct.unpack_from(" poff + additional: + raise WdcError("palette-array index out of bounds") + return struct.unpack_from("<%dI" % width, self.pallet, base) + raise WdcError("unsupported WDC5 storage type %d" % kind) + + def string(self, row, field: int) -> str: + relative = row["values"][field] + start = row["record_offset"] + relative + if start < self.strings_offset or start >= self.strings_offset + self.section_string_size: + return "" + end = self.data.find(b"\0", start, self.strings_offset + self.section_string_size) + if end < 0: + end = self.strings_offset + self.section_string_size + return self.data[start:end].decode("utf-8", errors="replace") + + @staticmethod + def as_float(value: int) -> float: + return struct.unpack(" Tuple[List[int], List[int]]: + count = row[1] + if count > 16: + raise ValueError("LightIntBand row has more than 16 keys") + return row[2 : 2 + count], row[18 : 18 + count] + + +def make_band(record_id: int, times: List[int], values: List[int]) -> List[int]: + if len(times) != len(values) or len(times) > 16: + raise ValueError("invalid band key arrays") + return [record_id, len(times)] + times + [0] * (16 - len(times)) + values + [0] * ( + 16 - len(values) + ) + + +def rgb_tuple(value: int) -> Tuple[float, float, float]: + return ( + ((value >> 16) & 255) / 255.0, + ((value >> 8) & 255) / 255.0, + (value & 255) / 255.0, + ) + + +def rgb_int(rgb: Iterable[float]) -> int: + channels = [max(0, min(255, round(value * 255.0))) for value in rgb] + return (channels[0] << 16) | (channels[1] << 8) | channels[2] + + +def sample(row: List[int], time: int) -> int: + times, values = unpack_band(row) + if not times: + return 0 + if len(times) == 1: + return values[0] & 0xFFFFFF + time %= DAY + if time < times[0] or time >= times[-1]: + left_t, right_t = times[-1], times[0] + DAY + left_v, right_v = values[-1], values[0] + query = time + DAY if time < times[0] else time + else: + right = bisect.bisect_right(times, time) + left_t, right_t = times[right - 1], times[right] + left_v, right_v = values[right - 1], values[right] + query = time + amount = (query - left_t) / (right_t - left_t) + return rgb_int( + a + (b - a) * amount for a, b in zip(rgb_tuple(left_v), rgb_tuple(right_v)) + ) + + +def srgb_to_linear(value: float) -> float: + return value / 12.92 if value <= 0.04045 else ((value + 0.055) / 1.055) ** 2.4 + + +def linear_to_srgb(value: float) -> float: + value = max(0.0, value) + return 12.92 * value if value <= 0.0031308 else 1.055 * value ** (1 / 2.4) - 0.055 + + +def rgb_to_oklab(rgb: Tuple[float, float, float]) -> Tuple[float, float, float]: + red, green, blue = (srgb_to_linear(value) for value in rgb) + ll = 0.4122214708 * red + 0.5363325363 * green + 0.0514459929 * blue + mm = 0.2119034982 * red + 0.6806995451 * green + 0.1073969566 * blue + ss = 0.0883024619 * red + 0.2817188376 * green + 0.6299787005 * blue + ll, mm, ss = ( + math.copysign(abs(ll) ** (1 / 3), ll), + math.copysign(abs(mm) ** (1 / 3), mm), + math.copysign(abs(ss) ** (1 / 3), ss), + ) + return ( + 0.2104542553 * ll + 0.7936177850 * mm - 0.0040720468 * ss, + 1.9779984951 * ll - 2.4285922050 * mm + 0.4505937099 * ss, + 0.0259040371 * ll + 0.7827717662 * mm - 0.8086757660 * ss, + ) + + +def oklab_to_rgb(lab: Tuple[float, float, float]) -> Tuple[float, float, float]: + light, aa, bb = lab + ll = light + 0.3963377774 * aa + 0.2158037573 * bb + mm = light - 0.1055613458 * aa - 0.0638541728 * bb + ss = light - 0.0894841775 * aa - 1.2914855480 * bb + ll, mm, ss = ll ** 3, mm ** 3, ss ** 3 + red = 4.0767416621 * ll - 3.3077115913 * mm + 0.2309699292 * ss + green = -1.2684380046 * ll + 2.6097574011 * mm - 0.3413193965 * ss + blue = -0.0041960863 * ll - 0.7034186147 * mm + 1.7076147010 * ss + return tuple( + max(0.0, min(1.0, linear_to_srgb(value))) for value in (red, green, blue) + ) + + +def chroma_hue(lab: Tuple[float, float, float]) -> Tuple[float, float]: + _, aa, bb = lab + return math.hypot(aa, bb), math.degrees(math.atan2(bb, aa)) % 360.0 + + +def clamp_duskwood( + base: Tuple[float, float, float], mixed: Tuple[float, float, float] +) -> Tuple[float, float, float]: + base_chroma, base_hue = chroma_hue(base) + mixed_chroma, mixed_hue = chroma_hue(mixed) + mixed_chroma = min(mixed_chroma, base_chroma + 0.015) + if mixed_chroma < 1e-8: + return (mixed[0], 0.0, 0.0) + if base_chroma >= 0.006: + shift = (mixed_hue - base_hue + 180.0) % 360.0 - 180.0 + hue = base_hue + max(-12.0, min(12.0, shift)) + else: + hue = 155.0 + radians = math.radians(hue) + return ( + mixed[0], + mixed_chroma * math.cos(radians), + mixed_chroma * math.sin(radians), + ) + + +def blend(base_value: int, wf_value: int, amount: float, duskwood: bool) -> int: + if base_value == wf_value or amount <= 0.0: + return base_value + base = rgb_to_oklab(rgb_tuple(base_value)) + modern = rgb_to_oklab(rgb_tuple(wf_value)) + mixed = tuple(a + (b - a) * amount for a, b in zip(base, modern)) + if duskwood: + mixed = clamp_duskwood(base, mixed) + return rgb_int(oklab_to_rgb(mixed)) + + +def strength(time: int, night: float, day: float) -> float: + day_weight = (1.0 - math.cos(2.0 * math.pi * (time % DAY) / DAY)) * 0.5 + return night + (day - night) * day_weight + + +def modern_field_for_band(band: int) -> int: + if band <= 7: + return 3 + band + if band == 8: + return 20 + return band + 2 + + +def apply_wf_colours(base_payload: bytes, light_data: object) -> Tuple[bytes, int]: + records, strings, fields = parse_dbc(base_payload, "LightIntBand") + if fields != 34 or strings != b"\0": + raise ValueError("unexpected LightIntBand layout") + by_id = {row[0]: row for row in records} + modern: Dict[int, List[object]] = {} + for row in light_data.rows.values(): + values = row["values"] + param = row.get("parent_id", values[1]) + if param in TARGET_PARAMS: + modern.setdefault(param, []).append(row) + missing = [param for param in TARGET_PARAMS if not modern.get(param)] + if missing: + raise ValueError("modern LightData is missing target params: %s" % missing) + + changed = 0 + for param in TARGET_PARAMS: + rows = sorted( + modern[param], key=lambda row: (row["values"][2] & 0xFFFF, row["id"]) + ) + if len(rows) > 16: + step = (len(rows) - 1) / 15.0 + rows = [rows[round(index * step)] for index in range(16)] + for band in BLENDED_BANDS: + record_id = (param - 1) * 18 + band + 1 + if record_id not in by_id: + raise ValueError("missing LightIntBand row %d" % record_id) + base_row = by_id[record_id] + modern_times = [row["values"][2] & 0xFFFF for row in rows] + field = modern_field_for_band(band) + modern_values = [row["values"][field] & 0xFFFFFF for row in rows] + modern_row = make_band(record_id, modern_times, modern_values) + base_times, _ = unpack_band(base_row) + times = sorted(set(base_times) | set(modern_times) | set(ANCHORS)) + if len(times) > 16: + raise ValueError("moderated row %d needs more than 16 keys" % record_id) + duskwood = param in DUSKWOOD_LOCAL + night, day = ((0.30, 0.15) if duskwood else (0.50, 0.25)) + values = [ + blend( + sample(base_row, time), + sample(modern_row, time), + strength(time, night, day), + duskwood, + ) + for time in times + ] + if any(sample(base_row, time) != value for time, value in zip(times, values)): + by_id[record_id][:] = make_band(record_id, times, values) + changed += 1 + return pack_dbc(records, strings, fields), changed diff --git a/README.md b/README.md index 63e92bc2..3c1cf784 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,8 @@ at any IP or hostname, appending the auth port if yours is remapped (`WOW_HOST=play.example.com:5000`). Credentials go in at the login screen, or set `WOW_USER` / `WOW_PASS` to skip it. +Optional, locally built skybox and colour-grading data: [`Optional/sky-and-grading/`](Optional/sky-and-grading/README.md). + ## Contributing Issues and pull requests are open. [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) says what gets