RTTIType: Difference between revisions
Appearance
en>Pd No edit summary |
m 5 revisions imported |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
An | An RTTIType ('''R'''un-'''T'''ime '''T'''ype '''I'''nformation) 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. | |||
{|cellpadding="4" class="table_descrow" | |||
==RTTIType List== | |||
{|cellpadding="4" class="wikitable table_descrow" | |||
!ID | !ID | ||
!RTTIType | |||
!Class | !Class | ||
!Comment | |||
|- | |||
!colspan="4"|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]] | |||
| | |||
|- | |- | ||
| | !colspan="4"|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]] | |||
| | |||
|- | |- | ||
| | !colspan="4"|YR only: | ||
|- | |- | ||
| | |71 | ||
|RTTI_AIRSTRIKE | |||
|[[AirstrikeClass]] | |||
| | |||
|- | |- | ||
| | |72 | ||
|RTTI_SLAVEMANAGER | |||
|[[SlaveManagerClass]] | |||
| | |||
|- | |- | ||
| | |73 | ||
|RTTI_DISKLASER | |||
|[[DiskLaser]] | |||
| | |||
|- | |- | ||
|} | |} | ||
[[Category:YR Executable Knowledge Database]] | [[Category:YR Executable Knowledge Database]] | ||
Latest revision as of 22:03, 31 March 2025
An RTTIType (Run-Time Type Information) 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 | |