Step 1:
First you need to know which files you need. Open up your Pack File Manager and locate your SteamApps\common\Empire Total War\Data folder. in it you will find the main.pack file. open it using your PFM. the files you need are the following:
you will also need the startpos.esf and region.esf files which can usually be found in the campaign folder.
if you are editing an existing mod (like Darthmod, ACW Brother vs. Brother...) make sure to check their pack files and extract what you need. I will be editing the ACW mod.
Step 2:
The green-out files (in main.pack) must be extracted. for that use Extract Selected function in your PFM and choose where you want them to be extracted. I usually put them on my desktop. After that, open up your own mod pack and import the files that were extracted. this will give you something like this:
note: I have discovered that building_chains file must be renamed to something like xx_building_chains. If you din't do that, game will crash on the start-up. this is the only file I discovered to cause that (in this tutorial at least). To be sure, start the game with your pack after you imported the above files. that way you will know if anything needs to be changed.
Step 3:
if everything is working you should extract the required files as tsv.
the changes can be done using PFM alone, but I feel better using tsv exporting system as it is easier and faster to edit the required entries.
this extracting to tsv must be done for every file you will have to edit...
Step 4:
After you have extracted the files as tsv it is time to open them. use either Microsoft Excel or OO Spreadsheet. First we will edit the building_levels_table.tsv (or in my case my_building_levels_table)
As I want to make two chains; one using army_encampment, army_barracks, drill_school (missing in the picture, sorry) and military_academy and other using army_board and army_staff_college I change the building chain of the last two into military-district and I make their levels 0 and 1. I don't change level entries of other buildings as I am not interested in them.
Step 5:
with new military-district chain added in above table, now we open the building_chains.tsv (or in my case MM_building_chains table).
here I added the new entry under the key column (military-district). I also, added it to the same technology category as other military buildings as I will use it later for technology purposes. you can leave that blank (as some buildings do have) but then you should probably change the technology entries also (which I haven't done). Tech category position tells the game where in military technology window the building falls. 0 is barracks, 1 is ordnance and 2 is naval. What the chain category does, I am not sure. so better leave it as it is.
Step 6:
with a new building_chain added, it must be linked with certain slot in the city. to do that, open up building_chain_to_slots.tsv.
The picture is pretty clear. chain column entry must be the same as the entries in two previous tables. the slot column entry can be the same, (or completely different as shown here) as the chain column entry. I haven't tested if it is possible to have two buildings using the same slot. I will try it and see what happens. However, considering the fact that outside the city one can have a multiple choice of which building will be built on the slot (school, seminary, workshop or an inn) it should be possible to apply the same thing here.
Step 7:
next thing to do, is to add a new slot in the slots.tsv tables. open it up and add the new slot.
all of the settlement_ slots have false values in all the columns. this is because (as I believe) these columns are used only for out of settlement buildings.
Step 8:
finally, we have to edit one last table, and that is building_upgrades_junction.tsv (in my case acw_building_upgrades_junction.tsv). there you have to find a building where you want your chain to stop and delete the row:
after this, save all the changes. now we move forward.
Step 9:
open up your pack with PFM and do this:
replace each of the files you changed with corresponding .tsv file. be careful as some of the PFM versions don't delete previous entries and therefore cause a "double entries". to avoid that, before importing the files simply delete the content so you have a blank right side in your PFM and then proceed as shown above.
Step 10:
after all of the steps are finished, save the changes in PFM and try to fire up the game. if you have been successful then your changes will show on the campaign map. when you click on the city and then hover your mouse over barracks buildings you will see it will shoe only four dots and not six as it usually does. if you experience crash during the main loading screen, then you did something wrong in the db tables and you should check them to see if everything is where it should be.
Step 11:
now the real stuff starts. for this steps you will need a working EasyEsf for ETW. please don't post questions regarding it here, instead use its own respective thread. for adding a new building_slots you need both spartpos.esf and regions.esf. open up the EasyEsf and then:
followed by:
In my own project I chose Virginia as a region, but I wanted to show you how it works. you always choose a non-existent vanilla slot to be added (especially if you don't plan to change the slots). it is easier to track them down that way. after you have made your changes, hit the Set Startpos first , followed by Set Regions second and then Build Files.
Step 12:
By using your Esf Editor open up both the startpos.esf and regions.esf. In regions.esf expand Root>Region_Data>region you want to edit the slots in (Virginia in my case)>Settlement_And_Slots. Then edit one of the added slots to correspond with the entry from the slots.table. The change is made on the right side of the editor, in the first line where you change something like settlement:virginia:williamsburg:settlement_culture to settlement:virginia:williamsburg:settlement_md
Save the changes you made.
Step 13:
With Esf Editor open the startpos.esf. expand CAMPAIGN_STARTPOS>CAMPAIGN_ENV>CAMPAIGN_MODEL>REGION_MANAGER?REGIONS_ARRAY and find your region (in my case it is Virginia). then expand Virginia|REGION>REGION_SLOT_MANAGER>REGION_SLOT_ARRAY. there will be entries like: settlement:virginia:williamsburg:settlement_government|REGION_SLOT_ARRAY. expand one of the entries you added (army_admiralty or culture) to settlement:virginia:williamsburg:settlement_government|REGION_SLOT. click on it. in the right window, you will see several entries. the first is the number (don't touch) and the second is something like: settlement:virginia:williamsburg:settlement_government. Change the last part of it to the building slot you made (in my case it is: settlement:virginia:williamsburg:settlement_md).
When you have done that you will see two more entries below the one you changed. this are: SIEGABLE_GARRISON_RESIDENCE and xy|BUILDING_MANAGER. If you want that the first building of your new chain is already present in the city when you start your campaign, don't change a thing. however, if you want your slot to be empty (but only your new chain can use it) then click on the xy|BUILDING_MANAGER and in the right screen change the first True value to False. after that expand xy|BUILDING_MANAGER and right click on the xy|BUILDING and delete the entry. now your slot will be empty at the start of the game. save the changes.
Step 14:
put all of the files in their respective folders and start the game. if you have done it as you should, you will see something like this:
|