Jump to content

TerrainTypes: Difference between revisions

From ModEnc²
en>DCoder
No edit summary
 
Rain-Islet (talk | contribs)
m [bot] Batch update {{Bugs}} templates.
 
(12 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{DeeZireInclusion}}<br />
{{sectionheader
This section specifies the characteristics of the various terrain types. The primary purpose is to differentiate the movement capabilities of each object dependant upon their Locomotor= CLSID, and also determines if structures can be built on these terrain types. Every object defined within the [OverlayTypes] list must have a Land= statement in its entry which determines the effect that it has on the movement of units that pass over it and whether or not structures can be built (or deployable units deployed) on it. Each Land= type has its own section here defining its characteristics. These can also be used to limit the movement of some units with the MovementRestrictedTo= statement by specifying a land type from here. Red Alert 2 is hard coded to deal with the following land types. NOTE: 'water' is not a land type, although it is a valid MovementZone= and is one reason why ships do not share the normal vehicle Locomotor= CLSID.<br />
|ts=yes
<br />
|fs=yes
  [Clear] normal clear terrain<br />
|ra2=yes
  [Road] roads (both dirt and paved)<br />
|yr=yes
  [Rock] rocky terrain (including rocks themselves)<br />
}}
  [Beach] where water joins land<br />
 
  [Rough] rough terrain (debris for example)<br />
This section of [[Rules|rules(md).ini]] lists all terrain objects, typically trees, the game should be able to use. Terrain objects not listed here cannot be placed on a map by an editor, and if found on a map they will be ignored by the game.
  [Ice] ice covering water (although this may be disabled in Red Alert 2)<br />
 
  [Railroad] railroads. Residual from Tiberian Sun, although it is not known if this logic still works in Red Alert 2<br />
== Applicable INI Flags ==
  [Tunnel] tunnels under cliffs etc. The tunnel logic does work in Red Alert 2<br />
{{Applicable INI Flags}}
Each of the statements in the entry for each land type details a SpeedType= and the percentage adjustment to the speed of a unit moving over this land type that has that particular SpeedType= assigned. A land type that has 0% assigned to a particular SpeedType= will result in the player getting the 'no move' cursor when they try to move the unit with that SpeedType= onto it. Exceptions to this are the 'ship' and 'teleport' locomotor CLSID's which are hard coded differently. Note that all values here default to 100% which means there is no effect on that SpeedType= by this land type, so omitting an entry for a particular SpeedType= means that the land type will have no effect on it. Note also that some units make use of different SpeedTypes= from which their Locomotor= CLSID defaults to - see the AircraftTypes, VehicleTypes and InfantryTypes sections of this guide for more details.
{{:AbstractTypes}}
{{:ObjectTypes}}
<onlyinclude>
{{Applicable INI Flags Header|TerrainTypes}}
|-
| {{Ini|Rules}} || Object's ID || {{f|IsVeinhole|link}}  || boolean || 0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|WaterBound|link}}  || boolean || 0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|SpawnsTiberium|link}} || boolean || 0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|IsFlammable|link}} || boolean || 0 ||
|-
| {{Ini|Art}} || Object's Image || {{f|Foundation|link}} || Foundation || 0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|RadarColor|link}} || Color || {0;0;0} ||
|-
| {{Ini|Rules}} || Object's ID || {{f|IsAnimated|link}} || boolean || 0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|AnimationRate|link}} || int || 0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|AnimationProbability|link}} || float || 0.0 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|TemperateOccupationBits|link}}  || int || 7 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|SnowOccupationBits|link}}  || int || 7 ||
|-
| {{Ini|Rules}} || Object's ID || {{f|YDrawFudge|link}} || int || 0 ||
|}
</onlyinclude>
=={{bugs}}==
Due to the way art is used by the game, [[Voxel|Voxels]] which use UNITxxx.PAL palettes, as their lighting/shading is dependent on the [[VPL]], can't be used as <tt>TerrainTypes</tt>, which use the ISOxxx.PAL [[Theaters|Theater-specific]] palettes.
 
[[Category:Rules(md).ini Sections]]
<!-- [[Category:General Editing Information]] -->

Latest revision as of 17:57, 2 July 2025

Tiberian Dawn Red Alert Tiberian Sun Firestorm Red Alert 2 Yuri's Revenge
Section: [TerrainTypes]
File(s): rules(md).ini


This section of rules(md).ini lists all terrain objects, typically trees, the game should be able to use. Terrain objects not listed here cannot be placed on a map by an editor, and if found on a map they will be ignored by the game.

Applicable INI Flags

These tables show all INI flags applicable1 to TerrainTypes. The flags are grouped by the internal classes the flags are inherited from, and then listed in the order they are read in by the game. You can re-sort the rows by column values by clicking the arrow icons in the column headings. Each flag can be clicked to visit its page for detailed information.

Please note that this section is accurate only for Yuri's Revenge. All other C&C games use different sets of flags.

1 "Applicable" in this context means "read from the INI files". Certain flags listed here don't have any effect ingame , but they are read and in certain cases cause a crash if not present. Again, refer to each flag's individual page for detailed information.

AbstractTypes
INI File Section Key Value Type Default Value Adds to list
Rules(md).ini Object's ID Name string(48 symbols) ID
Rules(md).ini Object's ID UIName string(31 symbol) ""


ObjectTypes
INI File Section Key Value Type Default Value Adds to list
Rules(md).ini Object's ID Image string (31 symbol) Object's ID
Rules(md).ini Object's ID AlphaImage string (31 symbol) ""
Rules(md).ini Object's ID CrushSound Sound (128 symbols) ""
Rules(md).ini Object's ID AmbientSound Sound (128 symbols) ""
Rules(md).ini Object's ID Crushable boolean 0
Rules(md).ini Object's ID Bombable boolean 1
Rules(md).ini Object's ID NoSpawnAlt boolean 0
Rules(md).ini Object's ID AlternateArcticArt boolean 0
Rules(md).ini Object's ID RadarInvisible boolean 0
Rules(md).ini Object's ID Selectable boolean 1
Rules(md).ini Object's ID LegalTarget boolean 1
Rules(md).ini Object's ID Armor Armor 0
Rules(md).ini Object's ID Strength int 0
Rules(md).ini Object's ID Immune boolean 0
Rules(md).ini Object's ID Insignificant boolean 0
Rules(md).ini Object's ID HasRadialIndicator boolean 0
Rules(md).ini Object's ID RadialColor Color 0,0,0
Rules(md).ini Object's ID IgnoresFirestorm boolean 0
Art(md).ini Object's Image UseLineTrail boolean 0
Art(md).ini Object's Image LineTrailColor Color 0,0,0
Art(md).ini Object's Image LineTrailColorDecrement int 16
Art(md).ini Object's Image Theater boolean 0
Art(md).ini Object's Image NewTheater boolean 0
Art(md).ini Object's Image Voxel boolean 0


TerrainTypes
INI File Section Key Value Type Default Value Adds to list
Rules(md).ini Object's ID IsVeinhole boolean 0
Rules(md).ini Object's ID WaterBound boolean 0
Rules(md).ini Object's ID SpawnsTiberium boolean 0
Rules(md).ini Object's ID IsFlammable boolean 0
Art(md).ini Object's Image Foundation Foundation 0
Rules(md).ini Object's ID RadarColor Color {0;0;0}
Rules(md).ini Object's ID IsAnimated boolean 0
Rules(md).ini Object's ID AnimationRate int 0
Rules(md).ini Object's ID AnimationProbability float 0.0
Rules(md).ini Object's ID TemperateOccupationBits int 7
Rules(md).ini Object's ID SnowOccupationBits int 7
Rules(md).ini Object's ID YDrawFudge int 0

Bugs/Side-Effects/Unexpected Limitations

Due to the way art is used by the game, Voxels which use UNITxxx.PAL palettes, as their lighting/shading is dependent on the VPL, can't be used as TerrainTypes, which use the ISOxxx.PAL Theater-specific palettes.