aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2018-11-24 13:03:52 +0100
committerXavier ASUS <xavi92psx@gmail.com>2018-11-24 13:03:52 +0100
commit6c687dd30b552d646c87c2361394a1183ef5281a (patch)
tree68fc377c007f7eb38c2c72c120391da0e50e1b7e
parentce0027e87fe9be70000e53f52f185321bae3e35e (diff)
New LEVEL3.
Improvements.
-rw-r--r--Bin/AIRPORT.binbin1702848 -> 1707552 bytes
-rw-r--r--Levels/LEVEL3.LVLbin0 -> 576 bytes
-rw-r--r--Levels/LEVEL3.PLT17
-rw-r--r--Source/Aircraft.c40
-rw-r--r--Source/Airport.geany29
-rwxr-xr-xSource/Exe/AIRPORT.elfbin357460 -> 357644 bytes
-rw-r--r--Source/Exe/AIRPORT.isobin1482752 -> 1486848 bytes
-rw-r--r--Source/Game.c60
-rw-r--r--Source/Makefile10
-rw-r--r--Source/MapEditor/mainwindow.cpp25
-rw-r--r--Source/MapEditor/mainwindow.h4
-rw-r--r--Source/MapEditor/mainwindow.ui2
-rw-r--r--Source/Menu.c30
-rw-r--r--cdimg/DATA/LEVELS/LEVEL3.LVLbin0 -> 576 bytes
-rw-r--r--cdimg/DATA/LEVELS/LEVEL3.PLT17
-rw-r--r--cdimg/DATA/SPRITES/CITYBG1.TIMbin16404 -> 0 bytes
16 files changed, 160 insertions, 74 deletions
diff --git a/Bin/AIRPORT.bin b/Bin/AIRPORT.bin
index 147a91e..0c5a18c 100644
--- a/Bin/AIRPORT.bin
+++ b/Bin/AIRPORT.bin
Binary files differ
diff --git a/Levels/LEVEL3.LVL b/Levels/LEVEL3.LVL
new file mode 100644
index 0000000..dffa05e
--- /dev/null
+++ b/Levels/LEVEL3.LVL
Binary files differ
diff --git a/Levels/LEVEL3.PLT b/Levels/LEVEL3.PLT
new file mode 100644
index 0000000..b15dbde
--- /dev/null
+++ b/Levels/LEVEL3.PLT
@@ -0,0 +1,17 @@
+#DEPARTURE/ARRIVAL;Flight number;Passengers;HH:MM;Parking (departure only);Remaining time
+#This is a comment example.
+#If DEPARTURE, parking must be set
+#If ARRIVAL, set parking to zero
+#First line must set initial time
+#For example:
+14:55
+#Aircraft arrival (or departure) must be set relative to initial time, in HH:MM format.
+ARRIVAL;PHX1802;100;00:10;0;360
+ARRIVAL;PHX1805;125;00:10;0;360
+ARRIVAL;PHX1806;125;00:30;0;360
+ARRIVAL;PHX1807;125;00:50;0;360
+ARRIVAL;PHX1808;125;01:30;0;360
+DEPARTURE;PHX1000;53;00:05;152;360
+DEPARTURE;PHX1001;53;00:15;153;360
+DEPARTURE;PHX1002;53;00:30;154;360
+DEPARTURE;PHX1003;53;00:45;155;360
diff --git a/Source/Aircraft.c b/Source/Aircraft.c
index f2727a4..211f57e 100644
--- a/Source/Aircraft.c
+++ b/Source/Aircraft.c
@@ -58,20 +58,17 @@ static TYPE_CARTESIAN_POS AircraftCenterPos;
static char* AircraftLiveryNamesTable[] = {"PHX", NULL};
static AIRCRAFT_LIVERY AircraftLiveryTable[] = {AIRCRAFT_LIVERY_0, AIRCRAFT_LIVERY_UNKNOWN};
-static const char* GameFileList[] = { "DATA\\SPRITES\\UDNARROW.TIM",
- "DATA\\SPRITES\\LFRARROW.TIM" };
-
-static void* GameFileDest[] = { (GsSprite*)&UpDownArrowSpr,
- (GsSprite*)&LeftRightArrowSpr };
-
// Used to quickly link FlightData indexes against AircraftData indexes.
static uint8_t flightDataIdxTable[GAME_MAX_AIRCRAFT];
-static const fix16_t AircraftSpeedsTable[] = { [AIRCRAFT_SPEED_IDLE] = 0,
- [AIRCRAFT_SPEED_GROUND] = 0x9999,
- [AIRCRAFT_SPEED_TAKEOFF] = 0x20000,
- [AIRCRAFT_SPEED_FINAL] = 0x10000,
- [AIRCRAFT_SPEED_FINAL_Z] = 0x4000 };
+static const fix16_t AircraftSpeedsTable[] =
+{
+ [AIRCRAFT_SPEED_IDLE] = 0,
+ [AIRCRAFT_SPEED_GROUND] = 0x9999,
+ [AIRCRAFT_SPEED_TAKEOFF] = 0x20000,
+ [AIRCRAFT_SPEED_FINAL] = 0x10000,
+ [AIRCRAFT_SPEED_FINAL_Z] = 0x3000
+};
/* *************************************
* Local prototypes
@@ -115,12 +112,21 @@ void AircraftInit(void)
if (initialised == false)
{
+ static const char* const GameFileList[] =
+ {
+ "DATA\\SPRITES\\UDNARROW.TIM",
+ "DATA\\SPRITES\\LFRARROW.TIM"
+ };
+
+ static void* const GameFileDest[] =
+ {
+ &UpDownArrowSpr,
+ &LeftRightArrowSpr
+ };
+
initialised = true;
- LoadMenu( GameFileList,
- GameFileDest,
- sizeof (GameFileList) / sizeof (GameFileList[0]),
- sizeof (GameFileDest) / sizeof (GameFileDest[0]) );
+ LOAD_FILES(GameFileList, GameFileDest);
}
}
@@ -157,7 +163,7 @@ bool AircraftAddNew( TYPE_FLIGHT_DATA* const ptrFlightData,
ptrAircraft->IsoPos.y = fix16_from_int(ptrAircraft->IsoPos.y);
ptrAircraft->IsoPos.z = targets[0] % level_columns;
- ptrAircraft->IsoPos.z <<= TILE_SIZE_BIT_SHIFT - 1;
+ ptrAircraft->IsoPos.z <<= TILE_SIZE_BIT_SHIFT - 2;
ptrAircraft->IsoPos.z = fix16_from_int(ptrAircraft->IsoPos.z);
break;
@@ -170,7 +176,7 @@ bool AircraftAddNew( TYPE_FLIGHT_DATA* const ptrFlightData,
ptrAircraft->IsoPos.y = 0;
ptrAircraft->IsoPos.z = targets[0] / level_columns;
- ptrAircraft->IsoPos.z <<= TILE_SIZE_BIT_SHIFT - 1;
+ ptrAircraft->IsoPos.z <<= TILE_SIZE_BIT_SHIFT - 2;
ptrAircraft->IsoPos.z = fix16_from_int(ptrAircraft->IsoPos.z);
break;
diff --git a/Source/Airport.geany b/Source/Airport.geany
index 7bf7129..bed0171 100644
--- a/Source/Airport.geany
+++ b/Source/Airport.geany
@@ -28,34 +28,34 @@ long_line_behaviour=1
long_line_column=120
[files]
-current_page=41
-FILE_NAME_0=9500;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.c;0;4
-FILE_NAME_1=5298;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.c;0;4
+current_page=4
+FILE_NAME_0=6076;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.c;0;4
+FILE_NAME_1=266;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.c;0;4
FILE_NAME_2=4018;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FEndAnimation.c;0;4
FILE_NAME_3=6782;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FFont.c;0;4
-FILE_NAME_4=34311;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.c;0;4
-FILE_NAME_5=9784;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.c;0;4
-FILE_NAME_6=17638;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.c;0;4
+FILE_NAME_4=108515;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.c;0;4
+FILE_NAME_5=20231;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.c;0;4
+FILE_NAME_6=18939;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.c;0;4
FILE_NAME_7=11629;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FLoadMenu.c;0;4
FILE_NAME_8=746;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2Fmain.c;0;4
FILE_NAME_9=745;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMainMenuBtnAni.c;0;4
FILE_NAME_10=26018;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMemCard.c;0;4
-FILE_NAME_11=22534;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMenu.c;0;4
+FILE_NAME_11=3987;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMenu.c;0;4
FILE_NAME_12=1486;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMessage.c;0;4
-FILE_NAME_13=9847;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPad.c;0;4
+FILE_NAME_13=7435;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPad.c;0;4
FILE_NAME_14=10669;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPltParser.c;0;4
FILE_NAME_15=8394;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPSXSDKIntro.c;0;4
FILE_NAME_16=1758;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSerial.c;0;4
FILE_NAME_17=1221;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSfx.c;0;4
-FILE_NAME_18=22173;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.c;0;4
+FILE_NAME_18=23798;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.c;0;4
FILE_NAME_19=2698;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FTimer.c;0;4
-FILE_NAME_20=714;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.h;0;4
+FILE_NAME_20=451;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FAircraft.h;0;4
FILE_NAME_21=848;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FCamera.h;0;4
FILE_NAME_22=529;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FEndAnimation.h;0;4
FILE_NAME_23=1133;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FFont.h;0;4
FILE_NAME_24=1633;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameGui.h;0;4
-FILE_NAME_25=658;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.h;0;4
-FILE_NAME_26=172;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameStructures.h;0;4
+FILE_NAME_25=413;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGame.h;0;4
+FILE_NAME_26=3831;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGameStructures.h;0;4
FILE_NAME_27=3564;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGfx.h;0;4
FILE_NAME_28=406;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FGlobal_Inc.h;0;4
FILE_NAME_29=273;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FLoadMenu.h;0;4
@@ -68,9 +68,10 @@ FILE_NAME_35=548;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPltPar
FILE_NAME_36=684;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FPSXSDKIntro.h;0;4
FILE_NAME_37=752;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSerial.h;0;4
FILE_NAME_38=831;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSfx.h;0;4
-FILE_NAME_39=421;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.h;0;4
+FILE_NAME_39=3384;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FSystem.h;0;4
FILE_NAME_40=1066;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FTimer.h;0;4
-FILE_NAME_41=3393;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMakefile;0;4
+FILE_NAME_41=2364;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FAirport%2FSource%2FMakefile;0;4
+FILE_NAME_42=623;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FAirport%2FLevels%2FLEVEL3.PLT;0;4
[VTE]
last_dir=/home/xavier/Airport/Bin
diff --git a/Source/Exe/AIRPORT.elf b/Source/Exe/AIRPORT.elf
index bbb1129..405858e 100755
--- a/Source/Exe/AIRPORT.elf
+++ b/Source/Exe/AIRPORT.elf
Binary files differ
diff --git a/Source/Exe/AIRPORT.iso b/Source/Exe/AIRPORT.iso
index c8b77bf..003f98b 100644
--- a/Source/Exe/AIRPORT.iso
+++ b/Source/Exe/AIRPORT.iso
Binary files differ
diff --git a/Source/Game.c b/Source/Game.c
index 4a04a1b..26bfb21 100644
--- a/Source/Game.c
+++ b/Source/Game.c
@@ -247,34 +247,6 @@ static SsVag BeepSnd;
// Instances for player-specific data
static TYPE_PLAYER PlayerData[MAX_PLAYERS];
-static const char* const GameFileList[] =
-{
- "DATA\\SPRITES\\TILESET1.TIM",
- "DATA\\SPRITES\\GAMEPLN.TIM",
- "DATA\\SPRITES\\PLNBLUE.CLT",
- "DATA\\SPRITES\\MOUSE.TIM",
- "DATA\\SPRITES\\BLDNGS1.TIM",
- "DATA\\SOUNDS\\RCPW1A1.VAG",
- "DATA\\SOUNDS\\RCPM1A1.VAG",
- "DATA\\SOUNDS\\RCTM1F1.VAG",
- "DATA\\SOUNDS\\TAKEOFF1.VAG",
- "DATA\\SOUNDS\\BEEP.VAG"
-};
-
-static void* GameFileDest[] =
-{
- &GameTilesetSpr,
- &GamePlaneSpr,
- NULL, // CLT files must use NULL pointers
- &GameMouseSpr,
- &GameBuildingSpr,
- &ApproachSnds[SOUND_M1_INDEX],
- &ApproachSnds[SOUND_W1_INDEX],
- &TowerFinalSnds[SOUND_M1_INDEX],
- &TakeoffSnd,
- &BeepSnd
-};
-
static void* GamePltDest[] = {(TYPE_FLIGHT_DATA*)&FlightData };
static uint16_t levelBuffer[GAME_MAX_MAP_SIZE];
@@ -433,6 +405,34 @@ static bool GamePause(void)
* ***************************************************************************************/
void GameInit(const TYPE_GAME_CONFIGURATION* const pGameCfg)
{
+ static const char* const GameFileList[] =
+ {
+ "DATA\\SPRITES\\TILESET1.TIM",
+ "DATA\\SPRITES\\GAMEPLN.TIM",
+ "DATA\\SPRITES\\PLNBLUE.CLT",
+ "DATA\\SPRITES\\MOUSE.TIM",
+ "DATA\\SPRITES\\BLDNGS1.TIM",
+ "DATA\\SOUNDS\\RCPW1A1.VAG",
+ "DATA\\SOUNDS\\RCPM1A1.VAG",
+ "DATA\\SOUNDS\\RCTM1F1.VAG",
+ "DATA\\SOUNDS\\TAKEOFF1.VAG",
+ "DATA\\SOUNDS\\BEEP.VAG"
+ };
+
+ static void* GameFileDest[] =
+ {
+ &GameTilesetSpr,
+ &GamePlaneSpr,
+ NULL, // CLT files must use NULL pointers
+ &GameMouseSpr,
+ &GameBuildingSpr,
+ &ApproachSnds[SOUND_M1_INDEX],
+ &ApproachSnds[SOUND_W1_INDEX],
+ &TowerFinalSnds[SOUND_M1_INDEX],
+ &TakeoffSnd,
+ &BeepSnd
+ };
+
uint8_t i;
uint32_t track;
static bool loaded;
@@ -1409,7 +1409,7 @@ static void GameLoadLevel(const char* path)
if (strncmp(LevelHeader,LEVEL_MAGIC_NUMBER_STRING,LEVEL_MAGIC_NUMBER_SIZE) != 0)
{
- Serial_printf("Invalid level header! Read \"%s\" instead of \"ATC\"\n",LevelHeader);
+ Serial_printf("Invalid level header! Read \"%s\" instead of " LEVEL_MAGIC_NUMBER_STRING "\n", LevelHeader);
return;
}
@@ -3177,6 +3177,7 @@ bool GamePathToTile(TYPE_PLAYER* const ptrPlayer, TYPE_FLIGHT_DATA* const ptrFli
TILE_PARKING,
TILE_RWY_MID,
TILE_RWY_EXIT,
+ TILE_RWY_EXIT_2,
TILE_TAXIWAY_CORNER_GRASS,
TILE_TAXIWAY_CORNER_GRASS_2,
TILE_TAXIWAY_GRASS,
@@ -3315,6 +3316,7 @@ bool GamePathToTile(TYPE_PLAYER* const ptrPlayer, TYPE_FLIGHT_DATA* const ptrFli
TILE_PARKING | TILE_MIRROR_FLAG,
TILE_RWY_MID | TILE_MIRROR_FLAG,
TILE_RWY_EXIT | TILE_MIRROR_FLAG,
+ TILE_RWY_EXIT_2 | TILE_MIRROR_FLAG,
TILE_TAXIWAY_CORNER_GRASS | TILE_MIRROR_FLAG,
TILE_TAXIWAY_CORNER_GRASS_2 | TILE_MIRROR_FLAG,
TILE_TAXIWAY_GRASS | TILE_MIRROR_FLAG,
diff --git a/Source/Makefile b/Source/Makefile
index 6704bc7..84f0f2b 100644
--- a/Source/Makefile
+++ b/Source/Makefile
@@ -79,7 +79,15 @@ SOUND_OBJECTS = $(addprefix $(OBJ_SOUNDS_DIR)/, BELL.VAG \
# Level objects:
SRC_LEVELS_DIR = $(PROJECT_DIR)/Levels
OBJ_LEVELS_DIR = $(CDROM_ROOT)/DATA/LEVELS
-LEVEL_OBJECTS = $(addprefix $(OBJ_LEVELS_DIR)/, LEVEL1.LVL LEVEL2.LVL LEVEL2.PLT LEVEL1.PLT EASY.PLT TUTORIA1.PLT)
+LEVEL_OBJECTS = $(addprefix $(OBJ_LEVELS_DIR)/, \
+ LEVEL1.LVL \
+ LEVEL2.LVL \
+ LEVEL3.LVL \
+ LEVEL1.PLT \
+ LEVEL2.PLT \
+ LEVEL3.PLT \
+ EASY.PLT \
+ TUTORIA1.PLT)
# Sprite objects:
BMP2TIM = bmp2tim
diff --git a/Source/MapEditor/mainwindow.cpp b/Source/MapEditor/mainwindow.cpp
index 2509c49..3758925 100644
--- a/Source/MapEditor/mainwindow.cpp
+++ b/Source/MapEditor/mainwindow.cpp
@@ -4,13 +4,16 @@
#include <QGraphicsPixmapItem>
#include <QInputDialog>
#include <QMessageBox>
+#include <QShortcut>
#define DEFAULT_AIRPORT_NAME QByteArray("Default Airport\0")
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
level_size(0),
- selected_item(-1)
+ selected_item(-1),
+ tileSet(tr("Space"), this),
+ tileMoveUp(tr("Up"), this)
{
ui.setupUi(this);
this->setWindowTitle(APP_FULL_NAME);
@@ -21,9 +24,13 @@ MainWindow::MainWindow(QWidget *parent) :
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)));
- connect(&gscene, SIGNAL(updateSelectedItem(void)), this, SLOT(onListItemSelected(void)));
+ connect(&gscene, SIGNAL(positionClicked(QPointF)), this, SLOT(onMapItemClicked(QPointF)));
+ connect(&gscene, SIGNAL(noItemSelected(void)), this, SLOT(onNoItemSelected(void)));
+ connect(&gscene, SIGNAL(updateSelectedItem(void)), this, SLOT(onListItemSelected(void)));
+
+ // Configure keyboard shortcuts.
+ connect(&tileSet, SIGNAL(activated()), this, SLOT(onListItemSelected(void)));
+ connect(&tileMoveUp, SIGNAL(activated(void)), this, SLOT(moveUp(void)));
appSettings();
loadTilesetData();
@@ -34,7 +41,10 @@ MainWindow::~MainWindow()
{
foreach (QGraphicsTextItem* it, textItems)
{
- delete it;
+ if (it != nullptr)
+ {
+ delete it;
+ }
}
}
@@ -477,6 +487,11 @@ void MainWindow::onAirportNameModified(QString name)
}
}
+void MainWindow::moveUp(void)
+{
+
+}
+
void MainWindow::showError(const QString& error)
{
QMessageBox::critical(this, APP_FULL_NAME, error);
diff --git a/Source/MapEditor/mainwindow.h b/Source/MapEditor/mainwindow.h
index 5d4cfe5..40963c9 100644
--- a/Source/MapEditor/mainwindow.h
+++ b/Source/MapEditor/mainwindow.h
@@ -6,6 +6,7 @@
#include <QSettings>
#include <QDebug>
#include <QPixmap>
+#include <QShortcut>
#include "mygraphicsscene.h"
#include "ui_mainwindow.h"
@@ -46,6 +47,8 @@ private:
int selected_item;
QHash<int, QString> tilesetData;
QList<QGraphicsTextItem*> textItems;
+ QShortcut tileSet;
+ QShortcut tileMoveUp;
private slots:
void loadMap(void);
@@ -58,6 +61,7 @@ private slots:
void onShowNumbers(int);
void onAirportNameModified(QString);
void showError(const QString& error);
+ void moveUp(void);
};
#endif // MAINWINDOW_H
diff --git a/Source/MapEditor/mainwindow.ui b/Source/MapEditor/mainwindow.ui
index bb88a34..eb25f97 100644
--- a/Source/MapEditor/mainwindow.ui
+++ b/Source/MapEditor/mainwindow.ui
@@ -77,7 +77,7 @@
<string>Show numbers on map</string>
</property>
<property name="checked">
- <bool>true</bool>
+ <bool>false</bool>
</property>
</widget>
</item>
diff --git a/Source/Menu.c b/Source/Menu.c
index 8ade191..74802c4 100644
--- a/Source/Menu.c
+++ b/Source/Menu.c
@@ -31,6 +31,7 @@ typedef enum t_levelId
{
LEVEL1 = 0,
LEVEL2,
+ LEVEL3,
MAX_LEVELS
}LEVEL_ID;
@@ -154,17 +155,32 @@ static bool isLevelSelected;
static const char* MainMenuLevelList[] =
{
[LEVEL1] = "DATA\\LEVELS\\LEVEL1.LVL",
- [LEVEL2] = "DATA\\LEVELS\\LEVEL2.LVL"
+ [LEVEL2] = "DATA\\LEVELS\\LEVEL2.LVL",
+ [LEVEL3] = "DATA\\LEVELS\\LEVEL3.LVL"
};
-static const char* MainMenuLevel1Plt[] = { "DATA\\LEVELS\\TUTORIA1.PLT",
- "DATA\\LEVELS\\LEVEL1.PLT",
- "DATA\\LEVELS\\EASY.PLT",
- NULL};
+static const char** MainMenuPltList[] =
+{
+ [LEVEL1] = (const char*[])
+ {
+ "DATA\\LEVELS\\TUTORIA1.PLT",
+ "DATA\\LEVELS\\LEVEL1.PLT",
+ "DATA\\LEVELS\\EASY.PLT",
+ NULL
+ },
-static const char* MainMenuLevel2Plt[] = {"DATA\\LEVELS\\LEVEL2.PLT", NULL};
+ [LEVEL2] = (const char*[])
+ {
+ "DATA\\LEVELS\\LEVEL2.PLT",
+ NULL
+ },
-static const char** MainMenuPltList[] = {[LEVEL1] = MainMenuLevel1Plt, [LEVEL2] = MainMenuLevel2Plt};
+ [LEVEL3] = (const char*[])
+ {
+ "DATA\\LEVELS\\LEVEL3.PLT",
+ NULL
+ }
+};
static TYPE_GAME_CONFIGURATION GameCfg;
diff --git a/cdimg/DATA/LEVELS/LEVEL3.LVL b/cdimg/DATA/LEVELS/LEVEL3.LVL
new file mode 100644
index 0000000..dffa05e
--- /dev/null
+++ b/cdimg/DATA/LEVELS/LEVEL3.LVL
Binary files differ
diff --git a/cdimg/DATA/LEVELS/LEVEL3.PLT b/cdimg/DATA/LEVELS/LEVEL3.PLT
new file mode 100644
index 0000000..b15dbde
--- /dev/null
+++ b/cdimg/DATA/LEVELS/LEVEL3.PLT
@@ -0,0 +1,17 @@
+#DEPARTURE/ARRIVAL;Flight number;Passengers;HH:MM;Parking (departure only);Remaining time
+#This is a comment example.
+#If DEPARTURE, parking must be set
+#If ARRIVAL, set parking to zero
+#First line must set initial time
+#For example:
+14:55
+#Aircraft arrival (or departure) must be set relative to initial time, in HH:MM format.
+ARRIVAL;PHX1802;100;00:10;0;360
+ARRIVAL;PHX1805;125;00:10;0;360
+ARRIVAL;PHX1806;125;00:30;0;360
+ARRIVAL;PHX1807;125;00:50;0;360
+ARRIVAL;PHX1808;125;01:30;0;360
+DEPARTURE;PHX1000;53;00:05;152;360
+DEPARTURE;PHX1001;53;00:15;153;360
+DEPARTURE;PHX1002;53;00:30;154;360
+DEPARTURE;PHX1003;53;00:45;155;360
diff --git a/cdimg/DATA/SPRITES/CITYBG1.TIM b/cdimg/DATA/SPRITES/CITYBG1.TIM
deleted file mode 100644
index c02b371..0000000
--- a/cdimg/DATA/SPRITES/CITYBG1.TIM
+++ /dev/null
Binary files differ