Skip to content

Releases: STiXzoOR/cod2-silicon

CoD2 Silicon 0.2.0

Choose a tag to compare

@STiXzoOR STiXzoOR released this 05 Oct 15:20

Apple silicon, macOS 13 or later. Ad-hoc signed and not notarized: see the README for game data and first-launch (Gatekeeper) instructions.

Highlights: a native launcher with server browser, a Mac-hosted dedicated server, and a large round of 64-bit gameplay fixes. Start New Server no longer crashes, and grenades, smoke, effects, mounted turrets and the Controls menu all work.

Added

  • Native SwiftUI launcher with Liquid Glass styling on macOS 26+ (material
    fallback on macOS 13–25): server browser, library, settings, first-run
    setup and cod2x:// links. The game helper gets keyboard and mouse focus
    on launch.
  • Layered Icon Composer app icon with light, dark, clear and tinted variants.
  • Native arm64 dedicated server (cod2_macos_ded) for hosting on Mac
    hardware, with a launchd service, example config and operator guide in
    docs/server.md.

Changed

  • Fullscreen now defaults to desktop (borderless) fullscreen at the chosen
    render resolution. Exclusive fullscreen remains selectable.
  • com_maxfps defaults to 250 and accepts 0 (no cap) through 1000.

Fixed

  • Opening Start New Server crashed the game. The UI read the game-type,
    map, mod and movie lists through 32-bit offsets on the 64-bit build.

  • Smoke, explosions, muzzle flashes and other effects never advanced: the
    effects clock misread fx_freeze on the 64-bit build.

  • Join Server: localized placeholders such as "Source: &&1Internet", the
    empty Game Type, the empty server list and the cyan column tint.

  • Menu items flickered on hover; the pulse now follows the original timing.

  • Portal visibility overran its pool and clipped projections incorrectly,
    a likely cause of the world briefly disappearing while looking around
    (that symptom has not been reproduced in automated sweeps).

  • Black screens after Cmd-Tab, Mission Control or a hot corner: desktop
    fullscreen avoids display mode switches, and exclusive fullscreen now
    steps aside while the game is hidden. Exclusive fullscreen can still fail
    to restore after display sleep.

  • A second (system) cursor in fullscreen menus.

  • Players could not use stock mounted turrets. The use check read the
    wrong field, and the server marked every living player active each frame,
    which skipped the turret query.

  • Temporary collision models dropped their content mask and broadphase
    links used the wrong entity numbering, so they were unlinked from the
    world.

  • Thrown grenades fell through the world: movement checked the wrong
    bounce flag, so frags exploded far below the map and smoke never formed
    a cloud.

  • Effect colour curves and scales were not parsed, so smoke and explosion
    particles drew tiny and black.

  • The world turned black for several seconds after a nearby explosion: the
    OpenGL backbuffer copy behind the screen-feedback effect never copied.

  • Ordinary projectile impacts were skipped, and splash damage swapped its
    inner damage with its radius.

  • The Controls pages showed no key names next to their actions.

  • After a game started from a server link or --play with engine options,
    the launcher came back without a window.

  • A source-wide audit fixed more fields that the 64-bit build read at
    their 32-bit positions:

    • key binding records (the Controls menu);
    • 13 sound-setting reads (enable, pause and volume);
    • swapped network-channel sequence and dropped-packet fields;
    • player, corpse, obituary, scoreboard, pickup-sound and turret-event
      records;
    • renderer world, sun, sky and occluder objects;
    • collision-map allocation sizes.

    A gate now rejects new raw offsets, and a test opens every menu and runs
    every safe menu script.

  • Five network-parser memory-safety bugs found by fuzzing, including an
    out-of-bounds decompression read and an Info_SetValueForKey overflow
    reachable through getinfo.

Known limitations

  • OpenGL remains the renderer. The native Metal renderer is in progress for
    0.3, and so is presentation through Metal for smoother frame pacing.
  • Exclusive fullscreen can fail to restore after the display sleeps. The
    default desktop fullscreen is not affected.
  • The byte-for-byte comparison of the original 32-bit Linux build needs an
    x86_64 Linux host and runs in CI only.

CoD2 Silicon 0.1.0

Choose a tag to compare

@STiXzoOR STiXzoOR released this 04 Oct 13:13

Call of Duty 2 multiplayer, native on Apple silicon. CoD2x 1.4 compatible.

First public release. Bring your own licensed copy of Call of Duty 2; no game content is included.

Install

  1. Download CoD2-Silicon-0.1.0-macos-arm64.zip and SHA256SUMS, then verify: shasum -a 256 -c SHA256SUMS
  2. Unzip and move CoD2 Silicon.app to /Applications.
  3. The app is ad-hoc signed and not notarized. On macOS 15 and later, open it once, then go to System Settings → Privacy & Security → Open Anyway. Or, after verifying the checksum: xattr -dr com.apple.quarantine "/Applications/CoD2 Silicon.app"

Prefer to build it yourself? git clone https://github.com/STiXzoOR/cod2-silicon && cd cod2-silicon && ./scripts/install.sh (needs Xcode Command Line Tools and CMake; no game binary needed to build, and a locally built app is not quarantined).

On first launch the app finds your game folder (or asks), asks for your CD key if none is stored, and extracts the original Mac shaders from your own Steam Mac copy when available. See getting your game data.

What works

  • Native arm64 client for macOS 13+, self-contained (bundled SDL3 3.4.10 + sdl2-compat 2.32.72).
  • Online play on stock 1.3 and CoD2x 1.4 servers, CD-key authentication, HTTP mod downloads, cod2x:// links.
  • CoD2x client parity: 41 implemented, 12 native equivalents, 2 partial, 13 excluded/server-owned (auto-updater excluded).
  • Rendering with the original Mac shaders matches Windows within ~2/255 mean error on matched views; fullscreen up to 6K.

Known limitations

  • Frame pacing at high frame caps is still being improved: most slow frames wait in the OpenGL swap (#1). Game Mode activation is unverified (#2).
  • No voice capture, no intro cinematics, no standalone dedicated-server binary (use +set dedicated 1).
  • Inherits an unhardened 2005-era engine: use trusted servers and content (SECURITY.md).

This build was packaged on Apple silicon from the exact v0.1.0 tag (macOS 13.0 deployment target); later tags are built by the release workflow. Full notes: CHANGELOG · Credits: CREDITS.md · License scope: NOTICE.md

“Call of Duty” is a trademark of Activision. CoD2 Silicon is not affiliated with Activision, Infinity Ward, Aspyr or the CoD2x project.