예제 #1
0
파일: cvar.c 프로젝트: redrumrobot/korx
/*
============
Cvar_WriteVariables

Appends lines containing "set variable value" for all variables
with the archive flag set to qtrue.
============
*/
void Cvar_WriteVariables( fileHandle_t f, qboolean vmCvars ) {
	cvar_t	*var;
	char	buffer[1024];

	for (var = cvar_vars ; var ; var = var->next) {
		if( ( var->flags & CVAR_ARCHIVE ) && ( ( var->flags & (CVAR_VM_CREATED|CVAR_USER_CREATED) ) != 0 ) == vmCvars ) {
			// write the latched value, even if it hasn't taken effect yet
			if ( var->latchedString ) {
				if( strlen( var->name ) + strlen( var->latchedString ) + 10 > sizeof( buffer ) ) {
					Com_Printf( S_COLOR_YELLOW "WARNING: value of variable "
							"\"%s\" too long to write to file\n", var->name );
					continue;
				}
				Com_sprintf (buffer, sizeof(buffer), "seta %s \"%s\"\n", var->name, Cmd_EscapeString(var->latchedString));
			} else {
				if( strlen( var->name ) + strlen( var->string ) + 10 > sizeof( buffer ) ) {
					Com_Printf( S_COLOR_YELLOW "WARNING: value of variable "
							"\"%s\" too long to write to file\n", var->name );
					continue;
				}
				Com_sprintf (buffer, sizeof(buffer), "seta %s \"%s\"\n", var->name, Cmd_EscapeString(var->string));
			}
			FS_Write( buffer, strlen( buffer ), f );
		}
	}
}
예제 #2
0
파일: cmd.cpp 프로젝트: TheDushan/OpenWolf
/*
============
Cmd_WriteAliases
============
*/
void Cmd_WriteAliases(fileHandle_t f)
{
	char buffer[1024] = "clearaliases\n";
	cmd_alias_t *alias = cmd_aliases;
	FS_Write(buffer, strlen(buffer), f);
	while (alias)
	{
		Com_sprintf(buffer, sizeof(buffer), "alias %s \"%s\"\n", alias->name, Cmd_EscapeString(alias->exec));
		FS_Write(buffer, strlen(buffer), f);
		alias = alias->next;
	}
}