We have upgraded to the latest version of MediaWiki and now support TLS1.2 and transcoding!
Please contact us via Discord or Twitter if you experience any problems.

Command & Conquer (DOS, Windows)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Command & Conquer

Also known as: Tiberian Dawn, C&C, C&C1, Command & Conquer Gold, C&C95
Developer: Westwood Studios
Publisher: Virgin Interactive
Platforms: Windows, DOS
Released internationally: August 31, 1995


AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.


ProtoIcon.png This game has a prototype article

Hmmm...
To do:
  • Dig into the source code.

Command & Conquer is inarguably one of the most innovative real-time strategy games, introducing many features which are now commonplace in modern games of this genre. It was originally released for DOS, then later ported to the Windows 95 engine used by Red Alert as Command & Conquer Gold, which allows the game to be played at twice the resolution.

In order to help groom mod support for Command & Conquer: Remastered Collection, the source code for this game and Red Alert were released under GPL v3, and can be found here.

Unused Playback Demo

The DOS version has an undocumented parameter: -ATTRACT. If the game is started with this parameter, it will start a playback demo after the game is kept idle on the title screen for one minute. This playback demo is very obviously unfinished, as it crashes after 45 seconds of gameplay. The demo is read off the otherwise unused RECORD.BIN file, stored inside the TRANSIT.MIX file, and by truncating this file, it is possible to have the demo finish. It's very likely that the developers simply ran out of time and were forced to ditch this feature.

The parameter was carried over to the Windows 95 version as well. However, it crashes right away as soon as it attempts to load the demo.

Special Options

The hidden dialog in C&C95, enabled through hacking

This excerpt from the game's strings file reveals a number of interesting options:

600=Special Options
601=Targeting flash visible to all.
602=Allow targeting of trees.
603=Allow undeploy of construction yard.
604=Employ smarter self defense logic.
...
606=Use three point turn logic.
...
609=Disable building "bib" pieces.
610=Allow running from immediate threats.
...
676=Allow separate helipad purchase
...
678=Tiberium grows quickly.

From research into the exe file, it was revealed that there is a hidden dialog that can be called up in the game which contains these options.

A number of these options, and more, appear as ini keys that can be read from the game's configuration file, CONQUER.INI, by placing them under the [Options] header in the file, along with the game's normal configuration options. However, the strings to trigger these options were saved as hash values, making the actual input strings a mystery. A number of these (often humorous) strings were later recovered through brute-force methods using a reconstruction of the hashing algorithm. The strings are case insensitive.

The final identified options are:

The tarbosh photo hidden in a C&C trailer video

TrueNames - Hash value: 0xB1A34435 | Recovered string: "TARBOSH"

  • Shows the actual names of civilians and civilian buildings in tooltips, rather than just "Civilian" / "Civilian Building." Many of the building names are humorous, and all of the people are named after Westwood Studios employees.
  • The code recovered for this, "TARBOSH", refers to a fez-like type of hat called a Tarbosh or Tarboosh. The code has been encountered in multiple Westwood games from that era, and a picture of the actual hat was found as hidden single frame in a trailer for the game. It was probably some kind of insiders joke at the company.

Players - Hash value: 0x5D9F6F24 | Recovered string: "6"

  • Allows six players in LAN games. Note that the C&C player spawning logic has bugs when the map contains less spawn points than this internal maximum. Almost all official maps have 6 player start positions, though.
  • Older versions of the game had hash value 0x9CAFC93B for this, for which the string "CROWDED" was recovered; and indeed, 6-player games on C&C's 64x64 cell maps are rather crowded.

Rotation - Hash value: 0x03552894 | Recovered string: "DANCING"

  • Wheeled vehicles will make three-point turns, rather than turning on the spot like treaded vehicles. This is... interesting, to say the least. Given the string value linked to it, Westwood was clearly aware of this.
(Video: Nyerguds)

Helipad - Hash value: 0x53EBECBC | Recovered string: "A LA CARTE"

  • Helipads will be built without helicopters; their price will be adjusted from $1500 to $300 accordingly.

MCV - Hash value: 0x104DF10F | Recovered string: "TRANSFORMER"

  • Selling a Construction Yard will undeploy it into a Mobile Construction Vehicle. Note that the game has a bug in the power drain adjustment done when deploying MCVs, making frequent use of redeploying MCVs drain power that can't be recovered.

Bibs - Hash value: 0xF7867BF0 | Unknown

  • Disables the concrete "bib" of cleared land in front of structures.

TreeTarget - Hash value: 0x00AB6BEF | Recovered string: "LIGHTNING"

  • Makes trees valid targets. Normally trees have to be force-fired on. Note that this also makes the larger tree clumps into valid targets, despite them being indestructible.

Combat - Hash value: 0xDC57C4B2 | Unknown

  • According to OPTIONS.CPP, this option is called "PARM_COMBAT". The description says "Allow infantry to fire while moving. Attacker gets advantage with this flag.". By default, it's off (infantry only fire when stationary, aka Special.IsDefenderAdvantage is TRUE) and so infantry approaching a position will be fired upon first before they can stop and shoot back.

Scores - Hash value: 0x7FDE2C33 | Recovered string: "REMIX"

  • Enables remixed variants of several music tracks, often with added vocals. This option will not work in v1.22 due to the removal of the option. It will also not work on the Windows 95 version (unless playing with the Covert Operations CD), due to the absence of the remixed music files.
(Source: Nyerguds)

CombatIQ - Hash value: 0x9E3881B8 | Recovered string: "SERGENT" (sic)

  • This option most likely corresponds to the string "Employ smarter self defense logic." Essentially, it makes both infantry and vehicles move away any time they're shot at, which mostly makes managing an army very tedious.
Crushed corpses in C&C

Overrun - Hash value: 0x4EA2FBDF | Recovered string: "PANCAKE"

  • This option should make squished infantry leave behind a crushed corpse, however, due to a badly written line of code, the option does not work, and instead disables all spawning of tiberium in a mission, including the initial population on mission start. Because of this, it was long believed the option was related to tiberium, but recent digging into the released source code showed what it really did, and analysis of the code allowed the broken logic to be repaired.
(Source: Carno)

Sounds - Hash value: 0xACB58F61 | Recovered string: "7TH GRADE"

  • Enables alternate audio composed of human-vocalized versions of the sound effects. Probably done as a joke; given the fact they had already made Dune II it is unlikely they actually needed placeholder sounds. The sounds have file extension .JUV, which, combined with the actual string, probably means "juvenile".

Scrolling - Hash value: 0xC084AE82 | Recovered string: "RESTRICTED"

  • Disables scrolling upwards on the Options and Sidebar buttons, to avoid accidental scrolling when the player wants to click one of the buttons. Scrolling diagonally from the corner still works, though.
(Source: Rich Nagel)

For the known values, the options would look like this in CONQUER.INI: (ignoring the existing normal options already in that file)

[Options]
TrueNames=tarbosh
Players=6
Rotation=dancing
Helipad=a la carte
MCV=transformer
TreeTarget=lightning
Scores=remix
CombatIQ=sergent
Overrun=pancake
Sounds=7th grade
Scrolling=restricted

Two tools were created to enable these options by changing bytes in the exe file:

Note that in the unofficial v1.06 patch for C&C95, the options are all changed to simple true/false boolean switches, removing all need for the secret codes. Some of the codes that could interfere with multiplayer games were also moved to an internal rules.ini file.

Stereo Sound in MS-DOS

The many mouths of the Electronic Video Agent

The MS-DOS installation / setup program for Command & Conquer normally allows players to only test and use monaural sound for digital audio playback. The graphics and code to test a stereo driver exist in the setup, but since none of the listed drivers in the tool are stereo, they are never used. However, by finding certain hex strings from the audio driver file (HMIDRV.386) and placing them in the game's configuration file (CONQUER.INI), it is actually possible to hear positional left-and-right sound effects in this version of the game.

A practical demonstration of how this would have worked can be seen and heard in the "Welcome Back, Commander" bonus video of the Remastered Collection, which is a full remake of the MS-DOS installation sequence.

Note: This has no effect on the music, which, like the sound effects, is all encoded in 16-bit mono.

(Source: Rich Nagel)

Unused Music

Besides the aforementioned remixes that can be enabled through the settings file, several music tracks are flagged to never appear in the Sound Controls menu's playlist. Two of these tracks are the score screen and mission selection screen themes; omitting them makes sense; but the following tracks are also omitted:

C&C 80's Mix (Covert Operations)

DIE!!

Enemies To Be Feared

Enemies To Be Feared (Remix)

Heartbreak

Reaching Out

"Heartbreak" and "Reaching Out" were supposed to be enabled by triggering the hidden remix music option, but because the game's preliminary scan to check which music files exist only looks at the non-remix versions, they never appeared in the playlist even with the option enabled.

Two more unused (and unreferenced) tracks in the game files were confirmed by Westwood's composer Frank Klepacki as unused side-specific score screen and mission selection screen music for the Nod side. The fan-made v1.06 patch for the Windows 95 version of the game implemented that side-specific score and map music logic, enabling the unused music.

Unused Sounds

Normal Vocalized

A short "popping" or "whooshing" sound effect is supposed to be played when a grenadier throws a grenade. The game tries to play toss, but the sound's filename is actually toss1.

Left16.aud (unused) Center16.aud (used) Right16.aud (unused)

EVA saying "left," "center," and "right," found in SETUP.MIX. While "center" is used by the setup program to test the digital audio, "left" and "right" go completely unused due to the setup tool only showing mono sound drivers. Those clips would likely be heard solely on the left or right speaker, respectively, when played.


(Source: Rich Nagel)

Unused Mission

CNC scg05eb.png

GDI mission 5eb is unreachable in the DOS and Win95 versions of the game. In particular, the mission selection for this stage was supposed to only be available if choosing the eastern Belarus area to recover the stolen crate. Despite showing two arrows, they both lead to the SCG05EA mission, rather than one of them leading to SCG05EB.

(Source: C&C Strategy FAQ, Roger Wong)

The mission appears to be fully playable, with enemies attempting to attack the player's base from both entrances, as well as attempting to sneak around behind the GDI base. Furthermore, this bug does not appear in the console ports of the game, where the mission is playable as it should be.

The mission was reactivated in the unofficial 1.06 patch for the game, by overwriting mission 5ea by the unreachable 5eb. The overwritten mission is a 99% duplicate of another choice for mission 5 on the West side of the mission tree, so no real content was lost.

The issue is not present in the Remastered Collection, where the mission is selectable on the map of Europe as it should be.


Unused Mission Areas

Various Command & Conquer maps have terrain surrounding the mission area. Usually, this off-map terrain is a wall of mountains with a gap used to channel incoming reinforcements, which is used by the engine. Sometimes, there are some things present beyond a simple misalignment.

GDI Mission 1 uses a smaller layout of Mission 2, keeping features that were present off the map. It has slight differences - Mission 1 has a tiberium patch near the road, and also has the road branch to the east then north, coinciding with Mission 2's reinforcement gap.

(Source: GDI Mission 1, GDI Mission 2.)

GDI Mission 4, variant WA, has additional roads to the south of the map, as if the southern route was intended to be longer.

GDI Mission 9 had the southern half of the map extend a bit further, including a few trees.

NOD Mission 1 has signs of being larger than originally planned, with the road extending to the south. There's additional cliffs to the left and right of the road, being cut off as soon as they enter the map. Additionally, there's spare trees and rocks dotted to the far south.

NOD Mission 2 has a long road circling beyond the south and east edges of the map. There's also a river in the south-west corner.

NOD Mission 3b's border is a copy-paste job of NOD Mission 3a's border, the only difference is a river being added.

NOD Mission 6B has some water to the west of the north-west corner.

Unused Mission Content

Nod Mission 11A/B: There is a drop zone flare trigger in the scripts of the A variant of this mission, set to activate on a "Player Enters" script, which hints at activation through moving over a specific location. The trigger is not linked to anything, so it can never activate. The flare location is set on a point which would unveil the back of the base the player is meant to find, without actually reactivating the base. The B variant of the mission has its flare location set inside the perimeter of the base to find, also at a point where it would not reactivate the base, but it contains no scripting that would activate it. This indicates that the mission designers originally considered giving the player more hints on where to go to find the base.

Nod Mission 13A: Triggers "ion1" and "ion2" call an Ion Cannon strike if something specific is attacked or destroyed. No units or buildings have been applied to these two triggers, thus they will never activate. This otherwise would be similar to the same Ion Cannon method used in Mission 12, where two Ion Cannon strikes are defined using similar triggers.

Nod Mission 13B: Trigger "yyyy" reinforces the player with an MCV and two light tanks, when the eastern outpost has its advanced guard tower, guard tower, and power plant are destroyed. For the player to activate the first trigger, this requires capturing a chinook, transporting infantry units (five at a time), sending them against an advanced guard tower (which outranges and shreds infantry), all before a timed event occurs (trigger "mcv"). This timed event reinforces the player with units which walk over trigger "dely" as they enter the map. Trigger "dely" disables "yyyy".

Nod Mission 13C:

  • Trigger "delx" doesn't have associated units or buildings that need to be destroyed, therefore the airstrikes provided by trigger "xxxx" will never stop. Typically, this trigger is linked to the Communications Center. One of the Communications Centers on the map is already used for another trigger setup, so this one was most likely supposed to be linked to the remaining one, inside the northern GDI base.
  • Trigger "yyyy" reinforces an MCV if a communication center is destroyed. This requires using infantry only against anti-infantry defenses (infeasible), and must also be done before timed trigger "mcv" activates. When that happens, the incoming unit walks over "dely", deactivating this trigger.

Unused Mission Options

The missions contain ini sections for placing [Units], [Structures] and [Infantry] on a map, but are lacking one for air units. Deactivated code for reading an [Aircraft] section exists inside the game, but when it is reactivated it doesn't work correctly; the aircraft spawn in the air, and leave an impassable spot on the ground below their spawn location which will never go away. This bug is most likely caused by the air reinforcements mechanism, which lets aircraft fly in from the border of the map, requiring them to be spawned in the air by default.

Note that several missions contain transport helicopters that appear to be placed on the map, but these are actually reinforced by triggers at the start of the mission; they fly in from the edge of the map and land on the scripted spots.

Unused Theater

The game has three "Theaters of war"; terrain sets that can be used in missions. Temperate and Winter are used in European missions, and Desert is used in African missions. This is, of course, not very logical; a lot of Africa's equatorial areas are lush jungle. So it should come as no surprise that such a theater was planned as well.

The game contains a perfectly valid "Jungle" theater in the internal listing of theaters, which would use a jungle.mix with .jun files inside it. However, since all templates (map tile graphic pieces) and terrain objects (trees, rocks, decorations) have an 'ownership' value that determines which theaters they can appear in, and none of them are set to be available for the Jungle theater, the missing Jungle can't be reactivated without further modding.

Unused Unit Functionality

Boxing!

Hmmm...
To do:
Extract the assets related to this

There are unused sprites for a disabled mechanic allowing Infantry units to fistfight in the middle of the battlefield, ala General Chaos, if they're directly to the left or right of one another. The code is still present in the Infantry source code, disabled via the BOXING preprocessor.

A mod is available for Command & Conquer: Remastered Collection that restores this feature and fixes several bugs in the old code. Amusingly, the unused sprites for this were all given HD equivalents like all the other Infantry frames!

Debug Mode

Another undocumented parameter, -X, was used by the developers to enable the game's debug modes. The only parameter still recognized by the game, however, is -XQ, which disables all sound and music output.

Hmmm...
To do:
Supposedly you can enable all the other debug modes as well.

Editor Mode

It was discovered in Red Alert that there is a command line parameter "EDITOR" which causes the game to start in a strange mode which loads the first game mission automatically on startup, where no sidebar is drawn, where projectiles don't spawn (and thus no damage can be done by anything), and where the mouse controls for commanding units are disabled (though the keyboard commands still work). This was theorized to be the defunct remains of a map editor built into the game engine. In Red Alert, notably, this code was split off into the separate EDDOS and EDWIN editors.

Command & Conquer 1 does not contain the actual "EDITOR" command line parameter, but the game can be manipulated to launch in that mode too. The editor mode in C&C1 appears to be exactly as defunct as the one in RA1, though.