void DumpConfig(char *name) { FILE *f; char *outfile, *newlines = "\n"; if (cfg_use_home.integer) // homedir outfile = va("%s/%s/%s", com_homedir, (strcmp(com_gamedirfile, "qw") == 0 || !cfg_use_gamedir.integer) ? "" : com_gamedirfile, name); else // basedir outfile = va("%s/%s/configs/%s", com_basedir, (strcmp(com_gamedirfile, "qw") == 0 || !cfg_use_gamedir.integer) ? "ezquake" : com_gamedirfile, name); if (!(f = fopen (outfile, "w"))) { FS_CreatePath(outfile); if (!(f = fopen (outfile, "w"))) { Com_Printf ("Couldn't write %s.\n", name); return; } } Com_Printf("Saving configuration to %s\n", outfile); Config_PrintPreamble(f); if (cfg_save_cvars.value) { Config_PrintHeading(f, "V A R I A B L E S"); DumpVariables(f); fprintf(f, "%s", newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "S E L E C T E D S O U R C E S"); WriteSourcesConfiguration(f); fprintf(f, "%s", newlines); } if (cfg_save_aliases.value) { Config_PrintHeading(f, "A L I A S E S"); DumpAliases(f); fprintf(f, "%s", newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "Q W 2 6 2 H U D"); DumpHUD262(f); fprintf(f, "%s", newlines); Config_PrintHeading(f, "T E A M P L A Y C O M M A N D S"); DumpTeamplay(f); fprintf(f, "%s", newlines); Config_PrintHeading(f, "M I S C E L L A N E O U S C O M M A N D S"); DumpMisc(f); fprintf(f, "%s", newlines); Config_PrintHeading(f, "P L U S C O M M A N D S"); DumpPlusCommands(f); fprintf(f, "%s", newlines); } if (cfg_save_binds.value) { Config_PrintHeading(f, "K E Y B I N D I N G S"); DumpBindings(f); } fclose(f); }
void DumpConfig(char *name) { FILE *f; char *outfile, *newlines = "\n"; if (cfg_use_home.integer) // use home dir for cfg outfile = va("%s/%s", com_homedir, name); else // use ezquake dir outfile = va("%s/ezquake/configs/%s", com_basedir, name); if (!(f = fopen (outfile, "w"))) { FS_CreatePath(outfile); if (!(f = fopen (outfile, "w"))) { Com_Printf ("Couldn't write %s.\n", name); return; } } Config_PrintPreamble(f); if (cfg_save_cmdline.value && strlen(cl_cmdline.string) > 1) { Config_PrintHeading(f, "C O M M A N D L I N E"); DumpCmdLine(f); fprintf(f, newlines); } if (cfg_save_cvars.value) { Config_PrintHeading(f, "V A R I A B L E S"); DumpVariables(f); fprintf(f, newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "S E L E C T E D S O U R C E S"); WriteSourcesConfiguration(f); fprintf(f, newlines); } if (cfg_save_aliases.value) { Config_PrintHeading(f, "A L I A S E S"); DumpAliases(f); fprintf(f, newlines); } if (cfg_save_cmds.value) { Config_PrintHeading(f, "T E A M P L A Y C O M M A N D S"); DumpTeamplay(f); fprintf(f, newlines); Config_PrintHeading(f, "M I S C E L L A N E O U S C O M M A N D S"); DumpMisc(f); fprintf(f, newlines); Config_PrintHeading(f, "P L U S C O M M A N D S"); DumpPlusCommands(f); fprintf(f, newlines); } if (cfg_save_binds.value) { Config_PrintHeading(f, "K E Y B I N D I N G S"); DumpBindings(f); } fclose(f); }