SCP Additions

From FreeSpace Wiki
Revision as of 15:55, 23 July 2007 by ARSPR (talk | contribs)
Jump to: navigation, search

Introduction

The main purpose of the Source Code Project is enhancing the game with new features. And this has been done in such succesfully way that maybe nobody knows them all. So this is a major flaw in the project because:

  1. Coders can easily become demotivated because they see that a lot of effort they spend upgrading the engine is scarcely used.
  2. Modders could build better campaigns and mods if they knew all the available extra stuff.

This page is intended as an enormous log where coders can make public all their huge and great work:

  1. Main objective: From now on, (july 2007), coders will have an only place where easily, (more or less), post all their additions sorted by date. In this way you can check what you've missed in the last two weeks you've been on holidays without needing to dig through all HLP forum threads.
  2. Secondary objective: With time and effort, we can start compiling here all the oustanding features already present. Although a bit more difficult, digging through this page (and using the search function of your browser), you can learn a lot of hidden things you didn't know about fs_open.

This list of features is indeed two lists because from version 3.6.9. more or less the public game code of the game was split in two branches:

  • Head branch. It contains all unstable or experimental new features. Builds based on this branch should be used only for testing and only by experimented users. They can easily crash, corrupt pilot files or whatever.


Posting rules

Please follow the rules. Even if you don't agree with some of them, follow them. This section can grow huge and it can become a damn hell. So we need one and only set of rules. And we all must follow it.

No discussion here, please.


  1. 1st. GOLDEN RULE: Be extremely brief.
    • Do not make long explanations within the lists.
    • In each entry Description section write a brief explanation.
    • If you need a deeper explanation for that feature put a link, (or links), in See section. Even create new pages if needed.
  2. 2nd. GOLDEN RULE: Be extremely tidy.
    • As you can imagine, this Wiki section can become a mess quite easily.
    • Always check that all the links work.
  3. General posting rules.
    1. As they should be quite intuitive, please follow any other example you find already posted.
    2. This list is actually two lists:
      • Features that belong only to HEAD experimental builds.
      • Features that belong also to stable builds. This kind of features are also present in HEAD builds. These builds are the seed for official SCP releases (like 3.6.9).
    3. Therefore, be sure you know if the feature must go to HEAD Branch or Stable Branch.
    4. Be extremely tidy in the place and date you post. The list should be always kept sorted in descending date order (the most recent additions should go in the upper part of each section).
    5. If the CVS date for your feature doesn't exist, create a new one.
    6. Always use Japanese YYYY-MM-DD format. So January 27th in 2007 should be 2007-01-27. (In this way the number of the date always grows when a day advances).
    7. Each new date should be a list item, ie. start it with *
      1. Each new feature in a given date should be a sublist item, ie. start it with **
      2. Each new feature has four sections. These subsections are sub-sublist items, ie. start them with ***:
        • Description: A brief description of the feature.
        • Category: The game category this feature falls in. It can be useful for people that want to look for just new "Sound" features for example. Please check the spelling and do not invent new categories. If you type "suond" or if we have one thousand different categories, this field is useless.
          You can assign several categories if you feel the feature you are posting about can fall in several areas.
          The official categories are:
          WARNING: We have to decide exact category names too ...
          • Mission features. All the new stuff you can add to missions through FRED, ie. new sexps, backgrounds, new mission options, ...
          • FRED interface. Any other FRED improvements, like Voice Acting Manager, which don't fall in the previous one.
          • Graphics. All the extra graphical capabilities added like OGL support, shine, glow, env or normal mapping...
          • Sound. Just the same with sound and music (ogg support as example).
          • Game interface. F3 Lab, showing models in loadout screen, showing ship info in hud, extended hud capabilities...
          • Models. Everything that has to do with ship models like higher poly limits, glow points...
          • Tables and modding. Everything that allows modders to customize FS2 and it's not directly set in FRED as a mission feature. Examples: Data management (-MOD flag), extended texture format support, modular tables, "un-hardcoded" tables like iff_defs, 3D shockwaves, 3D warp effects...
          • Scripting. (I know nothing about it)
          • Multiplayer. (I know nothing about it, again)
          • Coding. Technical coder info which maybe is not directly seen in game but needs to be told. Like "I have changed all the arrays with pointers in this subroutine". (Sorry if I'm telling nonsenses but I'm no coder at all, I think you can imagine what I want to say).
        • See: Put the links here to related pages with deeper info about that feature. If you want to post a lot of info about your feature, create your own page and put the link here.
        • Usage Tips: In the future, creating a tips page somewhere in the Wiki is intended. In this section you could explain useful tricks. Put here the links to the tips this feature is useful for here.
          If you feel like it, you can even start that tricks page ;) . Some discussion can be found here.
    8. If your feature is upgraded from the HEAD to the stable branch, please move it to that section and update the dates
    9. If you want you can use the next colour code to tell the addition importance:
      • Critical update. (This would be an extremely important update over retail behaviour).
        • Description: Whatever...
          ...
        • Usage Tips:
      • Common update. (Normal updates).
        • Description: Whatever...
          ...
        • Usage Tips:
      • Just a tweak. (This would be just a tweak over retail Freespace2).
        • Description: Whatever...
          ...
        • Usage Tips:
    10. When a new official release appears, Stable > CVS subsection name is just changed to the new build denomination and a new Stable > CVS section is created.



Feature list sorted by date

HEAD Branch (CVS) - Experimental, non-canon features

Stable Branch

CVS

3.6.9. build

Former builds

  • YYYY-MM-DD. Unknown date:
    • OpenGL support
      • Description: The game has been ported from original DirectX to OpenGL API. Moreover, DirectX is depreciated and can become unsupported in future versions.
      • Category: Graphics.
      • See:
      • Usage Tips:
    • Modular Tables
      • Description: *.TBM modular tables allow partial modifications over *.TBL standard tables.
      • Category: Tables and modding.
      • See: Modular Tables
      • Usage Tips:
    • Launcher flags
      • Description: Some of the new fs2_open and FRED2_open features are switched on through command line parameters. They can also be set through Launcher utility.
      • Category: Coding.
      • See: Command-Line Reference
      • Usage Tips:
    • -MOD flag
      • Description: It allows the usage of extra game data folders inside FS2 main folder. It is mainly used to avoid undesired mod data cross-effects.
      • Category: Tables and modding.
      • See: Command-Line Reference#-mod, FS2 Data Structure
      • Usage Tips:
    • Enhanced texture support