MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / CopyHelpFiles

Function CopyHelpFiles

legacy/D3Launch/D3Launch.cpp:934–994  ·  view source on GitHub ↗

Copies the appropriate help files into the root directory based upon what language is currently selected

Source from the content-addressed store, hash-verified

932// Copies the appropriate help files into the root directory based
933// upon what language is currently selected
934void CopyHelpFiles(bool should_overwrite) {
935 char src_hlp_fname[_MAX_PATH + 1];
936 char src_cnt_fname[_MAX_PATH + 1];
937 char hlp_filename[_MAX_PATH + 1];
938 char cnt_filename[_MAX_PATH + 1];
939 char hlp_ext[_MAX_EXT + 1];
940 char cnt_ext[_MAX_EXT + 1];
941
942 // Check if files already exist
943 if (!should_overwrite) {
944 if (_access(HELP_HLP_FNAME, 0x00) != -1 && _access(HELP_CNT_FNAME, 0x00) != -1)
945 return;
946 }
947
948 // Build the source help filenames
949 _splitpath(HELP_HLP_FNAME, NULL, NULL, hlp_filename, hlp_ext);
950 _splitpath(HELP_CNT_FNAME, NULL, NULL, cnt_filename, cnt_ext);
951
952 int lang_type = os_config_read_uint(szSectionName, "LanguageType", LANGUAGE_ENGLISH);
953 switch (lang_type) {
954 case LANGUAGE_FRENCH:
955 sprintf(src_hlp_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, hlp_filename, FRENCH_EXT, hlp_ext);
956 sprintf(src_cnt_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, cnt_filename, FRENCH_EXT, cnt_ext);
957 break;
958 case LANGUAGE_GERMAN:
959 sprintf(src_hlp_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, hlp_filename, GERMAN_EXT, hlp_ext);
960 sprintf(src_cnt_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, cnt_filename, GERMAN_EXT, cnt_ext);
961 break;
962 case LANGUAGE_ITALIAN:
963 sprintf(src_hlp_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, hlp_filename, ITALIAN_EXT, hlp_ext);
964 sprintf(src_cnt_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, cnt_filename, ITALIAN_EXT, cnt_ext);
965 break;
966 case LANGUAGE_SPANISH:
967 sprintf(src_hlp_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, hlp_filename, SPANISH_EXT, hlp_ext);
968 sprintf(src_cnt_fname, "%s%s%s%s", LANGUAGE_HELP_PATH, cnt_filename, SPANISH_EXT, cnt_ext);
969 break;
970 default:
971 sprintf(src_hlp_fname, "%s%s%s", LANGUAGE_HELP_PATH, hlp_filename, hlp_ext);
972 sprintf(src_cnt_fname, "%s%s%s", LANGUAGE_HELP_PATH, cnt_filename, cnt_ext);
973 break;
974 }
975
976 // If any of the source files don't exist, get outta here
977 if (_access(src_hlp_fname, 0x00) == -1 || _access(src_cnt_fname, 0x00) == -1) {
978 // Try the english files instead
979 sprintf(src_hlp_fname, "%s%s%s", LANGUAGE_HELP_PATH, hlp_filename, hlp_ext);
980 sprintf(src_cnt_fname, "%s%s%s", LANGUAGE_HELP_PATH, cnt_filename, cnt_ext);
981 if (_access(src_hlp_fname, 0x00) == -1 || _access(src_cnt_fname, 0x00) == -1)
982 return;
983 }
984
985 // Delete current help files (and their created files)
986 DeleteFile(HELP_HLP_FNAME);
987 DeleteFile(HELP_CNT_FNAME);
988 DeleteFile(HELP_GID_FNAME);
989 DeleteFile(HELP_FTS_FNAME);
990
991 // Copy over the correct files

Callers 2

OnInitDialogMethod · 0.85
OnBtnSetupMethod · 0.85

Calls 3

_splitpathFunction · 0.85
os_config_read_uintFunction · 0.85
CopyFileFunction · 0.85

Tested by

no test coverage detected