I used to post a mod pack named Extended Terrains Mod, which allows scenario designers to use 65 terrains. However, the old mod doesn't work well, because movement on new terrains is strange. Besides, new terrains have no restrictions. So I did research recently, found a new solution to the problems.
I found that collision types of 41 old terrains are hardcoded, there're only 3 types: water, shallow and land. Water allows boats to move, land allows land units, while shallow allows both. All tiles' collision types are determined when a map is loaded, so bridges created in game won't make water movable.
Besides, there are 2 properties of a terrain tile: one is visual
tile id, determines what terrain texture is shown. The other is actual tile id, affects terrain restriction like building restrictions and trace graphics.
I changed codes in EXE file, so new terrains(include #41 - Unknown) willinherit old terrains. They are only visual tiles, actual tiles and collision types are what they inherit. So that new terrains will act nearly perfect. What new terrains inherit are written in the dll patch, as well as their names. New terrains can even be forests, being able to create terrain units.
The only problem is that new terrains cannot be drawn in random maps, but I think it's easy to solve.
Here is myUpdated Mod. I included source codes of the patch, and a PHP script used to write new terrains from one dat file to another. Developers can read for detailed information.
I found that collision types of 41 old terrains are hardcoded, there're only 3 types: water, shallow and land. Water allows boats to move, land allows land units, while shallow allows both. All tiles' collision types are determined when a map is loaded, so bridges created in game won't make water movable.
Besides, there are 2 properties of a terrain tile: one is visual
tile id, determines what terrain texture is shown. The other is actual tile id, affects terrain restriction like building restrictions and trace graphics.
I changed codes in EXE file, so new terrains(include #41 - Unknown) will
The only problem is that new terrains cannot be drawn in random maps, but I think it's easy to solve.
Here is my