Browse Source

Avoid void pointers

pull/704/head
Anders Jenbo 6 years ago
parent
commit
cd18914026
  1. 18
      Source/encrypt.cpp
  2. 8
      Source/encrypt.h
  3. 2
      Source/engine.cpp
  4. 2
      Source/engine.h
  5. 14
      Source/mpqapi.cpp
  6. 2
      Source/mpqapi.h

18
Source/encrypt.cpp

@ -8,12 +8,10 @@
DWORD hashtable[1280];
void Decrypt(void *block, DWORD size, DWORD key)
void Decrypt(DWORD *castBlock, DWORD size, DWORD key)
{
DWORD *castBlock;
DWORD seed, i;
castBlock = (DWORD *)block;
seed = 0xEEEEEEEE;
for (i = 0; i < (size >> 2); i++) {
seed += hashtable[0x400 + (key & 0xFF)];
@ -24,12 +22,10 @@ void Decrypt(void *block, DWORD size, DWORD key)
}
}
void Encrypt(void *block, DWORD size, DWORD key)
void Encrypt(DWORD *castBlock, DWORD size, DWORD key)
{
DWORD *castBlock;
DWORD seed, i, ch;
castBlock = (DWORD *)block;
seed = 0xEEEEEEEE;
for (i = 0; i < (size >> 2); i++) {
ch = *castBlock;
@ -74,14 +70,13 @@ void InitHash()
}
}
int PkwareCompress(void *buf, int size)
int PkwareCompress(BYTE *srcData, int size)
{
BYTE *srcData, *destData;
BYTE *destData;
char *ptr;
unsigned int destSize, type, dsize;
TDataInfo param;
srcData = (BYTE *)buf;
ptr = (char *)DiabloAllocPtr(CMP_BUFFER_SIZE);
destSize = 2 * size;
@ -140,14 +135,13 @@ void __cdecl PkwareBufferWrite(char *buf, unsigned int *size, void *param)
pInfo->destOffset += *size;
}
void PkwareDecompress(void *param, int recv_size, int dwMaxBytes)
void PkwareDecompress(BYTE *pbInBuff, int recv_size, int dwMaxBytes)
{
char *ptr;
BYTE *pbInBuff, *pbOutBuff;
BYTE *pbOutBuff;
TDataInfo info;
ptr = (char *)DiabloAllocPtr(CMP_BUFFER_SIZE);
pbInBuff = (BYTE *)param;
pbOutBuff = DiabloAllocPtr(dwMaxBytes);
info.srcData = pbInBuff;

8
Source/encrypt.h

@ -8,13 +8,13 @@
extern DWORD hashtable[1280];
void Decrypt(void *block, DWORD size, DWORD key);
void Encrypt(void *block, DWORD size, DWORD key);
void Decrypt(DWORD *castBlock, DWORD size, DWORD key);
void Encrypt(DWORD *castBlock, DWORD size, DWORD key);
DWORD Hash(const char *s, int type);
void InitHash();
int PkwareCompress(void *buf, int size);
int PkwareCompress(BYTE *srcData, int size);
unsigned int __cdecl PkwareBufferRead(char *buf, unsigned int *size, void *param);
void __cdecl PkwareBufferWrite(char *buf, unsigned int *size, void *param);
void PkwareDecompress(void *param, int recv_size, int dwMaxBytes);
void PkwareDecompress(BYTE *pbInBuff, int recv_size, int dwMaxBytes);
#endif /* __ENCRYPT_H__ */

2
Source/engine.cpp

@ -2656,7 +2656,7 @@ BYTE *LoadFileInMem(char *pszName, DWORD *pdwFileLen)
* @param p Target buffer
* @return Size of file
*/
DWORD LoadFileWithMem(const char *pszName, void *p)
DWORD LoadFileWithMem(const char *pszName, BYTE *p)
{
DWORD dwFileLen;
HANDLE hsFile;

2
Source/engine.h

@ -62,7 +62,7 @@ void engine_debug_trap(BOOL show_cursor);
BYTE *DiabloAllocPtr(DWORD dwBytes);
void mem_free_dbg(void *p);
BYTE *LoadFileInMem(char *pszName, DWORD *pdwFileLen);
DWORD LoadFileWithMem(const char *pszName, void *p);
DWORD LoadFileWithMem(const char *pszName, BYTE *p);
void Cl2ApplyTrans(BYTE *p, BYTE *ttbl, int nCel);
void Cl2Draw(int sx, int sy, BYTE *pCelBuff, int nCel, int nWidth, int CelSkip, int CelCap);
void Cl2Blit(BYTE *pDecodeTo, BYTE *pRLEBytes, int nDataSize, int nWidth);

14
Source/mpqapi.cpp

@ -7,7 +7,7 @@
#include "../3rdParty/Storm/Source/storm.h"
DWORD sgdwMpqOffset;
char mpq_buf[4096];
BYTE mpq_buf[4096];
_HASHENTRY *sgpHashTbl;
/** Has the savegame-file been modified in memory. */
BOOL save_archive_modified;
@ -466,7 +466,7 @@ BOOL OpenMPQ(const char *pszArchive, BOOL hidden, DWORD dwChar)
if (!ReadFile(sghArchive, sgpBlockTbl, 0x8000, &dwTemp, NULL))
goto on_error;
key = Hash("(block table)", 3);
Decrypt(sgpBlockTbl, 0x8000, key);
Decrypt((DWORD *)sgpBlockTbl, 0x8000, key);
}
sgpHashTbl = (_HASHENTRY *)DiabloAllocPtr(0x8000);
memset(sgpHashTbl, 255, 0x8000);
@ -476,7 +476,7 @@ BOOL OpenMPQ(const char *pszArchive, BOOL hidden, DWORD dwChar)
if (!ReadFile(sghArchive, sgpHashTbl, 0x8000, &dwTemp, NULL))
goto on_error;
key = Hash("(hash table)", 3);
Decrypt(sgpHashTbl, 0x8000, key);
Decrypt((DWORD *)sgpHashTbl, 0x8000, key);
}
return TRUE;
}
@ -615,9 +615,9 @@ BOOL mpqapi_write_block_table()
if (SetFilePointer(sghArchive, 104, NULL, FILE_BEGIN) == -1)
return FALSE;
Encrypt(sgpBlockTbl, 0x8000, Hash("(block table)", 3));
Encrypt((DWORD *)sgpBlockTbl, 0x8000, Hash("(block table)", 3));
success = WriteFile(sghArchive, sgpBlockTbl, 0x8000, &NumberOfBytesWritten, 0);
Decrypt(sgpBlockTbl, 0x8000, Hash("(block table)", 3));
Decrypt((DWORD *)sgpBlockTbl, 0x8000, Hash("(block table)", 3));
return success && NumberOfBytesWritten == 0x8000;
}
@ -629,9 +629,9 @@ BOOL mpqapi_write_hash_table()
if (SetFilePointer(sghArchive, 32872, NULL, FILE_BEGIN) == -1)
return FALSE;
Encrypt(sgpHashTbl, 0x8000, Hash("(hash table)", 3));
Encrypt((DWORD *)sgpHashTbl, 0x8000, Hash("(hash table)", 3));
success = WriteFile(sghArchive, sgpHashTbl, 0x8000, &NumberOfBytesWritten, 0);
Decrypt(sgpHashTbl, 0x8000, Hash("(hash table)", 3));
Decrypt((DWORD *)sgpHashTbl, 0x8000, Hash("(hash table)", 3));
return success && NumberOfBytesWritten == 0x8000;
}

2
Source/mpqapi.h

@ -6,7 +6,7 @@
#ifndef __MPQAPI_H__
#define __MPQAPI_H__
extern char mpq_buf[4096];
extern BYTE mpq_buf[4096];
extern BOOL save_archive_modified;
extern BOOLEAN save_archive_open;

Loading…
Cancel
Save