Adapt P_MakeMapMD5() for textmaps.

This commit is contained in:
Nev3r 2019-12-30 12:07:54 +01:00
parent dd66aa9a14
commit 71d13d1a67

View file

@ -2668,27 +2668,34 @@ static INT32 P_MakeBufferMD5(const char *buffer, size_t len, void *resblock)
static void P_MakeMapMD5(virtres_t *virt, void *dest) static void P_MakeMapMD5(virtres_t *virt, void *dest)
{ {
unsigned char linemd5[16]; virtlump_t* textmap = vres_Find(virt, "TEXTMAP");
unsigned char sectormd5[16];
unsigned char thingmd5[16];
unsigned char sidedefmd5[16];
unsigned char resmd5[16]; unsigned char resmd5[16];
UINT8 i;
// Create a hash for the current map if (textmap)
// get the actual lumps! P_MakeBufferMD5((char*)textmap->data, textmap->size, resmd5);
virtlump_t *virtlines = vres_Find(virt, "LINEDEFS"); else
virtlump_t *virtsectors = vres_Find(virt, "SECTORS"); {
virtlump_t *virtmthings = vres_Find(virt, "THINGS"); unsigned char linemd5[16];
virtlump_t *virtsides = vres_Find(virt, "SIDEDEFS"); unsigned char sectormd5[16];
unsigned char thingmd5[16];
unsigned char sidedefmd5[16];
UINT8 i;
P_MakeBufferMD5((char*)virtlines->data, virtlines->size, linemd5); // Create a hash for the current map
P_MakeBufferMD5((char*)virtsectors->data, virtsectors->size, sectormd5); // get the actual lumps!
P_MakeBufferMD5((char*)virtmthings->data, virtmthings->size, thingmd5); virtlump_t* virtlines = vres_Find(virt, "LINEDEFS");
P_MakeBufferMD5((char*)virtsides->data, virtsides->size, sidedefmd5); virtlump_t* virtsectors = vres_Find(virt, "SECTORS");
virtlump_t* virtmthings = vres_Find(virt, "THINGS");
virtlump_t* virtsides = vres_Find(virt, "SIDEDEFS");
for (i = 0; i < 16; i++) P_MakeBufferMD5((char*)virtlines->data, virtlines->size, linemd5);
resmd5[i] = (linemd5[i] + sectormd5[i] + thingmd5[i] + sidedefmd5[i]) & 0xFF; P_MakeBufferMD5((char*)virtsectors->data, virtsectors->size, sectormd5);
P_MakeBufferMD5((char*)virtmthings->data, virtmthings->size, thingmd5);
P_MakeBufferMD5((char*)virtsides->data, virtsides->size, sidedefmd5);
for (i = 0; i < 16; i++)
resmd5[i] = (linemd5[i] + sectormd5[i] + thingmd5[i] + sidedefmd5[i]) & 0xFF;
}
M_Memcpy(dest, &resmd5, 16); M_Memcpy(dest, &resmd5, 16);
} }