diff --git a/GameSettings.cpp b/GameSettings.cpp index 6aa19f7e..b92f395d 100644 --- a/GameSettings.cpp +++ b/GameSettings.cpp @@ -34,18 +34,19 @@ #include "Queen Command.h" #include "Game Clock.h" #include "Init.h" + #include "displaycover.h" #endif #include "Text.h" #include "connect.h" -#define GAME_SETTINGS_FILE "Ja2.set" +#define GAME_SETTINGS_FILE "Ja2_Settings.INI" #define GAME_INI_FILE "..\\Ja2.ini" -#define GAME_EXTERNAL_OPTIONS_FILE "Ja2_Options.ini" +#define GAME_EXTERNAL_OPTIONS_FILE "Ja2_Options.ini" -#define AP_BP_CONSTANTS_FILE "APBPConstants.ini" +#define AP_BP_CONSTANTS_FILE "APBPConstants.ini" #define CD_ROOT_DIR "DATA\\" @@ -70,9 +71,6 @@ BOOLEAN IsDriveLetterACDromDrive( STR pDriveLetter ); void CDromEjectionErrorMessageBoxCallBack( UINT8 bExitValue ); -//Change this number when we want any who gets the new build to reset the options -#define GAME_SETTING_CURRENT_VERSION 522 - bool UsingNewInventorySystem() { return (gGameOptions.ubInventorySystem == INVENTORY_NEW); @@ -103,55 +101,85 @@ BOOLEAN IsNIVModeValid(bool checkRes) BOOLEAN LoadGameSettings() { - HWFILE hFile; - UINT32 uiNumBytesRead; - char gameSettingsFilePath[MAX_PATH]; - sprintf(gameSettingsFilePath, "%s\\%s", gCustomDataCat.GetRootDir().c_str(), GAME_SETTINGS_FILE); + CIniReader iniReader(GAME_SETTINGS_FILE, TRUE); // force path even for non existing files - //if the game settings file does NOT exist, or if it is smaller then what it should be - if( !FileExists( gameSettingsFilePath ) || FileSize( gameSettingsFilePath ) != sizeof( GAME_SETTINGS ) ) + //memset( &gGameSettings2, 0, sizeof( GAME_SETTINGS ) ); // Blank out GameSettings + + if ( ! iniReader.Is_CIniReader_File_Found() ) { - //Initialize the settings + // file does not exist, InitGamesettings() and then return. + // InitGamesettings() will also call SaveGameSettings(). InitGameSettings(); - - //delete the shade tables aswell - DeleteShadeTableDir( ); - } - else - { - hFile = FileOpen( gameSettingsFilePath, FILE_ACCESS_READ | FILE_OPEN_EXISTING, FALSE ); - if( !hFile ) - { - FileClose( hFile ); - InitGameSettings(); - return(FALSE); - } - - FileRead( hFile, &gGameSettings, sizeof( GAME_SETTINGS ), &uiNumBytesRead ); - if( uiNumBytesRead != sizeof( GAME_SETTINGS ) ) - { - FileClose( hFile ); - InitGameSettings(); - return(FALSE); - } - - FileClose( hFile ); + return(FALSE); } + + gGameSettings.bLastSavedGameSlot = iniReader.ReadInteger("JA2 Game Settings","bLastSavedGameSlot" , -1 , -1 , NUM_SAVE_GAMES ); + gGameSettings.ubMusicVolumeSetting = iniReader.ReadInteger("JA2 Game Settings","ubMusicVolumeSetting" , MIDVOLUME , 0 , HIGHVOLUME ); + gGameSettings.ubSoundEffectsVolume = iniReader.ReadInteger("JA2 Game Settings","ubSoundEffectsVolume" , MIDVOLUME , 0 , HIGHVOLUME ); + gGameSettings.ubSpeechVolume = iniReader.ReadInteger("JA2 Game Settings","ubSpeechVolume" , MIDVOLUME , 0 , HIGHVOLUME ); + gGameSettings.uiMeanwhileScenesSeenFlags = iniReader.ReadUINT32 ("JA2 Game Settings","uiMeanwhileScenesSeenFlags" , 0 , 0 , UINT_MAX ); + gGameSettings.fHideHelpInAllScreens = iniReader.ReadBoolean("JA2 Game Settings","fHideHelpInAllScreens" , FALSE ); + gGameSettings.ubSizeOfDisplayCover = iniReader.ReadInteger("JA2 Game Settings","ubSizeOfDisplayCover" , DC__MIN_SIZE , DC__MIN_SIZE , DC__MAX_SIZE ); + gGameSettings.ubSizeOfLOS = iniReader.ReadInteger("JA2 Game Settings","ubSizeOfLOS" , DC__MIN_SIZE , DC__MIN_SIZE , DC__MAX_SIZE ); + gGameSettings.fOptions[TOPTION_SPEECH] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SPEECH" , TRUE ); + gGameSettings.fOptions[TOPTION_MUTE_CONFIRMATIONS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_MUTE_CONFIRMATIONS" , FALSE ); + gGameSettings.fOptions[TOPTION_SUBTITLES] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SUBTITLES" , TRUE ); + gGameSettings.fOptions[TOPTION_KEY_ADVANCE_SPEECH] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_KEY_ADVANCE_SPEECH" , FALSE ); + gGameSettings.fOptions[TOPTION_ANIMATE_SMOKE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ANIMATE_SMOKE" , TRUE ); + gGameSettings.fOptions[TOPTION_BLOOD_N_GORE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_BLOOD_N_GORE" , TRUE ); + gGameSettings.fOptions[TOPTION_DONT_MOVE_MOUSE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_DONT_MOVE_MOUSE" , FALSE ); + gGameSettings.fOptions[TOPTION_OLD_SELECTION_METHOD] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_OLD_SELECTION_METHOD" , FALSE ); + gGameSettings.fOptions[TOPTION_ALWAYS_SHOW_MOVEMENT_PATH] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ALWAYS_SHOW_MOVEMENT_PATH" , FALSE ); + gGameSettings.fOptions[TOPTION_SHOW_MISSES] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SHOW_MISSES" , FALSE ); + gGameSettings.fOptions[TOPTION_RTCONFIRM] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_RTCONFIRM" , FALSE ); + gGameSettings.fOptions[TOPTION_SLEEPWAKE_NOTIFICATION] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SLEEPWAKE_NOTIFICATION" , TRUE ); + gGameSettings.fOptions[TOPTION_USE_METRIC_SYSTEM] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_USE_METRIC_SYSTEM" , FALSE ); + gGameSettings.fOptions[TOPTION_MERC_ALWAYS_LIGHT_UP] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_MERC_ALWAYS_LIGHT_UP" , FALSE ); + gGameSettings.fOptions[TOPTION_SMART_CURSOR] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SMART_CURSOR" , FALSE ); + gGameSettings.fOptions[TOPTION_SNAP_CURSOR_TO_DOOR] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SNAP_CURSOR_TO_DOOR" , TRUE ); + gGameSettings.fOptions[TOPTION_GLOW_ITEMS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_GLOW_ITEMS" , TRUE ); + gGameSettings.fOptions[TOPTION_TOGGLE_TREE_TOPS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_TOGGLE_TREE_TOPS" , TRUE ); + gGameSettings.fOptions[TOPTION_TOGGLE_WIREFRAME] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_TOGGLE_WIREFRAME" , TRUE ); + gGameSettings.fOptions[TOPTION_3D_CURSOR] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_3D_CURSOR" , FALSE ); + gGameSettings.fOptions[TOPTION_CTH_CURSOR] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_CTH_CURSOR" , TRUE ); + gGameSettings.fOptions[TOPTION_GL_BURST_CURSOR] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_GL_BURST_CURSOR" , TRUE ); + gGameSettings.fOptions[TOPTION_DROP_ALL] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_DROP_ALL" , FALSE ); + gGameSettings.fOptions[TOPTION_GL_HIGH_ANGLE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_GL_HIGH_ANGLE" , FALSE ); + gGameSettings.fOptions[TOPTION_AIM_LEVEL_RESTRICTION] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_AIM_LEVEL_RESTRICTION" , TRUE ); + gGameSettings.fOptions[TOPTION_SPACE_SELECTS_NEXT_SQUAD] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SPACE_SELECTS_NEXT_SQUAD" , TRUE ); + gGameSettings.fOptions[TOPTION_SHOW_ITEM_SHADOW] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SHOW_ITEM_SHADOW" , TRUE ); + gGameSettings.fOptions[TOPTION_SHOW_WEAPON_RANGE_IN_TILES] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SHOW_WEAPON_RANGE_IN_TILES" , TRUE ); + gGameSettings.fOptions[TOPTION_TRACERS_FOR_SINGLE_FIRE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_TRACERS_FOR_SINGLE_FIRE" , FALSE ); + gGameSettings.fOptions[TOPTION_RAIN_SOUND] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_RAIN_SOUND" , TRUE ); + gGameSettings.fOptions[TOPTION_ALLOW_CROWS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ALLOW_CROWS" , TRUE ); + gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_USE_RANDOM_PERSONALITY" , FALSE ); + gGameSettings.fOptions[TOPTION_USE_AUTO_SAVE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_USE_AUTO_SAVE" , FALSE ); + gGameSettings.fOptions[TOPTION_SILENT_SKYRIDER] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SILENT_SKYRIDER" , FALSE ); + gGameSettings.fOptions[TOPTION_LOW_CPU_USAGE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_LOW_CPU_USAGE" , FALSE ); + gGameSettings.fOptions[TOPTION_ENHANCED_DESC_BOX] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_ENHANCED_DESC_BOX" , FALSE ); + gGameSettings.fOptions[TOPTION_TOGGLE_TURN_MODE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_TOGGLE_TURN_MODE" , FALSE ); + gGameSettings.fOptions[TOPTION_CHEAT_MODE_OPTIONS_HEADER] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_CHEAT_MODE_OPTIONS_HEADER" , FALSE ); + gGameSettings.fOptions[TOPTION_FORCE_BOBBY_RAY_SHIPMENTS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_FORCE_BOBBY_RAY_SHIPMENTS" , FALSE ); + gGameSettings.fOptions[TOPTION_CHEAT_MODE_OPTIONS_END] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_CHEAT_MODE_OPTIONS_END" , FALSE ); + gGameSettings.fOptions[TOPTION_DEBUG_MODE_OPTIONS_HEADER] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_DEBUG_MODE_OPTIONS_HEADER" , FALSE ); + gGameSettings.fOptions[TOPTION_SHOW_RESET_ALL_OPTIONS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_SHOW_RESET_ALL_OPTIONS" , FALSE ); + gGameSettings.fOptions[TOPTION_RESET_ALL_OPTIONS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_RESET_ALL_OPTIONS" , FALSE ); + gGameSettings.fOptions[TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE" , FALSE ); + gGameSettings.fOptions[TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP" , FALSE ); + gGameSettings.fOptions[TOPTION_RENDER_MOUSE_REGIONS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_RENDER_MOUSE_REGIONS" , FALSE ); + gGameSettings.fOptions[TOPTION_DEBUG_MODE_OPTIONS_END] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_DEBUG_MODE_OPTIONS_END" , FALSE ); + gGameSettings.fOptions[TOPTION_LAST_OPTION] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_LAST_OPTION" , FALSE ); + gGameSettings.fOptions[NUM_GAME_OPTIONS] = iniReader.ReadBoolean("JA2 Game Settings","NUM_GAME_OPTIONS" , FALSE ); + gGameSettings.fOptions[TOPTION_MERC_CASTS_LIGHT] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_MERC_CASTS_LIGHT" , TRUE ); + gGameSettings.fOptions[TOPTION_HIDE_BULLETS] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_HIDE_BULLETS" , FALSE ); + gGameSettings.fOptions[TOPTION_TRACKING_MODE] = iniReader.ReadBoolean("JA2 Game Settings","TOPTION_TRACKING_MODE" , TRUE ); + gGameSettings.fOptions[NUM_ALL_GAME_OPTIONS] = iniReader.ReadBoolean("JA2 Game Settings","NUM_ALL_GAME_OPTIONS" , FALSE ); - //if the version in the game setting file is older then the we want, init the game settings - if( gGameSettings.uiSettingsVersionNumber < GAME_SETTING_CURRENT_VERSION ) - { - //Initialize the settings - InitGameSettings(); - - //delete the shade tables aswell - DeleteShadeTableDir( ); - - return( TRUE ); - } - + DeleteShadeTableDir(); // ary-05/05/2009 : Might be bad idea for it to be here. But its gotta happen for some reason every now and then. + // : The call to DeleteShadeTableDir() used to coincided with reseting an older settings file. + // : Shade Table Dir is rebuilt when ever LoadShadeTable() cant find it. Its only around ~1.5 MB. // //Do checking to make sure the settings are valid @@ -173,7 +201,7 @@ BOOLEAN LoadGameSettings() if( !gGameSettings.fOptions[ TOPTION_SUBTITLES ] && !gGameSettings.fOptions[ TOPTION_SPEECH ] ) { gGameSettings.fOptions[ TOPTION_SUBTITLES ] = TRUE; - gGameSettings.fOptions[ TOPTION_SPEECH ] = TRUE; + gGameSettings.fOptions[ TOPTION_SPEECH ] = TRUE; } @@ -185,10 +213,6 @@ BOOLEAN LoadGameSettings() SetSpeechVolume( gGameSettings.ubSpeechVolume ); MusicSetVolume( gGameSettings.ubMusicVolumeSetting ); -//#ifndef BLOOD_N_GORE_ENABLED // arynn : del_me : defunct -// gGameSettings.fOptions[ TOPTION_BLOOD_N_GORE ] = FALSE; -//#endif - //if the user doesnt want the help screens present if( gGameSettings.fHideHelpInAllScreens ) { @@ -206,98 +230,173 @@ BOOLEAN LoadGameSettings() BOOLEAN SaveGameSettings() { - HWFILE hFile; - UINT32 uiNumBytesWritten; - char gameSettingsFilePath[MAX_PATH]; + char gameSettingsFilePath[MAX_PATH]; + FILE *file_pointer; + + //Record the current settings into the game settins structure + gGameSettings.ubSoundEffectsVolume = (UINT8)GetSoundEffectsVolume( ); + gGameSettings.ubSpeechVolume = (UINT8)GetSpeechVolume( ); + gGameSettings.ubMusicVolumeSetting = (UINT8)MusicGetVolume( ); + sprintf(gameSettingsFilePath, "%s\\%s", gCustomDataCat.GetRootDir().c_str(), GAME_SETTINGS_FILE); + fopen_s( &file_pointer, gameSettingsFilePath, "w" ); - //create the file - hFile = FileOpen( gameSettingsFilePath, FILE_ACCESS_WRITE | FILE_CREATE_ALWAYS, FALSE ); - if( !hFile ) + if( file_pointer ) { - FileClose( hFile ); - return(FALSE); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , "; Jagged Alliance 2 --Settings File-- \n" ); + fprintf_s (file_pointer , "; \n" ); + fprintf_s (file_pointer , "; Please note that this file is automatically generated by the game. \n" ); + fprintf_s (file_pointer , "; \n" ); + fprintf_s (file_pointer , "; While it is safe to change things from within this file, not all values are acceptable. Some may break the game, \n" ); + fprintf_s (file_pointer , "; some may be ignored, but most likely they will be acceptable or reset to a default value. \n" ); + fprintf_s (file_pointer , "; \n" ); + fprintf_s (file_pointer , "; Please note, This file and its contents are in a beta phase. Expect changes, however they should be minimal and automated.\n" ); + fprintf_s (file_pointer , "; \n" ); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , "\n" ); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , ";\n" ); + fprintf_s (file_pointer , "; The Current Game Setting Struct is defined as : \n" ); + fprintf_s (file_pointer , ";\n" ); + fprintf_s (file_pointer , "; typedef struct \n"); + fprintf_s (file_pointer , "; { \n"); + fprintf_s (file_pointer , "; INT8 bLastSavedGameSlot; // The last saved game number goes in here \n"); + fprintf_s (file_pointer , "; UINT8 ubMusicVolumeSetting; // Volume Setting \n"); + fprintf_s (file_pointer , "; UINT8 ubSoundEffectsVolume; // Volume Setting \n"); + fprintf_s (file_pointer , "; UINT8 ubSpeechVolume; // Volume Setting \n"); + fprintf_s (file_pointer , "; UINT8 fOptions[ NUM_ALL_GAME_OPTIONS ]; // Toggle Options (Speech, Subtitles, Show Tree Tops, etc.. ) \n"); + fprintf_s (file_pointer , "; UINT32 uiMeanwhileScenesSeenFlags; // Bit Vector describing seen 'mean whiles..' \n"); + fprintf_s (file_pointer , "; BOOLEAN fHideHelpInAllScreens; // Controls Help \"do not show help again\" checkbox \n"); + fprintf_s (file_pointer , "; UINT8 ubSizeOfDisplayCover; // The number of grids the player designates thru [Delete + ( = or - )] \n"); + fprintf_s (file_pointer , "; UINT8 ubSizeOfLOS; // The number of grids the player designates thru [End + ( = or - )] \n"); + fprintf_s (file_pointer , "; } GAME_SETTINGS; \n"); + fprintf_s (file_pointer , ";\n" ); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , "\n\n" ); + fprintf_s (file_pointer , "[JA2 Game Settings]\n" ); + + + fprintf_s (file_pointer , "bLastSavedGameSlot = %d \n" , gGameSettings.bLastSavedGameSlot ); + fprintf_s (file_pointer , "ubMusicVolumeSetting = %u \n" , gGameSettings.ubMusicVolumeSetting ); + fprintf_s (file_pointer , "ubSoundEffectsVolume = %u \n" , gGameSettings.ubSoundEffectsVolume ); + fprintf_s (file_pointer , "ubSpeechVolume = %u \n" , gGameSettings.ubSpeechVolume ); + fprintf_s (file_pointer , "uiMeanwhileScenesSeenFlags = %u \n" , gGameSettings.uiMeanwhileScenesSeenFlags ); + fprintf_s (file_pointer , "fHideHelpInAllScreens = %s \n" , (gGameSettings.fHideHelpInAllScreens ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "ubSizeOfDisplayCover = %u \n" , gGameSettings.ubSizeOfDisplayCover ); + fprintf_s (file_pointer , "ubSizeOfLOS = %u \n" , gGameSettings.ubSizeOfLOS ); + fprintf_s (file_pointer , "TOPTION_SPEECH = %s \n" , (gGameSettings.fOptions[TOPTION_SPEECH] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_MUTE_CONFIRMATIONS = %s \n" , (gGameSettings.fOptions[TOPTION_MUTE_CONFIRMATIONS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SUBTITLES = %s \n" , (gGameSettings.fOptions[TOPTION_SUBTITLES] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_KEY_ADVANCE_SPEECH = %s \n" , (gGameSettings.fOptions[TOPTION_KEY_ADVANCE_SPEECH] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_ANIMATE_SMOKE = %s \n" , (gGameSettings.fOptions[TOPTION_ANIMATE_SMOKE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_BLOOD_N_GORE = %s \n" , (gGameSettings.fOptions[TOPTION_BLOOD_N_GORE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_DONT_MOVE_MOUSE = %s \n" , (gGameSettings.fOptions[TOPTION_DONT_MOVE_MOUSE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_OLD_SELECTION_METHOD = %s \n" , (gGameSettings.fOptions[TOPTION_OLD_SELECTION_METHOD] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_ALWAYS_SHOW_MOVEMENT_PATH = %s \n" , (gGameSettings.fOptions[TOPTION_ALWAYS_SHOW_MOVEMENT_PATH] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SHOW_MISSES = %s \n" , (gGameSettings.fOptions[TOPTION_SHOW_MISSES] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_RTCONFIRM = %s \n" , (gGameSettings.fOptions[TOPTION_RTCONFIRM] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SLEEPWAKE_NOTIFICATION = %s \n" , (gGameSettings.fOptions[TOPTION_SLEEPWAKE_NOTIFICATION] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_USE_METRIC_SYSTEM = %s \n" , (gGameSettings.fOptions[TOPTION_USE_METRIC_SYSTEM] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_MERC_ALWAYS_LIGHT_UP = %s \n" , (gGameSettings.fOptions[TOPTION_MERC_ALWAYS_LIGHT_UP] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SMART_CURSOR = %s \n" , (gGameSettings.fOptions[TOPTION_SMART_CURSOR] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SNAP_CURSOR_TO_DOOR = %s \n" , (gGameSettings.fOptions[TOPTION_SNAP_CURSOR_TO_DOOR] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_GLOW_ITEMS = %s \n" , (gGameSettings.fOptions[TOPTION_GLOW_ITEMS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_TOGGLE_TREE_TOPS = %s \n" , (gGameSettings.fOptions[TOPTION_TOGGLE_TREE_TOPS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_TOGGLE_WIREFRAME = %s \n" , (gGameSettings.fOptions[TOPTION_TOGGLE_WIREFRAME] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_3D_CURSOR = %s \n" , (gGameSettings.fOptions[TOPTION_3D_CURSOR] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_CTH_CURSOR = %s \n" , (gGameSettings.fOptions[TOPTION_CTH_CURSOR] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_GL_BURST_CURSOR = %s \n" , (gGameSettings.fOptions[TOPTION_GL_BURST_CURSOR] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_DROP_ALL = %s \n" , (gGameSettings.fOptions[TOPTION_DROP_ALL] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_GL_HIGH_ANGLE = %s \n" , (gGameSettings.fOptions[TOPTION_GL_HIGH_ANGLE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_AIM_LEVEL_RESTRICTION = %s \n" , (gGameSettings.fOptions[TOPTION_AIM_LEVEL_RESTRICTION] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SPACE_SELECTS_NEXT_SQUAD = %s \n" , (gGameSettings.fOptions[TOPTION_SPACE_SELECTS_NEXT_SQUAD] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SHOW_ITEM_SHADOW = %s \n" , (gGameSettings.fOptions[TOPTION_SHOW_ITEM_SHADOW] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SHOW_WEAPON_RANGE_IN_TILES = %s \n" , (gGameSettings.fOptions[TOPTION_SHOW_WEAPON_RANGE_IN_TILES] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_TRACERS_FOR_SINGLE_FIRE = %s \n" , (gGameSettings.fOptions[TOPTION_TRACERS_FOR_SINGLE_FIRE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_RAIN_SOUND = %s \n" , (gGameSettings.fOptions[TOPTION_RAIN_SOUND] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_ALLOW_CROWS = %s \n" , (gGameSettings.fOptions[TOPTION_ALLOW_CROWS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_USE_RANDOM_PERSONALITY = %s \n" , (gGameSettings.fOptions[TOPTION_USE_RANDOM_PERSONALITY] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_USE_AUTO_SAVE = %s \n" , (gGameSettings.fOptions[TOPTION_USE_AUTO_SAVE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SILENT_SKYRIDER = %s \n" , (gGameSettings.fOptions[TOPTION_SILENT_SKYRIDER] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_LOW_CPU_USAGE = %s \n" , (gGameSettings.fOptions[TOPTION_LOW_CPU_USAGE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_ENHANCED_DESC_BOX = %s \n" , (gGameSettings.fOptions[TOPTION_ENHANCED_DESC_BOX] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_TOGGLE_TURN_MODE = %s \n" , (gGameSettings.fOptions[TOPTION_TOGGLE_TURN_MODE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_CHEAT_MODE_OPTIONS_HEADER = %s \n" , (gGameSettings.fOptions[TOPTION_CHEAT_MODE_OPTIONS_HEADER] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_FORCE_BOBBY_RAY_SHIPMENTS = %s \n" , (gGameSettings.fOptions[TOPTION_FORCE_BOBBY_RAY_SHIPMENTS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_CHEAT_MODE_OPTIONS_END = %s \n" , (gGameSettings.fOptions[TOPTION_CHEAT_MODE_OPTIONS_END] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_DEBUG_MODE_OPTIONS_HEADER = %s \n" , (gGameSettings.fOptions[TOPTION_DEBUG_MODE_OPTIONS_HEADER] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_SHOW_RESET_ALL_OPTIONS = %s \n" , (gGameSettings.fOptions[TOPTION_SHOW_RESET_ALL_OPTIONS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_RESET_ALL_OPTIONS = %s \n" , (gGameSettings.fOptions[TOPTION_RESET_ALL_OPTIONS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE = %s \n" , (gGameSettings.fOptions[TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP = %s \n" , (gGameSettings.fOptions[TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_RENDER_MOUSE_REGIONS = %s \n" , (gGameSettings.fOptions[TOPTION_RENDER_MOUSE_REGIONS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_DEBUG_MODE_OPTIONS_END = %s \n" , (gGameSettings.fOptions[TOPTION_DEBUG_MODE_OPTIONS_END] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , "; Options beyond this point are Code derived options, DO NOT CHANGE THESE UNLESS YOU KNOW WHAT YOUR ARE DOING. \n" ); + fprintf_s (file_pointer , "; They are only included here for complete transparency for all GameSettings content. \n" ); + fprintf_s (file_pointer , ";******************************************************************************************************************************\n" ); + fprintf_s (file_pointer , "TOPTION_LAST_OPTION = %s \n" , (gGameSettings.fOptions[TOPTION_LAST_OPTION] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "NUM_GAME_OPTIONS = %s \n" , (gGameSettings.fOptions[NUM_GAME_OPTIONS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_MERC_CASTS_LIGHT = %s \n" , (gGameSettings.fOptions[TOPTION_MERC_CASTS_LIGHT] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_HIDE_BULLETS = %s \n" , (gGameSettings.fOptions[TOPTION_HIDE_BULLETS] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "TOPTION_TRACKING_MODE = %s \n" , (gGameSettings.fOptions[TOPTION_TRACKING_MODE] ? "TRUE" : "FALSE" ) ); + fprintf_s (file_pointer , "NUM_ALL_GAME_OPTIONS = %s \n" , (gGameSettings.fOptions[NUM_ALL_GAME_OPTIONS] ? "TRUE" : "FALSE" ) ); + } - - - - //Record the current settings into the game settins structure - - gGameSettings.ubSoundEffectsVolume = (UINT8)GetSoundEffectsVolume( ); - gGameSettings.ubSpeechVolume = (UINT8)GetSpeechVolume( ); - gGameSettings.ubMusicVolumeSetting = (UINT8)MusicGetVolume( ); - - strcpy( gGameSettings.zVersionNumber, czVersionNumber ); - - gGameSettings.uiSettingsVersionNumber = GAME_SETTING_CURRENT_VERSION; - - //Write the game settings to disk - FileWrite( hFile, &gGameSettings, sizeof( GAME_SETTINGS ), &uiNumBytesWritten ); - if( uiNumBytesWritten != sizeof( GAME_SETTINGS ) ) - { - FileClose( hFile ); - return(FALSE); - } - - FileClose( hFile ); + fclose( file_pointer ); return( TRUE ); + } + void InitGameSettings() { + // completely blank out gGameSettings memset( &gGameSettings, 0, sizeof( GAME_SETTINGS ) ); //Init the Game Settings - gGameSettings.bLastSavedGameSlot = -1; + gGameSettings.bLastSavedGameSlot = -1; gGameSettings.ubMusicVolumeSetting = 63; gGameSettings.ubSoundEffectsVolume = 63; - gGameSettings.ubSpeechVolume = 63; + gGameSettings.ubSpeechVolume = 63; //Set the settings SetSoundEffectsVolume( gGameSettings.ubSoundEffectsVolume ); SetSpeechVolume( gGameSettings.ubSpeechVolume ); MusicSetVolume( gGameSettings.ubMusicVolumeSetting ); - gGameSettings.fOptions[ TOPTION_SUBTITLES ] = TRUE; gGameSettings.fOptions[ TOPTION_SPEECH ] = TRUE; - gGameSettings.fOptions[ TOPTION_KEY_ADVANCE_SPEECH ] = FALSE; - gGameSettings.fOptions[ TOPTION_RTCONFIRM ] = FALSE; - gGameSettings.fOptions[ TOPTION_HIDE_BULLETS ] = FALSE; - gGameSettings.fOptions[ TOPTION_TRACKING_MODE ] = TRUE; gGameSettings.fOptions[ TOPTION_MUTE_CONFIRMATIONS ] = FALSE; + gGameSettings.fOptions[ TOPTION_SUBTITLES ] = TRUE; + gGameSettings.fOptions[ TOPTION_KEY_ADVANCE_SPEECH ] = FALSE; gGameSettings.fOptions[ TOPTION_ANIMATE_SMOKE ] = TRUE; gGameSettings.fOptions[ TOPTION_BLOOD_N_GORE ] = TRUE; gGameSettings.fOptions[ TOPTION_DONT_MOVE_MOUSE ] = FALSE; gGameSettings.fOptions[ TOPTION_OLD_SELECTION_METHOD ] = FALSE; gGameSettings.fOptions[ TOPTION_ALWAYS_SHOW_MOVEMENT_PATH ] = FALSE; - + gGameSettings.fOptions[ TOPTION_SHOW_MISSES ] = FALSE; + gGameSettings.fOptions[ TOPTION_RTCONFIRM ] = FALSE; gGameSettings.fOptions[ TOPTION_SLEEPWAKE_NOTIFICATION ] = TRUE; - gGameSettings.fOptions[ TOPTION_USE_METRIC_SYSTEM ] = FALSE; - - //#ifndef BLOOD_N_GORE_ENABLED // arynn : del_me : defunct - // gGameSettings.fOptions[ TOPTION_BLOOD_N_GORE ] = FALSE; - //#endif - gGameSettings.fOptions[ TOPTION_MERC_ALWAYS_LIGHT_UP ] = FALSE; gGameSettings.fOptions[ TOPTION_SMART_CURSOR ] = FALSE; - gGameSettings.fOptions[ TOPTION_SNAP_CURSOR_TO_DOOR ] = TRUE; gGameSettings.fOptions[ TOPTION_GLOW_ITEMS ] = TRUE; gGameSettings.fOptions[ TOPTION_TOGGLE_TREE_TOPS ] = TRUE; gGameSettings.fOptions[ TOPTION_TOGGLE_WIREFRAME ] = TRUE; gGameSettings.fOptions[ TOPTION_3D_CURSOR ] = FALSE; gGameSettings.fOptions[ TOPTION_CTH_CURSOR ] = TRUE; + //Madd: gGameSettings.fOptions[ TOPTION_GL_BURST_CURSOR ] = TRUE; gGameSettings.fOptions[ TOPTION_DROP_ALL ] = FALSE; gGameSettings.fOptions[ TOPTION_GL_HIGH_ANGLE ] = FALSE; gGameSettings.fOptions[ TOPTION_AIM_LEVEL_RESTRICTION ] = TRUE; - // JA2Gold - gGameSettings.fOptions[ TOPTION_MERC_CASTS_LIGHT ] = TRUE; //lalien gGameSettings.fOptions[ TOPTION_SPACE_SELECTS_NEXT_SQUAD ] = TRUE; @@ -311,24 +410,42 @@ void InitGameSettings() gGameSettings.fOptions[ TOPTION_SILENT_SKYRIDER ] = FALSE; gGameSettings.fOptions[ TOPTION_LOW_CPU_USAGE ] = FALSE; gGameSettings.fOptions[ TOPTION_ENHANCED_DESC_BOX ] = FALSE; + + // arynn gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = FALSE; - gGameSettings.fOptions[ TOPTION_SHOW_RESET_ALL_OPTIONS ] = FALSE; // arynn : failsafe show/hide option - gGameSettings.fOptions[ TOPTION_RESET_ALL_OPTIONS ] = FALSE; // arynn : a do once and reset self option - gGameSettings.fOptions[ TOPTION_DEBUG_MODE_OPTIONS_HEADER ] = FALSE; // arynn : a sample options screen options header - gGameSettings.fOptions[ TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE ] = FALSE; // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - gGameSettings.fOptions[ TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP ] = FALSE; // arynn : a sample option which affects options screen listing only - gGameSettings.fOptions[ TOPTION_RENDER_MOUSE_REGIONS ] = FALSE; // arynn : a sample DEBUG build option - gGameSettings.fOptions[ TOPTION_DEBUG_MODE_OPTIONS_END ] = FALSE; // arynn : a sample options screen options divider + gGameSettings.fOptions[ TOPTION_CHEAT_MODE_OPTIONS_HEADER ] = FALSE; + gGameSettings.fOptions[ TOPTION_FORCE_BOBBY_RAY_SHIPMENTS ] = FALSE; // force all pending Bobby Ray shipments + gGameSettings.fOptions[ TOPTION_CHEAT_MODE_OPTIONS_END ] = FALSE; + gGameSettings.fOptions[ TOPTION_DEBUG_MODE_OPTIONS_HEADER ] = FALSE; // an example options screen options header (pure text) + gGameSettings.fOptions[ TOPTION_SHOW_RESET_ALL_OPTIONS ] = FALSE; // failsafe show/hide option to reset all options + gGameSettings.fOptions[ TOPTION_RESET_ALL_OPTIONS ] = FALSE; // a do once and reset self option (button like effect) + gGameSettings.fOptions[ TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE ] = FALSE; // allow debug options that were set in debug.exe to continue in a rel.exe (debugging release can be beneficial) + gGameSettings.fOptions[ TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP ] = FALSE; // an example option that will show/hide other options + gGameSettings.fOptions[ TOPTION_RENDER_MOUSE_REGIONS ] = FALSE; // an example of a DEBUG build option + gGameSettings.fOptions[ TOPTION_DEBUG_MODE_OPTIONS_END ] = FALSE; // an example options screen options divider (pure text) + // enum control options (not real options but included here for the sake of complete control of values) - gGameSettings.fOptions[ TOPTION_LAST_OPTION ] = FALSE; // arynn : this is THE LAST option that exists (intended for debugging the options screen, doesnt do anything, except exist) - + // ary-05/05/2009 : TOPTION_LAST_OPTION is THE LAST options screen toggle option that exists. (its still an option, and its < NUM_GAME_OPTIONS) + // : intended for debugging options screen final page. test to avoid last page over or under extension. + // : might be useful in future of toggle option content developement. + gGameSettings.fOptions[ TOPTION_LAST_OPTION ] = FALSE; // doesnt do anything except exist + gGameSettings.fOptions[ NUM_GAME_OPTIONS ] = FALSE; // Toggles prior to this will be able to be toggled by the player + + // JA2Gold + gGameSettings.fOptions[ TOPTION_MERC_CASTS_LIGHT ] = TRUE; + + gGameSettings.fOptions[ TOPTION_HIDE_BULLETS ] = FALSE; + gGameSettings.fOptions[ TOPTION_TRACKING_MODE ] = TRUE; + + gGameSettings.fOptions[ NUM_ALL_GAME_OPTIONS ] = FALSE; // Absolute final end of enum gGameSettings.ubSizeOfDisplayCover = 4; gGameSettings.ubSizeOfLOS = 4; //Since we just set the settings, save them SaveGameSettings(); + } void InitGameOptions() diff --git a/GameSettings.h b/GameSettings.h index a17d32e8..496853e4 100644 --- a/GameSettings.h +++ b/GameSettings.h @@ -4,9 +4,10 @@ #include "Types.h" -//If you add any options, MAKE sure you add the corresponding string to the Options Screen string array -// look up : zOptionsScreenHelpText , zOptionsToggleText , InitGameSettings , -// also, to establish non typical display rules (options screen list) : Establish_Options_Screen_Rules +//If you add any options, MAKE sure you add the corresponding string to the Options Screen string array. +// look up : zOptionsScreenHelpText , zOptionsToggleText +//Also, define its initialization and add its load/save to INI lines in : InitGameSettings() , SaveGameSettings() , LoadGameSettings() +//Also, to establish non typical display rules (options screen list) : Establish_Options_Screen_Rules() enum { TOPTION_SPEECH, @@ -20,35 +21,28 @@ enum TOPTION_DONT_MOVE_MOUSE, TOPTION_OLD_SELECTION_METHOD, TOPTION_ALWAYS_SHOW_MOVEMENT_PATH, - - // TOPTION_TIME_LIMIT_TURNS, //moved to the game init screen - TOPTION_SHOW_MISSES, - TOPTION_RTCONFIRM, - - -// TOPTION_DISPLAY_ENEMY_INDICATOR, //Displays the number of enemies seen by the merc, ontop of their portrait +// TOPTION_DISPLAY_ENEMY_INDICATOR, //Displays the number of enemies seen by the merc, ontop of their portrait TOPTION_SLEEPWAKE_NOTIFICATION, - - TOPTION_USE_METRIC_SYSTEM, //If set, uses the metric system - + TOPTION_USE_METRIC_SYSTEM, //If set, uses the metric system TOPTION_MERC_ALWAYS_LIGHT_UP, - TOPTION_SMART_CURSOR, - TOPTION_SNAP_CURSOR_TO_DOOR, - TOPTION_GLOW_ITEMS, TOPTION_TOGGLE_TREE_TOPS, TOPTION_TOGGLE_WIREFRAME, TOPTION_3D_CURSOR, TOPTION_CTH_CURSOR, + + //Madd: TOPTION_GL_BURST_CURSOR, TOPTION_DROP_ALL, TOPTION_GL_HIGH_ANGLE, TOPTION_AIM_LEVEL_RESTRICTION, + + //lalien TOPTION_SPACE_SELECTS_NEXT_SQUAD, TOPTION_SHOW_ITEM_SHADOW, TOPTION_SHOW_WEAPON_RANGE_IN_TILES, @@ -60,85 +54,31 @@ enum TOPTION_SILENT_SKYRIDER, TOPTION_LOW_CPU_USAGE, TOPTION_ENHANCED_DESC_BOX, - TOPTION_TOGGLE_TURN_MODE, // arynn : add forced turn mode - TOPTION_SHOW_RESET_ALL_OPTIONS, // arynn : in game ja2.set file fixer (one time done button, not a reall toggle option) - TOPTION_RESET_ALL_OPTIONS, // arynn : in game ja2.set file fixer (one time done button, not a reall toggle option) - - TOPTION_DEBUG_MODE_OPTIONS_HEADER, // arynn : a sample options screen options header - TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE, // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP, // arynn : a sample option which affects options screen listing only - TOPTION_RENDER_MOUSE_REGIONS, // arynn : a sample DEBUG build option - TOPTION_DEBUG_MODE_OPTIONS_END, // arynn : a sample options screen options divider - - //TOPTION PADDIN : go ahead, use one of em, just try to keep the # inline with where they are in foptions[] so the # makes sense - TOPTION_044, - TOPTION_045, - TOPTION_046, - TOPTION_047, - TOPTION_048, - TOPTION_049, - TOPTION_050, - TOPTION_051, - TOPTION_052, - TOPTION_053, - TOPTION_054, - TOPTION_055, - TOPTION_056, - TOPTION_057, - TOPTION_058, - TOPTION_059, - TOPTION_060, - TOPTION_061, - TOPTION_062, - TOPTION_063, - TOPTION_064, - TOPTION_065, - TOPTION_066, - TOPTION_067, - TOPTION_068, - TOPTION_069, - TOPTION_070, - TOPTION_071, - TOPTION_072, - TOPTION_073, - TOPTION_074, - TOPTION_075, - TOPTION_076, - TOPTION_077, - TOPTION_078, - TOPTION_079, - TOPTION_080, - TOPTION_081, - TOPTION_082, - TOPTION_083, - TOPTION_084, - TOPTION_085, - TOPTION_086, - TOPTION_087, - TOPTION_088, - TOPTION_089, - TOPTION_090, - TOPTION_091, - TOPTION_092, - TOPTION_093, - TOPTION_094, - TOPTION_095, - TOPTION_096, - TOPTION_097, - TOPTION_098, - TOPTION_099, - TOPTION_100, - - // arynn : this is THE LAST option that exists (intended for debugging the options screen, doesnt do anything, except exist) - TOPTION_LAST_OPTION, - NUM_GAME_OPTIONS, //Toggle up this will be able to be Toggled by the player + // arynn + TOPTION_TOGGLE_TURN_MODE, + TOPTION_CHEAT_MODE_OPTIONS_HEADER, + TOPTION_FORCE_BOBBY_RAY_SHIPMENTS, // force all pending Bobby Ray shipments + TOPTION_CHEAT_MODE_OPTIONS_END, + TOPTION_DEBUG_MODE_OPTIONS_HEADER, // an example options screen options header (pure text) + TOPTION_SHOW_RESET_ALL_OPTIONS, // failsafe show/hide option to reset all options + TOPTION_RESET_ALL_OPTIONS, // a do once and reset self option (button like effect) + TOPTION_RETAIN_DEBUG_OPTIONS_IN_RELEASE, // allow debug options that were set in debug.exe to continue in a rel.exe (debugging release can be beneficial) + TOPTION_DEBUG_MODE_RENDER_OPTIONS_GROUP, // an example option that will show/hide other options + TOPTION_RENDER_MOUSE_REGIONS, // an example of a DEBUG build option + TOPTION_DEBUG_MODE_OPTIONS_END, // an example options screen options divider (pure text) + + // this is THE LAST option that exists (intended for debugging the options screen, doesnt do anything, except exist) + TOPTION_LAST_OPTION, + NUM_GAME_OPTIONS, // Toggles prior to this will be able to be toggled by the player //These options will NOT be toggable by the Player - TOPTION_MERC_CASTS_LIGHT = NUM_GAME_OPTIONS, + + // JA2Gold + TOPTION_MERC_CASTS_LIGHT, + TOPTION_HIDE_BULLETS, TOPTION_TRACKING_MODE, - NUM_ALL_GAME_OPTIONS, }; @@ -146,27 +86,21 @@ enum typedef struct { - INT8 bLastSavedGameSlot; // The last saved game number goes in here + INT8 bLastSavedGameSlot; // The last saved game number goes in here - UINT8 ubMusicVolumeSetting; - UINT8 ubSoundEffectsVolume; - UINT8 ubSpeechVolume; + UINT8 ubMusicVolumeSetting; // Volume Setting + UINT8 ubSoundEffectsVolume; // Volume Setting + UINT8 ubSpeechVolume; // Volume Setting //The following are set from the status of the toggle boxes in the Options Screen - UINT8 fOptions[ NUM_ALL_GAME_OPTIONS ]; + UINT8 fOptions[ NUM_ALL_GAME_OPTIONS ]; // Toggle Options (Speech, Subtitles, Show Tree Tops, etc.. ) - CHAR8 zVersionNumber[14]; + UINT32 uiMeanwhileScenesSeenFlags; // Bit Vector describing seen 'mean whiles..' (not sure why this is in Game Settings ) - UINT32 uiSettingsVersionNumber; - UINT32 uiMeanwhileScenesSeenFlags; + BOOLEAN fHideHelpInAllScreens; // Controls Help "do not show help again" checkbox - BOOLEAN fHideHelpInAllScreens; - - BOOLEAN fUNUSEDPlayerFinishedTheGame; // JA2Gold: for UB compatibility - UINT8 ubSizeOfDisplayCover; - UINT8 ubSizeOfLOS; - - UINT8 ubFiller[17]; + UINT8 ubSizeOfDisplayCover; // The number of grids the player designates thru "Delete + '=' or '-'" + UINT8 ubSizeOfLOS; // The number of grids the player designates thru "End + '=' or '-'" } GAME_SETTINGS; diff --git a/Options Screen.cpp b/Options Screen.cpp index 0c2dcf2c..e893c571 100644 Binary files a/Options Screen.cpp and b/Options Screen.cpp differ diff --git a/Tactical/DisplayCover.cpp b/Tactical/DisplayCover.cpp index 3ea9c746..a847043a 100644 --- a/Tactical/DisplayCover.cpp +++ b/Tactical/DisplayCover.cpp @@ -40,13 +40,7 @@ class OBJECTTYPE; class SOLDIERTYPE; //******* Local Defines ************************************************** - - -#define DC_MAX_COVER_RANGE 43 //31 -#define DC__SOLDIER_VISIBLE_RANGE 43 //31 - -#define DC__MIN_SIZE 4 -#define DC__MAX_SIZE 21 //11 +// moved no longer local typedef struct { diff --git a/Tactical/DisplayCover.h b/Tactical/DisplayCover.h index 7b6b90f1..8cba89d6 100644 --- a/Tactical/DisplayCover.h +++ b/Tactical/DisplayCover.h @@ -10,6 +10,12 @@ void DisplayRangeToTarget( SOLDIERTYPE *pSoldier, INT16 sTargetGridNo ); void RemoveVisibleGridNoAtSelectedGridNo(); void DisplayGridNoVisibleToSoldierGrid( ); + +#define DC_MAX_COVER_RANGE 43 //31 +#define DC__SOLDIER_VISIBLE_RANGE 43 //31 +#define DC__MIN_SIZE 4 +#define DC__MAX_SIZE 21 //11 + #ifdef JA2TESTVERSION void DisplayLosAndDisplayCoverUsageScreenMsg(); #endif diff --git a/Tactical/Overhead.cpp b/Tactical/Overhead.cpp index df343e48..424d6171 100644 --- a/Tactical/Overhead.cpp +++ b/Tactical/Overhead.cpp @@ -5729,7 +5729,7 @@ void ExitCombatMode( ) EndTopMessage( ); - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Exit combat mode");// arynn : add forced turn mode + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_FTM_EXIT_COMBAT ] );// ary-05/05/2009 : add forced turn mode // OK, we have exited combat mode..... // Reset some flags for no aps to move, etc @@ -5749,7 +5749,7 @@ void ExitCombatMode( ) { pSoldier->AdjustNoAPToFinishMove( FALSE ); - // arynn : fix lower ready weapons + // ary-05/05/2009 : fix lower ready weapons //previously "ready weapon" state was being dropped in a couple of cases //the fix involves bypassing the reset animation state for the various "ready weapon" types //since this is a reset animation function, we should be VERY specific about when and what we dont reset @@ -5762,7 +5762,7 @@ void ExitCombatMode( ) )) { pSoldier->SoldierGotoStationaryStance( ); - }// arynn : fix lower ready weapon end_if + } } //Cancel pending events @@ -6099,9 +6099,9 @@ BOOLEAN CheckForEndOfCombatMode( BOOLEAN fIncrementTurnsNotSeen ) // If we have reach a point where a cons. number of turns gone by.... //if ( gTacticalStatus.bConsNumTurnsNotSeen > 1 ) - // arynn : add forced turn mode : note : no forced turn mode option for Multi Player + // ary-05/05/2009 : add forced turn mode : note : no forced turn mode option for Multi Player if ( is_networked ) gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = FALSE; - if ( gTacticalStatus.bConsNumTurnsNotSeen > 1 && !gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ])// arynn : add forced turn mode + if ( gTacticalStatus.bConsNumTurnsNotSeen > 1 && !gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ]) { if(is_networked && !getReal)//hayden diff --git a/Tactical/Soldier Add.cpp b/Tactical/Soldier Add.cpp index 56dab16b..5755975c 100644 --- a/Tactical/Soldier Add.cpp +++ b/Tactical/Soldier Add.cpp @@ -24,9 +24,10 @@ #endif -#include "GameSettings.h" // arynn : add forced turn mode -#include "font control.h" // arynn : add forced turn mode -#include "message.h" // arynn : add forced turn mode +#include "GameSettings.h" // ary-05/05/2009 : add forced turn mode +#include "text.h" // : add forced turn mode +#include "font control.h" // : add forced turn mode +#include "message.h" // : add forced turn mode #include "connect.h" //forward declarations of common classes to eliminate includes class OBJECTTYPE; @@ -1531,17 +1532,17 @@ void AddSoldierToSectorGridNo( SOLDIERTYPE *pSoldier, INT16 sGridNo, UINT8 ubDir if ( pSoldier->ubBodyType != BLOODCAT ) { SetEnemyPresence( ); - // arynn : add forced turn mode : note : not for bloodcats.. - // arynn : add forced turn mode : note : no forced turn mode option for Multi Player + // ary-05/05/2009 : add forced turn mode : note : not for bloodcats.. + // : note : no forced turn mode option for Multi Player if ( is_networked ) gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = FALSE; if ( gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ]) { - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Forced Turn Mode Active, Entering Combat" ); + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_FTM_ENTER_COMBAT ] ); if( Random( 100 ) >= Random( 100 ) ) // give a chance for either to go first EnterCombatMode( OUR_TEAM ); else EnterCombatMode( ENEMY_TEAM ); - }// arynn : add forced turn mode + } } } } diff --git a/Tactical/Turn Based Input.cpp b/Tactical/Turn Based Input.cpp index fe09c53a..edd07f86 100644 --- a/Tactical/Turn Based Input.cpp +++ b/Tactical/Turn Based Input.cpp @@ -207,7 +207,7 @@ void ToggleWireFrame(); void RefreshSoldier(); void ChangeSoldiersBodyType( UINT8 ubBodyType, BOOLEAN fCreateNewPalette ); void TeleportSelectedSoldier(); -void ToggleTurnMode();// arynn : add forced turn mode +void ToggleTurnMode();// ary-05/05/2009 : add forced turn mode void ToggleTreeTops(); void ToggleZBuffer(); void TogglePlanningMode(); @@ -3707,7 +3707,7 @@ void GetKeyboardInput( UINT32 *puiNewEvent ) break; case 'T': - if ( fCtrl && fShift && fAlt && !is_networked)// arynn : add forced turn mode + if ( fCtrl && fShift && fAlt && !is_networked)// ary-05/05/2009 : add forced turn mode { ToggleTurnMode(); } @@ -4570,28 +4570,20 @@ void TeleportSelectedSoldier() } } -void ToggleTurnMode()// arynn : add forced turn mode +void ToggleTurnMode()// ary-05/05/2009 : add forced turn mode { if ( !gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] ) { - #ifdef CHINESE - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"强制回合制模式" ); - #else - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Forced Turn Mode" ); - #endif + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_FORCED_TURN_MODE ] ); gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = TRUE; - EnterCombatMode( OUR_TEAM ); // arynn : randomize ? i'm leaving this for now due to "i made the call, i get dibs" + EnterCombatMode( OUR_TEAM ); // ary-05/05/2009 : randomize ? i'm leaving this for now due to "player makes the call, player gets dibs" } else { - #ifdef CHINESE - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"标准即时回合制模式"); - #else - ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, L"Normal turn mode"); - #endif + ScreenMsg( FONT_MCOLOR_LTYELLOW, MSG_INTERFACE, pMessageStrings[ MSG_NORMAL_TURN_MODE ] ); gGameSettings.fOptions[ TOPTION_TOGGLE_TURN_MODE ] = FALSE; } -}// arynn : add forced turn mode +} void ToggleTreeTops() { diff --git a/Utils/INIReader.cpp b/Utils/INIReader.cpp index 0ec61c1f..93fae359 100644 --- a/Utils/INIReader.cpp +++ b/Utils/INIReader.cpp @@ -8,6 +8,8 @@ #include #include +#include //limits for float/double vars ie. DBL_MAX FLT_MAX + // Kaiden: INI reading function definitions: std::stack iniErrorMessages; @@ -25,6 +27,35 @@ CIniReader::CIniReader(const STR8 szFileName) } } +CIniReader::CIniReader(const STR8 szFileName, BOOL Force_Custom_Data_Path) +{ + // ary-05/05/2009 : force custom data path for potential non existing file -or- force default data path + // : Also, flag file detection to allow functions to determine course of action for case of file [not found/is found]. + if ( Force_Custom_Data_Path ) + { + if ( gCustomDataCat.FindFile(szFileName) ) + { + CIniReader_File_Found = TRUE; + } + else + { + CIniReader_File_Found = FALSE; + } + sprintf(m_szFileName, "%s\\%s", gCustomDataCat.GetRootDir().c_str(), szFileName); + } + else + { + if ( gDefaultDataCat.FindFile(szFileName) ) + { + CIniReader_File_Found = TRUE; + } + else + { + CIniReader_File_Found = FALSE; + } + sprintf(m_szFileName, "%s\\%s", gDefaultDataCat.GetRootDir().c_str(), szFileName); + } +} int CIniReader::ReadInteger(const STR8 szSection, const STR8 szKey, int iDefaultValue) { @@ -40,14 +71,14 @@ int CIniReader::ReadInteger(const STR8 szSection, const STR8 szKey, int defaultV if (iniValueReadFromFile < minValue) { std::stringstream errMessage; errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile - << ") is outsize the valid range of " << minValue << " to " << maxValue + << ") is outside the valid range of " << minValue << " to " << maxValue << ". " << minValue << " will be used."; iniErrorMessages.push(errMessage.str()); return minValue; } else if (iniValueReadFromFile > maxValue) { std::stringstream errMessage; errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile - << ") is outsize the valid range of " << minValue << " to " << maxValue + << ") is outside the valid range of " << minValue << " to " << maxValue << ". " << maxValue << " will be used."; iniErrorMessages.push(errMessage.str()); return maxValue; @@ -68,27 +99,30 @@ int CIniReader::ReadInteger(const STR8 szSection, const STR8 szKey, int defaultV // return fltResult; //} -double CIniReader::ReadDouble(const STR8 szSection, const STR8 szKey, double defaultValue, double minValue, double maxValue) +DOUBLE CIniReader::ReadDouble(const STR8 szSection, const STR8 szKey, DOUBLE defaultValue, DOUBLE minValue, DOUBLE maxValue) { char szResult[255]; char szDefault[255]; - double iniValueReadFromFile; + DOUBLE iniValueReadFromFile; + sprintf(szDefault, "%f", defaultValue); GetPrivateProfileString(szSection, szKey, szDefault, szResult, 255, m_szFileName); - iniValueReadFromFile = (float) atof(szResult); + iniValueReadFromFile = strtod(szResult, NULL); + //AssertGE(iniValueReadFromFile, minValue); //AssertLE(iniValueReadFromFile, maxValue); + if (iniValueReadFromFile < minValue) { std::stringstream errMessage; errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile - << ") is outsize the valid range of " << minValue << " to " << maxValue + << ") is outside the valid range of " << minValue << " to " << maxValue << ". " << minValue << " will be used."; iniErrorMessages.push(errMessage.str()); return minValue; } else if (iniValueReadFromFile > maxValue) { std::stringstream errMessage; errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile - << ") is outsize the valid range of " << minValue << " to " << maxValue + << ") is outside the valid range of " << minValue << " to " << maxValue << ". " << maxValue << " will be used."; iniErrorMessages.push(errMessage.str()); return maxValue; @@ -96,8 +130,38 @@ double CIniReader::ReadDouble(const STR8 szSection, const STR8 szKey, double def return iniValueReadFromFile; } +FLOAT CIniReader::ReadFloat(const STR8 szSection, const STR8 szKey, FLOAT defaultValue, FLOAT minValue, FLOAT maxValue) +{ + char szResult[255]; + char szDefault[255]; + FLOAT iniValueReadFromFile; -bool CIniReader::ReadBoolean(const STR8 szSection, const STR8 szKey, bool defaultValue) + sprintf(szDefault, "%f", defaultValue); + GetPrivateProfileString(szSection, szKey, szDefault, szResult, 255, m_szFileName); + iniValueReadFromFile = (FLOAT) atof(szResult); + + //AssertGE(iniValueReadFromFile, minValue); + //AssertLE(iniValueReadFromFile, maxValue); + + if (iniValueReadFromFile < minValue) { + std::stringstream errMessage; + errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile + << ") is outside the valid range of " << minValue << " to " << maxValue + << ". " << minValue << " will be used."; + iniErrorMessages.push(errMessage.str()); + return minValue; + } else if (iniValueReadFromFile > maxValue) { + std::stringstream errMessage; + errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile + << ") is outside the valid range of " << minValue << " to " << maxValue + << ". " << maxValue << " will be used."; + iniErrorMessages.push(errMessage.str()); + return maxValue; + } + return iniValueReadFromFile; +} + +BOOL CIniReader::ReadBoolean(const STR8 szSection, const STR8 szKey, BOOL defaultValue) { char szResult[255]; char szDefault[255]; @@ -119,7 +183,83 @@ STR8 CIniReader::ReadString(const STR8 szSection, const STR8 szKey, const STR8 s +UINT8 CIniReader::ReadUINT8(const STR8 szSection, const STR8 szKey, UINT8 defaultValue, UINT8 minValue, UINT8 maxValue) +{ + UINT8 iniValueReadFromFile; + + iniValueReadFromFile = (UINT8) this->ReadUINT( szSection, szKey, (UINT32) defaultValue, (UINT32) minValue, (UINT32) maxValue); + + return iniValueReadFromFile; + +} + +UINT16 CIniReader::ReadUINT16(const STR8 szSection, const STR8 szKey, UINT16 defaultValue, UINT16 minValue, UINT16 maxValue) +{ + + UINT16 iniValueReadFromFile; + + iniValueReadFromFile = (UINT16) this->ReadUINT( szSection, szKey, (UINT32) defaultValue, (UINT32) minValue, (UINT32) maxValue); + + return iniValueReadFromFile; + +} + +UINT32 CIniReader::ReadUINT32(const STR8 szSection, const STR8 szKey, UINT32 defaultValue, UINT32 minValue, UINT32 maxValue) +{ + + UINT32 iniValueReadFromFile; + + iniValueReadFromFile = (UINT32) this->ReadUINT( szSection, szKey, (UINT32) defaultValue, (UINT32) minValue, (UINT32) maxValue); + + return iniValueReadFromFile; + +} + +UINT32 CIniReader::ReadUINT(const STR8 szSection, const STR8 szKey, UINT32 defaultValue, UINT32 minValue, UINT32 maxValue ) +{ + UINT32 iniValueReadFromFile; + + STR8 szResult = new char[255]; + STR8 szDefault = new char[255]; + + memset(szResult, 0x00, 255); + memset(szDefault, 0x00, 255); + + sprintf(szDefault, "%u", defaultValue); + + sprintf_s( szResult , (size_t) 255 , "%s", this->ReadString (szSection , szKey , szDefault )); + iniValueReadFromFile = (UINT32) strtoul(szResult,NULL,0); + + //AssertGE(iniValueReadFromFile, minValue); + //AssertLE(iniValueReadFromFile, maxValue); + + if (iniValueReadFromFile < minValue) + { + std::stringstream errMessage; + errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile + << ") is outside the valid range of " << minValue << " to " << maxValue + << ". " << minValue << " will be used."; + iniErrorMessages.push(errMessage.str()); + iniValueReadFromFile = minValue; + } + else if (iniValueReadFromFile > maxValue) + { + std::stringstream errMessage; + errMessage << "The value of the .ini setting " << szKey << "(" << iniValueReadFromFile + << ") is outside the valid range of " << minValue << " to " << maxValue + << ". " << maxValue << " will be used."; + iniErrorMessages.push(errMessage.str()); + iniValueReadFromFile = maxValue; + } + + + delete [] szResult ; + delete [] szDefault ; + + return iniValueReadFromFile; + +} diff --git a/Utils/INIReader.h b/Utils/INIReader.h index c5f5578a..34b51091 100644 --- a/Utils/INIReader.h +++ b/Utils/INIReader.h @@ -21,23 +21,37 @@ class CIniReader { public: CIniReader(const STR8 szFileName); + CIniReader(const STR8 szFileName, BOOL Force_Custom_Data_Path); // force path for nonexisting INI files // Warning: the following function will be removed int ReadInteger(const STR8 szSection, const STR8 szKey, int iDefaultValue); - int ReadInteger(const STR8 szSection, const STR8 szKey, int defaultValue, int minValue, int maxValue); + //UINT32 CIniReader::testReadUINT32(void);//various limit tests of UINT and double/float handling + //front end functions that control type interpretation and range control, each calls internal ReadUINT + UINT32 CIniReader::ReadUINT32(const STR8 szSection, const STR8 szKey, UINT32 defaultValue, UINT32 minValue, UINT32 maxValue); + UINT16 CIniReader::ReadUINT16(const STR8 szSection, const STR8 szKey, UINT16 defaultValue, UINT16 minValue, UINT16 maxValue); + UINT8 CIniReader::ReadUINT8 (const STR8 szSection, const STR8 szKey, UINT8 defaultValue, UINT8 minValue, UINT8 maxValue); + // Warning: the following function will be removed //double ReadDouble(const STR8 szSection, const STR8 szKey, double fltDefaultValue); - double ReadDouble(const STR8 szSection, const STR8 szKey, double defaultValue, double minValue, double maxValue); + // Read_reals + DOUBLE ReadDouble(const STR8 szSection, const STR8 szKey, DOUBLE defaultValue, DOUBLE minValue, DOUBLE maxValue); + FLOAT ReadFloat (const STR8 szSection, const STR8 szKey, FLOAT defaultValue, FLOAT minValue, FLOAT maxValue); - bool ReadBoolean(const STR8 szSection, const STR8 szKey, bool bolDefaultValue); + BOOL ReadBoolean(const STR8 szSection, const STR8 szKey, BOOL bolDefaultValue); STR8 ReadString(const STR8 szSection, const STR8 szKey, const STR8 szDefaultValue); + + BOOL Is_CIniReader_File_Found(void) {return (CIniReader_File_Found);} private: char m_szFileName[MAX_PATH]; + BOOL CIniReader_File_Found; + + UINT32 CIniReader::ReadUINT(const STR8 szSection, const STR8 szKey, UINT32 defaultValue, UINT32 minValue, UINT32 maxValue); + }; #endif//INIREADER_H \ No newline at end of file diff --git a/Utils/Text.h b/Utils/Text.h index 8a9707cc..8597a8f0 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -255,6 +255,10 @@ enum MSG_DROP_ALL_OFF, MSG_GL_LOW_ANGLE, MSG_GL_HIGH_ANGLE, + MSG_FORCED_TURN_MODE, + MSG_NORMAL_TURN_MODE, + MSG_FTM_EXIT_COMBAT, + MSG_FTM_ENTER_COMBAT, #ifdef JA2BETAVERSION MSG_END_TURN_AUTO_SAVE, #endif @@ -1710,3 +1714,26 @@ enum // OJW - MP extern STR16 gszMPMapscreenText[]; #endif + + +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +//these are dummy functions. Not all of these may be necessary. They are included for future possible useage +void this_is_the_ChineseText_public_symbol(void); +void this_is_the_DutchText_public_symbol(void); +void this_is_the_EnglishText_public_symbol(void); +void this_is_the_FrenchText_public_symbol(void); +void this_is_the_GermanText_public_symbol(void); +void this_is_the_ItalianText_public_symbol(void); +void this_is_the_PolishText_public_symbol(void); +void this_is_the_RussianText_public_symbol(void); +void this_is_the_TaiwaneseText_public_symbol(void); + +void this_is_the_Ja25ChineseText_public_symbol(void); +void this_is_the_Ja25DutchText_public_symbol(void); +void this_is_the_Ja25EnglishText_public_symbol(void); +void this_is_the_Ja25FrenchText_public_symbol(void); +void this_is_the_Ja25GermanText_public_symbol(void); +void this_is_the_Ja25ItalianText_public_symbol(void); +void this_is_the_Ja25PolishText_public_symbol(void); +void this_is_the_Ja25RussianText_public_symbol(void); +void this_is_the_Ja25TaiwaneseText_public_symbol(void); diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index eac3e0ad..e210fa31 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -8,6 +8,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_ChineseText_public_symbol(void){;} + #if defined( CHINESE ) /* @@ -3691,80 +3694,19 @@ STR16 zOptionsToggleText[] = L"娌夐粯鐨凷kyrider", //"Silent Skyrider", L"闄嶄綆CPU鐨勪娇鐢ㄧ巼", //"Low CPU usage", L"Enhanced Description Box", - L"寮哄埗鍥炲悎鍒舵ā寮",//L"Forced Turn Mode", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"閲嶇疆鎵鏈夐夐」", //L"Reset ALL game options", - L"纭畾瑕侀噸缃紵",//L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"寮哄埗鍥炲悎鍒舵ā寮", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"閲嶇疆鎵鏈夐夐」", // failsafe show/hide option to reset all options + L"纭畾瑕侀噸缃紵", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3848,79 +3790,19 @@ STR16 zOptionsScreenHelpText[] = L"褰撴墦寮鏃讹紝娓告垙灏嗕娇鐢ㄦ洿灏戠殑CPU璧勬簮銆", L"褰撴墦寮鏃讹紝灏嗗嚭鐜扮墿鍝佸強姝﹀櫒鐨勨滃寮烘弿杩版鈥濓紙EDB锛夈", L"褰撴墦寮鏃讹紝涓斿湪鎴樻湳鐢婚潰鍐呭瓨鍦ㄦ晫鍐涙椂锛屽皢涓鐩村浜庡洖鍚堝埗妯″紡鐩磋嚦璇ュ湴鍖烘墍鏈夋晫鍐涜娑堢伃锛堝彲浠ラ氳繃蹇嵎閿畖C|T|R|L+|S|H|I|F|T+|A|L|T+|T鏉ユ帶鍒舵墦寮鎴栧叧闂己鍒跺洖鍚堝埗妯″紡锛", - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4197,6 +4079,11 @@ STR16 pMessageStrings[] = L"绂佺敤鐗╁搧鍏ㄦ帀", //"Drop All Disabled", L"姒村脊鍙戝皠鍣ㄤ互姝e父浠拌鍙戝皠姒村脊", //"Grenade Launchers fire at standard angles", L"姒村脊鍙戝皠鍣ㄤ互杈冮珮浠拌鍙戝皠姒村脊", //L"Grenade Launchers fire at higher angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Successfully Saved the Game into the End Turn Auto Save slot.", #endif diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index e41b4815..761581e7 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -1,6 +1,9 @@ #include "Utils All.h" #include "Language Defines.h" +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_DutchText_public_symbol(void){;} + #ifdef DUTCH @@ -3678,80 +3681,19 @@ STR16 zOptionsToggleText[] = L"Silent Skyrider", L"Low CPU Usage", L"Enhanced Description Box", - L"Forced Turn Mode", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"Reset ALL game options", - L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Forced Turn Mode", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"Reset ALL game options", // failsafe show/hide option to reset all options + L"Do you really want to reset?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3834,80 +3776,20 @@ STR16 zOptionsScreenHelpText[] = L"When ON, Skyrider will not talk anymore.", L"When ON, game will run with much lower CPU usage.", L"When ON, enhanced descriptions will be shown for items and weapons.", - L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4184,6 +4066,11 @@ STR16 pMessageStrings[] = L"Drop All Disabled", L"Granade Launchers fire at standard angles", L"Grenade Launchers fire at higher angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Spel succesvol bewaard in de Einde Beurt Auto Bewaar Slot.", #endif diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 0efe17a7..60470edd 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -8,6 +8,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_EnglishText_public_symbol(void); + #if defined( ENGLISH ) /* @@ -3691,80 +3694,19 @@ STR16 zOptionsToggleText[] = L"Silent Skyrider", L"Low CPU usage", L"Enhanced Description Box", - L"Forced Turn Mode", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"Reset ALL game options", - L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Forced Turn Mode", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"Reset ALL game options", // failsafe show/hide option to reset all options + L"Do you really want to reset?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3847,80 +3789,20 @@ STR16 zOptionsScreenHelpText[] = L"When ON, Skyrider will not talk anymore.", L"When ON, game will run with much lower CPU usage.", L"When ON, enhanced descriptions will be shown for items and weapons.", - L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4197,6 +4079,11 @@ STR16 pMessageStrings[] = L"Drop All Disabled", L"Grenade Launchers fire at standard angles", L"Grenade Launchers fire at higher angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Successfully Saved the Game into the End Turn Auto Save slot.", #endif diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 3aff52bd..cbf3b4e5 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -9,6 +9,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_FrenchText_public_symbol(void){;} + #ifdef FRENCH /* @@ -3692,80 +3695,19 @@ STR16 zOptionsToggleText[] = L"Silence Skyrider !", L"Faible consommation processeur", L"EDB (mod rajoutant info utiles)", - L"Mode tour par tour forc", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"Reset ALL game options", - L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Mode tour par tour forc", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"Reset ALL game options", // failsafe show/hide option to reset all options + L"Do you really want to reset?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3848,80 +3790,20 @@ STR16 zOptionsScreenHelpText[] = L"Si activ, les confirmations insistantes de Skyrider cessent.", L"Si activ, le jeu restreint l'utilisation du processeur.", L"Si activ, l'EDB sera affich pour les armes et objets.", - L"Si cette option est activ閑 et que des ennemis sont pr閟ents, \nle mode tour par tour est actif tant qu'il reste \ndes ennemis dans le secteur (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"Si cette option est activ閑 et que des ennemis sont pr閟ents, \nle mode tour par tour est actif tant qu'il reste \ndes ennemis dans le secteur (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4198,6 +4080,11 @@ STR16 pMessageStrings[] = L"L鈉her tout d閟activ", L"Angles standards pour lance-grenades", L"Lance-grenades grands angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Partie enregistr閑 dans l'emplacement de sauvegarde automatique.", #endif diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index ae08ec28..9d7e4ac7 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -9,6 +9,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_GermanText_public_symbol(void){;} + #ifdef GERMAN @@ -3497,80 +3500,19 @@ STR16 zOptionsToggleText[] = L"Stummer Skyrider", L"Niedrige CPU Belastung", L"Erw. Gegenstandsinfo (EDB)", - L"Erzwungener Runden-Modus", - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"ALLE Einstellungen r點ksetzen", - L"Wollen Sie wirklich r點ksetzen?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Erzwungener Runden-Modus", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"ALLE Einstellungen r點ksetzen", // failsafe show/hide option to reset all options + L"Wollen Sie wirklich r點ksetzen?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3654,79 +3596,19 @@ STR16 zOptionsScreenHelpText[] = L"Wenn diese Funktion aktiviert ist, wird das Spiel mit viel geringerer CPU Belastung laufen.", L"Wenn diese Funktion aktiviert ist, werden erweiterte Beschreibungen zu den Waffen und Gegenst鋘den angezeigt.", L"Wenn diese Funktion aktiviert ist und noch Gegner im Sektor sind, bleibt das Spiel im Runden-Modus, bis alle Feinde tot sind (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Hier klicken, um fehlerhafte Optionseinstellungen zu beheben.", - L"Hier klicken, um fehlerhafte Optionseinstellungen zu beheben.", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(Text wird nicht angezeigt)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Hier klicken, um fehlerhafte Optionseinstellungen zu beheben.", // failsafe show/hide option to reset all options + L"Hier klicken, um fehlerhafte Optionseinstellungen zu beheben.", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4001,6 +3883,11 @@ STR16 pMessageStrings[] = L"Alles fallen lassen ausschalten.", // 80 L"Granatwerfer schie遝n im normalen Winkel.", L"Granatwerfer schie遝n im erh鰄ten Winkel.", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Spiel erfolgreich in Slot End Turn Auto Save gespeichert.", // 83 #endif diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index 3d6cdb3d..0fe50273 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -1,6 +1,9 @@ #include "Utils All.h" #include "Language Defines.h" +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_ItalianText_public_symbol(void){;} + #ifdef ITALIAN /* @@ -3671,80 +3674,19 @@ STR16 zOptionsToggleText[] = L"Silent Skyrider", L"Low CPU usage", L"Enhanced Description Box", - L"Forced Turn Mode", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"Reset ALL game options", - L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Forced Turn Mode", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"Reset ALL game options", // failsafe show/hide option to reset all options + L"Do you really want to reset?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3827,80 +3769,20 @@ STR16 zOptionsScreenHelpText[] = L"When ON, Skyrider will not talk anymore.", L"When ON, game will run with much lower CPU usage.", L"When ON, enhanced descriptions will be shown for items and weapons.", - L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4177,6 +4059,11 @@ STR16 pMessageStrings[] = L"Drop All Disabled", L"Grenade Launchers fire at standard angles", L"Grenade Launchers fire at higher angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Salvataggio riuscito della partita nello slot End Turn Auto Save.", #endif diff --git a/Utils/_Ja25ChineseText.cpp b/Utils/_Ja25ChineseText.cpp index 100bc612..4a104139 100644 --- a/Utils/_Ja25ChineseText.cpp +++ b/Utils/_Ja25ChineseText.cpp @@ -9,6 +9,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25ChineseText_public_symbol(void){;} + #ifdef CHINESE // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25DutchText.cpp b/Utils/_Ja25DutchText.cpp index 56811a0d..b5abdf93 100644 --- a/Utils/_Ja25DutchText.cpp +++ b/Utils/_Ja25DutchText.cpp @@ -9,6 +9,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25DutchText_public_symbol(void){;} + #ifdef DUTCH // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25EnglishText.cpp b/Utils/_Ja25EnglishText.cpp index 3104e1c3..10dad350 100644 --- a/Utils/_Ja25EnglishText.cpp +++ b/Utils/_Ja25EnglishText.cpp @@ -9,6 +9,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25EnglishText_public_symbol(void); + #ifdef ENGLISH // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25FrenchText.cpp b/Utils/_Ja25FrenchText.cpp index e594ac70..a4b45bc6 100644 --- a/Utils/_Ja25FrenchText.cpp +++ b/Utils/_Ja25FrenchText.cpp @@ -10,6 +10,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25FrenchText_public_symbol(void){;} + #ifdef FRENCH // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25GermanText.cpp b/Utils/_Ja25GermanText.cpp index 7af1cefe..a1f1211b 100644 --- a/Utils/_Ja25GermanText.cpp +++ b/Utils/_Ja25GermanText.cpp @@ -8,6 +8,9 @@ #include "Fileman.h" #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25GermanText_public_symbol(void){;} + #ifdef GERMAN // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25ItalianText.cpp b/Utils/_Ja25ItalianText.cpp index 1388ff65..7f3909b5 100644 --- a/Utils/_Ja25ItalianText.cpp +++ b/Utils/_Ja25ItalianText.cpp @@ -10,6 +10,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25ItalianText_public_symbol(void){;} + #ifdef ITALIAN // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25PolishText.cpp b/Utils/_Ja25PolishText.cpp index 9daa4899..3c997671 100644 --- a/Utils/_Ja25PolishText.cpp +++ b/Utils/_Ja25PolishText.cpp @@ -10,6 +10,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25PolishText_public_symbol(void){;} + #ifdef POLISH // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25RussianText.cpp b/Utils/_Ja25RussianText.cpp index 42a81173..3a1ccb4d 100644 --- a/Utils/_Ja25RussianText.cpp +++ b/Utils/_Ja25RussianText.cpp @@ -8,6 +8,9 @@ #include "Fileman.h" #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25RussianText_public_symbol(void){;} + #ifdef RUSSIAN // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_Ja25TaiwaneseText.cpp b/Utils/_Ja25TaiwaneseText.cpp index b06e97b6..82652386 100644 --- a/Utils/_Ja25TaiwaneseText.cpp +++ b/Utils/_Ja25TaiwaneseText.cpp @@ -9,6 +9,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_Ja25TaiwaneseText_public_symbol(void){;} + #ifdef TAIWANESE // VERY TRUNCATED FILE COPIED FROM JA2.5 FOR ITS FEATURES FOR JA2 GOLD diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index c40f9eec..4de44012 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -2,6 +2,8 @@ #include "Utils All.h" #include "Language Defines.h" +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_PolishText_public_symbol(void){;} #ifdef POLISH @@ -3685,80 +3687,19 @@ STR16 zOptionsToggleText[] = L"Cichy Skyrider", L"Niskie obci箍enie procesora", L"Rozszerzone Okno Opisu (EDB)", //Enhanced Description Box - L"Wymu tryb turowy", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"Reset ALL game options", - L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Wymu tryb turowy", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"Reset ALL game options", // failsafe show/hide option to reset all options + L"Do you really want to reset?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3841,80 +3782,20 @@ STR16 zOptionsScreenHelpText[] = L"Je渓i W%CZONE, Skyrider nie b阣zie nic m體i.", L"Je渓i W%CZONE, gra b阣zie obci箍a砤 procesor w mniejszym stopniu.", L"Je渓i W%CZONE, rozszerzone opisy b阣 pokazane dla przedmiot體 i broni.", - L"Je渓i W%CZONE i wr骻 jest obecny, \ntryb turowy jest w彻czony, \ndop髃i sektor nie zostanie oczyszczony (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"Je渓i W%CZONE i wr骻 jest obecny, \ntryb turowy jest w彻czony, \ndop髃i sektor nie zostanie oczyszczony (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4189,6 +4070,11 @@ STR16 pMessageStrings[] = L"Upuszczanie wszystkiego wy彻czone", L"Granatniki strzelaj pod standardowymi k箃ami", //L"Grenade Launchers fire at standard angles", BY->>L"Grenade Launchers - Fire at standard angles", L"Granatniki strzelaj pod wysokimi k箃ami", //L"Grenade Launchers fire at higher angles", BY-->>L"Grenade Launchers - Fire at high angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Automatyczny zapis zosta pomy渓nie wykonany.", #endif diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index bb5a0697..861513c6 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -7,6 +7,9 @@ #include "text.h" #include "Fileman.h" +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_RussianText_public_symbol(void){;} + #ifdef RUSSIAN /* @@ -3686,80 +3689,19 @@ STR16 zOptionsToggleText[] = L"填膑嚯桠 镨腩 忮痱铍蛤", L"丸珀 玎沭箸赅 镳铞羼耦疣", L"项漯钺眍 铒桉囗桢 镳邃戾蝾", //Enhanced Description Box - L"翌朦觐 镱泐恹 疱骅", // arynn : add Forced Turn Mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"厌痤 怦艴 桡痤恹 磬耱痤尻", //Reset ALL game options - L" 襦祛 溴脲 躅蜩蝈 钽?", //Do you really want to reset? - // arynn : a sample options screen options header, just text, not a real option - L"--袜耱痤殛 铗豚漕黜铋 忮瘃梃--", //--DEBUG OPTIONS-- - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"翌朦觐 镱泐恹 疱骅", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--袜耱痤殛 铗豚漕黜铋 忮瘃梃--", // an example options screen options header (pure text) + L"厌痤 怦艴 桡痤恹 磬耱痤尻", // failsafe show/hide option to reset all options + L" 襦祛 溴脲 躅蜩蝈 钽?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"项耠邃_羊痤赅_袜耱痤尻", //THE_LAST_OPTION }; @@ -3842,81 +3784,21 @@ STR16 zOptionsScreenHelpText[] = L"篷腓 怅膻麇眍, 湾徨耥 埋噤龛闬n礤 狍溴 忄 疣玟疣驵螯 犷腧腓忸耱.", L"篷腓 怅膻麇眍, 桡疣 狍溴 桉镱朦珙忄螯\n戾睃 镳铞羼耦痦钽 怵屐屙.", L"篷腓 怅膻麇眍, 狍溴 玎溴轳蜮钼囗頫n镱漯钺眍 铒桉囗桢 镳邃戾蝾.", //EDB description - L"篷腓 怅膻麇眍 皴牝铕 镳桉篁耱怏弪 怵嚆, \n镱泐恹 疱骅 狍溴 玎溴轳蜮钼囗 \n漕 镱腠铋 玎麒耱觇 皴牝铕 (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", //When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T). // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"篷腓 怅膻麒螯, \n镱怵彐涓眄 桡痤恹 磬耱痤殛 狍潴 忸耨蜞眍怆屙.", //Click me to fix corrupt game settings - L"悟戾螯蝈 耱痤牦 潆 镱潋忮疰溴龛 襻痤襦 桡痤恹 磬耱痤尻.", //Click me to fix corrupt game settings - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"篷腓 怅膻麇眍 皴牝铕 镳桉篁耱怏弪 怵嚆, \n镱泐恹 疱骅 狍溴 玎溴轳蜮钼囗 \n漕 镱腠铋 玎麒耱觇 皴牝铕 (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", //When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T). // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"篷腓 怅膻麒螯, \n镱怵彐涓眄 桡痤恹 磬耱痤殛 狍潴 忸耨蜞眍怆屙.", // failsafe show/hide option to reset all options + L"悟戾螯蝈 耱痤牦 潆 镱潋忮疰溴龛 襻痤襦 桡痤恹 磬耱痤尻.", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) - L"项耠邃 耱痤赅 耧桉赍 磬耱痤尻.", //TOPTION_LAST_OPTION + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + L"项耠邃 耱痤赅 耧桉赍 磬耱痤尻.", }; @@ -4192,6 +4074,11 @@ STR16 pMessageStrings[] = L"蔓镟溴龛 怦邈 耥囵驽龛 论仕", L"灭囗囹铎弪 耱疱 镱 钺睇 筱腩", L"灭囗囹铎弪 耱疱 磬忮耦", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"茹疣 耦躔囗屙 麇殛 噔蝾-耦躔囗屙.", #endif diff --git a/Utils/_TaiwaneseText.cpp b/Utils/_TaiwaneseText.cpp index 66848857..9f04aa9d 100644 --- a/Utils/_TaiwaneseText.cpp +++ b/Utils/_TaiwaneseText.cpp @@ -8,6 +8,9 @@ #endif #endif +//suppress : warning LNK4221: no public symbols found; archive member will be inaccessible +void this_is_the_TaiwaneseText_public_symbol(void){;} + #ifdef TAIWANESE /* @@ -3690,80 +3693,19 @@ STR16 zOptionsToggleText[] = L"Silent Skyrider", L"Low CPU usage", L"Enhanced Description Box", - L"Forced Turn Mode", // arynn : add forced turn mode - // arynn : reset all toggle options, in cases for corrupted JA2.set files (and general debugging of options) - L"Reset ALL game options", - L"Do you really want to reset?", - // arynn : a sample options screen options header, just text, not a real option - L"--DEBUG OPTIONS--", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Retain Debug Options in Rel", - // arynn : a sample option which affects options screen listing only - L"DEBUG Render Option group", - // arynn : a sample DEBUG build option, this will draw slash-rects through current mouse region "hot spots" - L"Render Mouse Regions", - // arynn : a sample options screen options divider, just text, not a real option - L"-----------------", + L"Forced Turn Mode", // add forced turn mode + L"--Cheat Mode Options--", // TOPTION_CHEAT_MODE_OPTIONS_HEADER, + L"Force Bobby Ray shipments", // force all pending Bobby Ray shipments + L"-----------------", // TOPTION_CHEAT_MODE_OPTIONS_END + L"--DEBUG OPTIONS--", // an example options screen options header (pure text) + L"Reset ALL game options", // failsafe show/hide option to reset all options + L"Do you really want to reset?", // a do once and reset self option (button like effect) + L"Debug Options in other builds", // allow debugging in release or mapeditor + L"DEBUG Render Option group", // an example option that will show/hide other options + L"Render Mouse Regions", // an example of a DEBUG build option + L"-----------------", // an example options screen options divider (pure text) - L"Option044", // arynn : note : everything south of here (should) only ever show in debug.. i doubt translating would prove useful - L"Option045", - L"Option046", - L"Option047", - L"Option048", - L"Option049", - L"Option050", - L"Option051", - L"Option052", - L"Option053", - L"Option054", - L"Option055", - L"Option056", - L"Option057", - L"Option058", - L"Option059", - L"Option060", - L"Option061", - L"Option062", - L"Option063", - L"Option064", - L"Option065", - L"Option066", - L"Option067", - L"Option068", - L"Option069", - L"Option070", - L"Option071", - L"Option072", - L"Option073", - L"Option074", - L"Option075", - L"Option076", - L"Option077", - L"Option078", - L"Option079", - L"Option080", - L"Option081", - L"Option082", - L"Option083", - L"Option084", - L"Option085", - L"Option086", - L"Option087", - L"Option088", - L"Option089", - L"Option090", - L"Option091", - L"Option092", - L"Option093", - L"Option094", - L"Option095", - L"Option096", - L"Option097", - L"Option098", - L"Option099", - L"Option100", - - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"THE_LAST_OPTION", }; @@ -3846,80 +3788,20 @@ STR16 zOptionsScreenHelpText[] = L"When ON, Skyrider will not talk anymore.", L"When ON, game will run with much lower CPU usage.", L"When ON, enhanced descriptions will be shown for items and weapons.", - L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // arynn : add forced turn mode - // arynn : immediate effect option that fixes corrupt ja2.set keeping of toggle options - L"Click me to fix corrupt game settings", - L"Click me to fix corrupt game settings", - // arynn : a sample options screen options header, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", - // arynn : allow debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file - L"Allows debug options that were set in debug.exe to continue in a rel.exe that shares same JA2.set file", - // arynn : a sample option which affects options screen listing only - L"Toggle to display debugging render options", - // arynn : a sample DEBUG build option - L"Attempts to display slash-rects around mouse regions", - // arynn : a sample options screen options divider, this pop up help text never render (well as of yet) - L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", - // text past this point is for debugging, translating would doubtfully prove usefull - L"044", - L"045", - L"046", - L"047", - L"048", - L"049", - L"050", - L"051", - L"052", - L"053", - L"054", - L"055", - L"056", - L"057", - L"058", - L"059", - L"060", - L"061", - L"062", - L"063", - L"064", - L"065", - L"066", - L"067", - L"068", - L"069", - L"070", - L"071", - L"072", - L"073", - L"074", - L"075", - L"076", - L"077", - L"078", - L"079", - L"080", - L"081", - L"082", - L"083", - L"084", - L"085", - L"086", - L"087", - L"088", - L"089", - L"090", - L"091", - L"092", - L"093", - L"094", - L"095", - L"096", - L"097", - L"098", - L"099", - L"100", + L"When ON and enemy present, Turn Base mode persists untill sector is free (|C|T|R|L+|S|H|I|F|T+|A|L|T+|T).", // add forced turn mode + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_HEADER", + L"Force all pending Bobby Ray shipments", + L"(text not rendered)TOPTION_CHEAT_MODE_OPTIONS_END", + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_HEADER", // an example options screen options header (pure text) + L"Click me to fix corrupt game settings", // failsafe show/hide option to reset all options + L"Click me to fix corrupt game settings", // a do once and reset self option (button like effect) + L"Allows debug options in release or mapeditor builds", // allow debugging in release or mapeditor + L"Toggle to display debugging render options", // an example option that will show/hide other options + L"Attempts to display slash-rects around mouse regions", // an example of a DEBUG build option + L"(text not rendered)TOPTION_DEBUG_MODE_OPTIONS_END", // an example options screen options divider (pure text) - // arynn : this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) + + // this is THE LAST option that exists (debug the options screen, doesnt do anything, except exist) L"TOPTION_LAST_OPTION", }; @@ -4196,6 +4078,11 @@ STR16 pMessageStrings[] = L"Drop All Disabled", L"Grenade Launchers fire at standard angles", L"Grenade Launchers fire at higher angles", + // forced turn mode strings + L"Forced Turn Mode", + L"Normal turn mode", + L"Exit combat mode", + L"Forced Turn Mode Active, Entering Combat", #ifdef JA2BETAVERSION L"Successfully Saved the Game into the End Turn Auto Save slot.", #endif diff --git a/builddefines.h b/builddefines.h index 798e8156..a378ad28 100644 --- a/builddefines.h +++ b/builddefines.h @@ -22,8 +22,6 @@ #define FORCE_ASSERTS_ON -//#define BLOOD_N_GORE_ENABLED // arynn : del_me : defunct, german build's differed with blood and gore option.. it got universalized - //#ifdef _DEBUG // #ifndef JA2TESTVERSION // #define JA2TESTVERSION diff --git a/jascreens.cpp b/jascreens.cpp index 50cb6a35..ff19dde9 100644 --- a/jascreens.cpp +++ b/jascreens.cpp @@ -429,12 +429,32 @@ UINT32 InitScreenHandle(void) // Handle queued .ini file error messages int y = 40; while (! iniErrorMessages.empty()) { + FILE *file_pointer; + static BOOL iniErrorMessage_create_out_file = TRUE; std::string iniErrorMessage = iniErrorMessages.top(); - y += 10; CHAR16 str[256]; + + if (iniErrorMessage_create_out_file) + { + fopen_s( &file_pointer, "..\\ERROR_REPORT.iniErrorMessages.txt", "w" ); + y += 25; + swprintf( str, L"%S", "ERROR_REPORT.iniErrorMessages.txt has been created. Please review its content." ); + DisplayWrappedString( 10, y, 560, 2, FONT12ARIAL, FONT_RED, str, FONT_BLACK, TRUE, LEFT_JUSTIFIED ); + iniErrorMessage_create_out_file = FALSE; + } + else + { + fopen_s( &file_pointer, "..\\ERROR_REPORT.iniErrorMessages.txt", "a+" ); + } + + y += 25; swprintf( str, L"%S", iniErrorMessage.c_str() ); + fprintf_s (file_pointer , "%S\n" , str ); + fclose( file_pointer ); DisplayWrappedString( 10, y, 560, 2, FONT12ARIAL, FONT_RED, str, FONT_BLACK, TRUE, LEFT_JUSTIFIED ); iniErrorMessages.pop(); + + if (iniErrorMessages.empty()) {for(int x=0 ; x <= 65535*2 ; x++);} } InvalidateScreen( );