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

Difference between revisions of "Factory"

From ModEnc
Jump to: navigation, search
(InfantryType)
 
(9 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==The "Factory" tag==
+
{{Flag
{{flag|name=Factory
+
|values={{Values|strings|hardcoded values (see article)}}
|files=rules(md).ini
+
|default={{tt|<none>}}
|values=special strings
+
|types={{Categ|BuildingTypes}}
|special=none
+
|ts=yes
|default=<tt>&lt;none&gt;</tt>
+
|fs=yes
|types=[[BuildingTypes]]
+
|ets=yes
|games=TS, FS, RA2, YR}}
+
|ra2=yes
This tag determines what type of object this BuildingType produces.<br>
+
|yr=yes
Although it accepts any string from the list below (Internal meaning), only five of them will actually work after going through a filtering routine, these being:
+
|rp=yes}}
*<tt>AircraftType</tt>
+
This tag determines what type of object a BuildingType produces.
*<tt>BuildingType</tt>
+
Although it accepts any string from the list{{Sup|[[{{PAGENAME}}#values|{{Arr|d}}]]}}, only four of them will actually work after going through a filtering routine:
*<tt>InfantryType</tt>
+
* <code>AircraftType</code>
*<tt>UnitType</tt> (for vehicles)
+
* <code>BuildingType</code>
 +
* <code>InfantryType</code>
 +
* <code>UnitType</code>
  
It is sometimes spoken of the strings <tt>VesselType</tt> as well as <tt>CloningType</tt>.<br>
+
== Allowed values ==
However, they neither work in TS/FS nor do they in RA2/YR.
+
 
 +
=== AircraftType ===
 +
This value indicates that this building can manufacture [[AircraftTypes]]. It is not required for this structure to double as an aircraft docking structure.
 +
 
 +
=== BuildingType ===
 +
This value indicates that this building can manufacture other [[BuildingTypes]].
 +
 
 +
=== InfantryType ===
 +
This value indicates that this building can manufacture [[InfantryTypes]]. {{f|ExitCoord|link}} is not obeyed, and actual exit coords are controlled by the {{f|GDIBarracks|link}}, {{f|NODBarracks|link}} and {{f|YuriBarracks|link}} flags.
 +
 
 +
=== UnitType ===
 +
This value indicates that this building can manufacture ground vehicles (with {{f|Naval|no|link}}) or naval ships (with {{f|Naval|yes|link}}). Mind that a ground vehicle factory ''without'' {{f|WeaponsFactory|yes|link}} will have certain side-effects.
 +
 
 +
Be aware that all vehicles associated with this factory ''MUST'' specifically list this factory in its {{f|Prerequisite|link}} list, or there is a possibility that you will be faced with the [[New Construction Options|NCO Bug]].
  
 
==Internal meaning==
 
==Internal meaning==
Internally, the "Factory" is used to determine what something is.<br>
+
{{HorizontalBar|This section is in need of '''[{{fullurl:{{FULLPAGENAME}}|action=edit}} revision]'''.}}
 +
Internally, the value of {{f|Factory}} is used to determine what something is.
 
If - for instance - a pointer to a TechnoType (by origin) is given over to a function, the function could get the TechnoType's "Factory" and determine whether it's a Building or an Infantry, Unit or Aircraft.<br>
 
If - for instance - a pointer to a TechnoType (by origin) is given over to a function, the function could get the TechnoType's "Factory" and determine whether it's a Building or an Infantry, Unit or Aircraft.<br>
This works using an ID number for every Factory.<br>
+
This works using an RTTI ID number for every Factory.
The available "factories" are the following:
+
 
ID number INI string Comment
+
Although <code>VesselType</code> as well as <code>CloningType</code> are sometimes mentioned in {{Rules}}, they are not valid values.
---------------------------------------------------------------------------------------------------
+
 
0x00 <none> //used for parent types such as the TechnoType or Foot
+
{|cellpadding="4" class="table_descrow" id="values"
0x01 Unit
+
|+'''Possible values for {{f|Factory}}'''
0x02 Aircraft
+
!ID number
0x03 AircraftType
+
!INI string
0x04 Animation
+
!Comment
0x05 AnimationType
+
|-
0x06 Building
+
|0x00
0x07 BuildingType
+
|<none>
0x08 Bullet
+
|used for parent types such as the TechnoType or Foot
0x09 BulletType
+
|-
0x0A Campaign
+
|0x01
0x0B Cell
+
|Unit
0x0C Factory
+
|
0x0D House
+
|-
0x0E HouseType
+
|0x02
0x0F Infantry
+
|Aircraft
0x10 InfantryType
+
|
0x11 IsometricTile
+
|-
0x12 IsometricTileType
+
|0x03
0x13 BuildingLight
+
|AircraftType
0x14 Overlay
+
|
0x15 OverlayType
+
|-
0x16 Particle
+
|0x04
0x17 ParticleType
+
|Animation
0x18 ParticleSystem
+
|
0x19 ParticleSystemType
+
|-
0x1A Script
+
|0x05
0x1B ScriptType
+
|AnimationType
0x1C Side
+
|
0x1D Smudge
+
|-
0x1E SmudgeType
+
|0x06
0x1F Special //used for cameos (SW icon types)
+
|Building
0x20 SuperWeaponType
+
|
0x21 TaskForce
+
|-
0x22 Team
+
|0x07
0x23 TeamType
+
|BuildingType
0x24 Terrain
+
|
0x25 TerrainType
+
|-
0x26 Trigger
+
|0x08
0x27 TriggerType
+
|Bullet
0x28 UnitType
+
|
0x29 VoxelAnim
+
|-
0x2A VoxelAnimType
+
|0x09
0x2B Wave
+
|BulletType
0x2C Tag
+
|
0x2D TagType
+
|-
0x2E Tiberium
+
|0x0A
0x2F TAction
+
|Campaign
0x30 TEvent
+
|
0x31 WeaponType
+
|-
0x32 WarheadType
+
|0x0B
0x33 Waypoint
+
|Cell
0x34 Abstract
+
|
0x35 Tube //unknown meaning
+
|-
0x36 LightSource
+
|0x0C
0x37 EMP
+
|Factory
0x38 Tactical //consider this the battlefield with all the objects on it
+
|
0x39 Super
+
|-
0x3A AITrigger
+
|0x0D
0x3B AITriggerType
+
|House
0x3C Neuron //unused?
+
|
0x3D FoggedObject //unknown meaning
+
|-
0x3E AlphaShape
+
|0x0E
0x3F VeinholeMonster
+
|HouseType
0x40 NavyType //unknown meaning
+
|
//RA2 only:
+
|-
0x41 SpawnManager
+
|0x0F
0x42 CaptureManager
+
|Infantry
0x43 Parasite
+
|
0x44 Bomb
+
|-
0x45 RadSite
+
|0x10
0x46 Temporal
+
|InfantryType
//YR only:
+
|
0x47 Airstrike
+
|-
0x48 SlaveManager
+
|0x11
0x49 DiskLaser
+
|IsometricTile
 +
|
 +
|-
 +
|0x12
 +
|IsometricTileType
 +
|
 +
|-
 +
|0x13
 +
|BuildingLight
 +
|
 +
|-
 +
|0x14
 +
|Overlay
 +
|
 +
|-
 +
|0x15
 +
|OverlayType
 +
|
 +
|-
 +
|0x16
 +
|Particle
 +
|
 +
|-
 +
|0x17
 +
|ParticleType
 +
|
 +
|-
 +
|0x18
 +
|ParticleSystem
 +
|
 +
|-
 +
|0x19
 +
|ParticleSystemType
 +
|
 +
|-
 +
|0x1A
 +
|Script
 +
|
 +
|-
 +
|0x1B
 +
|ScriptType
 +
|
 +
|-
 +
|0x1C
 +
|Side
 +
|
 +
|-
 +
|0x1D
 +
|Smudge
 +
|
 +
|-
 +
|0x1E
 +
|SmudgeType
 +
|
 +
|-
 +
|0x1F
 +
|Special
 +
|used for cameos (SW icon types)
 +
|-
 +
|0x20
 +
|SuperWeaponType
 +
|
 +
|-
 +
|0x21
 +
|TaskForce
 +
|
 +
|-
 +
|0x22
 +
|Team
 +
|
 +
|-
 +
|0x23
 +
|TeamType
 +
|
 +
|-
 +
|0x24
 +
|Terrain
 +
|
 +
|-
 +
|0x25
 +
|TerrainType
 +
|
 +
|-
 +
|0x26
 +
|Trigger
 +
|
 +
|-
 +
|0x27
 +
|TriggerType
 +
|
 +
|-
 +
|0x28
 +
|UnitType
 +
|
 +
|-
 +
|0x29
 +
|VoxelAnim
 +
|
 +
|-
 +
|0x2A
 +
|VoxelAnimType
 +
|
 +
|-
 +
|0x2B
 +
|Wave
 +
|
 +
|-
 +
|0x2C
 +
|Tag
 +
|
 +
|-
 +
|0x2D
 +
|TagType
 +
|
 +
|-
 +
|0x2E
 +
|Tiberium
 +
|
 +
|-
 +
|0x2F
 +
|TAction
 +
|
 +
|-
 +
|0x30
 +
|TEvent
 +
|
 +
|-
 +
|0x31
 +
|WeaponType
 +
|
 +
|-
 +
|0x32
 +
|WarheadType
 +
|
 +
|-
 +
|0x33
 +
|Waypoint
 +
|
 +
|-
 +
|0x34
 +
|Abstract
 +
|
 +
|-
 +
|0x35
 +
|Tube
 +
|Tunnels?
 +
|-
 +
|0x36
 +
|LightSource
 +
|
 +
|-
 +
|0x37
 +
|EMP
 +
|
 +
|-
 +
|0x38
 +
|Tactical
 +
|consider this the battlefield with all the objects on it
 +
|-
 +
|0x39
 +
|Super
 +
|
 +
|-
 +
|0x3A
 +
|AITrigger
 +
|
 +
|-
 +
|0x3B
 +
|AITriggerType
 +
|
 +
|-
 +
|0x3C
 +
|Neuron
 +
|unused?
 +
|-
 +
|0x3D
 +
|FoggedObject
 +
|unknown meaning
 +
|-
 +
|0x3E
 +
|AlphaShape
 +
|
 +
|-
 +
|0x3F
 +
|VeinholeMonster
 +
|
 +
|-
 +
|0x40
 +
|NavyType
 +
|unknown meaning
 +
|-
 +
|colspan="3"|'''RA2 only:'''
 +
|-
 +
|0x41
 +
|SpawnManager
 +
|
 +
|-
 +
|0x42
 +
|CaptureManager
 +
|
 +
|-
 +
|0x43
 +
|Parasite
 +
|
 +
|-
 +
|0x44
 +
|Bomb
 +
|
 +
|-
 +
|0x45
 +
|RadSite
 +
|
 +
|-
 +
|0x46
 +
|Temporal
 +
|
 +
|-
 +
|colspan="3"|'''YR only:'''
 +
|-
 +
|0x47
 +
|Airstrike
 +
|
 +
|-
 +
|0x48
 +
|SlaveManager
 +
|
 +
|-
 +
|0x49
 +
|DiskLaser
 +
|
 +
|}
 +
 
 +
 
 +
==See also==
 +
* [[AircraftTypes]]
 +
* [[BuildingTypes]]
 +
* [[InfantryTypes]]
 +
* [[VehicleTypes]]

Latest revision as of 11:36, 5 November 2012

Tiberian Dawn The Covert Operations Red Alert Counterstrike Aftermath Tiberian Sun Firestorm HyperPatch Red Alert 2 Yuri's Revenge Ares Generals Zero Hour Tiberium Wars Kane's Wrath
Flag: Factory
File(s): rules(md).ini
Values: Strings: Normal text. (Limited to: hardcoded values (see article))
Default: <none>
Applicable to: BuildingTypes


This tag determines what type of object a BuildingType produces. Although it accepts any string from the list, only four of them will actually work after going through a filtering routine:

  • AircraftType
  • BuildingType
  • InfantryType
  • UnitType

Allowed values

AircraftType

This value indicates that this building can manufacture AircraftTypes. It is not required for this structure to double as an aircraft docking structure.

BuildingType

This value indicates that this building can manufacture other BuildingTypes.

InfantryType

This value indicates that this building can manufacture InfantryTypes. ExitCoord is not obeyed, and actual exit coords are controlled by the GDIBarracks, NODBarracks and YuriBarracks flags.

UnitType

This value indicates that this building can manufacture ground vehicles (with Naval=no) or naval ships (with Naval=yes). Mind that a ground vehicle factory without WeaponsFactory=yes will have certain side-effects.

Be aware that all vehicles associated with this factory MUST specifically list this factory in its Prerequisite list, or there is a possibility that you will be faced with the NCO Bug.

Internal meaning

This section is in need of revision.

Internally, the value of Factory is used to determine what something is. If - for instance - a pointer to a TechnoType (by origin) is given over to a function, the function could get the TechnoType's "Factory" and determine whether it's a Building or an Infantry, Unit or Aircraft.
This works using an RTTI ID number for every Factory.

Although VesselType as well as CloningType are sometimes mentioned in Rules(md).ini, they are not valid values.

Possible values for Factory
ID number INI string Comment
0x00 <none> used for parent types such as the TechnoType or Foot
0x01 Unit
0x02 Aircraft
0x03 AircraftType
0x04 Animation
0x05 AnimationType
0x06 Building
0x07 BuildingType
0x08 Bullet
0x09 BulletType
0x0A Campaign
0x0B Cell
0x0C Factory
0x0D House
0x0E HouseType
0x0F Infantry
0x10 InfantryType
0x11 IsometricTile
0x12 IsometricTileType
0x13 BuildingLight
0x14 Overlay
0x15 OverlayType
0x16 Particle
0x17 ParticleType
0x18 ParticleSystem
0x19 ParticleSystemType
0x1A Script
0x1B ScriptType
0x1C Side
0x1D Smudge
0x1E SmudgeType
0x1F Special used for cameos (SW icon types)
0x20 SuperWeaponType
0x21 TaskForce
0x22 Team
0x23 TeamType
0x24 Terrain
0x25 TerrainType
0x26 Trigger
0x27 TriggerType
0x28 UnitType
0x29 VoxelAnim
0x2A VoxelAnimType
0x2B Wave
0x2C Tag
0x2D TagType
0x2E Tiberium
0x2F TAction
0x30 TEvent
0x31 WeaponType
0x32 WarheadType
0x33 Waypoint
0x34 Abstract
0x35 Tube Tunnels?
0x36 LightSource
0x37 EMP
0x38 Tactical consider this the battlefield with all the objects on it
0x39 Super
0x3A AITrigger
0x3B AITriggerType
0x3C Neuron unused?
0x3D FoggedObject unknown meaning
0x3E AlphaShape
0x3F VeinholeMonster
0x40 NavyType unknown meaning
RA2 only:
0x41 SpawnManager
0x42 CaptureManager
0x43 Parasite
0x44 Bomb
0x45 RadSite
0x46 Temporal
YR only:
0x47 Airstrike
0x48 SlaveManager
0x49 DiskLaser


See also