ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.
ModEnc:Sandbox
Testing page
This is a sandbox - a page for testing stuff.
Pretty URL test
Testing testing, if this goes through, the Pretty URLs are functional.
This post was brought to you by DCoder - founder of RedUtils - all the INI editing tools you'll ever need.
Layout suggestions for YR exe info
Example: EMPulseClass (insert EMPulseClass description here)
Derivation
AbstractClass → EMPulseClass
Class specifications
Property | Value |
---|---|
General: | |
VT address (YR 1.001) | 0x7E87A8 |
Size of members data (YR 1.001) | 0x34 bytes |
AbstractClass derivative: Note: these rows would only be added for AbstractClass derivatives | |
ClassID | 0x37 |
Member variables
Offset | Type | Name | Description |
---|---|---|---|
AbstractClass: | |||
0x0 | Pointer | VirtualTable | Pointer to the class' virtual table |
0x4 | Pointer | IRTTITypeInfo VTable | Pointer to an extended virtual table (not sure what exactly it does) |
0x8 | Pointer | INoticeSink VTable | Pointer to an extended virtual table (not sure what exactly it does) |
0xC | Pointer | INoticeSource VTable | Pointer to an extended virtual table (not sure what exactly it does) |
0x10 | DWORD | unknown | |
0x14 | DWORD | DerivationFlags | Bit 0: set if Techno Bit 1: set if Object Bit 2: set if Foot |
0x18 | DWORD | unknown | |
0x1C | DWORD | unknown | |
0x20 | BYTE | unknown | |
0x21 | BYTE | unused | |
0x22 | WORD | unused | |
EMPulseClass: | |||
0x24 | WORD | OriginCell_X | X coordinate of the origin cell of the EMP |
0x26 | WORD | OriginCell_Y | Y coordinate of the origin cell of the EMP |
0x28 | DWORD | Spread | Cell spreading radius of the EMP effect |
0x2C | DWORD | CreationTime | Time point at which this EMPulse instance has been created |
0x30 | DWORD | Duration | Time the EMP effect lasts |
Virtual Table
Offset | Return Type | Arguments | Name | Description |
---|---|---|---|---|
AbstractClass: | ||||
0x0 | HRESULT | QueryInterface | unknown | |
0x4 | HRESULT | AddRef | ||
0x8 | UINT | Release | unknown | |
0xC | HRESULT | GetClassID | unknown | |
0x10 | BOOL | IsDirty | unknown | |
0x14 | HRESULT | Load | IStream* stream AbstractClass* dst |
Load data from a stream (used for loading savegames) |
0x18 | HRESULT | Save | IStream* stream AbstractClass* src (3rd is unknown) |
Save data to a stream (used for saving games) |
0x1C | HRESULT | GetSizeMax | unknown | |
0x20 | None (DTOR) | ~EMPulseClass | none | Free memory and remove from global arrays. |
0x24 | unknown | unknown | unknown | |
0x28 | unknown | unknown | unknown | |
0x2C | int32 | Fetch_ID | none | Get the AbstractClass derivation ID of this class. Used to find out "what something is". |
0x30 | int32 | GetDataSize | none | Get the size of the member data. |
0x34 | ULONG | Create_ID | unknown | Calculate a CRC of object |
0x38 | unknown | unknown | unknown | |
0x3C | unknown | unknown | unknown | |
0x40 | int32 | GetArrayIndex | none | Get the index of this class instance in the global array. This will return 0 for abstract classes. |
0x44 | bool | IsDead | none | Find out whether this instance is dead. This is only used for "living" objects with a health. |
0x48 | void | Get3DCoords | int32* dst_xyz | Load 3D coordinates into dst_xyz. |
0x4C | void | Get3DCoords_var | int32* dst_xyz | Load 3D coordinates into variables, then into dst_xyz. This method is obsolete (use 0x48). |
0x50 | unknown | unknown | unknown | |
0x54 | unknown | unknown | unknown | |
0x58 | unknown | unknown | unknown | |
0x5C | void | AdvanceFrame | none | This is an updating routine, called every frame. |