Systems / PC

CoD1-Reissued

Call of Duty (2003)

Status
In game
Platforms
Linux x86-64; macOS on Apple Silicon (training played by hand)
Game release
Steam (app 2620), v1.5b, single player
Repository
JTM-rootstorm/CoD1-Reissued
SwARc
platforms/win32 (commits)
Updated
2026-11-09

A native port of Call of Duty’s single player. Goals beyond running natively: widescreen at any resolution with a UI and HUD that scale properly, Hor+ field of view, and high refresh rates without the Quake 3 engine family’s frame-rate-dependent physics.

Status

The game’s five modules (CoDSP.exe, gamex86.dll, cgamex86.dll, uix86.dll and EaxMan.dll) are lifted and linked into one native program. It boots through the intro cinematics to the main menu with its music, starts a new game through the briefing, and the training level plays through to completion (played by hand). EAX 3 works through the game’s own EAX Manager on SwARc’s providers.

macOS

Builds and runs on Apple Silicon (tested on an M3 Pro, macOS 27) with SDL_GPU on Metal, and passes its tests. Scripted runs play the intro and reach the training level at 60 fps (vsync, also fullscreen on a 5K display). The training level has been played by hand on the Mac through the obstacle course: the signs, the squad’s run, the fences, crawling under the wire and the machine-gun section, the TAB objectives, with EAX 3 and with Miles. Not yet played to the end of training or past it on the Mac.

Native replacements

Each replaces lifted functions and is checked bit for bit against the lifted original by the project’s tests.

Next

The renderer’s front end, natively from the bottom up: the view and its projection, the draw surface list, the world’s cells and static models, the cell walk through portals, and the scene’s entities and polygons.

The project’s FINDINGS.md tracks progress and ARCHITECTURE.md the plan.

Recent commits

  1. Renderer back end: locked arrays reach the device
  2. Renderer back end: vertex array draws on gfx::Device
  3. Renderer back end: GL calls on the host, not through the qgl pointers
  4. Renderer back end natively: the draw surface loop, commands and flares
  5. Renderer back end natively: the sky, the sun, flares, portals, debug text

All commits