Downloads

IMPORTANT

OpenXcom requires a vanilla version of the original UFO: Enemy Unknown / X-COM: UFO Defense (any edition) with the latest patch. It is not compatible with other games in the X-COM series. If you don’t own a copy, you can buy it from one of these retailers.

Do not use modded versions of X-COM, as they may be incompatible with OpenXcom.

Check the Installation documentation for more details.

MilestonesNightliesExtras

 

These builds are automatically generated from the codebase, so they have the latest fixes and updates as well as the latest bugs. Use these to try the latest features or check if a bug is obsolete. Do not install these on top of 1.0!

Windows Mac OS X Linux

Windows
Maintained by SupSuper

The EXE version has an installer while the ZIP version is standalone. For more details see the FAQ. Latest version is at the top and includes all previous versions:

openxcom_git_master_2020_11_25_1755.zip
openxcom_git_master_2020_11_25_1755.exe

Ulrich Spörlein, Tue Nov 10 18:38:36 2020
Install the man page automatically.

CMake however does not compress the manpage, as would usually be the
case. Package maintainers will have to take care of that themselves.

Ulrich Spörlein, Tue Nov 10 18:10:16 2020
Rewrite manpage using mdoc macros, add -master flag and a bit of
history.

This uses semantic markup instead of the nonsense that xmlto produces.
It passes `mandoc -Tlint`, except for the "legacy" date format.

If I would've had googled before, I might've found
https://openxcom.org/forum/index.php?topic=396.0 which has a perfectly
fine mdoc manpage already (though with a bit less detail).

This will give all *nix systems access to a manpage w/o the need to
install xmlto (and potentially all of LaTeX etc).

Ulrich Spörlein, Tue Nov 10 17:18:58 2020
Dump the xmlto'ed version of the manpage in here.

The result is quite ... underwhelming.

Ulrich Spörlein, Tue Nov 10 16:40:44 2020
Rename the manpage file, before editing it.

The edit would break git's rename detection, so I'm doing this in 2
steps to have `git log` be able to follow the trail of this file around.

Ulrich Spörlein, Tue Nov 10 16:23:58 2020
Switch instructions to do an out-of-tree build, as is generally
recommended these days.

Ulrich Spörlein, Tue Nov 10 16:02:33 2020
Update list of build systems

This was dropped when the README merger was dropped from pull request #1280

openxcom_git_master_2020_11_18_0956.zip
openxcom_git_master_2020_11_18_0956.exe

Meridian, Sat Nov 14 11:34:51 2020
Fix sprite size

openxcom_git_master_2020_11_13_0228.zip
openxcom_git_master_2020_11_13_0228.exe

Yankes, Tue Nov 10 22:45:15 2020
Fix missed case

openxcom_git_master_2020_11_12_0229.zip
openxcom_git_master_2020_11_12_0229.exe

SupSuper, Thu Nov 12 02:29:08 2020
Add Doxygen setting

SupSuper, Thu Nov 12 02:28:44 2020
Fix sound format options missing fallback

openxcom_git_master_2020_11_10_0539.zip
openxcom_git_master_2020_11_10_0539.exe

SupSuper, Tue Nov 10 05:26:21 2020
Unused parameter

SupSuper, Tue Nov 10 05:20:34 2020
Unused functions

openxcom_git_master_2020_11_10_0246.zip
openxcom_git_master_2020_11_10_0246.exe

Ulrich Spörlein, Fri Nov 6 10:39:44 2020
Add the windows Travis build

- also add notes cross-referencing both CI systems
- skip the warning summary of the windows compiler
- the MSBuild is a multi-build system that knows about Release vs.
Debug, so we need to explicitly ask for the Release build when
_building_, not just when _cmaking_ the build files.

Ulrich Spörlein, Fri Nov 6 10:35:14 2020
Skip the MacOS/gcc combo on Travis CI as we do for Github Actions

gcc is a wrapper for clang on MacOS and going the extra mile to install
a proper gcc is not worth it, as the linux build checks both.

While here, remove the obsolete ccache workaround, now that we've bumped
the base build image (and ccache package version)

Ulrich Spörlein, Sat Oct 24 22:20:31 2020
Inline the brewfile and cmake script and apt install yaml-cpp instead of
building our own copy on Linux (like MacOS does). This requires using a
newer base system (Ubuntu's Focal Fossa).

Use the ENABLE_WARNING flag from our CMakeLists file instead of yet
another place where compiler warnings are being set.

The brewfile change basically reverts
39c0929ea17b3242365ea56ca98225c71eb5bc94 which was obsoleted with
3747bafd0a1c050702ff9a5b235153f26b45bcfd and
c13d540678301a9ee43a5ae70d6b7dcf57c9aec3 as we now have to brew update
anyway, and no longer need custom flags.

While here, turn on the arm64 builds, just because we can.

Ulrich Spörlein, Sat Oct 24 11:19:49 2020
Remove no longer needed warning flag suppressions

Also switch the compiler flags to use add_compile_options() instead of
abusing add_definitions()

And provide a note for how to use clang+libc++ on GNU/Linux systems, as
it's not immediately obvious.

Ulrich Spörlein, Sat Oct 24 11:09:08 2020
Compile without the GNU C++ 11 extensions (we don't need them)

This makes more sense for being cross-platform (*nix, MacOS, Win)

Ulrich Spörlein, Sat Oct 24 11:07:14 2020
Remove overriding of redundant flags that CMake already sets

We should just have 1 place to define warning flags or the C++ standard
being used.

Ulrich Spörlein, Sat Oct 24 21:08:20 2020
Delete pre-compiled header support

It's not being used by the CI workflow, so it seems to break often
(judging by the commit history of the Makefile).

ccache should alleviate build speed problems mostly, and C++20 modules
are the more proper fix long term.

Ulrich Spörlein, Mon Oct 12 12:55:57 2020
Remove autoconf support in favor of CMake

CMake is cross-platform and ubiquitous these days.

Debian, OpenSUSE and Gentoo use it, as do the CI scripts.

openxcom_git_master_2020_11_05_2205.zip
openxcom_git_master_2020_11_05_2205.exe

Ulrich Spörlein, Sun Oct 25 14:11:53 2020
Stop the charade

The windows build is using MSVC and under macOS the `gcc` binary is a
symlink to clang, so effectively we were compiling it with the same
compiler twice.
The TravisCI build suffers from the same problem, btw.

We're also not using the matrix expansions, as we list all of our
potential builds under include explicitly. So just use that going
forward. To not duplicate the list of required packages, the apt
packages have been moved into a single list during install phase.

Switch to only uploading the bin/ directory, now that debugging build
breakages has finished. Do something special for macOS.

Ulrich Spörlein, Sun Oct 25 14:08:13 2020
Stop using in-tree builds and use the ENABLE_WARNING setting instead of
rolling our own custom flags.

Ulrich Spörlein, Sun Oct 25 13:23:11 2020
Move CI to ubuntu 20.04 and use the yaml-cpp package

Also upload artifacts (everything for now, to analyze the build) and
run a verbose build.

Oh, ignore the macOS homebrew update failures that seem to plague the
Github CI instances. We don't need super up-to-date packages anyway.

Malibu-Stacey, Mon Oct 26 21:52:10 2020
silence OpenGL deprecation warnings on MacOS 10.14+

openxcom_git_master_2020_11_05_0347.zip
openxcom_git_master_2020_11_05_0347.exe

Yankes, Sun Oct 25 02:51:00 2020
Final fix to 25y bug with throw

openxcom_git_master_2020_10_14_1316.zip
openxcom_git_master_2020_10_14_1316.exe

SupSuper, Wed Oct 14 13:15:26 2020
Make shuffle deterministic

openxcom_git_master_2020_10_10_0606.zip
openxcom_git_master_2020_10_10_0606.exe

SupSuper, Sat Oct 10 06:06:08 2020
Add missing Croatian characters

openxcom_git_master_2020_10_10_0531.zip
openxcom_git_master_2020_10_10_0531.exe

Meridian, Wed Oct 7 09:52:34 2020
Prevent AI frozen in place

I received a report of AI freeze, which looks like this:
1. AI runs setupEscape() and decides it should escape to the same tile
as it currently occupies (for whatever reason); _escapeTUs is set to 1
2. AI evaluation sets _AIMode to 3 (=escape)
3. at the end of the think() cycle, _escapeTUs is not reset
(because there is no need to move)

Starting from this point setupEscape() is not executed anymore,
because _escapeTUs != 0. And as long as the enemy sees (or knows about)
xcom, it will not re-evaluate. Thus every turn it will just stay where
it is without doing anything (only thing it can do are reaction shots).

The freeze breaks only after turn 20 (or other forced re-evaluate).
Or after save and reload... because _escapeTUs is not saved
and will get reset back to 0 after reload.

Ulrich Spörlein, Sat Sep 12 20:39:42 2020
Fix build with clang 10.0.1 on FreeBSD

This is needed in addition to "CXXFLAGS=-O2 -g -std=c++11" and disabling
-Werror (due to unused functions, clang seems to be rather strict here).

Also, the setFocus method wasn't actually overridden, but hidden, which
makes clang warn and given the default of -Werror also error out.

This can probably be done in a smarter way ...

Mac OS X
Maintained by Various

Check here for app builds.

Linux
Maintained by Krzysztof “Knapsu” Knapik

Download AppImage file, make it executable, and run. No need to install.
You can read more about the AppImage format here: http://appimage.org/

DateGit CommitDownloads
2020-11-25 72af50720 64-bit 32-bit
2020-11-18 894d67f88 64-bit 32-bit
2020-11-13 fba49fe10 64-bit 32-bit
2020-11-12 70b86aff5 64-bit 32-bit
2020-11-10 7aae3f453 64-bit 32-bit
2020-11-06 4639493f0 64-bit 32-bit
2020-11-05 2b6c8aeb1 64-bit 32-bit
2020-10-14 02bac59cb 64-bit 32-bit
2020-10-10 da95e73f7 64-bit 32-bit
2020-10-03 323659cf2 64-bit 32-bit
2020-09-26 42747436a 64-bit 32-bit
2020-09-24 6e07fcb8f 64-bit 32-bit
2020-09-22 57b3b5722 64-bit 32-bit
2020-09-04 09082d635 64-bit 32-bit
2020-09-01 12c05f5b8 64-bit 32-bit
2020-08-03 12c05f5b8 64-bit 32-bit
2020-07-31 c5fa649bd 64-bit 32-bit
2020-07-24 bd342df4a 64-bit 32-bit
2020-07-14 8ae998af3 64-bit 32-bit
2020-06-15 8ae998af3 64-bit 32-bit
2020-06-14 9615eb035 64-bit 32-bit
2020-06-13 a4f040408 64-bit 32-bit
2020-06-08 e5e9321d0 64-bit 32-bit
2020-06-05 0d2d8f4cc 64-bit 32-bit
2020-06-04 271baa651 64-bit 32-bit
2020-06-01 9c1648ae3 64-bit 32-bit
2020-05-23 c5f6e8b58 64-bit 32-bit
2020-05-05 912b5529e 64-bit 32-bit
2020-04-26 3d092c227 64-bit 32-bit
2020-04-07 430bf7cf4 64-bit 32-bit
2020-04-06 a8080d499 64-bit 32-bit
2020-04-05 54d8a13b1 64-bit 32-bit
2020-04-02 17190f300 64-bit 32-bit
2020-03-28 80eb064ba 64-bit 32-bit
2020-03-19 4d6f686ae 64-bit 32-bit
2020-03-15 e1c975ac7 64-bit 32-bit
2020-03-09 947aca2ce 64-bit 32-bit
2020-03-04 77fce160b 64-bit 32-bit
2020-02-11 bdfd52280 64-bit 32-bit
2020-01-30 bfbd5a969 64-bit 32-bit
2020-01-28 7f6022f04 64-bit 32-bit
2020-01-23 2949b242b 64-bit 32-bit
2020-01-15 5b56ab9f8 64-bit 32-bit
2020-01-12 8c9ecd752 64-bit 32-bit
2020-01-02 2acf65a9c 64-bit 32-bit
2020-01-01 00242b627 64-bit 32-bit
2019-12-31 5810173c3 64-bit 32-bit
2019-12-25 dab597cb1 64-bit 32-bit
2019-12-23 c173e910a 64-bit 32-bit
2019-12-19 ebac51e6a 64-bit 32-bit
2019-12-02 99b1d7f4f 64-bit 32-bit
2019-11-30 950d39b83 64-bit 32-bit
2019-11-29 c7e1397f4 64-bit 32-bit
2019-11-26 564f58c1a 64-bit 32-bit
2019-11-24 1b61fdd13 64-bit 32-bit
2019-11-23 f7d606d81 64-bit 32-bit
2019-11-19 8b4791171 64-bit 32-bit
2019-11-11 1c844055f 64-bit 32-bit
2019-11-05 0d3063585 64-bit 32-bit
2019-11-04 bf7901b19 64-bit 32-bit
2019-10-28 acd36fa86 64-bit 32-bit
2019-10-19 f9853b2cb 64-bit 32-bit
2019-10-10 d4e1b5b97 64-bit 32-bit
2019-10-09 9f62e8b61 64-bit 32-bit
2019-10-08 b786a9b0e 64-bit 32-bit
2019-09-25 b786a9b0e 64-bit 32-bit
2019-09-22 57fb1f646 64-bit 32-bit
2019-09-20 1443422d6 64-bit 32-bit
2019-09-13 98072e1ee 64-bit 32-bit
2019-08-21 8d6694b8d 64-bit 32-bit
2019-08-14 4fc8c8b33 64-bit 32-bit
2019-08-13 1054be29e 64-bit 32-bit
2019-08-12 5ed741f45 64-bit 32-bit
2019-08-09 81266be8a 64-bit 32-bit
2019-08-03 e08f6b3c0 64-bit 32-bit
2019-08-01 339a3c85d 64-bit 32-bit
2019-07-28 e712c3baf 64-bit 32-bit
2019-07-23 84786c4ea 64-bit 32-bit
2019-07-19 01223c9f5 64-bit 32-bit
2019-07-10 d6b8c6ef1 64-bit 32-bit
2019-07-03 9f171d7c9 64-bit 32-bit
2019-06-28 c8f201d91 64-bit 32-bit
2019-06-23 1ed95032c 64-bit 32-bit
2019-06-18 7d219f52f 64-bit 32-bit
2019-06-17 7d219f52f 64-bit 32-bit
2019-06-15 10f51b911 64-bit 32-bit
2019-06-14 244a23f0e 64-bit 32-bit
2019-06-11 4ec3a4724 64-bit 32-bit
2019-06-09 9b5a80222 64-bit 32-bit
2019-06-06 3ef771512 64-bit 32-bit
2019-05-29 d32e75ca2 64-bit 32-bit
2019-05-22 61e210548 64-bit 32-bit
2019-05-17 9259620e1 64-bit 32-bit
2019-05-16 724ecbea2 64-bit 32-bit
2019-04-28 b86708f3a 64-bit 32-bit
2019-04-24 fa7a46e51 64-bit 32-bit
2019-04-08 eec82809c 64-bit 32-bit
2019-04-07 4abe0daf2 64-bit 32-bit
2019-03-13 8a4b13d65 64-bit 32-bit
2019-03-08 8144dada2 64-bit 32-bit
2019-03-05 8482ac382 64-bit 32-bit
2019-02-17 374e236ed 64-bit 32-bit
2019-02-10 379410eda 64-bit 32-bit
2019-02-05 c61f43a90 64-bit 32-bit
2019-01-31 59f9f0ebf 64-bit 32-bit
2019-01-16 4251ab7c8 64-bit 32-bit
2019-01-12 a84c8a7a7 64-bit 32-bit
2019-01-10 05d82fd46 64-bit 32-bit
2019-01-01 a45453fd8 64-bit 32-bit
2018-12-26 a315a51e4 64-bit 32-bit
2018-12-06 47d522c0f 64-bit 32-bit
2018-12-02 70aace375 64-bit 32-bit
2018-11-23 efa947e1e 64-bit 32-bit
2018-11-21 f0be2ee29 64-bit 32-bit
2018-11-20 9bba3c340 64-bit 32-bit
2018-11-16 cee208646 64-bit 32-bit
2018-11-14 07cc04921 64-bit 32-bit
2018-11-12 673d696c5 64-bit 32-bit
2018-11-07 47143be8a 64-bit 32-bit
2018-11-06 680eafb9a 64-bit 32-bit
2018-11-05 f4ac110a3 64-bit 32-bit
2018-11-04 92150fc6b 64-bit 32-bit
2018-11-03 d3affd504 64-bit 32-bit
2018-11-02 46604b559 64-bit 32-bit
2018-10-31 97f4646ce 64-bit 32-bit
2018-10-28 ae7912d4b 64-bit 32-bit
2018-10-26 3bb608bdc 64-bit 32-bit
2018-10-20 44f732b60 64-bit 32-bit
2018-10-19 030848517 64-bit 32-bit
2018-10-14 7d9cd996e 64-bit 32-bit
2018-10-08 13049d617 64-bit 32-bit
2018-10-05 5ae3d796f 64-bit 32-bit
2018-10-03 a04a0119a 64-bit 32-bit
2018-09-28 61ba9615c 64-bit 32-bit
2018-09-27 385a8e68c 64-bit 32-bit
2018-09-24 6b81936e2 64-bit 32-bit
2018-09-17 d37a02102 64-bit 32-bit
2018-09-15 6f50bac10 64-bit 32-bit
2018-09-11 50c2cb768 64-bit 32-bit
2018-09-10 50c2cb768 64-bit 32-bit
2018-08-18 a6d2d3249 64-bit 32-bit
2018-08-12 5105bcecb 64-bit 32-bit
2018-08-04 b1916e873 64-bit 32-bit
2018-07-31 2084a0f84 64-bit 32-bit
2018-07-29 f5e4ca9ff 64-bit 32-bit
2018-07-27 14757b2be 64-bit 32-bit
2018-07-24 fb1401e07 64-bit 32-bit
2018-07-22 ac1b8274b 64-bit 32-bit
2018-07-21 1a1fe3fc2 64-bit 32-bit
2018-07-20 c786ac126 64-bit 32-bit
2018-07-19 773fd1cd5 64-bit 32-bit
2018-07-18 e7d728fd8 64-bit 32-bit
2018-07-10 49119b216 64-bit 32-bit
2018-07-09 642c7bbbf 64-bit 32-bit
2018-07-07 9c71d43d6 64-bit 32-bit
2018-07-06 b31a99228 64-bit 32-bit
2018-06-23 582d81e36 64-bit 32-bit
2018-06-08 57a10ae13 64-bit 32-bit
2018-05-10 57a10ae13 64-bit 32-bit
2018-05-01 8d5957892 64-bit 32-bit
2018-04-28 30de9d2bb 64-bit 32-bit
2018-04-27 8c6284f08 64-bit 32-bit
2018-04-26 61caccdba 64-bit 32-bit
2018-04-24 1805ec99f 64-bit 32-bit
2018-04-23 ac7bd8de0 64-bit 32-bit
2018-04-10 80d8e9ff4 64-bit 32-bit
2018-04-09 245ce6a48 64-bit 32-bit
2018-03-28 3502bfecd 64-bit 32-bit
2018-03-21 7478b2987 64-bit 32-bit
2018-03-18 1b4c1c77e 64-bit 32-bit
2018-03-17 ea9ac4662 64-bit 32-bit
2018-03-11 330c21821 64-bit 32-bit
2018-03-10 d2394dd82 64-bit 32-bit
2018-03-09 5fda38dd5 64-bit 32-bit
2018-03-06 6fd360300 64-bit 32-bit
2018-03-05 f75f02e1a 64-bit 32-bit
2018-02-22 bbe2d9db0 64-bit 32-bit
2018-02-17 3969f48e3 64-bit 32-bit
2018-01-28 b14891626 64-bit 32-bit
2018-01-27 c3ea24466 64-bit 32-bit
2018-01-21 2eaaf484c 64-bit 32-bit
2018-01-19 92495e5f1 64-bit 32-bit
2018-01-18 8a82c9702 64-bit 32-bit
2018-01-07 0eb8d9cb4 64-bit 32-bit
2018-01-05 c3280c589 64-bit 32-bit