Installer Changes

I thought I would make a quick change to the installer to allow it to parse the installed scenery packages and only install what is needed from OpenSceneryX.

Of course, nothing is ever quite as simple as you first think – Parsing the DSF scenery files is fine and once that’s done, building the list of .obj, .pol, .lin etc files to download and install is also fine.  Those bits were straightforward to implement.  However, what I had neglected to think about was that those .obj, .pol, .lin etc files of course contain references to textures, but the OSX installer doesn’t know about the textures until after it has already downloaded the file.

So, this means I’m having to re-work the installer and the library build scripts so that they are more intelligent and know more about the dependancies between files in the library.  I was hoping to get the new installer out by now but this has set things back a bit.

Also, I could still do with an Italian and a Spanish speaker volunteering to translate the installer, otherwise those languages won’t be included in the next release.

New OpenSceneryX Installer Needs Testers and Translators

We’ve been developing a new version of the installer, which has a number of improvements including a better design, incorporation of the OpenSceneryX license and a much faster download of the manifest of available files (sadly it’s no faster at actually downloading the library though).

Before it’s released, we would like to get it translated into at least the following languages:

tick French (fr) – Olivier Faivre

tick German (de) – Valentin Kaufmann

question Italian (it)

tick Spanish (es) – Amado Chiñas Sánchez

For a more complete list of translations and who has kindly contributed them, please visit the Help Translate page.

If you are willing to either beta test the installer or do a translation then please get in contact via the Contact Us page.

Vista vs The Installer

It turns out that the problem people are seeing with the OpenSceneryX installer is due to the security features in Vista (specifically, User Access Control or UAC).  This means that a program cannot, by default, create files and folders in areas of your hard disk that Vista thinks it shouldn’t, which can include the “Custom Scenery” folder inside your X-Plane folder. Unfortunately, this causes something of a problem for a program that is meant to install files and folders in there, such as the OpenSceneryX installer.

Run as administrator
Run as administrator

While I work on a fix for this, my suggestion to all Vista users is to run the installer by right-clicking it and choosing “Run as administrator”.  This gives it elevated privileges that means it can write to your X-Plane folder.

How the Library is Built – Part 3

Here’s the final part of a mini-series on how the OpenSceneryX library is built, covering the whole process from the initial contribution of an object all the way through to the moment it appears on the end user’s machine.

This post will cover the final part of this process – How the library is released for download.

Continue reading

The OpenSceneryX Incremental Installer

A quick exposé on how the installer works:

  1. The installer firstly checks whether it needs to update itself and will tell the user to download a new version if one is available.
  2. Next it scans the user’s existing local OpenSceneryX folder (if one exists), gathering information about every file it finds and creating a CRC checksum for each.
  3. It then downloads a manifest from the OpenSceneryX website.  This is an XML file that contains an entry for every file that exists on the server, together with its file size and a CRC checksum.
  4. Next, each entry in the manifest is compared to the information from the local file system and a list of new, changed and deleted files is generated.
  5. The installer then deletes all the local files that it no longer needs and downloads all the files that are new or that have changed.  It uses a standard HTTP (web) connection on port 80 to avoid firewall issues and every file that it downloads is individually compressed to reduce bandwidth and download time.

The basic principle will stay the same, but the installer is currently being revamped to be more user-friendly and will present a standard step-by-step install process, describing what it is doing at each step. Not sure when this will be out, but “soon” is probably quite a good estimate.

A General-purpose Scenery Package Installer?

There has been some discussion on x-plane.org recently about producing a more general-purpose installer of X-Plane addons.  This dovetails with something I have been considering for OpenSceneryX – The ability to select from a choice of OSX components, so a user can tailor their install to their own preferred set of content.

For example, OpenSceneryX could initially be split up into ‘Airport Buildings’, ‘Static Aircraft’, ‘Forests’ and ‘Other’ and the user could select which sections to download.

If this idea was extended to allow the user to pick scenery packages not just from OSX but also from other developers, then hey presto you have a global package installer.

As always, there would be a few hurdles to cross:

  1. There would need to be a central repository of all the sites where packages are available, and this would need to be kept up to date by each individual scenery author as they release new packages.
  2. A decision would need to be made whether this central repository was also where all the packages were stored, or whether each individual scenery author would be responsible for hosting their own packages on their own servers.  Of course, a central repository would need to be hosted and the usage could get quite high.
  3. Because an incremental installer is the best way to go (i.e. an installer that only downloads files that have changed since the last time the user checked) then each author would have to carefully process their content.  If they were hosting their own then this processing would need to be done by them but if it was all centrally hosted then the system could do most of it automatically.

This is basically all food for thought. I’ll post in future with more detail on how the OpenSceneryX incremental installer works.

DDS Textures

As many of you will know, X-Plane 9 supports the DDS graphics format, which has been optimised for use with 3D graphics cards and gives a number of key benefits.  Take a look at this post in Ben’s Scenery Blog, where he discussed the future of DDS in X-Plane in August 2007, before it was implemented.

So, what’s the future of DDS in OpenSceneryX?  Well, DDS is an X-Plane 9 feature, so as soon as we start including DDS textures in the library then we are potentially cutting out XP8 users….

But I’m sure I read somewhere that the library already does include DDS textures?!

I hear you cry, and yes, it turns out you read it here in the release notes for version 1.7.0.

But I’ve been short changed then because why are there are no DDS textures in my copy?!

you wail once more… and of course there’s a good reason – I forgot to update the build script to copy DDS textures into the release versions!  So, I’ve decided to refund everyone’s money.

…    🙂

That didn’t take very long, so back to the future of DDS in OpenSceneryX…   Instead of distributing two textures to every user, a better solution is to upgrade the installer to be more intelligent about which textures are installed on a particular user’s system. If a user has X-Plane 9, they get DDS, otherwise they get PNG.  So, this is something that will be coming soon.