Repository navigation
Releases: Laeresh/CSVM
Release list
CSVM v0.3.0
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; theREADME.mdin 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
ZBDand
GOSDATAside 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
- 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.mdhas the commands). - Start
CSVM.exe(Windows) orCSVM.x86_64(Linux). With no game data yet it opens a screen
that offers to extract it, with your...
CSVM v0.2.0
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.cmdscript from v0.1.0 is gone: with no game data,
CSVM.exe(orCSVM.x86_64on 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; theREADME.mdin 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
ZBDand
GOSDATAside 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
- 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.mdhas the commands). - Start
CSVM.exe(Windows) orCSVM.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. - 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.zipSHA-256:c9286977246364f445285711d4b09624823a599762400209aabc7f52eee9aafaCSVM-v0.2.0-linux-x64.tar.gzSHA-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.exeandCSVM.x86_64(version 0.2.0):78ddc9e14ftools\unzbd.exeandtools/unzbd: mech3ax fork, branchcs-anim,afc9a7f092
CSVM v0.1.0
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; theREADME.mdin 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
- Unzip the download wherever you like.
- Double-click
Extract.cmdand point it at your Crimson Skies install, the folder holding the
ZBDandGOSDATAsubfolders. This runs once and takes about half a minute. - Double-click
CSVM.exeand 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.
CSVM.exe(version 0.1.0):259cf41d18tools\unzbd.exe: mech3ax fork, branchcs-anim,afc9a7f092