Results 1 to 1 of 1

Thread: Guide to Enable the Sahara Province for MTW/VI 2.01

  1. #1

    Default Guide to Enable the Sahara Province for MTW/VI 2.01

    Well I said I'd post up a guide to this a while back, so I suppose I'd better stick to my word. This mod is for MTW/VI 2.01 only. You follow the instructions entirely at your own risk. I assume that the reader understands the functions of a basic text editor such as notepad.

    This is a list of the files you need to edit:

    x:\Total War\medieval - total war\campmap\startpos\EARLY.TXT - hereafter referred to as Early
    x:\Total War\medieval - total war\campmap\startpos\HIGH.TXT - hereafter referred to as High
    x:\Total War\medieval - total war\campmap\startpos\LATE.TXT - hereafter referred to as Late
    x:\Total War\medieval - total war\Loc\Eng\DEFAULT_REGION_SPECIFIC.TXT - hereafter referred to as DEFAULT_REGION_SPECIFIC.TXT

    1) The first thing to do is back up those files, copy each one and rename it with a .bak extension. Don't think, "I'll risk it, and it'll work" because one small typo can be so difficult to trace. If your Early/High/Late file contains a syntax error, MTW will simply ignore it and you won't see it in the campaign menu. To reiterate: back up the files.

    2) Next we need to edit the DEFAULT_REGION_SPECIFIC.TXT
    file. This file contains the names of provinces as well as the messages such as "You forces invade Greece" and "The Amir of Rum". This is language specific, not owning a multilanguage version of MTW/VI I can't be of much help with other locales, though in theory it should be very similar.

    Open the file with notepad and go to find and replace. Find "Saha" and replace all with "Sahara". Next find the following line:

    Code:
    ["Africa Castle_xzy"]			{"Africa Castle"}
    Replace with:

    Code:
    ["Africa Castle_xzy"]			{"Sahara Castle"}
    Search from the top again for: "Duke of Sahara" and replace with "Duke of the Sahara"

    Search from the top again for: "Amir of Sahara" and replace with "Amir of the Sahara".

    Save and close the file (Don't forget the backup).

    3) Next we need to move on to the Early, High and Late files this is a little more complex, don't forget the backups. If for some reason you don't back up, you can restore these files from the VI CDROM from the following location:

    \Setup\Data\Campmap\startpos

    Early

    The first file to start with is Early. You may find that if you only play early then you needn't bother with the other eras. Either way you may want to get Early going first and see how it goes before you mod the other eras.

    Open the Early file. If you search throught the file for "Africa" (The internal name for the Sahara province) you'll see it mentioned near the start of the file and continuously throughout. The Sahara province is in fact a valid, working province, it has just been disconnected so that no one can get there. First you''ll note it's declaration, followed by it's unquakeable and unfloodable properties. Followed by the setting for the type of rebels found there, which is the same as Tunisia, Berbers. All of this shows that the Sahara was originally intended to be there but was taken out during development, possibly for reasons of game balance.

    The first section we're interested in, in this file is the "SetNeighbours::" lines. These define which provinces connect to other provinces. This is where the infamous landbridge disconnection goes on. In this case we're more interested in bridging than unbridging.

    Right before the first "SetNeighbours::" line we need to add the following line:

    Code:
    SetNeighbours:: ID_AFRICA	ID_MOROCCO	ID_ALGERIA	ID_TUNISIA	ID_LIBYA	ID_ATLANTIC_COAST
    Unit's and agents (once a port is constructed) can now venture out of the Sahara into the rest of the world. Trouble is that at present there's no one there and no one else can get there because this is a one way route! This line basically sets Sahara's neighbours as Morocco, Algeria, Tunisia, and Cyrenacia as well as the Atlantic Coast.

    The other half of the route involves those other provinces and the individual lines relating to them. Luckily most of them are grouped together in the list search for "SetNeighbours:: ID_LIBYA" to find the group below:

    Code:
    SetNeighbours:: ID_LIBYA	ID_TUNISIA	ID_EGYPT	ID_GULF_SIDRA	ID_GULF_GABES		ID_NILE_COAST				
    SetNeighbours:: ID_TUNISIA	ID_ALGERIA	ID_LIBYA	ID_GULF_GABES	ID_AFRIKA_COAST
    SetNeighbours:: ID_ALGERIA	ID_MOROCCO	ID_TUNISIA	ID_MOORISH_COAST	ID_AFRIKA_COAST							
    SetNeighbours:: ID_MOROCCO	ID_ALGERIA	ID_GRANADA	ID_CORDOBA	ID_STRAITS_GIBRALTAR	ID_ATLANTIC_COAST		ID_MOORISH_COAST
    It's simply a case of adding "ID_AFRICA" into the second position or anywhere between the second position and the end of the line of each of those lines:

    Change as follows:

    Code:
    SetNeighbours:: ID_LIBYA	ID_AFRICA	ID_TUNISIA	ID_EGYPT	ID_GULF_SIDRA	ID_GULF_GABES		ID_NILE_COAST				
    SetNeighbours:: ID_TUNISIA	ID_AFRICA	ID_ALGERIA	ID_LIBYA	ID_GULF_GABES	ID_AFRIKA_COAST
    SetNeighbours:: ID_ALGERIA	ID_AFRICA	ID_MOROCCO	ID_TUNISIA	ID_MOORISH_COAST	ID_AFRIKA_COAST							
    SetNeighbours:: ID_MOROCCO	ID_AFRICA	ID_ALGERIA	ID_STRAITS_GIBRALTAR	ID_ATLANTIC_COAST		ID_MOORISH_COAST
    Find and change:

    Code:
    SetNeighbours:: ID_ATLANTIC_COAST	ID_MOROCCO	ID_ATLANTIC_OCEAN	ID_STRAITS_GIBRALTAR
    Code:
    SetNeighbours:: ID_ATLANTIC_COAST	ID_AFRICA ID_MOROCCO	ID_ATLANTIC_OCEAN	ID_STRAITS_GIBRALTAR
    Units in the Sahara can now travel out of it.

    Next is the "SetBorderInfo::" part of the file. This section is long. Luckily you're not removing landbridges you're adding them so you only need to find the end of the "SetBorderInfo::" part and add the folowing lines of code:

    Code:
    SetBorderInfo:: ID_AFRICA	ID_TUNISIA	0	0	0	ROCK_DESERT	AT_ISLAMIC	INLAND	HILLY	NO_RIVER
    SetBorderInfo:: ID_TUNISIA	ID_AFRICA	0	0	0	SAND_DESERT	AT_ISLAMIC	INLAND	FLAT	NO_RIVER
    
    SetBorderInfo:: ID_AFRICA	ID_MOROCCO	0	0	0	ARID	AT_ISLAMIC	INLAND	HILLY	NO_RIVER
    SetBorderInfo:: ID_MOROCCO	ID_AFRICA	0	0	0	SAND_DESERT	AT_ISLAMIC	INLAND	FLAT	NO_RIVER
    
    SetBorderInfo:: ID_AFRICA	ID_ALGERIA	0	0	0	ARID	AT_ISLAMIC	INLAND	HILLY	NO_RIVER
    SetBorderInfo:: ID_ALGERIA	ID_AFRICA	0	0	0	SAND_DESERT	AT_ISLAMIC	INLAND	FLAT	NO_RIVER
    
    SetBorderInfo:: ID_AFRICA	ID_LIBYA	0	0	0	SAND_DESERT	AT_ISLAMIC	INLAND	FLAT	NO_RIVER
    SetBorderInfo:: ID_LIBYA	ID_AFRICA	0	0	0	SAND_DESERT	AT_ISLAMIC	INLAND	FLAT	NO_RIVER
    
    SetBorderInfo::	ID_ATLANTIC_COAST	ID_AFRICA	0	0	0	SAND_DESERT	AT_ISLAMIC	COAST	FLAT	NO_RIVER
    This basically defines the type of terrain encountered for armies crossing from one provinces to the other. It defines the battlefield they will fight upon and states if a river is present or if it is coastal. It also sets the type of architecture encountered on the battlefield. If you don't include these lines the game will crash. The three zeros in every line are no longer used but, AFAIK, need to be included all credit goes to Barocca for that info.

    Directly below "The SetBorderInfo::" part is the "SetCastle::" section. Here you'll need to add the line:

    Code:
    SetCastle::	ID_AFRICA	1472	23392
    If you think the castle should be somewhere else then you can alter this at your leisure. I found these coordinates in another post, though I'm not sure of the source now. If you fiddle around with them you can reposition the castle. I've done it with trial and error mainly.

    Next is "SetOrigin::". At the top of this list you need to add the following:

    Code:
    SetOrigin::	ID_AFRICA	2000	23504
    If you don't like the positoning of the origin point, that is the point that units 'land' on as they move from province to province, you can move it, to where you want it.

    Next is the "SetPort::". At the top of the list add the line:

    Code:
    SetPort::	ID_AFRICA	608	21424	4
    This sets the position an facing of the port.

    Next up is "SetAttributes::". At present it appears as follows:

    Code:
    SetAttributes::	ID_AFRICA			"Africa"			0		PAGAN_CULTURE		ROCK_DESERT	AT_ISLAMIC				-1			0		"Africa Castle_xzy"			INLAND	FLAT	NO_RIVER	FALSE

    For the Early period, it's as follows:

    Code:
    SetAttributes::	ID_AFRICA			"Sahara"			0		PAGAN_CULTURE		SAND_DESERT	AT_ISLAMIC			-1			90		"Africa Castle_xzy"		INLAND	FLAT		NO_RIVER	TRUE
    I have set the income as 90, as it would be a low income province similar to Cyrenacia. The culture is Pagan, because during the early period Sahara would not have been fully converted to Islam.

    After the "SetAttributes::" we need some trade goods:

    Code:
    SetTradableGoods::	ID_AFRICA			IVORY
    You could put what you want here but it's better not to overdo it. Silver deposits may also be an option as a resource.

    The next section we're interested in is "AddTitle::".

    In this section we need to add a title for the Sahara, so that we can assign a Governor.

    Under the titles for ID_LIBYA add the following:

    Code:
    AddTitle:: ID_AFRICA				""									+1		0		0		0			0		0			0
    You will need to add all of it, don't forget those last zeros.

    The next section we need to look at is "MakeBuilding::", this will create buildings in the province. Near the end of the list add:

    Code:
    MakeBuilding:: ID_AFRICA			Castle
    MakeBuilding:: ID_AFRICA			Port
    This will at least prove that out port and castle are working!

    The next list is "MakeUnit::". The following will place a unit of 40 Berber Camels and another of 60 Nubian Spearmen in the province:

    Code:
    MakeUnit:: ID_AFRICA			BerberCamel			40	MUSLIM_CULTURE
    MakeUnit:: ID_AFRICA			NegroSpearmen		60		MUSLIM_CULTURE
    Now save the file and fire up an Almohad/Early campaign to see if it's working ok, if not, don't despair, remember those backups and try again.

    High/Late

    For "MakeBuilding::" you will need to upgrade some of your buildings to reflect the High or Late period. e.g.

    Code:
    MakeBuilding:: ID_AFRICA			Castle3
    MakeBuilding:: ID_AFRICA			Port
    For "MakeUnit::" e.g:

    Code:
    MakeUnit:: ID_AFRICA			BerberCamel			40	MUSLIM_CULTURE
    MakeUnit:: ID_AFRICA			BerberCamel			40	MUSLIM_CULTURE
    MakeUnit:: ID_AFRICA			NegroSpearmen		60		MUSLIM_CULTURE
    MakeUnit:: ID_AFRICA			MuslimPeasants		100		MUSLIM_CULTURE
    The attributes need to be changed a little as follows:

    Code:
    SetAttributes::	ID_AFRICA			"Africa"			0		MUSLIM_CULTURE		ROCK_DESERT	AT_ISLAMIC				-1			90		"Africa Castle_xzy"			INLAND	FLAT	NO_RIVER	TRUE
    Next you need to search for the "SetRegionOwner::" and assign the Sahara to the Almohads.

    Code:
    SetRegionOwner::    ID_AFRICA        FN_ALMOHAD
    Done! Any problems and/or corrections please drop me a PM.
    Last edited by caravel; 08-01-2009 at 22:35. Reason: Some corrections added

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Single Sign On provided by vBSSO