The Past Ain't What It Used To Be... The first Command & Conquer received its last official update on the 21st of June, 1996. Since then, the game has been ported to Windows (as "Gold" version), and re-released in the big "The First Decade" collection pack, but has never received any more bug fixes. The C&C Gold Patch 1.06 project aims to bring this classic into the new millennium, by fixing the old bugs, supporting higher resolutions, and adding new modding and mapping possibilities. It also contains an addon-based language system, allowing anyone to create translation packs for the game.
Someone asked me how some special mission behaviour in the game actually worked. Since more people may be interested in this, I decided to share my answers.
Posted by Nyerguds on Jul 23rd, 2012
A few days ago, I got a really interesting private message from Mr_Killt on the Command & Conquer Communications Center forum, about some special code in the game. I thought the stuff I wrote up about it might be worth sharing with the rest of you.
Mr_Killt wrote:I was playing some original TD missions today and I'm curious about some stuff. Examining scb10ea in particular (the one where you have to kill Dr. Chan) I saw how you blow up the tech center and Chan pops out ready to be sniped. Upon looking at the .ini file, I saw no mention of him under the [Infantry] section, but only in the [Triggers] section:
Also, when you move your cursor it specifically says 'Dr. Chan' instead of the usual 'Scientist.'
So is this something built into the game (like the passive ORCA on scb07ec) or something that can possibly be reproduced in another mission? I know you've enabled the 'passive helis' thing for future use but I was just curious about this and was wondering what other aspects of the game are arranged in this manner?
I'll start with the name changing thing. That was code I added myself. Originally, he was always called "Civilian". Since there is already special code for calling the Technology Center "Prison" on Nod mission 3, I copied that to make the Chan unit show his real name only on Nod mission 10, and be called "Scientist" otherwise. The "Scientist" thing is completely added by me. The string didn't exist in C&C before my patch. Note that enabling the "TrueNames" option to show all civilian names (either in rules.ini or in the mission file) will also make the game show the real name instead of "Scientist".
As for the triggers... when playing a custom campaign one day, I noticed that Chan spawned from a destroyed tech center on a mission replacing Nod mission 10. After testing this some more, it turned out this happens only on Nod mission 10. On further examination inside the exe file, I also found special code to immediately link that spawned "CHAN" unit from the tech center to a trigger called "CHAN", which would allow for a really beautiful chain of events of first destroying the tech center, then killing Dr. Chan, and only then winning the mission. Normally, this kind of mission code is impossible for units spawned from destroyed buildings, just like triggers can't be linked to reinforced units.
The silly part is, none of that code was used. The mission designer just put a Chan unit next to the tech center, and linked a trigger to him that wasn't even called "CHAN", but just "WIN". Even worse, there was a "CHAN" trigger, but it was just the flare to reveal the island. One of the more bizarre side effects of this was that destroying the Tech Center would give you two Dr. Chans; one linked to the winning trigger, the other (uselessly) linked to a flare trigger (which is normally already activated at that point anyway).
On top of that, there was another trigger in the mission that didn't work as it should, namely one that should reinforce a chinook to get your commando onto Chan's island.
I concluded the mission was simply severely broken, and fixed all that. So now the mission works exactly as it was intended, with the special systems they'd built for it :)
I never really considered making this particular behaviour into a special option, though, mostly because it's so very, very specific. Also, technically, they're two completely separate exceptions, namely one to spawn Chan from the destroyed tech center and link him to trigger "CHAN", and the other to change the unit's name in that mission.
Now, let's look deeper into the game. There are indeed a ton more of these oddities in it that are caused by special code made for specific missions, and even some special behaviour code that works in all missions. So let's list all other such systems we can find in the game.
Exceptions on single missions:
There are more, though. Systems that aren't really specific to one mission, but still affect the game in a rather unexpected way:
And then, of course, there are the exceptions I freed from their hardcoding with my patch:
That's all I can think of, for now. There's a lot of other special code in the game, of course, that isn't specifically related to missions. The Funpark mode alone was so full of horribly malfunctioning special code that it makes my head hurt to think back to it. But that wasn't the topic for this particular feature, so, I guess we're done here.