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)); } } }
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; }
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; }
/* multibyte encoding. */ void HighScoreNameEntry(char* pl_name) { NameEntry(pl_name, _("You Are In The Hall of Fame!"), _("Enter Your Name:"), NULL); }