Difference between revisions of "FS2 Data Structure"

From FreeSpace Wiki
Jump to: navigation, search
m
(Introduction)
Line 4: Line 4:
  
 
==Introduction==
 
==Introduction==
 +
::<font color=red>Through all this page, SCP fs2_open and FRED2_open additions over retail behaviour will be marked in red font.</font>
 +
 +
 
Apart from the game engine or the mission editor, FRED, the game needs data to run; it needs missions, sounds, 3D models, textures... Freespace2 is highly moddable because nearly none of these data are embedded inside the game executable. In this way the user can always change nearly all game behaviour and appearance.
 
Apart from the game engine or the mission editor, FRED, the game needs data to run; it needs missions, sounds, 3D models, textures... Freespace2 is highly moddable because nearly none of these data are embedded inside the game executable. In this way the user can always change nearly all game behaviour and appearance.
  
Line 26: Line 29:
 
#*tango3_fs2.vp
 
#*tango3_fs2.vp
 
#*warble_fs2.vp
 
#*warble_fs2.vp
#*[[%2A.MVE]] movies (cutscenes). They are not originally installed in HD. They are read from game CDs.
+
#*[[%2A.MVE]] movies (cutscenes). They are not originally installed in the user hard disk drive. They are read from game CDs.
#<font color=red>'''One of the most important SCP fs2_open additions:''' Auxiliary data folders loaded through [[Command-Line_Reference#-mod|-MOD launcher flag]]. Retail game only use former both places. But fs2_open, (and FRED2_open), can use any other auxiliary folder in /freespace2 as game data holder. This feature allows installing and using several different mods without having undesired cross-effects. More important info about this feature and about loading priority can be found in [[Command-Line_Reference#-mod|-MOD launcher flag help]].</font>
+
#<font color=red>'''One of the most important SCP fs2_open additions:''' Auxiliary data folders loaded through [[Command-Line_Reference#-mod|-MOD launcher flag]]. Retail game only use former both places. But fs2_open, (and FRED2_open), can use any other auxiliary folder in /freespace2 as game data holder. This feature allows installing and using several different mods without having undesired cross-effects.</font>
 +
 
 +
The most important consequence of having several available locations for game data, is that several versions of each file can exist. '''There's a priority order between different locations''' as explained in [[Command-Line_Reference#-mod|-MOD launcher flag help]]. Due to this order, '''only the highest priority version of each file will be used'''. This feature allows the user to quickly replace existing ''mission.fs2'' or ''ShipModel.pof'' by new or improved versions, placing them in a higher priority place. There's no need to remove obsolete files.
  
 
==data subfolders==
 
==data subfolders==

Revision as of 18:15, 27 May 2007

WARNING: THIS PAGE IS FULLY UNDER DEVELOPMENT !!


Introduction

Through all this page, SCP fs2_open and FRED2_open additions over retail behaviour will be marked in red font.


Apart from the game engine or the mission editor, FRED, the game needs data to run; it needs missions, sounds, 3D models, textures... Freespace2 is highly moddable because nearly none of these data are embedded inside the game executable. In this way the user can always change nearly all game behaviour and appearance.

Like all your applications you'll have Freespace 2 installed in one folder in your hard drive. We will call this folder /freespace2, although it can have any other name (/fs2, /fspace2, or whatever). Inside this folder, Freespace 2 stores all its game data in three places (retail version just in two):

  1. Unpacked, ie. individual files, inside data folder within Freespace 2 installation folder, ie. in /freespace2/data. (data name is compulsory).
    Inside data folder, the game contents are classified and stored in several subfolders. Below, you have the full list of data subfolders with their description and contents, (remember that all their names are compulsory). The most commonly used and changed are:
    • effects contains all the textures and animations used in all explosions, weapon glows, smoke, particles and so on.
    • maps contains all the textures, (and animated textures), used over ship models.
    • missions contains all the mission (*.FS2) and campaign (*.FC2) definition files.
    • models contains all 3D models (*.POF).
    • music contains all the music files.
    • sounds contains all ingame sound effect files.
    • tables contains all table files. Tables define all the behaviour the game components have. They are the most important thing for modders to know. See Tables section for deeper info.
    • voice contains all the ingame voices.
  2. Packed in vp archives. This kind of archives just contain individual files in a similar way as "normal" archives like rar or zip do. They are placed in /freespace2 folder. Special software, like vpmage, is needed to build them.
    vp archives also follow the data structure, so, even while packed in a vp archive, your missions will be in /data/missions and your ship 3D models in /data/models. All retail data come packed in several vps. The next, and only the next, are the original game contents (when patched to v1.2):
    • root_fs2.vp
    • smarty_fs2.vp
    • sparky_fs2.vp
    • sparky_hi_fs2.vp
    • stu_fs2.vp
    • tango1_fs2.vp
    • tango2_fs2.vp
    • tango3_fs2.vp
    • warble_fs2.vp
    • *.MVE movies (cutscenes). They are not originally installed in the user hard disk drive. They are read from game CDs.
  3. One of the most important SCP fs2_open additions: Auxiliary data folders loaded through -MOD launcher flag. Retail game only use former both places. But fs2_open, (and FRED2_open), can use any other auxiliary folder in /freespace2 as game data holder. This feature allows installing and using several different mods without having undesired cross-effects.

The most important consequence of having several available locations for game data, is that several versions of each file can exist. There's a priority order between different locations as explained in -MOD launcher flag help. Due to this order, only the highest priority version of each file will be used. This feature allows the user to quickly replace existing mission.fs2 or ShipModel.pof by new or improved versions, placing them in a higher priority place. There's no need to remove obsolete files.

data subfolders

cache

cbanims

effects

fonts

force feedback

freddocs

hud

intelanims

interface

maps

missions

models

movies

multidata

music

players

images

multi

single

squads

sounds

8b22k

16b11k

tables

voice

briefing

command_briefings

debriefing

personas

special

Loading order