From f8f976763b4d272b4801f8b99eb542caa12fc3fe Mon Sep 17 00:00:00 2001 From: Xavier ASUS Date: Sun, 25 Nov 2018 21:07:28 +0100 Subject: [PATCH] Removed city background. Fixed some serious issues regarding building and tile data. --- Bin/AIRPORT.bin | Bin 1728720 -> 1728720 bytes Concepts/.directory | 3 +- Levels/LEVEL1.LVL | Bin 192 -> 192 bytes Levels/LEVEL2.LVL | Bin 576 -> 576 bytes Levels/LEVEL3.LVL | Bin 576 -> 576 bytes Source/Airport.geany | 27 +- Source/Camera.c | 4 - Source/Exe/AIRPORT.elf | Bin 380044 -> 380096 bytes Source/Exe/AIRPORT.iso | Bin 1505280 -> 1505280 bytes Source/Game.c | 156 ++++++--- Source/MapEditor/MapEditor.pro.user | 2 +- Source/MapEditor/buildings.ini | 4 + Source/MapEditor/mainwindow.cpp | 489 ++++++++++++++++++++++------ Source/MapEditor/mainwindow.h | 32 +- Source/MapEditor/settings.ini | 2 +- Sprites/.directory | 5 +- Sprites/CITYBG1.bmp | Bin 24630 -> 0 bytes Sprites/CITYBG1.flags | 1 - cdimg/DATA/LEVELS/LEVEL1.LVL | Bin 192 -> 192 bytes cdimg/DATA/LEVELS/LEVEL2.LVL | Bin 576 -> 576 bytes 20 files changed, 552 insertions(+), 173 deletions(-) create mode 100644 Source/MapEditor/buildings.ini delete mode 100644 Sprites/CITYBG1.bmp delete mode 100644 Sprites/CITYBG1.flags diff --git a/Bin/AIRPORT.bin b/Bin/AIRPORT.bin index a1332db595e53184012afc8a7143d951a5dc686c..c02354b1ddf6cf7539352bd97270e8e1450e26ab 100644 GIT binary patch delta 32269 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 XyD0+1qChML#Nt3KvHjmo$xCejdHs1n delta 32216 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 diff --git a/Concepts/.directory b/Concepts/.directory index fb42877..eee9ca1 100644 --- a/Concepts/.directory +++ b/Concepts/.directory @@ -1,3 +1,4 @@ [Dolphin] PreviewsShown=true -Timestamp=2016,5,19,18,57,13 +Timestamp=2018,11,25,20,0,16 +Version=4 diff --git a/Levels/LEVEL1.LVL b/Levels/LEVEL1.LVL index 84591f8dfa8558a114e7e58b5a4d01f8f7223c66..dfb07515ab5389f54e218d50567ab38fc0d175a1 100644 GIT binary patch delta 40 pcmX@Wcz|(2h&U?)8v_V4Gq5m#06Q~7I}lIIl4fRNV3^op4ghx61)%@{ delta 41 ocmX@Wcz|(2h!_JS6f!fgFaQBFdpi(M%$8Camera.X_Offset + ptrPlayer->Camera.X_Speed) <= Camera_Min_X_Limit) { - DEBUG_PRINT_VAR(ptrPlayer->Camera.X_Offset); if (ptrPlayer->Camera.X_Speed < 0) { limitAchieved = true; @@ -208,9 +207,6 @@ void CameraHandler(TYPE_PLAYER* const ptrPlayer) } ptrPlayer->Camera.Y_Offset += ptrPlayer->Camera.Y_Speed; - - //~ DEBUG_PRINT_VAR(ptrPlayer->Camera.X_Offset); - //~ DEBUG_PRINT_VAR(ptrPlayer->Camera.Y_Offset); } bool CameraSpecialConditions(TYPE_PLAYER* const ptrPlayer) diff --git a/Source/Exe/AIRPORT.elf b/Source/Exe/AIRPORT.elf index 759910d4a04abdaf58101fbbf4c142f03d6c1546..ac15fd6e5b5df5a8b06cf67aec88c7c4fbbb39b8 100755 GIT binary patch delta 41942 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 diff --git a/Source/Exe/AIRPORT.iso b/Source/Exe/AIRPORT.iso index 4ac4e416c078d43d32202b4132a006cdcfa424e3..7d4ae092d41a39fb9236329c39b1eb189b3e5ff4 100644 GIT binary patch delta 30189 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 1, @@ -1120,6 +1109,12 @@ void GameRenderBuildingAircraft(TYPE_PLAYER* const ptrPlayer) BUILDING_HANGAR_OFFSET_X = 4, BUILDING_HANGAR_OFFSET_Y = TILE_SIZE >> 1, + BUILDING_TERMINAL_OFFSET_X = 0, + BUILDING_TERMINAL_OFFSET_Y = TILE_SIZE >> 1, + + BUILDING_TERMINAL_2_OFFSET_X = BUILDING_TERMINAL_OFFSET_X, + BUILDING_TERMINAL_2_OFFSET_Y = BUILDING_TERMINAL_OFFSET_Y, + BUILDING_ATC_TOWER_OFFSET_X = TILE_SIZE >> 2, BUILDING_ATC_TOWER_OFFSET_Y = TILE_SIZE >> 1, }; @@ -1137,9 +1132,19 @@ void GameRenderBuildingAircraft(TYPE_PLAYER* const ptrPlayer) BUILDING_GATE_H = 25, BUILDING_HANGAR_U = 0, - BUILDING_HANGAR_V = 34, - BUILDING_HANGAR_W = 51, - BUILDING_HANGAR_H = 36, + BUILDING_HANGAR_V = 0, + BUILDING_HANGAR_W = 34, + BUILDING_HANGAR_H = 28, + + BUILDING_TERMINAL_U = 0, + BUILDING_TERMINAL_V = 34, + BUILDING_TERMINAL_W = 51, + BUILDING_TERMINAL_H = 36, + + BUILDING_TERMINAL_2_U = 51, + BUILDING_TERMINAL_2_V = BUILDING_TERMINAL_V, + BUILDING_TERMINAL_2_W = BUILDING_TERMINAL_W, + BUILDING_TERMINAL_2_H = BUILDING_TERMINAL_H, BUILDING_ATC_TOWER_U = 58, BUILDING_ATC_TOWER_V = 0, @@ -1155,14 +1160,29 @@ void GameRenderBuildingAircraft(TYPE_PLAYER* const ptrPlayer) BUILDING_GATE_ORIGIN_X = 20, BUILDING_GATE_ORIGIN_Y = 8, - BUILDING_HANGAR_ORIGIN_X = 20, - BUILDING_HANGAR_ORIGIN_Y = 11, + BUILDING_TERMINAL_ORIGIN_X = 20, + BUILDING_TERMINAL_ORIGIN_Y = 11, + + BUILDING_TERMINAL_2_ORIGIN_X = BUILDING_TERMINAL_ORIGIN_X, + BUILDING_TERMINAL_2_ORIGIN_Y = BUILDING_TERMINAL_ORIGIN_Y, + + BUILDING_HANGAR_ORIGIN_X = 16, + BUILDING_HANGAR_ORIGIN_Y = 12, BUILDING_ATC_TOWER_ORIGIN_X = 12, BUILDING_ATC_TOWER_ORIGIN_Y = 20, }; - static const TYPE_BUILDING_DATA GameBuildingData[MAX_BUILDING_ID] = + static const struct + { + TYPE_ISOMETRIC_POS IsoPos; // Offset inside tile + short orig_x; // Coordinate X origin inside building sprite + short orig_y; // Coordinate Y origin inside building sprite + short w; // Building width + short h; // Building height + short u; // Building X offset inside texture page + short v; // Building Y offset inside texture page + } GameBuildingData[MAX_BUILDING_ID] = { [BUILDING_GATE] = { @@ -1210,6 +1230,34 @@ void GameRenderBuildingAircraft(TYPE_PLAYER* const ptrPlayer) .h = BUILDING_HANGAR_H, }, + [BUILDING_TERMINAL] = + { + // BUILDING_TERMINAL coordinates inside tile. + .IsoPos.x = BUILDING_TERMINAL_OFFSET_X, + .IsoPos.y = BUILDING_TERMINAL_OFFSET_Y, + // z coordinate set to 0 by default. + .orig_x = BUILDING_TERMINAL_ORIGIN_X, + .orig_y = BUILDING_TERMINAL_ORIGIN_Y, + .u = BUILDING_TERMINAL_U, + .v = BUILDING_TERMINAL_V, + .w = BUILDING_TERMINAL_W, + .h = BUILDING_TERMINAL_H, + }, + + [BUILDING_TERMINAL_2] = + { + // BUILDING_TERMINAL_2 coordinates inside tile. + .IsoPos.x = BUILDING_TERMINAL_2_OFFSET_X, + .IsoPos.y = BUILDING_TERMINAL_2_OFFSET_Y, + // z coordinate set to 0 by default. + .orig_x = BUILDING_TERMINAL_2_ORIGIN_X, + .orig_y = BUILDING_TERMINAL_2_ORIGIN_Y, + .u = BUILDING_TERMINAL_2_U, + .v = BUILDING_TERMINAL_2_V, + .w = BUILDING_TERMINAL_2_W, + .h = BUILDING_TERMINAL_2_H, + }, + [BUILDING_ATC_TOWER] = { // BUILDING_ATC_TOWER coordinates inside tile. @@ -1230,7 +1278,13 @@ void GameRenderBuildingAircraft(TYPE_PLAYER* const ptrPlayer) .IsoPos.x = BUILDING_GATE_OFFSET_X, .IsoPos.y = BUILDING_GATE_OFFSET_Y, // z coordinate set to 0 by default. - } + .orig_x = BUILDING_GATE_ORIGIN_X, + .orig_y = BUILDING_GATE_ORIGIN_Y, + .u = BUILDING_GATE_U, + .v = BUILDING_GATE_V, + .w = BUILDING_GATE_W, + .h = BUILDING_GATE_H, + }, }; uint16_t tileNr; @@ -1305,9 +1359,12 @@ void GameRenderBuildingAircraft(TYPE_PLAYER* const ptrPlayer) short orig_u = GameBuildingSpr.u; short orig_v = GameBuildingSpr.v; - TYPE_ISOMETRIC_POS buildingIsoPos = { .x = (columns << (TILE_SIZE_BIT_SHIFT)) + x_bldg_offset, - .y = (rows << (TILE_SIZE_BIT_SHIFT)) + y_bldg_offset, - .z = z_bldg_offset }; + TYPE_ISOMETRIC_POS buildingIsoPos = + { + .x = (columns << (TILE_SIZE_BIT_SHIFT)) + x_bldg_offset, + .y = (rows << (TILE_SIZE_BIT_SHIFT)) + y_bldg_offset, + .z = z_bldg_offset + }; // Isometric -> Cartesian conversion TYPE_CARTESIAN_POS buildingCartPos = GfxIsometricToCartesian(&buildingIsoPos); @@ -1446,15 +1503,31 @@ static void GameLoadLevel(const char* path) Serial_printf("Game level title: %s\n",GameLevelTitle); - DEBUG_PRINT_VAR(GameLevelSize); - i += LEVEL_TITLE_SIZE; memset(levelBuffer, 0, GAME_MAX_MAP_SIZE); i = LEVEL_HEADER_SIZE; - memcpy(levelBuffer, &ptrBuffer[i], GameLevelSize * sizeof (uint16_t)); // 2 bytes per tile + { + size_t j; + size_t k; + + for (j = LEVEL_HEADER_SIZE, k = 0; k < GameLevelSize; j += sizeof (uint16_t), k++) + { + levelBuffer[k] = ptrBuffer[j + 1]; + levelBuffer[k] |= (ptrBuffer[j] << 8); + } + } + + { + size_t i; + + for (i = 0; i < (GameLevelSize * sizeof (uint16_t)); i++) + { + Serial_printf("levelBuffer[%d] = 0x%02X\n", i, levelBuffer[i]); + } + } } /* ****************************************************************************************** @@ -2699,12 +2772,8 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s } } - //DEBUG_PRINT_VAR(i); - rwyArray[i++] = last_tile; - //DEBUG_PRINT_VAR(rwyArray[i -1]); - switch(dir) { case DIR_EAST: @@ -2727,7 +2796,6 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s // Fall through default: Serial_printf("Invalid runway direction.\n"); - DEBUG_PRINT_VAR(rwyHeader); return; } diff --git a/Source/MapEditor/MapEditor.pro.user b/Source/MapEditor/MapEditor.pro.user index 2ef5a22..a31f63f 100644 --- a/Source/MapEditor/MapEditor.pro.user +++ b/Source/MapEditor/MapEditor.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/Source/MapEditor/buildings.ini b/Source/MapEditor/buildings.ini new file mode 100644 index 0000000..5eb7823 --- /dev/null +++ b/Source/MapEditor/buildings.ini @@ -0,0 +1,4 @@ +[buildings] +path = "../../Sprites/BLDNGS1.bmp" +building0 = "Nothing" +building1 = "Hangar" diff --git a/Source/MapEditor/mainwindow.cpp b/Source/MapEditor/mainwindow.cpp index e641a4d..923fca4 100644 --- a/Source/MapEditor/mainwindow.cpp +++ b/Source/MapEditor/mainwindow.cpp @@ -50,17 +50,37 @@ MainWindow::~MainWindow() void MainWindow::loadBuildingData(void) { - const QString filePath = "./buildings.ini"; + const QString path = "./buildings.ini"; - QFile f(filePath); + QSettings settings(path, QSettings::IniFormat); - if (f.open(QFile::ReadOnly)) + if (QFile(path).exists()) { + settings.beginGroup("buildings"); + buildingPath = settings.value("path").toString(); + + int i = 0; + + while (1) + { + QString buildingNumber = "building" + QString::number(i); + QString buildingName = settings.value(buildingNumber, "").toString(); + + if (buildingName.isEmpty() ) + { + break; + } + + buildingData.insert(i++, buildingName); + ui.buildingList->addItem(buildingName); + } + + settings.endGroup(); } else { - showError(tr("Could not open file ") + filePath); + showError(path + tr(" could not be found")); } } @@ -102,8 +122,8 @@ void MainWindow::onListItemSelected(void) { if (selected_item != -1) { - const int map_buffer_pos = static_cast((DATA_HEADER_SIZE + 1) - + (static_cast(selected_item) * sizeof(quint16))); + const int map_buffer_pos = static_cast(DATA_HEADER_SIZE + + (static_cast(selected_item + 1) * sizeof(quint16))); //map_buffer_pos++; // MSB: building data, LSB: terrain data. if (map_buffer_pos < map_buffer.count()) @@ -255,14 +275,11 @@ void MainWindow::processMapFile(const QByteArray& data) && not tilesetPaths[1].isEmpty()) { - QPixmap tile1(tilesetPaths[0]); - QPixmap tile2(tilesetPaths[1]); - const int expected_filesize = (DATA_HEADER_SIZE + (level_size * level_size)); if (data.count() >= expected_filesize) { - parseMapData(ds, tile1, tile2); + parseMapData(ds); } else { @@ -277,7 +294,7 @@ void MainWindow::processMapFile(const QByteArray& data) } } -void MainWindow::parseMapData(QDataStream& ds, const QPixmap& tileSet, const QPixmap& tileSet2) +void MainWindow::parseMapData(QDataStream& ds) { char airportName[0x1A]; @@ -285,91 +302,229 @@ void MainWindow::parseMapData(QDataStream& ds, const QPixmap& tileSet, const QPi ui.airportName_Label->setText(QString(airportName)); - ds.skipRawData(0x3B - 0x1A); + ds.skipRawData(0x3C - 0x1A); gscene.clear(); gscene.clearFocus(); + QList buildingData; + + for (int j = 0; j < level_size; j++) { for (int i = 0; i < level_size; i++) { - enum - { - TILE_GRASS = 0, - TILE_ASPHALT_WITH_BORDERS, - TILE_WATER, - TILE_ASPHALT, - - TILE_RWY_MID, - TILE_RWY_START_1, - TILE_RWY_START_2, - TILE_PARKING, - - TILE_PARKING_2, - TILE_TAXIWAY_INTERSECT_GRASS, - TILE_TAXIWAY_GRASS, - TILE_TAXIWAY_CORNER_GRASS, - - TILE_HALF_WATER_1, - TILE_HALF_WATER_2, - TILE_RWY_HOLDING_POINT, - TILE_RWY_HOLDING_POINT_2, - - TILE_RWY_EXIT, - TILE_TAXIWAY_CORNER_GRASS_2, - TILE_TAXIWAY_4WAY_CROSSING, - TILE_RWY_EXIT_2, - - LAST_TILE_TILESET1 = TILE_RWY_EXIT_2, - - TILE_UNUSED_1, - TILE_TAXIWAY_CORNER_GRASS_3, - - FIRST_TILE_TILESET2 = TILE_UNUSED_1, - LAST_TILE_TILESET2 = TILE_TAXIWAY_CORNER_GRASS_3 - }; - - int u; - int v; char byte[2]; ds.readRawData(byte, 2); - quint8 CurrentTile = static_cast(byte[1]); - quint8 CurrentBuilding = static_cast(byte[0]); - quint8 buildingNoMirror = CurrentBuilding & 0x7F; - quint8 tileNoMirror = CurrentTile & 0x7F; - const QPixmap* p = nullptr; - if (tileNoMirror <= LAST_TILE_TILESET1) + qDebug() << "i = " + QString::number(i); + qDebug() << "j = " + QString::number(j); + qDebug() << QString::number(byte[0]); + qDebug() << QString::number(byte[1]); + qDebug() << ""; + + buildingData.append(static_cast(byte[0])); + addTile(static_cast(byte[1]), i, j); + } + } + + for (int j = 0; j < level_size; j++) + { + for (int i = 0; i < level_size; i++) + { + addBuilding(buildingData.at(i + (j* level_size)), i, j); + } + } + + ui.graphicsView->setScene(&gscene); + ui.graphicsView->show(); + ui.graphicsView->centerOn(QPointF(320, 480)); +} + +#define NODATA \ +{ \ + false, \ + { \ + 0, \ + 0, \ + 0 \ + }, \ + 0, \ + 0, \ + 0, \ + 0, \ + 0, \ + 0 \ +} + +#define BUILDING_DATA(building) \ +{ \ + true, \ + { \ + building##_OFFSET_X, \ + building##_OFFSET_Y, \ + 0 \ + }, \ + building##_ORIGIN_X, \ + building##_ORIGIN_Y, \ + building##_W, \ + building##_H, \ + building##_U, \ + building##_V \ +} + +void MainWindow::addBuilding(quint8 CurrentBuilding, const int i, const int j) +{ + if (CurrentBuilding) + { + enum + { + BUILDING_NONE, + BUILDING_HANGAR, + BUILDING_ILS, + BUILDING_ATC_TOWER, + BUILDING_ATC_LOC, + BUILDING_TERMINAL, + BUILDING_TERMINAL_2, + BUILDING_GATE, + + LAST_BUILDING = BUILDING_GATE, + MAX_BUILDING_ID + }; + + enum + { + BUILDING_ATC_LOC_OFFSET_X = TILE_SIZE >> 1, + BUILDING_ATC_LOC_OFFSET_Y = TILE_SIZE >> 1, + + BUILDING_ILS_OFFSET_X = 0, + BUILDING_ILS_OFFSET_Y = 0, + + BUILDING_GATE_OFFSET_X = (TILE_SIZE >> 1) - 4, + BUILDING_GATE_OFFSET_Y = 0, + + BUILDING_HANGAR_OFFSET_X = 4, + BUILDING_HANGAR_OFFSET_Y = TILE_SIZE >> 1, + + BUILDING_TERMINAL_OFFSET_X = 0, + BUILDING_TERMINAL_OFFSET_Y = TILE_SIZE >> 1, + + BUILDING_TERMINAL_2_OFFSET_X = BUILDING_TERMINAL_OFFSET_X, + BUILDING_TERMINAL_2_OFFSET_Y = BUILDING_TERMINAL_OFFSET_Y, + + BUILDING_ATC_TOWER_OFFSET_X = TILE_SIZE >> 2, + BUILDING_ATC_TOWER_OFFSET_Y = TILE_SIZE >> 1, + }; + + enum + { + BUILDING_ILS_U = 34, + BUILDING_ILS_V = 0, + BUILDING_ILS_W = 24, + BUILDING_ILS_H = 34, + + BUILDING_GATE_U = 0, + BUILDING_GATE_V = 70, + BUILDING_GATE_W = 28, + BUILDING_GATE_H = 25, + + BUILDING_HANGAR_U = 0, + BUILDING_HANGAR_V = 0, + BUILDING_HANGAR_W = 34, + BUILDING_HANGAR_H = 28, + + BUILDING_TERMINAL_U = 0, + BUILDING_TERMINAL_V = 34, + BUILDING_TERMINAL_W = 51, + BUILDING_TERMINAL_H = 36, + + BUILDING_TERMINAL_2_U = 51, + BUILDING_TERMINAL_2_V = BUILDING_TERMINAL_V, + BUILDING_TERMINAL_2_W = BUILDING_TERMINAL_W, + BUILDING_TERMINAL_2_H = BUILDING_TERMINAL_H, + + BUILDING_ATC_TOWER_U = 58, + BUILDING_ATC_TOWER_V = 0, + BUILDING_ATC_TOWER_W = 29, + BUILDING_ATC_TOWER_H = 34, + }; + + enum + { + BUILDING_ILS_ORIGIN_X = 10, + BUILDING_ILS_ORIGIN_Y = 22, + + BUILDING_GATE_ORIGIN_X = 20, + BUILDING_GATE_ORIGIN_Y = 8, + + BUILDING_TERMINAL_ORIGIN_X = 20, + BUILDING_TERMINAL_ORIGIN_Y = 11, + + BUILDING_TERMINAL_2_ORIGIN_X = BUILDING_TERMINAL_ORIGIN_X, + BUILDING_TERMINAL_2_ORIGIN_Y = BUILDING_TERMINAL_ORIGIN_Y, + + BUILDING_HANGAR_ORIGIN_X = 16, + BUILDING_HANGAR_ORIGIN_Y = 12, + + BUILDING_ATC_TOWER_ORIGIN_X = 12, + BUILDING_ATC_TOWER_ORIGIN_Y = 20, + }; + + static const struct + { + bool init; + IsometricPos IsoPos; // Offset inside tile + short orig_x; // Coordinate X origin inside building sprite + short orig_y; // Coordinate Y origin inside building sprite + short w; // Building width + short h; // Building height + short u; // Building X offset inside texture page + short v; // Building Y offset inside texture page + } GameBuildingData[MAX_BUILDING_ID] = + { + NODATA, + BUILDING_DATA(BUILDING_HANGAR), + BUILDING_DATA(BUILDING_ILS), + BUILDING_DATA(BUILDING_ATC_TOWER), + NODATA, + BUILDING_DATA(BUILDING_TERMINAL), + BUILDING_DATA(BUILDING_TERMINAL_2), + BUILDING_DATA(BUILDING_GATE), + }; + + enum + { + TILE_SIZE_BIT_SHIFT = 6 + }; + + const quint8 CurrentBuildingNoMirror = CurrentBuilding & 0x7F; + + if (CurrentBuildingNoMirror < MAX_BUILDING_ID) + { + if (GameBuildingData[CurrentBuildingNoMirror].init) { - p = &tileSet; - } - else if (tileNoMirror <= LAST_TILE_TILESET2) - { - p = &tileSet2; - CurrentTile -= FIRST_TILE_TILESET2; - tileNoMirror -= FIRST_TILE_TILESET2; - } + // Determine rendering order depending on Y value. + const short x_bldg_offset = GameBuildingData[CurrentBuildingNoMirror].IsoPos.x; + const short y_bldg_offset = GameBuildingData[CurrentBuildingNoMirror].IsoPos.y; + const short z_bldg_offset = GameBuildingData[CurrentBuildingNoMirror].IsoPos.z; - if (p != nullptr) - { - if (CurrentTile & TILE_MIRROR_FLAG) - { - u = static_cast((tileNoMirror % 4) * 64); - v = static_cast((tileNoMirror / 4) * 48); - } - else - { - u = static_cast((CurrentTile % 4) * 64); - v = static_cast((CurrentTile / 4) * 48); - } + IsometricPos buildingIsoPos; - QImage cropped = p->copy(u, v, 64, 48).toImage(); + buildingIsoPos.x = static_cast(i << TILE_SIZE_BIT_SHIFT) + x_bldg_offset; + buildingIsoPos.y = static_cast(j << TILE_SIZE_BIT_SHIFT) - y_bldg_offset; + buildingIsoPos.z = z_bldg_offset; - if (CurrentTile & TILE_MIRROR_FLAG) - { - cropped = cropped.mirrored(true, false); - } + // Isometric -> Cartesian conversion + CartesianPos buildingCartPos = isometricToCartesian(buildingIsoPos); + + QPixmap p = QPixmap(buildingPath); + + QImage cropped = p.copy(GameBuildingData[CurrentBuildingNoMirror].u, + GameBuildingData[CurrentBuildingNoMirror].v, + GameBuildingData[CurrentBuildingNoMirror].w, + GameBuildingData[CurrentBuildingNoMirror].h).toImage(); + + cropped = cropped.convertToFormat(QImage::Format_ARGB32); // or maybe other format bool selected = false; @@ -410,35 +565,161 @@ void MainWindow::parseMapData(QDataStream& ds, const QPixmap& tileSet, const QPi if (it != nullptr) { - const int x = ((i * TILE_SIZE) - (i * (TILE_SIZE / 2))) - (j * (TILE_SIZE / 2)); - const int y = (j * (TILE_SIZE / 4)) + (i * (TILE_SIZE / 4)); + // Define new coordinates for building. + const int x = buildingCartPos.x - GameBuildingData[CurrentBuilding].orig_x; + const int y = buildingCartPos.y - GameBuildingData[CurrentBuilding].orig_y; it->setX(x); it->setY(y); - - if (ui.showNumbers_Checkbox->isChecked() ) - { - QGraphicsTextItem* const io = new QGraphicsTextItem(); - - if (io != nullptr) - { - io->setPos(x + (TILE_SIZE / 4), y); - io->setPlainText(QString::number(i + (j * level_size))); - - gscene.addItem(io); - - /* Append pointer to the list so it can be - * safely removed on the constructor. */ - textItems.append(io); - } - } } } } } +} +#undef NODATA +#undef BUILDING_DATA - ui.graphicsView->setScene(&gscene); - ui.graphicsView->show(); +void MainWindow::addTile(quint8 CurrentTile, const int i, const int j) +{ + enum + { + TILE_GRASS, + TILE_ASPHALT_WITH_BORDERS, + TILE_WATER, + TILE_ASPHALT, + + TILE_RWY_MID, + TILE_RWY_START_1, + TILE_RWY_START_2, + TILE_PARKING, + + TILE_PARKING_2, + TILE_TAXIWAY_INTERSECT_GRASS, + TILE_TAXIWAY_GRASS, + TILE_TAXIWAY_CORNER_GRASS, + + TILE_HALF_WATER_1, + TILE_HALF_WATER_2, + TILE_RWY_HOLDING_POINT, + TILE_RWY_HOLDING_POINT_2, + + TILE_RWY_EXIT, + TILE_TAXIWAY_CORNER_GRASS_2, + TILE_TAXIWAY_4WAY_CROSSING, + TILE_RWY_EXIT_2, + + LAST_TILE_TILESET1 = TILE_RWY_EXIT_2, + + TILE_UNUSED_1, + TILE_TAXIWAY_CORNER_GRASS_3, + + FIRST_TILE_TILESET2 = TILE_UNUSED_1, + LAST_TILE_TILESET2 = TILE_TAXIWAY_CORNER_GRASS_3 + }; + + const QPixmap tileset(tilesetPaths[0]); + const QPixmap tileset2(tilesetPaths[1]); + + quint8 tileNoMirror = CurrentTile & 0x7F; + const QPixmap* p = nullptr; + + if (tileNoMirror <= LAST_TILE_TILESET1) + { + p = &tileset; + } + else if (tileNoMirror <= LAST_TILE_TILESET2) + { + p = &tileset2; + CurrentTile -= FIRST_TILE_TILESET2; + tileNoMirror -= FIRST_TILE_TILESET2; + } + + if (p != nullptr) + { + int u; + int v; + + if (CurrentTile & TILE_MIRROR_FLAG) + { + u = static_cast((tileNoMirror % 4) * 64); + v = static_cast((tileNoMirror / 4) * 48); + } + else + { + u = static_cast((CurrentTile % 4) * 64); + v = static_cast((CurrentTile / 4) * 48); + } + + QImage cropped = p->copy(u, v, 64, 48).toImage(); + + if (CurrentTile & TILE_MIRROR_FLAG) + { + cropped = cropped.mirrored(true, false); + } + + bool selected = false; + + if (selected_item != -1) + { + if (selected_item == ((j * level_size) + i)) + { + selected = true; + } + } + + cropped = cropped.convertToFormat(QImage::Format_ARGB32); // or maybe other format + + for (int i = 0; i < cropped.width(); i++) + { + for (int j = 0; j < cropped.height(); j++) + { + QColor rgb = cropped.pixel(i, j); + + if (rgb == QColor(Qt::magenta)) + { + cropped.setPixel(i, j, qRgba(0,0,0,0)); + } + else if (selected ) + { + QColor c = cropped.pixelColor(i, j); + + c.setRed(255 - c.red()); + c.setBlue(255 - c.blue()); + c.setGreen(255 - c.green()); + + cropped.setPixel(i, j, qRgb(c.red(), c.green(), c.blue())); + } + } + } + + QGraphicsPixmapItem* const it = gscene.addPixmap(QPixmap::fromImage(cropped)); + + if (it != nullptr) + { + const int x = ((i * TILE_SIZE) - (i * (TILE_SIZE / 2))) - (j * (TILE_SIZE / 2)); + const int y = (j * (TILE_SIZE / 4)) + (i * (TILE_SIZE / 4)); + + it->setX(x); + it->setY(y); + + if (ui.showNumbers_Checkbox->isChecked() ) + { + QGraphicsTextItem* const io = new QGraphicsTextItem(); + + if (io != nullptr) + { + io->setPos(x + (TILE_SIZE / 4), y); + io->setPlainText(QString::number(i + (j * level_size))); + + gscene.addItem(io); + + /* Append pointer to the list so it can be + * safely removed on the constructor. */ + textItems.append(io); + } + } + } + } } bool MainWindow::checkFile(QFile& f, QFile::OpenModeFlag flags) @@ -486,9 +767,7 @@ void MainWindow::loadTilesetData(void) { const QString filePath = "./tileset.ini"; - QFile f(filePath); - - if (f.exists()) + if (QFile(filePath).exists()) { QSettings tilesetFile("./tileset.ini", QSettings::IniFormat); QStringList tilesets_to_check; diff --git a/Source/MapEditor/mainwindow.h b/Source/MapEditor/mainwindow.h index 97e39ef..6b27128 100644 --- a/Source/MapEditor/mainwindow.h +++ b/Source/MapEditor/mainwindow.h @@ -33,11 +33,39 @@ public: void closeEvent(QCloseEvent*); private: + struct IsometricPos + { + short x; + short y; + short z; + }; + + struct CartesianPos + { + short x; + short y; + }; + bool checkFile(QFile &f, QFile::OpenModeFlag flags = QFile::ReadOnly); void appSettings(void); void loadTilesetData(void); void loadBuildingData(void); - void parseMapData(QDataStream &ds, const QPixmap &tileSet, const QPixmap &tileSet2); + void parseMapData(QDataStream &ds); + void addTile(quint8 CurrentTile, const int i, const int j); + void addBuilding(quint8 CurrentBuilding, const int i, const int j); + CartesianPos isometricToCartesian(const IsometricPos& ptrIsoPos) const + { + CartesianPos retCartPos; + + retCartPos.x = ptrIsoPos.x - (ptrIsoPos.x >> 1); + retCartPos.x -= ptrIsoPos.y >> 1; + + retCartPos.y = ptrIsoPos.y >> 2; + retCartPos.y += ptrIsoPos.x >> 2; + retCartPos.y -= ptrIsoPos.z; + + return retCartPos; + } Ui::MainWindow ui; QString _last_dir; @@ -46,10 +74,12 @@ private: QByteArray map_buffer; int selected_item; QHash tilesetData; + QHash buildingData; QList textItems; QShortcut tileSet; QShortcut tileMoveUp; QString tilesetPaths[2]; + QString buildingPath; private slots: void loadMap(void); diff --git a/Source/MapEditor/settings.ini b/Source/MapEditor/settings.ini index 4300b90..5ad5294 100644 --- a/Source/MapEditor/settings.ini +++ b/Source/MapEditor/settings.ini @@ -1,3 +1,3 @@ [app_settings] last_dir=/home/xavier/Airport/Levels/LEVEL3.LVL -window_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5U\0\0\x2\xdb\0\0\0\xaa\0\0\0P\0\0\x4\x41\0\0\x2\xd7\0\0\0\0\x2\0\0\0\x5V\0\0\0\0\0\0\0\x1d\0\0\x5U\0\0\x2\xdb) +window_geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x5U\0\0\x2\xdb\0\0\0\xa5\0\0\0\x1d\0\0\x4<\0\0\x2\xa4\0\0\0\0\x2\0\0\0\x5V\0\0\0\0\0\0\0\x1d\0\0\x5U\0\0\x2\xdb) diff --git a/Sprites/.directory b/Sprites/.directory index 538e082..e833710 100644 --- a/Sprites/.directory +++ b/Sprites/.directory @@ -1,3 +1,4 @@ [Dolphin] -Timestamp=2017,9,16,12,34,20 -Version=3 +PreviewsShown=true +Timestamp=2018,11,25,18,45,48 +Version=4 diff --git a/Sprites/CITYBG1.bmp b/Sprites/CITYBG1.bmp deleted file mode 100644 index 8b315f8c353be8665236a0c8d4fe9aa5f03e72b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24630 zcmeH}QEnSC3`E^q^awpc@>}%3cgRiJoAk4X?1v*nz(ReM$C8ICH;5Louw#-li%>-L#_k4>b`qEL#_k4>b`qEL#_k4>b`qEL#_k4>b`qEL#_k4>b`qEL#_k4>b`qE zL#_k4>b`qEL#_k4>b`qEL#_k4>b`qm`1R*{{FTv;`*Ks@b94P0MRIk<;cwKQL)2?a zfh(qafEf(%5Dgi!bSeFk(0=<{P_K*$05>L7%=&+jv!LqMM& zBLhMX&{qc`)P4RgL;W&v#rr3ad4vk;uoMsu>u6PX_`3`vLrvwN!>L+7d9}LF4+fk8 zKpY7Tt9#(rC5S>D5XpdDb$>&_fawq&fndOlfS6Ikst$f#f+*AhkqkJZt_gLt%dbmD zIs^kC7&Pp5s7nxqIv|n(N7OZ;j&}KV$w-G_00e`E-41mLqEH7!GT?~1Ce+a`zb+Z+ zu+j#uc>e@4k5EA!4rse{w5o$&mq5MCFf!Cs4mzBw^^;et`}|XS<%Ac+SAOxJ^*R{U7Zl=qxOAzfcU?@N^APTseA9Co;R|g^Fy8OBX z(Jlj20KtGL;A(!zp*LS0gplj<>k>q}4E4*v74Nq|<`F8W!$Uy$1Bm3R4t`yNXqRDR zsHq%uI92N>uU7Z@!GK+!f+_o}_XyMJIt}qiBDpph(&61BBof-`4&S0~LZ)jwgohfwJO43`?q5d(PuKRp zSY7;_+MVscc;~bsak}&g*U?4(SK7ceZ+IjF2A;0-cj)ZG`KLR7haboPbN)hY{~z9$@^Crs`L*rS{qPjG z3PYxAJDmDSLNZ|OIiy2p7uxA=+4%7HA=9-T!bAM%10oslg#M$$sc}#nINkQYY(()B z4r{pmAABi|pDt}UqKo{mw1I2L8*8H)8w0{m*qESG_&|#}7f&O(D;n?)>W8|J*&={%`+t O9mrKL=YQ$tPxlHc1d31q diff --git a/Sprites/CITYBG1.flags b/Sprites/CITYBG1.flags deleted file mode 100644 index 7bde953..0000000 --- a/Sprites/CITYBG1.flags +++ /dev/null @@ -1 +0,0 @@ -16 -org=896,0 -mpink diff --git a/cdimg/DATA/LEVELS/LEVEL1.LVL b/cdimg/DATA/LEVELS/LEVEL1.LVL index 84591f8dfa8558a114e7e58b5a4d01f8f7223c66..dfb07515ab5389f54e218d50567ab38fc0d175a1 100644 GIT binary patch delta 40 pcmX@Wcz|(2h&U?)8v_V4Gq5m#06Q~7I}lIIl4fRNV3^op4ghx61)%@{ delta 41 ocmX@Wcz|(2h!_JS6f!fgFaQBFdpi(M%$8