0x00DBA498 <- This exist in the .exe, and should be my array.
- Code: Select all
int Data = GetCharacterData(index); // Returns 0x00DBA498
int* arr = &Data;
int Length = sizeof(arr)/sizeof(int*);
for (int i = 0; i < Length; i++)
{
UInt32 Temp = arr[i];
Log("Data: " + UInt32ToString(Temp));
}
I've tried a number of different methods, but none seem to work as expected. (char*, inline asm([value+1]), *var, (type*)var, &var, etc, etc, etc,.)
It should be 1088 byte array containing the stats, etc, of a character.
Perhaps the info I got was just wrong, but regardless, the way C++ handles arrays is a bit confusing, so I still need to know how to do it properly, I'm sure I'll come across this again.
---
Edit: It wasn't an array at all, it was a start index for reading global values. (ie, just read offset + 1byte, to get this data, offset + 2byte to get that data, etc, etc,.)
I didn't decode that bit, someone else did, and they obviously misread what was happening. (Their data is generally correct, so I didn't bother double checking it.)