void FGameConfigFile::ArchiveGlobalData () { SetSection ("LastRun", true); ClearCurrentSection (); SetValueForKey ("Version", LASTRUNVERSION); SetSection ("GlobalSettings", true); ClearCurrentSection (); C_ArchiveCVars (this, 1); SetSection ("GlobalSettings.Unknown", true); ClearCurrentSection (); C_ArchiveCVars (this, 3); }
void FGameConfigFile::ArchiveGameData (const char *gamename) { char section[32*3], *subsection; sublen = countof(section) - 1 - mysnprintf (section, countof(section), "%s.", gamename); subsection = section + countof(section) - 1 - sublen; strncpy (subsection, "Player", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, 4); strncpy (subsection, "ConsoleVariables", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, 0); strncpy (subsection, netgame ? "NetServerInfo" : "LocalServerInfo", sublen); if (!netgame || consoleplayer == 0) { // Do not overwrite this section if playing a netgame, and // this machine was not the initial host. SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, 5); } strncpy (subsection, "UnknownConsoleVariables", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, 2); strncpy (subsection, "ConsoleAliases", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveAliases (this); M_SaveCustomKeys (this, section, subsection, sublen); strcpy (subsection, "Bindings"); SetSection (section, true); Bindings.ArchiveBindings (this); strncpy (subsection, "DoubleBindings", sublen); SetSection (section, true); DoubleBindings.ArchiveBindings (this); strncpy (subsection, "AutomapBindings", sublen); SetSection (section, true); AutomapBindings.ArchiveBindings (this); }
void FGameConfigFile::ArchiveGlobalData () { SetSection ("LastRun", true); ClearCurrentSection (); SetValueForKey ("Version", LASTRUNVERSION); SetSection ("GlobalSettings", true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_ARCHIVE|CVAR_GLOBALCONFIG); SetSection ("GlobalSettings.Unknown", true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_ARCHIVE|CVAR_GLOBALCONFIG|CVAR_AUTO); }
bool FConfigFile::DeleteCurrentSection() { if (CurrentSection != NULL) { FConfigSection *sec; ClearCurrentSection(); // Find the preceding section. for (sec = Sections; sec != NULL && sec->Next != CurrentSection; sec = sec->Next) { } sec->Next = CurrentSection->Next; if (LastSectionPtr == &CurrentSection->Next) { LastSectionPtr = &sec->Next; } CurrentSection->~FConfigSection(); delete[] (char *)CurrentSection; CurrentSection = sec->Next; return CurrentSection != NULL; } return false; }
void FConfigFile::ClearConfig () { CurrentSection = Sections; while (CurrentSection != NULL) { FConfigSection *next = CurrentSection->Next; ClearCurrentSection (); delete CurrentSection; CurrentSection = next; } Sections = NULL; LastSectionPtr = &Sections; }
void FGameConfigFile::ArchiveGameData (const char *gamename) { char section[32*3], *subsection; sublen = countof(section) - 1 - mysnprintf (section, countof(section), "%s.", gamename); subsection = section + countof(section) - 1 - sublen; strncpy (subsection, "Player", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_ARCHIVE|CVAR_USERINFO); if (bModSetup) { strncpy (subsection + 6, ".Mod", sublen - 6); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_MOD|CVAR_ARCHIVE|CVAR_AUTO|CVAR_USERINFO); } strncpy (subsection, "ConsoleVariables", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_ARCHIVE); // Do not overwrite the serverinfo section if playing a netgame, and // this machine was not the initial host. if (!netgame || consoleplayer == 0) { strncpy (subsection, netgame ? "NetServerInfo" : "LocalServerInfo", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_ARCHIVE|CVAR_SERVERINFO); if (bModSetup) { strncpy (subsection, netgame ? "NetServerInfo.Mod" : "LocalServerInfo.Mod", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_MOD|CVAR_ARCHIVE|CVAR_AUTO|CVAR_SERVERINFO); } } strncpy (subsection, "UnknownConsoleVariables", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveCVars (this, CVAR_ARCHIVE|CVAR_AUTO); strncpy (subsection, "ConsoleAliases", sublen); SetSection (section, true); ClearCurrentSection (); C_ArchiveAliases (this); M_SaveCustomKeys (this, section, subsection, sublen); strcpy (subsection, "Bindings"); SetSection (section, true); Bindings.ArchiveBindings (this); strncpy (subsection, "DoubleBindings", sublen); SetSection (section, true); DoubleBindings.ArchiveBindings (this); strncpy (subsection, "AutomapBindings", sublen); SetSection (section, true); AutomapBindings.ArchiveBindings (this); }