Some weeks ago I decided to write a tutorial about the basics of general editing Terran Conflict with a focus on the modding-part as this is my 'speciality' (aka I cannot do scripting nor MD-programming ^^' ).
This tutorial really covers only the most basic things you need to know and is written for total beginners who've yet to even touch the X modding-tools. Though even more experienced modders may find the one or other thing they didn't know.
Posted by enenra on Feb 1st, 2009 Page 6 of 7
Basic Starting a mod.
5. The files in the directories
Now let's take a look at its bowels...
Now, after we have set up our modding directory and have all the necessary applications ready, I'm going to explain how Egosoft's data files (and with that every mod) is structured and what file influences what in the game. This will be a long theory lesson - be prepared!
This part of the basics tutorial is structured like the insides of a data file to make things easier to understand. This means that every following dot represents a folder in your x3tc_exctracted-directory.
General: Not much to tell you about this, actually. This folder contains all the cutscenes (ingame videos (like when the screen is suddenly covered by hexagons and something is shown)) in the XML-format.
Naming: The naming should be quite clear. The cutscene.xsd is a file which gives your XML-editor instructions on how to use the .xml-files in this folder.
Use: These files are to be used with your XML-editor. Refrain from using the Note- or Wordpad.
How they work: Those .xml-files are written in a format used by the Mission Director. This means that those cutscenes are played by the use of the MD ingame.
General: Yes, there are many files in this folder. All those files are to say in an easy language "the colors on all the physical things in the game", so called textures. All of them are in the DDS-format.
Naming: The naming is quite a mess in this folder. Some have proper names, some just a number. I can't help you much with those which are simply numbered. But I can with all others, as most of them possess a system which can be understood with some knowledge I'm going to provide to you now:
First, were going to analyse the extensions on the names. Not the format-extensions which are all .dds, but the abbreviations after the "_". There are XXX different ones:
Quote:_diff (Diffuse Map) : This means, that this file contains the color map. Patterns on ships, the rocky structure on asteroids - all of them have this extension.
_bump (Bump Map) : This is the extension for the map which gives the texture in the game its 3D appearance. It contains the shadows and highlights for the diffuse map.
_low_bump (Bump map) : These files actually contain the same informations like the files tagged with "_bump". The difference is the way the same informations is stored. This map is used when the graphic settings for textures aren't set to high and results in less texture quality for better performance.
_light (Light Map) : This means that this file contains all the parts of ships and stations which "shine". Windows for example.
_spec (Specular Map) : This marks files which contain the informations about the strength of the reflection on the diffuse map. This file is also used to define the specular color (the color of the reflection) of a model in the game.
_occl (Occlusion Map) : Files with this extension contain the info needed by the game to define the strength of shadows on ships. In TC, only terran stations and ships use this map which results in the stronger shadows on the side of the model, which doesn't face the sun.
Note: There are actually more of these extensions, but those may be in the data-files because of some tests the Egosoft guys did... usually they don't bother to remove unused material as the space it uses up is negligible. I don't know what those other extensions mean.
That's it for the extensions, but there are way more parts of the names which are standardised. The usual way a texture is named is like this:
Quote:(unique_)([RACE]_)([OBJECT SIZE/TYPE]_)([SPECIFIC PART]_)([EXTENSION]).dds
(unique_) : If this is placed at the beginning of a texture name, it means that this is a texture that can only be applied on the object defined in ([OBJECT SIZE/TYPE]_).
([RACE]_) : This defines the race of the object's texture. This texture is not used by any other race as long as they don't use the ships of other races (like pirates in some cases)
([OBJECT SIZE/TYPE]_) : This defines the object class or its size. Expressions used are for example "asteroid", "planet", "M3" or "large".
([SPECIFIC PART]_) : This defines the specific part of a model the texture is applied to.
([EXTENSION]) : I explained those above.
Of course, not every texture uses all those components in their name. Some consist only out of the object size/type.
Use: You can either import them into your 2D-application or apply them with your 3D-application on your models.
How they work: Textures are applied on a 3D model and give it their color. They can't modify the shape of an objects but they can appear to modify it. Textures can be used to make a model look more complex than it is, resulting in a better look with less impact on performance than if those details would be modelled. More specific explanations won't be covered in the basics tutorial.
General: This is the MD-programmer's domain. Here, all the missions are stored. In the subfolder "images", you'll find different pictures supposedly used by the MD.
Naming: I can't tell you much about this. The missions seem to be enumerated which explains the number at the beginning of their name. All of the missions are in the XML-format, all files in this folder that aren't in the XML-format contain tools for MD-programmers.
Use: Missions are written by using a XML-editor. Simply open the XML files with MVWD or whichever you use.
How they work: Explaining the workings of the MD-missions would take up multiple tutorials in itself. I won't and am not able to do that. Let's just say that the code contained in those .xml-files make all those missions appear in your game, though the mission director can be used for many other things as well.
General: Can't tell you much about this. This folder is mostly ignored by modders as the only thing that can be done here, is to look at the different fonts used in TC. I don't know of anyone who played around with this. If you want to mod here, you'll have to find our what works and what not by yourself.
Naming: The ABC-format contains the fonts, the image-files seem to contain a screenshot of the fonts.
Use: No idea.
How they work: Well, those files contain the shape of the fonts used by TC.
General: This folder contains several .obj-files. By all means, do NOT touch them! It's been forbidden by Egosoft. The subfolder "true", however, contains the files which define the different gamestarts.
Naming: In the subfolder "true" you'll find a gamestarts.xml and a tutorials.xml as well as several pictures. LoadScrBOT.jpg contains the loading bar showed at the bottom of the screen when loading a savegame, LoadScrTOP.jpg obviously the bar at the top of the screen. xuniverse logo_HD.jpg contains the background picture shown when starting up the game.
Use: Open the .xml-files with your XML-editor and the pictures with your 2D-application.
How they work: Not much to tell you here. The gamestarts.xml defines which gamestarts are avaiable in the game as well as what you have to accomplish to make them appear and what you possess when you start your game with that gamestart. The pictures are those which are shown when browsing through the gamestarts ingame. The tutorials.xml seems to define which gamestart is listed in the tutorials-category.
General: This is the folder where files are stored which have to do directly with the galaxy map.
Naming: All of the files in this folder are .xml-files and have their own name. It is possible to add your own map in this folder, giving it the name you want it to have.
Use: Open these files with your XML-editor. All map files - in the un-altered Egosoft data files only the x3_universe.xml - can be used with doubleshadows X3 Editor as well. Actually, it's not really a good idea to try it without the X3 Editor. To load a map file, start the X3 Editor and go to the Galaxy Editor, then load this file. Well, actually I just noticed that it's possible to load the other files in this directory with the galaxy editor as well. Makes things a lot easier, believe me... I want to bang my head at the nearest wall when I think about how many hours I wasted editing some of these files manually.
How they work:
x3_universe.xml : This is the file in which all data on the TC map is stored... every object placed in a sector. But mapping is as well stuff to fill multiple tutorials so I won't go into the details.
WareTemplate.xml : Very important file. It contains the informations about primary resources, secondary resources and products of every factory. If you place stations with the ingame galaxy editor, you can load a station's informations about products etc. with a simple click from this file.
x3_universe_debris.xml : This file contains all the debris asteroids placed in the universe with their coordinates. With them in a separate file, it's easy to remove them all.
XDemo.xml : Actually I'm not sure whether you have this file as well. But it's not really important anyways. This is a map file which contains the sectors available in the demo.
General: This directory is huge. It contains all models used by TC and some more. There are many subfolders:
Quote:cut : Contains the old cutscenes and pre-defined environments (like the city-chase-scene from X3)
effects : Contains models for the different effects used by TC (engine-effects, explosions, the menu displays, the weapon bullets and more)
environments : Contains models for different environment objects (asteroids, debris, the sector backgrounds, planets and more)
Interface : Contains more various models used by TC's interface (some may be unused)
intro : Contains only one file which seems to define TC's main menu.
others : Contains more various models.
ships : Contains all ships flying around in the universe and some additional who don't. Also various weapon dummies (in the "props"-folder) and some more other models. Originally this was quite a "clean" folder. Since TC it's a total mess and you have to search for ships of one race in about ten folders .
special : Contains the subfolder "gates" and with that some models for jumpgates, though probably not all.
stations : Contains obviously all station models.
v : This is the old folder where all models were stored (prior to X3:R). Here, you can still find relics from old X-games - even some old garbage from X-BtF.
weapons : Contains the model for the terran mine (the exploding kind) and in the subfolder "missiles" all models for the missiles in TC.
Naming: The good news: There are only two types of files in here: .bob- and .bob-files. The bad news: There are many different ways to use them.
Note: bob-files are compressed .bod-files. We cannot work with .bob-files so we have to decompress them to .bod-files, which is what the X2BODCompiler does. If the file extension is associated correctly with the X2BC, you only have the double click on the .bob-files to decompress them to .bod-files. The useful thing is that this works with multiple files at once as well so it'll cost us much less time to decompress many .bob-files. Also note that it may happen that the X2BC asks you whether he should overwrite an existing file. Here it's the same as with the data-files only that it's not about the number but about compression or no compression: The compressed file is always preferred. This means that you should always overwrite those .bods with the .bobs .
The models in this directory are named very differently but it's not really hard to figure out the pattern (aka I'm too lazy to write it down, go and find it out for yourself! :P). The only important thing is to note the extension "_scene". This means that this is a scene-file and not a normal model (a so called "body").
Note: A so called "scene" is a file which may have the same file extension ( .bod) like a normal body, but it does a totally different thing. A scene can be compared to a construction plan. It tells your 3D-application, which bodys (normal .bod-files) to load. An example: There is no body for the Argon Nova which contains everything needed to make it fully functional. There is, however, a body which contains the model of the Argon Nova. There is as well a scene which has the same filename as the model of the Argon Nove but with the extension "_scene". In that scene is written, where the model of the Argon Nova has to be placed and where to place the engine effect as well as where to place the weapons. In a scene, there can also be animated objects, like a spinning wheel (or whatever) which can't be done with a simple body.
Use: .bob-files have to be extracted with the X2BODCompiler. BOD-format-files can be opened and edited with the notepad or wordpad, though this is pointless for bigger changes. The best way to edit scenes and bodys is to start up 3DsMax or GMax, activate DBOX2 and the import them.
How they work: How BOD-format-files work isn't really part of the "basics". Also, I explained already quite a lot things above.
General: This is the place where different keyboard settings are saved, I suppose.
Naming: The one file located in here is a .xpf-file. I have no clue on how to open it.
Use: No idea.
How they work: I believe this is where keyboard layouts are saved but I really can't be sure. No idea on how it works.
General: "s" stands for "sounds" and as the name suggests, this is where all the sound effects used in TC are stored. You won't find any soundtracks here, though, as those are placed somewhere else.
Naming: They have specific numbers and are all in the WAV-format.
Use: You can open them with most music players (WMP, WinAMP).
How they work: Not much to tell you here. They play their sounds on command.
General: In the "shader"-directory you'll find many files. They are all placed in subfolders, named after the shader quality, I suppose (shader 1.0 to 3.0). They are for basic modding not really interesting.
Naming: All the files in the subfolders are .fb-files which seems to be the general format for shaders.
Use: No idea.
How they work: Shaders produce special effects in the game. They usually are applied on textures as far as I know.
General: The files in the "t"-folder contain all the texts used in TC from descriptions over the old BBS-news-texts to sector names.
Naming: Their naming structure is simple but important in many ways. The "0001" indicates, that this is a language file used by Egosoft. The "-" means nothing, it's just used to separate the first part from the second. Then there is he "L" which most likely means "language", followed by a "0" and two cyphers which define the language used in the file.
Note: Those two cyphers are generally used to define the language of a t-language-file. There is "07" for russian, "33" for french, "39" for italian, "44" for english, "48" for polish or czech (not quite sure about it) and "49" for german.
There is also a conversions.xml and conversions.xsd - I'm not sure what they do but after a quick glance into the .xml-file I suspect it defining the spoken texts around the mission briefings. The .xsd-file is - like I wrote before some times - telling your XML-Editor how to work with the .xml-file.
Use: Open them with your XML-Editor or with the Text Source Editor included in the X3 Editor.
How they work: Telling you how their structure works would fill another tutorial so I won't. Let's just say that TC loads all its texts from t-language-files, be they included in Egosoft's data-files or simply placed in the t-folder in your X3 Terran Conflict directory.
General: Most important about this directory would be that this is the old texture folder (the new one is the dds-folder). The textures in here may still be in use but as far as I know, it's not possible to add more textures in here and make TC load them. Note that all textures are in the subfolder "true" located.
Naming: Some have just numbers, some extensions I explained before. All of them have the JPG-format or the TGA-format.
Use: You can open the images with your 2D-application.
How they work: Like normal textures. The difference is only that they aren't compressed into the DDS-format.
General: Can't really tell you much about this directory. To me it seems like a testing area of some sort. I never encountered any model using the textures stored here. Most likely this is because all the textures in here exist either in the "text"-directory or in the "dds"-folder as well.
Naming: Like in the "tex"-directory but no .tga-files.
Use: Open them with your 2D-application.
How they work: Like normal textures, though they are most likely not used ingame.
General: The "types"-folder is probably the folder in which you're able to edit the largest amount of things about the game. Explaining all of their functions would fill another tutorial. I'll probably do that later.
Naming: IIRC, originally the only files in this directory were the files with a "T" at the beginning of their name. Now there are many more but all of them are .txt-files except for one: the hq.xml.
Use: All files can be opened with the notepad, though I recommend using your XML-Editor for the hq.xml and the X3 Editor for all files with a "T" at the beginning of their names. This is probably the most basic function of the X3 Editor - simply start it and then open the TXT Editor, then one of the T-files.
How they work: This won't be covered in this tutorial as they have too many functions.