You may ask yourself, "am I meant to click this?" or "am I doing it right?" when compiling, so I created this handy guide on how I normally compile and since it works fine for me, it should work fine for you too c=
Today I'll be showing you how to properly compile your map for CoD4 and the different options you can choose. Everytime you want to test your map you have to compile it, it's putting all the files together so the game can read it and run it. As well as that, I'll tell you how to get your map ready for the final compile (at the end).
Start off by navigating to the CoD4CompileTools.exe
Then, when it's open choose the map you want to compile, in my case, I'll be compiling mp_dr_ratty. If your map isn't showing up, make sure mp_(yourmap) is in 'map_source' in you CoD4 directory.
Then, go on the and you'll see BSP options and Light options. Obviously light options change how the lighting is compiled for your map but if you don't know what BSP means, it's like the brushes and models for your map, the blocks that make it up (walls, floors, terrain, xmodels, entities etc). If you don't understand that don't worry because you won't need to use this options as they're not helpful in a simple mappers case and they don't make anything better.
However, with the light options, there are the 3 boxes that you'll need to remember to untick and tick. Fast, extra and verbose. By default the only thing ticked is extra which means your lights are compiling on extra quality. While this is good for the final release and taking screenshots, it's not what you want to use as you casually test your map. I suggest you untick extra and tick fast while testing and turn extra back on at the end. The only differences you'll notice are shadows and lighting quality but it's not that big of a deal.
The last box is verbose which I'm pretty sure just gives more a detail log of the compile. This is helpful if there's an error you're trying to find in the compiling that stops the map from being compiled. Since it will show you more information, it'll allow you to find that error more easily.
All the other don't matter at all, just ignore them.
Also, if you wondering about the 'Compile' section at the top right with Compile BSP, Compile lighting and Connect Paths, you'll want to keep BSP and lighting ticked most of the time. Connect paths is used for the AI in singleplayer so you probably won't ever need to use it.
However, if you have a big intensive map with detailed lighting, compiling without lighting is helpful if you want to test a small adjustment and you don't care about how it looks etc, so if you're in that case untick compile lighting.
Now, you've picked your options and you're ready to compile, first you compile BSP, then reflections, then fastfile and then you update the zonefile. That's what you do on a first compile. However, if you're making small adjustments like adding a few objects and you want to see how it looks ingame and it's not your first compile, all you do is compile BSP and then the fastfile. You only need to compile the reflections if you add a reflection probe so don't compile it every time you test.
And then for zone, you'll only have to update that when you add things like custom models or weapons, something a basic mapper shouldn't have to worry about.
Oh and if you're just scripting, you only need to build the fast file and that's it. The next set of images will show you what it should look like when you click all of these compiling buttons.
But wait, before you run your map, maybe you need a custom command line? If you're making a simple mp map your probably won't (unless you want to load a gamemode like SnD or whatever) but if you're making a deathrun map, this command line will be very handy:
+set fs_game Mods/(Deathrun Mod of Choice) +set thereisacow 1337 +set sv_punkbuster 0 +set g_gametype deathrun
Before you copy it into the command line box, change (Deathrun Mod of Choice) to one of the deathrun mods you have. I recommend using a mod from a server you don't play on since it will reset your rank when you /devmap it on your own.
In the command line, you can add things like cheats to give you unlimited ammo, godmode and more if you want.
Now you can run your map and enjoy it!
FINAL COMPILE
But what if you're doing your last compile before you upload it?
Well, first go to your CoD4 directory and then 'usermaps' and create a new folder called mp_(yourmapname). If you have custom textures, custom models or anything that wasn't originally in the game, you'll need an .iwd file so make a new .rar file and rename it mp_(yourmapname).iwd. If you can't change it to a .iwd or it doesn't work, copy an .iwd from a different custom map's folder and paste it in yours.
Then, clear out what's inside of the .iwd and make new folders in the .iwd opening it with a program like WinRaR. You'll make folders like images, xmodels, weapons etc. But if you're basic you should try and stick to stock assets/textures/models/weapons so you don't need to make an .iwd. Though, if you did end up making custom textures, go to your root directory and then 'raw/images' where you'll see a lot of .iwi files.
After that, find yourcustomtexture.iwi and drop it into your images folder in your .iwd. Complicated. Lastly, go to your CoD4 root directory and then 'zone/english' where you'll find mp_yourmap.ff and mp_yourmap_load.ff. Drag both of these .ff files into your map's folder in usermaps. Then compress your map's folder using WinRaR or put it in a .zip file and upload it!
Sorry if this tutorial was complicated and whatever but don't worry, as you make more maps it'll become easier and you will know what to do every time!