External Tool
PhxGUI
Community Halo Wars tooling for archives, XML conversion, ModManifest.txt, executable patching, and diagnostics.
PhxGUI is an external Halo Wars utility for working with game archives, data files, manifests, and executable patches.
Download
Use the current community release of PhxGUI. Because this is an external tool, New Arcadia documents the workflow but does not maintain the release.
Main Window
PhxGUI has a few persistent settings:
| Setting | Use |
|---|---|
Game Version | Choose Halo Wars: Definitive Edition or Xbox 360. This affects archive and XMB handling. |
ERA Expand Path | Where files from dropped .era archives are extracted. |
ERA Build Output | Where rebuilt .era files are written when dropping an .eradef. |
Validate Game Data | Loads core game data from the expand path and reports errors. |
Edit ModManifest.txt for Steam | Opens the Steam manifest editor. |
Edit ModManifest.txt for WindowsStore | Opens the Windows Store manifest editor. |
HW2 Expand Path | Work path for Halo Wars 2 package work. The visible UI exists, but HW2 PKG processing is not implemented in PhxGUI. |
HW2 Build Output | Build path for Halo Wars 2 package work. The visible UI exists, but HW2 PKG processing is not implemented in PhxGUI. |
Messages | Shows operation output, warnings, and errors. Right-click the message area to copy it. |
Drag-And-Drop Actions
PhxGUI decides what to do from the file or folder you drop.
| Drop this | Action |
|---|---|
.era | Expand one or more Halo Wars ERA archives. |
.eradef | Build an ERA archive from the definition and nearby extracted files. |
.xmb | Convert XMB files to editable XML. |
| Folder | Recursively convert XMB files inside the folder to XML. |
.exe | Patch the Halo Wars DE executable for modding support. |
.xex | Detected, but patching Xbox 360 XEX files is not supported. |
| ECF file | Expand one or more ECF files. |
.ecfdef | Build an ECF file from the definition and nearby extracted files. |
| Binary data tree file | Convert binary data tree files to XML. These are used by some material/UGX-style data. |
.sav | Decrypt a Halo Wars Windows save/profile file when it is encrypted. |
.sav_decrypted | Detected, but save re-encryption is not implemented. |
.pkg / .pkgdef | Detected for Halo Wars 2, but PKG expand/build processing is not implemented in PhxGUI. |
PhxGUI accepts groups of the same compatible file type. Mixed drops are usually rejected so it can choose one clear operation.
ERA Archives
Dropping one or more .era files expands them into the ERA Expand Path.
For Halo Wars DE, PhxGUI decrypts archives during expansion and creates a folder for each archive:
extracted
root
root_update
soundIt also produces .eradef definition files used by the ERA builder. For loose-file modding, you usually use the extracted folders as reference material and copy only the files you changed into your mod.
Useful flags for expansion:
| Flag | Effect |
|---|---|
Don't overwrite existing files | Existing extracted files are left alone. |
Decompress Scaleform files | Decompresses Scaleform files to matching .bin files. |
Transform GFX files | Converts .gfx files to matching .swf files. |
Ignore non-data files | Extracts only text and XMB-style data files. |
Skip Verification | Ignores archive checksum failures. Useful for older or unusual builds. |
Verbose Output | Adds more detail to the Messages output and logs. |
Building ERA Files
Deprecated workflow
Building .era files is deprecated for normal modding. Use loose archive folders through ModManifest.txt, and use Serina for the runtime features that used to require packaged archive work.
PhxGUI still has legacy support for dropping one .eradef to build an encrypted .era with the same base name. It reads assets beside the .eradef and writes the result to ERA Build Output.
Useful build flag:
| Flag | Effect |
|---|---|
Always build with XML instead of XMB | If the .eradef references an XMB but a matching XML exists on disk, PhxGUI uses the XML file instead. |
Beginner workflow
For normal loose-file modding, do not rebuild .era files. Use expanded folders plus ModManifest.txt.
XMB And XML
Dropping .xmb files converts them to editable XML. Dropping a folder searches it recursively and converts every XMB it finds.
Examples:
leaders.xml.xmb -> leaders.xml
data\leaders.xmb -> data\leaders.xmlBehavior:
- If
Don't overwrite existing filesis enabled, existing XML outputs are skipped. - If an output file is read-only, it is skipped.
- The converter uses the selected game version to pick the correct data size mode.
- XML-to-XMB is present in the internal converter enum, but is not implemented as a usable drag-and-drop action.
Binary Data Tree Files
PhxGUI can convert binary data tree files to XML. This format is similar in spirit to XMB and is used by some UGX/material data.
Behavior:
- Dropping a binary data tree file creates an XML version beside it.
- Existing outputs respect
Don't overwrite existing files. - XML-to-binary conversion is detected internally but not implemented as a usable workflow.
ECF Files
PhxGUI can expand and rebuild ECF files.
Dropping an ECF file expands it beside the source file and creates an .ecfdef definition. Dropping one .ecfdef rebuilds an ECF using files beside the definition.
Useful flags:
| Flag | Effect |
|---|---|
Don't overwrite existing files | Existing expanded files are left alone during ECF expansion. |
Skip Verification | Ignores ECF checksum failures. |
Verbose Output | Adds more operation detail. |
Executable Patching
Dropping the Halo Wars DE .exe attempts to patch it for modding support.
PhxGUI creates a backup beside the executable before writing changes:
xgameFinal_UNTOUCHED.exeThe patcher uses pattern matching rather than only fixed SHA1 offsets. It attempts patches for:
- ERA digital signature checks;
- a particle gateway assertion;
- user profile ticker information.
Limits:
- Read-only executables are not patched.
- If
Don't overwrite existing filesis enabled and the backup already exists, backup creation may fail. .xexfiles are detected, but Xbox 360 executable patching is not supported.- A future game update can still break pattern matching.
ModManifest.txt Editor
PhxGUI can edit the correct ModManifest.txt for Steam or Windows Store.
Common locations:
| Version | Path |
|---|---|
| Steam | C:\Users\YourName\AppData\Local\Halo Wars\ModManifest.txt |
| Windows Store | C:\Users\YourName\AppData\Local\Packages\Microsoft.BulldogThreshold_8wekyb3d8bbwe\LocalState\ModManifest.txt |
The editor stores one directory per row. Each directory should be a folder containing Halo Wars-style subfolders such as data, art, or sound.
Example:
C:\Users\YourName\Documents\Halo Wars Mods\first_mod\root_update
C:\Users\YourName\Documents\Halo Wars Mods\first_mod\root
C:\Users\YourName\Documents\Halo Wars Mods\first_mod\sharedscenarioEditor behavior:
- A checked
Disabled?row is written with;at the start. - Empty directory rows are ignored when saving.
- Invalid path characters are rejected when loading.
- Rows higher in the list are searched first.
Open Mod Folderopens the selected row.Open ModManifest Folderopens the folder containing the manifest.
Do not list only a mod parent folder unless that folder itself contains game subfolders. For the per-archive layout, list the archive folders:
...\first_mod\root
...\first_mod\sharedscenarioValidate Game Data
Validate Game Data tries to load the core game data from ERA Expand Path. Use it after expanding archives if you want to check whether the extracted data can be read by the tooling.
Output appears in the Messages area and may also be written to PhxGui.log.
Save Files
Dropping an encrypted Halo Wars Windows .sav file decrypts it to a matching decrypted file.
Behavior:
- Invalid save files are skipped.
- Already-decrypted save files are skipped.
- Existing decrypted outputs respect
Don't overwrite existing files. - Re-encrypting
.sav_decryptedfiles is not implemented.
Flags Reference
| Flag | Use |
|---|---|
Don't overwrite existing files | Prevents conversion/extraction output from replacing existing files where supported. |
Decompress Scaleform files | Writes decompressed .bin output for Scaleform files during ERA expansion. |
Transform GFX files | Converts .gfx to .swf during ERA expansion. |
Ignore non-data files | Limits ERA expansion to text and XMB-style data files. |
Separate ERA folders | Expands each ERA into its own subfolder. Current PhxGUI enables this by default. |
Always build with XML instead of XMB | During ERA build, uses matching XML files when the definition references XMB files. |
Verbose Output | Prints more detailed operation output. Enabled by default. |
Skip Verification | Skips checksum verification for ERA or ECF processing. |
Assume Drag n Drop Files are ECF | Treats all dropped files as ECF files. This is an advanced fallback for ambiguous extension-less files. |
Some internal flags are hidden from the UI because PhxGUI now handles those flows directly.
Not Implemented Or Limited
These file types or directions are visible in the source but should not be treated as finished user workflows:
| Area | Status |
|---|---|
Halo Wars 2 .pkg / .pkgdef | Detected, but expand/build processing is not implemented. |
| XML to XMB | Internal mode exists, but conversion is not implemented. |
| Binary data tree XML to binary | Internal mode exists, but conversion is not implemented. |
| Save re-encryption | .sav_decrypted is detected, but encryption is not implemented. |
Xbox 360 .xex patching | Detected, but not supported. |
First Use
Start with Getting Started. That guide uses PhxGUI to expand root.era, convert leaders.xmb, and load a small loose-file mod through ModManifest.txt.