If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Call of Duty 4: Modern Warfare (Windows)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Call of Duty 4: Modern Warfare

Developer: Infinity Ward
Publisher: Activision
Platform: Windows
Released in US: November 7, 2007
Released in EU: November 9, 2007

AreasIcon.png This game has unused areas.
GraphicsIcon.png This game has unused graphics.
MovieIcon.png This game has unused cinematics.
ItemsIcon.png This game has unused items.
SoundIcon.png This game has unused sounds.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.

ProtoIcon.png This game has a prototype article

The fourth (technically seventh) game in the series, Call of Duty 4: Modern Warfare replaces World War II combat stuff with modern (well, modern back in 2007) combat stuff. The intense depiction of modern combat, coupled with a slick framerate and polished multiplayer, made the game a massive hit for future Call of Dutys to come.

Of course, this also meant it was more susceptible to being pried open for unused stuff.

To do:
  • Upload more unused dialogue.
  • Fix the formatting of the wikitable.
  • Upload unused models, there are some used in the Kleenex Training level with a bc_ prefix.


Read about prototype versions of this game that have been released or dumped.
Prototype Info
Unused Mission Objectives and special controls
There's a lot in here...
Unused Audio
Things that were said, but can't be heard in normal gameplay.
Cod4 zipline bldg fortress 01.png
Unused Prefabs
Unused or old level building assets.
Missing Audio
Audio that can be found referenced in the soundaliases but is missing from the files.
COD4 AT4HQ.png
Unused Ordnance
A lot of unused ordnance.
Removed Areas
These are war-free zones, thank you very much!
Unused Strings
COD2 dialog and a handful of unused text. Fun!

Alternate Camo

To do:
Unused olive finish P90.

In the mission The Bog, it is possible to acquire an M21 with a unique camouflage through console commands. Upon further inspection, it appears to be an early version of the Desert camo.

M21 with unique camouflage. COD4 M14UnusedCamoHQ.png

Unseen Weapon Content

  • When the Desert Eagle and M9 are hip fired, their slides move back and reveal their ejector slots, which cannot normally be seen due to the speed at which their slides move.
  • The MP5's normal magazine has a 2D bullet on it that cannot normally be seen due to the speed of the reload animation.
  • The P90 has engraved on the side below the rail "P90 cal 5.7x28", which can only be seen during the first raise animation and empty reload animation but cannot be read due to its placement and the animation being so short.

Unused Weapon Content

While the M249 SAW and RPD do not have any damage drop off in multiplayer, their weapon files still specify damage drop off ranges. Both weapons' damage would start to decrease after 1500 units and hit their minimum damage at 2000 units. These drop off values are different from their values in single player, which are used.

Hidden Level Select

By going into the console and typing /set developer 1, you can access a hidden menu that allows you to select every level in the game regardless of how far you have progressed in the game. In this menu, it shows every level and the build dates for each level.

Select Mission Game Levels
COD4MW-HiddenLevelSelect-MissionSelect.png COD4MW-HiddenLevelSelect-Menu.png

Unused Campaign Content

To do:
"All In" apparently has an M16A4 that can only be obtained through the "giveall" console command. Verify.

Longer F.N.G.

The original version of F.N.G. was considerably longer, going through the controls and all the game's features. Sadly, it was truncated late in development, but there's a mod that reinstates the original level.

Among the cut content was one part that would have had Sgt. Newcastle teach you how to use grenades, grenade launchers, and C4 - and because F.N.G. was forcibly made shorter, he remains complete and fully functional. A second part would have Mac teach you the basic moving controls in the obstacle course. All of the associated dialogue is still present.

Interestingly, 2016's Modern Warfare: Remastered brings all this back, for some reason.

COD4Hangar 2.png
In addition, Hangar 2, pictured above, contains an unused training course which can only be seen using noclip. This area is never used in the uncut version, and most of the course has no collision.

(Source: F.N.G. at the Call of Duty Wiki)

Here is a restored version of the second CQB course (6:00).

(Source: Jerry4LT YT channel)

Crew Expendable Enemy Placement

On Crew Expendable, the first group of Russian soldiers encountered after going inside the ship have unseen behavior. While they are normally encountered all clustered together at the end of a hallway, prior to being encountered one soldier will idly walk around farther up the hallway. This behavior cannot normally be seen as by the time Soap reaches them they are situated at the end of the hallway. This can be seen at 2:20 in this video.

Hunted Helicopter Gunner

Careful, you'll lose an eye.
This page or section needs more images.
There's a whole lotta words here, but not enough pictures. Please fix this.

On "Hunted", one segment of the level has a searchlight helicopter that fires on Soap's squad. While it appears that the gunfire comes from a machine gun mounted outside the helicopter, it actually comes from a Russian soldier inside the helicopter firing from an opening on the helicopter. This soldier cannot normally be seen due to the helicopter's distance from the ground.

Safehouse Desert Eagle

To do:
COD Wiki mentions some other unused weapons in this level here. Check to make sure they are actually unused.

Using the "giveall" console command on "Safehouse" will give the player a Desert Eagle, which does not appear in the level.

Unused Cutscene

An unused soundless video called dog_vs_player_load, showing a USMC player being killed by a dog at an unknown (possibly unused) location. In the final game, the USMC never encounter dogs in the campaign.

The video also shows an unused USMC first-person model that is completely gone from the game. The blood and gore effects are also very low-quality, likely putting this at an early point in development.

Michael Carver

A name that appears in the unused mission strings for the cut levels "Descent", "Training", "Designated Training", and "Designated Marksman". It is possible that he was the US Marine protagonist before Paul Jackson, but he was scrapped along with said missions.


In some levels of the campaign, if the player fails to complete a designated task sometimes an event will happen that will complete the task for them. While most of these "failsafes" can normally be encountered, some normally cannot be encountered at all, often times because they are tied to a task that is virtually impossible to fail.

  • On the training level, if the player takes longer than 2 minutes to complete the CQB test, they will get mission failed text saying "You were too slow." This won't normally be encountered as test takes around 20 seconds to complete. A video of this can be seen here.

Unused Miscellaneous Campaign Content

Hidden Water Texture

In various missions, increasing the brightness through console commands reveals that the water texture consists of a texture with numbers in it.

Normal Brightened
COD4bogwaterTexture1.png COD4bogwaterTexture2.png

Helicopter Damage

To do:
What level is this (see Youtube video)?

An enemy helicopter on a certain level can be destroyed via a grenade. While this can be done in-game, it won't normally be encountered as it is very difficult to do. This can be seen here.

Unused Perk


A scrapped perk where only its icon remains, code name "specialty_exposeenemy".

Unused Graphics

Unused Create-A-Class Icons

It would seem that the developers originally planned to have the Create-a-Class weapon icons change based on the attachment that the player equipped on it, as the game's files contain a large number of unused Create-a-Class icons for every weapon, each showing the weapon with the attachment connected to it. Some icons have files, but upon opening them the image is blank, indicating that the developers never finished creating these individual icons.

Unused Scopes

Due to a programming error, all Sniper Rifles use the M40A3's scope reticle, which leaves several unused scopes in the files.

Also present are all of the faction-specific rifle scope overlay textures from Call of Duty 2 (for the Lee-Enfield, Kar98k, Mosin-Nagant, and Springfield rifles), as well as an unused overlay version of the ACOG scope.

Unused Multiplayer Ranks

Present in the files are 10 unused rank icons for multiplayer.

Prototype rank icon #1 Prototype rank icon #2 Prototype rank icon #3
The first three seem to be early versions of the rank icons.

Prototype rank icon #4 Prototype rank icon #5 Prototype rank icon #6 Prototype rank icon #7 Prototype rank icon #8
The next five appear to be lower-quality versions of the respective existing rank icons. It seems that there were going to be gold versions of the Eagle, Star and Double Bar rank icons.

Prototype rank icon #9 Prototype rank icon #10
The last two are highly similar in style to the used rank icons.

Most of these are also present in Call of Duty: World at War, but aren't used there either.

Unused Gamemode

Capture the Flag was a gamemode present in the Multiplayer beta but was cut from the final game for unknown reasons. It can be restored in the final via modding.
Here is a video demonstrating the Capture the Flag mode (note that the "Capture the objective!" lines were added in as stand-ins):

Debugging Material

To do:
There's a lot more than this. Document them.

Configuration Files

A bunch of development-related configuration files can be found in 'iw_00.iwd.

avatar_dev.cfg (August 28, 2007)

exec developer
seta minicon "1"
bind x "ragdoll_enable 0; set debug_nuke on; wait 3; ragdoll_enable 1"

//unbind alt
set createfx ""

seta fs_debug 0
seta r_clearcolor 0 0 0
seta r_clearcolor2 0 0 0
set com_statmon 0

con_hidechannel gfx
set cg_drawfps 0

set r_fullbright 0
set r_showmissinglightgrid 0

//bind mouse3 +stance
//bind mouse2 +gostand
//bind mouse1 +attack

bind mouse3 +speed
bind mouse2 +attack

bind d "+back"
bind e "+forward"

bind w "+moveright"
bind r "+moveleft"

set con_minicon 1
set con_miniconlines 8

set r_filmsharpen 0.45

set debug_badpath off
set gpad_rumble 0
bind 1 snd_volume 0
bind 2 snd_volume 0.333
bind 3 snd_volume 0.666
bind 4 snd_volume 1

bind f1 toggle r_filmUseTweaks 1 0

bind ctrl +usereload
bind space +actionslot 2
bind a +speed
//set safe_start "alley"
bind s "
bind f +attack

bind s "bind MOUSE1 +attack; bind MOUSE2 +gostand; bind MOUSE3 +stance"
bind f "unbind MOUSE1; bind MOUSE2 +leanright; bind MOUSE3 +leanleft"

bind uparrow +actionslot 1
bind leftarrow +actionslot 2
bind rightarrow +actionslot 3
bind downarrow +actionslot 4

set cg_drawfps 1
exec scripter

avatar_dev.cfg (September 7, 2007)

// generated by RTCW, do not modify
bind TAB "+scores"
bind ESCAPE "togglemenu"
bind SPACE "+moveup;wait 3;ufo;wait 10;ufo;-moveup"
bind 1 "+melee_breath"
bind 2 "+binoculars"
bind 3 "weapnext"
bind 4 "+frag"
bind 5 "+smoke"
bind ` "toggleconsole"
bind a "+speed"
bind b "+movedown"
bind c "god"
bind d "+back"
bind e "+forward"
bind f "timescale 10"
bind g "toggle g_entinfo 0 5 4"
bind r "+moveleft"
bind s "timescale 1"
bind v "ufo"
bind w "+moveright"
bind x "+useitem"
bind MOUSE1 "+attack"
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"
seta minicon "1"
seta s_ambientvolume "1.0"
seta logfile "2"
seta cg_instantAction "0"
seta cl_freelook "1"
seta cl_mouseAccel "0"
bind shift +prone
bind \ map_restart
bind ctrl "+reload"
bind q "+melee"
bind alt "weapalt"
bind space "+activate"
seta sensitivity "8.854167"
seta sensitivity "4.5"
seta sv_framerate_smoothing "1"
bind - lastcamera 1
bind = nextcamera 1
bind s +leanleft
bind f +leanright
bind x toggle cg_fov 20 80
bind x debug_nuke on
bind q toggle timescale 1 0.3
g_useholdtime 25
bind shift goprone
bind MOUSE3 gocrouch
bind MOUSE2 "+moveup;wait 3;toggleads"
bind a toggleads
seta name "[IW]^5Avatar"
unbind alt
bind pause toggle cl_paused 0 1
bind / scriptdebugger

bind . toggle r_fullbright 0 1

bind 7 "enemygen n"
bind 8 "enemygen s"
bind 9 "enemygen w"
bind 0 "enemygen e"

bind MOUSE2 "+moveup"
bind n "UFO; bind MOUSE3 +leanleft; bind MOUSE2 +leanright"
bind b toggle cl_paused 0 2
bind b "cg_ufo; toggleads; bind MOUSE3 +leanleft; bind MOUSE2 +leanright"
bind v "bind MOUSE2 +moveup; bind MOUSE3 gocrouch"

bind t toggle timescale 15 1
// bind ' exec createfx.cfg
bind backspace "set g_entinfo 1; wait 3; set g_entinfo 0; wait 2; set g_entinfo 1; wait 3; set g_entinfo 0"

bind f1 devgui
bind f6 savegame hoopla

bind f9 "press f8"
bind f8 loadgame hoopla

bind u toggle r_normalmap flat unchanged

bind y con_echo

bind h toggle g_entinfo 0 1 2
set m_pitch "0.022"

set g_entinfo_aionly 1
set createfx ""

bind m "cg_draw2d 0; cg_drawgun 0; mapname; cg_drawfps 0; wait 3; screenshot; wait 3; cg_draw2d 1; cg_drawgun 1; cg_drawfps 2"
bind z "mapname; viewpos; wait 3; screenshotJpeg"
bind , toggle r_showtris 0 2

bind j set debug_unlink on
bind k set debug_unlink off

seta r_grainfilter 0
seta fs_debug 0
seta con_conspeed 10

bind - replay_back 10
bind 6 replay_mark
bind 7 replay_goto
bind 8 replay_live
bind 0 replay_back 3
bind [ replay_restart
bind / scriptdebugger

exec avatar_map
set r_fullbright 1
set modern on

// CoD4 changes!
bind CTRL "+reload"
bind q "+melee"
bind g "+actionslot 4" 
bind V "+actionslot 1"
bind 2 "+actionslot 3"
bind SPACE "+activate"
bind b "+breath_sprint"

bind p toggle cl_paused


According to the file itself, it is a file used to execute development and debug-related commands automatically, but only in development builds.

// development debug config
// automatically executes in development builds

// Development settings - Add dev settings below this
set developer 2
set developer_script 1

set logfile 1
set com_statmon 1
set monkeytoy 0

bind f2 "exec developer"

// Shipping settings - Add non-development settings below this


Similar to autoexec_dev.cfg, but now for the Multiplayer section of the game.

// development debug config
// automatically executes in development builds

// Development settings - Add dev settings below this
set developer 1
set developer_script 1

set logfile 1
set com_statmon 1
set monkeytoy 0

//bind f2 "exec developer_mp"

// Shipping settings - Add non-development settings below this


seta con_minicon 1
seta cg_drawfps 0
seta replay_time 1
seta replay_autosave 15
seta fs_debug 0
seta con_conspeed 10
seta r_clearcolor 0 0 0
seta r_clearcolor2 0 0 0
seta com_statmon 0
seta con_hidechannel gfx
seta con_outputwindowcolor 0.35 0.35 0.35 1
seta minicon "1"
seta createfx ""

bind g "god"
bind u "cg_ufo"
bind n "cg_noclip"
bind e "toggle g_entinfo 0 1 2 3 4 5"
bind \ map_restart
bind [ "toggle timescale 1 0.3"
bind ] "toggle timescale 1 15"
bind f "toggle cg_fov 20 80"
bind pause "toggle cl_paused 0 1"
bind p "toggle cl_paused 0 1"
bind l "toggle r_fullbright 0 1"
bind z "mapname; viewpos; wait 3; screenshotJpeg"

bind INS replay_mark
bind HOME replay_restart
bind END replay_live
bind PGUP replay_goto
bind PGDN replay_back 5
bind DEL replay_live


This is the config file that makes the other devgui config files run.

dvar_int debug_start 0 0 1

devgui_cmd  "Main:1/Development:2/Map Restart:1" map_restart
devgui_cmd  "Main:1/Development:2/Toggle God Mode:2" god
devgui_cmd  "Main:1/Development:2/Toggle UFO Mode:3" ufo
devgui_cmd  "Main:1/Development:2/Toggle CG UFO Mode:4" cg_ufo
devgui_cmd  "Main:1/Development:2/Toggle No Clip Mode:5" noclip
devgui_cmd  "Main:1/Development:2/Toggle Ignored By AI:6" notarget
devgui_cmd  "Main:1/Development:2/Exec Demo:7" "exec demo"
devgui_cmd  "Main:1/Development:2/Shell Shock:8" "cg_shellshock 10"
devgui_dvar "Main:1/Development:2/Time Scale:9" timescale
devgui_cmd  "Main:1/Development:2/Give All:10" "give all"
devgui_dvar "Main:1/Development:2/No Joy:11" g_player_maxhealth
devgui_cmd  "Main:1/Development:2/Toggle Ammo Counter:12" "toggle ammoCounterHide"
devgui_dvar "Main:1/Development:2/Debug Overlays:13" debugOverlay
devgui_cmd  "Main:1/Development:2/Jump to Start:14" "debug_start 1;devgui"

devgui_dvar "Main:1/Game Pad:3/Button Deadzone:1" gpad_button_deadzone
devgui_dvar "Main:1/Game Pad:3/Stick Deadzone Min:2" gpad_stick_deadzone_min
devgui_dvar "Main:1/Game Pad:3/Stick Deadzone Max:3" gpad_stick_deadzone_max
devgui_dvar "Main:1/Game Pad:3/Stick Pressed Deflection:4" gpad_stick_pressed
devgui_dvar "Main:1/Game Pad:3/L3 Deflect Max:5" gpad_button_lstick_deflect_max
devgui_dvar "Main:1/Game Pad:3/R3 Deflect Max:6" gpad_button_rstick_deflect_max
devgui_dvar "Main:1/Game Pad:3/Analog Attack Threshold:7" cl_analog_attack_threshold
devgui_dvar "Main:1/Game Pad:3/Rumble:8" gpad_rumble

devgui_dvar "Main:1/Player Settings:4/View:1/Pitch Up Cap:1" player_view_pitch_up
devgui_dvar "Main:1/Player Settings:4/View:1/Pitch Down Cap:2" player_view_pitch_down

devgui_dvar "Main:1/Player Settings:4/Breath:2/Hold Time:1" player_breath_hold_time
devgui_dvar "Main:1/Player Settings:4/Breath:2/Gasp Time:2" player_breath_gasp_time
devgui_dvar "Main:1/Player Settings:4/Breath:2/Fire Delay:3" player_breath_fire_delay
devgui_dvar "Main:1/Player Settings:4/Breath:2/Gasp Scale:4" player_breath_gasp_scale
devgui_dvar "Main:1/Player Settings:4/Breath:2/Hold Lerp:5" player_breath_hold_lerp
devgui_dvar "Main:1/Player Settings:4/Breath:2/Gasp Lerp:6" player_breath_gasp_lerp
devgui_dvar "Main:1/Player Settings:4/Breath:2/Sound Lerp:7" player_breath_snd_lerp
devgui_dvar "Main:1/Player Settings:4/Breath:2/Sound Delay:8" player_breath_snd_delay

devgui_dvar "Main:1/Player Settings:4/Melee:3/Range:1" player_meleeRange
devgui_dvar "Main:1/Player Settings:4/Melee:3/Width:2" player_meleeWidth
devgui_dvar "Main:1/Player Settings:4/Melee:3/Height:3" player_meleeHeight
devgui_dvar "Main:1/Player Settings:4/Melee:3/Charge Scale:3" player_meleeChargeScale

devgui_dvar "Main:1/Player Settings:4/Mantle:4/Enable:1" mantle_enable;
devgui_dvar "Main:1/Player Settings:4/Mantle:4/Debug:2" mantle_debug;
devgui_dvar "Main:1/Player Settings:4/Mantle:4/Check Range:3" mantle_check_range
devgui_dvar "Main:1/Player Settings:4/Mantle:4/Check Radius:4" mantle_check_radius
devgui_dvar "Main:1/Player Settings:4/Mantle:4/Check Angle:5" mantle_check_angle
devgui_dvar "Main:1/Player Settings:4/Mantle:4/View Yaw Cap:6" mantle_view_yawcap

devgui_dvar "Main:1/Player Settings:4/Jump:5/Height:1" jump_height
devgui_dvar "Main:1/Player Settings:4/Jump:5/Step Size:2" jump_stepSize
devgui_dvar "Main:1/Player Settings:4/Jump:5/Slowdown Enabled:3" jump_slowdownEnable
devgui_dvar "Main:1/Player Settings:4/Jump:5/Ladder Push Vel:4" jump_ladderPushVel
devgui_dvar "Main:1/Player Settings:4/Jump:5/Weapon Spread Add:5" jump_spreadAdd

devgui_dvar "Main:1/Status Overlays:5/Draw FPS:1" cg_drawFps
devgui_dvar "Main:1/Status Overlays:5/Draw Material:2" cg_drawMaterial
devgui_dvar "Main:1/Status Overlays:5/Draw 2D:3" cg_draw2D
devgui_dvar "Main:1/Status Overlays:5/Draw Gun:4" cg_drawGun
devgui_dvar "Main:1/Status Overlays:5/Status Monitor:5" com_statmon

devgui_dvar "Main:1/Snd:6/snd_volume:1" snd_volume
devgui_dvar "Main:1/Snd:6/snd_enable2D:2" snd_enable2D
devgui_dvar "Main:1/Snd:6/snd_enable3D:3" snd_enable3D
devgui_dvar "Main:1/Snd:6/snd_enableStream:4" snd_enableStream
devgui_dvar "Main:1/Snd:6/snd_enableReverb:5" snd_enableReverb

devgui_dvar "Main:1/Camera:7/FOV" cg_fov

devgui_dvar "Main:1/Entities:8/Entity Info" g_entinfo

devgui_cmd  "Main:1/AI:9/Delete Axis:1" "ai axis delete"
devgui_cmd  "Main:1/AI:9/Delete Allies:2" "ai allies delete"
devgui_dvar "Main:1/AI:9/Show Paths:3" ai_showPaths
devgui_dvar "Main:1/AI:9/Show Nodes:4" ai_showNodes
devgui_dvar "Main:1/AI:9/Show Nearest Node:5" ai_showNearestNode
devgui_dvar "Main:1/AI:9/Show Chains:6" ai_showFriendlyChains
devgui_cmd  "Main:1/AI:9/Toggle Bad Path Spam:7" "toggle ai_badPathSpam"
devgui_cmd  "Main:1/AI:9/Toggle Ragdoll Deaths:8" "toggle ragdoll_enable"

devgui_cmd	"Main:1/HUD:10/Safe Area - Show:1" "set ui_safearea 1"
devgui_cmd	"Main:1/HUD:10/Safe Area - Hide:2" "set ui_safearea 0"
devgui_dvar	"Main:1/HUD:10/Horizontal Safe Area:3" safeArea_horizontal
devgui_dvar	"Main:1/HUD:10/Vertical Safe Area:4" safeArea_vertical

devgui_cmd  "Main:1/Disconnect:11" "disconnect"

devgui_cmd  "Main:1/Quit:12" "quit"

//sorry I don't know where to properly place this but I want it in the menu's -Nate
exec devgui_scriptart


devgui_cmd  "Visibility/Toggle Lock PVS:1" "toggle r_lockPvs"
devgui_cmd  "Visibility/Toggle Single Cell:2" "toggle r_singleCell"
devgui_cmd  "Visibility/Toggle Cull Brush Models:3" "toggle r_cullBModels"
devgui_cmd  "Visibility/Toggle Cull XModels:4" "toggle r_cullXModels"
devgui_dvar "Visibility/Show Cull Brush Models:5" r_showCullBModels
devgui_dvar "Visibility/Show Cull Static Models:6" r_showCullSModels
devgui_dvar "Visibility/Show Cull XModels:7" r_showCullXModels
devgui_dvar "Visibility/Show Portals:8" r_showPortals
devgui_dvar "Visibility/Show AABB Trees:9" r_showAabbTrees
devgui_dvar "Visibility/Portal Walk Limit:12" r_portalWalkLimit
devgui_dvar "Visibility/Portal Min Clip Area:13" r_portalMinClipArea
devgui_dvar "Visibility/Portal Bevel Cutoff:14" r_portalBevels


// generated by Call of Duty, do not modify
bind TAB "+scores"
bind ESCAPE "togglemenu"
bind SPACE "+back"
bind \ "weapalt"
bind ` "toggleconsole"
bind A "+moveup"
bind G "gocrouch"
bind D "+moveright"
bind E "+leanleft"
bind C "cycleoffhand"
bind M "weapalt"
bind Q "+activate"
bind R "+leanright"
bind S "+moveleft"
bind F "+offhand"
bind W "+melee"
bind B "+binoculars"
bind Z "lowerstance"
bind ~ "toggleconsole"
bind PAUSE "pause"
bind ALT "+holdbreath"
bind CTRL "goprone"
bind SHIFT "+speed"
bind F1 "devgui"
bind F5 "savegame quicksave"
bind F9 "loadgame quicksave"
bind F12 "screenshotJPEG"
bind MOUSE1 "+attack"
bind MOUSE2 "+forward"
bind MOUSE3 "+reload"
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"


// generated by Call of Duty, do not modify
bind TAB "+scores"
bind ESCAPE "togglemenu"
bind SPACE "+back"
bind ' "map_restart"
bind + "replay_forward 10"
bind , "toggle timescale 1 0.75 0.5 0.25"
bind - "replay_back 10"
bind / "scriptdebugger"
bind 0 "replay_live"
bind 3 "weapprev"
bind 6 "replay_mark"
bind 7 "replay_goto"
bind 8 "replay_live"
bind = "replay_forward 10"
bind [ "replay_restart"
bind \ "weapalt"
bind ` "toggleconsole"
bind A "+moveup"
bind B "+binoculars"
bind C "+smoke"
bind D "+moveright"
bind E "+leanleft"
bind F "+frag"
bind G "god"
bind M "weapalt"
bind N "noclip"
bind O "notarget"
bind Q "+activate"
bind R "+leanright"
bind S "+moveleft"
bind U "cg_ufo"
bind W "+melee"
bind X "+binoculars"
bind Z "lowerstance"
bind ~ "toggleconsole"
bind BACKSPACE "replay_live"
bind PAUSE "pause"
bind ALT "+holdbreath"
bind CTRL "goprone"
bind SHIFT "+speed"
bind INS "toggle timescale 1 10"
bind PGDN "toggle ai_shownodes 0 1"
bind PGUP "toggle r_showtris 1 2 0"
bind END "toggle g_entinfo 0 1 2 3 4 5"
bind F1 "devgui"
bind F5 "savegame quicksave"
bind F9 "loadgame quicksave"
bind F12 "screenshotJPEG"
bind MOUSE1 "+attack"
bind MOUSE2 "+forward"
bind MOUSE3 "+reload"
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"

test.cfg (May 2, 2007)

con_minicon 1
con_miniconlines 20
replay_autosave 15
com_maxfps 200

r_clearcolor 0
r_clearcolor2 0

bind 4 toggle replay_time 1 0
bind 5 replay_mark
bind 6 replay_goto
bind 7 replay_live
bind 8 toggle replay_back 3 10
bind 9 toggle replay_forward 3 10
bind 0 replay_restart

bind r toggle timescale 1 0.001 10
bind y say
bind q "con_minicon 1; mapname; viewpos"
bind w toggle con_miniconlines 5 20
bind e toggle g_entinfo 0 2 5
bind t toggle r_showtris 

bind u toggle cg_thirdperson 
bind i toggle cg_draw2d
bind o toggle cg_fov 65 80 100
bind p kill

bind b "noclip"
bind n "god"
bind m "ufo"
bind space map_restart
bind X pause

test.cfg (August 28, 2007)


exec default

con_minicon 1
con_miniconlines 5
replay_autosave 15
com_maxfps 200

bind 5 set debug_grenadespam on
bind 6 set debug_grenadespam off

bind 7 replay_save test_replay
bind 8 toggle replay_time 1 0
bind 9 replay_live
bind - replay_back 10
bind = replay_forward 10
bind 0 replay_restart

bind q "con_minicon 1; mapname; viewpos"
bind w toggle con_miniconlines 5 20
bind e toggle g_entinfo 0 2 5
bind r "cg_ufo"
bind t toggle timescale 0.1 10 1

bind u toggle ai_shownearestnode 0 64
bind i toggle ai_shownodes 0 1
bind o toggle ai_showpaths 0 1
bind p toggle g_entinfo_aionly 1 0

bind a debug_nuke on

bind h toggle cg_drawmaterial
bind j toggle r_ShowSModelNames
bind l toggle r_showtris
bind k toggle r_fullbright
bind ; toggle r_fog
bind ' "kill"

bind b "noclip"
bind n "god"
bind m map_restart
bind p toggle cl_paused
bind / exec developer


exec default
bind v "god"
bind x debug_nuke on
bind g "toggle g_entinfo 0 4 5"
bind \ map_restart
bind / scriptdebugger
bind F3 toggle timescale 1 10
bind MWHEELDOWN "weapnext"
bind MWHEELUP "weapprev"

bind n cg_ufo
bind - toggle timescale 0.3 1

bind t toggle timescale 15 1

bind h toggle g_entinfo 0 2 1

set g_entinfo_aionly 1

seta fs_debug 0
seta con_conspeed 10
exec replay


// generated by Call of Duty, do not modify

exec default.cfg

bind - "replay_back 10"
bind / "scriptdebugger"
bind 0 "replay_back 3"
bind 6 "replay_mark"
bind 7 "replay_goto"
bind 8 "replay_live"
bind = "toggle cl_paused 0 2"
bind [ "replay_restart"
bind \ "toggle r_fullbright 1 0"
bind I "toggle g_entinfo 3 2 1 0"
bind J "toggle r_showtricounts"
bind O "ai allies delete"
bind L "toggle ai_shownearestnode 0 64"
bind M "map_restart"
bind N "noclip"
bind K "ai axis delete"
bind P "toggle r_showtris"
bind T "toggle timescale 100 1"
bind U "toggle cg_drawmaterial"
bind Y "toggle timescale 1 .1"
bind F1 "devgui"
bind F5 "savegame quicksave"
bind F12 "cg_drawshader 1;con_minicon 1;g_entinfo 2;fs_debug 0; mapname;viewpos;wait 6;screenshotJPEG;con_minicon 0; fs_debug 2; g_entinfo 0; cg_drawshader 0"
bind F9 "loadgame quicksave"



If you use console commands to set debug_start to 1, upon restarting the level you will be able to interact with a menu that allows you to select certain checkpoints to start the level at.


  • For the multiplayer MP5, the model tag for the Red Dot Sight and ACOG Sight mount identify it as being the same as the AK-47's RDS and ACOG mount despite being mostly different from it.

Regional Differences

To do:
  • Hi-res screenshots from the German version.
  • The M1014 is apparently called "M4" in the German version. Verify.
  • For some reason, the German version not only removed the dramatic gore effect upon shooting Zakhaev's hand off in the "One Shot, One Kill" mission, but Arcade Mode is disabled and cannot be unlocked.
  • In the French version, the M1911 .45 is called "Colt 45".
  • In the French version, the M1014 is called "Benelli M4".
  • (Source: Schnittberichte)

    Call of Duty: Modern Warfare Reflex Edition

    Released for the Wii on November 10, 2009, alongside Modern Warfare 2 and Call of Duty: Modern Warfare: Mobilized.


    To do:
    • Verify the following content and add to the article:
      • Reload sounds for the following weapons are different: MP5 reload, G36C cocking, M40A3 bolt cycling.
      • MP-44 has an irregular rate of fire.
      • RPG missile trail is different.
    • What weapons are compatible with Wii remote twisting?
  • Some weapons have different reload sounds.
  • The reticule for the Grenade Launcher is different and is heavilly reminscent of the crosshair on the Holographic Sight in both this game and Modern Warfare 2.
  • The Wii version has a unique feature where twisting the Wii remote while holding some weapons will rotate that weapon. This feature can be enabled from the options menu.
  • The targeting reticle has the following customization options: reticle design, outer reticle color, inner reticle dot color.
  • Wii Windows
    COD4MW-ForComparison-TitleScreen-Wii.png COD4MW-ForComparison-TitleScreen-Windows.png
    • The font scale on the main menu is much higher in the Wii version.
    • On the main menu the Wii version displays which profile is signed in at the top-left corner.


    To do:
    COD Wiki mentions here that the foliage on "All Ghillied Up" and "One Shot, One Kill" is colored differently. Verify.
    • Exclusive Squadmate mode for Campaign.
    • The ragtime warfare cheat was replaced with a paintball cheat.
    Wii Other Platforms
    • When using the "A Bad Year" cheat, you must get headshots for enemy corpses to turn into tires.


    To do:
    • COD Wiki mentions that the Desert Camouflage is slightly different. Verify.
    • Weapons apparently had no hipspread. Verify.
    • Check the code to determine whether the oddity with Overkill is a glitch or not.
    • According to COD Wiki, Pipeline is missing a car.
  • Offline multiplayer is not available.
  • When using the Overkill perk to create a class with two Assault Rifles that each have a Grenade Launcher, the secondary weapon's launcher will not have a second round in reserve, which is not normally the case in the normal version of the game. This may be a glitch.
  • There is no voice chat, and hence no Eavesdrop perk.
  • Multiplayer lobbies are limited to 10 players instead of 12.
  • Ground War is not available.
  • Team Tactical's player limit has been increased from 6 players to 10.
  • Free-for-All's player limit has been increased from 8 players to 10.
  • Shipment is unavailable in Team Deathmatch and Free-for-All.
  • The Variety Map Pack is not available.
  • In Hardcore game modes only the outer parts of the player's reticule is removed, leaving the player with the inner dot.
  • (Source: Call of Duty Wiki, Call of Duty Wiki)