The Extensible Non-Interpreted Game Maker Augmentation.
RobertBColton Cleanup a few includes causing JDI errors (#1407)
This fixes at least one false-positive JDI error message.

1) Removed BBox/Precise implementation header includes from each system's respective `include.h` where they didn't need to be included. I think I may have been the one who originally made the mistake while I was moving their `enigma_user` function declarations to `Collision_Systems/General`.
2) Moved the include of `sprites_internal.h` from `GSsprite.h` to `GSsprite.cpp`. This change is what actually got rid of one of the JDI false-positive errors.
3) Removed unused includes from `mp_movement.h` since they are already included from the source which needs them.
Latest commit 0dc29da Oct 14, 2018

ENIGMA Travis CI Build Status AppVeyor Build Status codecov

Official Website:

ENIGMA, the Extensible Non-Interpreted Game Maker Augmentation, is an open-source, cross-platform game development environment based on the popular software, Game Maker. Its intent is to provide users with a quality game creation tool and a bridge between high- and low-level programming languages. It can be used either through an IDE, such as its sister project, LateralGM, or its up-and-coming custom frontend, RadialGM, or also through its command line interface, emake.

Like Game Maker, ENIGMA comprises an easy to use Drag & Drop system as well as its own programming language. This programming language, known as EDL, is essentially a mix between C++ and Game Maker's GML. Part of ENIGMA's goal is to remain backward-compatible with Game Maker, serving for some intents and purposes as a Game Maker compiler. However, EDL offers many very powerful features which simply aren't present in the alternative. Such features include the ability to compile DLLs and other C/C++ scripts right into the program, and direct access to C++ types, templates, and functions.

Although EDL adopts GML's very lax syntax in its scripting, the inputted code is actually parsed and translated into valid C++. This compilation improves size and performance of the language by incredible amounts, while almost magically maintaining its simplicity of use.


Please see for installation instructions.


We have a community-led Wiki project hosted on our site where users contribute function and other API documentation. All you need to do is register for an account on our forums and you will be able to edit and make changes to the documentation pages.

If you are having trouble registering for an account or looking for an answer to more specific technical questions about ENIGMA, you can visit us on the #enigma-dev channel on freenode IRC as well: