codx: ~/call-of-duty80x40

CoDX

A free patch for Call of Duty (2003) multiplayer, version 1.1.

Better aim, smoother fps, instant alt-tab, fast map downloads and a long list of old bugs finally fixed. Nothing in your game folder gets changed and you can remove it any time.

Download CoDX 1.0.4 zip, 120 KB

Needs Call of Duty multiplayer 1.1 and Windows 10 or 11.
SHA-256 a5e021344ff20c42256f2c46aaaef45787daeb847b997f77b5ffcadff7a5ac36

what it does

Aim and fps

  • Raw mouse input. Your aim is 1:1 with your mouse, no Windows acceleration, and the mouse is read as late as possible each frame for less input lag.
  • Works with high polling rate mice (4000 to 8000 Hz) and keeps working after a vid_restart.
  • com_maxfps actually does what it says. 250 is 250, 333 is 333, with steady frame times.
  • Less stutter: the game runs on one CPU core, gets a higher priority and stays in memory.
  • Tells you in the console if m_filter or cl_mouseAccel are on, since they add input lag, and suggests r_finish.

Screen

  • Borderless fullscreen at your desktop resolution, so alt-tab is instant.
  • Borderless window mode too, if you play windowed.
  • Your desktop brightness goes back to normal while you are alt-tabbed. bug fix
  • No more startup crash on newer graphics cards and drivers. bug fix
  • Sharp picture on scaled (high DPI) displays.
  • cg_fov goes up to 100.
  • Windows fullscreen optimizations are turned off for the game.
  • Big custom maps that used to fail to load now work. bug fix

HUD

  • A clean fps counter in the top right. It can also show your 1% low and frame time.
  • A sharper, modern lagometer in the bottom right with ping bars, dropped packets and packet loss %.
  • The "Connection Interrupted" text and icon are hidden, the lagometer shows it instead.
  • Both have a slightly dark background so they are easy to read on any map.
  • The main menu shows "1.1 CoDX v1.0.4" in the corner so you know it is running.

Chat and colours

  • The message you are typing stays when you die, a new round starts, a menu opens or you reconnect. It only goes away when you send it or cancel it. bug fix
  • ^8 and ^9 work like in CoD2 and CoD1 1.5, in names, chat, the scoreboard and menus. ^8 is the allied team colour of the map (green, blue or red) and ^9 is the axis colour (grey).
  • Chat lines with a colour before ^7, like ^5Message: ^7Hello, no longer get a big gap in the middle. bug fix
  • On servers running CoDX you can use ^0 (black) and ^8 in your name. Just type ^0Name, no more ^^00 trick. bug fix
  • The console no longer goes blank after a disconnect or reconnect, so no more typing /clear. bug fix

Downloads and servers

  • Fast HTTP downloads from servers that offer them, with a download screen that shows the file, progress, speed and time left.
  • Faster normal downloads on every other server.
  • You always get into the server after downloading, it reconnects by itself if the server stalls. bug fix
  • The server list is sorted by ping and server names are cleaned up (no more square symbols).
  • A backup master server (master.cod.pm) is used when the official one does not answer, so the server list keeps working.
  • cl_maxpackets goes up to 125.

Safety

  • Blocks downloads with dangerous file names or broken data from shady servers, which could crash the game. bug fix
  • Downloaded files are checked to be real map/mod files (.pk3).
  • If the game ever crashes, a crash report is saved next to CoDMP.exe so it can be looked at.
  • Your CD key, PunkBuster and your game files are not touched.

Your GUID

  • CoD1 never had GUIDs. CoDX gives every PC a GUID based on its hardware, so server admins can ban cheaters properly. Deleting a file or reinstalling the game does not change it.
  • It is only a number. None of your hardware details or personal info are sent.
  • Type /cl_guid in the console to see yours.
  • Servers can also see that you run CoDX and which version.

First start

The first time you start the game with CoDX it sets good values for settings you never changed yourself: fullscreen at your desktop resolution, rate 25000, cl_maxpackets 125, snaps 40, com_maxfps 333, lagometer on and fps counter on. Anything you already set stays the way you had it, and you can change all of it later.

install

  1. Close Call of Duty.
  2. Extract the zip into your Call of Duty folder, the one with CoDMP.exe in it. You now have a CoDX folder next to CoDMP.exe.
  3. Open the CoDX folder and double-click install.bat.
  4. Start the game like you normally do. If you see "1.1 CoDX v1.0.4" in the bottom right of the main menu, you are good to go.

If your game is in Program Files and the installer says it can't copy, right-click install.bat and pick "Run as administrator". Your original mss32.dll is kept as mss32_orig.dll.

Updating

Extract the new zip over your old CoDX folder and run install.bat again.

Removing it

  1. Close Call of Duty.
  2. Double-click uninstall.bat in the CoDX folder. It puts the original mss32.dll back and undoes the fullscreen setting CoDX made.
  3. Delete the CoDX folder if you want.

By hand: delete mss32.dll in the game folder and rename mss32_orig.dll back to mss32.dll.

settings

Everything works out of the box. If you want to change something, type these in the console. They are saved in your config.

cx_rawInput1Raw mouse input. 0 = normal game mouse.
cx_fullscreenMode1Borderless fullscreen at desktop resolution. 0 = normal fullscreen.
cx_borderless0Borderless window when you play windowed (r_fullscreen 0).
cx_dpiAware1Sharp picture on scaled displays.
cx_fps1Fps counter. 2 = also 1% low and frame time, 0 = the old one.
cx_fpsScale1Size of the fps counter.
cx_fpsX / cx_fpsY-1Move the fps counter. -1 = default spot.
cx_lagometer1New lagometer. 0 = the old one. Needs cg_lagometer 1.
cx_lagometerScale1Size of the lagometer.
cx_lagometerX / cx_lagometerY-1Move the lagometer. -1 = default spot.
cx_lagometerText1Show "n% loss" on the lagometer when you have packet loss.
cx_hudFontName"Segoe UI"Font used for the fps counter.
cx_hideInterrupted1Hide the "Connection Interrupted" text and icon.
cx_keepChat1Keep the message you are typing through deaths, rounds and menus.
cx_color8""Your own colour for ^8 as "r g b" (0 to 1). Empty = allied team colour.
cx_color9""Your own colour for ^9 as "r g b" (0 to 1). Empty = axis colour.
cx_wwwDownload1Fast HTTP downloads when the server offers them.
cx_fastUdpDownload1Faster normal downloads.
cx_dlScreen1New download screen. 0 = the old one.
cx_mastercodmaster.activision.comMaster server for the server list.
cx_masterFallbackmaster.cod.pmBackup master server. "" = off.
cx_versionLabel1Show "1.1 CoDX v1.0.4" in the main menu.
cx_cpuAffinity1Run the game on one CPU core.
cx_cpuCore-1Which core to use. -1 = pick one automatically.
cx_priority1Give the game a higher priority.
cx_lockMemory1Keep the game in memory.
cx_disableFSO1Turn off Windows fullscreen optimizations for the game.
cx_logConsole1Save the console to cx_patch.log while downloading.
cl_guid(yours)Your GUID. Read-only, type /cl_guid to see it.

help

  • The menu only says "1.1": CoDX is not loaded. Check that you ran install.bat in the right folder and that your game is the official 1.1 version. On any other version CoDX does nothing.
  • Mouse feels different and you want the old feel back: cx_rawInput 0.
  • Something is wrong or the game crashed: send me cx_patch.log from your Call of Duty folder, and the newest cx_crash file if there is one.

For server admins

Players with CoDX send cl_guid (their GUID) and cx (their CoDX version) to your server. Your server mod can read them for bans and stats, and can require CoDX by kicking players without cx if you want. Like any client-side ID, cl_guid can be faked by someone who knows how, so it stops ban dodging, it is not an anti-cheat.

changes

1.0.4 ^8 and ^9 colours, no more gap in coloured chat lines, ^0 and ^8 in names on CoDX servers, CoDX version in the menu.

1.0.3 The message you are typing is kept through deaths, new rounds, menus and reconnects.

1.0.2 GUID for every player, CoDX version sent to servers, darker fps and lagometer backgrounds.

1.0.1 Console no longer goes blank after a reconnect.

1.0 First release.