Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b85c7687c | ||
|
|
accab7f77b | ||
|
|
8f095a52d9 | ||
|
|
358d6d3d87 | ||
|
|
61fa616d7a | ||
|
|
17606f2f1b | ||
|
|
b7d3fc97ef | ||
|
|
14786b5c8c | ||
|
|
d041363779 | ||
|
|
f6629a72cf | ||
|
|
1adaf7abfe | ||
|
|
d9bac1d0db | ||
|
|
fda823d21b | ||
|
|
f92341f98f | ||
|
|
f856170b01 | ||
|
|
1a10d63989 | ||
|
|
561e83876d | ||
|
|
78fbcc04fd | ||
|
|
329656a96a | ||
|
|
2aaa40f0f1 | ||
|
|
fc01b30fee | ||
|
|
ff00eb2024 | ||
|
|
abecbbe46e | ||
|
|
be814efbd1 | ||
|
|
6fc07001dd | ||
|
|
305b7e8d3c | ||
|
|
9200c5ea54 | ||
|
|
6de77922a5 | ||
|
|
8e566e9536 | ||
|
|
c388431f01 | ||
|
|
d12a5bbe03 | ||
|
|
ae9a56903c | ||
|
|
dae43b5172 | ||
|
|
222ad6059c | ||
|
|
30b1a4842b | ||
|
|
f7313a4f6c | ||
|
|
d7fc1ec651 | ||
|
|
5cdb9a34ba | ||
|
|
8b5e0710f8 | ||
|
|
d5f0e4cfb4 | ||
|
|
b109f2b79e | ||
|
|
c3d0fa3275 | ||
|
|
8c46301939 | ||
|
|
3110ee3484 | ||
|
|
c726d89268 | ||
|
|
6298ad9aa2 | ||
|
|
542d6a07fa | ||
|
|
0ff3b156ea | ||
|
|
52086ae178 | ||
|
|
c30f00a9fe | ||
|
|
92380df3a4 | ||
|
|
a1f7338034 | ||
|
|
658a9d9031 | ||
|
|
10b859fe7d | ||
|
|
c0610a0353 | ||
|
|
76d2cceb88 | ||
|
|
936a715efb | ||
|
|
433e38b36e | ||
|
|
042c5a967a | ||
|
|
2f95c8a504 | ||
|
|
ec10bbd213 | ||
|
|
f0af7e50c9 | ||
|
|
f628ecb8d1 | ||
|
|
1a192c7e6a | ||
|
|
62f722fcc9 | ||
|
|
5faf3646d4 | ||
|
|
9815c54d5d | ||
|
|
9b26694316 | ||
|
|
7ab2361a11 | ||
|
|
aae75164c1 | ||
|
|
2558bd0537 | ||
|
|
240b45ba13 | ||
|
|
9dfcf734a9 | ||
|
|
417364f449 | ||
|
|
59328f2942 | ||
|
|
79ee9e7064 | ||
|
|
8ca8b6d69f | ||
|
|
343f3b3ce3 | ||
|
|
36ad039025 | ||
|
|
d39a95ead5 | ||
|
|
0519a7a9d0 | ||
|
|
29a3c88c46 | ||
|
|
b5ed777869 | ||
|
|
4dd6198517 | ||
|
|
8f4f1fb69a | ||
|
|
9abe6a7f8b | ||
|
|
fdda765a7b | ||
|
|
e8da41b128 | ||
|
|
50ebd6d4ee | ||
|
|
df4e294a2f | ||
|
|
4427a1bab1 | ||
|
|
ce4936d140 |
@@ -2,13 +2,26 @@ name: Build Windows EXE
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
|
- 'feature/client-tweaks'
|
||||||
tags:
|
tags:
|
||||||
- 'v*'
|
- 'v*'
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- 'main'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: modernization-${{ github.workflow }}-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: windows-latest
|
runs-on: windows-2025
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
@@ -17,10 +30,22 @@ jobs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: '3.11'
|
python-version: '3.11.9'
|
||||||
|
|
||||||
- name: Install PyInstaller
|
- name: Install pinned build toolchain
|
||||||
run: pip install pyinstaller
|
run: python -m pip install --disable-pip-version-check -r requirements-build.txt
|
||||||
|
|
||||||
|
- name: Verify build toolchain
|
||||||
|
run: |
|
||||||
|
python --version
|
||||||
|
pyinstaller --version
|
||||||
|
python -m pip show pyinstaller pyinstaller-hooks-contrib
|
||||||
|
|
||||||
|
- name: Syntax check
|
||||||
|
run: python -m py_compile setup_tool.py setup_tool_dynamic.py remote_packages.py tests/test_safety.py
|
||||||
|
|
||||||
|
- name: Unit safety tests
|
||||||
|
run: python -m unittest discover -s tests -v
|
||||||
|
|
||||||
- name: Build EXE
|
- name: Build EXE
|
||||||
run: >
|
run: >
|
||||||
@@ -28,14 +53,49 @@ jobs:
|
|||||||
--noconsole
|
--noconsole
|
||||||
--onefile
|
--onefile
|
||||||
--icon=PurpleWowLogo.ico
|
--icon=PurpleWowLogo.ico
|
||||||
|
--add-data "PurpleWowLogo.ico;."
|
||||||
--add-data "Payload;Payload"
|
--add-data "Payload;Payload"
|
||||||
--add-data "vanilla-tweaks.exe;."
|
--add-data "vanilla-tweaks.exe;."
|
||||||
--name "WoW_Modernization_Tool"
|
--name "WoW_Modernization_Tool"
|
||||||
setup_tool.py
|
setup_tool_dynamic.py
|
||||||
|
|
||||||
|
- name: Verify EXE exists
|
||||||
|
shell: pwsh
|
||||||
|
run: |
|
||||||
|
if (-not (Test-Path "dist/WoW_Modernization_Tool.exe")) { throw "Build output missing" }
|
||||||
|
Get-Item "dist/WoW_Modernization_Tool.exe" | Format-List Name,Length,LastWriteTime
|
||||||
|
|
||||||
|
- name: Upload test artifact
|
||||||
|
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: WoW_Modernization_Tool-test
|
||||||
|
path: dist/WoW_Modernization_Tool.exe
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
# One-time production promotion for v2.0. The exact commit message keeps
|
||||||
|
# normal main pushes from publishing or modifying the v2.0 release.
|
||||||
|
- name: Create GitHub Release v2.0
|
||||||
|
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' && github.event.head_commit.message == 'release v2.0' }}
|
||||||
|
uses: softprops/action-gh-release@v3
|
||||||
|
with:
|
||||||
|
tag_name: v2.0
|
||||||
|
target_commitish: ${{ github.sha }}
|
||||||
|
files: dist/WoW_Modernization_Tool.exe
|
||||||
|
fail_on_unmatched_files: true
|
||||||
|
name: "WoW Modernization Tool v2.0"
|
||||||
|
body_path: RELEASE_NOTES.md
|
||||||
|
generate_release_notes: true
|
||||||
|
previous_tag: v1.1
|
||||||
|
make_latest: true
|
||||||
|
|
||||||
- name: Create GitHub Release
|
- name: Create GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
||||||
|
uses: softprops/action-gh-release@v3
|
||||||
with:
|
with:
|
||||||
files: dist/WoW_Modernization_Tool.exe
|
files: dist/WoW_Modernization_Tool.exe
|
||||||
|
fail_on_unmatched_files: true
|
||||||
name: "WoW Modernization Tool ${{ github.ref_name }}"
|
name: "WoW Modernization Tool ${{ github.ref_name }}"
|
||||||
body: "Release automatique générée par GitHub Actions."
|
body_path: RELEASE_NOTES.md
|
||||||
|
generate_release_notes: true
|
||||||
|
make_latest: true
|
||||||
|
|||||||
@@ -1 +1,39 @@
|
|||||||
pyinstaller --noconsole --onefile --add-data "Payload;Payload" --add-data "vanilla-tweaks.exe;." setup_tool.py
|
@echo off
|
||||||
|
setlocal
|
||||||
|
cd /d "%~dp0"
|
||||||
|
|
||||||
|
where py >nul 2>nul
|
||||||
|
if errorlevel 1 (
|
||||||
|
echo ERROR: Python launcher ^(py.exe^) was not found.
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
py -3.11 -c "import sys; a=sys.version_info[:3]; sys.exit(0 if a==(3,11,9) else f'ERROR: Python 3.11.9 is required; found {a[0]}.{a[1]}.{a[2]}')"
|
||||||
|
if errorlevel 1 exit /b 1
|
||||||
|
|
||||||
|
py -3.11 -m pip install --disable-pip-version-check -r requirements-build.txt
|
||||||
|
if errorlevel 1 exit /b 1
|
||||||
|
|
||||||
|
py -3.11 -m py_compile setup_tool.py setup_tool_dynamic.py remote_packages.py tests/test_safety.py
|
||||||
|
if errorlevel 1 exit /b 1
|
||||||
|
|
||||||
|
py -3.11 -m unittest discover -s tests -v
|
||||||
|
if errorlevel 1 exit /b 1
|
||||||
|
|
||||||
|
py -3.11 -m PyInstaller ^
|
||||||
|
--noconsole ^
|
||||||
|
--onefile ^
|
||||||
|
--icon=PurpleWowLogo.ico ^
|
||||||
|
--add-data "PurpleWowLogo.ico;." ^
|
||||||
|
--add-data "Payload;Payload" ^
|
||||||
|
--add-data "vanilla-tweaks.exe;." ^
|
||||||
|
--name "WoW_Modernization_Tool" ^
|
||||||
|
setup_tool_dynamic.py
|
||||||
|
if errorlevel 1 exit /b 1
|
||||||
|
|
||||||
|
if not exist "dist\WoW_Modernization_Tool.exe" (
|
||||||
|
echo ERROR: Build output is missing.
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
echo Build complete: dist\WoW_Modernization_Tool.exe
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
DXVK bundled component
|
||||||
|
|
||||||
|
Version: 2.6.1
|
||||||
|
Architecture: x86 / 32-bit
|
||||||
|
Component: x32/d3d9.dll
|
||||||
|
Source: https://github.com/doitsujin/dxvk/releases/tag/v2.6.1
|
||||||
|
SHA-256: 0349923a6618f2383451c170a0f24d9c8f328392179aca71826a853655982405
|
||||||
|
Size: 4452366 bytes
|
||||||
|
|
||||||
|
Identification was verified by byte-for-byte comparison against the official
|
||||||
|
DXVK 2.6.1 release archive.
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
# DXVK configuration for World of Warcraft
|
|
||||||
|
|
||||||
# Uncomment to set framerate limit
|
|
||||||
# d3d9.maxFrameRate = 1000
|
|
||||||
|
|
||||||
# Uncomment to force borderless fullscreen
|
|
||||||
# d3d9.enableDialogMode = True
|
|
||||||
|
|
||||||
# Enable GPL if supported to reduce stuttering (NVIDIA 473.33+, AMD 24.6.1+)
|
|
||||||
dxvk.enableGraphicsPipelineLibrary = Auto
|
|
||||||
# Track pipeline lifetimes to reduce memory usage
|
|
||||||
dxvk.trackPipelineLifetime = True
|
|
||||||
# Limit compiler threads to reduce memory usage
|
|
||||||
dxvk.numCompilerThreads = 4
|
|
||||||
|
|
||||||
# Allow exclusive fullscreen mode on Windows
|
|
||||||
dxvk.allowFse = True
|
|
||||||
|
|
||||||
# Disabled because VanillaFixes sets process DPI awareness
|
|
||||||
d3d9.dpiAware = False
|
|
||||||
@@ -382,6 +382,13 @@ function LoginManager:LoadAccounts()
|
|||||||
self.State.accounts = {}
|
self.State.accounts = {}
|
||||||
self.State.last = nil
|
self.State.last = nil
|
||||||
|
|
||||||
|
-- Secure-by-default: when Nampower encryption is available, enable it for
|
||||||
|
-- fresh/legacy AutoLogin state. A saved explicit false value is restored
|
||||||
|
-- below, so users who deliberately turned Encrypt off keep their choice.
|
||||||
|
if has_encryption and self.State.encrypt_passwords == nil then
|
||||||
|
self.State.encrypt_passwords = true
|
||||||
|
end
|
||||||
|
|
||||||
local login_data = ImportFile("logins")
|
local login_data = ImportFile("logins")
|
||||||
local file = self:FromFile("logins")
|
local file = self:FromFile("logins")
|
||||||
if file then
|
if file then
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,8 @@
|
|||||||
|
<Bindings>
|
||||||
|
<Binding name="Interact" header="INTERACT">
|
||||||
|
Interact(0)
|
||||||
|
</Binding>
|
||||||
|
<Binding name="Interact (auto-loot)">
|
||||||
|
Interact(1)
|
||||||
|
</Binding>
|
||||||
|
</Bindings>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
BINDING_HEADER_INTERACT = 'Interact'
|
||||||
|
|
||||||
|
StaticPopupDialogs['INTERACT_WARNING'] = {
|
||||||
|
text = 'Failed to load |cffffd200Interact|cffffffff. Follow the installation instructions to ensure proper installation.',
|
||||||
|
button1 = 'Okay',
|
||||||
|
timeout = 0,
|
||||||
|
whileDead = true,
|
||||||
|
}
|
||||||
|
|
||||||
|
if not InteractNearest then
|
||||||
|
StaticPopup_Show('INTERACT_WARNING')
|
||||||
|
end
|
||||||
|
|
||||||
|
function Interact(autoloot)
|
||||||
|
if not InteractNearest then
|
||||||
|
StaticPopup_Show('INTERACT_WARNING')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
InteractNearest(autoloot)
|
||||||
|
end
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
## Interface: 11200
|
||||||
|
## Title: Interact |cff808080by luskanek
|
||||||
|
## Author: luskanek
|
||||||
|
## Notes: Interact Key from Retail ported to Vanilla.
|
||||||
|
## Version: GIT
|
||||||
|
|
||||||
|
Interact.lua
|
||||||
|
|
||||||
|
Bindings.xml
|
||||||
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
Binary file not shown.
@@ -0,0 +1,606 @@
|
|||||||
|
{
|
||||||
|
"schema": 1,
|
||||||
|
"components": {
|
||||||
|
"AuctionQueryThrottle fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/AuctionQueryThrottle.dll",
|
||||||
|
"sha256": "720b7ad72941206249df23cb9d36addafa2634f190081f7b33834b84af184f5e",
|
||||||
|
"size": 92672
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/brues-code/AuctionQueryThrottle/releases/download/v1.2.0/AuctionQueryThrottle.dll",
|
||||||
|
"version": "v1.2.0"
|
||||||
|
},
|
||||||
|
"ClassicAPI fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/ClassicAPI.dll",
|
||||||
|
"sha256": "2a823b141326383a56fba100d09f5a72f34798b08f38fa9340e5bdc2ee31dc65",
|
||||||
|
"size": 1145856
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/brues-code/ClassicAPI/releases/download/v1.12.7/ClassicAPI.dll",
|
||||||
|
"version": "v1.12.7"
|
||||||
|
},
|
||||||
|
"DXVK": {
|
||||||
|
"version": "v2.6.1 x86",
|
||||||
|
"source": "https://github.com/doitsujin/dxvk/releases/tag/v2.6.1",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/DXVK_Standard/d3d9.dll",
|
||||||
|
"size": 4452366,
|
||||||
|
"sha256": "0349923a6618f2383451c170a0f24d9c8f328392179aca71826a853655982405"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"FishPing fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/FishPing/Sound/Spells/Tradeskills/FishBite.wav",
|
||||||
|
"sha256": "80497c141e2dfe1dde5cc78d0afc7e1381363e8f1dd491af8dd8faa70d872def",
|
||||||
|
"size": 44596
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://codeload.github.com/notsureawake/FishPing/zip/refs/heads/master",
|
||||||
|
"version": "master"
|
||||||
|
},
|
||||||
|
"Interact fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Interact/Interact.dll",
|
||||||
|
"sha256": "ab716314eed559a10607ecdc655f71911196ffae69706cf1d373d01df86a915d",
|
||||||
|
"size": 55808
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/lookino/Interact/releases/download/v1.0.4/Interact.zip",
|
||||||
|
"version": "v1.0.4"
|
||||||
|
},
|
||||||
|
"Nampower": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/nampower.dll",
|
||||||
|
"sha256": "304bdb35bc00b18ee092b3bc01195319f717c37d9c6babe6775e8fe278229d22",
|
||||||
|
"size": 1058816
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/brues-code/nampower/releases/download/v4.6.1/nampower-v4.6.1.zip",
|
||||||
|
"version": "v4.6.1"
|
||||||
|
},
|
||||||
|
"no1600x1200": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/no1600x1200.dll",
|
||||||
|
"sha256": "0df2274116278e8330dd7069902b642f1a83f33fefd909807a22eda197d88652",
|
||||||
|
"size": 104960
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://raw.githubusercontent.com/RetroCro/TurtleWoW-Mods/refs/heads/main/Archive/DLL%20BACKUP/no1600x1200.dll",
|
||||||
|
"version": "RetroCro main"
|
||||||
|
},
|
||||||
|
"NoErrorSounds fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/interface/uChatScrollButton.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/interface/iUiInterfaceButtonA.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/interface/uEscapeScreenClose.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/interface/uEscapeScreenOpen.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/Spells/Fizzle/FizzleFrostA.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/Spells/Fizzle/FizzleNatureA.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/Spells/Fizzle/FizzleHolyA.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/Spells/Fizzle/FizzleFireA.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/NoErrorSounds/Sound/Spells/Fizzle/FizzleShadowA.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://codeload.github.com/Macumbafeh/NoErrorSounds/zip/refs/heads/main",
|
||||||
|
"version": "main"
|
||||||
|
},
|
||||||
|
"PerfBoost": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/perf_boost.dll",
|
||||||
|
"sha256": "7019e2f31c4f56caa616f1b4b2587c56ff276f2c27c9f35535e2578eafbd4dbe",
|
||||||
|
"size": 578560
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://raw.githubusercontent.com/RetroCro/TurtleWoW-Mods/refs/heads/main/Archive/DLL%20BACKUP/perf_boost.dll",
|
||||||
|
"version": "RetroCro main"
|
||||||
|
},
|
||||||
|
"SuperWoW": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/SuperWoWhook.dll",
|
||||||
|
"sha256": "bd214b32c878649e94ce654835946bd05e0ce7710e8f01bae10d8ab50a89351d",
|
||||||
|
"size": 1000448
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/balakethelock/SuperWoW/releases/download/Release/SuperWoW.release.2.2.zip",
|
||||||
|
"version": "Release"
|
||||||
|
},
|
||||||
|
"UnitXP_SP3": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/UnitXP_SP3.dll",
|
||||||
|
"sha256": "1d1a622fc4fd74864bdd5aa29d8c4ed2dd5cbb0340f978cbf4daca815235d10a",
|
||||||
|
"size": 185344
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/brues-code/UnitXP_SP3/releases/download/v90/UnitXP_SP3-v90.zip",
|
||||||
|
"version": "v90"
|
||||||
|
},
|
||||||
|
"vanilla-tweaks fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "vanilla-tweaks.exe",
|
||||||
|
"sha256": "e386132fd0e5713818893a9cef9e5ae41d99baff2da03f190911d351cc5ed090",
|
||||||
|
"size": 5927433
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/tubtubs/vanilla-tweaks/releases/download/tag/vanilla-tweaks_tag_x86_64-pc-windows-gnu.zip",
|
||||||
|
"version": "tag"
|
||||||
|
},
|
||||||
|
"VanillaFixes": {
|
||||||
|
"version": "v1.5.3",
|
||||||
|
"source": "https://github.com/hannesmann/vanillafixes/releases/tag/v1.5.3",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/VanillaFixes.exe",
|
||||||
|
"size": 88576,
|
||||||
|
"sha256": "228d7bb5e3b5b0c2062d6c5f40c38c2a173e4c80d8a5d9e4077be800431b48a3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/VfPatcher.dll",
|
||||||
|
"size": 72704,
|
||||||
|
"sha256": "f283b6b5ad8042e7995eff9768c150042dd47de6e5f00ffe530d2e67743df81d"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"VanillaHelpers": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/VanillaHelpers.dll",
|
||||||
|
"sha256": "1e74ddf6484c23482550d5f9e5f9d291085c4ac538d3b3ed9d87155521841196",
|
||||||
|
"size": 254976
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/isfir/VanillaHelpers/releases/download/v1.1.2/VanillaHelpers.dll",
|
||||||
|
"version": "v1.1.2"
|
||||||
|
},
|
||||||
|
"VanillaMultiMonitorFix fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/VanillaMultiMonitorFix/VanillaMultiMonitorFix.dll",
|
||||||
|
"sha256": "7fa033e744c4b8794a4c97a45d563a8870264244bfa1e478a1c0f85e0c6e3371",
|
||||||
|
"size": 28160
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/VanillaMultiMonitorFix/VMMFix_preferred_monitor.txt",
|
||||||
|
"sha256": "6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b",
|
||||||
|
"size": 1
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/Mates1500/VanillaMultiMonitorFix/releases/download/0.2/release.zip",
|
||||||
|
"version": "0.2"
|
||||||
|
},
|
||||||
|
"WarlockMutedDemons fallback": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_KILL03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_KILL02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_DISMISS03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_DISMISS04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_SUMMON04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_ORDER01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_SUMMON02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_FUNNY.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_ORDER03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_DISMISS01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_SUMMON03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_SUMMON01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_ORDER02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_KILL01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_KILL04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_DISMISS02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/DoomGuardVO/DOOM_ORDER05.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_SUMMON02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_ORDER03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_KILL04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_ORDER05.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_ORDER01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_DISMISS03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_SUMMON01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_SUMMON03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_FUNNY.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_ORDER02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_SUMMON04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_KILL02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_DISMISS02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_DISMISS01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_DISMISS04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_KILL01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/VoidWalkerVO/VOID_KILL03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_KILL02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_ORDER04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_DISMISS03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_DISMISS02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_KILL03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_ORDER02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_ORDER01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_DISMISS04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_KILL04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_DISMISS05.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_ORDER03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_FUNNY.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/ImpVO/IMP_KILL01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_DISMISS04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_FUNNY.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_SUMMON02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_KILL03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_SUMMON03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_KILL04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_SUMMON01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_KILL02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_ORDER02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_DISMISS03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_DISMISS01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_ORDER01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_KILL01.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_ORDER05.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_DISMISS02.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_ORDER03.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/Fallback/Audio/WarlockMutedDemons/Data/Sound/Creature/SuccubusVO/SUCCUBUS_SUMMON04.wav",
|
||||||
|
"sha256": "4f1c48e911f813417f6f7324e68e0b09dab1ebb09032c7d7a940168c5d92a954",
|
||||||
|
"size": 482
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://codeload.github.com/spzilyk/Warlock-Muted-Demons/zip/refs/heads/main",
|
||||||
|
"version": "main"
|
||||||
|
},
|
||||||
|
"WeirdPerformance": {
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/weirdperformance.dll",
|
||||||
|
"sha256": "872b73e9074b8fd95f968b099adf4139591c10ab6cd916c96082ed4a7b7b8c69",
|
||||||
|
"size": 204288
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://codeberg.org/Dusk92/WeirdUtils/releases/download/0.7.3/weirdperformance.dll",
|
||||||
|
"version": "0.7.3"
|
||||||
|
},
|
||||||
|
"WeirdUtils bundled modules": {
|
||||||
|
"version": "v0.7.0",
|
||||||
|
"source": "https://codeberg.org/MarcelineVQ/WeirdUtils/releases/tag/v0.7.0",
|
||||||
|
"note": "All listed bundled modules were verified byte-for-byte against WeirdUtils v0.7.0. WorldMarkers is tracked separately because it was updated to v0.7.1.",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/transmogfix.dll",
|
||||||
|
"size": 12800,
|
||||||
|
"sha256": "cd9e4c6ce033b0923cf045269f590f5e0b886bd03f43bd81406670d781452210"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/WeirdUtils/bigcursor.dll",
|
||||||
|
"size": 14848,
|
||||||
|
"sha256": "daa85d8e29e5458fd9962f922ba1e2a65ff2ac6cddff1242a2d6240c287a22d8"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/WeirdUtils/customassets.dll",
|
||||||
|
"size": 16384,
|
||||||
|
"sha256": "86f3a24cfbaa8d775bdab280d63fbf48b445d8789c2759fe912183462f36f06f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/WeirdUtils/logsessions.dll",
|
||||||
|
"size": 14848,
|
||||||
|
"sha256": "f5f37e449dc4646b6d2de8c01e57b954ab2fb7950bef372ddba2c744fb7b9841"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/WeirdUtils/minimapicons.dll",
|
||||||
|
"size": 142848,
|
||||||
|
"sha256": "a6821e088d0f8ffa7806e88e1b8686f4ec715a218f74f62d6f33bd9bcf91583e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "Payload/WeirdUtils/pngscreenshots.dll",
|
||||||
|
"size": 16896,
|
||||||
|
"sha256": "44ca42ac8428eb4e69017ad264b8e86206e803ccbe3a3591d6ba1916d7888dca"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"WeirdUtils WorldMarkers": {
|
||||||
|
"version": "v0.7.1",
|
||||||
|
"source": "https://codeberg.org/MarcelineVQ/WeirdUtils/releases/tag/v0.7.1",
|
||||||
|
"note": "Bug-fix release: relaxes overly strict zone checking that could prevent valid world markers from appearing.",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"path": "Payload/WeirdUtils/worldmarkers.dll",
|
||||||
|
"size": 488448,
|
||||||
|
"sha256": "7b0b0fcdb8bb9e82c5a18ab395af670f57da3e03035b27d5e244e4f8b457fdf2"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
# UnitXP_SP3_Addon
|
|
||||||
Vanilla 1.12 Lua Addon for supporting [UnitXP SP3 mod](https://codeberg.org/konaka/UnitXP_SP3)
|
|
||||||
@@ -374,12 +374,13 @@ local function UnitXP_SP3_setShowInCombatNameplatesNearPlayer(enable)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function UnitXP_SP3_setWeatherAlwaysClear(enable)
|
local function UnitXP_SP3_setWeatherAlwaysClear(enable)
|
||||||
local test, result;
|
local subcmd;
|
||||||
if enable then
|
if enable == "enable" then
|
||||||
test, result = pcall(UnitXP, "weatherAlwaysClear", "disableRain");
|
subcmd = "disableRain";
|
||||||
else
|
else
|
||||||
test, result = pcall(UnitXP, "weatherAlwaysClear", "enableRain");
|
subcmd = "enableRain";
|
||||||
end
|
end
|
||||||
|
local test, result = pcall(UnitXP, "weatherAlwaysClear", subcmd);
|
||||||
|
|
||||||
if not test then
|
if not test then
|
||||||
if not skipUpdateMessage then
|
if not skipUpdateMessage then
|
||||||
@@ -612,10 +613,10 @@ local function UnitXP_SP3_reloadConfig()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if UnitXP_SP3_Addon["weatherAlwaysClear"] then
|
if UnitXP_SP3_Addon["weatherAlwaysClear"] then
|
||||||
UnitXP_SP3_setWeatherAlwaysClear(true);
|
UnitXP_SP3_setWeatherAlwaysClear("enable");
|
||||||
xpsp3_checkButton_weatherAlwaysClear:SetChecked(true);
|
xpsp3_checkButton_weatherAlwaysClear:SetChecked(true);
|
||||||
else
|
else
|
||||||
UnitXP_SP3_setWeatherAlwaysClear(false);
|
UnitXP_SP3_setWeatherAlwaysClear("disable");
|
||||||
xpsp3_checkButton_weatherAlwaysClear:SetChecked(false);
|
xpsp3_checkButton_weatherAlwaysClear:SetChecked(false);
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
### Nampower settings
|
|
||||||
See ~~https://gitea.com/avitasia/nampower~~ https://github.com/Emyrk/nampower for in game tooltip for description of each setting.
|
|
||||||
Access settings in game by right clicking the minimap icon.
|
|
||||||
|
|
||||||
### Per Character settings
|
|
||||||
You can now use different nampower settings for each character. When you enable this option it will save all of your current nampower settings into
|
|
||||||
WTF\Account\YOUR_ACCOUNT\Nordanaar\YOUR_CHARACTER\SavedVariables\NampowerSettings.lua. Then every time the game loads the settings in that file will overwrite both the nampower defaults and whatever cvars were saved in your main Config.wtf. If you make changes to any settings while this option is enabled it will save to that character's settings file AS WELL AS the main Config.wtf.
|
|
||||||
|
|
||||||
#### Queued spell icon display
|
|
||||||
If you have superwow there is an option (default off) to display an icon for the most recently queued spell (the mini fireball in the castbar). You can resize and position it anywhere.
|
|
||||||
|
|
||||||

|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
@@ -602,6 +602,7 @@ PerfBoostOptions.hasIcon = "Interface\\Icons\\Spell_Nature_Strength"
|
|||||||
PerfBoostOptions.defaultMinimapPosition = 180
|
PerfBoostOptions.defaultMinimapPosition = 180
|
||||||
PerfBoostOptions.independentProfile = true
|
PerfBoostOptions.independentProfile = true
|
||||||
PerfBoostOptions.hideWithoutStandby = false
|
PerfBoostOptions.hideWithoutStandby = false
|
||||||
|
PerfBoostOptions.db = PerfBoost.db
|
||||||
|
|
||||||
PerfBoostOptions.OnMenuRequest = PerfBoost.cmdtable
|
PerfBoostOptions.OnMenuRequest = PerfBoost.cmdtable
|
||||||
local args = AceLibrary("FuBarPlugin-2.0"):GetAceOptionsDataTable(PerfBoostOptions)
|
local args = AceLibrary("FuBarPlugin-2.0"):GetAceOptionsDataTable(PerfBoostOptions)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
+14
-81
@@ -1,87 +1,20 @@
|
|||||||
# -------------------------------------------------------------------------
|
# DXVK configuration for World of Warcraft
|
||||||
# TURTLE WOW (1.12) DXVK CONFIGURATION
|
|
||||||
# -------------------------------------------------------------------------
|
|
||||||
|
|
||||||
# --- WINDOWING & DISPLAY STABILITY ---
|
# Uncomment to set framerate limit
|
||||||
# "False" disables Exclusive Fullscreen. This is critical for screen capture
|
# d3d9.maxFrameRate = 1000
|
||||||
# reliability (OBS/Discord) and ensures the game behaves like a borderless
|
|
||||||
# window, allowing seamless alt-tabbing.
|
|
||||||
dxvk.allowFse = False
|
|
||||||
|
|
||||||
# Forces Vulkan to handle vertical sync logic within the window container.
|
# Uncomment to force borderless fullscreen
|
||||||
# This prevents screen tearing in windowed modes without the heavy input
|
# d3d9.enableDialogMode = True
|
||||||
# lag penalty typically associated with standard V-Sync.
|
|
||||||
dxvk.tearFree = True
|
|
||||||
|
|
||||||
# Defers the creation of the rendering surface until the window is fully
|
# Enable GPL if supported to reduce stuttering (NVIDIA 473.33+, AMD 24.6.1+)
|
||||||
# initialized. This fixes the "Black Screen" or "White Screen" hangs
|
dxvk.enableGraphicsPipelineLibrary = Auto
|
||||||
# often seen when launching the 1.12 client or alt-tabbing back into it.
|
# Track pipeline lifetimes to reduce memory usage
|
||||||
d3d9.deferSurfaceCreation = True
|
dxvk.trackPipelineLifetime = True
|
||||||
|
# Limit compiler threads to reduce memory usage
|
||||||
|
dxvk.numCompilerThreads = 4
|
||||||
|
|
||||||
# --- STABILITY (CRITICAL FOR 32-BIT CLIENTS) ---
|
# Allow exclusive fullscreen mode on Windows
|
||||||
# The 1.12 client uses a signed 32-bit integer to query VRAM.
|
dxvk.allowFse = True
|
||||||
# On GPUs with high VRAM, this can overflow into negative values, causing
|
|
||||||
# crashes. Capping the report to 4096MB prevents integer overflow errors.
|
|
||||||
# Options: Any integer (MB). 0 = Autodetect (unsafe for 1.12).
|
|
||||||
d3d9.maxAvailableMemory = 4096
|
|
||||||
|
|
||||||
# Aggressively evicts texture data from System RAM once uploaded to the GPU.
|
# Disabled because VanillaFixes sets process DPI awareness
|
||||||
# This significantly reduces the Virtual Memory footprint of the 32-bit
|
|
||||||
# process, helping to prevent "Error #132" (Out of Memory) crashes.
|
|
||||||
d3d9.evictManagedOnUnlock = True
|
|
||||||
|
|
||||||
# --- VISUAL FIDELITY ---
|
|
||||||
# Forces 4x MSAA (Multisample Anti-Aliasing) via the Vulkan backend.
|
|
||||||
# This provides much cleaner edge smoothing than the native WoW 1.12
|
|
||||||
# implementation. (Note: Set WoW's internal "Multisampling" to 1x/Off).
|
|
||||||
# Options: -1 (Off), 0 (Off), 2, 4, 8, 16.
|
|
||||||
d3d9.forceSwapchainMSAA = 16
|
|
||||||
|
|
||||||
# Forces 16x Anisotropic Filtering via Vulkan.
|
|
||||||
# Overrides the legacy 1.12 filtering implementation, providing sharper
|
|
||||||
# textures on angled surfaces (roads, hills) with negligible performance cost.
|
|
||||||
# Options: -1 (Game Default), 0 (Off), 1, 2, 4, 8, 16.
|
|
||||||
d3d9.samplerAnisotropy = 16
|
|
||||||
|
|
||||||
# Prevents texture shimmering or "noise" when the camera is moving
|
|
||||||
# by clamping negative Level of Detail bias.
|
|
||||||
d3d9.clampNegativeLodBias = True
|
|
||||||
|
|
||||||
# Forces the use of the hardware cursor.
|
|
||||||
# This decouples the cursor from the game's render loop, preventing mouse
|
|
||||||
# lag or disappearance during framerate dips.
|
|
||||||
d3d9.cursor = True
|
|
||||||
|
|
||||||
# --- PERFORMANCE & SMOOTHNESS ---
|
|
||||||
# Enables "Graphics Pipeline Library" (Fast Linking).
|
|
||||||
# "Auto" uses fast linking to compile shaders instantly (eliminating stutter)
|
|
||||||
# while simultaneously optimizing them on a background thread.
|
|
||||||
# Options: Auto (Recommended), True (Force On), False (Force Off).
|
|
||||||
dxvk.enableGraphicsPipelineLibrary = auto
|
|
||||||
|
|
||||||
# Explicitly enables the state cache to ensure compiled shaders are saved
|
|
||||||
# to disk. This prevents micro-stutters on subsequent game launches.
|
|
||||||
dxvk.stateCache = True
|
|
||||||
|
|
||||||
# Sets the number of frame buffers.
|
|
||||||
# Set to 2 to minimize input latency for reactive combat. The "tearFree"
|
|
||||||
# setting above handles the smoothness, so 3 buffers are unnecessary and
|
|
||||||
# only add input lag.
|
|
||||||
# Options: 1 (Double Buffering), 2 (Triple Buffering), 3+ (Extra Buffering).
|
|
||||||
dxvk.numBackBuffers = 2
|
|
||||||
|
|
||||||
# Limits the number of frames the CPU can queue ahead of the GPU.
|
|
||||||
# Keeping this at 1 ensures input remains as snappy as possible,
|
|
||||||
# counteracting latency from windowed mode presentation.
|
|
||||||
# Options: 1-16 (Lower = Less Input Lag, Higher = Smoother Pacing).
|
|
||||||
d3d9.maxFrameLatency = 1
|
|
||||||
|
|
||||||
# --- SYSTEM INTERACTION ---
|
|
||||||
# Disables logging to minimize disk I/O and unnecessary CPU overhead.
|
|
||||||
# Options: none, error, warn, info, debug.
|
|
||||||
dxvk.logLevel = none
|
|
||||||
|
|
||||||
# Disables High DPI awareness in DXVK.
|
|
||||||
# Prevents double-scaling issues if the operating system is using
|
|
||||||
# display scaling (e.g., 125% or 150%).
|
|
||||||
d3d9.dpiAware = False
|
d3d9.dpiAware = False
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,109 @@
|
|||||||
|
# 🛠️ WoW Modernization Tool v2.0
|
||||||
|
|
||||||
|
This is a major update focused on **easier setup, safer updates, automatic component refreshes and new optional client improvements**.
|
||||||
|
|
||||||
|
Existing users do **not** need to reinstall WoW. Select your current game folder, review your options and click **Apply Setup & Tweaks**.
|
||||||
|
|
||||||
|
## 🔄 Automatic Updates & Offline Protection
|
||||||
|
|
||||||
|
Supported components can now be refreshed directly from their upstream releases when you apply the setup.
|
||||||
|
|
||||||
|
If an online update is unavailable, the tool will keep a valid installed version or use a bundled known-good fallback when available. Existing working files are preserved whenever possible instead of being replaced unnecessarily.
|
||||||
|
|
||||||
|
## 🎮 Rendering & DXVK
|
||||||
|
|
||||||
|
Renderer selection is now simpler:
|
||||||
|
|
||||||
|
- **VanillaFixes — DirectX 9** *(default)* — uses WoW's native DirectX 9 renderer.
|
||||||
|
- **VanillaFixes + DXVK — Vulkan** — translates DirectX 9 to Vulkan and may provide smoother frame pacing on modern systems.
|
||||||
|
|
||||||
|
The bundled DXVK version is now **2.6.1 x86** with a configuration aligned with VanillaFixes.
|
||||||
|
|
||||||
|
Switching back to DirectX 9 now safely moves unknown existing D3D9 wrapper files out of the WoW root instead of deleting them.
|
||||||
|
|
||||||
|
## 🧩 New & Updated Plugins
|
||||||
|
|
||||||
|
- **ClassicAPI** — adds newer WoW API functions so compatible modern addons can work on the Vanilla client.
|
||||||
|
- **AuctionQueryThrottle** — removes the fixed Auction House query delay for much faster searches.
|
||||||
|
- **VanillaMultiMonitorFix** — improves resolution, refresh-rate and monitor detection on multi-monitor setups.
|
||||||
|
- **Interact** — adds a modern interaction key for nearby NPCs, objects, gathering nodes and loot.
|
||||||
|
- **WorldMarkers 0.7.1** — updated optional world-marker support.
|
||||||
|
- **WeirdPerformance 0.7.3** — updated engine/runtime optimizations for client smoothness and reduced overhead.
|
||||||
|
|
||||||
|
## ⚙️ New Client Tweaks
|
||||||
|
|
||||||
|
- **Unlimited AddOn Script Memory** — removes WoW's AddOn memory limit.
|
||||||
|
- **Cross-Faction Resurrection Fix** — improves resurrection handling for released cross-faction players.
|
||||||
|
- **Custom Glues Patch** — enables custom login and character-selection interface modifications.
|
||||||
|
- **Automatically Clear WDB** — clears stale WDB cache data and safely manages the WDB blocker.
|
||||||
|
- **SuperWoW conflict prevention** — equivalent vanilla-tweaks patches are automatically skipped when SuperWoW already handles FoV, Sound Channels, Auto-Loot or Background Sound.
|
||||||
|
|
||||||
|
## 🌙 New Visual Mods
|
||||||
|
|
||||||
|
All visual mods are optional and disabled by default.
|
||||||
|
|
||||||
|
- **Bluemoon Patch** — restores the rare blue moon visual effect.
|
||||||
|
- **Darker Nights** — makes nighttime environments darker and more atmospheric.
|
||||||
|
- **Pretty Night Sky** — replaces the Vanilla night sky with a more detailed starry sky.
|
||||||
|
- **Epoch Water** — replaces the original Vanilla water textures.
|
||||||
|
- **Fog Pushback** — pushes environmental fog farther away for clearer long-distance visibility.
|
||||||
|
- **Pink Herbs** — makes herb nodes bright pink/purple so they are easier to spot.
|
||||||
|
|
||||||
|
## 🔊 New Audio Mods
|
||||||
|
|
||||||
|
All audio mods are optional and disabled by default.
|
||||||
|
|
||||||
|
- **NoErrorSounds** — removes many repetitive spell fizzle/error and interface sounds.
|
||||||
|
- **FishPing** — replaces the fishing bite sound with a much easier-to-hear ping.
|
||||||
|
- **Warlock Muted Demons** — mutes many repetitive Warlock demon voice lines.
|
||||||
|
|
||||||
|
## 🔐 AutoLogin Security Improvements
|
||||||
|
|
||||||
|
When **AutoLogin + Nampower** are enabled together, Modernization Tool now automatically creates or reuses the Windows user encryption key required by Nampower.
|
||||||
|
|
||||||
|
AutoLogin also enables password encryption by default when encryption is available. Existing user encryption keys are never replaced, and an explicit user choice to disable AutoLogin encryption is preserved.
|
||||||
|
|
||||||
|
## 💾 Installer & Safety Improvements
|
||||||
|
|
||||||
|
- Settings are remembered separately for each WoW installation.
|
||||||
|
- Manually added entries and comments in `dlls.txt` are preserved.
|
||||||
|
- Downloaded/bundled DLLs are validated before installation.
|
||||||
|
- Important replacements are performed transactionally to reduce the risk of partial installs.
|
||||||
|
- Existing valid files are kept when an upstream download fails.
|
||||||
|
- Large visual mods are not re-downloaded when the installed revision is already current.
|
||||||
|
- Legacy Modernization Tool files are cleaned up safely.
|
||||||
|
- The selected game folder is validated before changes are made.
|
||||||
|
|
||||||
|
## 🚀 Launcher Improvements
|
||||||
|
|
||||||
|
After installation, **Play Modernized WoW** is created both:
|
||||||
|
|
||||||
|
- in the WoW game folder;
|
||||||
|
- on the Windows Desktop.
|
||||||
|
|
||||||
|
Use either shortcut to launch the modernized client.
|
||||||
|
|
||||||
|
## 📦 Notable Bundled / Known-Good Versions
|
||||||
|
|
||||||
|
- VanillaFixes **1.5.3**
|
||||||
|
- DXVK **2.6.1 x86**
|
||||||
|
- Nampower **4.6.1**
|
||||||
|
- ClassicAPI **1.12.7**
|
||||||
|
- AuctionQueryThrottle **1.2.0**
|
||||||
|
- UnitXP_SP3 **v90**
|
||||||
|
- SuperWoW **2.2**
|
||||||
|
- VanillaHelpers **1.1.2**
|
||||||
|
- WeirdPerformance **0.7.3**
|
||||||
|
- WorldMarkers **0.7.1**
|
||||||
|
- VanillaMultiMonitorFix **0.2**
|
||||||
|
- Interact **1.0.4**
|
||||||
|
|
||||||
|
## ✅ Updating from v1.1
|
||||||
|
|
||||||
|
Download **WoW_Modernization_Tool.exe**, select your existing WoW installation and click **Apply Setup & Tweaks**.
|
||||||
|
|
||||||
|
A complete WoW reinstall is not required.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
The detailed change list since **v1.1** is generated automatically by GitHub below.
|
||||||
+1365
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user