Skip to content

Releases: Laeresh/CSVM

CSVM v0.3.0

Choose a tag to compare

@Laeresh Laeresh released this 03 Oct 22:42

CSVM v0.3.0

CSVM is a fan-made remake engine for Crimson Skies (2000, Zipper Interactive / Microsoft). It
plays the original game from your own retail install, and neither download contains any game data.

What you can play

  • The campaign, with its cabin, briefing and flight-check screens and its cutscene films.
  • Instant Action's four mission types, and free flight.
  • Splitscreen Campaign Co-op and Dogfight for 2 to 4 players on one machine.
  • Multiplayer over a LAN or the internet: Deathmatch, team Deathmatch, Capture the Flag,
    Zeppelin vs. Zeppelin, and the campaign in co-op.
  • 11 aircraft and 8 chapter worlds in the original's liveries, with the original's weather,
    world animation, music and sound.
  • Gamepads, flight sticks, keyboard and mouse, with both control screens for binding them.

New in v0.3.0

Multiplayer

Multiplayer now finds games through a master server, so players can see open games and join over
the internet without setting up their routers.

  • Join by code: players connect through WebRTC by entering a short join code, so the host needs
    no open router port.
  • Public and private games: a private game stays off the master server's games list but can
    still be joined by code or found by a LAN search.
  • Copying the code: the host copies the join code by clicking, tapping or pressing a pad
    button, and the Connection page has its own "Join by code" option.
  • Capture the Flag and Zeppelin vs. Zeppelin start from the lobby and are scored by team.
  • Teams: named lobby teams play a team Deathmatch, and teammates' markers show as friendly.
  • Custom planes over the network are allowed by Allow Custom Planes and Outlaw Components, and
    the lobby's Select... opens the outlaw list.
  • Co-op seats: each co-op player picks their own plane from the host's hangar, and a guest
    machine with several pads flies one seat per player.
  • In-flight chat goes to everyone or to your lobby team.
  • Rearm bases restore health, armour and the full loadout each time you fly into your base.
  • Host controls: the host can remove a guest and set an optional password.
  • Callsigns: your callsign appears in kill lines, on co-op seats and on the HUD marker other
    players see.
  • Pilot voices: each player's in-flight lines use the pilot voice they chose.
  • Mode briefings: the Dogfight load and pause screens show the original's briefing for the
    mode being flown.

Graphics

  • Live graphics switch: G in flight, or an Options change, switches between Original and
    Enhanced without a restart.
  • Anti-aliasing offers Off, FXAA, SMAA, TAA or FSR 2.2.
  • Render Scale runs from 50% to 200%, and FSR upscales anything below 100%.
  • Shadow Quality runs from Off to Ultra. On an integrated GPU such as the Steam Deck's, the
    default is High, and Off in three- and four-pane splitscreen.
  • View Distance runs from Normal to Maximum under Enhanced, with Far as the default.
  • Lit explosions: under Enhanced, fireballs and burning debris light their surroundings, smoke
    is shaded by the sun, and rockets and bombs leave scorch marks.
  • Lit clouds: under Enhanced, the clouds are shaded by the sun and their puffs are fully
    rendered.
  • Performance: CM24 under Enhanced runs at about 70 fps on the Steam Deck at 67% Render Scale.

Controls and Steam Deck

  • On-screen keyboard: on the Steam Deck, selecting a text field opens Steam's keyboard.
  • Smooth look mode: a released right stick leaves the view where you pointed it.

Audio

  • Cockpit engine pitch: in the Cockpit view, the engine sound follows the throttle, and the
    original's constant sound is an option.

Menus

  • Folder shortcuts: two icons beside the version number open the logs folder and your user
    data folder.

Fixed in v0.3.0

Multiplayer

  • A network flight starts on every machine at the same moment.
  • A co-op guest plays the campaign films in step with the host.
  • A co-op guest sees the host's wingmen in the planes the host picked.
  • A co-op guest hears the host's AI radio call-outs.
  • CM09 co-op no longer leaves a frozen plane in the sky.
  • Deathmatch posts the original's kill messages once on every machine and names the host by their
    player name.
  • A menu Deathmatch flies the chapter's MP1 map with its rearm bases.
  • Above the Clouds flies on C1C, as in the original.
  • Every multiplayer mode uses the original's point values.
  • A Dogfight pause lays out its buttons like the Instant Action pause.
  • The AI uses the same pilot voice on every machine.
  • Another player's plane shows its torn panels and fire as its armour goes down, not only when it
    crashes.

Graphics

  • Under Enhanced, the banding across open water and the noise in the aircraft's self-shadow are
    gone.
  • Under Enhanced, the plane's shadow stays visible at longer distances.
  • Under both graphics modes, the moon, stars and glow sprites no longer show square outlines.
  • Original graphics keeps four bits of alpha on alpha textures, as the original game does.
  • Each splitscreen pane shows the fog of its own camera's zone.
  • In splitscreen Cockpit view, you can see the other pilots' bodies in their aircraft.
  • On the Steam Deck, four-pane splitscreen no longer crashes under Enhanced.
  • CM20 under Enhanced no longer shows a flipped black roof above the clouds.
  • A hidden island's palm trees no longer stand in the water.
  • Tree cards blend correctly with the ground behind them.
  • A fired flare's star fades in and out and flashes only once.
  • Wing-light flares face the camera from every angle.
  • A shot hitting an aircraft no longer draws an extra flash.
  • The exhaust plume matches the original's darkness and width.
  • The cabin memento fits its tilted frame.

Controls

  • The chase camera sits where the original's does and trails the aircraft's turns at the
    original's rates.
  • The look stick no longer makes the camera jump as it passes its centre.
  • On Linux, a flight stick or throttle that the system also lists as a gamepad is read as a stick
    instead of a gamepad.
  • A flight stick lever bound on two stick models reads the one that is connected.
  • A throttle resting near full travel registers full when pushed all the way.
  • Two unnamed sticks on one binding row keep their model names.
  • On Linux, the log says why SDL2 failed to load.
  • On the controls screen, a new binding on Control A or Control B replaces that slot and leaves the
    other column alone.
  • The Views 2 page lists the original's nine look rows, one numpad key each.
  • The pause menu's pad and arrow-key cursor moves between buttons by their position on screen.

Audio

  • The Nose view uses the cockpit engine sound, as the original does.
  • The engine sound starts at full volume on spawn and respawn.
  • Radio lines lower the volume of every engine while they play.
  • The autogyro plays its own rotor sound.
  • The menu music pauses during a film and resumes afterwards.
  • Capturing the Balmoral during a burst of fire no longer leaves its gun sounds playing.
  • A downed pursuer no longer sets off the "Bandit at six" call-out.

Campaign and missions

  • In CM21, the Cabbie flies low between the buildings, no longer restarts his engine in the air,
    and leaves at his destination.
  • In CM10, an attack balloon's target marker no longer appears on the water before the balloon
    does.
  • In CM15, the gun assist aims at the crane's yellow striped arm.
  • In CM19, the captured Warhawk keeps its own paint.
  • A campaign wingman flies the weapons picked for it in the hangar.
  • Special wingmen use the correct AI.
  • An AI aircraft that becomes active keeps its patrol route.
  • A lost campaign aircraft no longer offers a respawn.
  • After a respawn, the pilot is back in his seat.
  • The cabin ammo page shows one list at a time and skips empty slots.
  • The loading screen no longer shows a still propeller behind the spinning one.
  • Destroying a zeppelin's gas bag or engine no longer freezes the game for a moment.

General

  • The flight view no longer shows the speed, altitude, throttle and damage text in its upper left
    corner, which the original does not have. The dials carry the same readings.
  • F12 screenshots are saved in Screenshots/ beside the executable.
  • The free-flight pause menu responds to the mouse.

This is still an early build. Neither download is code-signed, so Windows SmartScreen warns you the
first time you run the Windows build; the README.md inside each download says how to check the
file against the SHA-256 below instead.

What you need

Windows:

  • Windows 10 or 11, 64-bit.
  • A graphics card with a working Vulkan or Direct3D 12 driver. Below that line the program starts
    and vanishes a few seconds later, at the intro film, with no message; the README.md in the zip
    says how to recognise that case from the log.
  • A retail Crimson Skies install on the same machine. It is only read, never modified.

Linux and Steam Deck:

  • x86_64 Linux with a working Vulkan driver (current Mesa for AMD and Intel, or NVIDIA's own
    driver). SteamOS on the Deck has what it needs.
  • A copy of the folder a Windows install of Crimson Skies creates, the one holding ZBD and
    GOSDATA side by side. The case of the file names does not matter.
  • For a flight stick only, the system's SDL2 library (libSDL2-2.0.so.0). SteamOS and most desktop
    distributions have it already.

Both: about 1 GB of free disk space for the extracted data. Nothing else has to be installed;
the .NET runtime the engine needs and the WebRTC library internet play uses are inside the
download.

Setup

  1. Unzip or unpack the download into a folder of its own. The Linux tarball's files sit at its
    root, so make the folder first (README-linux.md has the commands).
  2. Start CSVM.exe (Windows) or CSVM.x86_64 (Linux). With no game data yet it opens a screen
    that offers to extract it, with your...
Read more

CSVM v0.2.0

Choose a tag to compare

@Laeresh Laeresh released this 27 Sep 16:17

CSVM v0.2.0

CSVM is a fan-made remake engine for Crimson Skies (2000, Zipper Interactive / Microsoft). It
plays the original game from your own retail install, and neither download contains any game data.

What you can play

  • The campaign, with its cabin, briefing and flight-check screens and its cutscene films.
  • Instant Action's four mission types, and free flight.
  • Splitscreen Campaign Co-op and Dogfight for 2 to 4 players on one machine.
  • 11 aircraft and 8 chapter worlds in the original's liveries, with the original's weather,
    world animation, music and sound.
  • Gamepads, keyboard and mouse, with both control screens for binding them.

New in v0.2.0

  • Multiplayer over a network. Dogfight Deathmatch and the campaign in co-op, hosted from the
    menu and joined by a LAN search or by address, over a LAN or the internet.
  • Flight sticks. Sticks, throttles and HOTAS setups work beside gamepads, keyboard and mouse,
    and can be bound on either controls screen.
  • A Linux build, which runs natively on the Steam Deck. There are now two downloads: the
    Windows zip and the Linux tarball.
  • Extraction inside the game. The Extract.cmd script from v0.1.0 is gone: with no game data,
    CSVM.exe (or CSVM.x86_64 on Linux) opens a screen that finds your install and extracts from
    it.

This is still an early build. Neither download is code-signed, so Windows SmartScreen warns you the
first time you run the Windows build; the README.md inside each download says how to check the
file against the SHA-256 below instead.

What you need

Windows:

  • Windows 10 or 11, 64-bit.
  • A graphics card with a working Vulkan or Direct3D 12 driver. Below that line the program starts
    and vanishes a few seconds later, at the intro film, with no message; the README.md in the zip
    says how to recognise that case from the log.
  • A retail Crimson Skies install on the same machine. It is only read, never modified.

Linux and Steam Deck:

  • x86_64 Linux with a working Vulkan driver (current Mesa for AMD and Intel, or NVIDIA's own
    driver). SteamOS on the Deck has what it needs.
  • A copy of the folder a Windows install of Crimson Skies creates, the one holding ZBD and
    GOSDATA side by side. The case of the file names does not matter.
  • For a flight stick only, the system's SDL2 library (libSDL2-2.0.so.0). SteamOS and most desktop
    distributions have it already.

Both: about 1 GB of free disk space for the extracted data. Nothing else has to be installed;
the .NET runtime the engine needs is inside the download.

Setup

  1. Unzip or unpack the download into a folder of its own. The Linux tarball's files sit at its
    root, so make the folder first (README-linux.md has the commands).
  2. Start CSVM.exe (Windows) or CSVM.x86_64 (Linux). With no game data yet it opens a screen
    that offers to extract it, with your install folder filled in when it can find one. Confirm, and
    the menu opens when the extraction is done, after about half a minute.
  3. Pick a mode, chapter and plane in the menu.

On the Steam Deck, add CSVM.x86_64 to Steam as a non-Steam game, leave the compatibility tool off,
and run the first extraction in Desktop mode. After that it starts from Game mode like any other
game. README-linux.md has the steps.

Coming from v0.1.0: unpack v0.2.0 into a new folder and extract once more there. Your saved
games, settings and custom planes live outside the game folder and carry over.

Multiplayer

  • Modes: Deathmatch from the Multiplayer Lobby, and the campaign in co-op for up to four
    players, where guests follow the host through the cabin, briefing, hangar and debrief.
  • Joining: a guest finds games on the same network through the LAN search, or joins by the
    host's address, IPv4 or IPv6.
  • Hosting over the internet: a host listens on UDP port 47500. CSVM asks the router to open it
    (UPnP for IPv4, an IGD v2 pinhole for IPv6). If the router does not allow that, forward UDP 47500
    to the host by hand. The first time you host on Windows, the firewall asks whether to allow CSVM
    on your network; allow it.
  • Every player needs the same version, 0.2.x. A mismatched build is told so when it tries to join.

Known issues

Nothing here stops a mission from ending or loses progress. Only the larger ones are listed
here.

  • Multiplayer: Capture the Flag, Zeppelin vs. Zeppelin and custom planes are not available over
    the network yet. There is no relay service, so hosting over the internet needs UDP port 47500 to
    be reachable. A co-op guest misses a few things the host sees, such as the campaign movies and
    the AI's radio call-outs.
  • Steam Deck: Enhanced Graphics and splitscreen run well below 60 frames per second. The
    default graphics hold 60 in single player; leave Enhanced Graphics off on the Deck.
  • Linux: flight sticks and finding an install inside a Wine or Proton prefix are untested.
    Reports either way are welcome.
  • Mercy's Errand (the fifth Northwest mission): the attack balloons dive to the sea and climb
    back out. Wait for the climb, which needs no input.
  • Radio chatter during a fight is much rarer than in the original.
  • Graphics: some details still differ from the original, among them the ground shadow on steep
    slopes and some building faces in New York. With Enhanced Graphics on, faint bands can cross
    open water.

Reporting a problem

Bugs go in an issue through the bug report form at
https://github.com/Laeresh/CSVM/issues/new?template=bug_report.yml. It asks for your system
(Windows, Linux or Steam Deck), the build version and the newest file in the logs folder beside
the executable, which between them usually identify a fault without a round trip. Security
problems go through the repository's SECURITY.md rather than an issue.

AI assistance disclosure

This project is developed with the help of AI coding agents. Parsers, engine code and
documentation are AI-assisted and human-reviewed; commit trailers in the repository name the
specific agent and model that did each piece of work.

Verifying these downloads

There are two downloads: CSVM-v0.2.0-win64.zip (76.3 MB) for Windows, and CSVM-v0.2.0-linux-x64.tar.gz (65.9 MB)
for Linux, a community-tested build with the Steam Deck as its reference machine (its README.md
has an On Steam Deck section). Nothing in
either is code-signed, so these hashes are what say an archive is the one this project published
rather than something rebuilt or altered on the way:

Get-FileHash CSVM-v0.2.0-win64.zip -Algorithm SHA256
sha256sum CSVM-v0.2.0-linux-x64.tar.gz
  • CSVM-v0.2.0-win64.zip SHA-256: c9286977246364f445285711d4b09624823a599762400209aabc7f52eee9aafa
  • CSVM-v0.2.0-linux-x64.tar.gz SHA-256: 075b5fa60a0c1d03b19e06cb369a648fb55a592b2b38ade76fe8f656d4fd1055

Built from

Every binary in both archives is built from public source, and each archive repeats these two
commits in its own BUILD-INFO.txt.

  • CSVM.exe and CSVM.x86_64 (version 0.2.0): 78ddc9e14f
  • tools\unzbd.exe and tools/unzbd: mech3ax fork, branch cs-anim, afc9a7f092

CSVM v0.1.0

Choose a tag to compare

@Laeresh Laeresh released this 20 Sep 09:11

CSVM v0.1.0

The first public build of CSVM, a fan-made remake engine for Crimson Skies (2000, Zipper
Interactive / Microsoft). It plays the original game from your own retail install: the campaign
with its cabin, briefing and flight-check screens and its cutscene films, Instant Action's four
mission types, 2 to 4-player splitscreen Dogfight, free flight, 11 aircraft and 8 chapter worlds in
the original's liveries, with the original's weather, world animation, music and sound. The zip
contains no game data of any kind. You extract your own once, with the script inside it.

This is an early build. It is not code-signed, so Windows SmartScreen will warn you the first time
you run it; the README.md in the zip says what that warning looks like and how to check the
download against the SHA-256 below instead.

What you need

  • Windows 10 or 11, 64-bit.
  • A graphics card with a working Vulkan or Direct3D 12 driver. Below that line the program starts
    and vanishes a few seconds later, at the intro film, with no message; the README.md in the zip
    says how to recognise that case from the log.
  • A retail Crimson Skies install on the same machine. It is only read, never modified.
  • About 1 GB of free disk space for the data you extract. Nothing else has to be installed: the
    .NET runtime the engine needs is inside the download.

Setup

  1. Unzip the download wherever you like.
  2. Double-click Extract.cmd and point it at your Crimson Skies install, the folder holding the
    ZBD and GOSDATA subfolders. This runs once and takes about half a minute.
  3. Double-click CSVM.exe and pick a mode, chapter and plane in the menu.

The README.md beside CSVM.exe is the long form: the SmartScreen prompts, where your logs and
saved games live, and what to read when something goes wrong.

Known issues

Nothing here stops a mission from ending or loses progress. Each entry says what you will see and,
where there is one, what to do about it.

Campaign missions

  • In Mercy's Errand (the fifth Northwest mission) the attack balloons dive from their entrance
    altitude down to the sea and climb back out, and the objective marker follows them down. Wait
    for the climb, which needs no input.
  • In The Bomber Heist (the second Hawaii mission) your own Pandora fires its turrets at the
    Balmoral the mission wants captured. This is what the original does too and is kept on purpose.
    Close on the last Balmoral and finish the wing-walk promptly rather than circling.
  • In The Lost Treasure (the first Hawaii mission) the palm trees of an island the mission removes
    stay standing on open water. Cosmetic; nothing about the mission changes.

Combat and the radio

  • Enemy and wingman radio chatter during a fight is much rarer than the original's. No workaround.
  • A FLARE loaded on a rack shows its blue star burst before it is fired. Cosmetic.

What the world looks like

  • An aircraft's ground shadow lies on a flat quad: it is placed, sized, faded and shaped the way
    the original draws its own, but on a steep slope it rides over the ground rather than wrapping
    it, and water takes no shadow. Enhanced Graphics in Game Options (restart after changing it)
    draws real shadow maps instead, which are not the shadow the original drew.
  • With Enhanced Graphics on, faint diagonal bands cross open water and an aircraft's shadow on
    itself carries noise. Switch Enhanced Graphics off if it bothers you.
  • In the Northwest chapter a bright band along the edge of a ground polygon shows through the soft
    edges of the trees standing in front of it. No workaround.
  • In the New York chapter some lit building faces read darker than the original and some plain
    surfaces brighter. No workaround; nothing is missing from the world.
  • The wing position lights are drawn flat, so they do not turn to face you and thin out or vanish
    from some angles.

Reporting a problem

Bugs go in an issue through the bug report form at
https://github.com/Laeresh/CSVM/issues/new?template=bug_report.yml. It asks for the build
version and the newest file in the logs\ folder beside CSVM.exe, which between them usually
identify a fault without a round trip. Security problems go through the repository's
SECURITY.md rather than an issue.

AI assistance disclosure

This project is developed with the help of AI coding agents. Parsers, engine code and
documentation are AI-assisted and human-reviewed; commit trailers in the repository name the
specific agent and model that did each piece of work.

Verifying this download

The download is CSVM-v0.1.0-win64.zip (75.3 MB). Nothing in it is code-signed, so this hash is what says the zip is
the one this project published rather than something rebuilt or altered on the way:

Get-FileHash CSVM-v0.1.0-win64.zip -Algorithm SHA256

SHA-256: 49836b5adc7f0f88764c2cd9822aca25e297ed2310b22a1272b45ab35d8ddf3b

Built from

Every binary in the zip is built from public source, and the archive repeats these two commits
in its own BUILD-INFO.txt.