diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2018-02-25 05:25:33 +0100 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2018-02-25 05:25:33 +0100 |
| commit | baa647ad7caf95ea2619d8456bcfd0f04a08a719 (patch) | |
| tree | 7a7f5408a8ae0cc18a70d7795a2a47af30cf59f5 /Source/MapEditor/mainwindow.cpp | |
| parent | 81d9242514b4e8e3fe97cf7063a15680f610bf2f (diff) | |
| download | airport-baa647ad7caf95ea2619d8456bcfd0f04a08a719.tar.gz | |
+ Added Message module, used for tutorials.
+ Added first tutorial level.
* Font now inserts line feed automatically if the next word is too long to fit.
* Gfx.c: added primitive list double buffering in order to gain some performance.
* MapEditor: now airport can be defined inside the tool.
Diffstat (limited to 'Source/MapEditor/mainwindow.cpp')
| -rw-r--r-- | Source/MapEditor/mainwindow.cpp | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/Source/MapEditor/mainwindow.cpp b/Source/MapEditor/mainwindow.cpp index ed0bdc9..2da1d1b 100644 --- a/Source/MapEditor/mainwindow.cpp +++ b/Source/MapEditor/mainwindow.cpp @@ -4,6 +4,8 @@ #include <QGraphicsPixmapItem>
#include <QInputDialog>
+#define DEFAULT_AIRPORT_NAME QByteArray("Default Airport\0")
+
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow),
@@ -11,13 +13,13 @@ MainWindow::MainWindow(QWidget *parent) : selected_item(-1)
{
ui->setupUi(this);
-
- ui->centralWidget->setWindowTitle("Airport Map Editor");
+ this->setWindowTitle(APP_NAME + " " + APP_VERSION_STRING);
connect(ui->LoadMap_Btn, SIGNAL(released()), this, SLOT(onLoadMap()));
connect(ui->CreateMap_Btn, SIGNAL(released()), this, SLOT(onCreateMap()));
connect(ui->saveMap_Btn, SIGNAL(released()), this, SLOT(onSaveMap(void)));
connect(ui->showNumbers_Checkbox, SIGNAL(stateChanged(int)), this, SLOT(onShowNumbers(int)));
+ connect(ui->airportName_Label, SIGNAL(textChanged(QString)), this, SLOT(onAirportNameModified(QString)));
connect(gscene, SIGNAL(positionClicked(QPointF)), this, SLOT(onMapItemClicked(QPointF)));
connect(gscene, SIGNAL(noItemSelected(void)), this, SLOT(onNoItemSelected(void)));
@@ -161,15 +163,18 @@ void MainWindow::onCreateMap(void) data.append((char)0x18);
}
- data.append("Default airport");
+ data.append(DEFAULT_AIRPORT_NAME);
+
+ for (int i = 0x04 + DEFAULT_AIRPORT_NAME.count(); i < 0x1C; i++)
+ {
+ data.append('\0');
+ }
for (int i = (data.count() - 1); i < DATA_HEADER_SIZE; i++)
{
data.append(0xFF);
}
- qDebug() << data.count();
-
int size_int = size.toInt(&ok, 10);
if (ok == false)
@@ -243,7 +248,13 @@ void MainWindow::onProcessMapFile(QByteArray data) return;
}
- ds.skipRawData(0x3B);
+ char airportName[0x1A];
+
+ ds.readRawData(airportName, sizeof(airportName) / sizeof(airportName[0]));
+
+ ui->airportName_Label->setText(QString(airportName));
+
+ ds.skipRawData(0x3B - 0x1A);
gscene->clear();
gscene->clearFocus();
@@ -417,3 +428,23 @@ void MainWindow::loadTilesetData(void) }
}
}
+
+void MainWindow::onAirportNameModified(QString name)
+{
+ if (map_buffer.isEmpty() == true)
+ {
+ return;
+ }
+
+ for (int i = 0x04, j = 0; i < 0x1C; i++)
+ {
+ if (j < name.count() )
+ {
+ map_buffer[i] = name.at(j++).toLatin1();
+ }
+ else
+ {
+ map_buffer[i] = '\0';
+ }
+ }
+}
|
