diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2018-11-24 13:03:52 +0100 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2018-11-24 13:03:52 +0100 |
| commit | 6c687dd30b552d646c87c2361394a1183ef5281a (patch) | |
| tree | 68fc377c007f7eb38c2c72c120391da0e50e1b7e | |
| parent | ce0027e87fe9be70000e53f52f185321bae3e35e (diff) | |
New LEVEL3.
Improvements.
| -rw-r--r-- | Bin/AIRPORT.bin | bin | 1702848 -> 1707552 bytes | |||
| -rw-r--r-- | Levels/LEVEL3.LVL | bin | 0 -> 576 bytes | |||
| -rw-r--r-- | Levels/LEVEL3.PLT | 17 | ||||
| -rw-r--r-- | Source/Aircraft.c | 40 | ||||
| -rw-r--r-- | Source/Airport.geany | 29 | ||||
| -rwxr-xr-x | Source/Exe/AIRPORT.elf | bin | 357460 -> 357644 bytes | |||
| -rw-r--r-- | Source/Exe/AIRPORT.iso | bin | 1482752 -> 1486848 bytes | |||
| -rw-r--r-- | Source/Game.c | 60 | ||||
| -rw-r--r-- | Source/Makefile | 10 | ||||
| -rw-r--r-- | Source/MapEditor/mainwindow.cpp | 25 | ||||
| -rw-r--r-- | Source/MapEditor/mainwindow.h | 4 | ||||
| -rw-r--r-- | Source/MapEditor/mainwindow.ui | 2 | ||||
| -rw-r--r-- | Source/Menu.c | 30 | ||||
| -rw-r--r-- | cdimg/DATA/LEVELS/LEVEL3.LVL | bin | 0 -> 576 bytes | |||
| -rw-r--r-- | cdimg/DATA/LEVELS/LEVEL3.PLT | 17 | ||||
| -rw-r--r-- | cdimg/DATA/SPRITES/CITYBG1.TIM | bin | 16404 -> 0 bytes |
16 files changed, 160 insertions, 74 deletions
diff --git a/Bin/AIRPORT.bin b/Bin/AIRPORT.bin Binary files differindex 147a91e..0c5a18c 100644 --- a/Bin/AIRPORT.bin +++ b/Bin/AIRPORT.bin diff --git a/Levels/LEVEL3.LVL b/Levels/LEVEL3.LVL Binary files differnew file mode 100644 index 0000000..dffa05e --- /dev/null +++ b/Levels/LEVEL3.LVL 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 Binary files differindex bbb1129..405858e 100755 --- a/Source/Exe/AIRPORT.elf +++ b/Source/Exe/AIRPORT.elf diff --git a/Source/Exe/AIRPORT.iso b/Source/Exe/AIRPORT.iso Binary files differindex c8b77bf..003f98b 100644 --- a/Source/Exe/AIRPORT.iso +++ b/Source/Exe/AIRPORT.iso 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 Binary files differnew file mode 100644 index 0000000..dffa05e --- /dev/null +++ b/cdimg/DATA/LEVELS/LEVEL3.LVL 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 Binary files differdeleted file mode 100644 index c02b371..0000000 --- a/cdimg/DATA/SPRITES/CITYBG1.TIM +++ /dev/null |
