3.4 KiB
3.4 KiB
World
Game World/State Pointer @ 0x7fe944
Object size: 0x225c
bytes
Constructor Address: 0x479870
Points to World struct
Offset | Type | Description |
---|---|---|
0x0000 | void** |
Virtual Method Table |
0x0004 | uint32_t |
Slots in Entity Hashtable |
0x0008 | void** |
Pointer to Entity Hashtable |
0x00B0 | ?? |
Pointer to Ground Object (?) |
0x0288 | pyEntity* |
UsrEntity_0 |
0x028C | pyEntity* |
UsrEntity_1 |
0x0290 | pyEntity* |
UsrEntity_2 |
0x0294 | pyEntity* |
UsrEntity_3 |
0x0298 | uint32_t |
Slots in Model Hashtable |
0x029C | void** |
Pointer to Model Hashtable |
0x02B8 | uint32_t |
Slots in Entity lists Hashtable |
0x02BC | void** |
Pointer to Entity list Hashtable |
0x0330 | float[3] |
Time (why 3 times?) |
0x1C6C | float |
Alarm level |
0x1C68 | float |
Alarm Grow Level |
0x2158 | float |
Used in World_Init |
0x2170 | ??? |
Used in World_Init |
0x2180 | float |
Used in World_Init |
0x2188 | void* |
Used in World_Init |
0x218C | void* |
Used in World_Init |
0x2190 | float |
Used in World_Init |
0x2198 | void* |
Used in World_Init |
0x219C | void* |
Used in World_Init |
0x21A0 | void** |
Used in World_Init (VTable pointer?) |
0x21B4 | void** |
Used in World_Init (VTable pointer?) |
0x21C8 | ??? |
Used in World_Init |
0x2204 | uint32_t or uint16_t |
Used in World_Init |
0x2230 | float |
Used in World_Init |
0x2238 | ??? |
Used in World_Init |
0x2254 | float |
Used in World_Init |
cPyEntity structure
Offset | Type | Description |
---|---|---|
0x0000 | void** |
Virtual Method Table |
0x0004 | char* |
Name |
0x0008 | void* |
??? |
Entity Hash Table
Hash-function used: PJW (Same parameters as the example implementation)
Entry format:
struct HT_Entry {
void* data;
const char* key;
HT_Entry* next;
}
Data format:
Offset | Type | Description |
---|---|---|
0x0 | void** |
Virtual Method Table (?) |
0x4 | const char* |
name as string |
0x14 | void* |
pointer to self (why?) |
0x28 | float[3] |
Position in Game World |
EntityList Hash Table
Attributes:
Near
First
Num
OnDeath
OnDamage
- ...