コード例 #1
0
void FPackageReader::SerializeNameMap()
{
	if( PackageFileSummary.NameCount > 0 )
	{
		Seek( PackageFileSummary.NameOffset );

		for ( int32 NameMapIdx = 0; NameMapIdx < PackageFileSummary.NameCount; ++NameMapIdx )
		{
			// Read the name entry from the file.
			FNameEntrySerialized NameEntry(ENAME_LinkerConstructor);
			*this << NameEntry;

			NameMap.Add(FName(NameEntry));
		}
	}
}
コード例 #2
0
bool FNameTableArchiveReader::SerializeNameMap()
{
	int64 NameOffset = 0;
	*this << NameOffset;

	if (IsError() || NameOffset > TotalSize())
	{
		// The file was corrupted. Return false to fail to load the cache an thus regenerate it.
		return false;
	}

	if( NameOffset > 0 )
	{
		int64 OriginalOffset = Tell();
		Seek( NameOffset );

		int32 NameCount = 0;
		*this << NameCount;

		if (IsError())
		{
			return false;
		}

		for ( int32 NameMapIdx = 0; NameMapIdx < NameCount; ++NameMapIdx )
		{
			// Read the name entry from the file.
			FNameEntrySerialized NameEntry(ENAME_LinkerConstructor);
			*this << NameEntry;

			if (IsError())
			{
				return false;
			}

			NameMap.Add(FName(NameEntry));
		}

		Seek( OriginalOffset );
	}

	return true;
}
コード例 #3
0
ファイル: multiplayer.c プロジェクト: sajankedia/tuxmath
int initMP()
{
    int i;
    int success = 1;
    char nrstr[HIGH_SCORE_NAME_LENGTH * 3];
    int nplayers = params[PLAYERS];

    const char* config_files[5] = {
	"multiplay/space_cadet",
	"multiplay/scout",
	"multiplay/ranger",
	"multiplay/ace",
	"multiplay/commando"
    };

    DEBUGMSG(debug_multiplayer, "Reading in difficulty settings...\n");

    success *= read_global_config_file(local_game);

    success *= read_named_config_file(local_game, "multiplay/mpoptions");

    success *= read_named_config_file(local_game, config_files[params[DIFFICULTY]]);

    if (!success)
    {
	fprintf(stderr, "Couldn't read in settings for %s\n",
		config_files[params[DIFFICULTY]] );
	return 1;
    }

    pscores[0] = pscores[1] = pscores[2] = pscores[3] = 0;
    pnames[0] = pnames[1] = pnames[2] = pnames[3] = NULL;

    //allocate and enter player names
    for (i = 0; i < nplayers; ++i)
	pnames[i] = malloc((1 + 3 * HIGH_SCORE_NAME_LENGTH) * sizeof(char) );
    for (i = 0; i < nplayers; ++i)
    {
	if (pnames[i])
	{
	    if (i == 0) //First player
		NameEntry(pnames[i], N_("Who is playing first?"), N_("Enter your name:"), NULL);
	    else //subsequent players
		NameEntry(pnames[i], N_("Who is playing next?"), N_("Enter your name:"), NULL);
	}
	else
	{
	    fprintf(stderr, "Can't allocate name %d!\n", i);
	    return 1;
	}
    }

    //enter how many rounds
    if (params[MODE] == SCORE_SWEEP)
    {
	while (params[ROUNDS] <= 0)
	{
	    NameEntry(nrstr, N_("How many rounds will you play?"), N_("Enter a number"), NULL);
	    params[ROUNDS] = atoi(nrstr);
	}
    }
    inprogress = 1; //now we can start the game
    return 0;
}
コード例 #4
0
ファイル: highscore.c プロジェクト: Nalin-x-Linux/tuxmath
/* multibyte encoding.                                                    */
void HighScoreNameEntry(char* pl_name)
{
    NameEntry(pl_name, _("You Are In The Hall of Fame!"), _("Enter Your Name:"), NULL);
}