RadialGM

From ENIGMA
Revision as of 19:34, 29 January 2019 by RobertBColton (talk | contribs) (it's not 30gb; i really don't know how daz got that figure?)
Jump to navigation Jump to search
ENIGMA's C++ IDE in use with native look and feel on Windows 10.

The project is a code name used to refer to the C++/Qt-based ENIGMA IDE that is being developed. The project was started by Goombert to improve ENIGMA's UI experience and the stability of game serialization. The architecture of the project is loosely based on MVC and MVVM and is centered around the ENIGMA compiler's Google Protocol Buffer format used in emake and libEGM to load, save, and compile games. The Google Protocol Buffer format is treated as the single source of truth for resource data and is contained in a Qt QAbstractItemModel that makes it possible to map various views/editors to it.

GitHub Repository: https://github.com/enigma-dev/RadialGM

License

The project is also licensed under the same License ENIGMA is licensed under, that being a modified GPL v3.

Features

The goal of this project as stated earlier is to improve upon the ENIGMA UI experience, stability, and scalability.

Some advantages the new IDE will provide:

  • Custom theming using Cascading Style Sheets
  • Hardware accelerated rendering
  • Runs natively among other optimizations
  • Improved compile times
  • Ability to handle much larger project files
  • Advanced code editing including break points and code folding
  • Dock interfaces and widgets allowing custom layouts with persistent state between sessions

Building

The first step is to download the RadialGM source code from https://github.com/enigma-dev/RadialGM

To compile RadialGM, you must have Qt and Qt Creator. Download the Qt Open Source installer from https://www.qt.io/download or https://www.qt.io/offline-installers

During the running of the installer, you will need to create a Qt account if you do not already have one. The components you should select during installation are the latest version of Qt and Qt Creator. At the time of writing, this is Qt 5.11.1 and Qt Creator 4.7.0-rc1.

Once installation is complete, open Qt Creator. Go to File -> Open File or Project and select RadialGM.pro from your downloaded RadialGM repository. It will warn you about the project not being configured. Choose a target (e.g. Desktop 5.11.1 MSVC2017 64bit).

Google Protocol Buffers

RadialGM uses protobuf to communicate with ENIGMA.

Download protobuf for C++ from this page: https://github.com/google/protobuf/releases/latest At the time of writing, this file would be protobuf-cpp-3.6.1.zip

Create a folder for your include files. For example, I have chosen to use the path "D:/qtinc/" Copy the "google" directory from protobuf-cpp's "/src" and place it into your custom include path.

With RadialGM open in Qt Creator, click "Edit" on the left and open RadialGM.pro. From here, modify the line with "INCLUDEPATH +=" and change "/usr/include/qt" to your include directory, such as "D:/qtinc".

Now go to from the menu, go to Build -> Run qmake so that it detects changes in the .pro file.

Scintilla

Scintilla is used for the code editor in Radial GM. Navigate to https://www.riverbankcomputing.com/software/qscintilla/download and download the appropriate source package for your operating system, such as QScintilla_gpl-2.10.7.zip

Once extracted, copy the contents of the Qt4Qt5 directory into your include directory, such as "D:/qtinc" used above.

Finally, from the menu select Build -> Build Project "RadialGM".

See Also