parent
ce0027e87f
commit
6c687dd30b
BIN
Bin/AIRPORT.bin
BIN
Bin/AIRPORT.bin
Binary file not shown.
Binary file not shown.
|
@ -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
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
<string>Show numbers on map</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Binary file not shown.
|
@ -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
|
Binary file not shown.
Loading…
Reference in New Issue