tzero86/warwolf-patcher
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
██ ██ ▄▄▄ ▄▄▄▄ ██ ██ ▄▄▄ ▄▄ ▄▄▄▄▄ █████▄ ▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄ ▄▄ ▄▄ ▄▄▄▄▄ ▄▄▄▄
██ ▄█▄ ██ ██▀██ ██▄█▄ ██ ▄█▄ ██ ██▀██ ██ ██▄▄ ██▄▄█▀ ██▀██ ██ ██▀▀▀ ██▄██ ██▄▄ ██▄█▄
▀██▀██▀ ██▀██ ██ ██ ▀██▀██▀ ▀███▀ ██▄▄▄ ██ ██ ██▀██ ██ ▀████ ██ ██ ██▄▄▄ ██ ██
Ace Combat: Assault Horizon - Enhanced Edition Save Fix
Warwolf Patcher v1.0
────────────────────────────────────────────────────────────────────────────────
A fix for the delisted Enhanced Edition that can no longer create save data
through Steam Cloud. Warwolf Patcher installs a small proxy DLL that keeps
every other Steam API function unchanged, but redirects only the
ISteamRemoteStorage file operations to your local folder:
C:\Users\<you>\Documents\NAMCO\ACAH\savedata
Your game executable is NOT modified. Named for Warwolf Squadron (Bishop's unit).
QUICK START (recommended)
─────────────────────────
1. Get WarwolfPatcher.exe (from the latest release, or build it - see below).
2. Run WarwolfPatcher.exe (no install needed).
- It auto-detects your game folder from Steam. If it can't, just drop the
.exe next to Ace Combat_AH.exe and run it again.
3. In the menu choose Apply fix and press Enter.
4. Launch the game normally from Steam.
That's it - saves now write locally and the in-game "limited space" error is gone.
USING THE PATCHER
─────────────────
WarwolfPatcher.exe is a small native TUI (~140 KB, no dependencies):
WarwolfPatcher.exe Interactive menu (default)
WarwolfPatcher.exe --apply Apply fix silently / for scripts
WarwolfPatcher.exe --restore Restore the original Steam API
WarwolfPatcher.exe --preview Render the menu once and exit
WarwolfPatcher.exe --version Print version
WarwolfPatcher.exe --help Usage
Menu actions:
- Apply fix installs the proxy and creates the save folder
- Restore original undoes the fix (restores the backed-up DLL)
- Open save folder opens Documents\NAMCO\ACAH\savedata in Explorer
- About what the fix does and why
FALLBACK: the .bat scripts
──────────────────────────
If you can't or don't want to run the .exe (e.g. antivirus blocks it):
warwolf_apply.bat installs the fix (same effect as "Apply fix")
warwolf_restore.bat restores the original Steam API
Both must sit next to warwolf_proxy.dll in the game folder.
FILES IN THIS REPO
──────────────────
WarwolfPatcher.exe Prebuilt native patcher (bundled proxy DLL).
warwolf_patcher.c Patcher source.
warwolf_patcher.rc Manifest resource script.
WarwolfPatcher.exe.manifest asInvoker manifest (prevents UAC prompts).
proxy_data.h Generated: the proxy DLL embedded as a C array.
gen_payload.py Regenerates proxy_data.h from warwolf_proxy.dll.
warwolf_proxy.dll The 32-bit proxy DLL itself.
warwolf_proxy.c Full source of the proxy DLL.
warwolf_proxy.def Export forwarding definitions for the proxy.
warwolf_apply.bat Batch installer (fallback).
warwolf_restore.bat Batch uninstaller (fallback).
README.txt This file.
Note: Valve's original steam_api.dll is NOT included. The patcher backs up
your own installed copy as steam_api_original.dll on first apply.
BUILDING
────────
Requires MinGW-w64 (i686, 32-bit) since the game is a 32-bit executable.
# 1. Build the proxy DLL
gcc -m32 -shared -O2 -o warwolf_proxy.dll warwolf_proxy.c \
warwolf_proxy.def -lshell32 -lshlwapi -Wl,--enable-stdcall-fixup
# 2. Regenerate the embedded payload header
python gen_payload.py warwolf_proxy.dll proxy_data.h
# 3. Build the patcher (the manifest stops UAC installer-detection prompts)
windres warwolf_patcher.rc -O coff -o warwolf_patcher_res.o
gcc -m32 -O2 -o WarwolfPatcher.exe warwolf_patcher.c warwolf_patcher_res.o \
-lshlwapi -lshell32 -Wl,--enable-stdcall-fixup
HOW IT WORKS
────────────
- steam_api.dll in the game folder is replaced by our proxy.
- All exports are forwarded to steam_api_original.dll (your real Valve DLL),
so achievements, matchmaking, leaderboards, etc. keep working.
- Only SteamRemoteStorage() is intercepted: the returned interface's vtable is
patched in place so the save-related methods (FileWrite/FileRead/FileExists/
FileDelete/GetFileSize/GetFileCount/GetFileNameAndSize/GetQuota) read and
write to your local Documents folder instead of Steam Cloud.
IMPORTANT NOTES
───────────────
- Do NOT run Steam's "Verify integrity of game files" while the fix is active.
If you do, just run WarwolfPatcher.exe -> Apply fix again.
- Saves are LOCAL ONLY. They do not sync through Steam Cloud. Back up the
savedata folder yourself if you care about it.
- If your antivirus quarantines the proxy DLL (heuristics on injected DLLs),
add the game folder to exclusions, or use the .bat installer.
TROUBLESHOOTING
───────────────
- "Game folder not found": place WarwolfPatcher.exe next to
Ace Combat_AH.exe and run it again.
- Still can't save after applying: confirm steam_api.dll in the game folder
has the same size/date as the bundled proxy. Check the log at
Documents\NAMCO\ACAH\steam_api_proxy.log.
License: MIT (see LICENSE). Valve's steam_api.dll is not redistributed.