* Adjusted coordinates for aircraft list in 2 player mode.

* Added new "Id" parameter in TYPE_PLAYER structure. Not ideal, but needed nevertheless.
This commit is contained in:
XaviDCR92 2017-05-07 22:18:34 +02:00
parent 6a90ed354f
commit 3a8f914661
4 changed files with 34 additions and 28 deletions

View File

@ -265,6 +265,7 @@ void GameInit(void)
PlayerData[PLAYER_ONE].PadKeySinglePress_Callback = &PadOneKeySinglePress;
PlayerData[PLAYER_ONE].PadDirectionKeyPressed_Callback = &PadOneDirectionKeyPressed;
PlayerData[PLAYER_ONE].FlightDataPage = 0;
PlayerData[PLAYER_ONE].Id = PLAYER_ONE;
PlayerData[PLAYER_TWO].Active = TwoPlayersActive? true : false;
@ -280,6 +281,7 @@ void GameInit(void)
// other player controls arrival flights.
PlayerData[PLAYER_ONE].FlightDirection = DEPARTURE;
PlayerData[PLAYER_TWO].FlightDirection = ARRIVAL;
PlayerData[PLAYER_TWO].Id = PLAYER_TWO;
}
else
{

View File

@ -112,15 +112,15 @@ enum
AIRCRAFT_DATA_GSGPOLY4_Y2 = (Y_SCREEN_RESOLUTION >> 1) + 96,
AIRCRAFT_DATA_GSGPOLY4_Y3 = AIRCRAFT_DATA_GSGPOLY4_Y2,
AIRCRAFT_DATA_GSGPOLY4_X0_2PLAYER = (X_SCREEN_RESOLUTION >> 2) - (96 >> 1),
AIRCRAFT_DATA_GSGPOLY4_X1_2PLAYER = (X_SCREEN_RESOLUTION >> 2) + (96 >> 1),
AIRCRAFT_DATA_GSGPOLY4_X2_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_X0,
AIRCRAFT_DATA_GSGPOLY4_X3_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_X1,
AIRCRAFT_DATA_GSGPOLY4_X0_2PLAYER = 24,
AIRCRAFT_DATA_GSGPOLY4_X1_2PLAYER = 168,
AIRCRAFT_DATA_GSGPOLY4_X2_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_X0_2PLAYER,
AIRCRAFT_DATA_GSGPOLY4_X3_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_X1_2PLAYER,
AIRCRAFT_DATA_GSGPOLY4_Y0_2PLAYER = (Y_SCREEN_RESOLUTION >> 2) - (96 >> 1),
AIRCRAFT_DATA_GSGPOLY4_Y1_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_Y0,
AIRCRAFT_DATA_GSGPOLY4_Y2_2PLAYER = (Y_SCREEN_RESOLUTION >> 2) + (96 >> 1),
AIRCRAFT_DATA_GSGPOLY4_Y3_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_Y2,
AIRCRAFT_DATA_GSGPOLY4_Y0_2PLAYER = 24,
AIRCRAFT_DATA_GSGPOLY4_Y1_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_Y0_2PLAYER,
AIRCRAFT_DATA_GSGPOLY4_Y2_2PLAYER = 208,
AIRCRAFT_DATA_GSGPOLY4_Y3_2PLAYER = AIRCRAFT_DATA_GSGPOLY4_Y2_2PLAYER,
};
enum
@ -466,18 +466,6 @@ void GameGuiAircraftList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA * ptrFlightDat
if(GameTwoPlayersActive() == true)
{
AircraftDataGPoly4.x[0] = AIRCRAFT_DATA_GSGPOLY4_X0;
AircraftDataGPoly4.x[1] = AIRCRAFT_DATA_GSGPOLY4_X1;
AircraftDataGPoly4.x[2] = AIRCRAFT_DATA_GSGPOLY4_X2;
AircraftDataGPoly4.x[3] = AIRCRAFT_DATA_GSGPOLY4_X3;
AircraftDataGPoly4.y[0] = AIRCRAFT_DATA_GSGPOLY4_Y0;
AircraftDataGPoly4.y[1] = AIRCRAFT_DATA_GSGPOLY4_Y1;
AircraftDataGPoly4.y[2] = AIRCRAFT_DATA_GSGPOLY4_Y2;
AircraftDataGPoly4.y[3] = AIRCRAFT_DATA_GSGPOLY4_Y3;
}
else
{
AircraftDataGPoly4.x[0] = AIRCRAFT_DATA_GSGPOLY4_X0_2PLAYER;
AircraftDataGPoly4.x[1] = AIRCRAFT_DATA_GSGPOLY4_X1_2PLAYER;
AircraftDataGPoly4.x[2] = AIRCRAFT_DATA_GSGPOLY4_X2_2PLAYER;
@ -487,6 +475,26 @@ void GameGuiAircraftList(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA * ptrFlightDat
AircraftDataGPoly4.y[1] = AIRCRAFT_DATA_GSGPOLY4_Y1_2PLAYER;
AircraftDataGPoly4.y[2] = AIRCRAFT_DATA_GSGPOLY4_Y2_2PLAYER;
AircraftDataGPoly4.y[3] = AIRCRAFT_DATA_GSGPOLY4_Y3_2PLAYER;
if(ptrPlayer->Id == PLAYER_TWO)
{
AircraftDataGPoly4.x[0] += X_SCREEN_RESOLUTION >> 1;
AircraftDataGPoly4.x[1] += X_SCREEN_RESOLUTION >> 1;
AircraftDataGPoly4.x[2] += X_SCREEN_RESOLUTION >> 1;
AircraftDataGPoly4.x[3] += X_SCREEN_RESOLUTION >> 1;
}
}
else
{
AircraftDataGPoly4.x[0] = AIRCRAFT_DATA_GSGPOLY4_X0;
AircraftDataGPoly4.x[1] = AIRCRAFT_DATA_GSGPOLY4_X1;
AircraftDataGPoly4.x[2] = AIRCRAFT_DATA_GSGPOLY4_X2;
AircraftDataGPoly4.x[3] = AIRCRAFT_DATA_GSGPOLY4_X3;
AircraftDataGPoly4.y[0] = AIRCRAFT_DATA_GSGPOLY4_Y0;
AircraftDataGPoly4.y[1] = AIRCRAFT_DATA_GSGPOLY4_Y1;
AircraftDataGPoly4.y[2] = AIRCRAFT_DATA_GSGPOLY4_Y2;
AircraftDataGPoly4.y[3] = AIRCRAFT_DATA_GSGPOLY4_Y3;
}
GsSortGPoly4(&AircraftDataGPoly4);
@ -726,13 +734,6 @@ void GameGuiShowAircraftData(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA * ptrFligh
"Landing" );
break;
case STATE_TAXIING:
FontPrintText( &SmallFont,
AIRCRAFT_DATA_DIRECTION_X + 88,
AIRCRAFT_DATA_DIRECTION_Y + (AIRCRAFT_DATA_FLIGHT_GSGPOLY4_H * j),
"Taxiing" );
break;
case STATE_LANDED:
FontPrintText( &SmallFont,
AIRCRAFT_DATA_DIRECTION_X + 88,
@ -751,7 +752,7 @@ void GameGuiShowAircraftData(TYPE_PLAYER* ptrPlayer, TYPE_FLIGHT_DATA * ptrFligh
FontPrintText( &SmallFont,
AIRCRAFT_DATA_DIRECTION_X + 88,
AIRCRAFT_DATA_DIRECTION_Y + (AIRCRAFT_DATA_FLIGHT_GSGPOLY4_H * j),
"Unboarding" );
"Waiting for unboard" );
break;
default:

View File

@ -9,6 +9,7 @@
#include "System.h"
#include "GameStructures.h"
#include "Gfx.h"
#include "Game.h"
/* *************************************
* Defines

View File

@ -157,6 +157,8 @@ typedef struct
uint8_t WaypointIdx;
// Another internal index to keep last desired selected point by user when defining a path.
uint8_t LastWaypointIdx;
// Player ID (PLAYER_ONE = 0, PLAYER_TWO = 1)
uint8_t Id;
bool (*PadKeyPressed_Callback)(unsigned short);
bool (*PadKeyReleased_Callback)(unsigned short);