ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

AbstractClass - Virtual Table: Difference between revisions

From ModEnc
Jump to navigation Jump to search
Pd (talk | contribs)
m sorry, had to edit these little two things, now the layout should be clear for good
Pd (talk | contribs)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<noinclude>This is the offset table for AbstractClass's [[Virtual Table]].
<noinclude>This is the offset table for [[AbstractClass]]'s [[Virtual Table]].


{| align="center" width="100%" cellpadding="2" class="table_descrow"
{| align="center" width="100%" cellpadding="2" class="table_descrow"
Line 44: Line 44:
|0x34||unsigned long||GetCRC||unknown||Calculates a CRC sum of this instance.
|0x34||unsigned long||GetCRC||unknown||Calculates a CRC sum of this instance.
|-
|-
|0x38||unknown||unknown||unknown||
|0x38||int||GetOwningHouseIndex||none||Gets the index of the House (player) who owns this object.
|-
|-
|0x3C||unknown||unknown||unknown||
|0x3C||[[HouseClass]]*||GetOwningHouse||none||Gets a pointer to the House (player) who owns this object.
|-
|-
|0x40||int||GetArrayIndex||none||Gets the index of this class instance in the global array.<br>This will return 0 for abstract classes.
|0x40||int||GetArrayIndex||none||Gets the index of this class instance in the global array.<br>This will return 0 for abstract classes.
Line 64: Line 64:
|0x5C||void||AdvanceFrame||none||This is an updating routine, called every frame.
|0x5C||void||AdvanceFrame||none||This is an updating routine, called every frame.
<noinclude>|}</noinclude>
<noinclude>|}</noinclude>
[[Category:YR Executable Knowledge Database]]

Latest revision as of 20:37, 17 June 2007

This is the offset table for AbstractClass's Virtual Table.

Offset Return Type Name Arguments Description
IUnknown:
0x0 HRESULT QueryInterface REFIID iid
void ** ppvObject
MSDN:
"Returns a pointer to a specified interface on an object to which a client currently holds an interface pointer."
0x4 ULONG AddRef none MSDN:
"[...] increments the reference count for an interface on an object. It should be called for every new copy of a pointer to an interface on a given object."
0x8 ULONG Release none MSDN:
"Decrements the reference count for the calling interface on a object. If the reference count on the object falls to 0, the object is freed from memory."
IPersist:
0xC HRESULT GetClassID CLSID * pClassID MSDN:
"Retrieves the class identifier (CLSID) of an object. The CLSID is a unique value that identifies the code that can manipulate the persistent data."
IPersistStream:
0x10 HRESULT IsDirty none MSDN:
"Checks the object for changes since it was last saved."
0x14 HRESULT Load IStream* stream
AbstractClass* dst
MSDN:
"Initializes an object from the stream where it was previously saved."
0x18 HRESULT Save IStream* stream
AbstractClass* src
(3rd is unknown)
MSDN:
"Saves an object to the specified stream."
0x1C HRESULT GetMaxSize ULARGE_INTEGER * pcbSize MSDN:
"Returns the size in bytes of the stream needed to save the object."
AbstractClass:
0x20 none (DTOR) Destructor none Frees memory and removes this instance from global arrays.
0x24 unknown unknown unknown
0x28 unknown unknown unknown
0x2C int GetAbstractDerivationID none Gets the AbstractDerivationID of this class.
Used to find out "what something is".
0x30 int GetSize none Gets the size of the member data.
0x34 unsigned long GetCRC unknown Calculates a CRC sum of this instance.
0x38 int GetOwningHouseIndex none Gets the index of the House (player) who owns this object.
0x3C HouseClass* GetOwningHouse none Gets a pointer to the House (player) who owns this object.
0x40 int GetArrayIndex none Gets the index of this class instance in the global array.
This will return 0 for abstract classes.
0x44 bool IsDead none Finds out whether this instance is dead.
This is only used for "living" objects with a health.
0x48 void Get3DCoords int* dst_xyz Loads 3D coordinates into dst_xyz.
0x4C void Get3DCoords_var int* dst_xyz Loads 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.