Repository navigation
Releases
Native loader 0.2.2
Version 0.2.2 of the native loader for the Xbox version of Call of Duty 2: Big Red One: a bug-fix release. You need your own copy of the game; these archives contain none of its code or data.
Fixed since 0.2.1
- Windows: "The game could not start. Cannot set up the Xbox memory." (issue #16). The game needs a large block of address space. On some PCs, other software had already placed something inside it before the game started (most likely a DLL that security, overlay or similar software loads into every program). The game now picks another free block in that case. Its starter program also no longer loads system libraries that can pull in such DLLs early. If it still fails, the log now names what occupies that memory: please attach it to the issue.
Antivirus warnings (Windows)
As with 0.2.0 and 0.2.1, some antivirus programs may flag cod_bro_launcher.exe and cod_bro_loader.exe (Gen:Variant.Babar). We believe these are false positives; the README's antivirus section explains why. All source code is in this repository, and the checksums are in SHA256SUMS.txt.
Install
Coming from 0.1.7 or newer: use Update now in the launcher. Otherwise: unpack the archive for your system anywhere, copy your game dump into its assets/ folder (default.xbe, codmp_xboxf.xbe and media/ directly inside) and start cod_bro_launcher. Settings and saves are kept in the user data folder.
Linux (cod_bro-0.2.2-linux.tar.gz) |
Windows (cod_bro-0.2.2-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Native loader 0.2.1
Version 0.2.1 of the native loader for the Xbox version of Call of Duty 2: Big Red One: a bug-fix release. You need your own copy of the game; these archives contain none of its code or data.
Fixed since 0.2.0
- The arrow keys, Enter and Backspace can be bound in the launcher's Controls → Keys table (issue #14), for example the arrows to move. In the menus they still navigate as before. In play, a bound key only does its action: arrows bound to moving no longer also switch weapons or lean. Unbound arrows keep working as the D-pad. The key prompts in the game show arrow keycaps for actions bound to arrows. Esc, Tab and F10 stay fixed.
Antivirus warnings (Windows)
As with 0.2.0, some antivirus programs may flag cod_bro_launcher.exe and cod_bro_loader.exe (Gen:Variant.Babar). We believe these are false positives; the README's antivirus section explains why. All source code is in this repository, and the checksums are in SHA256SUMS.txt.
Install
Coming from 0.1.7 or newer: use Update now in the launcher. Otherwise: unpack the archive for your system anywhere, copy your game dump into its assets/ folder (default.xbe, codmp_xboxf.xbe and media/ directly inside) and start cod_bro_launcher. Settings and saves are kept in the user data folder.
Linux (cod_bro-0.2.1-linux.tar.gz) |
Windows (cod_bro-0.2.1-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Native loader 0.2.0
Version 0.2.0 of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
This is the last feature release of the native loader: from here it only gets bug fixes, and work continues on finishing the decompilation and a native engine of our own.
What's new since 0.1.14
- The renderer runs as rewritten code on a graphics back end of our own. The game's renderer (1,086 functions) runs as decompiled C++, drawing through our own graphics interface with a Direct3D 9 back end (DXVK on Linux, and on Windows too when Vulkan is there). Textures, movies, the window and every draw go through it; in screenshot comparisons the picture matches the original path (a few pixels differ by at most 3 colour levels).
- Enhanced graphics (switchable). One master switch, Enhanced graphics, and under it each improvement on its own switch: anti-aliasing (FXAA), anisotropic texture filtering, sharpening, colour vibrance and texture detail. Sharpening, vibrance and texture detail start at 0 (no change), so you choose how much. Switch it off for the picture as on the Xbox, at your resolution. In the launcher's Graphics tab and the in-game PC menu (` key).
- Sound on an engine of our own (OpenAL), with Enhanced sound (switchable). Under the Enhanced sound master switch: a higher-quality resampler, more voices, reverb, occlusion behind walls, and close-range boosts for gunfire and bullets (0 dB by default). Volume per category (effects, ambience, dialogue, music). In the launcher's Sound tab and the PC menu.
- 60 fps as before (default; 30 as on the Xbox in the launcher). Movies play at 30.
- Windows files carry version information (product, version, description).
Antivirus warnings (Windows): please read
Some antivirus programs flag cod_bro_launcher.exe and cod_bro_loader.exe as Gen:Variant.Babar.740485. On VirusTotal, 8 of 71 engines report this for the launcher and 7 of 71 for the loader. We believe these are false positives, and we would rather tell you than have you find out by surprise:
- "Gen:Variant" is a generic match on behaviour, not a known piece of malware.
- The launcher's Update now downloads the new release from this repository, checks it against SHA256SUMS.txt, unpacks it with Windows' own
tarand replaces the program files in its folder: what malware "downloaders" also do. cod_bro_loader.exeis a tiny program that reserves memory at fixed addresses, loads the original game's code from your dump into it and changes parts of it while it runs: that is how the native loader works, and also what some malware does.- The files are not code-signed (a certificate costs money every year; this is a free project).
The Linux files of this release show no detections on VirusTotal.
Check for yourself: the VirusTotal results of this release's files - cod_bro_launcher.exe, cod_bro_loader.exe, cod_bro_loader_core.dll; all source code is in this repository and you can build it yourself; the checksums are in SHA256SUMS.txt. The launcher is optional: cod_bro_loader.exe runs the game on its own (with settings.ini), and you can update by downloading releases yourself.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or newer: use Update now in the launcher. From 0.1.6 or older: unpack 0.2.0 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.2.0-linux.tar.gz) |
Windows (cod_bro-0.2.0-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- The Windows build was checked under Wine only.
- One crash was seen once in the prologue during testing (in the original animation code, after an entity's position became invalid); not reproduced since. If it happens to you, please attach the log.
- Other releases: multiplayer between players with different releases may not work (the game itself may not allow it).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.14
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.13
- Key bindings (issue #14). The launcher's Controls tab has a Keys table: every action can have two keys. Click one, then press a key, a mouse button (the side buttons 4 and 5 too) or turn the mouse wheel; Esc cancels, right-click clears it. A key you give to an action is taken from the action that had it. The game's controller styles still apply on top, and the on-screen key prompts show your keys. The menu keys (arrows, Enter, Backspace), Esc, Tab and F10 stay as they are.
- Other releases of the game (issue #9). On the European French/Spanish/Italian multiplayer, 0.1.13 found all but three of the port's changes: Direct3D's own variables, which the graphics library keeps right after its code instead of in the game's data. The loader now finds variables there too. If you have that disc, please try multiplayer and attach the log.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or newer: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.14 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.14-linux.tar.gz) |
Windows (cod_bro-0.1.14-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the Windows build was checked under Wine only.
- Other releases: multiplayer between players with different releases may not work (the game itself may not allow it).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.13
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.12
- Other releases of the game (issue #9). 0.1.12's lookup of the port's changes in other releases missed many of them on the European French/Spanish/Italian multiplayer, so multiplayer stopped with a message. The cause was in how the loader compared the game's code: in some code it mistook the end of one instruction and the start of the next for an address, and that hid the real address that followed. When the address moved in another release, the code no longer looked the same. The loader now reads the code instruction by instruction. On the Collector's Edition, every function of multiplayer is now found (3 were missed before). The European multiplayer has not been tested yet: if you have that disc, please try it and attach the log.
- If your game files are from another release, startup takes about a second longer (half a second before).
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or newer: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.13 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.13-linux.tar.gz) |
Windows (cod_bro-0.1.13-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the Windows build was checked under Wine only.
- Other releases: multiplayer between players with different releases may not work (the game itself may not allow it).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.12
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.11
- Other releases of the game (issue #9). The port's changes to the game were made for one release, and other releases have some of the same code and data at other places, so the European French/Spanish/Italian multiplayer crashed at startup. When the game files are from another release, the loader now looks up where each of those places is in it before the game starts. Checked on a Collector's Edition dump, whose multiplayer now starts with all of the port's changes in place. The European multiplayer has not been tested yet: if you have that disc, please try it and attach the log. If anything can't be found, multiplayer stops with a message and the log lists what is missing, instead of crashing.
- If your game files are from another release, startup takes about half a second longer.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or newer: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.12 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.12-linux.tar.gz) |
Windows (cod_bro-0.1.12-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the Windows build was checked under Wine only.
- Other releases: multiplayer between players with different releases may not work (the game itself may not allow it).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.11
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.10
- Faster drawing on slower PCs (issue #8). Views with a lot of the world in them (for example looking at land rather than the sea) were much slower than they needed to be, because the port converted every vertex of the world again on every frame. The world's geometry now stays ready on the graphics card and is only converted again when the game changes it. On a deliberately slowed PC, land views on Omaha Beach went from about 28 to about 44 fps. Checking textures for changes also costs much less now, and the game's vertices go to the graphics card with fewer driver calls.
- Measure performance now records where the time goes every time the frame rate drops (below 80% of the frame-rate setting, at most once a minute), not just once right after the level starts, and names the mission in the log. Reports about slow spots can now show the spots themselves.
- Fixes: on Linux, Measure performance recorded nothing after its first report.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or newer: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.11 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.11-linux.tar.gz) |
Windows (cod_bro-0.1.11-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the Windows build was checked under Wine only (with both DXVK and Wine's own Direct3D 9).
- Other releases of the game: the campaign runs as on 0.1.8; multiplayer is not supported yet (issue #9).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.10
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.9
- The campaign starts again on other releases of the game (issue #9). 0.1.9's new release check also refused the campaign of the European French/Spanish/Italian disc, which worked on 0.1.8. The check now looks at the game's code instead of its file header. A campaign from another release always starts; the log notes which parts of it differ from the supported release, which helps us add proper support for it.
- Multiplayer from another release still stops at startup with a message, because its code is at other addresses and it crashes. Supporting other releases is planned. If you have one, please attach your log to issue #9.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or newer: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.10 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.10-linux.tar.gz) |
Windows (cod_bro-0.1.10-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the Windows build was checked under Wine only.
- Other releases of the game: the campaign runs as on 0.1.8; multiplayer is not supported yet (issue #9).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.9
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.8
- Field of view setting (issue #5). Press **
** (the key below Esc) while playing to open the new in-game **PC settings** menu, which has a *Field of view* slider from 50 to 120 (the game's own is 70). The game keeps running behind the menu, so you see the change right away. The setting is saved for next time, and--fov` sets it from the command line. It also widens the view from tanks and mounted guns, which have a field of view of their own. Your weapon keeps its original look: at a wide field of view it is drawn as at 70, so the parts the game never meant to show stay hidden. A short message on the main menu points to the new key. Campaign only for now. - Ultrawide pictures (experimental) (issue #10). The aspect ratio setting now offers 21:9, 32:9 and your screen's own shape. The view gets wider at the sides, the HUD keeps its 16:9 size and place in the middle, and menus stay 4:3. Campaign only for now (multiplayer stays 16:9). Not everything has been checked yet (for example scopes and binoculars), so please report anything that looks wrong.
- Smoother frame rate on slower PCs (issue #8). The game no longer keeps a whole CPU core busy while it waits for the next screen refresh, which leaves that core to the graphics driver (on laptops it also leaves more power to the graphics chip). A frame that is slightly too late is now shown at once instead of waiting for the next refresh, so a PC that is a little too slow for 30 fps runs at 25-29 fps rather than dropping to 20.
--late-frames waitbrings back the original behaviour. - Measure performance now reports how busy each thread really is on Windows (0.1.8 showed every thread at 100%), and the frame rate while measuring.
- Other releases of the game (issue #9). The loader is made for one release of the game. A copy from another release (for example a French/Spanish/Italian disc) has its code at other addresses, which made multiplayer crash at startup. The game now says so when it starts, instead of crashing. Supporting other releases is planned.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7 or 0.1.8: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.9 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.9-linux.tar.gz) |
Windows (cod_bro-0.1.9-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the new frame pacing, the PC menu and Measure performance have not been tested on real Windows yet (the Windows build was checked under Wine).
- Ultrawide is experimental and campaign only; the field of view setting is campaign only.
- The PC menu opens with the keyboard (`) only.
- Only one release of the game is supported (see issue #9).
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).
Native loader test build 0.1.8
Test build of the native loader for the Xbox version of Call of Duty 2: Big Red One. You need your own copy of the game; these archives contain none of its code or data.
What's new since 0.1.7
- Fixed: missing surfaces with the Direct3D 9 that comes with Windows (issue #8). Some of the game's materials were translated into pixel shaders that read two constant registers in one instruction. Windows' Direct3D 9 refuses such shaders, so whatever they drew was missing. This is the pixel-shader side of the 0.1.7 fix. DXVK (Vulkan) does not check the rule, so PCs that use Vulkan were not affected. A test now checks every combination of shader inputs for it. If a shader still fails, the log now shows all of it instead of a cut-off line.
- Measure performance (launcher, Help tab). For reports about a low frame rate: tick it before pressing Play, then play to where it gets slow. The first time the game runs under 24 fps, it measures for 10 seconds and writes to
log.txtwhere each thread spent its time. This now works on Windows too, not only Linux. The checkbox isn't saved, so it only applies to the game you start next. Developers can use--profile auto. - Launcher tabs. The options are now on five tabs (General, Graphics, Controls, Multiplayer, Help) instead of one long list. Play, Multiplayer and Quit stay at the bottom. Your settings carry over unchanged.
Install
- Download the archive for your system and unpack it anywhere (settings and saves are kept in the user data folder).
- Copy your game dump into its
assets/folder (default.xbe,codmp_xboxf.xbeandmedia/directly inside). - Start
cod_bro_launcher.
Coming from 0.1.7: use Update now in the launcher. From 0.1.6 or older: unpack 0.1.8 over your old folder, or into a new one and move your assets/ folder across.
Linux (cod_bro-0.1.8-linux.tar.gz) |
Windows (cod_bro-0.1.8-windows.zip) |
|
|---|---|---|
| System | x86, glibc 2.30 or newer | 64-bit Windows 10 or 11 |
| Graphics | Vulkan 1.3 with 32-bit drivers (DXVK included) | Vulkan 1.3 through the included DXVK, or else the Direct3D 9 that comes with Windows |
Checksums: SHA256SUMS.txt.
Known limitations
- Test build: the pixel shader fix and Measure performance have not been tested on real Windows yet (the Windows build was checked under Wine).
- At the 30 fps setting, a frame that takes longer than 33 ms waits for the next screen refresh, so slow scenes drop to 20 fps rather than 25-29. The original game paces frames the same way.
- Xbox Live is not available (System Link only); multiplayer not yet tested between two PCs or on real Windows.
- The in-game brightness setting has no effect (use the launcher's slider).