Skip to content

Releases: FrankHUN88453/CoD3Recomp

Call of Duty 3 - PC Port - 0.4.0

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 07 Oct 15:03

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!

Still in development: bugs can and will occur.
Még fejlesztés alatt: hibák előfordulhatnak.

The first release since 0.3.0: a faster game, a picture closer to the console's, and two experimental options that make it faster still.

New

  • Faster on every level. The emulated kernel woke every waiting thread whenever anything was signalled (one of the game's locks is released some 50,000 times a second); now only the threads waiting for that object wake. The game's CPU use dropped from about 5.4 cores to 3.3, and the forest at 1080p without MSAA went from about 91 to 95–108 frames a second.
  • Native command lists (experimental), in the F11 menu, after a restart. The draws are made from the game's own Direct3D calls, and the console's GPU command stream is run only for what the GPU still has to do. With Watch memory writes (experimental) also on, the forest at 1080p without MSAA runs at about 180 frames a second. Tested on eight levels, the films and mission restarts; off by default until it has been played more.
  • Watch memory writes (experimental), in the F11 menu, after a restart: textures, vertex and index data that have not changed are known by their memory pages instead of being checked every frame.
  • Console depth precision (F11 menu, on by default): the depth is cut to the console's 24 bit float steps, which the game relies on. Turning it off gains frame rate with MSAA, but surfaces drawn nearly on top of each other can flicker.
  • F12 logs what you see: besides the screenshot it writes the next two frames into CoD3.log and a draw by draw picture file into screenshots\, so a fault can be traced from a player's report.

Fixed

  • Flickering strips on distant hills (the hill behind the tanks at the start of Saint-Lô): surfaces drawn nearly on top of each other now resolve the way the console's coarser depth makes them.
  • Dotted lines along the triangles' edges on the ground and the tree trunks with MSAA (and white speckles without it).
  • The picture was brighter and flatter than the console's: the game's gamma table for the display was ignored. The fogged hills no longer stand out pale against a too light sky.
  • Dark or light outlines around models and trees in front of smoke: every draw was half a pixel off from the console's pixel centres.
  • Ragged mud and dark ivy patches on the ground layers and decals: their depth offset was too small at a distance.
  • Shadow maps, the half size smoke and the bloom were drawn with the frame's MSAA, which showed nothing there and cost frame rate at high resolution.

Known issues

  • Thin stretched lines (spikes) can appear near the barbed wire and grass at the grenade training in Saint-Lô.
  • White glints can flicker on some metal and road surfaces in strong firelight (the hostage level).
  • Starting a new game over an existing save and backing out of the "overwrite" question can bring that question up again in the level, at the first checkpoint.
  • spmap from the console in the middle of a level leaves the player without weapon and HUD; start levels from the menus.

The first start after this update rebuilds the shader cache, so the first level takes longer to come up once.

Files

Everything is in CoD3-PC-Port-0.4.0.zip; unpack it into a folder and start CoD3.exe. To update, unpack it over the old folder: the settings, saves and installed game stay.

  • CoD3.exe — the game. On first start it asks for the ISO and installs from it.
  • CoD3.pdb — debug information, only needed to make a hang or crash report name its functions.
  • avcodec-62.dll, avutil-60.dll, swresample-6.dll — FFmpeg N-123653-gd1bcaab230-20260328 (shared, GPL v3), for the sound; its licence is ffmpeg-LICENSE.txt, its source is at ffmpeg.org.

Call of Duty 3 - PC Port - 0.3.0

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 30 Sep 00:05

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!

Still in development: bugs can and will occur.
Még fejlesztés alatt: hibák előfordulhatnak.

The first release since 0.2.3: the campaign goes on from one mission to the next, a level runs above 60 frames a second, and a row of picture faults is gone.

New

  • The next mission after a win. The console restarts the game between missions and hands the next one over; the port does the same, so a finished mission leads into the next one instead of closing the game.
  • A mission's briefing film can be skipped with Space (A) once its level has loaded. On the console it always plays to its end.
  • Unlimited frame rate in levels (settings menu, on by default). A level runs at what the machine can do, around 100 to 115 frames a second where it had 60; the menus stay at 60 and the films at their own 30. The game's speed does not change with the frame rate.
  • Model detail (settings menu): the game's own level of detail, or the finest version of every model at any distance.
  • The settings reach the game. The field of view, the aim assist and the model detail are now applied when the game starts. Before, they only took effect when changed during play, and the aim assist setting never did. CoD3.cfg is gone: the game never ran it.
  • The mouse turns the same at any frame rate, and reads the mouse's own movement rather than the pointer's.
  • Everything the game prints goes to CoD3.log, and the run before is kept as CoD3.previous.log.

Fixed

  • The soldiers' shadows came and went, on every level. The shadow maps are drawn in a depth only mode in which the console runs no pixel program; the port ran the last one left loaded, which sometimes cut the soldiers' shadows away.
  • Black blotches on the uniforms and soldiers drawn entirely black now and then.
  • A ghost outline around the weapon in smoke.
  • Dark triangles across the ground near tanks: the tanks' treads were drawn from stale data.
  • Soldiers standing in a T pose after a mission restart, and two of the hangs when a level is unloaded.

Known issues

  • Thin stretched lines (spikes) can appear near the barbed wire and grass at the grenade training in Saint-Lô.
  • Starting a new game over an existing save and backing out of the "overwrite" question can bring that question up again in the level, at the first checkpoint.
  • spmap from the console in the middle of a level leaves the player without weapon and HUD; start levels from the menus.

The first start after this update rebuilds the shader cache, so the first level takes longer to come up once.

Files

Everything is in CoD3-PC-Port-0.3.0.zip; unpack it into a folder and start CoD3.exe.

  • CoD3.exe — the game. On first start it asks for the ISO and installs from it.
  • CoD3.pdb — debug information, only needed to make a hang or crash report name its functions.
  • avcodec-62.dll, avutil-60.dll, swresample-6.dll — FFmpeg N-123653-gd1bcaab230-20260328 (shared, GPL v3), for the sound; its licence is ffmpeg-LICENSE.txt, its source is at ffmpeg.org.

Call of Duty 3 - PC Port - 0.2.3

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 22 Sep 20:33

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!

A fix release over 0.2.2, and the one worth updating for: the lighting is right now.

Fixed

Walls lit far too brightly, and the odd shading on the soldiers and on the player's hands. An instruction of the console's shaders has a vector half and a scalar half, and they run together: both read the registers as they were before the instruction and only then write. The translation wrote the vector's result first, so a scalar that read the very register the vector wrote got the new value instead of the old one.

The game's third light per surface is written exactly that way. Its scalar wants the specular exponent times a logarithm; with the write first it took a dot product instead, and two to the tenth of that became the specular. Every lit stone wall in Mayenne came out white with pink and green speckle, and characters were shaded oddly for the same reason. Eighty of the six hundred shader programs a level draws with have such an instruction, so this shows up all over the game, not only on that wall.

Known issues

  • Starting a second level from inside a level (the console's spmap, or the next mission after one is finished) hangs about half the time, in the game's own memory allocator. Start a level from the front end, or restart the game.
  • No shadow quality or post processing settings: the game has no controls for them.

The first start after this update rebuilds the shader cache, so the first level takes longer to come up once.

Files

Everything is in CoD3-PC-Port-0.2.3.zip; unpack it into a folder and start CoD3.exe.

  • CoD3.exe — the game. On first start it asks for the ISO and installs from it.
  • CoD3.pdb — debug information, only needed to make a hang or crash report name its functions.
  • CoD3.cfg — console commands run at start; seta com_maxfps 60 by default.
  • avcodec-62.dll, avutil-60.dll, swresample-6.dll — FFmpeg N-123653-gd1bcaab230-20260328 (shared, GPL v3), for the sound; its licence is ffmpeg-LICENSE.txt, its source is at ffmpeg.org.

Call of Duty 3 - PC Port - 0.2.2

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 22 Sep 16:22

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!

A fix release over 0.2.1; everything below is on top of what 0.2.1 brought.

Fixed

The HUD and the menu still flickered. 0.2.1 looked at every texture every frame again, but a large one that had been still for a while was only sampled: sixty four places out of it. The HUD's fonts, icons and compass are small and change a handful of texels at a time, and the samples missed those changes, so the old picture stayed up for a frame. Everything up to two megabytes is now hashed whole, every frame, and only what is bigger than that falls back to sampling.

Shadow filtering collapsed. A texture fetch on the console carries three signed offsets in halves of a texel. The game's shadows are one map fetched four times at the corners of a texel; with the offsets dropped those were four fetches of the same texel, so a surface came out wholly lit or wholly dark instead of softly edged.

A blend by the constant colour's alpha did nothing. Two of the console's blend factors take the alpha of the constant colour. Direct3D multiplies the colour channels by the factor's rgb instead, and with a constant of (0,0,0,1) those passes came out as nothing at all.

Known issues

  • Starting a second level from inside a level (the console's spmap, or the next mission after one is finished) hangs about half the time, in the game's own memory allocator. It does the same on 0.2 and 0.2.1. Start a level from the front end, or restart the game.
  • A stone wall in Mayenne is lit far too brightly, and the soldiers' uniforms and the player's hands are shaded oddly. Being looked into.
  • No shadow quality or post processing settings: the game has no controls for them.

The first start after this update rebuilds the shader cache, so the first level takes longer to come up once.

Files

Everything is in CoD3-PC-Port-0.2.2.zip; unpack it into a folder and start CoD3.exe.

  • CoD3.exe — the game. On first start it asks for the ISO and installs from it.
  • CoD3.pdb — debug information, only needed to make a hang or crash report name its functions.
  • CoD3.cfg — console commands run at start; seta com_maxfps 60 by default.
  • avcodec-62.dll, avutil-60.dll, swresample-6.dll — FFmpeg N-123653-gd1bcaab230-20260328 (shared, GPL v3), for the sound; its licence is ffmpeg-LICENSE.txt, its source is at ffmpeg.org.

Call of Duty 3 - PC Port - 0.2.1

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 22 Sep 11:18

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!

A fix release over 0.2; everything below is on top of what 0.2 brought.

Fixed

"MmAllocatePhysicalMemoryEx: out of physical space", and the missing pieces that came with it. The guest's physical memory was handed out and never given back, so a second level ran the half gigabyte dry and everything the game allocated after that failed: a level drawn with pieces missing. Freed memory is given out again now, and what the game frees is dropped from the renderer's caches, so an address holding something new is never drawn with the old texture.

The flickering. A texture the game rewrites (the menu, the HUD) was only looked at every fourth frame once it had been still for a while, so its changes showed up to three frames late. Every texture is looked at every frame again.

Known issues

  • Starting a second level from inside a level (the console's spmap, or the next mission after one is finished) hangs about half the time, in the game's own memory allocator or its GPU wait. It does the same on 0.2. Start a level from the front end, or restart the game.
  • No shadow quality or post processing settings: the game has no controls for them.

Files

Everything is in CoD3-PC-Port-0.2.1.zip; unpack it into a folder and start CoD3.exe.

  • CoD3.exe — the game. On first start it asks for the ISO and installs from it.
  • CoD3.pdb — debug information, only needed to make a hang or crash report name its functions.
  • CoD3.cfg — console commands run at start; seta com_maxfps 60 by default.
  • avcodec-62.dll, avutil-60.dll, swresample-6.dll — FFmpeg N-123653-gd1bcaab230-20260328 (shared, GPL v3), for the sound; its licence is ffmpeg-LICENSE.txt, its source is at ffmpeg.org.

Call of Duty 3 - PC Port - 0.2

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 22 Sep 08:05

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!

What is new since 0.1

A native PC renderer. The emulated Xbox 360 GPU is gone; the game is drawn by a Direct3D 11 renderer built for a PC over the recompiled game logic (docs/renderer.md). 60 fps (the game's own cap) at any resolution, 1440p with MSAA 8x and 16x anisotropic filtering included; mip mapped textures, trilinear and anisotropic filtering, MSAA 2x/4x/8x and FXAA, vertical sync, a shader cache on disk so nothing is compiled twice.

Sound and films. The XMA voices, music and effects play through FFmpeg, whose DLLs are in the zip; the films play (the legal notice, the logos, the attract loop, the mission briefings), Space or A skips them.

Settings (F11, and on OPTIONS in the main menu): window or borderless full screen (Alt+Enter too), resolution and a resolution scale in per cent, texture filtering, anisotropy and quality, anti aliasing, field of view, the blur while aiming on or off, vertical sync, an fps counter and the renderer's statistics, mouse sensitivity, aim assist, the pad, and every key. Kept in CoD3Recomp.ini beside the executable.

The console on the key left of 1: spmap forest, map_restart, cg_fov 80, timescale 0.5, god, noclip, give all, seta com_maxfps 60.

All fifteen levels play, with the mission title cards, the checkpoints and the mission failed screen. Fixed since 0.1: the crossroads level's black screen, the sergeant's T-pose, the mission title cards, the silent mixer.

Files

Everything is in CoD3-PC-Port-0.2.zip; unpack it into a folder and start CoD3.exe.

  • CoD3.exe — the game. On first start it asks for the ISO and installs from it.
  • CoD3.pdb — debug information, only needed to make a hang or crash report name its functions.
  • CoD3.cfg — console commands run at start; seta com_maxfps 60 by default.
  • avcodec-62.dll, avutil-60.dll, swresample-6.dll — FFmpeg N-123653-gd1bcaab230-20260328 (shared, GPL v3), for the sound; its licence is ffmpeg-LICENSE.txt, its source is at ffmpeg.org.

Known issues

  • Rarely, a level stops loading: the game's own graphics driver waits for the GPU and never gets its answer. Restart the game.
  • No shadow quality or post processing settings: the game has no controls for them.

Call of Duty 3 - PC Port - 0.1

Pre-release

Choose a tag to compare

@FrankHUN88453 FrankHUN88453 released this 17 Sep 15:47

You need Xbox360 Call of Duty 3 (USA, Europe).iso file for install!