diff --git a/src/version.h b/src/version.h index 37ee364b2..e1dc072bd 100644 --- a/src/version.h +++ b/src/version.h @@ -40,13 +40,13 @@ /** Lots of different version numbers **/ -#define DOTVERSIONSTR_NOREV "2.1.0" +#define DOTVERSIONSTR_NOREV "2.1.1" // The version string the user actually sees. #define DOTVERSIONSTR DOTVERSIONSTR_NOREV " (r" SVN_REVISION_STRING ")" // The version as seen in the Windows resource -#define RC_FILEVERSION 2,1,0,SVN_REVISION_NUMBER +#define RC_FILEVERSION 2,1,1,SVN_REVISION_NUMBER #define RC_PRODUCTVERSION 2,1,0,0 #define RC_FILEVERSION2 DOTVERSIONSTR #define RC_PRODUCTVERSION2 "2.1" @@ -54,7 +54,7 @@ // Version identifier for network games. // Bump it every time you do a release unless you're certain you // didn't change anything that will affect sync. -#define NETGAMEVERSION 206 +#define NETGAMEVERSION 207 // Version stored in the ini's [LastRun] section. // Bump it if you made some configuration change that you want to diff --git a/src/win32/i_crash.cpp b/src/win32/i_crash.cpp index e6ae3c1a9..3b4ee32a5 100644 --- a/src/win32/i_crash.cpp +++ b/src/win32/i_crash.cpp @@ -1128,6 +1128,7 @@ static HANDLE MakeZip () int i, numfiles; HANDLE file; DWORD len, dirsize; + size_t namelen; if (NumFiles == 0) { @@ -1165,7 +1166,6 @@ static HANDLE MakeZip () // Write the central directory central.ModTime = dostime; central.ModDate = dosdate; - central.InternalAttributes = LittleShort(1); dirend.DirectoryOffset = LittleLong(SetFilePointer (file, 0, NULL, FILE_CURRENT)); @@ -1187,14 +1187,20 @@ static HANDLE MakeZip () central.Flags = 0; central.Method = 0; } + namelen = strlen(TarFiles[i].Filename); + central.InternalAttributes = 0; + if (namelen > 4 && stricmp(TarFiles[i].Filename - 4, ".txt") == 0) + { // Bit 0 set indicates this is probably a text file. But do any tools use it? + central.InternalAttributes = LittleShort(1); + } central.CRC32 = LittleLong(TarFiles[i].CRC32); central.CompressedSize = LittleLong(TarFiles[i].CompressedSize); central.UncompressedSize = LittleLong(TarFiles[i].UncompressedSize); - central.NameLength = LittleShort((WORD)strlen(TarFiles[i].Filename)); + central.NameLength = LittleShort((WORD)namelen); central.LocalHeaderOffset = LittleLong(TarFiles[i].ZipOffset); WriteFile (file, ¢ral, sizeof(central), &len, NULL); - WriteFile (file, TarFiles[i].Filename, (DWORD)strlen(TarFiles[i].Filename), &len, NULL); - dirsize += sizeof(central) + len; + WriteFile (file, TarFiles[i].Filename, (DWORD)namelen, &len, NULL); + dirsize += sizeof(central) + namelen; } // Write the directory terminator