Windows Installation

From ENIGMA
Revision as of 20:41, 9 October 2018 by HitCoder (talk | contribs)
Jump to navigation Jump to search
The official logo of Windows based operating systems and environments.

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 (all the way to step 8): http://www.msys2.org/
- NOTE: The x86_64 download button will support compilation of both 32-bit and 64-bit games.

Dependencies

  • Reopen MSYS2 MinGW 64-bit to use the included Pacboy to obtain the packages used by ENIGMA for building games, which includes things like OpenAL. You will also need to install Git using Pacboy 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 :x with :i in the name of each package. Packages that are virtual (e.g, git) need only the colon after their name to install them with Pacboy.
- The Pacboy command you will need to run is:
pacboy -S git: toolchain:x boost:x protobuf:x rapidjson:x pugixml:x yaml-cpp:x openal:x dumb:x libvorbis:x libogg:x flac:x mpg123:x libsndfile:x libgme:x sfml:x gtk2:x zlib:x libffi:x box2d:x bullet:x glew:x glm:x alure:x
- Or for 32Bit you'd need to run:
pacboy -S git: toolchain:i boost:i protobuf:i rapidjson:i pugixml:i yaml-cpp:i openal:i dumb:i libvorbis:i libogg:i flac:i mpg123:i libsndfile:i libgme:i sfml:i gtk2:i zlib:i libffi:i box2d:i bullet:i glew:i glm:i alure:i
  • NOTE: If you want to use DirectX for graphics, instead of OpenGL, you'll want to make sure you have the DirectX 9.0 or higher End User Runtime installed.
- https://www.microsoft.com/en-us/download/details.aspx?id=35

Get ENIGMA

  • Use the change directory command (cd path/to/directory) to change MSYS2 to the directory you want ENIGMA installed in.
  • Then simply run this command: git clone https://github.com/enigma-dev/enigma-dev.git
  • Change directories into the cloned 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.

Configure an IDE

  • Finally, you will want LateralGM for editing games which you can use by installing Java and then download lateralgm by running ./install.sh
  • You will need to install java for the platform you would like to compile on (x64/64bit or x86/32bit);
- Once java is installed you would most likely want to set up your PATH variable in msys2 (this is one of several ways to fix java command not found)
- Edit the file C:\msys64\etc\profile and add the following
if [[ $MSYSTEM = "MINGW32" ]] && [[ $(arch) = "x86_64" ]]; then
  export PATH=/c/Program\ Files\ \(x86\)/Java/jre1.8.0_181/bin:$PATH
else
  export PATH=/c/Program\ Files/Java/jre1.8.0_181/bin:$PATH
fi
- This will check your Msys2 install's arch (which will be 32bit if you're on 32bit) in addition to checking the MINGW platform you are using to determine whether to try to load 32bit or 64bit jre.
- NOTE: Make sure you change the Java version to the one you have installed; the easiest way to check this is to navigate to C:\Program Files\Java and checking the version.
  • Once you have LateralGM setup you can simply run it using: java -jar lateralgm.jar.
- NOTE: 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.

Trivia

  • Goombert switched us to pacboy because it's easier for the script kiddies out there, but now make doesn't work
- This is because he didn't include make in the command, he only included mingw's make package
- just pacman -S make and ur fixed