Building From Source and Other Issues

I’ve received a few emails from programmers trying to build Daggerfall Modelling from source and experiencing problems. The reason for their frustrations is that Daggerfall Modelling is built as a VS2008/XNA3.1 project. This means it will only build with Visual Studio (Express) 2008 with XNA Game Studio 3.1 installed. Attempting to build with VS2010/XNA4.0 will fail due to breaking changes in the latest version of XNA.

I also get the occasional email from Windows XP users with an older version of the .NET Framework 2.0 (pre-SP2) that experience a crash when opening a dungeon. This problem is caused by a bug in the .NET Framework 2.0 that was resolved in Service Pack 2, and can be fixed by upgrading/patching .NET.

The reason I stuck to older versions was to ensure my tools remained accessible to more people. On the flip side, not everyone wants to install an older version of Visual Studio and XNA just to compile my code. I’m also running the risk that Windows XP users will come across that crash without having read my getting started page for Daggerfall Modelling.

After serious thought, I have decided to make some changes to my source code:

  • Solution format upgraded to Visual Studio 2010 / Visual C# 2010 Express.
  • Daggerfall Modelling and XNALibrary will be refactored for XNA Game Studio 4.0.

The DaggerfallConnect class library and Daggerfall Imaging 2 will remain based on .NET 2.0 for now, but I might bring these forward at a later date.

The SVN will be updated in the next few days with these changes. The next release of Daggerfall Modelling (Beta 2) will require the latest versions of .NET and XNA Frameworks to run.

Daggerfall Connect Source Code

The current stable sources for Daggerfall Connect can be downloaded below. This archive also contains sources for Daggerfall Imaging 2 and several tutorials.

Download Daggerfall Connect Sources 0.4.7 (Self-extracting archive)

All you need to build is:

SVN access will be available soon, in addition to other open-source project features. I will post more on this when I am able.

Australia is heading into a new financial year. As is usual at this time of year, I need to step away from the Workshop for a while. I look forward to posting more updates when I return.

Daggerfall Imaging 2 Released!

I’m pleased to announce that Daggerfall Imaging 2 is now available for download. This version is a major upgrade to Daggerfall Imaging, with the following key changes:

  • An improved, fully visual user interface with thumbnail previews.
  • A flow layout image browser with image selection, mouse-over properties, and clipboard support.
  • Bulk exporting with a tightly-integrated export manager.
  • Custom descriptions for image files.
  • Written entirely in C# using the Daggerfall Connect Library.

Download Daggerfall Imaging 2

Download Manual (In PDF format. Requires Adobe Reader)

I have decided to release all the source code for my new tools (currently Daggerfall Connect and Daggerfall Imaging 2) under the free MIT License. More details will be released in the coming weeks.

   
 

There are a few limitations with the first release of Daggerfall Imaging 2 that will be corrected in the next version (2.1). These are:

  • Limited GIF support. Poor palette matching, no transparency or animation.
  • Image Browser renders flow layout only. A print layout is planned for 2.1.
  • No printing or document export support at this time.

I look forward to hearing your feedback about Daggerfall Imaging 2. If you encounter any bugs, or have any suggestions, please contact me.

Daggerfall Imaging 2 Export Manager

I’ve received a couple of emails from people asking me if Daggerfall Imaging 2 can export to more than just GIF files. This isn’t the first time I’ve heard this question. Many seem to have missed the fact you could do this in Daggerfall Imaging 1.0.

I think the reason for this is the old web-like interface. Users discover the right-click copy method and don’t notice the “Export” icon on the toolbar that allows you to export to a wide variety of formats.

Considering this, I’ve decided to overhaul how you export files in Daggerfall Imaging 2. Rather than use a modal popup dialog, this is now tightly integrated into the main view via a sidebar that can be toggled open or closed. The screenshot below shows DF Imaging 2 in near-complete form.

 

The left-hand pane shows thumbnails of image files by library (textures, img, cif, etc.). You can mark image files for export by putting a tick in the check box of any item. A right-click context menu allows you to check all, check none, or invert checked items. You can also set your own descriptions for each image file, which is stored in an XML database.

The middle pane is the Image Explorer; a flow view for viewing images up close. You can toggle animation, transparency, and zoom in or out. The status bar tells you about the image you are hovering over. Another right-click context menu allows you to copy images to the clipboard.

The right-hand pane is the Export Manager. This pane allows you to set an export format and destination, along with a few options. The Export Preview tree previews the folder structure created by the exporter. This structure will change based on your destination folder, chosen image library, and selected format. The goal is to keep your exports neatly organised. These settings are remembered each time you open DF Imaging 2. This tight integration should make it easy to export as many (or as few) files as you need.

Everything is coming together nicely. I just need to complete the new export manager and DF Imaging 2 will be ready for release. Hopefully this is something I can finish over the weekend.

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.

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.