diff --git a/games/ENLIVEN/etc/header.xcf b/games/ENLIVEN/etc/header.xcf
new file mode 100644
index 0000000..8f7fc05
Binary files /dev/null and b/games/ENLIVEN/etc/header.xcf differ
diff --git a/games/ENLIVEN/etc/icon.xcf b/games/ENLIVEN/etc/icon.xcf
new file mode 100644
index 0000000..502897b
Binary files /dev/null and b/games/ENLIVEN/etc/icon.xcf differ
diff --git a/games/ENLIVEN/menu/header.png b/games/ENLIVEN/menu/header.png
new file mode 100644
index 0000000..99c32cf
Binary files /dev/null and b/games/ENLIVEN/menu/header.png differ
diff --git a/games/ENLIVEN/menu/icon.png b/games/ENLIVEN/menu/icon.png
new file mode 100644
index 0000000..1fc249d
Binary files /dev/null and b/games/ENLIVEN/menu/icon.png differ
diff --git a/install-windows-client/destination/ENLIVEN/ENLIVEN.pro b/install-windows-client/destination/ENLIVEN/ENLIVEN.pro
new file mode 100644
index 0000000..8cf8ae8
--- /dev/null
+++ b/install-windows-client/destination/ENLIVEN/ENLIVEN.pro
@@ -0,0 +1,20 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2017-05-18T19:53:45
+#
+#-------------------------------------------------
+
+QT += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TARGET = ENLIVEN
+TEMPLATE = app
+
+
+SOURCES += main.cpp\
+ mainwindow.cpp
+
+HEADERS += mainwindow.h
+
+FORMS += mainwindow.ui
diff --git a/install-windows-client/destination/ENLIVEN/ENLIVEN.pro.user b/install-windows-client/destination/ENLIVEN/ENLIVEN.pro.user
new file mode 100644
index 0000000..32ca3f6
--- /dev/null
+++ b/install-windows-client/destination/ENLIVEN/ENLIVEN.pro.user
@@ -0,0 +1,318 @@
+
+
+
+
+
+ EnvironmentId
+ {45478e01-c3a6-4ce2-8136-072af7df2437}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ false
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop Qt 5.7.0 MinGW 32bit
+ Desktop Qt 5.7.0 MinGW 32bit
+ qt.57.win32_mingw53_kit
+ 1
+ 0
+ 0
+
+ C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Debug
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Debug
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 2
+ true
+
+
+ C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Release
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ false
+
+ false
+ false
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Release
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+
+ C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Profile
+
+
+ true
+ qmake
+
+ QtProjectManager.QMakeBuildStep
+ true
+
+ false
+ true
+ false
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ false
+
+
+
+ 2
+ Build
+
+ ProjectExplorer.BuildSteps.Build
+
+
+
+ true
+ Make
+
+ Qt4ProjectManager.MakeStep
+
+ true
+ clean
+
+
+ 1
+ Clean
+
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+ Profile
+
+ Qt4ProjectManager.Qt4BuildConfiguration
+ 0
+ true
+
+ 3
+
+
+ 0
+ Deploy
+
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+ Deploy locally
+
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+ 2
+
+ ENLIVEN
+
+ Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Owner/Documents/GitHub/EnlivenMinetest/install-windows-client/destination/ENLIVEN/ENLIVEN.pro
+ true
+
+ ENLIVEN.pro
+ false
+
+ C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Release
+ 3768
+ false
+ true
+ false
+ false
+ true
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 18
+
+
+ Version
+ 18
+
+
diff --git a/install-windows-client/destination/ENLIVEN/main.cpp b/install-windows-client/destination/ENLIVEN/main.cpp
new file mode 100644
index 0000000..80c95f8
--- /dev/null
+++ b/install-windows-client/destination/ENLIVEN/main.cpp
@@ -0,0 +1,12 @@
+#include "mainwindow.h"
+#include
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ MainWindow w;
+ //a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
+ w.show();
+
+ return a.exec();
+}
diff --git a/install-windows-client/destination/ENLIVEN/mainwindow.cpp b/install-windows-client/destination/ENLIVEN/mainwindow.cpp
new file mode 100644
index 0000000..1e9d05b
--- /dev/null
+++ b/install-windows-client/destination/ENLIVEN/mainwindow.cpp
@@ -0,0 +1,148 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+#include
+#include
+//#include
+//#include
+#include
+//#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+MainWindow::MainWindow(QWidget *parent) :
+ QMainWindow(parent),
+ ui(new Ui::MainWindow)
+{
+ ui->setupUi(this);
+ this->scaleFactor = 1.0;
+
+ ui->upperImageLabel->setBackgroundRole(QPalette::Base);
+ ui->upperImageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+ ui->upperImageLabel->setScaledContents(true);
+ ui->lowerImageLabel->setBackgroundRole(QPalette::Base);
+ ui->lowerImageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+ ui->lowerImageLabel->setScaledContents(true);
+ //setCentralWidget(verticalLayout);
+ createActions();
+ //resize(QGuiApplication::primaryScreen()->availableSize() * 3 / 5);
+ //resize(ui->lowerImageLabel->width());
+ QFileInfo selfFI(QCoreApplication::applicationFilePath());
+ QDir selfDir=selfFI.absoluteDir();
+ QDir binDir(selfDir.absoluteFilePath("bin"));
+ QString minetestExePath = binDir.absoluteFilePath("minetest.exe");
+ bool success_enable = false;
+ if (!QFileInfo(minetestExePath).exists()) {
+ QString try_path="C:\\games\\ENLIVEN\\bin\\minetest.exe";
+ if (QFileInfo(try_path).exists()) {
+ minetestExePath = try_path;
+ }
+ }
+ if (!QFileInfo(minetestExePath).exists()) {
+ QString try_path="C:\\Program Files (x86)\\ENLIVEN\\bin\\minetest.exe";
+ if (QFileInfo(try_path).exists()) {
+ minetestExePath = try_path;
+ }
+ }
+ if (QFileInfo(minetestExePath).exists()) {
+ QProcess* newProcess = new QProcess();
+ QDir workingDir = QFileInfo(minetestExePath).absoluteDir();
+ // Will not launch the application
+ newProcess->setWorkingDirectory(workingDir.absolutePath());
+ newProcess->start(minetestExePath);
+ success_enable = true;
+ qDebug() << "launched " << minetestExePath;
+ }
+ if (success_enable) QTimer::singleShot(1000, this, &QApplication::closeAllWindows); // Qt 5
+ //QApplication::closeAllWindows();
+}
+
+MainWindow::~MainWindow()
+{
+ delete ui;
+}
+
+void MainWindow::setImage(const QImage &newImage, int imageIndex) //QLabel* imageLabel)
+{
+ if (imageIndex==0) {
+ upperImage = newImage;
+ ui->upperImageLabel->setPixmap(QPixmap::fromImage(upperImage));
+ }
+ else {
+ lowerImage = newImage;
+ ui->lowerImageLabel->setPixmap(QPixmap::fromImage(lowerImage));
+ }
+ scaleFactor = 1.0;
+
+ //scrollArea->setVisible(true);
+ //printAct->setEnabled(true);
+ //fitToWindowAct->setEnabled(true);
+ //updateActions();
+
+ //if (!fitToWindowAct->isChecked())
+ // imageLabel->adjustSize();
+}
+
+void MainWindow::createActions()
+{
+ //see http://doc.qt.io/qt-5/qtwidgets-widgets-imageviewer-example.html
+ QFileInfo selfFI(QCoreApplication::applicationFilePath());
+ QDir selfDir=selfFI.absoluteDir();
+ QDir gamesDir(selfDir.absoluteFilePath("games"));
+ QDir enlivenDir(gamesDir.absoluteFilePath("ENLIVEN"));
+ QDir menuImagesDir(enlivenDir.absoluteFilePath("menu"));
+ QString upperImagePath=menuImagesDir.absoluteFilePath("header.png");
+ QString lowerImagePath=menuImagesDir.absoluteFilePath("icon.png");
+ if (QFileInfo(upperImagePath).exists()) {
+ loadImage(upperImagePath, 0);// ui->upperImageLabel);
+ //below is NONWORKING from http://stackoverflow.com/questions/1357960/qt-jpg-image-display
+ //QGraphicsPixmapItem upperItem(QPixmap(upperImagePath));
+ //QGraphicsScene upperScene;
+ //ui->upperGraphicsView->setScene(&upperScene);
+ //upperScene.addItem(&upperItem);
+ }
+ else qDebug() << tr("missing ") << upperImagePath;
+ if (QFileInfo(lowerImagePath).exists()) {
+ loadImage(lowerImagePath, 1);//ui->lowerImageLabel);
+ //below is NONWORKING from http://stackoverflow.com/questions/1357960/qt-jpg-image-display
+ //QGraphicsPixmapItem lowerItem(QPixmap(lowerImagePath));
+ //QGraphicsScene lowerScene;
+ //ui->upperGraphicsView->setScene(&lowerScene);
+ //lowerScene.addItem(&lowerItem);
+ }
+ else qDebug() << tr("missing ") << lowerImagePath;
+}
+
+bool MainWindow::loadImage(QString &fileName, int imageIndex) //, QLabel* imageLabel)
+{
+ QImageReader reader(fileName);
+ reader.setAutoTransform(true);
+ const QImage newImage = reader.read();
+ if (newImage.isNull()) {
+ QMessageBox::information(this, QGuiApplication::applicationDisplayName(),
+ tr("Cannot load %1: %2")
+ .arg(QDir::toNativeSeparators(fileName), reader.errorString()));
+ return false;
+ }
+ setImage(newImage, imageIndex);// imageLabel);
+ //ui->scrollArea->setVisible(true);
+ //printAct->setEnabled(true);
+ //fitToWindowAct->setEnabled(true);
+ //updateActions();
+
+ //if (!fitToWindowAct->isChecked())
+ //imageLabel->adjustSize();
+}
+
+void MainWindow::showGraphics()
+{
+
+}
+
+void MainWindow::launchGame()
+{
+
+}
diff --git a/install-windows-client/destination/ENLIVEN/mainwindow.h b/install-windows-client/destination/ENLIVEN/mainwindow.h
new file mode 100644
index 0000000..9f50f3a
--- /dev/null
+++ b/install-windows-client/destination/ENLIVEN/mainwindow.h
@@ -0,0 +1,33 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include
+#include
+
+namespace Ui {
+class MainWindow;
+}
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ explicit MainWindow(QWidget *parent = 0);
+ ~MainWindow();
+
+private:
+ double scaleFactor;
+ void setImage(const QImage &newImage, int imageIndex); // QLabel* imageLabel);
+ void createActions();
+ bool loadImage(QString &fileName, int imageIndex); // QLabel* imageLabel);
+ Ui::MainWindow *ui;
+ QImage upperImage;
+ QImage lowerImage;
+
+public slots:
+ void showGraphics();
+ void launchGame();
+};
+
+#endif // MAINWINDOW_H
diff --git a/install-windows-client/destination/ENLIVEN/mainwindow.ui b/install-windows-client/destination/ENLIVEN/mainwindow.ui
new file mode 100644
index 0000000..e8d3111
--- /dev/null
+++ b/install-windows-client/destination/ENLIVEN/mainwindow.ui
@@ -0,0 +1,85 @@
+
+
+ MainWindow
+
+
+
+ 0
+ 0
+ 256
+ 256
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 256
+ 256
+
+
+
+
+ 256
+ 256
+
+
+
+ ENLIVEN
+
+
+
+
+
+ 10
+ 10
+ 231
+ 51
+
+
+
+
+
+
+
+
+
+ 40
+ 70
+ 161
+ 141
+
+
+
+
+
+
+
+
+
+
+ TopToolBarArea
+
+
+ false
+
+
+
+
+
+
+
+