Difference between revisions of "SCP Additions"
Einstine909 (talk | contribs) m (→Introduction) |
|||
Line 1: | Line 1: | ||
==Introduction== | ==Introduction== | ||
− | The main purpose of the Source Code Project is enhancing the game with new features. And this has been done in such | + | The main purpose of the Source Code Project is enhancing the game with new features. And this has been done in such successfully way that maybe ''nobody'' knows them all. So this success can actually become a major flaw in the project because: |
− | # Coders are sometimes | + | # Coders are sometimes unmotivated because they see that a lot of the effort they spend upgrading the engine is scarcely used. |
# Modders could build better campaigns and mods if they knew all the available extra stuff. | # Modders could build better campaigns and mods if they knew all the available extra stuff. | ||
Line 8: | Line 8: | ||
#'''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 will be able to check what you've missed in the last two weeks you've been on holidays without needing to dig through all HLP forum threads. | #'''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 will be able to check what you've missed in the last two weeks you've been on holidays without needing to dig through all HLP forum threads. | ||
− | #Secondary objective: With time and effort, we will be able to start compiling here all the | + | #Secondary objective: With time and effort, we will be able to start compiling here all the outstanding features already present. Although a bit more difficult, digging through this page, (using the search function of your web 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, more or less since version 3.6.9., the game source code was split in two branches. ''([[Getting_the_Source|Here]] you've got info about getting the source code in both branches).'' | This list of features is indeed two lists because, more or less since version 3.6.9., the game source code was split in two branches. ''([[Getting_the_Source|Here]] you've got info about getting the source code in both branches).'' | ||
*'''[[SCP_Additions#HEAD_Branch_.28CVS.29_-_Experimental.2C_non-canon_features|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, have bugs, corrupt pilot files or have any other undesired effect. | *'''[[SCP_Additions#HEAD_Branch_.28CVS.29_-_Experimental.2C_non-canon_features|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, have bugs, corrupt pilot files or have any other undesired effect. | ||
− | *'''[[SCP_Additions#Stable_Branch|Stable branch]]'''. This branch has more tested features and, although bugs can always appear, they are supposed to be | + | *'''[[SCP_Additions#Stable_Branch|Stable branch]]'''. This branch has more tested features and, although bugs can always appear, they are supposed to be allot more stable than the ''HEAD branch''. This branch of the code is the one used for ''official releases'' like 3.6.9. As a general rule, ''HEAD branch'' has all the ''Stable branch'' features, but ''Stable branch'' don't have all the ''HEAD branch'' capabilities. |
− | |||
==Posting rules== | ==Posting rules== |
Revision as of 14:54, 24 July 2007
Contents
Introduction
The main purpose of the Source Code Project is enhancing the game with new features. And this has been done in such successfully way that maybe nobody knows them all. So this success can actually become a major flaw in the project because:
- Coders are sometimes unmotivated because they see that a lot of the effort they spend upgrading the engine is scarcely used.
- 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:
- 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 will be able to check what you've missed in the last two weeks you've been on holidays without needing to dig through all HLP forum threads.
- Secondary objective: With time and effort, we will be able to start compiling here all the outstanding features already present. Although a bit more difficult, digging through this page, (using the search function of your web 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, more or less since version 3.6.9., the game source code was split in two branches. (Here you've got info about getting the source code in both 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, have bugs, corrupt pilot files or have any other undesired effect.
- Stable branch. This branch has more tested features and, although bugs can always appear, they are supposed to be allot more stable than the HEAD branch. This branch of the code is the one used for official releases like 3.6.9. As a general rule, HEAD branch has all the Stable branch features, but Stable branch don't have all the HEAD branch capabilities.
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. If you want any of them changed, post it to discussion in this HLP forum thread.
- 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 the See section. Even create new pages if needed.
- 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.
- As they should be quite intuitive, please follow any other example you find already posted.
- Be sure you know if the feature must go to HEAD Branch or Stable Branch. And please, if your feature is upgraded from the HEAD to the stable branch, please update the lists and dates.
- Be extremely tidy in the place and date you post. The lists, (both HEAD and stable), should be always kept sorted in descending date order (the most recent additions should go in the upper part of each section).
- If the CVS date for your feature doesn't exist, create a new one.
- 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).
- Each new date should be a list item, ie. start it with *
- Each new feature in a given date should be a sublist item, ie. start it with **
- 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:- 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. All the game enhancements in the game mainhall and screens. Examples: 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 is 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. All the scripting enhancements. You can get a lot of info about scripting in Scripting.tbl table help.
- Multiplayer. Enhancements in multi player rather than general single player ones.
- 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.
- Optionally, 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:
- Description: Whatever...
- Common update. (Normal updates).
- Description: Whatever...
... - Usage Tips:
- Description: Whatever...
- Just a tweak. (This would be just a tweak over retail Freespace2).
- Description: Whatever...
... - Usage Tips:
- Description: Whatever...
- Critical update. (This would be an extremely important update over retail behaviour).
- 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
- YYYY-MM-DD. Unknown date:
- Environmental mapping
- Description: Ship hulls reflect background bitmaps. Additionally, alpha channel of specular maps can be used to set the reflection intensity.
- Category: Graphics.
- See: Command-Line_Reference#-env, Command-Line_Reference#-alpha_env, Texturing, Command-Line_Reference#-spec
- Usage Tips:
- Environmental mapping
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
- OpenGL support