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

ModEnc:Sandbox: Difference between revisions

From ModEnc
Jump to navigation Jump to search
wheee
m Replace the top text by Template:SandboxTop
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NEWSECTIONLINK__
{{SandboxTop}}
<p style="color:darkgreen;font-size:20px;border-style:solid;border-color:darkgreen;padding:10px;text-align:center;">Official ModEnc Testing Page ("Sandbox")</p>
This is a sandbox - a page for testing stuff. Feel free to test any editing related stuff here. There also exists a [[Template:Sandbox|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.
<br>
----
<!-- Please do not remove the content above!-->
<!-- Please do not remove the content above!-->


<!--Loading this long page sucks
<!--Some old test stuff, commented out to prevent links to this page:
=== Test edit ===


Disregard - testing stuff. //''[[User:DCoder|DCoder]] 18:51, 14 June 2007 (CEST)''
<flag
:: Disregard - testing stuff again. //''[[User:DCoder|DCoder]] 18:51, 14 June 2007 (CEST)''
name="Damage"
:::: And again... (I'm sorry.) //''[[User:DCoder|DCoder]] 18:51, 14 June 2007 (CEST)''
desc="Sets the amount of Damage dealt by this weapon."
:::::: Yet again... I sure hope this will be the last time.
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}}"
/>


== Layout suggestions for YR exe info ==
[http://test foo]
Example: EMPulseClass
bar
(insert EMPulseClass description here)
baz
 
[http://test foobar]
===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.
|}
 
=== More Testing ===
 
{| align="center" width="100%" cellpadding="2" class="table_descrow"
|+ WarheadType
|-
| 0x98 || double || Deform ||
|-
| 0xA0 || double || vs None ||
|-
| 0xA8 || double || vs Flak ||
|-
| 0xB0 || double || vs Plate ||
|-
| 0xB8 || double || vs Light ||
|-
| 0xC0 || double || vs Medium ||
|-
| 0xC8 || double || vs Heavy ||
|-
| 0xD0 || double || vs Wood ||
|-
| 0xD8 || double || vs Steel ||
|-
| 0xE0 || double || vs Concrete ||
|-
| 0xD8 || double || vs Special_1 ||
|-
| 0xE0 || double || vs Special_2 ||
|-
| 0xF8 || double || ProneDamage ||
|-
| 0x100 || long || DeformTreshold ||
|-
| 0x104 || vector<AnimType> || AnimList ||
|-
| 0x120 || long || InfDeath ||
|-
| 0x124 || float || CellSpread ||
|-
| 0x128 || float || CellInset ||
|-
| 0x12C || float || PercentAtMax ||
|-
| 0x130 || bool || CausesDelayKill ||
|-
| 0x134 || long || DelayKillFrames ||
|-
| 0x138 || float || DelayKillAtMax ||
|-
| 0x13C || float || CombatLightSize ||
|-
| 0x140 || ParticleType* || Particle ||
|-
| 0x144 || bool || Wall ||
|-
| 0x145 || bool || WallAbsoluteDestroyer ||
|-
| 0x146 || bool || PenetratesBunker ||
|-
| 0x147 || bool || Wood ||
|-
| 0x148 || bool || Tiberium ||
|-
| 0x149 || bool || ??? ||
|-
| 0x14A || bool || Sparky ||
|-
| 0x14B || bool || Sonic ||
|-
| 0x14C || bool || Fire ||
|-
| 0x14D || bool || Conventional ||
|-
| 0x14E || bool || Rocker ||
|-
| 0x14F || bool || DirectRocker ||
|-
| 0x150 || bool || Bright ||
|-
| 0x151 || bool || CLDisableRed ||
|-
| 0x152 || bool || CLDisableGreen ||
|-
| 0x153 || bool || CLDisableBlue ||
|-
| 0x154 || bool || EMEffect ||
|-
| 0x155 || bool || MindControl ||
|-
| 0x156 || bool || Poison ||
|-
| 0x157 || bool || IvanBomb ||
|-
| 0x158 || bool || ElectricAssault ||
|-
| 0x159 || bool || Parasite ||
|-
| 0x15A || bool || Temporal ||
|-
| 0x15B || bool || IsLocomotor ||
|-
| 0x15C || ??? || Locomotor ||
|-
| 0x16C || bool || Airstrike ||
|-
| 0x16D || bool || Psychedelic ||
|-
| 0x16E || bool || BombDisarm ||
|-
| 0x170 || long || Paralyzes ||
|-
| 0x174 || bool || Culling ||
|-
| 0x175 || bool || MakesDisguise ||
|-
| 0x176 || bool || NukeMaker ||
|-
| 0x177 || bool || Radiation ||
|-
| 0x178 || bool || PsychicDamage ||
|-
| 0x179 || bool || AffectsAllies ||
|-
| 0x17A || bool || Bullets ||
|-
| 0x17B || bool || Veinhole ||
|-
| 0x17C || long || ShakeXlo ||
|-
| 0x180 || long || ShakeXhi ||
|-
| 0x184 || long || ShakeYlo ||
|-
| 0x188 || long || ShakeYhi ||
|-
| 0x18C || vector<VoxelAnimType*> || DebrisTypes ||
|-
| 0x1A8 || vector<long>  || DebrisMaximums ||
|-
| 0x1C4 || long || MaxDebris ||
|-
| 0x1C8 || long || MinDebris ||
|-
| 0x1CC || AnimType* || InfDeathAnim ||
|-
| 0x1D0 || long || ImmunityType ||
|}
 
{| align="center" width="100%" cellpadding="2" class="table_descrow"
|+ Vector Functions
|-
| 0x0 || void || Delete(bool bMyselfAsWell) ||  ||
|-
| 0x4 || bool || CompareVector(vector V2) ||  ||
|-
| 0x8 || bool || PushBack(???) ||  ||
|-
| 0xC || void || Clear() ||  ||
|-
| 0x10 || long || FindElement(ptr Pointer) ||  ||
|-
| 0x14 || long || GetElementIndex(ptr Pointer) ||  ||
|-
| 0x18 || T& || GetElement(long Index) ||  ||
|}
 
== Another edit ==
 
Disregard this -- more testing stuff. // DC
:: Yep, testing done. //[[User:DCoder|DCoder]] 18:39, 20 November 2007 (CET)
:::: Testing again ... // DC
 
== Testing something ==
 
<b>{{Co|[[Ares]]|white}}</b> ~ [[User:Nighthawk200|Nighthawk]] 07:31, 17 April 2010 (UTC) ~
<b>[[Ares|{{Co|Ares|white}}]]</b> ~ ~~~~ ~ -->

Latest revision as of 09: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.