ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

Difference between revisions of "Countries"

From ModEnc
Jump to: navigation, search
m (added some minor bits of info/slight rewordings)
(Art assets related to countries)
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
{{WrongTitle|[{{PAGENAME}}]}}
 +
 +
This section of [[Rules|rules(md).ini]] is a zero-starting list of all available countries in the game.
 +
 +
__TOC__
 +
 
== Countries and Sides ==
 
== Countries and Sides ==
  
Line 7: Line 13:
 
=== Basic Info ===
 
=== Basic Info ===
  
The countries are listed in the [Countries] section of the [[rules]].ini in this format:
+
The countries are listed in the [{{f|Countries|link}}] section of the {{Ini|rules}} in this format:
  
 
  ; PCG; WARNING; Do not remove, override or reorder the major 9 houses for skirmish
 
  ; PCG; WARNING; Do not remove, override or reorder the major 9 houses for skirmish
Line 22: Line 28:
 
  7=Confederation
 
  7=Confederation
 
  8=Russians
 
  8=Russians
  9=YuriCountry
+
  9=YuriCountry '';this country appears only in YR, it is not present in RA2''
 
  10=GDI
 
  10=GDI
 
  11=Nod
 
  11=Nod
Line 28: Line 34:
 
  13=Special
 
  13=Special
  
The sides are listed in the [Sides] section of the [[rules]].ini in this format:
+
The sides are listed in the [{{f|Sides|link}}] section of the {{Ini|rules}} in this format:
  
 
  ; ******* Side Type List *******
 
  ; ******* Side Type List *******
Line 36: Line 42:
 
  GDI=British,French,Germans,Americans,Alliance
 
  GDI=British,French,Germans,Americans,Alliance
 
  Nod=Russians,Africans,Confederation,Arabs
 
  Nod=Russians,Africans,Confederation,Arabs
  ThirdSide=YuriCountry  
+
  ThirdSide=YuriCountry '';this entry appears only in YR, it is not present in RA2''
 
  Civilian=Neutral
 
  Civilian=Neutral
 
  Mutant=Special
 
  Mutant=Special
  
As you can see, the [Countries] list requires the countries belonging to the GDI side (allies, in this case), to be listed first, followed by countries in the Nod side (soviets), then followed by ThirdSide countries (Yuri), and then the unplayable countries (Civilian side, then Mutant).
+
As you can see, the [{{f|Countries|link}}] list requires the countries belonging to the GDI side (allies, in this case), to be listed first, followed by countries in the Nod side (soviets), then followed by ThirdSide countries (Yuri) ([[YR]] only), and then the unplayable countries (Civilian side, then Mutant).
  
 
Each country in the list also has it's own section, detailing its properties:
 
Each country in the list also has it's own section, detailing its properties:
Line 58: Line 64:
 
Some of these tags are assumed to be unused/leftovers, but it requires confirmation.
 
Some of these tags are assumed to be unused/leftovers, but it requires confirmation.
  
[[Csf|UIName]]= points to a [[Csf]] string which will be displayed in the country selection screen for this country.
+
{{f|UIName|link}} points to a [[CSF]] string which will be displayed in the country selection screen for this country.
  
Name= is presumably a leftover.
+
{{f|Name|link}} defines an additional internal name, that can be used in [[Owner]]= tags along with the section name. Both will work.
  
Suffix= is Allied for GDI side countries, and Soviet for Nod and ThirdSide. This is believed to be left over from TD/RA1.
+
{{f|Suffix|link}} is Allied for GDI side countries, and Soviet for Nod and ThirdSide. This is believed to be left over from [[TD]]/[[RA]].
  
Prefix= is G for GDI side, B for Soviets and ThirdSide. This is believed to be left over from TD/RA1.
+
{{f|Prefix|link}} is G for GDI side, B for Soviets and ThirdSide. This is believed to be left over from [[TD]]/[[RA]].
  
Color= is a default color for this country. This is the default colour this country will be in a single player map, though it is often overidden by mappers.
+
{{f|Color|link}} is a default color for this country. This is the default colour this country will be in a single player map, though it is often overidden by mappers.
  
Multiplay= is yes for countries which should be enabled in the Skirmish/Multiplayer country select menu, no for others.
+
{{f|Multiplay|link}} is yes for countries which should be enabled in the Skirmish/Multiplayer country select menu, no for others.
  
MultiplayPassive= is no for countries which should be enabled in the Skirmish/Multiplayer country select menu, yes for others.
+
{{f|MultiplayPassive|link}} is no for countries which should be enabled in the Skirmish/Multiplayer country select menu, yes for others.
  
Side= decides which side's EVA/GUI/side specific actions this country should get. NOTE: the starting units/tech tree is determined by this country's listing in [Sides].
+
{{f|Side|link}} decides which side's EVA/GUI/side specific actions this country should get. NOTE: the starting units/tech tree is determined by this country's listing in [{{f|Sides|link}}].
  
SmartAI= is yes for all countries playable in Multiplayer.
+
{{f|SmartAI|link}} is yes for all countries playable in Multiplayer.
  
 
VeteranXXX= and YYYZZZMult= are detailed in more detail below.
 
VeteranXXX= and YYYZZZMult= are detailed in more detail below.
Line 81: Line 87:
  
 
You can grant some bonuses to certain countries.
 
You can grant some bonuses to certain countries.
VeteranXXX= makes the specified unit(s) build already at veteran status. XXX can be Infantry, Unit, or Aircraft. Keep in mind that these refer to [InfantryTypes], [VehicleTypes] and [AircraftTypes] accordingly. Otherwise issues can occur.
+
VeteranXXX= makes the specified unit(s) build already at veteran status. XXX can be Infantry, Unit, or Aircraft. Keep in mind that these refer to [<tt>[[InfantryTypes]]</tt>], [<tt>[[VehicleTypes]]</tt>] and [<tt>[[AircraftTypes]]</tt>] accordingly. Otherwise issues can occur.
  
 
YYYZZZMult= gives the country a specific bonus.  
 
YYYZZZMult= gives the country a specific bonus.  
Line 99: Line 105:
  
 
You simply concatenate these two strings, and add "Mult" to the end. Logically, SpeedBuildingsMult= and similar crazy bonuses don't work. There is also IncomeMult which is a special case that doesn't follow the above logic and affects a countries income.
 
You simply concatenate these two strings, and add "Mult" to the end. Logically, SpeedBuildingsMult= and similar crazy bonuses don't work. There is also IncomeMult which is a special case that doesn't follow the above logic and affects a countries income.
 +
 +
All of the possible combinations are included below:
 +
[[VeteranAircraft]]=
 +
[[VeteranUnits]]=
 +
[[VeteranInfantry]]=
 +
 +
[[ArmorAircraftMult]]=
 +
[[ArmorUnitsMult]]=
 +
[[ArmorInfantryMult]]=
 +
[[ArmorBuildingsMult]]=
 +
[[ArmorDefensesMult]]=
 +
 +
[[CostAircraftMult]]=
 +
[[CostUnitsMult]]=
 +
[[CostInfantryMult]]=
 +
[[CostBuildingsMult]]=
 +
[[CostDefensesMult]]=
 +
 +
[[SpeedAircraftMult]]=
 +
[[SpeedUnitsMult]]=
 +
[[SpeedInfantryMult]]=
 +
 +
[[BuildTimeAircraftMult]]=
 +
[[BuildTimeUnitsMult]]=
 +
[[BuildTimeInfantryMult]]=
 +
[[BuildTimeBuildingsMult]]=
 +
[[BuildTimeDefensesMult]]=
 +
 +
[[IncomeMult]]=
 +
[[Firepower]]=
 +
[[ROF]]=
  
 
(All these values are straight multipliers to default values.)
 
(All these values are straight multipliers to default values.)
 +
 +
SpeedBuildingsMult= and SpeedDefensesMult= have been excluded because the tags are useless because buildings and defense do not require a speed value and as such there is nothing to multiply.
  
 
=== Art assets related to countries ===
 
=== Art assets related to countries ===
  
The country flags and loading screens are actually bound to the country's index in the country list, not the country name. Here's a list of what means what:  
+
The country flags and loading screens are actually bound to the country's index in the [<tt>[[Countries]]</tt>] list, not the country name. Here's a list of what means what:  
  
Country index Default country     Flag file Loading screen file       Loading screen palette
+
{| style="font-family: monospace; border: 1px dashed gray; border-collapse: collapse;" border=1
0             Americans           usai.pcx   ls800ustates.shp         mplsu.pal
+
|- style="font-weight: bold; background: #ccc;"
1             Alliance (Korea)     japi.pcx   ls800korea.shp           mplsk.pal
+
| Country index
2             French               frai.pcx   ls800france.shp           mplsf.pal
+
| Default country
3             Germans             geri.pcx   ls800germany.shp         mplsg.pal
+
| Flag file
4             British             gbri.pcx   ls800ukingdom.shp         mplsuk.pal
+
| Loading screen file
5             Africans (Libya)     djbi.pcx   ls800libya.shp           mplsl.pal
+
| Loading screen palette {{Fnl|1}}
6             Arabs (Iraq)         arbi.pcx   ls800iraq.shp             mplsi.pal
+
|-
7             Confederation (Cuba) lati.pcx   ls800confederation.shp   mplsc.pal
+
| 0
8             Russians             rusi.pcx   ls800russia.shp           mplsr.pal
+
| Americans
9             YuriCountry (Yuri)   yrii.pcx   ls800yuri.shp             mpyls.pal
+
| usai.pcx
 +
| ls800ustates.shp
 +
| mplsu.pal
 +
|-
 +
| 1
 +
| Alliance (Korea)
 +
| japi.pcx
 +
| ls800korea.shp
 +
| mplsk.pal
 +
|-
 +
| 2
 +
| French
 +
| frai.pcx
 +
| ls800france.shp
 +
| mplsf.pal
 +
|-
 +
| 3
 +
| Germans
 +
| geri.pcx
 +
| ls800germany.shp
 +
| mplsg.pal
 +
|-
 +
| 4
 +
| British
 +
| gbri.pcx
 +
| ls800ukingdom.shp
 +
| mplsuk.pal
 +
|-
 +
| 5
 +
| Africans (Libya)
 +
| djbi.pcx
 +
| ls800libya.shp
 +
| mplsl.pal
 +
|-
 +
| 6
 +
| Arabs (Iraq)
 +
| arbi.pcx
 +
| ls800iraq.shp
 +
| mplsi.pal
 +
|-
 +
| 7
 +
| Confederation (Cuba)
 +
| lati.pcx
 +
| ls800cuba.shp
 +
| mplsc.pal
 +
|-
 +
| 8
 +
| Russians
 +
| rusi.pcx
 +
| ls800russia.shp
 +
| mplsr.pal
 +
|-
 +
| 9 ''([[YR]] only)''
 +
| YuriCountry (Yuri)
 +
| yrii.pcx
 +
| ls800yuri.shp
 +
| mpyls.pal
 +
|}
 +
 
 +
{{Fn|1|The palettes are country-specific only in YR. In RA2, all countries share the same palette - {{Tt|mpls.pal}}.}}
  
 
All of these names are ''[[hardcoded]]'' via array data in the executable itself.
 
All of these names are ''[[hardcoded]]'' via array data in the executable itself.
Line 122: Line 220:
 
=== Text assets related to countries ===
 
=== Text assets related to countries ===
  
* The country list you see in the country selection screen is not hardcoded - it builds a list of all countries in the order you list them in the [Countries], using their associated [[Csf|UIName]]=s.
+
* The country list you see in the country selection screen is not hardcoded - it builds a list of all countries in the order you list them in the [{{f|Countries|link}}], using their associated {{Tt|UIName}}s.
* The tooltips ("Britain can train Snipers, USA can drop paratroopers, etc") are hardcoded. Actually, the [[Csf]] file data names are. (#1 is loadbriefshort: USA, #2 is loadbriefshort:korea, etc.) It does not obey the [Countries] ordering.
+
 
* The loading screen's top string name is hardcoded the same way. #1 is name:apara, #2 is name:beagle, etc. If you modify the units, you need to modify these strings too.
+
Text assets list:
* The lower string in the loadscreen is also hardcoded. #1 is loadbrief:usa, #2 is loadbrief:korea, etc.
+
 
* The country name in the lower right corner of the loading screen is hardcoded. It does not follow the [Countries] ordering. #1 is always name:americans, #2 is name:alliance, etc.
+
'''Note:''' Like the art assets above, this table depends on the country's index in the country list, not its name. So the first country in the [{{Tt|Countries}}] list (#0 below) will always use {{Tt|stt:playersideamericans}}, and so on.
 +
 
 +
{| style="font-family: monospace; border: 1px dashed gray; border-collapse: collapse;" border=1
 +
|- style="font-weight: bold; background: #ccc;"
 +
| Country index
 +
| Tooltip {{Fnl|2}}
 +
| Loading screen text #1 {{fnl|3}}
 +
| Loading screen text #2 {{fnl|4}}
 +
| Loading screen text #3 {{fnl|5}}
 +
|-
 +
| 0
 +
| stt:playersideamericans
 +
| name:para
 +
| loadbrief:usa
 +
| name:americans
 +
|-
 +
| 1
 +
| stt:playersidekorea
 +
| name:beagle
 +
| loadbrief:korea
 +
| name:alliance
 +
|-
 +
| 2
 +
| stt:playersidefrance
 +
| name:gtgcan
 +
| loadbrief:french
 +
| name:french
 +
|-
 +
| 3
 +
| stt:playersidekgermany
 +
| name:tnkd
 +
| loadbrief:germans
 +
| name:germans
 +
|-
 +
| 4
 +
| stt:playersidebritain
 +
| name:snipe
 +
| loadbrief:british
 +
| name:british
 +
|-
 +
| 5
 +
| stt:playersidelibya
 +
| name:dtruck
 +
| loadbrief:libya
 +
| name:africans
 +
|-
 +
| 6
 +
| stt:playersideiraq
 +
| name:deso
 +
| loadbrief:iraq
 +
| name:arabs
 +
|-
 +
| 7
 +
| stt:playersidecuba
 +
| name:terror
 +
| loadbrief:cuba
 +
| name:confederation
 +
|-
 +
| 8
 +
| stt:playersiderussia
 +
| name:ttnk
 +
| loadbrief:russia
 +
| name:russians
 +
|-
 +
| 9 ''([[YR]] only)''
 +
| stt:playersideyuricountry
 +
| name:yuri
 +
| loadbrief:yuricountry
 +
| name:yuricountry
 +
|}
 +
 
 +
{{Fn|2|These are the tooltips ("Britain can train Snipers, USA can drop paratroopers, etc") that you see at the bottom of the country selection screen.}}
  
In conclusion, if you reorder the [Countries] list (which is almost a necessity if you intend to switch some sides), you will need to work extensively on making it look correct.  
+
{{Fn|3|This is the loading screen's top string name (typically the country's special unit's name).}}
 +
 
 +
{{fn|4|This is the description below #1 (typically a description of that special unit).}}
 +
 
 +
{{fn|5|This is the country name in the lower right corner of the loading screen.}}
 +
 
 +
In conclusion, if you reorder the [{{Tt|Countries}}] list (which is almost a necessity if you intend to switch some sides), you will need to work extensively on making it look correct.  
 
To do that, you have several chances:
 
To do that, you have several chances:
  
* A. Make all [Country_Name] sections point to completely different [[Csf]] strings. Like name:country0, name:country1, name:country2, etc. Then adjust these names, and correct all the original [[Csf]] entries which are used by countries you moved in the list.  This means you'll have to adjust 1 extra [[Csf]] entry for each country.
+
* A. Make all [Country_Name] sections point to completely different [[CSF]] strings. Like name:country0, name:country1, name:country2, etc. Then adjust these names, and correct all the original CSF entries which are used by countries you moved in the list.  This means you'll have to adjust 1 extra CSF entry for each country.
  
* B. Swap the [[Csf|UIName]]= entries of the Countries so that the first country on the list gets the name:Americans entry, the second gets name:Korea, etc. Then correct them to say the correct things. This means you'll only need to adjust the [[Csf]] for the countries you moved around.
+
* B. Swap the {{f|UIName|link}} entries of the Countries so that the first country on the list gets the name:Americans entry, the second gets name:Korea, etc. Then correct them to say the correct things. This means you'll only need to adjust the [[CSF]] for the countries you moved around.
  
 
* C. See the last section.
 
* C. See the last section.
  
 
=== Editing hardcoded elements ===
 
=== Editing hardcoded elements ===
All the previously mentioned "[[harcoded]]" items can be modified in the exe.
+
All the previously mentioned "[[hardcoded]]" items can be modified in the exe.
For example, it is possible to patch the exe to take different flag names (even flg0.pcx, flg1.pcx etc.. would be better IMO) , [which is a 10 second job], and different [[Csf]] strings.  
+
For example, it is possible to patch the exe to take different flag names (even flg0.pcx, flg1.pcx etc.. would be better IMO) , [which is a 10 second job], and different [[CSF]] strings.  
 
But this way, you need to distribute a patcher with your mod, which bites. And can interfere with The Project's patcher, or uninstalling the mod.
 
But this way, you need to distribute a patcher with your mod, which bites. And can interfere with The Project's patcher, or uninstalling the mod.
  
 
== TS ==
 
== TS ==
  
I have no experience in TS modding, so somebody else will have to fill this in.
+
In Tiberian Sun and Firestorm, the [Countries] list is named differently, it's called the [[Houses|[Houses]]] list.
 +
 
 +
[[Category:Rules(md).ini Sections]]
 +
[[Category:General Editing Information]]

Latest revision as of 19:34, 15 January 2011

This page should correctly be named "[Countries]"; it is wrong due to technical restrictions.


This section of rules(md).ini is a zero-starting list of all available countries in the game.

Countries and Sides

Editing/adding countries or sides is one of the most common questions asked by new modders. This should provide the necessary information regarding this subject.

RA2/YR

Basic Info

The countries are listed in the [Countries] section of the rules(md).ini in this format:

; PCG; WARNING; Do not remove, override or reorder the major 9 houses for skirmish
; or LAN game maps.  These need to go into the house types array first and without
; interruption by other types of houses, or we will get evil crashes.
[Countries]
0=Americans
1=Alliance
2=French
3=Germans
4=British
5=Africans
6=Arabs
7=Confederation
8=Russians
9=YuriCountry ;this country appears only in YR, it is not present in RA2
10=GDI
11=Nod
12=Neutral
13=Special

The sides are listed in the [Sides] section of the rules(md).ini in this format:

; ******* Side Type List *******
; The combantants can be grouped according to side. This
; lists the sides and their respective member houses.
[Sides]
GDI=British,French,Germans,Americans,Alliance
Nod=Russians,Africans,Confederation,Arabs
ThirdSide=YuriCountry ;this entry appears only in YR, it is not present in RA2
Civilian=Neutral
Mutant=Special

As you can see, the [Countries] list requires the countries belonging to the GDI side (allies, in this case), to be listed first, followed by countries in the Nod side (soviets), then followed by ThirdSide countries (Yuri) (YR only), and then the unplayable countries (Civilian side, then Mutant).

Each country in the list also has it's own section, detailing its properties:

[Americans]
UIName=Name:Americans
Name=America
Suffix=Allied
Prefix=G
Color=Gold
Multiplay=yes
Side=GDI
SmartAI=yes
;VeteranInfantry=E1
;CostUnitsMult=.85

Some of these tags are assumed to be unused/leftovers, but it requires confirmation.

UIName points to a CSF string which will be displayed in the country selection screen for this country.

Name defines an additional internal name, that can be used in Owner= tags along with the section name. Both will work.

Suffix is Allied for GDI side countries, and Soviet for Nod and ThirdSide. This is believed to be left over from TD/RA.

Prefix is G for GDI side, B for Soviets and ThirdSide. This is believed to be left over from TD/RA.

Color is a default color for this country. This is the default colour this country will be in a single player map, though it is often overidden by mappers.

Multiplay is yes for countries which should be enabled in the Skirmish/Multiplayer country select menu, no for others.

MultiplayPassive is no for countries which should be enabled in the Skirmish/Multiplayer country select menu, yes for others.

Side decides which side's EVA/GUI/side specific actions this country should get. NOTE: the starting units/tech tree is determined by this country's listing in [Sides].

SmartAI is yes for all countries playable in Multiplayer.

VeteranXXX= and YYYZZZMult= are detailed in more detail below.

VeteranXXX and YYYZZZMult=

You can grant some bonuses to certain countries. VeteranXXX= makes the specified unit(s) build already at veteran status. XXX can be Infantry, Unit, or Aircraft. Keep in mind that these refer to [InfantryTypes], [VehicleTypes] and [AircraftTypes] accordingly. Otherwise issues can occur.

YYYZZZMult= gives the country a specific bonus.

YYY can be one of:

Armor
Cost
Speed
BuildTime

ZZZ can be one of:

Aircraft
Units
Infantry
Buildings
Defenses

You simply concatenate these two strings, and add "Mult" to the end. Logically, SpeedBuildingsMult= and similar crazy bonuses don't work. There is also IncomeMult which is a special case that doesn't follow the above logic and affects a countries income.

All of the possible combinations are included below:

VeteranAircraft=
VeteranUnits=
VeteranInfantry=

ArmorAircraftMult=
ArmorUnitsMult=
ArmorInfantryMult=
ArmorBuildingsMult=
ArmorDefensesMult=

CostAircraftMult=
CostUnitsMult=
CostInfantryMult=
CostBuildingsMult=
CostDefensesMult=

SpeedAircraftMult=
SpeedUnitsMult=
SpeedInfantryMult=

BuildTimeAircraftMult=
BuildTimeUnitsMult=
BuildTimeInfantryMult=
BuildTimeBuildingsMult=
BuildTimeDefensesMult=

IncomeMult=
Firepower=
ROF=

(All these values are straight multipliers to default values.)

SpeedBuildingsMult= and SpeedDefensesMult= have been excluded because the tags are useless because buildings and defense do not require a speed value and as such there is nothing to multiply.

Art assets related to countries

The country flags and loading screens are actually bound to the country's index in the [Countries] list, not the country name. Here's a list of what means what:

Country index Default country Flag file Loading screen file Loading screen palette 1
0 Americans usai.pcx ls800ustates.shp mplsu.pal
1 Alliance (Korea) japi.pcx ls800korea.shp mplsk.pal
2 French frai.pcx ls800france.shp mplsf.pal
3 Germans geri.pcx ls800germany.shp mplsg.pal
4 British gbri.pcx ls800ukingdom.shp mplsuk.pal
5 Africans (Libya) djbi.pcx ls800libya.shp mplsl.pal
6 Arabs (Iraq) arbi.pcx ls800iraq.shp mplsi.pal
7 Confederation (Cuba) lati.pcx ls800cuba.shp mplsc.pal
8 Russians rusi.pcx ls800russia.shp mplsr.pal
9 (YR only) YuriCountry (Yuri) yrii.pcx ls800yuri.shp mpyls.pal

1 The palettes are country-specific only in YR. In RA2, all countries share the same palette - mpls.pal.

All of these names are hardcoded via array data in the executable itself.

Text assets related to countries

  • The country list you see in the country selection screen is not hardcoded - it builds a list of all countries in the order you list them in the [Countries], using their associated UINames.

Text assets list:

Note: Like the art assets above, this table depends on the country's index in the country list, not its name. So the first country in the [Countries] list (#0 below) will always use stt:playersideamericans, and so on.

Country index Tooltip 2 Loading screen text #1 3 Loading screen text #2 4 Loading screen text #3 5
0 stt:playersideamericans name:para loadbrief:usa name:americans
1 stt:playersidekorea name:beagle loadbrief:korea name:alliance
2 stt:playersidefrance name:gtgcan loadbrief:french name:french
3 stt:playersidekgermany name:tnkd loadbrief:germans name:germans
4 stt:playersidebritain name:snipe loadbrief:british name:british
5 stt:playersidelibya name:dtruck loadbrief:libya name:africans
6 stt:playersideiraq name:deso loadbrief:iraq name:arabs
7 stt:playersidecuba name:terror loadbrief:cuba name:confederation
8 stt:playersiderussia name:ttnk loadbrief:russia name:russians
9 (YR only) stt:playersideyuricountry name:yuri loadbrief:yuricountry name:yuricountry

2 These are the tooltips ("Britain can train Snipers, USA can drop paratroopers, etc") that you see at the bottom of the country selection screen.

3 This is the loading screen's top string name (typically the country's special unit's name).

4 This is the description below #1 (typically a description of that special unit).

5 This is the country name in the lower right corner of the loading screen.

In conclusion, if you reorder the [Countries] list (which is almost a necessity if you intend to switch some sides), you will need to work extensively on making it look correct. To do that, you have several chances:

  • A. Make all [Country_Name] sections point to completely different CSF strings. Like name:country0, name:country1, name:country2, etc. Then adjust these names, and correct all the original CSF entries which are used by countries you moved in the list. This means you'll have to adjust 1 extra CSF entry for each country.
  • B. Swap the UIName entries of the Countries so that the first country on the list gets the name:Americans entry, the second gets name:Korea, etc. Then correct them to say the correct things. This means you'll only need to adjust the CSF for the countries you moved around.
  • C. See the last section.

Editing hardcoded elements

All the previously mentioned "hardcoded" items can be modified in the exe. For example, it is possible to patch the exe to take different flag names (even flg0.pcx, flg1.pcx etc.. would be better IMO) , [which is a 10 second job], and different CSF strings. But this way, you need to distribute a patcher with your mod, which bites. And can interfere with The Project's patcher, or uninstalling the mod.

TS

In Tiberian Sun and Firestorm, the [Countries] list is named differently, it's called the [Houses] list.