|
|
(20 intermediate revisions by 8 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: |
|
| |
|
| === Test edit === | | <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}}" |
| | /> |
|
| |
|
| Disregard - testing stuff. //''[[User:DCoder|DCoder]] 18:51, 14 June 2007 (CEST)''
| | [http://test foo] |
| :: Disregard - testing stuff again. //''[[User:DCoder|DCoder]] 18:51, 14 June 2007 (CEST)''
| | bar |
| :::: And again... (I'm sorry.) //''[[User:DCoder|DCoder]] 18:51, 14 June 2007 (CEST)''
| | baz |
| :::::: Yet again... I sure hope this will be the last time.
| | [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.
| |
| |}
| |
| | |
| === 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
| |