Finally done!!! I finished what DS started:

AMXx Mods may now patch/retreive memory of several varieties directly from the game .dll, mod .dll, or can go free and patch/retreive any peice of memory.

I salute you DS.
This commit is contained in:
Twilight Suzuka
2006-01-12 03:55:49 +00:00
parent 73ba5d1644
commit ab5c11f876
19 changed files with 6580 additions and 0 deletions

56
dlls/MemHack/MemRead.cpp Normal file
View File

@ -0,0 +1,56 @@
#include "MemMisc.h"
/* Functions that read different data types in memory */
template <typename Type>
Type UTIL_ReadMemory(maddress BaseAddress, maddress StartAddress, char MemType, Type returnType)
{
maddress EndAddress = GetRealMemoryAddress(BaseAddress, StartAddress, MemType);
return *(Type*)EndAddress;
}
char UTIL_ReadMemory_Byte(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, char(NULL));
}
short UTIL_ReadMemory_Word(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, short(NULL));
}
int32_t UTIL_ReadMemory_Dword(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, int32_t(NULL));
}
long long UTIL_ReadMemory_Qword(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, (long long)(NULL));
}
float UTIL_ReadMemory_Float(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, float(NULL));
}
unsigned char UTIL_ReadMemory_UnsignedByte(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, (unsigned char)(NULL));
}
unsigned short UTIL_ReadMemory_UnsignedWord(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, (unsigned short)(NULL));
}
uint32_t UTIL_ReadMemory_UnsignedDword(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, uint32_t(NULL));
}
maddress UTIL_ReadMemory_Pointer(maddress BaseAddress, maddress address, char memType)
{
return UTIL_ReadMemory( BaseAddress, address, memType, maddress(NULL));
}