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

Difference between revisions of "ModEnc:Sandbox"

From ModEnc
Jump to: navigation, search
m (deep inside, we all love double edits, don't we? actually, just corrected and enhanced a few things)
m (Replace the top text by Template:SandboxTop)
 
(29 intermediate revisions by 9 users not shown)
Line 1: Line 1:
== Testing page ==
+
{{SandboxTop}}
 +
<!-- Please do not remove the content above!-->
  
This is a sandbox - a page for testing stuff.
+
<!--Some old test stuff, commented out to prevent links to this page:
  
=== Pretty URL test ===
+
<flag
 +
name="Damage"
 +
desc="Sets the amount of Damage dealt by this weapon."
 +
values="{{values|int}}"
 +
default="0"
 +
availablein="ra, cs, am, arda, ts, fs, hp, ra2, yr, rp, np, npext, ares, gz"
 +
sections="{{Categ|Weapon|Weapons}}, {{Categ|Particles}}, {{Categ|VoxelAnims}}, {{Categ|Animations}}"
 +
files="{{Categ|Rules(md).ini}}, {{Categ|Art(md).ini}}"
 +
/>
  
Testing testing, if this goes through, the Pretty URLs are functional.
+
[http://test foo]
 
+
bar
<div style="padding:1px; text-indent:10px; -moz-border-radius:10px; border:2px dotted #c00; color:#00c; font-style:italic;">This post was brought to you by <b>DCoder</b> - founder of [http://dcoder.cannis.net RedUtils] - all the INI editing tools you'll ever need.</div>
+
baz
 
+
[http://test foobar]
 
+
-->
== Layout suggestions for YR exe info ==
 
Example: EMPulseClass
 
(insert EMPulseClass description here)
 
 
 
===Derivation===
 
[[AbstractClass]] {{arr|r}} EMPulseClass
 
 
 
 
 
===Class specifications===
 
{| align="center" width="100%" cellpadding="2" class="table_descrow"
 
!width="40%"|Property
 
!width="60%"|Value
 
|-
 
|colspan="2"|'''General:'''
 
|-
 
|GUID:||'''{B825CB22-11D2-200E-6000-A99F58D49A08}'''
 
|-
 
|[[VT]] address (YR 1.001)||'''0x7E87A8'''
 
|-
 
|Size of members data (YR 1.001)||'''0x34 bytes'''
 
|-
 
|colspan="2"|'''AbstractClass derivative:'''
 
|-
 
|[[ClassID]]||'''0x37'''
 
|}
 
 
 
 
 
===Member variables===
 
{| align="center" width="100%" cellpadding="2" class="table_descrow"
 
!width="6%"|Offset
 
!width="15%"|Type
 
!width="19%"|Name
 
!width="60%"|Description
 
|-
 
|colspan="4"|'''AbstractClass:'''
 
|-
 
|0x0||ptr||VirtualTable||Pointer to the class' virtual table
 
|-
 
|0x4||ptr||IRTTITypeInfo VTable||Pointer to an extended virtual table (not sure what exactly it does)
 
|-
 
|0x8||ptr||INoticeSink VTable||Pointer to an extended virtual table (not sure what exactly it does)
 
|-
 
|0xC||ptr||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<br>Bit 1: set if Object<br>Bit 2: set if Foot
 
|-
 
|0x18||DWORD||unknown||
 
|-
 
|0x1C||DWORD||unknown||
 
|-
 
|0x20||BYTE||unknown||
 
|-
 
|0x21||BYTE||unused||
 
|-
 
|0x22||WORD||unused||
 
|-
 
|colspan="4"|'''EMPulseClass:'''
 
|-
 
|0x24||short||OriginCell_X||X coordinate of the origin cell of the EMP
 
|-
 
|0x26||short||OriginCell_Y||Y coordinate of the origin cell of the EMP
 
|-
 
|0x28||int||Spread||Cell spreading radius of the EMP effect
 
|-
 
|0x2C||int||CreationTime||Time point at which this EMPulse instance has been created
 
|-
 
|0x30||int||Duration||Time the EMP effect lasts
 
|}
 
 
 
 
 
===Virtual Table===
 
{| align="center" width="100%" cellpadding="2" class="table_descrow"
 
!width="6%"|Offset
 
!width="15%"|Return Type
 
!width="19%"|Name
 
!width="15%"|Arguments
 
!width="45%"|Description
 
|-
 
|colspan="4"|'''AbstractClass:'''
 
|-
 
|0x0||HRESULT||QueryInterface||REFIID iid<br>void** ppvObject||[http://msdn2.microsoft.com/en-us/library/ms682521.aspx MSDN]:<br>"Returns a pointer to a specified interface on an object to which a client currently holds an interface pointer."
 
|-
 
|0x4||ULONG||AddRef||none||[http://msdn2.microsoft.com/en-us/library/ms691379.aspx MSDN]:<br>"[...] 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||[http://msdn2.microsoft.com/en-us/library/ms682317.aspx MSDN]:<br>"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."
 
|-
 
|0xC||HRESULT||GetGUID||unknown||Get this classe's GUID (the ones the [[Locomotor]] tags take).
 
|-
 
|0x10||bool||IsDirty||unknown||(?)
 
|-
 
|0x14||HRESULT||Load||IStream* stream<br>AbstractClass* dst||Loads data from a stream (used for loading savegames).
 
|-
 
|0x18||HRESULT||Save||IStream* stream<br>AbstractClass* src<br>(3rd is unknown)||Saves data to a stream (used for saving games).
 
|-
 
|0x1C||HRESULT||GetMaxSize||UINT* dest<br>Abstract* instance||Gets the maximum size of the member data.<br>{{tt|*dest}} is set to {{tt|GetSize()+sizeof(UINT)}}.<br>{{tt|*(dest+4)}} is set to {{tt|0}}.
 
|-
 
|0x20||none (DTOR)||~EMPulseClass||none||Frees memory and removes this instance from global arrays.
 
|-
 
|0x24||unknown||unknown||unknown||
 
|-
 
|0x28||unknown||unknown||unknown||
 
|-
 
|0x2C||int||GetDerivationID||none||Gets the AbstractClass derivation ID of this class.<br>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||unknown||unknown||unknown||
 
|-
 
|0x3C||unknown||unknown||unknown||
 
|-
 
|0x40||int||GetArrayIndex||none||Gets the index of this class instance in the global array.<br>This will return 0 for abstract classes.
 
|-
 
|0x44||bool||IsDead||none||Finds out whether this instance is dead.<br>This is only used for "living" objects with a health.
 
|-
 
|0x48||void||Get3DCoords||int32* dst_xyz||Loads 3D coordinates into dst_xyz.
 
|-
 
|0x4C||void||Get3DCoords_var||int32* dst_xyz||Loads 3D coordinates into variables, then into dst_xyz.<br>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.
 
|}
 

Latest revision as of 11:46, 18 August 2021

Official ModEnc Testing Page ("Sandbox")

This is a sandbox - a page for testing stuff. Feel free to test any editing related stuff here. There also exists a Template-Sandbox. Please remove the your content if you no longer need it. Also note that the following content does not contain any useful information.