diff --git a/Source/pfile.cpp b/Source/pfile.cpp index d86a23fb7..7e801dd69 100644 --- a/Source/pfile.cpp +++ b/Source/pfile.cpp @@ -180,12 +180,17 @@ static BOOL pfile_read_hero(HANDLE archive, PkPlayerStruct *pPack) if (!SFileOpenFileEx(archive, "hero", 0, &file)) { return FALSE; } else { + buf = NULL; BOOL ret = FALSE; char password[16] = PASSWORD_SINGLE; nSize = 16; if (gbMaxPlayers > 1) +#ifdef HELLFIRE + GetComputerName(password, &nSize); +#else strcpy(password, PASSWORD_MULTI); +#endif dwlen = SFileGetFileSize(file, NULL); if (dwlen) { @@ -194,6 +199,7 @@ static BOOL pfile_read_hero(HANDLE archive, PkPlayerStruct *pPack) if (SFileReadFile(file, buf, dwlen, &read, NULL)) { decoded = TRUE; read = codec_decode(buf, dwlen, password); +#ifndef HELLFIRE if (!read && gbMaxPlayers > 1) { GetComputerName(password, &nSize); if (SFileSetFilePointer(file, 0, NULL, FILE_BEGIN) || !SFileReadFile(file, buf, dwlen, &read, NULL)) @@ -201,14 +207,15 @@ static BOOL pfile_read_hero(HANDLE archive, PkPlayerStruct *pPack) else read = codec_decode(buf, dwlen, password); } +#endif if (decoded && read == sizeof(*pPack)) { memcpy(pPack, buf, sizeof(*pPack)); ret = TRUE; } } - if (buf) - mem_free_dbg(buf); } + if (buf) + mem_free_dbg(buf); SFileCloseFile(file); return ret; }