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 http://ra2stredit.wagnerma.de.
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