Windows Installation

From ENIGMA
Jump to navigation Jump to search
The official logo of Windows based operating systems and environments.

This primary method of installing is a self-extracting 7z executable which we created for high convenience and portability. It's an all-inclusive zip and provides you with everything you need to run ENIGMA.

Once the file is extracted just click ENIGMA.exe inside the folder and it will run ENIGMA/LGM. If you want to create a desktop shortcut right-click on ENIGMA.exe and goto Send To->Desktop. The first time you run ENIGMA.exe it will automatically download the ENIGMA repo for you before running LGM so wait for the installation to finish.

That should be it!

Note: You need to run the self-extracting zip and the enigma.exe with administrative privileges before and after setup so the application can access AppData to output temporary build files, simply right click the file and select "Run as Administrator" on Windows Vista or later.


Source Code (Advanced)

For those looking for something a little more hands-on, you can set up your own toolchain for ENIGMA.

MSYS2

These steps will help you configure an ENIGMA setup using the modern MSYS2 project. This setup better facilitates both 32-bit and 64-bit compilation.

  • First, you will want to download and install MSYS2 by following these instructions: http://www.msys2.org/
- NOTE: The x86_64 download button will support compilation of both 32-bit and 64-bit games.
  • Reopen MSYS2 MinGW 64-bit to use the included Pacman to obtain the packages used by ENIGMA for building games, which includes things like OpenAL. You will also need to install Git using Pacman so you can clone the ENIGMA source code from GitHub to complete this installation.
- NOTE: You do not need to type the entire command below. Both Command Prompt and MSYS2 have a right-click menu option that allows you to just paste the command from this wiki page.
- NOTE: These packages are for 64 bit, if you want 32 bit then you need to install the same packages but replace x86_64 with i686 in the name of each package.
- The Pacman command you will need to run is:
pacman -S base-devel git mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost mingw-w64-x86_64-openal mingw-w64-x86_64-dumb mingw-w64-x86_64-libvorbis mingw-w64-x86_64-libogg mingw-w64-x86_64-flac mingw-w64-x86_64-mpg123 mingw-w64-x86_64-libsndfile mingw-w64-x86_64-libgme mingw-w64-x86_64-sfml mingw-w64-x86_64-gtk2 mingw-w64-x86_64-zlib mingw-w64-x86_64-libffi mingw-w64-x86_64-box2d mingw-w64-x86_64-bullet
- If you are not familiar with git then you may simply download an archive from: https://github.com/enigma-dev/enigma-dev/archive/master.zip
- NOTE: If you use the archive method then you will not be able to use git to update to the latest source code version later and will have to manually redownload it.
  • Change directories into the enigma-dev folder now using cd enigma-dev
  • Now simply run make to build the compiler and its backend into compileEGMf.dll, which is used by the CLI and any IDE for ENIGMA.
  • Optional: You can then run make emake if you also intend to use the CLI for building games.
  • Finally, you will want LateralGM for editing games which you can use by installing Java and then download lateralgm.jar and enigma.jar from: Install:Extra Packages. You will also need jna.jar from: https://github.com/java-native-access/jna#jna
- NOTE: You will want to download jna.jar not jna-platform.jar which is the same thing, but bigger because it includes helper methods that LateralGM does not require or use.
- If any of the following directories don't exist, use mkdir directoryname to create them.
- lateralgm.jar goes in enigma-dev/lateralgm.jar
- enigma.jar goes in enigma-dev/plugins/enigma.jar
- jna.jar goes in enigma-dev/plugins/shared/jna.jar
  • Once you have LateralGM setup you can simply run it using: java -jar lateralgm.jar.
- This method of launching LGM using MSYS2 is recommended over double-clicking the jar because the environment will be configured correctly so that it includes MinGW for ENIGMA to find it.