Daggerfall Imaging 2 Not Far Away

I’m almost done with the first release of DF Imaging 2. I’m just bug-catching and putting a little polish on some things. I should have it ready for download in the next week.

Edit: Just a quick update. I’ve been unable to work on Daggerfall Imaging 2 for the last few days due to real-life issues. I’m back to working on it now.

DFConnect Rename & Update

I’m gearing up for a new release of DFConnect, which has been renamed to Daggerfall Connect. I feel this is more in line with the naming convention of my other tools and avoids any potential misunderstanding with a trademarked property also called DFConnect.

The next build is a major update across the entire namespace. I have temporarily taken down all Daggerfall Connect pages while I update the documents, tutorials, FAQ, etc. These should be back in a couple of weeks.

To summarise, the following changes have been made to Daggerfall Connect:

  • DaggerfallConnect root namespace now contains classes and structures emitted back to applications, such as DFBlock and DFMesh. These were previously in the Arena2 namespace. The reasoning is to keep “low-level” classes in Arena2 and “high-level” classes in the root namespace.  The Arena2 namespace now only contains classes for opening files in the Arena2 folder.
  • The Utility namespace has been added. This is for mostly internal classes used by Daggerfall Connect, but may contain public classes at a later date.
  • The first reader class has been added. ImageFileReader is a vastly simplified way of opening any Daggerfall image file.
  • All image classes are now based on abstract base class DFImageFile. This allows ImageFileReader to handle all image files in a standard way and return a standard object back to applications regardless of the image file type originally opened.
  • Casing changed from lower camel casing (e.g. getFrameCount) to upper camel casing (e.g. GetFrameCount). This is to be more in line with .NET Framework conventions.

I will post more on this after Daggerfall Imaging 2 is released.

Daggerfall Imaging 2 – User Interface

This post is about a few of the UI enhancements going into Daggerfall Imaging 2. Not exactly gripping stuff, but I know many people are still using the old DF Imaging and may be interested in where I’m going with the new version.

When you open the old version of Daggerfall Imaging, you’re greeted with the following dense menu of image files to choose from:

Talk about a wall of text! Most people only fire up Imaging once they’ve found the file they want in Daggerfall Explorer first, and even then it’s easy for the eye to get lost. Things don’t get any better once you’ve opened an image file, either. You’re limited to simple “next-file” and “previous-file” buttons or doomed to return back to the mess above and start again. Let’s face it, Imaging is a nice exporter with a rubbish UI. And haven’t people let me know it; I’ve received dozens of emails over the years condemning the user interface.

So while finishing up image handling in DFConnect, I thought: “what the hell, let’s rewrite the old mongrel.” It was a perfect opportunity to improve on an old tool and catch some bugs in my new library.

Searching through images should be fun and easy, and the best way to accomplish that is to let the images do all the talking. It’s much easier to find what you want from thumbnails than plain-text filenames, so the first change was to put in a nice thumbnail viewer.

 Thumbnails Detail Tiles

The thumbnails are housed in a sizing pane and can be rendered in a few different ways. Currently, there are two formats for browsing Daggerfall’s image files. The Thumbnails layout is just a preview of each image file. You’ll notice these thumbnails are mini views of the entire file, not just a single image. Think of them as thumbnails inside thumbnails. The Detail Tiles layout has the same thumbnails, but with additional information about the image file itself.

This simple change makes browsing into image files a lot more visual and fun. I never feel “lost” among the files, something I felt all the time in the old Daggerfall Imaging.

For those of you following DFConnect, the thumbnails are generated by a new method called GetPreview() that renders an image file onto a managed Bitmap. You can specify the dimensions of the resultant Bitmap emitted by this method, allowing you to fit more/less images into a single preview. All DF image classes support this method.

New Exploring Tools

I’ve mentioned in the past that I plan on releasing standalone exploring tools based on DFConnect. The first of these tools is under development now, and proceeding rapidly. Below are a couple of screenshots of Daggerfall Imaging 2.0.

   

Daggerfall Imaging has always been the least favourite of my old tools. Despite solid exporting features, it was let down by many aspects of the user interface. To date it is the only tool I have received negative feedback about. For these reasons it became the first program I wanted to revisit as DFConnect matures.

I plan on releasing the first version of Daggerfall Imaging 2.0, complete with source code, before the end of May. This will coincide with an update to DFConnect. The goal is to create something useful and fun while honing DFConnect through actual use.

Time permitting, I hope to turn out new small-to-medium exploring tools every few months. This will give everyone something to play with and demonstrate what DFConnect is capable of.