diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2017-05-25 07:38:58 +0200 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2017-05-25 07:38:58 +0200 |
| commit | 656eec576e46bf80da052710508e93b26ec8bdb5 (patch) | |
| tree | f54106e08d0b2d862c1ffca1c351045eb33a9196 /Source/PltParser.c | |
| parent | 8d2e08d7448e6c3514a747c0dff5db5f27eb8788 (diff) | |
| download | airport-656eec576e46bf80da052710508e93b26ec8bdb5.tar.gz | |
* Implemented remaining time for flights.
* Initial STATE_UNBOARDING implementation. Still some work to do.
* Added score logic.
Diffstat (limited to 'Source/PltParser.c')
| -rw-r--r-- | Source/PltParser.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/Source/PltParser.c b/Source/PltParser.c index fe59e91..0ee9fd8 100644 --- a/Source/PltParser.c +++ b/Source/PltParser.c @@ -7,9 +7,8 @@ /* ************************************* * Defines * *************************************/ - -#define PLT_BUFFER_SIZE 0x2800 -#define LINE_MAX 100 + +#define LINE_MAX_CHARACTERS 100 /* ************************************** * Structs and enums * @@ -21,7 +20,8 @@ enum FLIGHT_NUMBER_INDEX, PASSENGERS_INDEX, HOURS_MINUTES_INDEX, - PARKING_INDEX + PARKING_INDEX, + REMAINING_TIME_INDEX }; enum @@ -35,8 +35,6 @@ enum * Local Variables * *************************************/ -static char strPltBuffer[PLT_BUFFER_SIZE]; - /* ************************************* * Local Prototypes * *************************************/ @@ -49,23 +47,26 @@ bool PltParserLoadFile(char * strPath, TYPE_FLIGHT_DATA * ptrFlightData) uint8_t aircraftIndex; bool first_line_read = false; char * buffer; - char lineBuffer[LINE_MAX]; + char lineBuffer[LINE_MAX_CHARACTERS]; char * lineBufferPtr; char * pltBufferSavePtr; char strHour[PLT_HOUR_MINUTE_CHARACTERS]; char strMinutes[PLT_HOUR_MINUTE_CHARACTERS]; - - if(SystemLoadFileToBuffer(strPath,(uint8_t*)strPltBuffer,PLT_BUFFER_SIZE) == false) + uint8_t* strPltBuffer; + + if(SystemLoadFile(strPath) == false) { dprintf("Error loading file %s!\n",strPath); return false; } + + strPltBuffer = SystemGetBufferAddress(); PltParserResetBuffers(ptrFlightData); // Now, buffer shall be read from line to line - buffer = strtok_r(strPltBuffer,"\n",&pltBufferSavePtr); + buffer = strtok_r((char*)strPltBuffer,"\n",&pltBufferSavePtr); aircraftIndex = 0; @@ -123,7 +124,7 @@ bool PltParserLoadFile(char * strPath, TYPE_FLIGHT_DATA * ptrFlightData) else { // File header (initial game time) has already been read - strncpy(lineBuffer, buffer, LINE_MAX); + strncpy(lineBuffer, buffer, LINE_MAX_CHARACTERS); lineBufferPtr = strtok(lineBuffer,";"); @@ -140,7 +141,8 @@ bool PltParserLoadFile(char * strPath, TYPE_FLIGHT_DATA * ptrFlightData) FLIGHT_NUMBER_INDEX, PASSENGERS_INDEX, HOURS_MINUTES_INDEX, - PARKING_INDEX + PARKING_INDEX, + REMAINING_TIME_INDEX };*/ switch(i) { @@ -206,6 +208,10 @@ bool PltParserLoadFile(char * strPath, TYPE_FLIGHT_DATA * ptrFlightData) ptrFlightData->Hours[aircraftIndex], ptrFlightData->Minutes[aircraftIndex] ); break; + + case REMAINING_TIME_INDEX: + ptrFlightData->RemainingTime[aircraftIndex] = (uint8_t)atoi(lineBufferPtr); + break; default: |
