Old blog posts from 2007

18th of December

I've made two new obmm updates, and it now stands at 1.1.7. Scripts now have more freedom with what they can do to data files, and can do tricks like reading a data file from one of the stock BSAs, modifing it and then resaving it as a seperate file. There are no vital bug fixes; you'll only need to update if a mod needs the new scripting features.

I have a few weeks off uni for Christmas, so I'll have a lot of free time for a while. If there's any bugs/feature requests I've forgotten about, now would be a good time to remind me.

5th of November

The latest version of my thief 2 patch (1.1.1) is up. There's still some issues, (i.e. no fog, sharpened textures, doesn't work with the copy-protected version of thief 2,) but now that I've finished my play through it'll probably be the last one I'll make. Nvidia has been making noises that they might, possibly, if they feel like it, do something about it at some point between now and the end of the universe, but if not the source code is included in my download and I'm sure someone can do something with it.

17th of October 07

Old computer games really don't seem to like me. After finishing with diablo, I moved on to thief 2 only to find that it has serious issues with 8800 graphics cards.* It ended up being a little harder to fix than diablo, but it still wasn't as bad as it could have been. My patch is here, and is mostly complete except for some corruption around the edges of textures that I haven't found the cause of yet.

Edit: Updated the patch to fix a problem with textures flickering black.

Edit 2: It seems I managed to break the way thief takes screenshots, so I've added a new way of taking them.

Edit 3: Since it seems some people have trouble with the concept of a hex editor, here's a version of the patch with a simple GUI and installer.

*It doesn't much like multi-core processors either, but at least there's already a known fix for that.

28th of September 07

sfall 1.15 is up. It adds a script function to toggle pipboy availability and fixes a bug with global scripts not running if the player started a new game.

I reinstalled diablo yesterday, only to discover that it contains a rather nasty bug that can cause it to crash at the main menu if you're using duel monitors. I didn't feel like turning off my second monitor just to keep diablo happy, so I ended up writing a patch to fix it. It also lets you use the w, e and r keys to adjust game speed and lets you hold the middle mouse button to simulate hammering the left button.

18th of September 07

obmm 1.1.5 is up. The new scripting languages are now turned on by default in new installations, although if you're updating from 1.1.2-1.1.4 you'll still have to turn them on by hand. I've included falados's script simulator, which is useful for testing the scripts on large omods without waiting for it to unpack every time.

Some time ago I made standalone versions of some* of obmm's utilities available that would work with .NET 1.1 instead of 2.0. These were all hosted only at tessource, and so are unavailable at the moment. obmm itself now only requires a couple of changes** to work with mono, so I don't support those standalone utilities anyway. Another mod of mine that was hosted only at tessource was the latest version of MGE: That's now available from PES.

sfall is up to 1.14. It can now change player models, movie paths, start date and perks. Perks, movie paths and the player default models can also be changed ingame via scripts.

*The old conflict detector, BSA unpacker and BSA patcher. I never made standalone versions of the new conflict detector, BSA creator or BSA uncorrupter.

**Specifically you need to remove the PipeFileWatcher from MainForm.cs, remove the ironpython references and disable python, vb and C# scripting. Syntax highlighting in the script editor doesn't work due to mono choking on sharpdevelop's xml files.

23rd of August 07

obmm 1.1.4* is out, and is mainly a security update for the new scripting languages. C# and vb now have reduced security, so that things like the Select dialog and PatchPlugin work correctly and without those annoying unknown zone warnings. Python, which didn't previously have any security, will now complain at blatantly stupid stuff like 'from System.IO import File \ File.Delete("C:\boot.ini")'. It's still disabled by default though, and the slightly draconian 'if you don't read this security warning you'll never be able to use python scripts again' message is still there for now.

sfall has had half a dozen updates, and is currently at 1.12b. It now has a better way of removing the 13 year limit, fixes for some of the bugs in the fallout engine that were unfixable by other means, the ability to run global scripts independently of maps, (including on the world map,) and some useful extra scripting functions like force_encounter. I also started to make a fallout version of my morrowind improved alcohol effects mod. It's not finished yet, but the unfinished version is available from the sfall page and makes a good example of how to use global scripts.

*1.1.3 existed briefly as a beta version for DarN, who apparently is the first person ever to use C# scripts judging from the number of bugs he's been reporting.

8th of August 07

obmm and my fallout mod have both been updated. obmm 1.1.2 can cope a little better with the evil monster commonly known as windows vista,* and v1.6 of my fallout mod adds a way to adjust mouse sensitivity through a wider range than the in game options, adds a faster windowed mode, and a few other little things.

*I had to click through 19 bloody UAC security prompts just to create a mock oblivion installation so that I could test obmm on my vista partition. Why the heck does a simple file operation that I could do in 10 seconds on xp or ubuntu require several minutes of clicking yes buttons on vista? Luckily, I never have to use vista for anything other than testing for now, and I can usually keep UAC turned off when I am forced to use it.

4th of August 07

My fallout 2 mod can now modify the 13 year time limit. It can also remove it, for a slightly lax definition of 'remove'. The limit is there for a reason,* so the easiest way to remove it was to just reset the date each time you reached the limit. This causes a few odd side effects, but I haven't seen anything game-breaking.

*Some slightly technical details for anyone who cares: fallout 2 stores the number of 'ticks' since the start of the game in a 32 bit variable. There are 0x12CC0300 of these ticks in one game year. This makes 0xF45C2700 ticks in 13 years, and 0x107282A00 in 14. Since the largest number a 32 bit variable can store is 0xFFFFFFFF, somewhere between year 13 and 14** the variable rolls over, crashing fallout.

**8th of March 2255, if you want to be accurate about it...

1st of August 07

I've modified my fallout 2 mod to work with fallout 1. At the moment it's a seperate download for each version, but I'll be able to change that later.

31st of July 07

Yet another fallout 2 mod update. This one adds the option to make the middle mouse button do something useful, frame skipping in windowed mode and a way to force DirectInput into background mode. For the few people who've asked how it works, source code is here.

30th of July 07

obmm 1.1.1 is out. It fixes the regex versions of the DependsOn and ConflictsWith scripting functions, and adds some extra scripting functions for modifying esps before installing them. It also adds an option to export omod conversion data without unpacking the whole omod.

I've made another update to my fallout 2 mod, this time to let you scroll through your inventory with the mouse wheel. It also works for a few other menus, such as the save/load screen.

29th of July 07

I've updated my fallout 2 mod to add an option to run fallout in windowed mode, and to let you change the in game keys used to switch between different speeds. You also no longer need to modify fallout2.exe to use it.

26th of July 07

obmm 1.1.0 has been out for a while. There's a few new features other than the new scripting languages, such as being able to abort omod activation by hitting escape while the script is running. For anyone who doesn't mind using unofficial versions of obmm, Falados has a modified copy available for download here. At the time of writing, it's based on obmm 1.1.0 and has a modified background process killer and an option to export omod conversion data without unpacking the whole omod.

With all the publicity fallout 3 has been getting, I decided to dig out my copy of fallout 2 this week. It was fine for the first few days, but after a while I seemed to be spending most of my time just running around. I ended up editing my oblivion speed mod to work with fallout 2 so that I could speed up any bits that got too tedious. If anyone else wants it, you can download it here. At the moment it requires hex editing fallout2.exe, but if enough people are interested I can easily make a patcher to do it automatically.

I've also been messing around with morrowind again, and needed to get a few individual files out of morrowind.bsa. The existing bsa browser is a little slow, (~20 seconds to open morrowind.bsa,) so I modified obmm's browser to work with morrowind. You can get that here. It can open morrowind.bsa in about a second, but I've dropped the preview feature that obmm had, because my nif viewer is a seperate program and would have taken quite a lot of effort to port to morrowind.

27th of June 07

Another 2 obmm updates; 1.0.6 fixed some issues with the EditINI script function. 1.0.7 fixed an issue with the InputString script function, added DependsOnRegex and ConflictsWithRegex functions, updated the script editor and added a new option to disable conflict tracking.

There's also a 1.1.0 beta out, which doesn't yet contain any of the 1.0.7 changes, but which does have support for attaching python, C# or vb scripts to omods instead of being forced to use obmm's normal scripting language. Thanks to Falados for providing the the python code.

22nd of June 07

obmm 1.0.5 is out. There's nothing major new over 1.0.4; the nif viewer has relief/fur shaders but that's just something I was playing around with for obge* and they don't have any practical use. 1.0.4 added a useful new method of recovering from crashes, fixed a few bugs so that the PatchPlugin function is actually useful now, and added a way of copy/pasting your load order. obmm has always sorted plugins.txt into load order, but for some reason people never seem to be able to find it.

*Fur shaders are one of the most requested features for obge. It looks like I can get them working, but doing so will break shadows, HDR and probably a few other things. Definately not worth the trade off... Hopefully I can find a better way of doing them later.

7th of June 07

I've missed a few releases; obmm is up to 1.0.3 already. Check the changelog to see what's new. 1.0.3 mostly consisted of improvements to the nif viewer, which can now open nif files from mods, as well as textureless things like the furniture markers.

19th of May 07

obmm has finally reached 1.0.0. There are a few usability tweaks, including a direct link to the scripting help from the script editor, a button to do some basic checks on a script before you save it, and the overwrite prompt telling you which omod the file you're overwriting belongs to.

That'll be the last obmm release for a while. I'll be working on obge* next, although it's going to be far more limited in scope than what mge currently does. Expect custom fullscreen shaders, on-the-fly HUD additions and possibly mge style texture hooks in the first release.

*Oblivion Graphics Extender, for those who've never heard of mge**.

**Morrowind Graphics Extender, obviously.

13th of May 07

Yet another obmm update. 0.9.25 fixes the crash bug in the new conflict detector when 'read EDIDs' is checked and an esp contains a zero length record.

12th of May 07

Another obmm update is out. 0.9.24 adds two new script functions and tweaks the SelectManyWithXXX script functions so that you can look at the previews/descriptions when you have more than one option selected. I've also tweaked the omod creator to let you remove files from an omod with the delete/backspace keys.

10th of May 07

obmm 0.9.23 is out. There's only one minor bugfix, so there's no point upgrading if you already have .22. Just remember not to use the 'pack face textures in redirection target BSA' setting if you don't actually have any face textures to pack.

Time for a random long and non oblivion related story. I've had a copy of vista sitting on my shelf for the past couple of months, but I haven't had a chance to use it until now because constant uni work meant that I couldn't risk my computer being out of action, and whether justified or not vista has obtained a rather nasty reputation for eating hard disks. Yesterday marked the due date of my project report, which was my last bit of coursework for this semester, so today I finally had a chance to try it.

I have many programs which are incompatible with vista, so I definitely needed to keep my old xp installation around. I also decided to throw ubuntu 7.04 into the mix,* just for the fun of it. I only have one internal hard drive, and that's almost** completely taken up by the current windows xp partition, so the first thing*** to do was shrink the existing partition to make room for any new ones. xp can't do that, and while vista can, it has the slight flaw that you have to install it first. My usual solution to partition issues is to reach for my gparted live-cd, of which I have a couple lying around. In this case they proved completely useless; a minute or two after boot, both versions decided that they couldn't find the CD drive.^ A quick google suggested that my drive was the problem, and that I should try booting from usb instead. That got me a bit further into the boot process, but it still eventually crashed out. Downloading the latest version didn't help either, so it looks like gparted is a lost cause for this particular computer. The ubuntu install CD also has a partition editor that can cope with ntfs partitions, so I tried to boot from that. Unfortunately, it black screened before it had finished booting. Back into xp, hit google again and it turns out that my graphics card is the problem. Luckily this time it was an easy fix, so I head back to ubuntu. Booting took about 5 minutes, but eventually I got into gnome. Next problem was that the mouse cursor was only updating about once a second. Reducing the resolution didn't help at all, so I just ignored it and started the install. It then decided that it couldn't find my hard disk. No error message was given by the installer, but luckily there were a few error messages in the boot log that I could google. Another easy fix, another restart, (with the alternate install CD this time, so that I didn't have to sit through the gnome slideshow,) and I could finally get as far as the partition editor. 5 minutes later I finally had 80GB of unallocated space available. I wanted grub to end up in the mbr, so it was easiest to install vista first. Restart again, boot from from the vista DVD, create a new 45GB ntfs partition and I had the whole thing installed in about 30 mins. It didn't come with drivers for my graphics or sound card, but they were easy enough to download and install. The only hiccup was with trying to run dx10 demos; despite having a fully working dx10 installation, vista doesn't by default include any of the newer d3d9x dll's, so any dx10 program with a dx9 fallback wont actually run. The DX web installer fixed that easily enough. With vista now fully functional, I switched back to the ubuntu alternate install CD and installed it. It correctly found my vista and xp installations, so I let it install grub to the mbr. Reboot, get the grub menu, choose ubuntu, and crash. Once again it lost my hard disk.^^ I already knew the fix to that, so make a quick edit to /boot/grub/menu.lst and ubuntu's up and running again. Setting up the nvidia drivers took some time, but worked well enough. My sound card is a creative X-Fi, so that's probably a lost cause as far as linux goes.^^^ I don't generally use linux for anything that needs sound anyway, so that wasn't a big issue. More serious were the lock ups. Anywhere from 10 seconds to an hour after gnome started, my computer would hard lock, and cutting the power would be the only way to restart it. I thought that maybe it was a problem with nvidia's drivers, but switching back to vesa didn't help. A slightly less serious problem was that trying to start xp via grub resulted in PC angel kicking in, along with the associated blue screen. Luckily, I could still start xp by choosing vista in grub and then xp in vista's menu. With no easy error messages to google, I finally decided that enough was enough, evicted grub from my mbr, deleted my ubuntu partitions and settled for an xp/vista duel boot. I've left the unpartitioned space though, so I'll probably give linux another go the next time I'm feeling particularly bored.

And the moral of that story? I guess there isn't one. I could make a comment about linux not being ready for widespread use, but that really isn't fair; every component in my computer with the possible exception of the network card has known compatibility issues with linux. Not a large percentage of the computer using population ever try to install new operating systems anyway: My computer came with xp preinstalled, but if I'd had a choice between a working copy of either vista or ubuntu instead, after spending a few hours with each I have to say that I'd choose ubuntu every time. Vista's new UI, along with the whole UAC thing, is awful. (imho. I'm sure others would disagree. :p)

*A combination of cygwin and vmware/fedora 6 have been able to cope with whatever linuxy stuff I've wanted to do until now, but a dedicated 64 bit linux installation would be nice, especially since my copies of xp and vista are both 32 bit versions.

**4GB is reserved for this useless thing called PC angel. It apparently protects my PC from something, although I have no idea what. As far as I can tell it does nothing except delay the boot process for 3 seconds, and whenever it does kick in for whatever reason it BSODs within 10 seconds of booting.

***Actually, the first thing to do is make backups. Then run the defragmenter. Then make more backups. Then realise that I've lost my ubuntu disk and have to reburn it to another CD.

^WTF? It's just booted from the CD drive. How can it possibly loose it after booting?

^^And again, WTF? Once again, it's managed to loose the drive it's booting from.

^^^Creative did actually promise to get some linux driver's out for their x-fi's, but each time the release date approches it gets pushed back. The latest date is for a beta release at the end of Q3 or the start of Q4 this year.

8th of May 07

I haven't posted for a while, so have missed a few obmm versions; it's now up to 0.9.22. 0.9.16 introduced a rather nasty load order bug that prevented you from reordering your mods if two esps had identical timestamps, so if anyone is stuck with .16 or .17 I advise updating sometime soon. New features since .16 include drag/drop load order reordering, a new faster archiveinvalidation method and new scripting functions.

In general I completely ignore random praise and/or unconstructive criticism directed at any of my mods, but I'm going to make an exception to that today. I always keep my eye on TESsources top 150 mods list to see if any new interesting mods show up. MGE has been in the top 10 ever since the list was introduced, and has always been the highest morrowind mod in the list, but a couple of day's ago it managed to hit number 1.* Thanks a lot to everyone who voted for it. obmm has also been hanging round in the top half of the list since it was introduced, (position 61 at the time of writing,) so thank you to anyone who voted for that too. :)

*Although shortly afterwards it got hit by 2 bad votes, knocking it down into the 20's. I find it slightly annoying that a single voter can have enough power to shift something by 10 spaces, but the same rules apply to the other mods, so everything's fair I guess...

18th of April 07

obmm 0.9.16 is out. It fixes a couple of bugs with load order, a rare archive invalidation crash and the obse related script functions when used with obse 0009c or newer. It also adds a new option to not automatically insert new esps at the end of the load order.

3rd of April 07

obmm 0.9.15 is out, and will automatically remove the read only flag from the shader packages. It also fixes a particulaly nasty bug caused by manually removing active omods from your mods directory, as well as a problem with SetGlobal and some weirdness with Default statements in scripts not triggering when they should.

29th of March 07

The 1.2 patch and shivering isles are out, and seem to cause a few problems for mods, so here's a few notes about the status of mine.

For those who hadn't noticed, the new CS is already out. It's got a few useful new features, including the ability to merge plugins.*** It also has its own share of bugs, including a broken render window for some people, but it mostly seems to work. There was an interesting hiccup during its launch; a file was missing from the installer, so Beth pulled it for a few hours while they repaired it. While it was down, the download was replaced with the original 1.0 version, but on the download page it was described as v1.1, with a different file size to that of both 1.0 and 1.2. We already know that there was a v1.1 of the CS from dev comments on the TES forums and the version number of the later DLC's, but this suggests that it was being prepared for public download too. If the render window bug was present in 1.1, I'm not surprised it wasn't distributed, but since shivering isles updates oblivion.esm and so effectively makes it impossible to mod using an old version of the CS, I guess they had to release the new version regardless of bugs. In any case, it's nice that it was released at all.

Finally, MGE is up to version 3.3.2. I'm dropping the customized version of mwse from 3.4, because at the moment I've caused the stupid situation that it's impossible to use a mwse 0.9.4+ mod at the same time as any mge mod. This means that I need to wait for the next mwse release before I can release the next version of mge, so there wont be any more updates for the next few weeks. There are still at least 3 important fixes I need to make to distant land, although thankfully I've already managed to fix the BSODs.

*Not my mod, but I'm responsible for the maths and input functions, so I'll include it here anyway.

**They were the last of the functions I've contributed to obse. Anything else I've offered either wasn't useful or wasn't stable. The GetFPS, GetGraphicsMemory and shader functions would have been useful but couldn't be implemented cleanly. The effects of SetGameplaySpeed can be replicated by other much safer methods. PlayChipTune and Beep were good for the humour value, but weren't really useful as such. The time functions only had one very specific use, so weren't worth bothering with. (Although, oddly enough, someone requested an identical mod for morrowind recently...)

***This is actually listed as a bug fix instead of a new feature, for some reason. Possibly because it was a feature from the morrowind CS that got dropped from oblivion?

28th of February 07 (Updated)

I had an oem copy of spellforce 2 free with my PC. I'm not usually a huge fan of RTS games, but spellforce 2 was enough of an RPG to be worth playing anyway.* It's not without its own problems though; the first thing I noticed after installing it was that none of the bik movies had any sound. I managed to fix that by replacing the old (v1.5.21.0) version of the bik dll provided with spellforce 2 with the newer ( version that came with oblivion. I'm guessing that's not a common problem, since it wasn't mentioned in the FAQ, hasn't been fixed in the two patches that have been released so far and didn't seem to be mentioned in the first couple of pages of the tech support forums. The second problem was that on a specific level near the end of the single player campaign, moving the camera to a specific part of the screen caused an instant crash. That one turned out to be self inflicted though; I was using a nocd patch, and using the original exe fixed the crash, so it just meant that I had to play with the CD in for a level.

Anyway, after playing for a bit I ended up trying to mod it. For one test I was trying to do, I needed a pak creator.** There's already an extractor floating around, but oddly enough nothing to create them with,^ so I spent an hour knocking one up. Luckily, compared to bsa's, the pak file format turned out to be relatively simple. (No need to spend ages with a debugger trying to work out weird hashing algorithms this time...) If anyone one else wants it, you can download it here. As well as creating paks, you can also browse existing ones, and extract single files from them instead of unpacking the whole thing. (I didn't want to sign up to the spellforce forums just to download one file, so I haven't tested the original unpacker, but it looks like it unpacks everything without giving you any options, and a few people were having problems with it.)

Edit: Looks like there was a problem with that pak browser that crashed it when trying to open pak 11. It's fixed now, as are a couple of other things to do with the double click file preview.

*Plus the oem version has the added advantage that it doesn't ship with starforce. :) My previous starforce problems turned out to be another oem game. Slightly insanely, that particularly game doesn't require the CD in to play anyway, and neither does it use a licence key, even for online play...

**Pak's are the spellforce 2 equivelent of bsa's.

^In a similar way to morrowind/oblivion, spellforce 2 will preferentially load files from its base directory if they have the same names as files contained in a pak, so a pak creator isn't essential to modding. Also like morrowind/oblivion, it's still nice to have anyway.

17th of February 07

obmm 0.9.14 is out, but as usual it's taken me a few weeks to mention it. The only changes were a fix for a pair of bugs which could cause a crash pointing at NifScanner.dll. MGE 3.1 is out too, finally bringing distant statics to the world of morrowind. I've labelled it as a beta though, and for good reason given the huge amount of bugs being reported. Possibly the biggest issue is that installing 3.1 on top of 2.x without installing 3.0 first results in an apparently broken morrowind installation,* although given the amount of 'all previous versions of MGE must be uninstalled before using this one' warnings I've put around I guess I can call that user error.

My DVD writer has been making a funny noise recently. I didn't think anything of it at the time, but while playing about with autoruns** I noticed my computer had somehow been infected by starforce. After removing the starforce drivers everything's nice and quiet again. I'm usually careful about what I install,^ so I have no idea where they came from. Nothing seems to have stopped working since removing them, although I have noticed that Dues Ex now loads almost twice as fast as it used to...

*If anyone is unable to launch morrowind after installing MGE 3.1 even after running the uninstaller, all you need to do is remove the file 'dsound.dll' from the morrowind directory. It's a file that was used in the 2.x versions but was dropped in 3.1, so the 3.1 installer/uninstaller doesn't pick it up.

**I was inspecting the damage done by a HP printer driver installation. I know HP are notorious for bloated drivers, but a 350MB install that includes a full blown photo editor and text recognition software with no opt out and no way to uninstall them without removing the drivers too is ridiculous. It also added 4 startup processes and a service, none of which turned out to be essential to the functioning of my printer, but which were nevertheless sucking up about 30MB of ram.

^I once accidentally bought a starforce infected game from my local games store. The box didn't mention any sort of copy protection, and neither did the installation,^^ but after installing it one of my other games refused to start up and I eventually tracked the problem down to starforce. The next day I returned the game for a refund, and wrote 'CD was infected with malware' in the 'reason for return' box. Much hilarity ensued.

^^To be fair, the EULA may have mentioned it. I don't think I've ever read one of those things all the way through, and I suspect I'm not alone. Anything important, like 'this game may eat your computer', belongs in a more prominent position.

26th of January 07

After a month delay, obmm 0.9.13 is finally out.* It has a new preview button in the BSA browser to let you take a look at any nifs before you unpack them. It has some major limits on what it will display, (i.e. no animation,) but it can pull any required texture files out of the BSAs, which afaik no other nif viewer will do. There's also a couple of major bugs fixed, like the settings dialog eating the 'None' group,** which obviously caused all sorts of wacky problems.

As for my new computer, I can confirm that 8800's do indeed rule. Not that I'm putting it to very good use; after a quick playthrough of gothic 2,^ an even quicker start-playing-and-then-get-bored of oblivion,^^ what I've mostly been playing has been a 10 year old dos game called fragile alliegance. It's quite possibly my favourite game of all time. What nvidia engineers would think about their cutting edge technology being wasted like that I'm not sure, but I can't really imagine them being the sentimental types, especially since they've already got my money...

The other interesting thing about this computer is that with the stock cooling it's almost completely silent. Not at all what I was expecting from an 8800, tbh: It's far quieter than my old computer, and I can't even hear it over my central heating, which isn't the loudest thing in the world itself. I bought a pair of noise cancelling headphones while I was waiting for it to arrive. Guess I wasted my money...

*0.9.12 did exist, but only on TESsource, because stupid me forgot to backup my ftp settings when I switched computer... 0.9.13 is really just 0.9.12 with a couple of bugs fixed.

**The default group that any omod gets assigned to if you don't give it any others.

^At 300% view distance with 16xAA, 16xAF and supersampled transparency antialiasing none the less. Transparency antialiasing rocks btw. Seriously. Random badly alphaed lamposts will never be the same again.

^^Which was the first time I've ever personally used obmm, incidentally.