diff --git a/NewGameSettings.cpp b/NewGameSettings.cpp deleted file mode 100644 index cbe27cd8..00000000 --- a/NewGameSettings.cpp +++ /dev/null @@ -1,223 +0,0 @@ -#include "types.h" -#include "NewGameSettings.h" -#include "FileMan.h" - -#include -#include - -#define GAME_INI_FILE "\\Ja2.ini" - - -#define SET_SYSTEM "JA2 System Settings" -#define SET_RESOLUTION "JA2 Screen Resolution Settings" -#define SET_RAIN "JA2 Rain Settings" -#define SET_THUNDER "JA2 Thunder Settings" -#define SET_TURN_SPEED "JA2 Turnbased Animation Speed Settings" -#define SET_STRATEGIC "JA2 Strategic Settings" -#define SET_SPECIAL "JA2 Special Settings" -#define SET_TACTICAL "JA2 Tactical Settings" -#define SET_TACTICAL_AI "JA2 Tactical AI Settings" -#define SET_GRAPHIC "JA2 Graphic Settings" -#define SET_GAMEPLAY "JA2 Gameplay Settings" -#define SET_SOUND "JA2 Sound Settings" - - -UINT8 gubDeadLockDelay = 15; -UINT8 ubStraightSightRange = 13; - -BOOLEAN gfVSync = FALSE; -BOOLEAN gfAllowRain = FALSE; - -UINT16 gusRainChancePerDay = 100, gusRainMinLength = 60, gusRainMaxLength = 180; - - -extern UINT8 gubPlayerTurnSpeedUpFactor; -extern UINT8 gubEnemyTurnSpeedUpFactor; -extern UINT8 gubCreatureTurnSpeedUpFactor; -extern UINT8 gubMilitiaTurnSpeedUpFactor; -extern UINT8 gubCivTurnSpeedUpFactor; - -extern UINT32 guiMinLightningInterval; -extern UINT32 guiMaxLightningInterval; -extern UINT32 guiMinDLInterval; -extern UINT32 guiMaxDLInterval; -extern UINT32 guiProlongLightningIfSeenSomeone; -extern UINT32 guiChanceToDoLightningBetweenTurns; - -extern UINT32 guiMaxRainDrops; - -BOOLEAN gfEnableEmergencyButton_SkipStrategicEvents = FALSE; -BOOLEAN gfAllowMilitiaGroups = TRUE; -BOOLEAN gfAllowReinforcments = TRUE; -BOOLEAN gfAllowReinforcmentsOnlyInCity = FALSE; -UINT32 guiBaseQueenPoolIncrement = 60; - -BOOLEAN fAllowTacticalMilitiaCommand = TRUE; - -UINT32 guiWeaponSoundEffectsVolume = 0; - -typedef struct -{ - CHAR8* strParamName; - CHAR8* strSectionName; - LPVOID pVar; - UINT8 ubVarType; -}TSetting; - - -enum -{ - VT_UINT32, - VT_UINT16, - VT_UINT8, - VT_INT32, - VT_INT16, - VT_INT8, - VT_BOOLEAN -}; - -TSetting gpSettings[] = -{ - //Video settings - {"fVSync", SET_RESOLUTION, &gfVSync, VT_BOOLEAN}, - - {"PlayerTurnSpeedUpFactor", SET_TURN_SPEED, (LPVOID)&gubPlayerTurnSpeedUpFactor, VT_UINT8}, - {"EnemyTurnSpeedUpFactor", SET_TURN_SPEED, (LPVOID)&gubEnemyTurnSpeedUpFactor, VT_UINT8}, - {"CreatureTurnSpeedUpFactor", SET_TURN_SPEED, (LPVOID)&gubCreatureTurnSpeedUpFactor, VT_UINT8}, - {"MilitiaTurnSpeedUpFactor", SET_TURN_SPEED, (LPVOID)&gubMilitiaTurnSpeedUpFactor, VT_UINT8}, - {"CivTurnSpeedUpFactor", SET_TURN_SPEED, (LPVOID)&gubCivTurnSpeedUpFactor, VT_UINT8}, - - //Sound settings - {"WeaponSoundEffectsVolume", SET_SOUND, &guiWeaponSoundEffectsVolume, VT_UINT32}, - - // Militia Settings - {"AllowTacticalMilitiaCommand", SET_TACTICAL, &fAllowTacticalMilitiaCommand, VT_BOOLEAN}, - - {"AllowMilitiaMobileGroups", SET_GAMEPLAY, &gfAllowMilitiaGroups, VT_BOOLEAN}, - {"AllowReinforcments", SET_GAMEPLAY, &gfAllowReinforcments, VT_BOOLEAN}, - {"AllowReinforcmentsOnlyInCities", SET_GAMEPLAY, &gfAllowReinforcmentsOnlyInCity, VT_BOOLEAN}, - {"QueenPoolIncrementPerDifficultyLevel", SET_GAMEPLAY, &guiBaseQueenPoolIncrement, VT_UINT32}, - - - //Sight range - {"BaseSightRange", SET_TACTICAL, &ubStraightSightRange, VT_UINT8}, - - - // Maximal search distance for grenades - //{"MaxTossSearchDist", SET_TACTICAL_AI, &guiMaxTossSearchDist, VT_UINT32}, - - // System settings - //{"fEnableEmergencyButton_NumLock_ToSkipStrategicEvents", SET_SPECIAL, &gfEnableEmergencyButton_SkipStrategicEvents, VT_BOOLEAN}, - {"DeadLockDelay", SET_SPECIAL, &gubDeadLockDelay, VT_UINT8}, - - - // Rain settings - {"ALLOW_RAIN", SET_RAIN, &gfAllowRain, VT_BOOLEAN}, - {"RAIN_CHANCE_PER_DAY", SET_RAIN, &gusRainChancePerDay, VT_UINT16}, - {"RAIN_MIN_LENGTH_IN_MINUTES", SET_RAIN, &gusRainMinLength, VT_UINT16}, - {"RAIN_MAX_LENGTH_IN_MINUTES", SET_RAIN, &gusRainMaxLength, VT_UINT16}, - {"MAX_RAIN_DROPS", SET_RAIN, &guiMaxRainDrops, VT_UINT32}, - - // Thunder settings - {"MIN_INTERVAL_BETWEEN_LIGHTNINGS_IN_REAL_TIME_SECONDS", SET_THUNDER, &guiMinLightningInterval, VT_UINT32}, - {"MAX_INTERVAL_BETWEEN_LIGHTNINGS_IN_REAL_TIME_SECONDS", SET_THUNDER, &guiMaxLightningInterval, VT_UINT32}, - {"MIN_INTERVAL_BETWEEN_LIGHTNING_AND_THUNDERCLAPS_IN_SECONDS", SET_THUNDER, &guiMinDLInterval, VT_UINT32}, - {"MAX_INTERVAL_BETWEEN_LIGHTNING_AND_THUNDERCLAPS_IN_SECONDS", SET_THUNDER, &guiMaxDLInterval, VT_UINT32}, - {"PROLOGNE_DELAY_IF_SEEN_SOMEONE_DURING_LIGHTNING_IN_TURNBASED_IN_SECONDS", SET_THUNDER, &guiProlongLightningIfSeenSomeone, VT_UINT32}, - {"CHANCE_TO_DO_LIGHTNING_BETWEEN_TURNS", SET_THUNDER, &guiChanceToDoLightningBetweenTurns, VT_UINT32}, - - {0,0,0,VT_UINT8} -}; - - -void NSSaveSettings() -{ - CHAR8 zStr[ 256 ]; - TSetting* pCurr = gpSettings; - INT32 iBuf; - BOOLEAN fFileCreated = !FileExists( GAME_INI_FILE ); - - FileDelete( GAME_INI_FILE ); - - while( pCurr->pVar ) - { - switch( pCurr->ubVarType ) - { - case VT_UINT32: - iBuf = *((UINT32*)pCurr->pVar); - break; - case VT_UINT16: - iBuf = *((UINT16*)pCurr->pVar); - break; - case VT_UINT8: - iBuf = *((UINT8*)pCurr->pVar); - break; - case VT_INT32: - iBuf = *((INT32*)pCurr->pVar); - break; - case VT_INT16: - iBuf = *((INT16*)pCurr->pVar); - break; - case VT_INT8: - iBuf = *((INT8*)pCurr->pVar); - break; - case VT_BOOLEAN: - iBuf = *((BOOLEAN*)pCurr->pVar); - break; - } - - sprintf( zStr, "%d", iBuf ); - - WritePrivateProfileString( pCurr->strSectionName, pCurr->strParamName, zStr, GAME_INI_FILE ); - - ++pCurr; - } -} - -void NSLoadSettings() -{ - CHAR8 zStr[ 256 ]; - UINT32 uiRetVal=0; - TSetting* pCurr = gpSettings; - INT32 iBuf; - STRING512 INIFile; // Path to the ini file - - // Get Executable Directory - GetExecutableDirectory( INIFile ); - - strcat(INIFile, "\\Ja2.ini"); - - while( pCurr->pVar ) - { - uiRetVal = GetPrivateProfileString( pCurr->strSectionName, pCurr->strParamName, "", zStr, 256, INIFile ); - if( uiRetVal && strlen( zStr ) ) - { - sscanf( zStr, "%d", &iBuf ); - switch( pCurr->ubVarType ) - { - case VT_UINT32: - *((UINT32*)pCurr->pVar) = iBuf; - break; - case VT_UINT16: - *((UINT16*)pCurr->pVar) = iBuf; - break; - case VT_UINT8: - *((UINT8*)pCurr->pVar) = iBuf; - break; - case VT_INT32: - *((INT32*)pCurr->pVar) = iBuf; - break; - case VT_INT16: - *((INT16*)pCurr->pVar) = iBuf; - break; - case VT_INT8: - *((INT8*)pCurr->pVar) = iBuf; - break; - case VT_BOOLEAN: - *((BOOLEAN*)pCurr->pVar) = iBuf; - break; - } - } - pCurr++; - } -} \ No newline at end of file diff --git a/NewGameSettings.h b/NewGameSettings.h deleted file mode 100644 index 9e184a39..00000000 --- a/NewGameSettings.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef ___NEW_GAME_SETTINGS___ -#define ___NEW_GAME_SETTINGS___ - -//extern BOOLEAN gfUseABResources; -//extern BOOLEAN gfEnableEmergencyButton_SkipStrategicEvents; -//extern UINT32 guiMaxTossSearchDist; -//extern BOOLEAN gfShowItemShadow; - -extern BOOLEAN gfAllowMilitiaGroups; -extern BOOLEAN gfAllowReinforcments; -extern BOOLEAN gfAllowReinforcmentsOnlyInCity; -extern UINT32 guiBaseQueenPoolIncrement; -extern UINT8 ubStraightSightRange; - -void NSSaveSettings(); -void NSLoadSettings(); - -#endif \ No newline at end of file