From 86b02ea67e5386168c451962d5a530df7029f13f Mon Sep 17 00:00:00 2001 From: Wanne Date: Tue, 9 Dec 2008 18:55:32 +0000 Subject: [PATCH] Externalized always using "prof.dat" (ALWAYS_USE_PROF_DAT in ja2_options.ini) for any difficult level. This makes sense for modders (thx to Scorpion) git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2449 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- GameSettings.cpp | 3 ++ GameSettings.h | 6 +++- Tactical/Soldier Profile.cpp | 65 ++++++++++++++++++++---------------- 3 files changed, 45 insertions(+), 29 deletions(-) diff --git a/GameSettings.cpp b/GameSettings.cpp index e6e0219c..1a607be5 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -783,6 +783,9 @@ void LoadGameExternalOptions() // HEADROCK: Use Enhanced Item Description Box? gGameExternalOptions.fEnhancedDescriptionBox = iniReader.ReadInteger("JA2 Gameplay Settings","USE_ENHANCED_DESCRIPTION_BOX",0); + + // WANNE: Always use prof.dat?? + gGameExternalOptions.fAlwaysUseProfDat = iniReader.ReadBoolean("JA2 Gameplay Settings", "ALWAYS_USE_PROF_DAT", FALSE); } INT16 DynamicAdjustAPConstants(INT16 iniReadValue, INT16 iniDefaultValue, BOOLEAN reverse) diff --git a/GameSettings.h b/GameSettings.h index 5ae8548e..09fe3be1 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -452,7 +452,11 @@ BOOLEAN gbBulletTracer; BOOLEAN fRestrictFemaleEnemiesExceptElite; // HEADROCK: Enhanced Item Description Box ON/OFF - BOOLEAN fEnhancedDescriptionBox; + // WANNE: Changed from BOOLEAN to INT32! + INT32 fEnhancedDescriptionBox; + + // WANNE: Always use "prof.dat". + BOOLEAN fAlwaysUseProfDat; } GAME_EXTERNAL_OPTIONS; diff --git a/Tactical/Soldier Profile.cpp b/Tactical/Soldier Profile.cpp index f7a06ae9..049992f1 100644 --- a/Tactical/Soldier Profile.cpp +++ b/Tactical/Soldier Profile.cpp @@ -244,36 +244,45 @@ BOOLEAN LoadMercProfiles(void) UINT32 uiLoop, uiLoop2;//, uiLoop3; UINT16 usItem;//, usNewGun, usAmmo, usNewAmmo; - switch ( gGameOptions.ubDifficultyLevel) + + if (gGameExternalOptions.fAlwaysUseProfDat == FALSE) { - case DIF_LEVEL_EASY: - if ( gGameOptions.fGunNut ) - fptr = FileOpen(pFileName1_Tons, FILE_ACCESS_READ, FALSE ); - else - fptr = FileOpen(pFileName1_Normal, FILE_ACCESS_READ, FALSE ); - break; - case DIF_LEVEL_MEDIUM: - if ( gGameOptions.fGunNut ) - fptr = FileOpen(pFileName2_Tons, FILE_ACCESS_READ, FALSE ); - else - fptr = FileOpen(pFileName2_Normal, FILE_ACCESS_READ, FALSE ); - break; - case DIF_LEVEL_HARD: - if ( gGameOptions.fGunNut ) - fptr = FileOpen(pFileName3_Tons, FILE_ACCESS_READ, FALSE ); - else - fptr = FileOpen(pFileName3_Normal, FILE_ACCESS_READ, FALSE ); - break; - case DIF_LEVEL_INSANE: - if ( gGameOptions.fGunNut ) - fptr = FileOpen(pFileName4_Tons, FILE_ACCESS_READ, FALSE ); - else - fptr = FileOpen(pFileName4_Normal, FILE_ACCESS_READ, FALSE ); - break; - default: - fptr = FileOpen(pFileName, FILE_ACCESS_READ, FALSE ); - break; + switch ( gGameOptions.ubDifficultyLevel) + { + case DIF_LEVEL_EASY: + if ( gGameOptions.fGunNut ) + fptr = FileOpen(pFileName1_Tons, FILE_ACCESS_READ, FALSE ); + else + fptr = FileOpen(pFileName1_Normal, FILE_ACCESS_READ, FALSE ); + break; + case DIF_LEVEL_MEDIUM: + if ( gGameOptions.fGunNut ) + fptr = FileOpen(pFileName2_Tons, FILE_ACCESS_READ, FALSE ); + else + fptr = FileOpen(pFileName2_Normal, FILE_ACCESS_READ, FALSE ); + break; + case DIF_LEVEL_HARD: + if ( gGameOptions.fGunNut ) + fptr = FileOpen(pFileName3_Tons, FILE_ACCESS_READ, FALSE ); + else + fptr = FileOpen(pFileName3_Normal, FILE_ACCESS_READ, FALSE ); + break; + case DIF_LEVEL_INSANE: + if ( gGameOptions.fGunNut ) + fptr = FileOpen(pFileName4_Tons, FILE_ACCESS_READ, FALSE ); + else + fptr = FileOpen(pFileName4_Normal, FILE_ACCESS_READ, FALSE ); + break; + default: + fptr = FileOpen(pFileName, FILE_ACCESS_READ, FALSE ); + break; + } } + else + { + fptr = FileOpen(pFileName, FILE_ACCESS_READ, FALSE ); + } + if( !fptr ) {