CNC Guild Forums
 Contact Staff
 Voxel Comp ´06



 RA2 Mp maps
 RA2 Sp maps
 YR Mp maps
 YR Sp maps

 GFX Packs
 TSGFX Packs
 Recommended Downloads:
RA2 Missions Argentina -English-

CSF Files - Using RA2StrEdit
Submitted by ArgCmdr

This tutorial will guide you through the process of getting to know what is a CSF file, how its used by the game, and how to use the utility made by Matze, RA2StrEdit, to modify it.

First of all, if you previously modded Tiberian Sun, you would have noticed that there werent any CSF files. All the displayed text that was modifiable, was based onto Name= strings in the ini files. Well, in RA2YR this changed, in order to make modders life harder i guess.

A CSF file, would be (even if these are not the correct initials, it applies) a Compressed String File. Instead of having briefings on ini files like on previous c&cs, now you modify a database of strings. Each string can be used more than one time (For example, STT:LoadingEx is used for initial game loading screen and MP loading screen as well). These strings are referenced either by game code or by the ini files, so they are played on the required conditions. Keep in mind that the string´s name that is called for for menues for example, are contained in the GUI preffixed strings, and you cant make the name read something else for each purpose inside that group unless you modify the exe.

The visible preffixes for string names, are just a classification to make the file ordered, and as well indicate what each string is used for. The preffixes are:

BRIEF: Briefings for mission maps, the ones accessable by the briefing button, on previous games called Restate Briefing on the options menues
CMND: Supposed to be used to describe hotkey functions (So better dont modify this)
COOP: Cooperative Campaigns Briefings and Logs
CRD: Credited persons, these are all referred by credits/md.txt
DESC: Name of the MP maps and player quantity, name of campaigns.
ERROR: Certain Error messages regarding online play (Dont modify this either)
EXTRA: Several strings saying Do not translate, never seen them modified, however theres no seeable trace of they actually containing something used in the game (maybe the code does recurr to them, nontheless)
GAMETYPEDESC: These are used to describe game modes
GUI: Graphical User Interface, these are the strings used in the menues.
LETTER: Letters which are used as team divisors in the MP game options
LOADBRIEF: These contain the a shortened version of the briefings for missions, and country descriptions for MPs
LOADBRIEFSHORT: These aint used in the game, unless theyre called somewhere inside online play.
LOADMSG: These contain the location and operation name for missions.
MISSION: These contain mission texts (strings displayed during missions)
MSG: Messages which appear as a reaction to an element in the UI (bottom bar), and some other functions
NAME: These design the name of objects, such as units.
OTHER: Some sporadic strings used in COOP, WDT and WOL
STT: Descriptions for when the mouse passes over a GUI object
THEME: Music Theme names
TIP: Same function as STTs, but for when mouse passes through UI or Alliance menu objects
TXT: A mix of Error messages, WOL elements, and certain menues strings
VOX: These describe unit voices and speechs
WDT: World Domination Tour strings
WOL : Messages played within Westwood Online´s "jurisdiction"

As you may already have noticed, by modifying the CSF file, youll be able to modify the texts seen in the game, in loadscreens, menues, even during the game itself, or add your own custom texts for your mission maps or mods!

Now, you know what the CSF file is, and how its order. You need to learn how to modify it.

By now, you should have gotten RA2StrEdit. There should be a link on this site, else you might still be able to get it at

You may notice its easy to modify the strings. You simply open the CSF file (which you can extract with XCC Mixer, from language.mix for RA2 and langmd.mix for YR), choose what string to modify and modify it. In order to create new strings, you just go to Edit --> Insert String. On this menu, you just write inside the StringID field, Flag is indifferent, but should be 1 always. Then you wait until its created (may take 10 seconds), and then you search for it, and write on the Content field. After that you save the file (File --> Save), and place the new file either on the games folder or in an Expandxx.mix/Expandmdxx.mix where xx is a number between 02-99, for RA2 and YR respectively.

In case you want to add the name of the unti so when you hover the mouse on it it says it correctly, add to the unit´s code UIName=STRINGNAME, being STRINGNAME the STring ID in the CSF file
In case you want a text to be displayed during the mission map, you use Action 11, text trigger, and select the string you want from the parameter drop down box. Keep in mind that FA2YR reads ra2.csf and not ra2md.csf, in order to keep compatibility for RA2

That should be basically it, except for saying you can also edit the CSF files via XCC Mixer, with the XCC String Table Writer. The thing is its just simpler, so an explanation shouldnt be necessary.

> Back to Tutorials

Mental Omega 
raminator CnC 
Sleipnir's Stuff 
CNC Guild 
Project Perfect Mod 
CNC Source 
Sudden Strike 
C&C Reloaded 
Revora Frontpage 
Revora Hosting 

This site is best viewed at 1024x786  
Aqua Arg site design created by Mig Eater 1999-2006 Team Revenge  
Should there be any problems with the site, please contact the current webmaster