SoTecWare.net

»Imagination is more important than knowledge, for knowledge is limited.«Albert Einstein


X³ Toolset

powerful content creation tool for X³ Reunion

This project is about creating an editor for the X series by Egosoft. To be exact, the editor currently (officially) only supports X³ - Reunion but should work well with Terran Conflict too (however, I cannot test that). X² support is not implemented yet, as X² had some file formats very different and there is extra work to do to abstract these changes.

Why?

There is already an editor for X³, which is even linked into the game directly. Yet this fact is what the problem is. As the editor is integrated into the game, it uses (has to use) the graphical interface of the game, which is definetly not suited to edit the universe. Moreover, that editor has some restrictions. For example, you cannot add own sectors which did not exist in the game or the current mod before and you cannot rename sectors.

There is also the excellent but very complex and hard to use editor by Doubleshadow. That one has two main problems (for me). The first and most problematic one is that it does not run acceptable under wine. The second one is that it focuses on mod development, while I am looking for a capable universe editor.

Aims

  • Graphical user interface
    • flexible
    • powerful
    • yet easy and in an intuitive way to use
    • (maybe) extensibility through runtime-loaded plugins
  • focus on universe creation
  • no hardcoded data. Load everything from the original game files
  • import/export of complete universes (specifically the original universe)
  • reasonable default values, which should be easy to change to allow fast creation of new content
  • generators to create a lot of content at once
  • last but not least: platform-independence. There must be both a Linux and a Windows version (and the source should be able to compile on Mac OS)

How?

To implement all this stuff, I rely a lot on object-oriented programming to reduce redundant code to the absolute minimum. I use some of the more known design patterns, like Factories and Observers (and probably others, but I cannot name them ;) ). More about the in-code techniques are found in the subprojects gametoolset and x3toolset.

I am using Lazarus and FreePascal as IDE/compiler. I am developing on a Linux machine, but I test-build regularily for win32 using cross-compilers.

Used libraries

  • Lazarus Component Library (LCL) and FreePascal Run Time Library (FP-RTL)
  • virtualtreeview-new [SVN] (second VirtualTreeView port for FPC/Lazarus)
  • libxml2
  • some code based on code distributed by Doubleshadow to decode and load X³ game data

Screenshots

A custom dropdown control.
A custom dropdown control.
A custom dropdown control.
A custom dropdown control.

Downloads

Sadly, there are no downloads yet. To supply downloads, I want to have at least the support to create a mod package which can be used by X³. That also includes the creation of a sector map .bod file.