***Bad news comes first:
Firstly: You must have a custom .big file installed to see/use custom textures. That means if you follow this tutorial you are creating a mod.
Secondly: Because it is a mod, that means you can't play online against anyone else who does not have the mod or you'll get mismatch errors (I assume, haven't tested it myself).
Thirdly: Again, because it is a mod, if you make a map that uses custom textures, only people with the mod installed/enabled can play on that map. That means you can't create a map with custom textures and submit it to a site for hosting unless there is an explicit warning that people need the custom texture mod as well to play it (and the same info about mismatch errors online due to mods).
Fourthly: If you are just going to play skirmishes against the bots and not play online then have at it!
And Fifthly: Doing this is best if you are making a large mod such as a total conversion that will have mod-only maps or if you 100% play only against the skirmish AI.
End of bad news***
Righto, with that out of the way, let's have some fun shall we?
Adding terrain textures works essentially the same as with Zero Hour.
First up you'll need to extract terrain.ini from near the bottom inside misc.big (located in C:\Program Files\Electronic Arts\C&C3\Core\1.0). To do this you'll need to download a program such as OS Big Editor from somewhere such as Project Perfect Mod.
After extracting to a location of your choice, open up terrain.ini in Notepad. You'll see that everything has a structure that is pretty easy to understand.
For example, here is the first entry in the .ini:
Texture = CnC3Default.tga
Class = Type Misc
The first line is the name that shows up in the WorldBuilder, the second line is the name of the texture file, the third line is the classification, such as dirt, rock, misc, etc, and the fourth line ends that particular entry.
There are 5 class types: Misc, Rock, Cliff, Dirt, and Grass.
Unlike Zero Hour, where all the class types were hard-coded into the game (meaning you couldn't make your own class), in Tiberium Wars you can make your own class.
(Note that all names have no spaces. Never use spaces in names anywhere. Use underscores ("_") if you absolutely must have two separate words.)
For the sake of this tutorial, I'll be adding 2 textures, the Tiberium ground texture from C&C Renegade, and a snow texture, also from C&C Renegade. (note, these textures are .dds in Renegade, so they must be opened and re-saved as .tga)
Adding your new texture entries in terrain.ini is simple:
Texture = l03_tibgrnd.tga
Class = Type Mine
I added a section just for my custom textures and I also created my own "Mine" class, but if you want you could just insert your texture entries under the pre-existing sections and one of the default 5 classes. (Always make sure that the name that will show up in WorldBuiler [first line] is not the same as any of the other names.)
Now, Tiberium Wars uses normal maps to give its terrain textures an appearance of height changes. If you don't know what a normal map is or how to create one, well I can't teach you that. However I do have some links for you.
Wikipedia entry on normal mapping
DDS and Normal Map Filter Photoshop Plugins allow you to open, edit, and save .dds texture files (useful for converting to .tga) and helps you create normal maps for your terrain textures (mess around with the settings and test different versions in-game to find the best normal map for your texture).
Also, while you're at it, you can grab the DDS thumbnail viewer that makes .dds files have viewable thumbnails in Windows Explorer, and a TGA thumbnail viewer that does the same thing with .tga files (and you might as well get a PSD thumbnail viewer since you're working in Photoshop if you got the DDS and Normal Map Filter plugins). You can find all sorts of handy tools with Google.
Anyways, as I was saying. As you may have noticed in the terrain.ini there are no entries for the terrain's normal maps. That is because the game automatically loads them because they have the same name as the texture files only with "_nrm" added between the file name and the .tga extension.
So, l03_tibgrnd.tga would have a corresponding normal map of l03_tibgrnd_nrm.tga.
Here is where organization helps out. It does not matter where you create this folder but for the sake of this tutorial I'll make it on my Desktop. I'm naming mine Tex Tutorial because I'm writing a tutorial but it does not matter what you name yours. Inside this folder is where exact naming is important. Inside the folder you want to create 2 new folders, name one of them "art" and the other one "data" (exactly as in the quotes). Inside the art folder, make another folder named "terrain". Inside the data folder make another folder named "ini".
Inside the \art\terrain folder you place your texture files (same names as in terrain.ini) and the normal maps for the textures ("texturename_nrm.tga"). (As you can see I have the .tga thumbnail viewer installed and I have generated normal maps for both texture files.)
Inside the \data\ini folder you place the terrain.ini with your new texture entries.
Now that you have all of your new texture entries in terrain.ini and you have all your texture files ready, you must make yourself a new .big file. Download FinalBig from Project Perfect Mod. Open it up and go to File>New and select BIG Archive at the pop-up.
Now you can simply select the art and the data folders and drag them into either of the panes in FinalBig. Here's what the file structure should look like:
Okay we're almost done now. Save the .big file with whatever name you want (no spaces), I'm going to call this one NewTextures.big.
Now, browse to C:\Program Files\Electronic Arts\C&C3\Core\1.0 and copy/move your .big file there.
Open up config.txt and add the line "add-big BigName.big" (without the quotes, as should be obvious from looking at the other entries in the file) at the beginning of the file where BigName is whatever you named your .big file. So in my case that would be:
Viola, you are done. (Be aware that if you apply a new patch from EA the config.txt file might get reset and delete the line you added at the beginning. [Seems to only happen when you apply a patch you manually downloaded from EA's site, not by logging in with the game online.] In that case, just re-add the line at the beginning of config.txt.)
Now we fire up the WorldBuilder to check out the new textures. Here's our newly added Tiberium ground texture and the snow texture (and one of the regular Tiberium Wars textures to try and act as a transition texture between the two). Note in the Terrain Material Options pane, the new class "Mine" did not show up properly. Instead it shows up as "NONE". I don't know why exactly it does this, perhaps there is another file somewhere that defines the texture classes. In any case it doesn't really matter because as you can see the textures work perfectly fine.
I've noticed you have to be careful with the bloom post effect and map lighting when using snow textures (or any very light texture) or it all becomes a white blur. You can see that pretty clearly in the last screenshot. So fiddle around with the lighting and bloom settings to get a good environment.
I hope you found this tutorial useful. I've attached the NewTextures.big and config.txt files if you need to look at a working example.
- Mighty BOB!
Number of downloads: 265
This post has been edited by Phoib: 17 July 2007 - 02:23 PM