What does Wrye Bash do?
- It makes it safe to try out new mods because it will restore everything to the way it was when you uninstall a mod
- It makes more mods compatible with each other by importing information from different mods into a "bashed patch"
- It allows you to exceed the 255 mod threshold by automatically merging mods for you
- What the heck do all these acronyms mean?
Yeah, to save typing, we often sling around terminology that can be confusing to newcomers. Here's a quick rundown of what we mean:- WB: Wrye Bash. Written in Python.
- WBSA: Wrye Bash Standalone. Wrye Bash packaged with the required Python interpreter and all dependencies into one neat executable package. Still internally runs on Python, but since the interpreter is internal to the exe, no Python components are required to be installed.
- PBash: A Bashed Patch built with the "classic" Python mode patchers. These patchers read, process, and write mod records all in Python.
- CBash: (1) A Bashed Patch built with the CBash (see #2) mode patchers. These patchers still do mod processing in Python, but utilize CBash.dll to do the file reading and writing.
- CBash: (2) A C++ written DLL with a C API, that is used for reading and writing ESP/ESM format files. This is the only part of Wrye Bash not written in Python (well, except for calls to 7z.exe to extract things).
- The practical benefits of using CBash are:
- Building the bashed patch is much faster
- More plugins are mergeable, giving you the ability to cram more goodness into Oblivion
- In the future, more interesting kinds of tweaks will be practical to implement
- Building the bashed patch is much faster
- BAIN: BAsh INstaller. You use it from the WB Installers tab
- BAIN archive: A mod released in a format that can be installed by BAIN
- BAIT: Bash Asynchronous Installer Tab. In development (pre-beta) and will replace the current implementation of BAIN. Will use multi-threading to have a UI that still responds while it processes data (calculates CRC's, installs mods, etc).
- WB: Wrye Bash. Written in Python.
Download: http://tesnexus.com/downloads/file.php?id=22368 (mirrored at http://www.fliggerty.com/phpBB3/viewtopic.php?f=54&t=4233 and, of course, https://sourceforge.net/projects/oblivionworks/files/Wrye%20Bash/)
Documentation:
- http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/Mopy/Wrye%20Bash.html (also included in the download as "Wrye Bash.html" in the Mopy folder)
- http://tes.ag.ru/oblivion/mods/bash/readme.shtml: Translated version of the 295.1 readme.
- Waruddar's http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/Mopy/patch_option_reference.html (also included in the download as "patch_option_reference.html" in the Mopy folder)
- alt3rn1ty's http://www.tesnexus.com/downloads/file.php?id=35230
- Metallicow's BAIN http://www.tesnexus.com/downloads/file.php?id=38857
- http://www.uesp.net/wiki/Tes4Mod:Wrye_Bash
- Translated documentation and guides: http://bbs.3dmgame.com/thread-2490955-1-1.html
- http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/building_bashed_patch_1.png http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/building_bashed_patch_2.png http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/building_bashed_patch_3.png
- http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/installers_tab.png http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/installers_tab_conflicts.png
- http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/mods_tab.png http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/saves_tab.png http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/ini_edits_tab.png http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/screenshots_tab.png
Long version:
First, if you're using Windows XP, Wrye Bash needs the http://www.microsoft.com/download/en/details.aspx?id=14431 installed, the x86 version. This is required for the custom 7z executable that Wrye Bash uses to run. Later versions of Windows already have this installed.
If you're using the Standalone version, the only other thing you need to install manually is the http://www.microsoft.com/downloads/details.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2.
If you are using the Python version, dependency installation will be handled automatically by the installer. However, if you want or need to do things manually:
- http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi (Python 2.7.1 from Wrye Python 04a is fine as well)
- http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/wxPython2.8-win32-unicode-2.8.12.1-py27.exe
- http://sourceforge.net/projects/comtypes/files/comtypes/0.6.2/comtypes-0.6.2.win32.exe/download
- http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win32-py2.7.exe/download
- Other setups _may_work_, but this is the only officially supported setup.
- Python 3.x: NOT Supported
- For manual installations of either the Standalone or Python versions, extract the archive in your Oblivion game folder so that the Mopy directory appears in the Oblivion directory
- For Python versions, run by double-clicking on Wrye Bash Launcher.pyw
- For WBSA (Wrye Bash StandAlone), run by double-clicking on Wrye Bash.exe
Development:
The project is hosted at https://sourceforge.net/projects/oblivionworks/develop. You don't need a SourceForge account to create or add data to bug reports and feature requests -- you can always contribute anonymously (but put your name in the comments section if you want credit : ). Feeling brave? SVN versions are not guaranteed to be release quality, but if you know what you're doing and want to help us test new features and track down bugs, follow alt3rn1ty's SVN guide to use the latest code:
The latest svn is always here >>http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/<< - Then just click "Download GNU Tarball" at the bottom. Note: If you have been told to try a specific revision number instead of the latest, type the revision number in the sticky revision box and press return, the Download GNU Tarball will now grab that revision's set of files.
Use >>http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/?view=log<< to view the log of changes for reference to specific revision numbers and their changes, to revert to as necessary if things go wrong...
A screenshot walkthrough:
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn1.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn2.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn3.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn4.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn5.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn6.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn7.jpg
http://oblivionworks.svn.sourceforge.net/viewvc/oblivionworks/Programs/Wrye%20Bash/screenshots/svn8.jpg
Rinse and repeat when a new svn comes out.
Beware: Its a good idea to rename the tarball according to the revision number and keep it around. Keep a few weeks worth of them so if there is a problem found later with a particular set of committed files in the tarball you can go back to a previous known good revision. There's no need to go back this far but note svn revision 1309 was the directory structure change, and if you go back to a revision earlier than that you will probably have to follow http://www.gamesas.com/index.php?/topic/1205502-relz-wrye-bash/page__view__findpost__p__18000658 to get WB running again.
- What version of Wrye Bash are you using? If you're using the SVN, be sure to include the revision number.
- What are all the symptoms? Be sure to include what you did (step-by-step is helpful), what you expected, and what happened.
- What do you see? Error messages are very valuable to us.
- What version of Windows are you using? Is UAC enabled and is Oblivion in the default directory? (If it is, please install it somewhere else. This can cause lots of problems)
- Are you using a bash.ini? If so, include its contents (in spoiler tags, please!)
- Is the problem related to the Bashed Patch? If so include the following:
- Your Load Order (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Mods...'
- Your Bashed Tags (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Bash Tags...'
- Your Bashed Patch config (in spoiler tags). Get this by right clicking on the Bashed Patch and selecting 'List Patch Config...'
- Your Load Order (in spoiler tags). Get this by right clicking on a column header in the Mods tab, and selecting 'List Mods...'
- If you're using the WBSA, things are a bit trickier. There are currently a few known issues:
- Wrye Bash wont work correctly if you launch it from the command line (DOS). Always launch by double clicking the exe or a shortcut to it.
- Due to issue #1, no debug mode is available. Some errors that happen will still be printed either to a "Wrye Bash.exe.txt" file, or to the "stdout/stderr" window that shows up with errors sometimes.
- Wrye Bash wont work correctly if you launch it from the command line (DOS). Always launch by double clicking the exe or a shortcut to it.
- If you think you've found an error in the WBSA, be sure to uninstall ALL python components and test it again first, to be sure we get an accurate report. Having python installed can sometimes trick the WBSA into thinking that it has all of the files it requires, even if it really doesn't.
Related Projects:
- Load orders should be managed with http://tesnexus.com/downloads/file.php?id=20516 (Better Oblivion Sorting Software), which also supplies updated lists of tags used for importing (though even if you don't use BOSS, a basic taglist is shipped with each version of Wrye Bash)
- Valda ported and maintains Wrye Bash for Fallout3 (http://www.gamesas.com/index.php?showtopic=1211142) and Fallout3 New Vegas (http://www.gamesas.com/index.php?showtopic=1129389)
=== 295.5 [17/1/2012] [Lojack,PacificMorrowind]
- Bugfix release:
- Skyrim: Corrected more record definitions. All record definitions have been double checked now.
- BAIN: Fixed a problem associated with Embedded BCF's, causing BAIN to become unusable.
- Wrye Bash Installer updated to included the necessary files of the http://www.microsoft.com/download/en/details.aspx?id=14431. These files are required on Windows XP for 7zUnicode.exe to run. These files are not included in the Manual Install archives - users should install the redistributable package from Microsoft for manual installs.
- Wrye Bash Uninstaller updated to remove some files it was missing.
- Changed how the 'Apps' folder launchers are used, to work with Unicode better.
- Fixed a problem with restarting Wrye Bash. Specifically, the Standalone version would shutdown instead of restart, when required.
- Fixed a problem with formatting numbers for the user's location.
- Better printing of error messages on startup, when using the Standalone version.
- Corrected a problem with INI Tweaks where adding new lines sometimes would not write the whole line.
- Made an adjustment to Save Profiles, that should help out when the Profile name has Unicode in it.
- Skyrim: Corrected more record definitions. All record definitions have been double checked now.
- Bugfix release:
- Skyrim: Corrected the record definitions for LVLI, LVLN, LVSP, MISC, ARMO, and ARMA records.
- Bashed Patch:
- Small tweak to Leveled Lists patcher, allowing changes to the Flags of a list to be imported in rare occasions where they were not.
- Reverted the change to the Graphics patcher from 295.3, mods requiring the model file name to be imported should be using the 'Actors.Skeleton' Tag to accomplish this.
- Small tweak to Leveled Lists patcher, allowing changes to the Flags of a list to be imported in rare occasions where they were not.
- Fixed INI Tweaks that un-deleted a tweak line. Now instead of re-adding the tweak in as a new line, the original line will correctly be replaced.
- Fixed an issue with switching Save Game profiles, that was introduced due to the new INI Tweak changes.
- Fixed an issue where BAIN would sometimes install document files from inactive packages.
- Updated the Wrye Bash Installer with some typo fixes, and to correctly remove some files associated with newer versions of Wrye Bash when required.
- Fixed a bug causing Wrye Bash to never ask to backup your settings on an upgrade.
- Skyrim: Corrected the record definitions for LVLI, LVLN, LVSP, MISC, ARMO, and ARMA records.
- Major Unicode rewrite! Everything has been gone through to make Wrye Bash works with Unicode file names and characters:
- Special thanks to bluesky404 for a ton of work testing, debugging, and providing patches to help make this possible.
- By default when reading plugins, Wrye Bash first tries to interpret the data as 'Western European'. This includes languages such as English, French, German, Spanish, and Italian. Some languages this does not cover are Russian and Asian languages (Chinese, Japanese, Korean, etc).
- To modify this behavior, there is a new setting, accessible via the Setting Menu > Plugin Encoding. This would be used if you have a plugin with Chinese, Russian, or other langauges that don't fall under the 'Western European' encoding.
- This is a global setting, so changing it will have an effect on all plugins.
- Changing this setting won't be immediately obvious on the Mods Tab, as the data isn't updated unless it is read from file again. However, the change will effect Bashed Patch creation and the mod file Import/Export commands immediately.
- Changing this setting to Automatic will have the best result all around, but due to the extra processing involved in Automatic mode, it is not enabled by default. In one example, Bashed Patch creation time went from about 15 minutes with a specified encoding, to 22 minutes with Automatic encoding.
- To modify this behavior, there is a new setting, accessible via the Setting Menu > Plugin Encoding. This would be used if you have a plugin with Chinese, Russian, or other langauges that don't fall under the 'Western European' encoding.
- Some minor inconsistancies might be observed, specifically when viewing the Author or Description field on mods, or viewing the Name or Location of a saved game. Wrye Bash tries its best to detect the encoding of strings, and makes some educated guesses based off that, but sometimes it will just get it wrong. When this happens, the displayed text might show up as random characters from another language.
- Unicode file names are fully supported.
- Limitations:
- Skryim and Oblivion have problems with reading the 'plugins.txt' file when there are unicode file names in it. Therefore, we cannot guarentee that activated plugins with Unicode file names will actually be loaded.
- Files specific to Wrye Bash for input must be formatted in UTF-8 (with or without BOM). This means any .txt files utilizing Wrye Bashe's wtxt format, any .csv files used as input for the Bashed Patch, and BAIN wizard.txt files.
- The masterlist.txt and userlist.txt files for BOSS are expected to also be in UTF-8 format. This is a requirement imposed by BOSS, so no change should be noticed there.
- Skryim and Oblivion have problems with reading the 'plugins.txt' file when there are unicode file names in it. Therefore, we cannot guarentee that activated plugins with Unicode file names will actually be loaded.
- Translation files format has changed. Old translation files have been converted to the new format.
- Special thanks to bluesky404 for a ton of work testing, debugging, and providing patches to help make this possible.
- More refactoring for multi-game support.
- New Skyrim features:
- Support for AACT, ACTI, ADDN, AMMO, ARMA, ARMO, COBJ, GLOB, GMST, LVLI, LVLN, LVSP, and MISC records added.
- Merge support for AACT, AMMO, ARMA, ARMO, COBJ, GLOB, GMST, LVLI, LVLN, LVSP, and MISC added.
- Basic ONAM support for TES4 records.
- Bashed Tags:
- Delev and Relev - These can be used to intelligently merge leveled lists.
- Filter, NoMerge, and Deactivate - These can be used to modify behavior in regards merging and importing records.
- Delev and Relev - These can be used to intelligently merge leveled lists.
- Better merging of records with NULL Form ID's, for records that allow it (COBJ and GMST for example).
- New BAIN option: Auto-name String Translation files:
- Will automatically rename .STRINGS, .DLSTRINGS, and .ILSTRINGS files to the correct language for your game, but only if the installer does not already contain String Translation files for your language.
- Support for AACT, ACTI, ADDN, AMMO, ARMA, ARMO, COBJ, GLOB, GMST, LVLI, LVLN, LVSP, and MISC records added.
- Bugfixes:
- An uncommon Drag and Drop of Tabs related bug is fixed (relating to Mouse Capture).
- List Masters command corrected to display the masters of a Save File, rather than the current Load Order.
- Startup crash when the Installers Tab is hidden and 'Avoid at Startup' is selected for the Installers Tab corrected.
- Startup crash when Skryim.esm was ghosted, and set to be inactive within Wrye Bash.
- Fixed an issue where the Graphics tag was not properly importing the model file name on CREA records.
- An uncommon Drag and Drop of Tabs related bug is fixed (relating to Mouse Capture).
- Removed support for Skyrim's 4gb Launcher, as a recent patch makes this obsolete.
- Updated the Wrye Bash Installer to check for Unicode versions of wxPython, and only accept Python 2.7 (no more 2.6 or 2.5 support).
- Other improvements:
- New Simplified Chinese translation, provided by bluesky404.
- New Traditional Chinese translation, provided by bluesky404.
- BAIN:
- Wizard.txt and readme's will no longer show up as 'Skipped' if it's in an odd directory.
- New "Embedded BCFs" - If an archive contains a BCF, Wrye Bash can apply that BCF directly to the containing archive. If the BAIN option 'Auto-Apply Embedded BCFs' is selected, BAIN will do this automatically.
- The Open At Skyrim Nexus and Open At TES Nexus commands will detect files with file id's less than 4 digits now.
- Wizard.txt and readme's will no longer show up as 'Skipped' if it's in an odd directory.
- INI Edits:
- Double click to apply an INI Tweak
- Left Click on the checkbox to apply an INI Tweak
- INI Tweaks can now add and remove new lines to target INI's.
- Adding lines is only enabled if the 'Allow Tweaks with New Lines' option is enabled (disabled by default for Obilvion, enabled by default for Skyrim).
- The syntax for denoting a line to be deleted is to prepend the line with ";-".
- BAIN Wizards can also create "deleted" INI Tweak lines, via the DisableINILine command.
- Double click to apply an INI Tweak
- Better support for Mac Command button.
- Bashed Patch:
- New Assorted Tweaker: No Description Loading Screens (requested by hellwing).
- Wrye Bash will ask to backup your settings on every update now, instead of just a major version update (like from 294 to 295).
- Quickly switching beteween games can be accomplished via the Settings Menu.
- New Simplified Chinese translation, provided by bluesky404.