diff --git a/GameVersion.cpp b/GameVersion.cpp index b6db4f52..abb523bf 100644 --- a/GameVersion.cpp +++ b/GameVersion.cpp @@ -15,9 +15,9 @@ #ifdef JA2EDITOR #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Unfinished Business - Map Editor v1.13.7214 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Map Editor v1.13.7214 (Development Build)" }; #endif // ------------------------------ @@ -27,11 +27,11 @@ //DEBUG BUILD VERSION #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: Unfinished Business - v1.13.7214 (Development Build)" }; #elif defined (JA113DEMO) - CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: JA2 Demo - v1.13.7214 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Debug: v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Debug: v1.13.7214 (Development Build)" }; #endif #elif defined CRIPPLED_VERSION @@ -46,16 +46,16 @@ //RELEASE BUILD VERSION #ifdef JA2UB - CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release Unfinished Business - v1.13.7214 (Development Build)" }; #elif defined (JA113DEMO) - CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release JA2 Demo - v1.13.7214 (Development Build)" }; #else - CHAR16 zVersionLabel[256] = { L"Release v1.13.7083 (Development Build)" }; + CHAR16 zVersionLabel[256] = { L"Release v1.13.7214 (Development Build)" }; #endif #endif -CHAR8 czVersionNumber[16] = { "Build 14.03.18" }; //YY.MM.DD +CHAR8 czVersionNumber[16] = { "Build 14.05.18" }; //YY.MM.DD CHAR16 zTrackingNumber[16] = { L"Z" }; // SAVE_GAME_VERSION is defined in header, change it there diff --git a/GameVersion.h b/GameVersion.h index 39a1769a..b21ed0d4 100644 --- a/GameVersion.h +++ b/GameVersion.h @@ -21,6 +21,7 @@ extern CHAR16 zTrackingNumber[16]; // Keeps track of the saved game version. Increment the saved game version whenever // you will invalidate the saved game file +#define INCREASED_REFUEL_SITES 155 // Flugente: increased the number of helicopter refuel sites #define ENEMY_VIPS 154 // Flugente: enemy generals are placed randomly in the map #define MORE_LOCKS_AND_KEYS 153 // anv: externalized locks and keys to xml #define MILITIA_MOVEMENT 152 // Flugente: allow control of strategic militia movement @@ -73,7 +74,7 @@ extern CHAR16 zTrackingNumber[16]; #define AP100_SAVEGAME_DATATYPE_CHANGE 105 // Before this, we didn't have the 100AP structure changes #define NIV_SAVEGAME_DATATYPE_CHANGE 102 // Before this, we used the old structure system -#define SAVE_GAME_VERSION ENEMY_VIPS +#define SAVE_GAME_VERSION INCREASED_REFUEL_SITES //#define RUSSIANGOLD #ifdef __cplusplus diff --git a/SaveLoadGame.cpp b/SaveLoadGame.cpp index 02749da0..38046c72 100644 --- a/SaveLoadGame.cpp +++ b/SaveLoadGame.cpp @@ -8367,7 +8367,28 @@ BOOLEAN LoadGeneralInfo( HWFILE hFile ) numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.uiTimeOfLastSkyriderMonologue, sizeof(sGeneralInfo.uiTimeOfLastSkyriderMonologue), sizeof(UINT32), numBytesRead); numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.fShowCambriaHospitalHighLight, sizeof(sGeneralInfo.fShowCambriaHospitalHighLight), sizeof(BOOLEAN), numBytesRead); numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.fSkyRiderSetUp, sizeof(sGeneralInfo.fSkyRiderSetUp), sizeof(BOOLEAN), numBytesRead); - numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.fRefuelingSiteAvailable, sizeof(sGeneralInfo.fRefuelingSiteAvailable), sizeof(BOOLEAN), numBytesRead); + + if ( guiCurrentSaveGameVersion >= INCREASED_REFUEL_SITES ) + { + numBytesRead = ReadFieldByField( hFile, &sGeneralInfo.fRefuelingSiteAvailable, sizeof(sGeneralInfo.fRefuelingSiteAvailable), sizeof(BOOLEAN), numBytesRead ); + } + else + { + // Flugente: MAX_NUMBER_OF_REFUEL_SITES was 2, so we have to fill up the array + for ( UINT16 i = 0; i < MAX_NUMBER_OF_REFUEL_SITES; ++i ) + sGeneralInfo.fRefuelingSiteAvailable[i] = FALSE; + + numBytesRead = ReadFieldByField( hFile, &sGeneralInfo.fRefuelingSiteAvailable, 2 * sizeof(BOOLEAN), sizeof(BOOLEAN), numBytesRead ); + + INT32 buffer = 0; + for ( int i = 0; i < sizeof(BOOLEAN)* (MAX_NUMBER_OF_REFUEL_SITES - 2); ++i ) + buffer++; + while ( (buffer % 4) > 0 ) + buffer++; + + numBytesRead += buffer; + } + numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.gCurrentMeanwhileDef, sizeof(sGeneralInfo.gCurrentMeanwhileDef), sizeof(UINT8), numBytesRead); numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.ubPlayerProgressSkyriderLastCommentedOn, sizeof(sGeneralInfo.ubPlayerProgressSkyriderLastCommentedOn), sizeof(BOOLEAN), numBytesRead); numBytesRead = ReadFieldByField(hFile, &sGeneralInfo.gfMeanwhileTryingToStart, sizeof(sGeneralInfo.gfMeanwhileTryingToStart), sizeof(BOOLEAN), numBytesRead); diff --git a/Strategic/Map Screen Helicopter.h b/Strategic/Map Screen Helicopter.h index f683d953..1395bb64 100644 --- a/Strategic/Map Screen Helicopter.h +++ b/Strategic/Map Screen Helicopter.h @@ -61,7 +61,7 @@ #define AIRPORT2_Y gModSettings.ubAirport2Y //14 // refueling sites definitions -#define MAX_NUMBER_OF_REFUEL_SITES 2 //30 +#define MAX_NUMBER_OF_REFUEL_SITES 30 // 2 // enums for skyrider monologue