Oblivion Mod Manager
From Oblivion Mod Wiki
| Author: | Timeslip |
| Thread(s): | Offical Forums |
| Version: | 1.1.12 |
| Last Updated: | November 28th, 2008 |
| Requires: | .NET 2.0 |
| Download(s): | Author's homepage, TESNexus, Planet Elder Scrolls |
[edit] Description
This is a utility for managing plugins, and also for packing them for distribution. It can just be used as an enhanced version of the data files selector on the oblivion launcher, with sorting and load-order reordering capabilities, but there are a lot more features which can only be used when mods are packed as .omod fies. You can easily clean all files belonging to the mod out of your data folder, view the readme without unpacking the mod, e-mail the mod author, visit their website or view detailed information about the file. The main advantage though is that an omod can contain a scrip which can tell obmm which other mods a mod depends on, which mods it conflicts with, the order in which the esps must load, automatically register new bsa files, make ini or xml tweaks, etc. My aim was to make it nearly impossible to install the mod incorrectly. There's no need for modders to pack mods as omod files if they don't want to; a normal zipped mod can be converted to an omod with 6 clicks. Of course, omods converted thisway won't have author/email/website/description/script or anything lke that. obmm is intelligent enough to automatically spot a readme, though.
This application requires .NET 2.0! (If you aren't sure if you have it, please download the installer which will check automatically and even download it for you if you like.)
[edit] Danger
This is not obvious but devious: Never move your *.omods from the directory where Obmm stores them! If you do and start obmm it will (try to) deinstall all mods missing an *.omod. This killed my Oblivion-installation. Re-Install of the omods was not possible (OK, not an easy one: It was a working FCOM-installation.)
[edit] Changelog
Current Changelog on author's homepage.
[edit] 1.1.11
- Added: New script function LoadEarly
- Added: A new option to never ever modify load order, even if scripts request it. (For anyone who uses bash exclusively to manage load order)
[edit] 1.1.10
- Fixed: Issue with bsa creator when a bsa contains many files
[edit] 1.1.9
- Added: New C# script functions: 'CancelDataFileCopy' and 'CancelDataFolderCopy'
- Fixed: BSA's registered via the RegisterBSA script function no longer get added before the redirection BSA.
[edit] 1.1.8
- Added: New C#, vb and python script function 'GenerateBSA' to pack data files into a BSA.
- Added: New C# and vb script function 'SetNewLoadOrder' to set the load order of existing plugins.
- Tweak: In C#, vb and python scripts, LoadAfter/LoadBefore can now be used on plugins created by CopyPlugin. (This was already possible in obmm scripts)
[edit] 1.1.7
- Added: GetPlugins/GetDataFiles/GetPluginsFolders/GetDataFolders can now be used from simulated scripts. (From niaht)
- Added: C#, vb and python scripts can now access data files inside BSAs, instead of just the normal loose files.
- Added: C#, vb and python scripts can now generate new data files mid script.
- Added: New C#, vb and python script function 'GetOBSEPluginVersion' to check the version info of obse plugin dll's.
- Fixed: Script functions to get the Oblivion or OBSE version weren't working from C# or vb scripts.
- Fixed: Exceptions when using the simulate button in the script editor to simulate a script that displays dialog boxes or forms.
- Fixed: A possible crash when checking the required data files of an esp which uses a mesh stored in a custom BSA.
[edit] 1.1.6
- Fixed: Activating an omod which tried to overwrite an esp which had been added to the data folder while obmm was running would cause the activation to fail.
[edit] 1.1.5
- Added: Script simulation (From Falados)
- Added: C#, vb and python scripts get an IsSimulation and ReadExistingDataFile function
- Tweak: C# and vb scripts can now use resources in the System.Xml namespace
- Tweak: C#, vb and python scripts are now enabled by default
- Fixed: PatchDataFile was broken when called from C#, vb or python scripts if the file to be patched already existed
- Fixed: CopyDataFolder was broken when called from C#, vb or python scripts
[edit] 1.1.4
- Added: Python scripts now have some security
- Added: New functions for C#, vb and python scripts (CreateCustomDialog, ReadDataFile)
- Fixed: Security exceptions when using c# or vb scripts
- Fixed: null reference execption if a C# or vb script didn't contain a Script class. (It'll now give a useful error message explaining the problem)
- Fixed: SetPluginXXX functions when called from C#, vb or python scripts were broken
- Fixed: Install/DontInstall/CopyDataFolder functions were broken when called from C#, vb or python scripts
[edit] 1.1.3
- BETA: C# bug fixes just for BETA tester named DarN.
[edit] 1.1.2
- Added: On vista, obmm can now detect if file writes are being redirected to the virtual store, and will start up in limited user mode if they are
- Added: On vista, if obmm is set to run as an administrator it will offer to move files out of the virtual store back to oblivion's directory
- Tweak: Changed the behaviour of the SelectWithDescriptions dialog slightly
- Fixed: More python stuff (From Falados)
[edit] 1.1.1
- Added: An option to export omod conversion data without unpacking the omod
- Added: 5 new scripting functions for editing esp's
- Fixed: Some python syntax highlighting. (From Faldos)
- Fixed: The DependsOnRegex and ConflictsWithRegex script functions were broken.
[edit] 1.1.0
- Added: Support for using python, C# or vb scripts in the place of obmm's normal scripting language. (Thanks to Falados for the python code.)
- Added: A few more keyboard shortcuts.
- Added: obmm scripts can be cancelled by hitting escape
- Added: All options on the settings form now have tooltips
- Tweak: Gaps in an omods version number now get treated as zero's, instead of causing the version number to reset back to 1. (i.e. '.1.0' becomes '0.1.0' instead of '1')
- Tweak: When converting omods to archives, or extracting to folders, the 'do you want to create omod conversion data' prompt is now given before any files are unpacked.
- Tweak: When converting an omod to a 7z archive, -mx7 compression is used instead of -mx9 if the compression boost option is not selected
- Fixed: Several functions would crash obmm when used on an omod that had been activated using the 'acquisition activate' button
- Fixed: When deleting active omods, two error prompts were displayed out of order, causing Weird Things to happen if you clicked yes to the first and no to the second.
[edit] 1.0.7
- Added: ConflictsWithRegex and DependsOnRegex script functions.
- Added: An option to disable conflict tracking on the settings page. (All inactive omods display green, but decreases startup time and speeds up omod activation.)
- Tweak: Updated the script editor to use the latest version of sharpdevelop's text editor. (2.1 beta 1 -> 2.1 final)
- Fixed: InputString script function was broken
[edit] 1.0.6
- Fixed: Crash bug if two omods tried to edit the same line of oblivion.ini
- Fixed: If two omods edited the same line of oblivion.ini, obmm would still display 'line xxx has already been modified' warnings even after both omods were deactivated
[edit] 1.0.5
- Added: The nif viewer now respects a few extra NiXXXProperty nodes
- Added: Any nif subsets which require alpha blending are now sorted before being rendered.
- Fixed: Fixed some broken shaders in the nif viewer.
- Fixed: A bug that could let multiple copies of obmm run at once.
[edit] 1.0.4
- Added: A new 'acquisition activate' option for omods. (See the readme for details of what it's supposed to do.)
- Added: A 'view load order' button, which displays your load order in a human readable format ready for copy/pasting. (Too many people failing to grasp the concept of copy/pasting from plugins.txt)
- Added: The nif viewer now has an option to toggle backface culling
- Added: Loading and resaving a nif with the nif viewer will automatically fix any forward slashes in texture file names
- Tweak: Updated unrar.dll to the latest version. (3.6 -> 3.7)
- Tweak: Switched the default archiveinvalidation mode from BSA alteration to BSA redirection. (Only affects new users; updating users will just get a message advising them to switch.)
- Tweak: obmm now displays a warning if you try to turn on 'autoupate on exit' while using bsa redirection.
- Tweak: When editing shaders, obmm no longer changes the time stamps on any modified sdp's.
- Tweak: When viewing a single subset in the nif viewer, it now displays the formats of the normal/glow maps if any are loaded.
- Fixed: In some cases PatchPlugin could display an error saying that the plugin couldn't be patched even though it had already been patched succesfully.
- Fixed: PatchPlugin was changing the timestamp of the patched file
- Fixed: The nif viewer was reading the tangents/binormals incorrectly
- Fixed: The non-parallaxed normal map shader had the y axis inverted.
- Fixed: The nif viewer was trying to apply a specular map, even when none existed
- Fixed: The apply mode combo box in the nif viewer wasn't being updated when the subset being viewed was changed.
[edit] 1.0.3
- Added: An option to allow the use of windows explorer style shift\control shortcuts on SelectMany menus.
- Added: The script editor now remembers its previous size.
- Added: The bsa browser now lets you preview textures as well as meshes.
- Added: When viewing the data files used by an esp, texture files referenced by nifs which are packed into bsas are now picked up
- Added: When viewing the data files used by an esp, obmm now tries to work out if _n and _g textures are actually used before listing them.
- Added: The nif viewer can now open nifs which lack textures or UV coords.
- Added: The nif viewer can now open nifs that use triangle lists intead of strips.
- Added: The nif viewer now generates a log of which TriStrips failed to load. (Push 'L')
- Added: The nif viewer now has some new shaders available that give colour representations of normal, tangent and binormal data
- Added: Initial support in the nif viewer for some additional shaders added by obge.
- Tweak: The EditXML... functions now work on other text files. (.ini, .txt, .bat)
- Tweak: The various clean options will now always skip over files which are included in the base oblivion installation.
- Tweak: The nif viewer now loads the bsa contents when needed instead of at startup.
- Tweak: The nif viewer was updated to use the latest version of niflib (0.6.2 -> 0.7.2)
- Tweak: If a nif contains a TriStrip that the nif viewer can't handle, only that subset will fail to render instead of the nif viewer failing to load the whole mesh.
- Tweak: Saving a mesh with the nif viewer no longer automatically saves the colour map. (Saving the colour map is now a seperate option)
- Tweak: Saving a mesh with the nif viewer now brings up a save file dialog instead of automatically trying to save over the old mesh
- Tweak: Generating a heightmap for a nif no longer automatically sets the subset that the texture belongs to to use the parallax shader.
- Fixed: Opening the script editer caused the saved position of the generic text editor to be lost.
- Fixed: Holding down control to specify yes to all or no to all now works again
- Fixed: The nif viewer couldn't load any nif's that were stored in the data directory instead of the BSAs
- Fixed: Nif viewer crash if you clicked save without opening a nif first
- Fixed: Nif viewer crash, due to trying to change the magnification filter when anisotropic filtering was enabled.
- Fixed: Nif viewer crash if device was destroyed while a nif was loaded
[edit] 1.0.2
- Added: New script functions to support oblivion graphics extender ('If GraphicsExtenderPresent' and 'If GraphicsExtenderNewerThan')
- Added: A context menu to script editor
- Added: If the flow control checker finds multiple issues, up to 10 of them will now all be displayed instead of just the first one.
- Added: Flow control checker now picks up some unreachable code and multiple sequential Default's.
[edit] 1.0.1 (Beta)
- Added: 'Continue' and 'Exit' script flow control statements.
- Tweak: Rewritten flow control in scripts. (Should solve the problems caused by nesting many layers of flow control, but may break scripts that depend on the broken behaviour.)
- Fixed: Error when trying to activate an omod which tries to modify a part of oblivion.ini which has already been modified by another omod
- Fixed: The script flow control checker no longer displays incorrect results if your script contains unix style line ends
- Fixed: The script flow control checker was displaying incorrect errors when Break statements were nested inside If or For statements
[edit] 1.0.0
- Added: A shortcut to the scripting help in the toolbar of the script editor
- Added: Run-on lines in scripts. (Put 'AllowRunOnLines' on a line by itself, and then end a line with a '\')
- Added: Added a button to remove an image from an omod in the omod creator.
- Added: The 'do you want to overwrite ...' prompt when activating conflicting omods now tells you which omods the existing file is owned by.
- Added: Readded the Goto and Label script functions. They now behave slightly differently, so see the scripting help for details
- Added: Some additional If conditions. (Equal, GreaterThan, GreaterEqual, fGreaterThan, fGreaterEqual)
- Added: A 'check flow control' button in the script editor. Scans for malformed lines and control structures.
- Added: New command line option '-conflict-detector' to launch the conflict detector without loading the main parts of obmm. (The installer will create an appropriate shortcut if requested)
- Tweak: Slightly better FormID formatting in the new conflict detector.
- Fixed: The open readme link in the installer had gone missing at some point in the 0.9.x series.
- Fixed: New conflict detector crash if no mods were active
