<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://modenc2.markjfox.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Askhati</id>
	<title>ModEnc² - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://modenc2.markjfox.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Askhati"/>
	<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/Special:Contributions/Askhati"/>
	<updated>2026-04-18T17:10:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28900</id>
		<title>Internal Error</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28900"/>
		<updated>2025-12-08T12:21:20Z</updated>

		<summary type="html">&lt;p&gt;Askhati: /* Tiberian Sun 2.03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Ts_ie.png|thumb|150px|right|Tiberian Sun&#039;s Internal Error]]&lt;br /&gt;
[[Image:Ra2_ie.png|thumb|150px|right|Red Alert 2&#039;s Internal Error]]&lt;br /&gt;
[[Image:Yr_ie.png|thumb|150px|right|Yuri Revenge&#039;s Internal Error]]&lt;br /&gt;
[[Image:Rp_ie.png|thumb|150px|right|RockPatch&#039;s Internal Error]]&lt;br /&gt;
The &#039;&#039;&#039;Internal Error&#039;&#039;&#039; (often just written short-hand as &#039;&#039;&#039;IE&#039;&#039;&#039;) is a general error returned by the [[Tiberian Sun]] [[engine]] and its derivates. The message itself gives no information about what the error actually was or what went wrong, thus leaving it to the modder to know what could have caused the error and to find the cause in their mod&#039;s changes.&lt;br /&gt;
&lt;br /&gt;
If you experience an Internal Error, you should:&lt;br /&gt;
# Check if the EIP reported in your except.txt file matches an EIP for which the IE cause is known (see below).&lt;br /&gt;
# Think about whether a distinctive event immediately preceeded the error (e.g. a unit being built, a weapon being fired, etc.). If this was the case then take a look at the changes you applied to that unit/weapon/whatever and see if there are any mistakes.&amp;lt;br&amp;gt;&lt;br /&gt;
# Carefully check your latest modifications, with the help of a diff between the current rules set and the previous, working rules if possible (for this reason, and in case you mess up your code beyond repair, you should always keep recent backups of working code).&lt;br /&gt;
Remember that the more code you add at the same time, the more likely it is to introduce multiple bugs and IE causes (and just because you found one mistake in your code, that doesn&#039;t mean there can&#039;t be another).&lt;br /&gt;
&lt;br /&gt;
==Except.txt==&lt;br /&gt;
If your game crashes because of an Internal Error, a file named except.txt is generated in your game folder. This file is a dump of certain runtime-data from the game at the moment the error occurred and could potentially tell you exactly what went wrong &#039;&#039;if&#039;&#039; you knew the engine code. &amp;lt;br&amp;gt;&lt;br /&gt;
Due to his research into the game&#039;s binary and his efforts to develop the RockPatch, pd has occasionally been able to indicate the area of the engine where the error occurred (for example, an error occurring in the voxel-loading routines may indicate a problem with a custom voxel).&lt;br /&gt;
However, pd has other commitments and should not be treated as the go-to guy for any IEs you may have. Further more, pd may not neccessarily be able to help - without the source code or a comprehensive understanding of the game&#039;s binary the file is of little use. (cp. [[SYNCx.txt]])&lt;br /&gt;
&lt;br /&gt;
According to an early version of [[Except.txt]] (which now redirects here), this file includes the full structure and a stack dump of a [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/context_str.asp CONTEXT] element.&lt;br /&gt;
&lt;br /&gt;
IEs that share the same cause also share the same &amp;lt;tt&amp;gt;EIP:&amp;lt;/tt&amp;gt; value in except.txt, so knowing that value might help you determine the cause of your IE (see the list of known IE causes (below) which also includes the corresponding EIP). However, it should be noted that some shared IE causes in INI code can yield one of several different EIP values (depending on the circumstance), and that some rare IE causes can actually yield totally random EIP values. As such, if you do have an unexplained IE, you should check all of the known causes.&lt;br /&gt;
&lt;br /&gt;
== Known causes of Internal Errors and their EIPs ==&lt;br /&gt;
Since &amp;quot;Internal Error&amp;quot; is the game&#039;s response to almost any fatal error, its causes are diverse. Most common are causes related to weapons and warheads, with a missing warhead probably being the most commonly reported cause.&amp;lt;br&amp;gt;Note that some IE causes may be prevented (or at least have certain limits extended (e.g. CellSpread)) by the [[RockPatch]], which in turn has opened up potential for new IE causes ([[RockPatch]]-specific IEs are not listed here).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Some useful tips ===&lt;br /&gt;
If an integer between {{Tt|0x00812000}} and {{Tt|0x00B78300}} appears in the stack, subtract {{Tt|0x00400000}} from it and look at the resulting address in {{Tt|gamemd.exe}} with a hex editor. If you find some INI flag, you can be almost sure this flag was the one being read when the problem happened and as such its values (or absence thereof) is the problem.&lt;br /&gt;
&amp;lt;!-- Someone consider writing a tool to process this --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specific game versions ===&lt;br /&gt;
&lt;br /&gt;
==== Yuri&#039;s Revenge 1.001 ====&lt;br /&gt;
&lt;br /&gt;
{{:Internal_Error/YR}}&lt;br /&gt;
&lt;br /&gt;
==== Tiberian Sun 2.03 ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00415698|eip}} &lt;br /&gt;
| You used a [[TrailerAnim]] on an animation but forgot to set a [[TrailerSeperation]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0042A061|eip}} &lt;br /&gt;
| Wall=yes on a normal building.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0043541C|eip}} &lt;br /&gt;
| Building turret animation has an invalid pointer to an [[AnimTypeClass]] when charging up. See Nod Obelisk of Light for example.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00435BED|eip}} &lt;br /&gt;
| Building uses `SiloDamage=yes` to fill with tiberium, but a matching [[SpecialAnim]] has not been defined on the building&#039;s art.ini entry.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00446E61|eip}}&amp;lt;br /&amp;gt;{{Anchor|00446F68|eip}}&lt;br /&gt;
| Airburst weapon bullet was null. If you have {{f|Airburst|yes|link}} or {{f|Splits|yes|link}} on a [[projectile]], you must also define {{f|AirburstWeapon|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00451C16|eip}}&lt;br /&gt;
| {{f|CellAnim|link}} has invalid {{f|Image|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0046C7E2|eip}} &lt;br /&gt;
| Fog of War was enabled and crashed the game.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAEF8|eip}} &lt;br /&gt;
| [AI] BuildRefinery= -&amp;gt; one of your factions is missing an entry here, which will cause a crash when the AI tries to use this faction. Will not trigger a crash for human players.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAF12|eip}} &lt;br /&gt;
| [General] HarvesterUnit -&amp;gt; one of the objects in this list is incorrect OR this list has exceeded 127 characters. Commonly triggered when adding new MCV and harvester object codes here when expanding the playable faction list in the TSC 6.00+ builds.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C1680|eip}}&lt;br /&gt;
| A house has no buildable {{f|HarvesterUnit|link}}. This crash is typically caused by a [[house]] with an incorrect {{f|ActsLike|link}} setting in a [[map]] when using [https://github.com/CnCNet/ts-patches/blob/9a6440cc921c0941da19e2b1691c45f8d701109d/src/buildconst_harvesterunit_baseunit.asm this patch]. In this case, {{f|ActsLike}} must always point to a house that owns at least one unit listed in {{f|HarvesterUnit}}. Also, make sure all houses listed in the map&#039;s {{tt|[Houses]}} list have a valid section. e.g. {{tt|[GDI]}}, defined in the map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C445E|eip}} &lt;br /&gt;
| A unit&#039;s Secondary weapon doesn&#039;t exist. Check the spelling and cases.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C6428|eip}} &lt;br /&gt;
| AI does not have any buildings available for it to build. Check {{f|BuildConst|link}}=, {{f|BuildPower|link}}= etc.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004CB997|eip}}&lt;br /&gt;
| [[TeamTypes|Team]]&#039;s owner house is invalid. Check if there&#039;s a map trigger creating a team whose {{f|House|link}} is invalid or undefined (the house must be one of the houses listed in the map).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D2451|eip}}&lt;br /&gt;
| An infantry was about to take damage from a source with no valid [[Warhead]]= set.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D6626|eip}}&amp;lt;br/&amp;gt;{{Anchor|004D8BF3|eip}}&lt;br /&gt;
| Infantry with missing image in rules.ini (same as missing sequence in art.ini).&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F886D|eip}}&lt;br /&gt;
| Trying to access colors in header while building radar image; related to the Radar High/Low Colors for terrain tiles.&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F8EDD|eip}}&lt;br /&gt;
|The number of [[VehicleTypes]] in the [[BaseUnit]] section is incomplete.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A4814|eip}} &lt;br /&gt;
| Railgun with wrong particle keys.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A59B4|eip}}&lt;br /&gt;
| {{tt|[GasCloudSys]}} with a limited {{f|Lifetime|link}}. This system has hardcoded properties and must exist throughout the game, ergo you must set {{f|Lifetime|-1}} or leave it undefined (it defaults to -1).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5A83|eip}}&lt;br /&gt;
| Invalid {{f|Image|link}} on an [[animation]] attempting to [[SpawnsParticle|spawn particles]] ([[Vinifera]] only). The image must be an existing [[shape]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5EB6|eip}} &lt;br /&gt;
| {{f|ParticleCap|1|link}} on a {{f|BehavesLike|Spark|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A640F|eip}}&lt;br /&gt;
| {{f|NextParticle|link}} defined on a particle spawned by a {{f|BehavesLike|Smoke|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006233EC|eip}} &lt;br /&gt;
| TeamClass::Calc_Center was not able to calculate Team Zone(Unit to center team around) and returned a null pointer to Zone; subsequent attempt to access Zone results in crash.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0062E6F6|eip}} &lt;br /&gt;
| It was attempted to use a normal colored house on a multiplayer map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006428C6|eip}} &lt;br /&gt;
| [[Trigger]] event had an invalid [[House]] parameter.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00649563|eip}} &lt;br /&gt;
| A [[trigger]] failed to spring. Look for a trigger with invalid parameters, for example a misspelled or undefined [[house]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006703D4|eip}} &lt;br /&gt;
| WaveClass Sonic exception, normally triggered by a unit with a weapon that has IsSonic=yes set, firing to the south of the screen and the user scrolling up. No certain fix for this as we know, although [http://ppmsite.com/forum/viewtopic.php?t=31604 HyperPatch] has been confirmed to fix it at least on some systems. Another fix is disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll], although the fix doesn&#039;t work on Windows OS&#039;s newer than XP.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| WaveClass Sonic exception. Not sure if this is code related, could be end user.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006717CB|eip}} &lt;br /&gt;
| WaveClass laser exception. This can be fixed by setting DetailLevel= to 1 or 0 in SUN.ini. In addition, disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll] fixes it, but this fix only works on Windows operating systems older than Vista.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| | You have set {{sl|AudioVisual|ShakeScreen}} to zero.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00681363|eip}} &lt;br /&gt;
| Missing weedguy hack. (second stage Cluster weapons need to be assigned to a unit, to work)&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006A877A|eip}} &lt;br /&gt;
| LightSize&amp;gt;94 was set on a particlesystem.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006B6AE6|eip}} &lt;br /&gt;
| Multiple reasons, depending on the stack dump in the except:&lt;br /&gt;
* If {{Tt|0066F44F}} appears near the top of the stack dump - A [[Warhead]] whose {{f|Verses|link}} could not be processed. {{Tt|EBP}} value says how many values remained to be parsed when an error occurred - (5 - {{Tt|EBP}}) is the 0-based index of the problematic value.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006BB69C|eip}} &lt;br /&gt;
| conyard construction as building was canceled in the sidebar.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|90900004|eip}} &lt;br /&gt;
| Generic exception.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unverified / lacking information ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00494BCD|eip}} &lt;br /&gt;
| (Ares 3.0) A corrupted SHP image was drawn. Check mix files for any .shp files marked by XCC Mixer as &#039;unknown&#039; under &amp;quot;type&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|1118A7A5|eip}} &lt;br /&gt;
| Probably caused by trying to destroy a tag, but supplying the tag and not a trigger (FA2 offers Triggers, but I hand-typed a tag (among other things). Occams razor suggests this is the culprit.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|655B4A9C|eip}} &lt;br /&gt;
|(Ares 0.E) Setting a [ParticlePart] with 2 BehavesLike= simutaneously (for example , &#039;both Like=railgun&#039; and &#039;Like=smoke&#039; exist) may cause an EIP as above . Remove BehavesLike=railgun , and keep Like=smoke here in a [RailgunPart] to avoid this EIP and still gets a railgun with specific SHP-animation rail.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Two BehavesLike in Ares 0.D is still available , but 0.E not .)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Removing a building from the PrerequisitePower= list, while it exists in one of the (GDI/NODRegular/Third)PowerPlant= lists will cause an IE the moment any of your Power buildings get destroyed or sold as long as you own a Construction Yard. YR mods that remove Yuri&#039;s side from the game, should not remove YAPOWR from PrerequisitePower=.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Could not be reproduced thus far.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Calling for an animation that is not listed under {{tt|[[Animations|[Animations]]]}} might trigger an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(That can be caused by multiple issues at various EIPs.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Building a unit in-game whose VXL/SHP was inserted in an original game MIX instead of an expansion MIX.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Does this really happen? Sounds more like the mix editor crapping up than simply &amp;quot;game should blow up because you changed stock files&amp;quot;.)&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;Further more, why would anyone eschew the normal method of &#039;&#039;expand&#039;&#039;ing the game&#039;&#039;. I don&#039;t see anyone testing/replicating this so I propose removing it from the list. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006F3481|eip}}&lt;br /&gt;
| The (elite) secondary weapon (or its warhead) of the object you just selected could not be found (see [[#Broken-reference_Causes|broken-reference causes]], below).&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Marshall retested this and found that the EIP for a missing secondary weapon is actually 006F352E (see above). Not sure what is meant by &amp;quot;you just selected&amp;quot; as the IE will occur the instant the unit is created/promoted. Please can someone else confim that EIP 006F3481 is incorrect and remove this entry if so. Although, it begs the question of where this EIP came from? - it was added by DCoder on 2008-03-04 (id 14195))&#039;&#039;&lt;br /&gt;
:I&#039;m sorry, I made a mistake analyzing that one. I saw it at [http://www.cannis.net/forum/index.php?s=&amp;amp;showtopic=8560&amp;amp;view=findpost&amp;amp;p=170096 C-GEN] and analyzed it. But in fact it was caused by the &#039;&#039;ElitePrimary&#039;&#039; being wrong, not EliteSecondary. (Though 006F352E in your comment has &amp;quot;ElitePrimary&amp;quot; as the cause as well, I assume you meant 004D5108.) Just cause a certain EIP causes an IE, doesn&#039;t mean another EIP cannot cause an IE for the same reason - there are quite a lot of code paths in the game, and under certain circumstances the first EIP doesn&#039;t get hit. &amp;lt;br&amp;gt;I just reanalyzed the function which both these EIPs fall under, and I can say this: 006F3481 IEs if (Elite)Secondary is broken, 006F352E - if (Elite)Primary is. The function is responsible for selecting which weapon a unit should use against a certain target in idle mode, the EIP you reported above for (Elite)Secondary (004D5108) is correct, but is only hit if the unit is in Guard mode scanning for targets when promotion happens. [maybe this part should go off to a talk page?] &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
&#039;&#039;(Just tested this a bit more and got several new EIPs for when the unit was promoted (added in this revision), can&#039;t seem to get any consistent results - will need to test this further. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Setting {{f|CarryOverCap|0|link}}. Default value is -1, positive values do not cause an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;I have tested this and couldn&#039;t get an IE to occur. Are there any specific circumstances that are required to trigger an IE on a map with CarryOverCap=0? Note that, in FA2YR, CarryOverCap defaults to zero so I would expect this IE to have been seen more often if it was really a problem. //Marshall&#039;&#039; &lt;br /&gt;
: This setting applies when you progress from one campaign map to another. However, I now see that the default campaigns use 0, so there must be something else amiss. A quick investigation shows that this value is not divided by, so there shouldn&#039;t be an exception at all... Will contact Apollo who submitted this as the cause. &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Warheads that are not listed under {{tt|[[Warheads|[Warheads]]]}} have been reported to cause an IE, although the exact details are not established. It is not neccessary for every warhead to be listed (for example, removing the Grand Cannon warhead from the list appears to have no effect on the game), however there is no reason not to list every warhead. &#039;&#039;&#039;Validity questionable - if someone can replicate this then please provide an except.txt.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;Simply thinking about this, putting warheads on the list should guarantee their position in the internal array, so if there is anywhere that references warheads by internal array position then this is important. However, even if you change an existing weapon&#039;s warhead to a non-parsed one in a game mode file, you &#039;&#039;still&#039;&#039; won&#039;t get an IE because default warhead values will be used. Because of this, I&#039;m starting to wonder if the reports of un-listed warheads causing an IE are erroneous. If someone can replicate this then please provide an except.txt //Marshall&#039;&#039;&lt;br /&gt;
: Verified under a debugger - if a weapon exists and links to a warhead that does not, this will not cause an IE, warhead stats will simply remain defaulted. (In other cases, warheads should also remain defaulted but functional. I have not verified every warhead loading location now, but my applicable ini flags tables should indicate whether or not uninited objects cause issues.) &#039;&#039;//[[User:DCoder|DCoder]] 12:44, 11 May 2008 (UTC)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| If a falling paratrooper (who has nearly reached the ground) is killed by an area-effect mutation weapon. Point based mutations seem to be okay (the falling paratrooper explodes) and the [[Super weapon:Genetic Mutator|Genetic Mutator]] seems incapable of killing falling paratroopers. If you have an area-effect mutation weapon, you should ensure that all paratroopers are immune to it (this also means that you can&#039;t have a buildable paradrop plane and an area-effect mutation weapon in the same mod).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00000000|eip}}&lt;br /&gt;
| Placing two buildings on a map in the map editor so that they overlap, and then destroying or garrisoning one of them in-game. Note that this error is intermittent so may not immediately be noticeable. Use [[FinalAlert]]&#039;s {{tt|Options}} {{arr|r}} {{tt|Show Building Outline}} feature to see the actual areas taken up by buildings, since there are some buildings whose foundation is different from their visual size, and make sure you don&#039;t have any buildings that overlap.&lt;br /&gt;
Given the unusual EIP value (all zeroes) that has been gathered from testing, it may be a corrupt EIP and not a true indication of the source of the error. Note that this EIP has also been gathered from other &#039;random-EIP&#039; causes.&lt;br /&gt;
:Indeed it is not a true indication, EIP 00000000 can be acquired in several ways. If you can provide an except, I will be able to provide more specific details to look for, like in the case of 0045EC90 . &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004A2684|eip}}&lt;br /&gt;
| Starting a game on any map concludes in a &amp;quot;unable to read scenario&amp;quot; error while loading. The cause of this is an empty uimd.ini file or possibly another empty ini file without any content.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|007564BD|eip}}&lt;br /&gt;
| Internal error when starting a game, possibly caused by attempting to load graphics from a corrupt mix file.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|404E0000|eip}} &lt;br /&gt;
| Selectable=no on spawned [[AircraftTypes]].&lt;br /&gt;
&#039;&#039;// [[User:Bbglas007|Bbglas007]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error also occurs if there are overlapping structures and/or overlapping rubble on the map and units try to pathfind over them or one of the buildings is destroyed. Keep in mind that an existing building with Image=none (like for example a nuclear silo) still remains its Bib as it is read from art.ini. So if you give a [NUKE] Image=none it still remains its 3x3 Bib, which counts as an overlapping building. In general don&#039;t have overlapping buildings on your map.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039; and ~ [[User:RAZER|RAZER]]&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006E2449|eip}} &lt;br /&gt;
| This error occurs when you fire a trigger action 42 (Do explosion at...) at an undefined waypoint.&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Broken-reference Causes===&lt;br /&gt;
*Most of the flags that point to an object type do not verify that the object type exists and will try to invoke it anyway. This includes pointers to weapons, projectiles, warheads, particles, particle systems and infantry/unit/aircraft/building types, among other things.&lt;br /&gt;
*All object types must be parsed in order for them to be invoked successfully. For example, a weapon must be parsed by being referenced by a unit in the main rules (weapons used in a game mode that aren&#039;t referenced in the main rules will not have been parsed, nor will shrapnel weapons that haven&#039;t been referenced by a dummy unit).&lt;br /&gt;
*Note that all weapons have to specify a {{f|Warhead|link}} tag and the tag must not be blank otherwise an IE will occur. However if the specified {{f|Warhead|link}} does not exist then that will not cause an IE, as the game will use default warhead settings.&lt;br /&gt;
*Your object type may not be &#039;missing&#039; as such, you may just have mis-spelled its ID (e.g. &amp;quot;MagenticBeam&amp;quot; as opposed to &amp;quot;MagneticBeam&amp;quot;). Always check your typing carefully to make sure you don&#039;t &amp;lt;!-- irony intended --&amp;gt; any words out.&lt;br /&gt;
&lt;br /&gt;
===Tank Bunker / Sell Unit IEs===&lt;br /&gt;
*There are two IEs that can occur after using a &#039;Sell Unit&#039; superweapon on a tank-bunkered unit. Both of these IEs can yield seemingly random EIP values (due to the fact that, when the unit is sold, the building&#039;s &amp;quot;BunkeredUnit&amp;quot; pointer isn&#039;t cleared and so points to garbage memory. Attempts to dereference it will be met with varying levels of failure).&lt;br /&gt;
*An IE may occur the instant you sell the unit.&lt;br /&gt;
*If an IE does not occur the instant you sell the unit, then the Tank Bunker will have been rendered unusable as the walls are still up. If the &#039;broken&#039; Tank Bunker is sold or destroyed then an IE will occur (this IE &#039;&#039;does&#039;&#039; always happen). This IE frequently yields EIP 004593BB, although has been known to yield seemingly random EIP values (for the reason stated above).&lt;br /&gt;
*The only way to prevent these IEs is to make sure a player never has access to both the Sell Unit superweapon and the Tank Bunker at the same time. &amp;lt;small&amp;gt;(To achieve this, the building that provides the superweapon must be uncapturable and immune to mind-control as must the Tank Bunker. Further more, unless both buildings are country specials, you will need to remove MCVs from crates and make Construction Yards uncapturable and immune to mind-control too.)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software used to find Internal Errors==&lt;br /&gt;
*[http://dc.strategy-x.com/checker INI Checker] (can check your rules, art and sound files for syntactic errors like typos and missing references)&lt;br /&gt;
*[[ExceptChecker]] (primarily for RockPatch-related IEs, it analyzes except.txt, tries to find references to code added by the patch or known routines, and &#039;&#039;might&#039;&#039; then be able give a direction)&lt;br /&gt;
*[[Debugger]] (if you know assembler)&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
*After observing [[IE]] for several times, I found that &#039;&#039;&#039; &amp;quot;EIP &amp;quot; &#039;&#039;&#039; that occurs are expressed in categories such as unit errors, image errors, sound errors, configuration + settings errors, etc.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Reconnection Error]]&lt;br /&gt;
*[http://forums.renegadeprojects.com/showthread.php?pid=2034#pid2034 Confirmation the Infantry Linking IE also applies to modifications done by maps]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bugs_and_Errors]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=SiloDamage&amp;diff=28899</id>
		<title>SiloDamage</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=SiloDamage&amp;diff=28899"/>
		<updated>2025-12-08T12:18:21Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Add note about requiring SpecialAnim&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name={{PAGENAME}}&lt;br /&gt;
|files={{Categ|Art(md).ini}}&lt;br /&gt;
|values={{Values|bool}}&lt;br /&gt;
|default=no&lt;br /&gt;
|types=[[BuildingTypes]]&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|hp=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
|ares=yes&lt;br /&gt;
}}&lt;br /&gt;
Specifies whether or not this building&#039;s image should be based on its current [[Storage|Tiberium storage level]]. This enables the building to use {{f|SpecialAnim|link}} for the storage fill animation.&lt;br /&gt;
&lt;br /&gt;
==Note:==&lt;br /&gt;
If you define this on an art.ini entry, you must also define a matching [[SpecialAnim]]; if not, the game will crash the moment the silo structure tries to fill up with tiberium.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[SpecialAnim]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28898</id>
		<title>Internal Error</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28898"/>
		<updated>2025-11-01T20:56:13Z</updated>

		<summary type="html">&lt;p&gt;Askhati: /* Tiberian Sun 2.03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Ts_ie.png|thumb|150px|right|Tiberian Sun&#039;s Internal Error]]&lt;br /&gt;
[[Image:Ra2_ie.png|thumb|150px|right|Red Alert 2&#039;s Internal Error]]&lt;br /&gt;
[[Image:Yr_ie.png|thumb|150px|right|Yuri Revenge&#039;s Internal Error]]&lt;br /&gt;
[[Image:Rp_ie.png|thumb|150px|right|RockPatch&#039;s Internal Error]]&lt;br /&gt;
The &#039;&#039;&#039;Internal Error&#039;&#039;&#039; (often just written short-hand as &#039;&#039;&#039;IE&#039;&#039;&#039;) is a general error returned by the [[Tiberian Sun]] [[engine]] and its derivates. The message itself gives no information about what the error actually was or what went wrong, thus leaving it to the modder to know what could have caused the error and to find the cause in their mod&#039;s changes.&lt;br /&gt;
&lt;br /&gt;
If you experience an Internal Error, you should:&lt;br /&gt;
# Check if the EIP reported in your except.txt file matches an EIP for which the IE cause is known (see below).&lt;br /&gt;
# Think about whether a distinctive event immediately preceeded the error (e.g. a unit being built, a weapon being fired, etc.). If this was the case then take a look at the changes you applied to that unit/weapon/whatever and see if there are any mistakes.&amp;lt;br&amp;gt;&lt;br /&gt;
# Carefully check your latest modifications, with the help of a diff between the current rules set and the previous, working rules if possible (for this reason, and in case you mess up your code beyond repair, you should always keep recent backups of working code).&lt;br /&gt;
Remember that the more code you add at the same time, the more likely it is to introduce multiple bugs and IE causes (and just because you found one mistake in your code, that doesn&#039;t mean there can&#039;t be another).&lt;br /&gt;
&lt;br /&gt;
==Except.txt==&lt;br /&gt;
If your game crashes because of an Internal Error, a file named except.txt is generated in your game folder. This file is a dump of certain runtime-data from the game at the moment the error occurred and could potentially tell you exactly what went wrong &#039;&#039;if&#039;&#039; you knew the engine code. &amp;lt;br&amp;gt;&lt;br /&gt;
Due to his research into the game&#039;s binary and his efforts to develop the RockPatch, pd has occasionally been able to indicate the area of the engine where the error occurred (for example, an error occurring in the voxel-loading routines may indicate a problem with a custom voxel).&lt;br /&gt;
However, pd has other commitments and should not be treated as the go-to guy for any IEs you may have. Further more, pd may not neccessarily be able to help - without the source code or a comprehensive understanding of the game&#039;s binary the file is of little use. (cp. [[SYNCx.txt]])&lt;br /&gt;
&lt;br /&gt;
According to an early version of [[Except.txt]] (which now redirects here), this file includes the full structure and a stack dump of a [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/context_str.asp CONTEXT] element.&lt;br /&gt;
&lt;br /&gt;
IEs that share the same cause also share the same &amp;lt;tt&amp;gt;EIP:&amp;lt;/tt&amp;gt; value in except.txt, so knowing that value might help you determine the cause of your IE (see the list of known IE causes (below) which also includes the corresponding EIP). However, it should be noted that some shared IE causes in INI code can yield one of several different EIP values (depending on the circumstance), and that some rare IE causes can actually yield totally random EIP values. As such, if you do have an unexplained IE, you should check all of the known causes.&lt;br /&gt;
&lt;br /&gt;
== Known causes of Internal Errors and their EIPs ==&lt;br /&gt;
Since &amp;quot;Internal Error&amp;quot; is the game&#039;s response to almost any fatal error, its causes are diverse. Most common are causes related to weapons and warheads, with a missing warhead probably being the most commonly reported cause.&amp;lt;br&amp;gt;Note that some IE causes may be prevented (or at least have certain limits extended (e.g. CellSpread)) by the [[RockPatch]], which in turn has opened up potential for new IE causes ([[RockPatch]]-specific IEs are not listed here).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Some useful tips ===&lt;br /&gt;
If an integer between {{Tt|0x00812000}} and {{Tt|0x00B78300}} appears in the stack, subtract {{Tt|0x00400000}} from it and look at the resulting address in {{Tt|gamemd.exe}} with a hex editor. If you find some INI flag, you can be almost sure this flag was the one being read when the problem happened and as such its values (or absence thereof) is the problem.&lt;br /&gt;
&amp;lt;!-- Someone consider writing a tool to process this --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specific game versions ===&lt;br /&gt;
&lt;br /&gt;
==== Yuri&#039;s Revenge 1.001 ====&lt;br /&gt;
&lt;br /&gt;
{{:Internal_Error/YR}}&lt;br /&gt;
&lt;br /&gt;
==== Tiberian Sun 2.03 ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00415698|eip}} &lt;br /&gt;
| You used a [[TrailerAnim]] on an animation but forgot to set a [[TrailerSeperation]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0042A061|eip}} &lt;br /&gt;
| Wall=yes on a normal building.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0043541C|eip}} &lt;br /&gt;
| Building turret animation has an invalid pointer to an [[AnimTypeClass]] when charging up. See Nod Obelisk of Light for example.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00446E61|eip}}&amp;lt;br /&amp;gt;{{Anchor|00446F68|eip}}&lt;br /&gt;
| Airburst weapon bullet was null. If you have {{f|Airburst|yes|link}} or {{f|Splits|yes|link}} on a [[projectile]], you must also define {{f|AirburstWeapon|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00451C16|eip}}&lt;br /&gt;
| {{f|CellAnim|link}} has invalid {{f|Image|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0046C7E2|eip}} &lt;br /&gt;
| Fog of War was enabled and crashed the game.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAEF8|eip}} &lt;br /&gt;
| [AI] BuildRefinery= -&amp;gt; one of your factions is missing an entry here, which will cause a crash when the AI tries to use this faction. Will not trigger a crash for human players.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAF12|eip}} &lt;br /&gt;
| [General] HarvesterUnit -&amp;gt; one of the objects in this list is incorrect OR this list has exceeded 127 characters. Commonly triggered when adding new MCV and harvester object codes here when expanding the playable faction list in the TSC 6.00+ builds.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C1680|eip}}&lt;br /&gt;
| A house has no buildable {{f|HarvesterUnit|link}}. This crash is typically caused by a [[house]] with an incorrect {{f|ActsLike|link}} setting in a [[map]] when using [https://github.com/CnCNet/ts-patches/blob/9a6440cc921c0941da19e2b1691c45f8d701109d/src/buildconst_harvesterunit_baseunit.asm this patch]. In this case, {{f|ActsLike}} must always point to a house that owns at least one unit listed in {{f|HarvesterUnit}}. Also, make sure all houses listed in the map&#039;s {{tt|[Houses]}} list have a valid section. e.g. {{tt|[GDI]}}, defined in the map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C445E|eip}} &lt;br /&gt;
| A unit&#039;s Secondary weapon doesn&#039;t exist. Check the spelling and cases.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C6428|eip}} &lt;br /&gt;
| AI does not have any buildings available for it to build. Check {{f|BuildConst|link}}=, {{f|BuildPower|link}}= etc.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004CB997|eip}}&lt;br /&gt;
| [[TeamTypes|Team]]&#039;s owner house is invalid. Check if there&#039;s a map trigger creating a team whose {{f|House|link}} is invalid or undefined (the house must be one of the houses listed in the map).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D2451|eip}}&lt;br /&gt;
| An infantry was about to take damage from a source with no valid [[Warhead]]= set.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D6626|eip}}&amp;lt;br/&amp;gt;{{Anchor|004D8BF3|eip}}&lt;br /&gt;
| Infantry with missing image in rules.ini (same as missing sequence in art.ini).&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F886D|eip}}&lt;br /&gt;
| Trying to access colors in header while building radar image; related to the Radar High/Low Colors for terrain tiles.&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F8EDD|eip}}&lt;br /&gt;
|The number of [[VehicleTypes]] in the [[BaseUnit]] section is incomplete.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A4814|eip}} &lt;br /&gt;
| Railgun with wrong particle keys.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A59B4|eip}}&lt;br /&gt;
| {{tt|[GasCloudSys]}} with a limited {{f|Lifetime|link}}. This system has hardcoded properties and must exist throughout the game, ergo you must set {{f|Lifetime|-1}} or leave it undefined (it defaults to -1).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5A83|eip}}&lt;br /&gt;
| Invalid {{f|Image|link}} on an [[animation]] attempting to [[SpawnsParticle|spawn particles]] ([[Vinifera]] only). The image must be an existing [[shape]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5EB6|eip}} &lt;br /&gt;
| {{f|ParticleCap|1|link}} on a {{f|BehavesLike|Spark|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A640F|eip}}&lt;br /&gt;
| {{f|NextParticle|link}} defined on a particle spawned by a {{f|BehavesLike|Smoke|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006233EC|eip}} &lt;br /&gt;
| TeamClass::Calc_Center was not able to calculate Team Zone(Unit to center team around) and returned a null pointer to Zone; subsequent attempt to access Zone results in crash.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0062E6F6|eip}} &lt;br /&gt;
| It was attempted to use a normal colored house on a multiplayer map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006428C6|eip}} &lt;br /&gt;
| [[Trigger]] event had an invalid [[House]] parameter.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00649563|eip}} &lt;br /&gt;
| A [[trigger]] failed to spring. Look for a trigger with invalid parameters, for example a misspelled or undefined [[house]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006703D4|eip}} &lt;br /&gt;
| WaveClass Sonic exception, normally triggered by a unit with a weapon that has IsSonic=yes set, firing to the south of the screen and the user scrolling up. No certain fix for this as we know, although [http://ppmsite.com/forum/viewtopic.php?t=31604 HyperPatch] has been confirmed to fix it at least on some systems. Another fix is disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll], although the fix doesn&#039;t work on Windows OS&#039;s newer than XP.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| WaveClass Sonic exception. Not sure if this is code related, could be end user.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006717CB|eip}} &lt;br /&gt;
| WaveClass laser exception. This can be fixed by setting DetailLevel= to 1 or 0 in SUN.ini. In addition, disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll] fixes it, but this fix only works on Windows operating systems older than Vista.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| | You have set {{sl|AudioVisual|ShakeScreen}} to zero.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00681363|eip}} &lt;br /&gt;
| Missing weedguy hack. (second stage Cluster weapons need to be assigned to a unit, to work)&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006A877A|eip}} &lt;br /&gt;
| LightSize&amp;gt;94 was set on a particlesystem.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006B6AE6|eip}} &lt;br /&gt;
| Multiple reasons, depending on the stack dump in the except:&lt;br /&gt;
* If {{Tt|0066F44F}} appears near the top of the stack dump - A [[Warhead]] whose {{f|Verses|link}} could not be processed. {{Tt|EBP}} value says how many values remained to be parsed when an error occurred - (5 - {{Tt|EBP}}) is the 0-based index of the problematic value.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006BB69C|eip}} &lt;br /&gt;
| conyard construction as building was canceled in the sidebar.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|90900004|eip}} &lt;br /&gt;
| Generic exception.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unverified / lacking information ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00494BCD|eip}} &lt;br /&gt;
| (Ares 3.0) A corrupted SHP image was drawn. Check mix files for any .shp files marked by XCC Mixer as &#039;unknown&#039; under &amp;quot;type&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|1118A7A5|eip}} &lt;br /&gt;
| Probably caused by trying to destroy a tag, but supplying the tag and not a trigger (FA2 offers Triggers, but I hand-typed a tag (among other things). Occams razor suggests this is the culprit.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|655B4A9C|eip}} &lt;br /&gt;
|(Ares 0.E) Setting a [ParticlePart] with 2 BehavesLike= simutaneously (for example , &#039;both Like=railgun&#039; and &#039;Like=smoke&#039; exist) may cause an EIP as above . Remove BehavesLike=railgun , and keep Like=smoke here in a [RailgunPart] to avoid this EIP and still gets a railgun with specific SHP-animation rail.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Two BehavesLike in Ares 0.D is still available , but 0.E not .)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Removing a building from the PrerequisitePower= list, while it exists in one of the (GDI/NODRegular/Third)PowerPlant= lists will cause an IE the moment any of your Power buildings get destroyed or sold as long as you own a Construction Yard. YR mods that remove Yuri&#039;s side from the game, should not remove YAPOWR from PrerequisitePower=.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Could not be reproduced thus far.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Calling for an animation that is not listed under {{tt|[[Animations|[Animations]]]}} might trigger an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(That can be caused by multiple issues at various EIPs.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Building a unit in-game whose VXL/SHP was inserted in an original game MIX instead of an expansion MIX.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Does this really happen? Sounds more like the mix editor crapping up than simply &amp;quot;game should blow up because you changed stock files&amp;quot;.)&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;Further more, why would anyone eschew the normal method of &#039;&#039;expand&#039;&#039;ing the game&#039;&#039;. I don&#039;t see anyone testing/replicating this so I propose removing it from the list. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006F3481|eip}}&lt;br /&gt;
| The (elite) secondary weapon (or its warhead) of the object you just selected could not be found (see [[#Broken-reference_Causes|broken-reference causes]], below).&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Marshall retested this and found that the EIP for a missing secondary weapon is actually 006F352E (see above). Not sure what is meant by &amp;quot;you just selected&amp;quot; as the IE will occur the instant the unit is created/promoted. Please can someone else confim that EIP 006F3481 is incorrect and remove this entry if so. Although, it begs the question of where this EIP came from? - it was added by DCoder on 2008-03-04 (id 14195))&#039;&#039;&lt;br /&gt;
:I&#039;m sorry, I made a mistake analyzing that one. I saw it at [http://www.cannis.net/forum/index.php?s=&amp;amp;showtopic=8560&amp;amp;view=findpost&amp;amp;p=170096 C-GEN] and analyzed it. But in fact it was caused by the &#039;&#039;ElitePrimary&#039;&#039; being wrong, not EliteSecondary. (Though 006F352E in your comment has &amp;quot;ElitePrimary&amp;quot; as the cause as well, I assume you meant 004D5108.) Just cause a certain EIP causes an IE, doesn&#039;t mean another EIP cannot cause an IE for the same reason - there are quite a lot of code paths in the game, and under certain circumstances the first EIP doesn&#039;t get hit. &amp;lt;br&amp;gt;I just reanalyzed the function which both these EIPs fall under, and I can say this: 006F3481 IEs if (Elite)Secondary is broken, 006F352E - if (Elite)Primary is. The function is responsible for selecting which weapon a unit should use against a certain target in idle mode, the EIP you reported above for (Elite)Secondary (004D5108) is correct, but is only hit if the unit is in Guard mode scanning for targets when promotion happens. [maybe this part should go off to a talk page?] &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
&#039;&#039;(Just tested this a bit more and got several new EIPs for when the unit was promoted (added in this revision), can&#039;t seem to get any consistent results - will need to test this further. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Setting {{f|CarryOverCap|0|link}}. Default value is -1, positive values do not cause an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;I have tested this and couldn&#039;t get an IE to occur. Are there any specific circumstances that are required to trigger an IE on a map with CarryOverCap=0? Note that, in FA2YR, CarryOverCap defaults to zero so I would expect this IE to have been seen more often if it was really a problem. //Marshall&#039;&#039; &lt;br /&gt;
: This setting applies when you progress from one campaign map to another. However, I now see that the default campaigns use 0, so there must be something else amiss. A quick investigation shows that this value is not divided by, so there shouldn&#039;t be an exception at all... Will contact Apollo who submitted this as the cause. &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Warheads that are not listed under {{tt|[[Warheads|[Warheads]]]}} have been reported to cause an IE, although the exact details are not established. It is not neccessary for every warhead to be listed (for example, removing the Grand Cannon warhead from the list appears to have no effect on the game), however there is no reason not to list every warhead. &#039;&#039;&#039;Validity questionable - if someone can replicate this then please provide an except.txt.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;Simply thinking about this, putting warheads on the list should guarantee their position in the internal array, so if there is anywhere that references warheads by internal array position then this is important. However, even if you change an existing weapon&#039;s warhead to a non-parsed one in a game mode file, you &#039;&#039;still&#039;&#039; won&#039;t get an IE because default warhead values will be used. Because of this, I&#039;m starting to wonder if the reports of un-listed warheads causing an IE are erroneous. If someone can replicate this then please provide an except.txt //Marshall&#039;&#039;&lt;br /&gt;
: Verified under a debugger - if a weapon exists and links to a warhead that does not, this will not cause an IE, warhead stats will simply remain defaulted. (In other cases, warheads should also remain defaulted but functional. I have not verified every warhead loading location now, but my applicable ini flags tables should indicate whether or not uninited objects cause issues.) &#039;&#039;//[[User:DCoder|DCoder]] 12:44, 11 May 2008 (UTC)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| If a falling paratrooper (who has nearly reached the ground) is killed by an area-effect mutation weapon. Point based mutations seem to be okay (the falling paratrooper explodes) and the [[Super weapon:Genetic Mutator|Genetic Mutator]] seems incapable of killing falling paratroopers. If you have an area-effect mutation weapon, you should ensure that all paratroopers are immune to it (this also means that you can&#039;t have a buildable paradrop plane and an area-effect mutation weapon in the same mod).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00000000|eip}}&lt;br /&gt;
| Placing two buildings on a map in the map editor so that they overlap, and then destroying or garrisoning one of them in-game. Note that this error is intermittent so may not immediately be noticeable. Use [[FinalAlert]]&#039;s {{tt|Options}} {{arr|r}} {{tt|Show Building Outline}} feature to see the actual areas taken up by buildings, since there are some buildings whose foundation is different from their visual size, and make sure you don&#039;t have any buildings that overlap.&lt;br /&gt;
Given the unusual EIP value (all zeroes) that has been gathered from testing, it may be a corrupt EIP and not a true indication of the source of the error. Note that this EIP has also been gathered from other &#039;random-EIP&#039; causes.&lt;br /&gt;
:Indeed it is not a true indication, EIP 00000000 can be acquired in several ways. If you can provide an except, I will be able to provide more specific details to look for, like in the case of 0045EC90 . &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004A2684|eip}}&lt;br /&gt;
| Starting a game on any map concludes in a &amp;quot;unable to read scenario&amp;quot; error while loading. The cause of this is an empty uimd.ini file or possibly another empty ini file without any content.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|007564BD|eip}}&lt;br /&gt;
| Internal error when starting a game, possibly caused by attempting to load graphics from a corrupt mix file.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|404E0000|eip}} &lt;br /&gt;
| Selectable=no on spawned [[AircraftTypes]].&lt;br /&gt;
&#039;&#039;// [[User:Bbglas007|Bbglas007]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error also occurs if there are overlapping structures and/or overlapping rubble on the map and units try to pathfind over them or one of the buildings is destroyed. Keep in mind that an existing building with Image=none (like for example a nuclear silo) still remains its Bib as it is read from art.ini. So if you give a [NUKE] Image=none it still remains its 3x3 Bib, which counts as an overlapping building. In general don&#039;t have overlapping buildings on your map.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039; and ~ [[User:RAZER|RAZER]]&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006E2449|eip}} &lt;br /&gt;
| This error occurs when you fire a trigger action 42 (Do explosion at...) at an undefined waypoint.&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Broken-reference Causes===&lt;br /&gt;
*Most of the flags that point to an object type do not verify that the object type exists and will try to invoke it anyway. This includes pointers to weapons, projectiles, warheads, particles, particle systems and infantry/unit/aircraft/building types, among other things.&lt;br /&gt;
*All object types must be parsed in order for them to be invoked successfully. For example, a weapon must be parsed by being referenced by a unit in the main rules (weapons used in a game mode that aren&#039;t referenced in the main rules will not have been parsed, nor will shrapnel weapons that haven&#039;t been referenced by a dummy unit).&lt;br /&gt;
*Note that all weapons have to specify a {{f|Warhead|link}} tag and the tag must not be blank otherwise an IE will occur. However if the specified {{f|Warhead|link}} does not exist then that will not cause an IE, as the game will use default warhead settings.&lt;br /&gt;
*Your object type may not be &#039;missing&#039; as such, you may just have mis-spelled its ID (e.g. &amp;quot;MagenticBeam&amp;quot; as opposed to &amp;quot;MagneticBeam&amp;quot;). Always check your typing carefully to make sure you don&#039;t &amp;lt;!-- irony intended --&amp;gt; any words out.&lt;br /&gt;
&lt;br /&gt;
===Tank Bunker / Sell Unit IEs===&lt;br /&gt;
*There are two IEs that can occur after using a &#039;Sell Unit&#039; superweapon on a tank-bunkered unit. Both of these IEs can yield seemingly random EIP values (due to the fact that, when the unit is sold, the building&#039;s &amp;quot;BunkeredUnit&amp;quot; pointer isn&#039;t cleared and so points to garbage memory. Attempts to dereference it will be met with varying levels of failure).&lt;br /&gt;
*An IE may occur the instant you sell the unit.&lt;br /&gt;
*If an IE does not occur the instant you sell the unit, then the Tank Bunker will have been rendered unusable as the walls are still up. If the &#039;broken&#039; Tank Bunker is sold or destroyed then an IE will occur (this IE &#039;&#039;does&#039;&#039; always happen). This IE frequently yields EIP 004593BB, although has been known to yield seemingly random EIP values (for the reason stated above).&lt;br /&gt;
*The only way to prevent these IEs is to make sure a player never has access to both the Sell Unit superweapon and the Tank Bunker at the same time. &amp;lt;small&amp;gt;(To achieve this, the building that provides the superweapon must be uncapturable and immune to mind-control as must the Tank Bunker. Further more, unless both buildings are country specials, you will need to remove MCVs from crates and make Construction Yards uncapturable and immune to mind-control too.)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software used to find Internal Errors==&lt;br /&gt;
*[http://dc.strategy-x.com/checker INI Checker] (can check your rules, art and sound files for syntactic errors like typos and missing references)&lt;br /&gt;
*[[ExceptChecker]] (primarily for RockPatch-related IEs, it analyzes except.txt, tries to find references to code added by the patch or known routines, and &#039;&#039;might&#039;&#039; then be able give a direction)&lt;br /&gt;
*[[Debugger]] (if you know assembler)&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
*After observing [[IE]] for several times, I found that &#039;&#039;&#039; &amp;quot;EIP &amp;quot; &#039;&#039;&#039; that occurs are expressed in categories such as unit errors, image errors, sound errors, configuration + settings errors, etc.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Reconnection Error]]&lt;br /&gt;
*[http://forums.renegadeprojects.com/showthread.php?pid=2034#pid2034 Confirmation the Infantry Linking IE also applies to modifications done by maps]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bugs_and_Errors]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28897</id>
		<title>Internal Error</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28897"/>
		<updated>2025-11-01T20:12:14Z</updated>

		<summary type="html">&lt;p&gt;Askhati: /* Tiberian Sun 2.03 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Ts_ie.png|thumb|150px|right|Tiberian Sun&#039;s Internal Error]]&lt;br /&gt;
[[Image:Ra2_ie.png|thumb|150px|right|Red Alert 2&#039;s Internal Error]]&lt;br /&gt;
[[Image:Yr_ie.png|thumb|150px|right|Yuri Revenge&#039;s Internal Error]]&lt;br /&gt;
[[Image:Rp_ie.png|thumb|150px|right|RockPatch&#039;s Internal Error]]&lt;br /&gt;
The &#039;&#039;&#039;Internal Error&#039;&#039;&#039; (often just written short-hand as &#039;&#039;&#039;IE&#039;&#039;&#039;) is a general error returned by the [[Tiberian Sun]] [[engine]] and its derivates. The message itself gives no information about what the error actually was or what went wrong, thus leaving it to the modder to know what could have caused the error and to find the cause in their mod&#039;s changes.&lt;br /&gt;
&lt;br /&gt;
If you experience an Internal Error, you should:&lt;br /&gt;
# Check if the EIP reported in your except.txt file matches an EIP for which the IE cause is known (see below).&lt;br /&gt;
# Think about whether a distinctive event immediately preceeded the error (e.g. a unit being built, a weapon being fired, etc.). If this was the case then take a look at the changes you applied to that unit/weapon/whatever and see if there are any mistakes.&amp;lt;br&amp;gt;&lt;br /&gt;
# Carefully check your latest modifications, with the help of a diff between the current rules set and the previous, working rules if possible (for this reason, and in case you mess up your code beyond repair, you should always keep recent backups of working code).&lt;br /&gt;
Remember that the more code you add at the same time, the more likely it is to introduce multiple bugs and IE causes (and just because you found one mistake in your code, that doesn&#039;t mean there can&#039;t be another).&lt;br /&gt;
&lt;br /&gt;
==Except.txt==&lt;br /&gt;
If your game crashes because of an Internal Error, a file named except.txt is generated in your game folder. This file is a dump of certain runtime-data from the game at the moment the error occurred and could potentially tell you exactly what went wrong &#039;&#039;if&#039;&#039; you knew the engine code. &amp;lt;br&amp;gt;&lt;br /&gt;
Due to his research into the game&#039;s binary and his efforts to develop the RockPatch, pd has occasionally been able to indicate the area of the engine where the error occurred (for example, an error occurring in the voxel-loading routines may indicate a problem with a custom voxel).&lt;br /&gt;
However, pd has other commitments and should not be treated as the go-to guy for any IEs you may have. Further more, pd may not neccessarily be able to help - without the source code or a comprehensive understanding of the game&#039;s binary the file is of little use. (cp. [[SYNCx.txt]])&lt;br /&gt;
&lt;br /&gt;
According to an early version of [[Except.txt]] (which now redirects here), this file includes the full structure and a stack dump of a [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/context_str.asp CONTEXT] element.&lt;br /&gt;
&lt;br /&gt;
IEs that share the same cause also share the same &amp;lt;tt&amp;gt;EIP:&amp;lt;/tt&amp;gt; value in except.txt, so knowing that value might help you determine the cause of your IE (see the list of known IE causes (below) which also includes the corresponding EIP). However, it should be noted that some shared IE causes in INI code can yield one of several different EIP values (depending on the circumstance), and that some rare IE causes can actually yield totally random EIP values. As such, if you do have an unexplained IE, you should check all of the known causes.&lt;br /&gt;
&lt;br /&gt;
== Known causes of Internal Errors and their EIPs ==&lt;br /&gt;
Since &amp;quot;Internal Error&amp;quot; is the game&#039;s response to almost any fatal error, its causes are diverse. Most common are causes related to weapons and warheads, with a missing warhead probably being the most commonly reported cause.&amp;lt;br&amp;gt;Note that some IE causes may be prevented (or at least have certain limits extended (e.g. CellSpread)) by the [[RockPatch]], which in turn has opened up potential for new IE causes ([[RockPatch]]-specific IEs are not listed here).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Some useful tips ===&lt;br /&gt;
If an integer between {{Tt|0x00812000}} and {{Tt|0x00B78300}} appears in the stack, subtract {{Tt|0x00400000}} from it and look at the resulting address in {{Tt|gamemd.exe}} with a hex editor. If you find some INI flag, you can be almost sure this flag was the one being read when the problem happened and as such its values (or absence thereof) is the problem.&lt;br /&gt;
&amp;lt;!-- Someone consider writing a tool to process this --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specific game versions ===&lt;br /&gt;
&lt;br /&gt;
==== Yuri&#039;s Revenge 1.001 ====&lt;br /&gt;
&lt;br /&gt;
{{:Internal_Error/YR}}&lt;br /&gt;
&lt;br /&gt;
==== Tiberian Sun 2.03 ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00415698|eip}} &lt;br /&gt;
| You used a [[TrailerAnim]] on an animation but forgot to set a [[TrailerSeperation]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0042A061|eip}} &lt;br /&gt;
| Wall=yes on a normal building.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0043541C|eip}} &lt;br /&gt;
| Building turret animation has an invalid pointer to an [[AnimTypeClass]] when charging up. See Nod Obelisk of Light for example.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00446E61|eip}}&amp;lt;br /&amp;gt;{{Anchor|00446F68|eip}}&lt;br /&gt;
| Airburst weapon bullet was null. If you have {{f|Airburst|yes|link}} or {{f|Splits|yes|link}} on a [[projectile]], you must also define {{f|AirburstWeapon|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00451C16|eip}}&lt;br /&gt;
| {{f|CellAnim|link}} has invalid {{f|Image|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0046C7E2|eip}} &lt;br /&gt;
| Fog of War was enabled and crashed the game.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAEF8|eip}} &lt;br /&gt;
| [AI] BuildRefinery= -&amp;gt; one of your factions is missing an entry here, which will cause a crash when the AI tries to use this faction. Will not trigger a crash for human players.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAF12|eip}} &lt;br /&gt;
| [General] HarvesterUnit -&amp;gt; one of the objects in this list is incorrect OR this list has exceeded 127 characters. Commonly triggered when adding new MCV and harvester object codes here when expanding the playable faction list in the TSC 6.00+ builds.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C1680|eip}}&lt;br /&gt;
| A house has no buildable {{f|HarvesterUnit|link}}. This crash is typically caused by a [[house]] with an incorrect {{f|ActsLike|link}} setting in a [[map]] when using [https://github.com/CnCNet/ts-patches/blob/9a6440cc921c0941da19e2b1691c45f8d701109d/src/buildconst_harvesterunit_baseunit.asm this patch]. In this case, {{f|ActsLike}} must always point to a house that owns at least one unit listed in {{f|HarvesterUnit}}. Also, make sure all houses listed in the map&#039;s {{tt|[Houses]}} list have a valid section. e.g. {{tt|[GDI]}}, defined in the map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C445E|eip}} &lt;br /&gt;
| A unit&#039;s Secondary weapon doesn&#039;t exist. Check the spelling and cases.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C6428|eip}} &lt;br /&gt;
| AI does not have any buildings available for it to build. Check {{f|BuildConst|link}}=, {{f|BuildPower|link}}= etc.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004CB997|eip}}&lt;br /&gt;
| [[TeamTypes|Team]]&#039;s owner house is invalid. Check if there&#039;s a map trigger creating a team whose {{f|House|link}} is invalid or undefined (the house must be one of the houses listed in the map).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D2451|eip}}&lt;br /&gt;
| An infantry was about to take damage from a source with no valid [[Warhead]]= set.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D6626|eip}}&amp;lt;br/&amp;gt;{{Anchor|004D8BF3|eip}}&lt;br /&gt;
| Infantry with missing image in rules.ini (same as missing sequence in art.ini).&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F886D|eip}}&lt;br /&gt;
| Trying to access colors in header while building radar image; related to the Radar High/Low Colors for terrain tiles.&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F8EDD|eip}}&lt;br /&gt;
|The number of [[VehicleTypes]] in the [[BaseUnit]] section is incomplete.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A4814|eip}} &lt;br /&gt;
| Railgun with wrong particle keys.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A59B4|eip}}&lt;br /&gt;
| {{tt|[GasCloudSys]}} with a limited {{f|Lifetime|link}}. This system has hardcoded properties and must exist throughout the game, ergo you must set {{f|Lifetime|-1}} or leave it undefined (it defaults to -1).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5A83|eip}}&lt;br /&gt;
| Invalid {{f|Image|link}} on an [[animation]] attempting to [[SpawnsParticle|spawn particles]] ([[Vinifera]] only). The image must be an existing [[shape]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5EB6|eip}} &lt;br /&gt;
| {{f|ParticleCap|1|link}} on a {{f|BehavesLike|Spark|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A640F|eip}}&lt;br /&gt;
| {{f|NextParticle|link}} defined on a particle spawned by a {{f|BehavesLike|Smoke|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006233EC|eip}} &lt;br /&gt;
| A TeamClass - which had previously already been deleted - was instructed to attempt to perform per-frame logic.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0062E6F6|eip}} &lt;br /&gt;
| It was attempted to use a normal colored house on a multiplayer map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006428C6|eip}} &lt;br /&gt;
| [[Trigger]] event had an invalid [[House]] parameter.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00649563|eip}} &lt;br /&gt;
| A [[trigger]] failed to spring. Look for a trigger with invalid parameters, for example a misspelled or undefined [[house]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006703D4|eip}} &lt;br /&gt;
| WaveClass Sonic exception, normally triggered by a unit with a weapon that has IsSonic=yes set, firing to the south of the screen and the user scrolling up. No certain fix for this as we know, although [http://ppmsite.com/forum/viewtopic.php?t=31604 HyperPatch] has been confirmed to fix it at least on some systems. Another fix is disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll], although the fix doesn&#039;t work on Windows OS&#039;s newer than XP.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| WaveClass Sonic exception. Not sure if this is code related, could be end user.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006717CB|eip}} &lt;br /&gt;
| WaveClass laser exception. This can be fixed by setting DetailLevel= to 1 or 0 in SUN.ini. In addition, disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll] fixes it, but this fix only works on Windows operating systems older than Vista.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| | You have set {{sl|AudioVisual|ShakeScreen}} to zero.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00681363|eip}} &lt;br /&gt;
| Missing weedguy hack. (second stage Cluster weapons need to be assigned to a unit, to work)&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006A877A|eip}} &lt;br /&gt;
| LightSize&amp;gt;94 was set on a particlesystem.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006B6AE6|eip}} &lt;br /&gt;
| Multiple reasons, depending on the stack dump in the except:&lt;br /&gt;
* If {{Tt|0066F44F}} appears near the top of the stack dump - A [[Warhead]] whose {{f|Verses|link}} could not be processed. {{Tt|EBP}} value says how many values remained to be parsed when an error occurred - (5 - {{Tt|EBP}}) is the 0-based index of the problematic value.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006BB69C|eip}} &lt;br /&gt;
| conyard construction as building was canceled in the sidebar.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|90900004|eip}} &lt;br /&gt;
| Generic exception.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unverified / lacking information ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00494BCD|eip}} &lt;br /&gt;
| (Ares 3.0) A corrupted SHP image was drawn. Check mix files for any .shp files marked by XCC Mixer as &#039;unknown&#039; under &amp;quot;type&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|1118A7A5|eip}} &lt;br /&gt;
| Probably caused by trying to destroy a tag, but supplying the tag and not a trigger (FA2 offers Triggers, but I hand-typed a tag (among other things). Occams razor suggests this is the culprit.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|655B4A9C|eip}} &lt;br /&gt;
|(Ares 0.E) Setting a [ParticlePart] with 2 BehavesLike= simutaneously (for example , &#039;both Like=railgun&#039; and &#039;Like=smoke&#039; exist) may cause an EIP as above . Remove BehavesLike=railgun , and keep Like=smoke here in a [RailgunPart] to avoid this EIP and still gets a railgun with specific SHP-animation rail.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Two BehavesLike in Ares 0.D is still available , but 0.E not .)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Removing a building from the PrerequisitePower= list, while it exists in one of the (GDI/NODRegular/Third)PowerPlant= lists will cause an IE the moment any of your Power buildings get destroyed or sold as long as you own a Construction Yard. YR mods that remove Yuri&#039;s side from the game, should not remove YAPOWR from PrerequisitePower=.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Could not be reproduced thus far.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Calling for an animation that is not listed under {{tt|[[Animations|[Animations]]]}} might trigger an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(That can be caused by multiple issues at various EIPs.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Building a unit in-game whose VXL/SHP was inserted in an original game MIX instead of an expansion MIX.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Does this really happen? Sounds more like the mix editor crapping up than simply &amp;quot;game should blow up because you changed stock files&amp;quot;.)&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;Further more, why would anyone eschew the normal method of &#039;&#039;expand&#039;&#039;ing the game&#039;&#039;. I don&#039;t see anyone testing/replicating this so I propose removing it from the list. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006F3481|eip}}&lt;br /&gt;
| The (elite) secondary weapon (or its warhead) of the object you just selected could not be found (see [[#Broken-reference_Causes|broken-reference causes]], below).&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Marshall retested this and found that the EIP for a missing secondary weapon is actually 006F352E (see above). Not sure what is meant by &amp;quot;you just selected&amp;quot; as the IE will occur the instant the unit is created/promoted. Please can someone else confim that EIP 006F3481 is incorrect and remove this entry if so. Although, it begs the question of where this EIP came from? - it was added by DCoder on 2008-03-04 (id 14195))&#039;&#039;&lt;br /&gt;
:I&#039;m sorry, I made a mistake analyzing that one. I saw it at [http://www.cannis.net/forum/index.php?s=&amp;amp;showtopic=8560&amp;amp;view=findpost&amp;amp;p=170096 C-GEN] and analyzed it. But in fact it was caused by the &#039;&#039;ElitePrimary&#039;&#039; being wrong, not EliteSecondary. (Though 006F352E in your comment has &amp;quot;ElitePrimary&amp;quot; as the cause as well, I assume you meant 004D5108.) Just cause a certain EIP causes an IE, doesn&#039;t mean another EIP cannot cause an IE for the same reason - there are quite a lot of code paths in the game, and under certain circumstances the first EIP doesn&#039;t get hit. &amp;lt;br&amp;gt;I just reanalyzed the function which both these EIPs fall under, and I can say this: 006F3481 IEs if (Elite)Secondary is broken, 006F352E - if (Elite)Primary is. The function is responsible for selecting which weapon a unit should use against a certain target in idle mode, the EIP you reported above for (Elite)Secondary (004D5108) is correct, but is only hit if the unit is in Guard mode scanning for targets when promotion happens. [maybe this part should go off to a talk page?] &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
&#039;&#039;(Just tested this a bit more and got several new EIPs for when the unit was promoted (added in this revision), can&#039;t seem to get any consistent results - will need to test this further. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Setting {{f|CarryOverCap|0|link}}. Default value is -1, positive values do not cause an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;I have tested this and couldn&#039;t get an IE to occur. Are there any specific circumstances that are required to trigger an IE on a map with CarryOverCap=0? Note that, in FA2YR, CarryOverCap defaults to zero so I would expect this IE to have been seen more often if it was really a problem. //Marshall&#039;&#039; &lt;br /&gt;
: This setting applies when you progress from one campaign map to another. However, I now see that the default campaigns use 0, so there must be something else amiss. A quick investigation shows that this value is not divided by, so there shouldn&#039;t be an exception at all... Will contact Apollo who submitted this as the cause. &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Warheads that are not listed under {{tt|[[Warheads|[Warheads]]]}} have been reported to cause an IE, although the exact details are not established. It is not neccessary for every warhead to be listed (for example, removing the Grand Cannon warhead from the list appears to have no effect on the game), however there is no reason not to list every warhead. &#039;&#039;&#039;Validity questionable - if someone can replicate this then please provide an except.txt.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;Simply thinking about this, putting warheads on the list should guarantee their position in the internal array, so if there is anywhere that references warheads by internal array position then this is important. However, even if you change an existing weapon&#039;s warhead to a non-parsed one in a game mode file, you &#039;&#039;still&#039;&#039; won&#039;t get an IE because default warhead values will be used. Because of this, I&#039;m starting to wonder if the reports of un-listed warheads causing an IE are erroneous. If someone can replicate this then please provide an except.txt //Marshall&#039;&#039;&lt;br /&gt;
: Verified under a debugger - if a weapon exists and links to a warhead that does not, this will not cause an IE, warhead stats will simply remain defaulted. (In other cases, warheads should also remain defaulted but functional. I have not verified every warhead loading location now, but my applicable ini flags tables should indicate whether or not uninited objects cause issues.) &#039;&#039;//[[User:DCoder|DCoder]] 12:44, 11 May 2008 (UTC)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| If a falling paratrooper (who has nearly reached the ground) is killed by an area-effect mutation weapon. Point based mutations seem to be okay (the falling paratrooper explodes) and the [[Super weapon:Genetic Mutator|Genetic Mutator]] seems incapable of killing falling paratroopers. If you have an area-effect mutation weapon, you should ensure that all paratroopers are immune to it (this also means that you can&#039;t have a buildable paradrop plane and an area-effect mutation weapon in the same mod).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00000000|eip}}&lt;br /&gt;
| Placing two buildings on a map in the map editor so that they overlap, and then destroying or garrisoning one of them in-game. Note that this error is intermittent so may not immediately be noticeable. Use [[FinalAlert]]&#039;s {{tt|Options}} {{arr|r}} {{tt|Show Building Outline}} feature to see the actual areas taken up by buildings, since there are some buildings whose foundation is different from their visual size, and make sure you don&#039;t have any buildings that overlap.&lt;br /&gt;
Given the unusual EIP value (all zeroes) that has been gathered from testing, it may be a corrupt EIP and not a true indication of the source of the error. Note that this EIP has also been gathered from other &#039;random-EIP&#039; causes.&lt;br /&gt;
:Indeed it is not a true indication, EIP 00000000 can be acquired in several ways. If you can provide an except, I will be able to provide more specific details to look for, like in the case of 0045EC90 . &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004A2684|eip}}&lt;br /&gt;
| Starting a game on any map concludes in a &amp;quot;unable to read scenario&amp;quot; error while loading. The cause of this is an empty uimd.ini file or possibly another empty ini file without any content.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|007564BD|eip}}&lt;br /&gt;
| Internal error when starting a game, possibly caused by attempting to load graphics from a corrupt mix file.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|404E0000|eip}} &lt;br /&gt;
| Selectable=no on spawned [[AircraftTypes]].&lt;br /&gt;
&#039;&#039;// [[User:Bbglas007|Bbglas007]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error also occurs if there are overlapping structures and/or overlapping rubble on the map and units try to pathfind over them or one of the buildings is destroyed. Keep in mind that an existing building with Image=none (like for example a nuclear silo) still remains its Bib as it is read from art.ini. So if you give a [NUKE] Image=none it still remains its 3x3 Bib, which counts as an overlapping building. In general don&#039;t have overlapping buildings on your map.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039; and ~ [[User:RAZER|RAZER]]&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006E2449|eip}} &lt;br /&gt;
| This error occurs when you fire a trigger action 42 (Do explosion at...) at an undefined waypoint.&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Broken-reference Causes===&lt;br /&gt;
*Most of the flags that point to an object type do not verify that the object type exists and will try to invoke it anyway. This includes pointers to weapons, projectiles, warheads, particles, particle systems and infantry/unit/aircraft/building types, among other things.&lt;br /&gt;
*All object types must be parsed in order for them to be invoked successfully. For example, a weapon must be parsed by being referenced by a unit in the main rules (weapons used in a game mode that aren&#039;t referenced in the main rules will not have been parsed, nor will shrapnel weapons that haven&#039;t been referenced by a dummy unit).&lt;br /&gt;
*Note that all weapons have to specify a {{f|Warhead|link}} tag and the tag must not be blank otherwise an IE will occur. However if the specified {{f|Warhead|link}} does not exist then that will not cause an IE, as the game will use default warhead settings.&lt;br /&gt;
*Your object type may not be &#039;missing&#039; as such, you may just have mis-spelled its ID (e.g. &amp;quot;MagenticBeam&amp;quot; as opposed to &amp;quot;MagneticBeam&amp;quot;). Always check your typing carefully to make sure you don&#039;t &amp;lt;!-- irony intended --&amp;gt; any words out.&lt;br /&gt;
&lt;br /&gt;
===Tank Bunker / Sell Unit IEs===&lt;br /&gt;
*There are two IEs that can occur after using a &#039;Sell Unit&#039; superweapon on a tank-bunkered unit. Both of these IEs can yield seemingly random EIP values (due to the fact that, when the unit is sold, the building&#039;s &amp;quot;BunkeredUnit&amp;quot; pointer isn&#039;t cleared and so points to garbage memory. Attempts to dereference it will be met with varying levels of failure).&lt;br /&gt;
*An IE may occur the instant you sell the unit.&lt;br /&gt;
*If an IE does not occur the instant you sell the unit, then the Tank Bunker will have been rendered unusable as the walls are still up. If the &#039;broken&#039; Tank Bunker is sold or destroyed then an IE will occur (this IE &#039;&#039;does&#039;&#039; always happen). This IE frequently yields EIP 004593BB, although has been known to yield seemingly random EIP values (for the reason stated above).&lt;br /&gt;
*The only way to prevent these IEs is to make sure a player never has access to both the Sell Unit superweapon and the Tank Bunker at the same time. &amp;lt;small&amp;gt;(To achieve this, the building that provides the superweapon must be uncapturable and immune to mind-control as must the Tank Bunker. Further more, unless both buildings are country specials, you will need to remove MCVs from crates and make Construction Yards uncapturable and immune to mind-control too.)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software used to find Internal Errors==&lt;br /&gt;
*[http://dc.strategy-x.com/checker INI Checker] (can check your rules, art and sound files for syntactic errors like typos and missing references)&lt;br /&gt;
*[[ExceptChecker]] (primarily for RockPatch-related IEs, it analyzes except.txt, tries to find references to code added by the patch or known routines, and &#039;&#039;might&#039;&#039; then be able give a direction)&lt;br /&gt;
*[[Debugger]] (if you know assembler)&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
*After observing [[IE]] for several times, I found that &#039;&#039;&#039; &amp;quot;EIP &amp;quot; &#039;&#039;&#039; that occurs are expressed in categories such as unit errors, image errors, sound errors, configuration + settings errors, etc.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Reconnection Error]]&lt;br /&gt;
*[http://forums.renegadeprojects.com/showthread.php?pid=2034#pid2034 Confirmation the Infantry Linking IE also applies to modifications done by maps]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bugs_and_Errors]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28595</id>
		<title>Internal Error</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Internal_Error&amp;diff=28595"/>
		<updated>2025-06-03T17:53:26Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Add TS EIP 006428C6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Ts_ie.png|thumb|150px|right|Tiberian Sun&#039;s Internal Error]]&lt;br /&gt;
[[Image:Ra2_ie.png|thumb|150px|right|Red Alert 2&#039;s Internal Error]]&lt;br /&gt;
[[Image:Yr_ie.png|thumb|150px|right|Yuri Revenge&#039;s Internal Error]]&lt;br /&gt;
[[Image:Rp_ie.png|thumb|150px|right|RockPatch&#039;s Internal Error]]&lt;br /&gt;
The &#039;&#039;&#039;Internal Error&#039;&#039;&#039; (often just written short-hand as &#039;&#039;&#039;IE&#039;&#039;&#039;) is a general error returned by the [[Tiberian Sun]] [[engine]] and its derivates. The message itself gives no information about what the error actually was or what went wrong, thus leaving it to the modder to know what could have caused the error and to find the cause in their mod&#039;s changes.&lt;br /&gt;
&lt;br /&gt;
If you experience an Internal Error, you should:&lt;br /&gt;
# Check if the EIP reported in your except.txt file matches an EIP for which the IE cause is known (see below).&lt;br /&gt;
# Think about whether a distinctive event immediately preceeded the error (e.g. a unit being built, a weapon being fired, etc.). If this was the case then take a look at the changes you applied to that unit/weapon/whatever and see if there are any mistakes.&amp;lt;br&amp;gt;&lt;br /&gt;
# Carefully check your latest modifications, with the help of a diff between the current rules set and the previous, working rules if possible (for this reason, and in case you mess up your code beyond repair, you should always keep recent backups of working code).&lt;br /&gt;
Remember that the more code you add at the same time, the more likely it is to introduce multiple bugs and IE causes (and just because you found one mistake in your code, that doesn&#039;t mean there can&#039;t be another).&lt;br /&gt;
&lt;br /&gt;
==Except.txt==&lt;br /&gt;
If your game crashes because of an Internal Error, a file named except.txt is generated in your game folder. This file is a dump of certain runtime-data from the game at the moment the error occurred and could potentially tell you exactly what went wrong &#039;&#039;if&#039;&#039; you knew the engine code. &amp;lt;br&amp;gt;&lt;br /&gt;
Due to his research into the game&#039;s binary and his efforts to develop the RockPatch, pd has occasionally been able to indicate the area of the engine where the error occurred (for example, an error occurring in the voxel-loading routines may indicate a problem with a custom voxel).&lt;br /&gt;
However, pd has other commitments and should not be treated as the go-to guy for any IEs you may have. Further more, pd may not neccessarily be able to help - without the source code or a comprehensive understanding of the game&#039;s binary the file is of little use. (cp. [[SYNCx.txt]])&lt;br /&gt;
&lt;br /&gt;
According to an early version of [[Except.txt]] (which now redirects here), this file includes the full structure and a stack dump of a [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/context_str.asp CONTEXT] element.&lt;br /&gt;
&lt;br /&gt;
IEs that share the same cause also share the same &amp;lt;tt&amp;gt;EIP:&amp;lt;/tt&amp;gt; value in except.txt, so knowing that value might help you determine the cause of your IE (see the list of known IE causes (below) which also includes the corresponding EIP). However, it should be noted that some shared IE causes in INI code can yield one of several different EIP values (depending on the circumstance), and that some rare IE causes can actually yield totally random EIP values. As such, if you do have an unexplained IE, you should check all of the known causes.&lt;br /&gt;
&lt;br /&gt;
== Known causes of Internal Errors and their EIPs ==&lt;br /&gt;
Since &amp;quot;Internal Error&amp;quot; is the game&#039;s response to almost any fatal error, its causes are diverse. Most common are causes related to weapons and warheads, with a missing warhead probably being the most commonly reported cause.&amp;lt;br&amp;gt;Note that some IE causes may be prevented (or at least have certain limits extended (e.g. CellSpread)) by the [[RockPatch]], which in turn has opened up potential for new IE causes ([[RockPatch]]-specific IEs are not listed here).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Some useful tips ===&lt;br /&gt;
If an integer between {{Tt|0x00812000}} and {{Tt|0x00B78300}} appears in the stack, subtract {{Tt|0x00400000}} from it and look at the resulting address in {{Tt|gamemd.exe}} with a hex editor. If you find some INI flag, you can be almost sure this flag was the one being read when the problem happened and as such its values (or absence thereof) is the problem.&lt;br /&gt;
&amp;lt;!-- Someone consider writing a tool to process this --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Specific game versions ===&lt;br /&gt;
&lt;br /&gt;
==== Yuri&#039;s Revenge 1.001 ====&lt;br /&gt;
&lt;br /&gt;
{{:Internal_Error/YR}}&lt;br /&gt;
&lt;br /&gt;
==== Tiberian Sun 2.03 ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00415698|eip}} &lt;br /&gt;
| You used a [[TrailerAnim]] on an animation but forgot to set a [[TrailerSeperation]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0042A061|eip}} &lt;br /&gt;
| Wall=yes on a normal building.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0043541C|eip}} &lt;br /&gt;
| Building turret animation has an invalid pointer to an [[AnimTypeClass]] when charging up. See Nod Obelisk of Light for example.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00446E61|eip}}&amp;lt;br /&amp;gt;{{Anchor|00446F68|eip}}&lt;br /&gt;
| Airburst weapon bullet was null. If you have {{f|Airburst|yes|link}} or {{f|Splits|yes|link}} on a [[projectile]], you must also define {{f|AirburstWeapon|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00451C16|eip}}&lt;br /&gt;
| {{f|CellAnim|link}} has invalid {{f|Image|link}}.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0046C7E2|eip}} &lt;br /&gt;
| Fog of War was enabled and crashed the game.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAEF8|eip}} &lt;br /&gt;
| [AI] BuildRefinery= -&amp;gt; one of your factions is missing an entry here, which will cause a crash when the AI tries to use this faction. Will not trigger a crash for human players.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004BAF12|eip}} &lt;br /&gt;
| [General] HarvesterUnit -&amp;gt; one of the objects in this list is incorrect OR this list has exceeded 127 characters. Commonly triggered when adding new MCV and harvester object codes here when expanding the playable faction list in the TSC 6.00+ builds.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C1680|eip}}&lt;br /&gt;
| A house has no buildable {{f|HarvesterUnit|link}}. This crash is typically caused by a [[house]] with an incorrect {{f|ActsLike|link}} setting in a [[map]] when using [https://github.com/CnCNet/ts-patches/blob/9a6440cc921c0941da19e2b1691c45f8d701109d/src/buildconst_harvesterunit_baseunit.asm this patch]. In this case, {{f|ActsLike}} must always point to a house that owns at least one unit listed in {{f|HarvesterUnit}}. Also, make sure all houses listed in the map&#039;s {{tt|[Houses]}} list have a valid section. e.g. {{tt|[GDI]}}, defined in the map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C445E|eip}} &lt;br /&gt;
| A unit&#039;s Secondary weapon doesn&#039;t exist. Check the spelling and cases.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004C6428|eip}} &lt;br /&gt;
| AI does not have any buildings available for it to build. Check {{f|BuildConst|link}}=, {{f|BuildPower|link}}= etc.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004CB997|eip}}&lt;br /&gt;
| [[TeamTypes|Team]]&#039;s owner house is invalid. Check if there&#039;s a map trigger creating a team whose {{f|House|link}} is invalid or undefined (the house must be one of the houses listed in the map).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D2451|eip}}&lt;br /&gt;
| An infantry was about to take damage from a source with no valid [[Warhead]]= set.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004D6626|eip}}&amp;lt;br/&amp;gt;{{Anchor|004D8BF3|eip}}&lt;br /&gt;
| Infantry with missing image in rules.ini (same as missing sequence in art.ini).&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F886D|eip}}&lt;br /&gt;
| Trying to access colors in header while building radar image; related to the Radar High/Low Colors for terrain tiles.&lt;br /&gt;
|-&lt;br /&gt;
!{{Anchor|004F8EDD|eip}}&lt;br /&gt;
|The number of [[VehicleTypes]] in the [[BaseUnit]] section is incomplete.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A4814|eip}} &lt;br /&gt;
| Railgun with wrong particle keys.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A59B4|eip}}&lt;br /&gt;
| {{tt|[GasCloudSys]}} with a limited {{f|Lifetime|link}}. This system has hardcoded properties and must exist throughout the game, ergo you must set {{f|Lifetime|-1}} or leave it undefined (it defaults to -1).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5A83|eip}}&lt;br /&gt;
| Invalid {{f|Image|link}} on an [[animation]] attempting to [[SpawnsParticle|spawn particles]] ([[Vinifera]] only). The image must be an existing [[shape]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A5EB6|eip}} &lt;br /&gt;
| {{f|ParticleCap|1|link}} on a {{f|BehavesLike|Spark|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|005A640F|eip}}&lt;br /&gt;
| {{f|NextParticle|link}} defined on a particle spawned by a {{f|BehavesLike|Smoke|link}} particle system.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0062E6F6|eip}} &lt;br /&gt;
| It was attempted to use a normal colored house on a multiplayer map.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006428C6|eip}} &lt;br /&gt;
| [[Trigger]] event had an invalid [[House]] parameter.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00649563|eip}} &lt;br /&gt;
| A [[trigger]] failed to spring. Look for a trigger with invalid parameters, for example a misspelled or undefined [[house]].&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006703D4|eip}} &lt;br /&gt;
| WaveClass Sonic exception, normally triggered by a unit with a weapon that has IsSonic=yes set, firing to the south of the screen and the user scrolling up. No certain fix for this as we know, although [http://ppmsite.com/forum/viewtopic.php?t=31604 HyperPatch] has been confirmed to fix it at least on some systems. Another fix is disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll], although the fix doesn&#039;t work on Windows OS&#039;s newer than XP.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| WaveClass Sonic exception. Not sure if this is code related, could be end user.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006717CB|eip}} &lt;br /&gt;
| WaveClass laser exception. This can be fixed by setting DetailLevel= to 1 or 0 in SUN.ini. In addition, disabling DirectDraw hardware acceleration via either dxdiag or a [http://www.ppmsite.com/forum/viewtopic.php?t=19543 custom ddraw.dll] fixes it, but this fix only works on Windows operating systems older than Vista.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|0067159B|eip}} &lt;br /&gt;
| | You have set {{sl|AudioVisual|ShakeScreen}} to zero.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00681363|eip}} &lt;br /&gt;
| Missing weedguy hack. (second stage Cluster weapons need to be assigned to a unit, to work)&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006A877A|eip}} &lt;br /&gt;
| LightSize&amp;gt;94 was set on a particlesystem.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006B6AE6|eip}} &lt;br /&gt;
| Multiple reasons, depending on the stack dump in the except:&lt;br /&gt;
* If {{Tt|0066F44F}} appears near the top of the stack dump - A [[Warhead]] whose {{f|Verses|link}} could not be processed. {{Tt|EBP}} value says how many values remained to be parsed when an error occurred - (5 - {{Tt|EBP}}) is the 0-based index of the problematic value.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006BB69C|eip}} &lt;br /&gt;
| conyard construction as building was canceled in the sidebar.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|90900004|eip}} &lt;br /&gt;
| Generic exception.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Unverified / lacking information ====&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;4&amp;quot; border=&amp;quot;1&amp;quot; class=&amp;quot;table_descrowdesccol anchorcontainer&amp;quot;&lt;br /&gt;
! EIP&lt;br /&gt;
! Cause&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00494BCD|eip}} &lt;br /&gt;
| (Ares 3.0) A corrupted SHP image was drawn. Check mix files for any .shp files marked by XCC Mixer as &#039;unknown&#039; under &amp;quot;type&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|1118A7A5|eip}} &lt;br /&gt;
| Probably caused by trying to destroy a tag, but supplying the tag and not a trigger (FA2 offers Triggers, but I hand-typed a tag (among other things). Occams razor suggests this is the culprit.&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|655B4A9C|eip}} &lt;br /&gt;
|(Ares 0.E) Setting a [ParticlePart] with 2 BehavesLike= simutaneously (for example , &#039;both Like=railgun&#039; and &#039;Like=smoke&#039; exist) may cause an EIP as above . Remove BehavesLike=railgun , and keep Like=smoke here in a [RailgunPart] to avoid this EIP and still gets a railgun with specific SHP-animation rail.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Two BehavesLike in Ares 0.D is still available , but 0.E not .)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Removing a building from the PrerequisitePower= list, while it exists in one of the (GDI/NODRegular/Third)PowerPlant= lists will cause an IE the moment any of your Power buildings get destroyed or sold as long as you own a Construction Yard. YR mods that remove Yuri&#039;s side from the game, should not remove YAPOWR from PrerequisitePower=.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Could not be reproduced thus far.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Calling for an animation that is not listed under {{tt|[[Animations|[Animations]]]}} might trigger an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(That can be caused by multiple issues at various EIPs.)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}} &lt;br /&gt;
| Building a unit in-game whose VXL/SHP was inserted in an original game MIX instead of an expansion MIX.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Does this really happen? Sounds more like the mix editor crapping up than simply &amp;quot;game should blow up because you changed stock files&amp;quot;.)&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;Further more, why would anyone eschew the normal method of &#039;&#039;expand&#039;&#039;ing the game&#039;&#039;. I don&#039;t see anyone testing/replicating this so I propose removing it from the list. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006F3481|eip}}&lt;br /&gt;
| The (elite) secondary weapon (or its warhead) of the object you just selected could not be found (see [[#Broken-reference_Causes|broken-reference causes]], below).&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;(Marshall retested this and found that the EIP for a missing secondary weapon is actually 006F352E (see above). Not sure what is meant by &amp;quot;you just selected&amp;quot; as the IE will occur the instant the unit is created/promoted. Please can someone else confim that EIP 006F3481 is incorrect and remove this entry if so. Although, it begs the question of where this EIP came from? - it was added by DCoder on 2008-03-04 (id 14195))&#039;&#039;&lt;br /&gt;
:I&#039;m sorry, I made a mistake analyzing that one. I saw it at [http://www.cannis.net/forum/index.php?s=&amp;amp;showtopic=8560&amp;amp;view=findpost&amp;amp;p=170096 C-GEN] and analyzed it. But in fact it was caused by the &#039;&#039;ElitePrimary&#039;&#039; being wrong, not EliteSecondary. (Though 006F352E in your comment has &amp;quot;ElitePrimary&amp;quot; as the cause as well, I assume you meant 004D5108.) Just cause a certain EIP causes an IE, doesn&#039;t mean another EIP cannot cause an IE for the same reason - there are quite a lot of code paths in the game, and under certain circumstances the first EIP doesn&#039;t get hit. &amp;lt;br&amp;gt;I just reanalyzed the function which both these EIPs fall under, and I can say this: 006F3481 IEs if (Elite)Secondary is broken, 006F352E - if (Elite)Primary is. The function is responsible for selecting which weapon a unit should use against a certain target in idle mode, the EIP you reported above for (Elite)Secondary (004D5108) is correct, but is only hit if the unit is in Guard mode scanning for targets when promotion happens. [maybe this part should go off to a talk page?] &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
&#039;&#039;(Just tested this a bit more and got several new EIPs for when the unit was promoted (added in this revision), can&#039;t seem to get any consistent results - will need to test this further. //Marshall&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Setting {{f|CarryOverCap|0|link}}. Default value is -1, positive values do not cause an IE.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;I have tested this and couldn&#039;t get an IE to occur. Are there any specific circumstances that are required to trigger an IE on a map with CarryOverCap=0? Note that, in FA2YR, CarryOverCap defaults to zero so I would expect this IE to have been seen more often if it was really a problem. //Marshall&#039;&#039; &lt;br /&gt;
: This setting applies when you progress from one campaign map to another. However, I now see that the default campaigns use 0, so there must be something else amiss. A quick investigation shows that this value is not divided by, so there shouldn&#039;t be an exception at all... Will contact Apollo who submitted this as the cause. &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| Warheads that are not listed under {{tt|[[Warheads|[Warheads]]]}} have been reported to cause an IE, although the exact details are not established. It is not neccessary for every warhead to be listed (for example, removing the Grand Cannon warhead from the list appears to have no effect on the game), however there is no reason not to list every warhead. &#039;&#039;&#039;Validity questionable - if someone can replicate this then please provide an except.txt.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;Simply thinking about this, putting warheads on the list should guarantee their position in the internal array, so if there is anywhere that references warheads by internal array position then this is important. However, even if you change an existing weapon&#039;s warhead to a non-parsed one in a game mode file, you &#039;&#039;still&#039;&#039; won&#039;t get an IE because default warhead values will be used. Because of this, I&#039;m starting to wonder if the reports of un-listed warheads causing an IE are erroneous. If someone can replicate this then please provide an except.txt //Marshall&#039;&#039;&lt;br /&gt;
: Verified under a debugger - if a weapon exists and links to a warhead that does not, this will not cause an IE, warhead stats will simply remain defaulted. (In other cases, warheads should also remain defaulted but functional. I have not verified every warhead loading location now, but my applicable ini flags tables should indicate whether or not uninited objects cause issues.) &#039;&#039;//[[User:DCoder|DCoder]] 12:44, 11 May 2008 (UTC)&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|?|eip}}&lt;br /&gt;
| If a falling paratrooper (who has nearly reached the ground) is killed by an area-effect mutation weapon. Point based mutations seem to be okay (the falling paratrooper explodes) and the [[Super weapon:Genetic Mutator|Genetic Mutator]] seems incapable of killing falling paratroopers. If you have an area-effect mutation weapon, you should ensure that all paratroopers are immune to it (this also means that you can&#039;t have a buildable paradrop plane and an area-effect mutation weapon in the same mod).&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|00000000|eip}}&lt;br /&gt;
| Placing two buildings on a map in the map editor so that they overlap, and then destroying or garrisoning one of them in-game. Note that this error is intermittent so may not immediately be noticeable. Use [[FinalAlert]]&#039;s {{tt|Options}} {{arr|r}} {{tt|Show Building Outline}} feature to see the actual areas taken up by buildings, since there are some buildings whose foundation is different from their visual size, and make sure you don&#039;t have any buildings that overlap.&lt;br /&gt;
Given the unusual EIP value (all zeroes) that has been gathered from testing, it may be a corrupt EIP and not a true indication of the source of the error. Note that this EIP has also been gathered from other &#039;random-EIP&#039; causes.&lt;br /&gt;
:Indeed it is not a true indication, EIP 00000000 can be acquired in several ways. If you can provide an except, I will be able to provide more specific details to look for, like in the case of 0045EC90 . &#039;&#039;//[[User:DCoder|DCoder]]&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|004A2684|eip}}&lt;br /&gt;
| Starting a game on any map concludes in a &amp;quot;unable to read scenario&amp;quot; error while loading. The cause of this is an empty uimd.ini file or possibly another empty ini file without any content.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|007564BD|eip}}&lt;br /&gt;
| Internal error when starting a game, possibly caused by attempting to load graphics from a corrupt mix file.&lt;br /&gt;
&#039;&#039;//[[User:RaVaGe|RaVaGe]]&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|404E0000|eip}} &lt;br /&gt;
| Selectable=no on spawned [[AircraftTypes]].&lt;br /&gt;
&#039;&#039;// [[User:Bbglas007|Bbglas007]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error also occurs if there are overlapping structures and/or overlapping rubble on the map and units try to pathfind over them or one of the buildings is destroyed. Keep in mind that an existing building with Image=none (like for example a nuclear silo) still remains its Bib as it is read from art.ini. So if you give a [NUKE] Image=none it still remains its 3x3 Bib, which counts as an overlapping building. In general don&#039;t have overlapping buildings on your map.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039; and ~ [[User:RAZER|RAZER]]&lt;br /&gt;
|-&lt;br /&gt;
! {{Anchor|006E2449|eip}} &lt;br /&gt;
| This error occurs when you fire a trigger action 42 (Do explosion at...) at an undefined waypoint.&lt;br /&gt;
&#039;&#039;// [[User:DoctorEvil|DoctorEvil]]&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Broken-reference Causes===&lt;br /&gt;
*Most of the flags that point to an object type do not verify that the object type exists and will try to invoke it anyway. This includes pointers to weapons, projectiles, warheads, particles, particle systems and infantry/unit/aircraft/building types, among other things.&lt;br /&gt;
*All object types must be parsed in order for them to be invoked successfully. For example, a weapon must be parsed by being referenced by a unit in the main rules (weapons used in a game mode that aren&#039;t referenced in the main rules will not have been parsed, nor will shrapnel weapons that haven&#039;t been referenced by a dummy unit).&lt;br /&gt;
*Note that all weapons have to specify a {{f|Warhead|link}} tag and the tag must not be blank otherwise an IE will occur. However if the specified {{f|Warhead|link}} does not exist then that will not cause an IE, as the game will use default warhead settings.&lt;br /&gt;
*Your object type may not be &#039;missing&#039; as such, you may just have mis-spelled its ID (e.g. &amp;quot;MagenticBeam&amp;quot; as opposed to &amp;quot;MagneticBeam&amp;quot;). Always check your typing carefully to make sure you don&#039;t &amp;lt;!-- irony intended --&amp;gt; any words out.&lt;br /&gt;
&lt;br /&gt;
===Tank Bunker / Sell Unit IEs===&lt;br /&gt;
*There are two IEs that can occur after using a &#039;Sell Unit&#039; superweapon on a tank-bunkered unit. Both of these IEs can yield seemingly random EIP values (due to the fact that, when the unit is sold, the building&#039;s &amp;quot;BunkeredUnit&amp;quot; pointer isn&#039;t cleared and so points to garbage memory. Attempts to dereference it will be met with varying levels of failure).&lt;br /&gt;
*An IE may occur the instant you sell the unit.&lt;br /&gt;
*If an IE does not occur the instant you sell the unit, then the Tank Bunker will have been rendered unusable as the walls are still up. If the &#039;broken&#039; Tank Bunker is sold or destroyed then an IE will occur (this IE &#039;&#039;does&#039;&#039; always happen). This IE frequently yields EIP 004593BB, although has been known to yield seemingly random EIP values (for the reason stated above).&lt;br /&gt;
*The only way to prevent these IEs is to make sure a player never has access to both the Sell Unit superweapon and the Tank Bunker at the same time. &amp;lt;small&amp;gt;(To achieve this, the building that provides the superweapon must be uncapturable and immune to mind-control as must the Tank Bunker. Further more, unless both buildings are country specials, you will need to remove MCVs from crates and make Construction Yards uncapturable and immune to mind-control too.)&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software used to find Internal Errors==&lt;br /&gt;
*[http://dc.strategy-x.com/checker INI Checker] (can check your rules, art and sound files for syntactic errors like typos and missing references)&lt;br /&gt;
*[[ExceptChecker]] (primarily for RockPatch-related IEs, it analyzes except.txt, tries to find references to code added by the patch or known routines, and &#039;&#039;might&#039;&#039; then be able give a direction)&lt;br /&gt;
*[[Debugger]] (if you know assembler)&lt;br /&gt;
&lt;br /&gt;
==Note==&lt;br /&gt;
*After observing [[IE]] for several times, I found that &#039;&#039;&#039; &amp;quot;EIP &amp;quot; &#039;&#039;&#039; that occurs are expressed in categories such as unit errors, image errors, sound errors, configuration + settings errors, etc.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[Reconnection Error]]&lt;br /&gt;
*[http://forums.renegadeprojects.com/showthread.php?pid=2034#pid2034 Confirmation the Infantry Linking IE also applies to modifications done by maps]&lt;br /&gt;
&lt;br /&gt;
[[Category:Bugs_and_Errors]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Cloakable&amp;diff=28529</id>
		<title>Cloakable</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Cloakable&amp;diff=28529"/>
		<updated>2025-04-22T07:17:19Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Undo revision 28432 by AuY (talk) - this key does in fact work on buildings too (at least in TS).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name={{PAGENAME}}&lt;br /&gt;
|files={{Categ|Rules(md).ini}}&lt;br /&gt;
|values=boolean&lt;br /&gt;
|default=no&lt;br /&gt;
|types={{Categ|InfantryTypes}},{{Categ|VehicleTypes}},{{Categ|BuildingTypes}}&lt;br /&gt;
|ra=yes&lt;br /&gt;
|cs=yes&lt;br /&gt;
|am=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ets=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
Specifies whether this object has a cloaking device, which can render it invisible to enemy units without {{f|Sensors|yes|link}}, or [[BuildingTypes|buildings]] without {{f|SensorArray|yes|link}}. This effect also applies to the mini-map, which will only show the revealed (uncloaked) state of the unit.&lt;br /&gt;
&lt;br /&gt;
==In {{ts}}==&lt;br /&gt;
Strangely, despite [[TechnoTypes]] lacking {{f|Sensors|yes|link}}, they can still automatically attack units that have &amp;lt;tt&amp;gt;Cloakable=yes&amp;lt;/tt&amp;gt; within range, as if there was no cloaking effect.&lt;br /&gt;
&lt;br /&gt;
Unlike in later games, TS (and [[Firestorm]]) support &amp;lt;tt&amp;gt;Cloakable&amp;lt;/tt&amp;gt; and [[CloakingSpeed]] tags on buildings, without any problems.&lt;br /&gt;
&lt;br /&gt;
==In {{ra2}}==&lt;br /&gt;
Earlier games did not have submarines, and so the cloaking effect only applied to terrestrial units, but in RA2 the cloaking system was repurposed for the Soviet Attack Sub. As such, the sound effects were updated to reflect their aquatic nature, with the splash effect defined by [[CloakSound]] under [AudioVisual], played for both cloaking and decloaking. &lt;br /&gt;
&lt;br /&gt;
The {{f|CloakStop|yes|link}} tag was added to keep a unit like the Attack Sub cloaked when firing or in ambush position.&lt;br /&gt;
&lt;br /&gt;
{{Bugs}}&lt;br /&gt;
In RA2, a fully cloaked unit (presumably submarine) might still reveal itself when retaliating (enabled by {{f|CanRetaliate|yes|link}}), or if the target of attack is sufficiently far away from it.&lt;br /&gt;
&lt;br /&gt;
Explicitly set &amp;lt;tt&amp;gt;Cloakable=no&amp;lt;/tt&amp;gt; will be overridden if a unit gains the abilities through [[Veterancy|promotion]].&lt;br /&gt;
&lt;br /&gt;
[[SpeedType|Hovering]]/Flying units do not support &amp;lt;tt&amp;gt;Cloakable=yes&amp;lt;/tt&amp;gt;, however granting them cloakability via [[VeteranAbilities]] or [[EliteAbilities]] is possible.&lt;br /&gt;
* Ares has removed this hardcode, allowing the definition of the height for determining cloakable, and defaults it to the value of [[HoverHeight]] located under [General], used by hovering units. Therefore by default, just having Ares enables the logic for hovering units, and requires additional configuration to return to vanilla game behaviour.&lt;br /&gt;
&lt;br /&gt;
Cloaked units will not trigger/activate [[Celltags]] on maps. This was an intentional design choice from Westwood, according to analysis of the engine code.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[CloakingStages]]&lt;br /&gt;
&lt;br /&gt;
[[Sensors]]&lt;br /&gt;
&lt;br /&gt;
[[SensorArray]]&lt;br /&gt;
&lt;br /&gt;
[[RadarInvisible]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28055</id>
		<title>EliteAbilities</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28055"/>
		<updated>2025-04-12T10:51:29Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name=EliteAbilities&lt;br /&gt;
|files={{Categ|Rules(md).ini}}&lt;br /&gt;
|values={{Values|stringlist|hardcoded values (see article)}}&lt;br /&gt;
|default=none&lt;br /&gt;
|types=All {{Categ|TechnoTypes}}: {{Categ|InfantryTypes}}, {{Categ|VehicleTypes}}, {{Categ|AircraftTypes}}, and {{Categ|BuildingTypes}}&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|hp=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
|ares=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This flag specifies a list of veterancy bonuses that this object gains when it reaches &amp;quot;Elite&amp;quot; stage. All possible values are hardcoded, and are listed at {{f|VeteranAbilities|link}}.&lt;br /&gt;
&lt;br /&gt;
These values do not stack with {{f|VeteranAbilities|link}}; i.e. you do not get twice the damage reduction from having the {{tt|ARMOR}} statement in both lists.&lt;br /&gt;
&lt;br /&gt;
[[Image:TS_VeteranAbilities_EliteAbilities_demo01.png|thumb|right]]&lt;br /&gt;
Abilities listed as {{f|EliteAbilities|link}} will be added in addition to what is listed as {{f|VeteranAbilities|link}} (subject to the no-doubling limit explained above). For example:&lt;br /&gt;
* VeteranAbilities=CLOAK&lt;br /&gt;
* EliteAbilities=SCATTER&lt;br /&gt;
This unit will thus gain CLOAK at Veteran stage, and SCATTER at Elite stage &amp;lt;i&amp;gt;on top of the Veteran CLOAK bonus&amp;lt;/i&amp;gt;. Both bonus effects will thus apply in the end.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Contrary to what one might expect, the {{tt|FIREPOWER}} and {{tt|ROF}} bonuses are applied to the object&#039;s {{f|Elite|link}} weapon, if any.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*{{f|VeteranAbilities|link}}&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28054</id>
		<title>EliteAbilities</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28054"/>
		<updated>2025-04-12T10:50:49Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name=EliteAbilities&lt;br /&gt;
|files={{Categ|Rules(md).ini}}&lt;br /&gt;
|values={{Values|stringlist|hardcoded values (see article)}}&lt;br /&gt;
|default=none&lt;br /&gt;
|types=All {{Categ|TechnoTypes}}: {{Categ|InfantryTypes}}, {{Categ|VehicleTypes}}, {{Categ|AircraftTypes}}, and {{Categ|BuildingTypes}}&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|hp=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
|ares=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This flag specifies a list of veterancy bonuses that this object gains when it reaches &amp;quot;Elite&amp;quot; stage. All possible values are hardcoded, and are listed at {{f|VeteranAbilities|link}}.&lt;br /&gt;
&lt;br /&gt;
These values do not stack with {{f|VeteranAbilities|link}}; i.e. you do not get twice the damage reduction from having the {{tt|ARMOR}} statement in both lists.&lt;br /&gt;
&lt;br /&gt;
[[Image:TS_VeteranAbilities_EliteAbilities_demo01.png|thumb|right]]&lt;br /&gt;
Abilities listed as {{f|EliteAbilities|link}} will be added in addition to what is listed as {{f|VeteranAbilities|link}} (subject to the no-doubling limit explained above). For example:&lt;br /&gt;
* VeteranAbilities=CLOAK&lt;br /&gt;
* EliteAbilities=SCATTER&lt;br /&gt;
* This unit will thus gain CLOAK at Veteran stage, and SCATTER at Elite stage &amp;lt;i&amp;gt;on top of the Veteran CLOAK bonus&amp;lt;/i&amp;gt;. Both bonus effects will thus apply in the end.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Contrary to what one might expect, the {{tt|FIREPOWER}} and {{tt|ROF}} bonuses are applied to the object&#039;s {{f|Elite|link}} weapon, if any.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*{{f|VeteranAbilities|link}}&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28053</id>
		<title>EliteAbilities</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28053"/>
		<updated>2025-04-12T10:46:06Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name=EliteAbilities&lt;br /&gt;
|files={{Categ|Rules(md).ini}}&lt;br /&gt;
|values={{Values|stringlist|hardcoded values (see article)}}&lt;br /&gt;
|default=none&lt;br /&gt;
|types=All {{Categ|TechnoTypes}}: {{Categ|InfantryTypes}}, {{Categ|VehicleTypes}}, {{Categ|AircraftTypes}}, and {{Categ|BuildingTypes}}&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|hp=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
|ares=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This flag specifies a list of veterancy bonuses that this object gains when it reaches &amp;quot;Elite&amp;quot; stage. All possible values are hardcoded, and are listed at {{f|VeteranAbilities|link}}.&lt;br /&gt;
&lt;br /&gt;
These values do not stack with {{f|VeteranAbilities|link}}; i.e. you do not get twice the damage reduction from having the {{tt|ARMOR}} statement in both lists.&lt;br /&gt;
&lt;br /&gt;
Abilities listed as {{f|EliteAbilities|link}} will be added in addition to what is listed as {{f|VeteranAbilities|link}} (subject to the no-doubling limit explained above). For example:&lt;br /&gt;
* VeteranAbilities=CLOAK&lt;br /&gt;
* EliteAbilities=SCATTER&lt;br /&gt;
* This unit will thus gain CLOAK at Veteran stage, and SCATTER at Elite stage &amp;lt;i&amp;gt;on top of the Veteran CLOAK bonus&amp;lt;/i&amp;gt;. Both bonus effects will thus apply in the end.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
TS_VeteranAbilities_EliteAbilities_demo01.png|Visual confirmation of the example above, from Tiberian Sun.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Contrary to what one might expect, the {{tt|FIREPOWER}} and {{tt|ROF}} bonuses are applied to the object&#039;s {{f|Elite|link}} weapon, if any.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*{{f|VeteranAbilities|link}}&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=File:TS_VeteranAbilities_EliteAbilities_demo01.png&amp;diff=28052</id>
		<title>File:TS VeteranAbilities EliteAbilities demo01.png</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=File:TS_VeteranAbilities_EliteAbilities_demo01.png&amp;diff=28052"/>
		<updated>2025-04-12T10:45:11Z</updated>

		<summary type="html">&lt;p&gt;Askhati: An example from TS, where an unit has `VeteranAbilities=CLOAK` and `EliteAbilities=SCATTER`; it is clear to see here that the infantry gained Cloaking at Veteran stage (two bars), and then retained that Cloaking bonus when it reached Elite stage (star).&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
An example from TS, where an unit has `VeteranAbilities=CLOAK` and `EliteAbilities=SCATTER`; it is clear to see here that the infantry gained Cloaking at Veteran stage (two bars), and then retained that Cloaking bonus when it reached Elite stage (star).&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28047</id>
		<title>EliteAbilities</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=EliteAbilities&amp;diff=28047"/>
		<updated>2025-04-12T10:30:41Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Added clarification on how EliteAbilities bonuses stack on top of VeteranAbilities bonuses.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name=EliteAbilities&lt;br /&gt;
|files={{Categ|Rules(md).ini}}&lt;br /&gt;
|values={{Values|stringlist|hardcoded values (see article)}}&lt;br /&gt;
|default=none&lt;br /&gt;
|types=All {{Categ|TechnoTypes}}: {{Categ|InfantryTypes}}, {{Categ|VehicleTypes}}, {{Categ|AircraftTypes}}, and {{Categ|BuildingTypes}}&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|hp=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
|ares=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This flag specifies a list of veterancy bonuses that this object gains when it reaches &amp;quot;Elite&amp;quot; stage. All possible values are hardcoded, and are listed at {{f|VeteranAbilities|link}}.&lt;br /&gt;
&lt;br /&gt;
These values do not stack with {{f|VeteranAbilities|link}}; i.e. you do not get twice the damage reduction from having the {{tt|ARMOR}} statement in both lists.&lt;br /&gt;
&lt;br /&gt;
Abilities listed as {{f|EliteAbilities|link}} will be added in addition to what is listed as {{f|VeteranAbilities|link}} (subject to the no-doubling limit explained above). For example:&lt;br /&gt;
* VeteranAbilities=CLOAK&lt;br /&gt;
* EliteAbilities=SCATTER&lt;br /&gt;
* This unit will thus gain CLOAK at Veteran stage, and SCATTER at Elite stage &amp;lt;i&amp;gt;on top of the Veteran CLOAK bonus&amp;lt;/i&amp;gt;. Both bonus effects will thus apply in the end.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Contrary to what one might expect, the {{tt|FIREPOWER}} and {{tt|ROF}} bonuses are applied to the object&#039;s {{f|Elite|link}} weapon, if any.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
*{{f|VeteranAbilities|link}}&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Useable_Templates_for_contribution&amp;diff=27930</id>
		<title>Useable Templates for contribution</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Useable_Templates_for_contribution&amp;diff=27930"/>
		<updated>2025-04-10T13:27:50Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{I}} To keep an unique look on every page and to keep the text structured and visualized, there are some templates available:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Flag ==&lt;br /&gt;
{{Flag&lt;br /&gt;
|files={{Categ|ini=rules}}&lt;br /&gt;
|values={{Values|Boolean}}&lt;br /&gt;
|default=0&lt;br /&gt;
|types={{Categ|BuildingTypes}}&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Code:&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Flag&lt;br /&gt;
|files={{Categ|ini=rules}}&lt;br /&gt;
|values={{Values|Boolean}}&lt;br /&gt;
|default=0&lt;br /&gt;
|types={{Categ|BuildingTypes}}&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used on every Flag on top of the article. &lt;br /&gt;
Set games which aren&#039;t using that flag to no.&lt;br /&gt;
Example: [[IsJuggernaut|IsJuggernaut]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Guideheader ===&lt;br /&gt;
{{Guideheader&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Guideheader&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
For any kinds of tutorials to visualize for which game the guide/tutorial is for.&lt;br /&gt;
Example: [[How_to_add_Repair_ring_System|How_to_add_Repair_ring_System]]&lt;br /&gt;
&lt;br /&gt;
===HoriontalBar===&lt;br /&gt;
{{HorizontalBar|[[Image:Cc_documentinfo.png‎|24px]] This is a text}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{HorizontalBar|[[Image:Cc_documentinfo.png‎|24px]] This is a text}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image can be replaced with any picture from [[Special:ListFiles]].Pictures with CC at the beginning are recommended for this Template.&lt;br /&gt;
24px says, the picture will be shown with a width of 24 pixels.&lt;br /&gt;
&lt;br /&gt;
===BigHorizontalBar===&lt;br /&gt;
{{BigHorizontalBar|THIS IS A HEADLINE|Tiberian Sun is the best game in the World}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{BigHorizontalBar|HEADLINE|TEXT}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RedHorizontalBar===&lt;br /&gt;
{{RedHorizontalBar|THIS IS A HEADLINE|Tiberian Sun is the best game in the World}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{RedHorizontalBar|HEADLINE|TEXT}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WrongTitle===&lt;br /&gt;
{{WrongTitle|[{{PAGENAME}}]}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{WrongTitle|[{{PAGENAME}}]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example: [[VehicleTypes|VehicleTypes]]&lt;br /&gt;
&lt;br /&gt;
===I===&lt;br /&gt;
{{I}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{I}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arr===&lt;br /&gt;
{{Arr|u}} {{Arr|d}} {{Arr|l}} {{Arr|r}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Arr|x}}&lt;br /&gt;
replace x with&lt;br /&gt;
u - arrow up&lt;br /&gt;
d - arrow down&lt;br /&gt;
l - arrow left&lt;br /&gt;
r - arrow right&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NeedsTesting===&lt;br /&gt;
{{NeedsTesting}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{NeedsTesting}}&lt;br /&gt;
{{NeedsTesting|New Text is also possible}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Strike===&lt;br /&gt;
{{Strike|text}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Strike|text}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Content style consistency===&lt;br /&gt;
* When listing multiple items, use proper list formatting: * (asterisk) in front of each list item.&lt;br /&gt;
* Sentences should end with a full-stop.&lt;br /&gt;
* When quoting text, use single quotes instead of double quotes - e.g. `this phrase&#039; instead of &amp;quot;this phrase&amp;quot;.&lt;br /&gt;
* When listing two alternates A or B, the following conventions apply:&lt;br /&gt;
** if A and B are single words, then &#039;A/B&#039; (no spaces) - e.g. this/that.&lt;br /&gt;
** if A and/or B consist of multiple words, then &#039;A / B&#039; (spaces before and after slash) - e.g. Global Defense Initiative / Brotherhood of Nod.&lt;br /&gt;
** If A and/or B are URL links, use the same &#039;A / B&#039; convention above to make it more obvious that one or more links are present.&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Useable_Templates_for_contribution&amp;diff=27929</id>
		<title>Useable Templates for contribution</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Useable_Templates_for_contribution&amp;diff=27929"/>
		<updated>2025-04-10T13:16:08Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{I}} To keep an unique look on every page and to keep the text structured and visualized, there are some templates available:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Flag ==&lt;br /&gt;
{{Flag&lt;br /&gt;
|files={{Categ|ini=rules}}&lt;br /&gt;
|values={{Values|Boolean}}&lt;br /&gt;
|default=0&lt;br /&gt;
|types={{Categ|BuildingTypes}}&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;Code:&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Flag&lt;br /&gt;
|files={{Categ|ini=rules}}&lt;br /&gt;
|values={{Values|Boolean}}&lt;br /&gt;
|default=0&lt;br /&gt;
|types={{Categ|BuildingTypes}}&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This should be used on every Flag on top of the article. &lt;br /&gt;
Set games which aren&#039;t using that flag to no.&lt;br /&gt;
Example: [[IsJuggernaut|IsJuggernaut]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Guideheader ===&lt;br /&gt;
{{Guideheader&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Guideheader&lt;br /&gt;
|td=yes&lt;br /&gt;
|ra=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
For any kinds of tutorials to visualize for which game the guide/tutorial is for.&lt;br /&gt;
Example: [[How_to_add_Repair_ring_System|How_to_add_Repair_ring_System]]&lt;br /&gt;
&lt;br /&gt;
===HoriontalBar===&lt;br /&gt;
{{HorizontalBar|[[Image:Cc_documentinfo.png‎|24px]] This is a text}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{HorizontalBar|[[Image:Cc_documentinfo.png‎|24px]] This is a text}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Image can be replaced with any picture from [[Special:ListFiles]].Pictures with CC at the beginning are recommended for this Template.&lt;br /&gt;
24px says, the picture will be shown with a width of 24 pixels.&lt;br /&gt;
&lt;br /&gt;
===BigHorizontalBar===&lt;br /&gt;
{{BigHorizontalBar|THIS IS A HEADLINE|Tiberian Sun is the best game in the World}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{BigHorizontalBar|HEADLINE|TEXT}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RedHorizontalBar===&lt;br /&gt;
{{RedHorizontalBar|THIS IS A HEADLINE|Tiberian Sun is the best game in the World}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{RedHorizontalBar|HEADLINE|TEXT}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===WrongTitle===&lt;br /&gt;
{{WrongTitle|[{{PAGENAME}}]}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{WrongTitle|[{{PAGENAME}}]}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Example: [[VehicleTypes|VehicleTypes]]&lt;br /&gt;
&lt;br /&gt;
===I===&lt;br /&gt;
{{I}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{I}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Arr===&lt;br /&gt;
{{Arr|u}} {{Arr|d}} {{Arr|l}} {{Arr|r}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Arr|x}}&lt;br /&gt;
replace x with&lt;br /&gt;
u - arrow up&lt;br /&gt;
d - arrow down&lt;br /&gt;
l - arrow left&lt;br /&gt;
r - arrow right&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NeedsTesting===&lt;br /&gt;
{{NeedsTesting}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{NeedsTesting}}&lt;br /&gt;
{{NeedsTesting|New Text is also possible}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Strike===&lt;br /&gt;
{{Strike|text}}&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Strike|text}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Content style consistency===&lt;br /&gt;
* When listing multiple items, use proper list formatting: * (asterisk) in front of each list item&lt;br /&gt;
&lt;br /&gt;
* When listing two alternates A or B, the following conventions apply:&lt;br /&gt;
** if A and B are single words, then &amp;quot;A/B&amp;quot; (no spaces) - e.g. this/that&lt;br /&gt;
** if A and/or B consist of multiple words, then &amp;quot;A / B&amp;quot; (spaces before and after slash) - e.g. Global Defense Initiative / Brotherhood of Nod&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=Cloakable&amp;diff=27928</id>
		<title>Cloakable</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=Cloakable&amp;diff=27928"/>
		<updated>2025-04-10T12:54:28Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Flag&lt;br /&gt;
|name={{PAGENAME}}&lt;br /&gt;
|files={{Categ|Rules(md).ini}}&lt;br /&gt;
|values=boolean&lt;br /&gt;
|default=no&lt;br /&gt;
|types={{Categ|InfantryTypes}},{{Categ|VehicleTypes}},{{Categ|BuildingTypes}}&lt;br /&gt;
|ra=yes&lt;br /&gt;
|cs=yes&lt;br /&gt;
|am=yes&lt;br /&gt;
|ts=yes&lt;br /&gt;
|fs=yes&lt;br /&gt;
|ets=yes&lt;br /&gt;
|ra2=yes&lt;br /&gt;
|yr=yes&lt;br /&gt;
}}&lt;br /&gt;
Specifies whether this object has a cloaking device, which can render it invisible to enemy units without {{f|Sensors|yes|link}}, or [[BuildingTypes|buildings]] without {{f|SensorArray|yes|link}}. This effect also applies to the mini-map, which will only show the revealed (uncloaked) state of the unit.&lt;br /&gt;
&lt;br /&gt;
==In {{ts}}==&lt;br /&gt;
Strangely, despite [[TechnoTypes]] lacking {{f|Sensors|yes|link}}, they can still automatically attack units that have Cloakable=yes within range, as if there was no cloaking effect.&lt;br /&gt;
&lt;br /&gt;
Unlike in later games, TS (and [[Firestorm]]) support Cloakable and [[CloakingSpeed]] tags on buildings, without any problems.&lt;br /&gt;
&lt;br /&gt;
==In {{ra2}}==&lt;br /&gt;
Earlier games did not have submarines, and so the cloaking effect only applied to terrestrial units, but in RA2 the cloaking system was repurposed for the Soviet Attack Sub. As such, the sound effects were updated to reflect their aquatic nature, with the splash effect defined by [[CloakSound]] under [AudioVisual], played for both cloaking and decloaking. &lt;br /&gt;
&lt;br /&gt;
The {{f|CloakStop|yes|link}} tag was added to keep a unit like the Attack Sub cloaked when firing or in ambush position.&lt;br /&gt;
&lt;br /&gt;
{{Bugs}}&lt;br /&gt;
* In RA2, a fully cloaked unit (presumably submarine) might still reveal itself when retaliating (enabled by {{f|CanRetaliate|yes|link}}), or if the target of attack is sufficiently far away from it.&lt;br /&gt;
&lt;br /&gt;
* Explicitly set Cloakable=no will be overridden if a unit gains the abilities through [[Veterancy|promotion]].&lt;br /&gt;
&lt;br /&gt;
* [[SpeedType|Hovering]]/Flying units do not support Cloakable=yes, however granting them cloakability via [[VeteranAbilities]] or [[EliteAbilities]] is possible.&lt;br /&gt;
** Ares has removed this hardcode, allowing the definition of the height for determining cloakable, and defaults it to the value of [[HoverHeight]] located under [General], used by hovering units. Therefore by default, just having Ares enables the logic for hovering units, and requires additional configuration to return to vanilla game behaviour.&lt;br /&gt;
&lt;br /&gt;
* Cloaked units will not trigger / activate celltags on maps. This was an intentional design choice from Westwood, as per analysis of the engine code (per Rampastring work).&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[CloakingStages]]&lt;br /&gt;
&lt;br /&gt;
[[Sensors]]&lt;br /&gt;
&lt;br /&gt;
[[SensorArray]]&lt;br /&gt;
&lt;br /&gt;
[[RadarInvisible]]&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=ModEnc%C2%B2:Community_Portal&amp;diff=27738</id>
		<title>ModEnc²:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=ModEnc%C2%B2:Community_Portal&amp;diff=27738"/>
		<updated>2025-04-06T22:07:20Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides links to pages in the community; feel free to add your link to the bottom of the appropriate list. &amp;lt;s&amp;gt;(Remember that this works on a &#039;&#039;first-come-first-served&#039;&#039; basis. Add your link to the &#039;&#039;bottom&#039;&#039; of the list.)&amp;lt;/s&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;Update 2025: try to keep the listings alphabetically descending A-Z where possible.&lt;br /&gt;
&lt;br /&gt;
=== Mods - Tiberian Sun / Firestorm ===&lt;br /&gt;
Last update: 2025.04.07&lt;br /&gt;
* [https://www.moddb.com/mods/tiberian-sun-aftermath/ Aftermath]&lt;br /&gt;
* [https://www.moddb.com/mods/the-dawn-of-the-tiberium-age/ Dawn of the Tiberium Age]&lt;br /&gt;
* [https://www.moddb.com/mods/fading-dusk/ Fading Dusk]&lt;br /&gt;
* [https://www.moddb.com/mods/tiberian-sun-rubicon/ Rubicon]&lt;br /&gt;
* [https://www.moddb.com/mods/cc-tiberian-odyssey/ Tiberian Odyssey]&lt;br /&gt;
* [https://www.moddb.com/mods/twisted-insurrection/ Twisted Insurrection]&lt;br /&gt;
&lt;br /&gt;
=== Mods - Red Alert 2 / Yuri&#039;s Revenge ===&lt;br /&gt;
* [http://mo.cncguild.net/ Mental Omega]&lt;br /&gt;
* [http://exile.freedomstudios.net/ragen YR: Zero Hour]&lt;br /&gt;
* [http://thirdwar.cncguild.net/ The Third War]&lt;br /&gt;
* [http://dday.migeater.net/ D-day]&lt;br /&gt;
&lt;br /&gt;
=== Mods - Legacy/ Dead ===&lt;br /&gt;
* [http://www.deezire.net/ DeeZire] - The site is dead. Mod is available on [http://commandandconquer.filefront.com/file/RA2_Deezire;34109 FileFront].&lt;br /&gt;
* {{co|CannisRules: Balance of Power|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. [http://www.lusitaniaonline.net/cgm/ Mirror 1] and [http://dc.strategy-x.com/mirrors/cgen/ mirror 2].&lt;br /&gt;
* {{co|MooMan&#039;s Rules/YR²|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. [http://forums.revora.net/index.php?showtopic=59447 Mirror].&lt;br /&gt;
* [http://marshall.cannis.net/ump YR Unofficial 1.002 Mini-Patch] - Original site is dead. Available through [[LaunchBase]].&lt;br /&gt;
* {{co|AR2 (formerly Allies Revenge 2)|red}} - The site is dead.&lt;br /&gt;
* [http://marshall.strategy-x.com/purple Purple Alert] - The site is dead.&lt;br /&gt;
* {{co|Terrain Expansion project for Yuri&#039;s Revenge|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. [http://www.lusitaniaonline.net/cgm/ Mirror 1] and [http://dc.strategy-x.com/mirrors/cgen/ mirror 2]. Also available through [[LaunchBase]].&lt;br /&gt;
* [http://exile.freedomstudios.net/cnc-exile C&amp;amp;C Exile] - Freedom Studios is gone.&lt;br /&gt;
* {{co|The Project|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. An older version of this mod is mirrored on the [http://web.archive.org/web/20071109084207/http://project.cannis.net/files/projectbeta60.exe Wayback Machine]&lt;br /&gt;
* [http://wbr.strategy-x.com/ Whiteboy&#039;s Rules] - Site is dead.&lt;br /&gt;
* {{co|Retaliation|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. This has not been mirrored.&lt;br /&gt;
* [http://takt.sytes.net/ Taktics (The Awakened Kingdom - The Initial Chaotic Strike)] - The site is dead.&lt;br /&gt;
&lt;br /&gt;
=== Tutorials/[[Tools]] ===&lt;br /&gt;
* [http://dc.strategy-x.com/ DCoder&#039;s RedUtils] &lt;br /&gt;
* [http://www.ppmsite.com/ Project Perfect Mod]&lt;br /&gt;
* [http://marshall.strategy-x.com/yrpm YR Playlist Manager]&lt;br /&gt;
* {{co|RA2YR Clean Up|red}} - Superseded by [[LaunchBase]].&lt;br /&gt;
* [http://xhp.xwis.net/ XCC Utilities]&lt;br /&gt;
* [http://exile.freedomstudios.net/ RA2 Awesome] - Freedom Studios is gone.&lt;br /&gt;
* [http://finalsun.wagnerma.de/ Final Alert map editor]&lt;br /&gt;
* {{co|Kravvitz&#039; FAQ Page|red}} - SavageWar, the site hosting these, is &#039;&#039;&#039;dead&#039;&#039;&#039;.&lt;br /&gt;
* [http://ares.strategy-x.com/ Ares]&lt;br /&gt;
* [http://rtb.creativegaming.net/ RockPatch Inofficial Homepage] - Domain for sale.&lt;br /&gt;
* [http://marshall.strategy-x.com/LaunchBase YR Launch Base]&lt;br /&gt;
&lt;br /&gt;
=== General Sites ===&lt;br /&gt;
* [http://www.cncgames.com/ RADEN] - now leads to the abyss. Do &#039;&#039;&#039;not&#039;&#039;&#039; click this link.&lt;br /&gt;
* [http://www.cncden.com/ CNCDEN] - Domain for sale.&lt;br /&gt;
* [http://planetcnc.gamespy.com/ Planet CnC] - Makes you download an INI file.&lt;br /&gt;
* [http://commandandconquer.filefront.com/ CnC Files] - no longer functional.&lt;br /&gt;
* [http://www.sleipnirstuff.com/ Sleipnir&#039;s Stuff] - got nuked to oblivion; assets, threads, everything.&lt;br /&gt;
* [http://www.tiberiumweb.com/ TiberiumWeb] - Domain for sale, and https://www.tiberiumweb.net/ gets IPS Driver Error when accessing anything.&lt;br /&gt;
* [http://yrarg.cncguild.net/ YR Argentina] - no longer updated, and some assets were lost.&lt;br /&gt;
&lt;br /&gt;
=== Networks ===&lt;br /&gt;
* {{co|Cannis Games Editing Network|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;.&lt;br /&gt;
* [http://www.ppmsite.com/ Project Perfect Mod]&lt;br /&gt;
* [http://www.revora.net/ Revora]&lt;br /&gt;
* [http://www.cncguild.net CNC Guild]&lt;br /&gt;
* [http://www.ra2diy.com RA2DIY Forum(China)]&lt;br /&gt;
* [https://modenc.renegadeprojects.com/Main_Page ModEnc] - ModEnc&#039;s old site, established by Renegade. Our &#039;&#039;&#039;shattered&#039;&#039;&#039; homeland&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=User_talk:Askhati&amp;diff=27649</id>
		<title>User talk:Askhati</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=User_talk:Askhati&amp;diff=27649"/>
		<updated>2025-04-05T18:02:16Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Let&#039;s see how long we survive this time...&lt;br /&gt;
 - askhati 2025.04.01&lt;br /&gt;
&lt;br /&gt;
== I wanna test this here to be a real WikiMedia Admin ==&lt;br /&gt;
&lt;br /&gt;
Hello Askhati.&lt;br /&gt;
How are you? How is the weather in Netherland?&lt;br /&gt;
&lt;br /&gt;
Greetings,&lt;br /&gt;
Mark&lt;br /&gt;
&lt;br /&gt;
== Why are you like this ==&lt;br /&gt;
 - askhati 2025.04.05&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=User_talk:DeathFish&amp;diff=27105</id>
		<title>User talk:DeathFish</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=User_talk:DeathFish&amp;diff=27105"/>
		<updated>2025-04-04T15:10:34Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Created page with &amp;quot;Cheers for all the cleaning-up work today with the pages marked for deletion.&amp;lt;br&amp;gt; - Askhati, 2025.04.04&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cheers for all the cleaning-up work today with the pages marked for deletion.&amp;lt;br&amp;gt;&lt;br /&gt;
- [[User:Askhati|Askhati]], 2025.04.04&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=ModEnc%C2%B2_talk:Community_Portal&amp;diff=26982</id>
		<title>ModEnc² talk:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=ModEnc%C2%B2_talk:Community_Portal&amp;diff=26982"/>
		<updated>2025-04-02T16:21:30Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Created page with &amp;quot;Started with a first sweep to update the Mod list. More additions welcome.&amp;lt;br&amp;gt;  It would be great if we could implement a version control/ current development status too, per mod. That way our readers can see which mods are done, or in-progress, or abandoned.&amp;lt;br&amp;gt;  - askhati 2025.04.02&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Started with a first sweep to update the Mod list. More additions welcome.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It would be great if we could implement a version control/ current development status too, per mod. That way our readers can see which mods are done, or in-progress, or abandoned.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- askhati 2025.04.02&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=ModEnc%C2%B2:Community_Portal&amp;diff=26981</id>
		<title>ModEnc²:Community Portal</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=ModEnc%C2%B2:Community_Portal&amp;diff=26981"/>
		<updated>2025-04-02T16:19:10Z</updated>

		<summary type="html">&lt;p&gt;Askhati: Reordered Mod list to split by game type versions (TS/FS, RA2/YR, Legacy/Dead)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides links to pages in the community; feel free to add your link to the bottom of the appropriate list. (Remember that this works on a &#039;&#039;first-come-first-served&#039;&#039; basis. Add your link to the &#039;&#039;bottom&#039;&#039; of the list.)&lt;br /&gt;
&lt;br /&gt;
=== Mods - Tiberian Sun / Firestorm ===&lt;br /&gt;
* [https://www.moddb.com/mods/tiberian-sun-aftermath/ Aftermath]&lt;br /&gt;
* [https://www.moddb.com/mods/the-dawn-of-the-tiberium-age/ Dawn of the Tiberium Age]&lt;br /&gt;
* [https://www.moddb.com/mods/fading-dusk/ Fading Dusk] - currently open Beta&lt;br /&gt;
* [https://www.moddb.com/mods/tiberian-sun-rubicon/ Rubicon]&lt;br /&gt;
* [https://www.moddb.com/mods/twisted-insurrection/ Twisted Insurrection]&lt;br /&gt;
&lt;br /&gt;
=== Mods - Red Alert 2 / Yuri&#039;s Revenge ===&lt;br /&gt;
* [http://mo.cncguild.net/ Mental Omega]&lt;br /&gt;
* [http://exile.freedomstudios.net/ragen YR: Zero Hour]&lt;br /&gt;
* [http://thirdwar.cncguild.net/ The Third War]&lt;br /&gt;
* [http://dday.migeater.net/ D-day]&lt;br /&gt;
&lt;br /&gt;
=== Mods - Legacy/ Dead ===&lt;br /&gt;
* [http://www.deezire.net/ DeeZire] - The site is dead. Mod is available on [http://commandandconquer.filefront.com/file/RA2_Deezire;34109 FileFront].&lt;br /&gt;
* {{co|CannisRules: Balance of Power|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. [http://www.lusitaniaonline.net/cgm/ Mirror 1] and [http://dc.strategy-x.com/mirrors/cgen/ mirror 2].&lt;br /&gt;
* {{co|MooMan&#039;s Rules/YR²|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. [http://forums.revora.net/index.php?showtopic=59447 Mirror].&lt;br /&gt;
* [http://marshall.cannis.net/ump YR Unofficial 1.002 Mini-Patch] - Original site is dead. Available through [[LaunchBase]].&lt;br /&gt;
* {{co|AR2 (formerly Allies Revenge 2)|red}} - The site is dead.&lt;br /&gt;
* [http://marshall.strategy-x.com/purple Purple Alert] - The site is dead.&lt;br /&gt;
* {{co|Terrain Expansion project for Yuri&#039;s Revenge|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. [http://www.lusitaniaonline.net/cgm/ Mirror 1] and [http://dc.strategy-x.com/mirrors/cgen/ mirror 2]. Also available through [[LaunchBase]].&lt;br /&gt;
* [http://exile.freedomstudios.net/cnc-exile C&amp;amp;C Exile] - Freedom Studios is gone.&lt;br /&gt;
* {{co|The Project|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. An older version of this mod is mirrored on the [http://web.archive.org/web/20071109084207/http://project.cannis.net/files/projectbeta60.exe Wayback Machine]&lt;br /&gt;
* [http://wbr.strategy-x.com/ Whiteboy&#039;s Rules] - Site is dead.&lt;br /&gt;
* {{co|Retaliation|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;. This has not been mirrored.&lt;br /&gt;
* [http://takt.sytes.net/ Taktics (The Awakened Kingdom - The Initial Chaotic Strike)] - The site is dead.&lt;br /&gt;
&lt;br /&gt;
=== Tutorials/[[Tools]] ===&lt;br /&gt;
* [http://dc.strategy-x.com/ DCoder&#039;s RedUtils] &lt;br /&gt;
* [http://www.ppmsite.com/ Project Perfect Mod]&lt;br /&gt;
* [http://marshall.strategy-x.com/yrpm YR Playlist Manager]&lt;br /&gt;
* {{co|RA2YR Clean Up|red}} - Superseded by [[LaunchBase]].&lt;br /&gt;
* [http://xhp.xwis.net/ XCC Utilities]&lt;br /&gt;
* [http://exile.freedomstudios.net/ RA2 Awesome] - Freedom Studios is gone.&lt;br /&gt;
* [http://finalsun.wagnerma.de/ Final Alert map editor]&lt;br /&gt;
* {{co|Kravvitz&#039; FAQ Page|red}} - SavageWar, the site hosting these, is &#039;&#039;&#039;dead&#039;&#039;&#039;.&lt;br /&gt;
* [http://ares.strategy-x.com/ Ares]&lt;br /&gt;
* [http://rtb.creativegaming.net/ RockPatch Inofficial Homepage] - Domain for sale.&lt;br /&gt;
* [http://marshall.strategy-x.com/LaunchBase YR Launch Base]&lt;br /&gt;
&lt;br /&gt;
=== General Sites ===&lt;br /&gt;
* [http://www.cncgames.com/ RADEN] - now leads to the abyss. Do &#039;&#039;&#039;not&#039;&#039;&#039; click this link.&lt;br /&gt;
* [http://www.cncden.com/ CNCDEN] - Domain for sale.&lt;br /&gt;
* [http://planetcnc.gamespy.com/ Planet CnC] - Makes you download an INI file.&lt;br /&gt;
* [http://commandandconquer.filefront.com/ CnC Files] - no longer functional.&lt;br /&gt;
* [http://www.sleipnirstuff.com/ Sleipnir&#039;s Stuff] - got nuked to oblivion; assets, threads, everything.&lt;br /&gt;
* [http://www.tiberiumweb.com/ TiberiumWeb] - Domain for sale, and https://www.tiberiumweb.net/ gets IPS Driver Error when accessing anything.&lt;br /&gt;
* [http://yrarg.cncguild.net/ YR Argentina] - no longer updated, and some assets were lost.&lt;br /&gt;
&lt;br /&gt;
=== Networks ===&lt;br /&gt;
* {{co|Cannis Games Editing Network|red}} - Cannis&#039; site is &#039;&#039;&#039;[http://forums.renegadeprojects.com/showthread.php?tid=1183 dead]&#039;&#039;&#039;.&lt;br /&gt;
* [http://www.ppmsite.com/ Project Perfect Mod]&lt;br /&gt;
* [http://www.revora.net/ Revora]&lt;br /&gt;
* [http://www.cncguild.net CNC Guild]&lt;br /&gt;
* [http://www.ra2diy.com RA2DIY Forum(China)]&lt;br /&gt;
* [https://modenc.renegadeprojects.com/Main_Page ModEnc] - ModEnc&#039;s old site, established by Renegade. Our &#039;&#039;&#039;shattered&#039;&#039;&#039; homeland&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=User:Askhati&amp;diff=26809</id>
		<title>User:Askhati</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=User:Askhati&amp;diff=26809"/>
		<updated>2025-04-01T20:25:58Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modding TS since about 2001.&amp;lt;br&amp;gt;&lt;br /&gt;
One of the devs of the &#039;Fading Dusk&#039; mod.&amp;lt;br&amp;gt;&lt;br /&gt;
Old-school voxel artist.&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=User_talk:Askhati&amp;diff=26807</id>
		<title>User talk:Askhati</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=User_talk:Askhati&amp;diff=26807"/>
		<updated>2025-04-01T20:24:44Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Let&#039;s see how long we survive this time...&lt;br /&gt;
 - askhati 2025.04.01&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
	<entry>
		<id>https://modenc2.markjfox.net/index.php?title=User:Askhati&amp;diff=26805</id>
		<title>User:Askhati</title>
		<link rel="alternate" type="text/html" href="https://modenc2.markjfox.net/index.php?title=User:Askhati&amp;diff=26805"/>
		<updated>2025-04-01T20:23:43Z</updated>

		<summary type="html">&lt;p&gt;Askhati: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modding TS since about 2001.&lt;br /&gt;
One of the devs of the &#039;Fading Dusk&#039; mod.&lt;br /&gt;
Old-school voxel artist.&lt;/div&gt;</summary>
		<author><name>Askhati</name></author>
	</entry>
</feed>