qmlfrontend/main.cpp
author Wuzzy <Wuzzy2@mail.ru>
Thu, 03 Jan 2019 19:46:48 +0100
changeset 14535 5ac181cb2396
parent 14393 b6824a53d4b1
child 14875 aed75d439027
permissions -rw-r--r--
Fix bee targeting fail across wrap world edge Previously, the bee always aimed for the light area, no matter where you actually put the target. It also got confused whenever it flew across the wrap world edge. How the bee works now: 1) The placed bee target is *not* recalculated when it was placed in the "gray" part of the wrap world edge. This allows for more fine-tuning. 1a) Place target in light area: bee aims for target light area 1b) Place target in gray area: bee aims for target, but flies to gray area first 2) Bee target is recalculated whenever bee passes the wrap world edge.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14175
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14164
diff changeset
     1
#include <QDebug>
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     2
#include <QGuiApplication>
14175
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14164
diff changeset
     3
#include <QLibrary>
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     4
#include <QQmlApplicationEngine>
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
     5
14175
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14164
diff changeset
     6
#include "engine_interface.h"
14392
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
     7
#include "game_view.h"
14164
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
     8
#include "hwengine.h"
14392
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
     9
#include "preview_acceptor.h"
14164
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    10
14393
b6824a53d4b1 Allow to instantiate HWEngine with different library binaries
unC0Rr
parents: 14392
diff changeset
    11
namespace Engine {};  // namespace Engine
14175
8354b390f1a2 Some refactoring of qmlfrontend. It now shows land preview generated by hedgewars-engine
unC0Rr
parents: 14164
diff changeset
    12
14392
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    13
static QObject* previewacceptor_singletontype_provider(
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    14
    QQmlEngine* engine, QJSEngine* scriptEngine) {
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    15
  Q_UNUSED(scriptEngine)
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    16
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    17
  PreviewAcceptor* acceptor = new PreviewAcceptor(engine);
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    18
  return acceptor;
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    19
}
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    20
14164
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    21
int main(int argc, char* argv[]) {
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    22
  QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    23
  QGuiApplication app(argc, argv);
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    24
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    25
  QQmlApplicationEngine engine;
14164
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    26
14392
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    27
  qmlRegisterSingletonType<PreviewAcceptor>(
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    28
      "Hedgewars.Engine", 1, 0, "PreviewAcceptor",
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    29
      previewacceptor_singletontype_provider);
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    30
  qmlRegisterType<HWEngine>("Hedgewars.Engine", 1, 0, "HWEngine");
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    31
  qmlRegisterType<GameView>("Hedgewars.Engine", 1, 0, "GameView");
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    32
  qmlRegisterUncreatableType<EngineInstance>("Hedgewars.Engine", 1, 0,
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    33
                                             "EngineInstance",
90bd2c331703 Add possibility to instantiate HWEngine objects from QML, reorganize work with preview
unC0Rr
parents: 14391
diff changeset
    34
                                             "Create by HWEngine run methods");
14164
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    35
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    36
  engine.load(QUrl(QLatin1String("qrc:/main.qml")));
14164
745c73e0e644 Start working on frontend to rust engine rewrite
unC0Rr
parents: 12854
diff changeset
    37
  if (engine.rootObjects().isEmpty()) return -1;
12854
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    38
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    39
  return app.exec();
28cb18c5e712 Add new qmlfrontend project template
unc0rr
parents:
diff changeset
    40
}