Hello,
I had big difficulties by understanding deutsch so I tried to translate it. I might haven't understood some part in which case, it would be awesome if someone can correct me. The tutorial was made by S.D. here: 001 Tutorial - Neue Gebäude
here we go (part1 because I can't write more than 10 000 characters in one post):
ZitatAlles anzeigen
001 Tutoriel - New Buildings
To be honest, the title New Buildings is misleading. Having new 3d models isn't possible so we will have to use preexisting models.
In this tutorial and the following ones, I will put my personnal initiative.
I will explain like a king-edition. (translation not right ?)
Here are the tools required:
rda-explorer to pack and unpack the files
notepad++ to edit the files
granny_viewer.zip to visualize 3d models
And later we will need a graphic program like Photoshop (paying) or Paint.NET to be able to edit images in .dds format.
Let's go:
First of all we have to create a backup folder of Anno 1404 in case anything goes wrong.
The files that we will edit are inside the folders data and maindata. These files with the .rda format are an archive, like a .zip or .rar. And we have to extract what is inside to edit them.
We will unpack the files in their respective folder. Why all ? Because each .rda file has different files.
The .exe usually search for the newer .rda file.
For example: The game start and the .exe search for the file data-xyz inside the patch2.rda, but it will not look inside patch1.rda.
In theory we can pack each file inside the newer .rda, however we have to be careful with the patch2.rda (why ? something forgot in the translation ?)
aus welchen gründen auhc immer gehts dort nicht mit jeder datei.
It means that every modification in the rda/files must be done in all the .rda which contain those files. (translation misleading?)
So it means we might need to edit in these 3 files: maindata/patch1.rda, maindata/patch2.rda and addon/patch0.rda.
So we will have to verify in each .rda if its contain the data we want to edit. (wrong translation?)
After that, we will need to extract each file in each .rda and verify its content calmly to have an overview.
Let's do an example, we want to create a mew building. For that we want to use the depot of Lord Northburg.
We want it to be an island depot.
Now we need the right files or more precisely their path directory. For that there is 2 methods. First one do a wild search or searching by being systematic. We will use the second one.
We open the file maindata/patch1/data/loca/eng/txt/guids.txt. I think it's the most important file, because not only there is all the existing buildings of the game but most important there is their id.
With their id, we can do almost everything.
We will now be able to find what we are looking for, either by browsing the entire file, or by searching with key-words.
For example: harbor, haven or occident.
I will use the word harbor and find its id, which is 5804.
Now we have to open the file addon/patch0/addondata/config/game/assets.xml.
In this file we want to search the id we previously found in the guids.txt.
Right above the id we found, there is 2 path directories. We want to look for them.
These directories contains the 3d models.
We can open both files with granny viewer and see the models without texture.
Now we know that occident_harbour_building02 is the file we were looking for.
Now we can build our harbor, to do so we have to go back in the guids.txt and we will need of the original harbor's id.
To search this id, we will search in the assets.xml.
Let's copy the area:
<Asset>
<Template>Warehouse</Template>
<Values>
<Blocking>
<BlockingRules>OverHabourBuilding</BlockingRules>
<CreateWalkingUnitHeights>1</CreateWalkingUnitHeights>
<PathblockingPrio>1</PathblockingPrio>
<WalkingUnitHeightOffset>204</WalkingUnitHeightOffset>
</Blocking>
<BoidSpawner>
<BoidCount>0</BoidCount>
<BoidAreaSize>0</BoidAreaSize>
</BoidSpawner>
<BuildCost>
<MoneyCost>2000</MoneyCost>
<ProductCost>
<Tools>4000</Tools>
<Stone>4000</Stone>
<Glass>4000</Glass>
</ProductCost>
<NeedsIntermediatelevel>IntermediateHarbourNomblemen</NeedsIntermediatelevel>
<ToolTipAddGUID>39501</ToolTipAddGUID>
<ToolTipAddCount>6</ToolTipAddCount>
</BuildCost>
<Building>
<BuildingLevel>Nobleman</BuildingLevel>
<BuildingType>StoreHouse</BuildingType>
<BuildSound>2212</BuildSound>
</Building>
<ContextMenu />
<Danger />
<FeedbackEventEmitter />
<Hitpoints>
<MaxHitpoints>2000</MaxHitpoints>
</Hitpoints>
<Influence>
<InfluenceRadius>0</InfluenceRadius>
<InfluenceRadiusType />
<InfluenceRadiusTypeNeeded>Harbour</InfluenceRadiusTypeNeeded>
</Influence>
<InfoLayer />
<ItemContainer />
<KIModule>
<ModuleCall />
</KIModule>
<MaintenanceCost>
<ActiveCost>30</ActiveCost>
<InactiveCost>30</InactiveCost>
</MaintenanceCost>
<Mesh>
<Ambient>4032</Ambient>
<AudioFeedback>5000628</AudioFeedback>
</Mesh>
<Object>
<ObjectPosition>Harbour</ObjectPosition>
<Variations>
<Item>
<Filename>data\graphics\buildings\public\north\footbridge_system\n_storehouse02.cfg</Filename>
</Item>
</Variations>
<BaseHarbourSize>2</BaseHarbourSize>
<BuildWithStoneBase>1</BuildWithStoneBase>
</Object>
<Selection>
<GUIType>Storehouse</GUIType>
</Selection>
<Standard>
<Name>StoreHouseLarge</Name>
<GUID>39020</GUID>
<Versions>Anno1404;Beta01;Beta02;Demo01;Demo02;Addon01;Addon02;BETA_TEXTURE_NONE</Versions>
</Standard>
<TradingPrice />
<Upgradable />
<Warehouse>
<Capacity>30</Capacity>
</Warehouse>
</Values>
</Asset>
Each building are inside the the tag <Asset></Asset>. To create our new building, we just need to paste the datas inside the tag (including the tag or you will break the file).
Here are the values we want to change:
- The path directory
- the activation (freischaltung ?)
- the construction materials
- the stockage capacity
- the building cost
- the influence area
- the health
After the modifications, it has to look like this:
<Asset>
<Template>Warehouse</Template>
<Values>
<Blocking />
<BoidSpawner />
<BuildCost>
<MoneyCost>1000</MoneyCost>
<ProductCost>
<Tools>6000</Tools>
<Wood>4000</Wood>
</ProductCost>
<NeedsIntermediatelevel>IntermediatePeasant</NeedsIntermediatelevel>
</BuildCost>
<Building>
<BuildingLevel>Peasant</BuildingLevel>
<BuildingType>StoreHouse</BuildingType>
<BuildSound>2212</BuildSound>
</Building>
<ContextMenu />
<Danger />
<FeedbackEventEmitter />
<Hitpoints>
<MaxHitpoints>1500</MaxHitpoints>
</Hitpoints>
<Influence>
<InfluenceRadius>0</InfluenceRadius>
<InfluenceRadiusType />
<InfluenceRadiusTypeNeeded>Production</InfluenceRadiusTypeNeeded>
</Influence>
<InfoLayer />
<ItemContainer />
<KIModule>
<ModuleCall />
</KIModule>
<MaintenanceCost>
<ActiveCost>25</ActiveCost>
<InactiveCost>25</InactiveCost>
</MaintenanceCost>
<Mesh>
<Ambient>4032</Ambient>
<AudioFeedback>5000628</AudioFeedback>
</Mesh>
<Object>
<Variations>
<Item>
<Filename>data\graphics\buildings\native\north\occident_harbour_building02\n_occident_harbour_building02.cfg</Filename>
</Item>
</Variations>
</Object>
<Selection>
<GUIType>Storehouse</GUIType>
</Selection>
<Standard>
<Name>StoreHouseLarge</Name>
<GUID>39020</GUID>
<Versions>Anno1404;Beta01;Beta02;Demo01;Demo02;Addon01;Addon02;BETA_TEXTURE_NONE</Versions>
</Standard>
<TradingPrice />
<Upgradable />
<Warehouse>
<Capacity>50</Capacity>
</Warehouse>
</Values>
</Asset>
Everything is done to be able to construct the building at the coast. (translation not right ?)