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

RTTIType: Difference between revisions

From ModEnc
Jump to navigation Jump to search
Crimsonum (talk | contribs)
m Crimsonum moved page AbstractDerivationID to RTTIType
Crimsonum (talk | contribs)
Information provided by CCHyper.
Line 1: Line 1:
An AbstractDerivationID is what identifies every "dead-end" class (i.e. non-abstract classes) deriving from the AbstractClass uniquely.<br>
An RTTIType is what identifies every "top-level" class (i.e. non-abstract classes) deriving from the AbstractClass uniquely.<br>
In the game, it is often useful - for commonality's sake - to have a function or similar pass a [[FootClass]], which is the base class of the [[UnitClass], the [[InfantryClass]] and the [[AircraftClass]]. This way, operations for moving units can be handled using one part of code.<br>
In the game, it is often useful - for commonality's sake - to have a function or similar pass a [[FootClass]], which is the base class of the [[UnitClass], the [[InfantryClass]] and the [[AircraftClass]]. This way, operations for moving units can be handled using one part of code.<br>
However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the AbstractDerivationID.
However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the RTTIType.


==AbstractDerivationID List==
==RTTIType List==
This list is equivalent to the one on the [[Factory]] page.<br>
{|cellpadding="4" class="wikitable table_descrow"
Since this is a different context, here they are listed again:
{|cellpadding="4" class="table_descrow"
!ID
!ID
!RTTIType
!Class
!Class
!Comment
|-
|-
|colspan="3"|'''TS, RA2 and YR:'''
!colspan="4"|TS, RA2 and YR:
|-
|-
|0x00||<Abstract> (can be considered an error value)
|0
|RTTI_NONE
|
|is considered an error value
|-
|-
|0x01||[[UnitClass]]
|1
|RTTI_UNIT
|[[UnitClass]]
|
|-
|-
|0x02||[[AircraftClass]]
|2
|RTTI_AIRCRAFT
|[[AircraftClass]]
|
|-
|-
|0x03||[[AircraftTypeClass]]
|3
|RTTI_AIRCRAFTTYPE
|[[AircraftTypeClass]]
|
|-
|-
|0x04||[[AnimationClass]]
|4
|RTTI_ANIM
|[[AnimationClass]]
|
|-
|-
|0x05||[[AnimationTypeClass]]
|5
|RTTI_ANIMTYPE
|[[AnimationTypeClass]]
|
|-
|-
|0x06||[[Building]]
|6
|RTTI_BUILDING
|[[Building]]
|
|-
|-
|0x07||[[BuildingType]]
|7
|RTTI_BUILDINGTYPE
|[[BuildingType]]
|
|-
|-
|0x08||[[BulletClass]]
|8
|RTTI_BULLET
|[[BulletClass]]
|
|-
|-
|0x09||[[BulletTypeClass]]
|9
|RTTI_BULLETTYPE
|[[BulletTypeClass]]
|
|-
|-
|0x0A||[[CampaignClass]]
|10
|RTTI_CAMPAIGN
|[[CampaignClass]]
|
|-
|-
|0x0B||[[CellClass]]
|11
|RTTI_CELL
|[[CellClass]]
|
|-
|-
|0x0C||[[FactoryClass]]
|12
|RTTI_FACTORY
|[[FactoryClass]]
|
|-
|-
|0x0D||[[HouseClass]]
|13
|RTTI_HOUSE
|[[HouseClass]]
|
|-
|-
|0x0E||[[HouseTypeClass]]
|14
|RTTI_HOUSETYPE
|[[HouseTypeClass]]
|
|-
|-
|0x0F||[[InfantryClass]]
|15
|RTTI_INFANTRY
|[[InfantryClass]]
|
|-
|-
|0x10||[[InfantryTypeClass]]
|16
|RTTI_INFANTRYTYPE
|[[InfantryTypeClass]]
|
|-
|-
|0x11||[[IsometricTileClass]]
|17
|RTTI_ISOTILE
|[[IsometricTileClass]]
|
|-
|-
|0x12||[[IsometricTileTypeClass]]
|18
|RTTI_ISOTILETYPE
|[[IsometricTileTypeCla]]
|
|-
|-
|0x13||[[BuildingLightClass]]
|19
|RTTI_LIGHT
|[[BuildingLightClass]]
|
|-
|-
|0x14||[[OverlayClass]]
|20
|RTTI_OVERLAY
|[[OverlayClass]]
|
|-
|-
|0x15||[[OverlayTypeClass]]
|21
|RTTI_OVERLAYTYPE
|[[OverlayTypeClass]]
|
|-
|-
|0x16||[[ParticleClass]]
|22
|RTTI_PARTICLE
|[[ParticleClass]]
|
|-
|-
|0x17||[[ParticleTypeClass]]
|23
|RTTI_PARTICLETYPE
|[[ParticleTypeClass]]
|
|-
|-
|0x18||[[ParticleSystemClass]]
|24
|RTTI_PARTICLESYSTEM
|[[ParticleSystemClass]]
|
|-
|-
|0x19||[[ParticleSystemTypeClass]]
|25
|RTTI_PARTICLESYSTEMTYPE
|[[ParticleSystemTypeCl]]
|
|-
|-
|0x1A||[[ScriptClass]]
|26
|RTTI_SCRIPT
|[[ScriptClass]]
|
|-
|-
|0x1B||[[ScriptTypeClass]]
|27
|RTTI_SCRIPTTYPE
|[[ScriptTypeClass]]
|
|-
|-
|0x1C||[[SideClass]]
|28
|RTTI_SIDE
|[[SideClass]]
|
|-
|-
|0x1D||[[SmudgeClass]]
|29
|RTTI_SMUDGE
|[[SmudgeClass]]
|
|-
|-
|0x1E||[[SmudgeTypeClass]]
|30
|RTTI_SMUDGETYPE
|[[SmudgeTypeClass]]
|
|-
|-
|0x1F||Special<br>''used for cameos (SW icons)''
|31
|RTTI_SPECIAL
|[[Special]]
|used for cameos (SW icons)
|-
|-
|0x20||[[SuperWeaponTypeClass]]
|32
|RTTI_SUPERWEAPONTYPE
|[[SuperWeaponTypeClass]]
|
|-
|-
|0x21||[[TaskForceClass]]
|33
|RTTI_TASKFORCE
|[[TaskForceClass]]
|
|-
|-
|0x22||[[TeamClass]]
|34
|RTTI_TEAM
|[[TeamClass]]
|
|-
|-
|0x23||[[TeamTypeClass]]
|35
|RTTI_TEAMTYPE
|[[TeamTypeClass]]
|
|-
|-
|0x24||[[TerrainClass]]
|36
|RTTI_TERRAIN
|[[TerrainClass]]
|
|-
|-
|0x25||[[TerrainTypeClass]]
|37
|RTTI_TERRAINTYPE
|[[TerrainTypeClass]]
|
|-
|-
|0x26||[[TriggerClass]]
|38
|RTTI_TRIGGER
|[[TriggerClass]]
|
|-
|-
|0x27||[[TriggerTypeClass]]
|39
|RTTI_TRIGGERTYPE
|[[TriggerTypeClass]]
|
|-
|-
|0x28||[[UnitTypeClass]]
|40
|RTTI_UNITTYPE
|[[UnitTypeClass]]
|
|-
|-
|0x29||[[VoxelAnimClass]]
|41
|RTTI_VOXELANIM
|[[VoxelAnimClass]]
|
|-
|-
|0x2A||[[VoxelAnimTypeClass]]
|42
|RTTI_VOXELANIMTYPE
|[[VoxelAnimTypeClass]]
|
|-
|-
|0x2B||[[WaveClass]]
|43
|RTTI_WAVE
|[[WaveClass]]
|
|-
|-
|0x2C||[[TagClass]]
|44
|RTTI_TAG
|[[TagClass]]
|
|-
|-
|0x2D||[[TagTypeClass]]
|45
|RTTI_TAGTYPE
|[[TagTypeClass]]
|
|-
|-
|0x2E||[[TiberiumClass]]
|46
|RTTI_TIBERIUM
|[[TiberiumClass]]
|
|-
|-
|0x2F||[[TActionClass]]
|47
|RTTI_ACTION
|[[TActionClass]]
|
|-
|-
|0x30||[[TEventClass]]
|48
|RTTI_EVENT
|[[TEventClass]]
|
|-
|-
|0x31||[[WeaponTypeClass]]
|49
|RTTI_WEAPONTYPE
|[[WeaponTypeClass]]
|
|-
|-
|0x32||[[WarheadTypeClass]]
|50
|RTTI_WARHEADTYPE
|[[WarheadTypeClass]]
|
|-
|-
|0x33||[[WaypointClass]]
|51
|RTTI_WAYPOINT
|[[WaypointClass]]
|
|-
|-
|0x34||[[AbstractClass]]
|52
|RTTI_ABSTRACT
|[[AbstractClass]]
|
|-
|-
|0x35||[[TubeClass]]
|53
|RTTI_TUBE
|[[TubeClass]]
|
|-
|-
|0x36||[[LightSourceClass]]
|54
|RTTI_LIGHTSOURCE
|[[LightSourceClass]]
|
|-
|-
|0x37||[[EMPulseClass]]
|55
|RTTI_EMPULSE
|[[EMPulseClass]]
|
|-
|-
|0x38||[[TacticalClass]]
|56
|RTTI_TACTICALMAP
|[[TacticalClass]]
|
|-
|-
|0x39||[[SuperClass]]
|57
|RTTI_SUPERWEAPON
|[[SuperClass]]
|
|-
|-
|0x3A||[[AITriggerClass]]
|58
|RTTI_AITRIGGER
|[[AITriggerClass]]
|
|-
|-
|0x3B||[[AITriggerTypeClass]]
|59
|RTTI_AITRIGGERTYPE
|[[AITriggerTypeClass]]
|
|-
|-
|0x3C||[[NeuronClass]]
|60
|RTTI_NEURON
|[[NeuronClass]]
|
|-
|-
|0x3D||[[FoggedObjectClass]]
|61
|RTTI_FOGGEDOBJECT
|[[FoggedObjectClass]]
|
|-
|-
|0x3E||[[AlphaShapeClass]]
|62
|RTTI_ALPHASHAPE
|[[AlphaShapeClass]]
|
|-
|-
|0x3F||[[VeinholeMonsterClass]]
|63
|RTTI_VEINHOLEMONSTER
|[[VeinholeMonsterClass]]
|
|-
|-
|colspan="3"|'''RA2 only:'''
!colspan="4"|RA2 only:
|-
|-
|0x40||[[NavyType]]
|64
|RTTI_NAVYTYPE
|[[NavyType]]
|
|-
|-
|0x41||[[SpawnManagerClass]]
|65
|RTTI_SPAWNMANAGER
|[[SpawnManagerClass]]
|
|-
|-
|0x42||[[CaptureManagerClass]]
|66
|RTTI_CAPTUREMANAGER
|[[CaptureManagerClass]]
|
|-
|-
|0x43||[[ParasiteClass]]
|67
|RTTI_PARASITE
|[[ParasiteClass]]
|
|-
|-
|0x44||[[BombClass]]
|68
|RTTI_BOMB
|[[BombClass]]
|
|-
|-
|0x45||[[RadSiteClass]]
|69
|RTTI_RADSITE
|[[RadSiteClass]]
|
|-
|-
|0x46||[[TemporalClass]]
|70
|RTTI_TEMPORAL
|[[TemporalClass]]
|
|-
|-
|colspan="3"|'''YR only:'''
!colspan="4"|YR only:
|-
|-
|0x47||[[AirstrikeClass]]
|71
|RTTI_AIRSTRIKE
|[[AirstrikeClass]]
|
|-
|-
|0x48||[[SlaveManagerClass]]
|72
|RTTI_SLAVEMANAGER
|[[SlaveManagerClass]]
|
|-
|73
|RTTI_DISKLASER
|[[DiskLaser]]
|
|-
|-
|0x49||[[DiskLaser]]
|}
|}


[[Category:YR Executable Knowledge Database]]
[[Category:YR Executable Knowledge Database]]

Revision as of 12:28, 13 July 2022

An RTTIType is what identifies every "top-level" class (i.e. non-abstract classes) deriving from the AbstractClass uniquely.
In the game, it is often useful - for commonality's sake - to have a function or similar pass a FootClass, which is the base class of the [[UnitClass], the InfantryClass and the AircraftClass. This way, operations for moving units can be handled using one part of code.
However, sometimes one needs to know what exactly this FootClass is (one of the three possibilities named above). For this, you use the RTTIType.

RTTIType List

ID RTTIType Class Comment
TS, RA2 and YR:
0 RTTI_NONE is considered an error value
1 RTTI_UNIT UnitClass
2 RTTI_AIRCRAFT AircraftClass
3 RTTI_AIRCRAFTTYPE AircraftTypeClass
4 RTTI_ANIM AnimationClass
5 RTTI_ANIMTYPE AnimationTypeClass
6 RTTI_BUILDING Building
7 RTTI_BUILDINGTYPE BuildingType
8 RTTI_BULLET BulletClass
9 RTTI_BULLETTYPE BulletTypeClass
10 RTTI_CAMPAIGN CampaignClass
11 RTTI_CELL CellClass
12 RTTI_FACTORY FactoryClass
13 RTTI_HOUSE HouseClass
14 RTTI_HOUSETYPE HouseTypeClass
15 RTTI_INFANTRY InfantryClass
16 RTTI_INFANTRYTYPE InfantryTypeClass
17 RTTI_ISOTILE IsometricTileClass
18 RTTI_ISOTILETYPE IsometricTileTypeCla
19 RTTI_LIGHT BuildingLightClass
20 RTTI_OVERLAY OverlayClass
21 RTTI_OVERLAYTYPE OverlayTypeClass
22 RTTI_PARTICLE ParticleClass
23 RTTI_PARTICLETYPE ParticleTypeClass
24 RTTI_PARTICLESYSTEM ParticleSystemClass
25 RTTI_PARTICLESYSTEMTYPE ParticleSystemTypeCl
26 RTTI_SCRIPT ScriptClass
27 RTTI_SCRIPTTYPE ScriptTypeClass
28 RTTI_SIDE SideClass
29 RTTI_SMUDGE SmudgeClass
30 RTTI_SMUDGETYPE SmudgeTypeClass
31 RTTI_SPECIAL Special used for cameos (SW icons)
32 RTTI_SUPERWEAPONTYPE SuperWeaponTypeClass
33 RTTI_TASKFORCE TaskForceClass
34 RTTI_TEAM TeamClass
35 RTTI_TEAMTYPE TeamTypeClass
36 RTTI_TERRAIN TerrainClass
37 RTTI_TERRAINTYPE TerrainTypeClass
38 RTTI_TRIGGER TriggerClass
39 RTTI_TRIGGERTYPE TriggerTypeClass
40 RTTI_UNITTYPE UnitTypeClass
41 RTTI_VOXELANIM VoxelAnimClass
42 RTTI_VOXELANIMTYPE VoxelAnimTypeClass
43 RTTI_WAVE WaveClass
44 RTTI_TAG TagClass
45 RTTI_TAGTYPE TagTypeClass
46 RTTI_TIBERIUM TiberiumClass
47 RTTI_ACTION TActionClass
48 RTTI_EVENT TEventClass
49 RTTI_WEAPONTYPE WeaponTypeClass
50 RTTI_WARHEADTYPE WarheadTypeClass
51 RTTI_WAYPOINT WaypointClass
52 RTTI_ABSTRACT AbstractClass
53 RTTI_TUBE TubeClass
54 RTTI_LIGHTSOURCE LightSourceClass
55 RTTI_EMPULSE EMPulseClass
56 RTTI_TACTICALMAP TacticalClass
57 RTTI_SUPERWEAPON SuperClass
58 RTTI_AITRIGGER AITriggerClass
59 RTTI_AITRIGGERTYPE AITriggerTypeClass
60 RTTI_NEURON NeuronClass
61 RTTI_FOGGEDOBJECT FoggedObjectClass
62 RTTI_ALPHASHAPE AlphaShapeClass
63 RTTI_VEINHOLEMONSTER VeinholeMonsterClass
RA2 only:
64 RTTI_NAVYTYPE NavyType
65 RTTI_SPAWNMANAGER SpawnManagerClass
66 RTTI_CAPTUREMANAGER CaptureManagerClass
67 RTTI_PARASITE ParasiteClass
68 RTTI_BOMB BombClass
69 RTTI_RADSITE RadSiteClass
70 RTTI_TEMPORAL TemporalClass
YR only:
71 RTTI_AIRSTRIKE AirstrikeClass
72 RTTI_SLAVEMANAGER SlaveManagerClass
73 RTTI_DISKLASER DiskLaser