Your modding questions answered.
The following are copied from the C&C Remastered Collection EA Website.
Q: Where can I find the source code?
A: The source code files can be found in your root install directory for the Command & Conquer Remastered Collection, within the folder called “SOURCECODE”. You can also access the source code via the GitHub repository at:
https://github.com/electronicarts/CnC_Remastered_Collection" target="_blank" rel="nofollow" class="postlink">https://github.com/electronicarts/CnC_Remastered_Collection
Q: How do I use mods on Origin?
A: If you’ll be playing the Command & Conquer Remastered Collection via Origin you’ll need to place your mods in the associated game’s Mod folder. This folder is located in the following directory:
"Drive:\Users\<your username>\Documents\CnCRemastered\Mods"
Once you’re in the game, navigate to the Options / Mods screen, where you can then activate the mods. (You may need to press the Refresh button in the Mods menu).
Q: How do I use mods on Steam?
A: If you’ll be playing the Command & Conquer Remastered Collection via Steam, you can subscribe to mods directly from the Steam Workshop by visiting the Remastered Collection’s Community Hub within Steam, or via the following link:
https://steamcommunity.com/app/1213210/workshop/
Additionally, you can subscribe to mods in-game by tapping on the Workshop Mods button from the Options / Mods screen. Alternatively, you can place mods directly in the associated game’s Mod folder. This folder is located in the following directory:
"Drive:\Users\<your username>\Documents\CnCRemastered\Mods"
Once you’re in the game, navigate to the Options / Mods screen, where you can then activate the mods. (You may need to press the Refresh button in the Mods menu after subscribing to a mod)
Q: What game elements can be modded?
A: Maps, custom units, gameplay logic, and data can be modified, and art and audio can be replaced.
Q: What game modes will support mods?
A: Mods will only work in single-player Skirmish and single-player Custom Missions. Certain mods may also be compatible with single-player Campaign missions.
Q: Will existing mods work with the Remastered Collection?
A: Each mod is built differently, but it’s likely that existing mods will need to be adjusted by their creators to work with the changes made in the Remastered Collection. It’s possible some mods may need to be rebuilt entirely in order to work.
Q: Will there be a charge for using mods?
A: No, as long as the mod’s creator allows them to be downloaded for free.
Q: How do I upload a map to the Steam Workshop?
A: If you’ll be playing the Command & Conquer Remastered Collection via Steam, you can upload maps to the Steam Workshop directly from the included Map Editor by following these steps:
- - Save the map locally via the File / Save menu. Note: This requires at least two waypoints on the map.
- From the File menu, select Publish.
- Enter the map Title, Description, and choose Visibility options.
- Click Publish Map and wait for the upload to complete.
Q: How do I upload a mod to the Steam Workshop?
A: If you’ll be playing the Command & Conquer Remastered Collection via Steam, we are recommending using the following freeware tool to upload mod files to the Steam Workshop. You can download it << HERE >>.
Note: This tool is unsupported and not developed by EA. Please use this tool with caution.
The tool is already configured to upload to the Command & Conquer Remastered Collection Workshop and utilize the appropriate content tags. Once downloaded, extract and run the Uploader.exe to begin the process. Please view the included Readme file for step by step instructions.
Note: If this is your first time submitting content to this Workshop, you’ll need to login to the Workshop on a web browser and agree to the “Terms and Conditions” of the Steam Workshop license agreement.
--------------------------------------------------------
General Questions
--------------------------------------------------------
Q: What audio formats are supported (WAV, MP3, etc)?
A: Music and SFX are ADPCM encoded WAV files. AdpcmEncode.exe from the Microsoft SDK can easily convert PCM to/from ADPCM.
Q: What is the "load_order" entry in the 'ccmod.json' file for and how does this system work?
A: The mod manager applies mod paths with a lower "load_order" ahead of those with a higher "load_order". If two mods both change the same XML file, for example, the mod with the lower "load_order" setting will generally have a preference for loading that XML file. The order is undefined for two mods with the same "load_order".
Q: Can I load more than two or more mods that change the same XML files using this system?
A: Yes, but the XML files aren’t merged in any way. Only the one with the lowest "load_order" will be found at run-time.
Q: Where do I place assets for the legacy game mode (MIX, AUD, SHP, etc)?
A: Loose files to be loaded by the DLLs should go into a "CCDATA" folder in the mod at the same level as the "Data" folder.
Q: What file formats are supported by the mod manager?
A: The currently supported list of moddable files is TGA, DDS, XML, WAV, DAT, LOC, BIK, BK2, OGV, PGSO, CSV. Note that files loaded by the original code in "CCDATA" (RedAlert.dll and TiberianDawn.dll) aren’t subject to this restriction.
--------------------------------------------------------
Modding Information
--------------------------------------------------------
For the C&C Remastered Collection, the developers were kind enough to extend the limitations of the engine to allow extra modding features and availability.
"Mega Maps" (128x128) in Tiberian Dawn
Support for Mega Maps in Tiberian Dawn has been added to the Vanilla-Conquer project. This project is extending support of the source code released by EA to allow the building of both the modding DLL's required for the C&C Remastered Collection and also the original games with cross-platform support.
1) Create a new XML file called GameConstants_Mod.xml, in this file paste the following;
Code:
<?xml version="1.0"?>
<GameConstants>
<GameConstantsClass>
<CNCTDSupportMegamaps network="client" overwrite="true"> true </CNCTDSupportMegamaps>
</GameConstantsClass>
</GameConstants>
<GameConstants>
<GameConstantsClass>
<CNCTDSupportMegamaps network="client" overwrite="true"> true </CNCTDSupportMegamaps>
</GameConstantsClass>
</GameConstants>
2) Clone the latest code from the Vanilla-Conquer GitHub repository and build the source code with MEGAMAPS option enabled. This will build a TiberianDawn.dll with support for loading mega maps.
3) As of writing this (22/01/2020), there is not a version of the CNCTDRAMapEditor that supports creating mega maps. But the original standalone version of the Vanilla-Conquer Tiberian Dawn build enables the developer's editor from the original game which will allow you to create a mega map. This post will be updated when the CNCTDRAMapEditor has been updated. You can join The Assembly Armada Discord Server if you have more questions until this time.
EDIT: Attached to this post is a modified Sole Survivor map that can be used for testing and showcase purposes.
Disable the Legacy Graphics Option (space-bar)
1) Create a new XML file called GameConstants_Mod.xml, in this file paste the following;
Code:
<?xml version="1.0"?>
<GameConstants>
<GameConstantsClass>
<CNCDisableLegacyGraphicsOption network="client" overwrite="true"> false </CNCDisableLegacyGraphicsOption>
</GameConstantsClass>
</GameConstants>
<GameConstants>
<GameConstantsClass>
<CNCDisableLegacyGraphicsOption network="client" overwrite="true"> false </CNCDisableLegacyGraphicsOption>
</GameConstantsClass>
</GameConstants>
2) The valid values are true or false, where false disables the space-bar.
Unlocking 8-player support for Tiberian Dawn
1) Create a new XML file called GameConstants_Mod.xml, in this file paste the following;
Code:
<?xml version="1.0"?>
<GameConstants>
<GameConstantsClass>
<CNCAllow8PlayersDefault network="client" overwrite="true"> true </CNCAllow8PlayersDefault>
<CNCTDMaxPlayers network="client" overwrite="true"> 8 </CNCTDMaxPlayers>
</GameConstantsClass>
</GameConstants>
<GameConstants>
<GameConstantsClass>
<CNCAllow8PlayersDefault network="client" overwrite="true"> true </CNCAllow8PlayersDefault>
<CNCTDMaxPlayers network="client" overwrite="true"> 8 </CNCTDMaxPlayers>
</GameConstantsClass>
</GameConstants>
2) Add two new entries to the CNCTDTeamColors.xml file, you can just copy two entries from the RA CNCRATeamColors.xml file and rename them if you wish.
3) Clone the latest code from the Vanilla-Conquer GitHub repository and build the source code with 8PLAYERS option enabled. This will build a TiberianDawn.dll with support for 8 players.
Adding a new Theater (both games)
For this example, we will be cloning the TEMPERATE theater tileset to create a new theater called "SNOW" to Tiberian Dawn.
1) Create a new XML file called GameConstants_Mod.xml, in this file paste the following;
Code:
<?xml version="1.0"?>
<GameConstants>
<GameConstantsClass>
<CNCTDTheaterTilesets network="client" overwrite="true">
<Tileset>TD_Terrain_Desert</Tileset>
<Tileset>TD_Terrain_Jungle</Tileset>
<Tileset>TD_Terrain_Temperate</Tileset>
<Tileset>TD_Terrain_Winter</Tileset>
</CNCTDTheaterTilesets>
</GameConstantsClass>
</GameConstants>
<GameConstants>
<GameConstantsClass>
<CNCTDTheaterTilesets network="client" overwrite="true">
<Tileset>TD_Terrain_Desert</Tileset>
<Tileset>TD_Terrain_Jungle</Tileset>
<Tileset>TD_Terrain_Temperate</Tileset>
<Tileset>TD_Terrain_Winter</Tileset>
</CNCTDTheaterTilesets>
</GameConstantsClass>
</GameConstants>
This is a copy of the defintions from the unmodified GameConstants.XML. Your new entries MUST appear after the last entry. Create a new line under <Tileset>TD_Terrain_Winter</Tileset>, for example, <Tileset>TD_Terrain_Snow</Tileset>.
2) Open the XML file called Tilesets.xml, create a new line under <File>Tilesets\TD_Terrain_Winter.xml</File> with <File>Tilesets\TD_Terrain_Snow.xml</File>
3) Now copy the file TD_Terrain_Temperate.xml and rename it to TD_Terrain_Snow.xml. Open the file and make the following changes;
- Rename TilesetTypeClass entry to TD_Terrain_Snow and the RootTexturePath entry to Tiberian_Dawn\Terrain\Snow
- Rename all mentions in the new file from .TEM to .SNO.
4) Copy all the folder structure and files from Tiberian_Dawn\Terrain\Temperate to Tiberian_Dawn\Terrain\Snow in your mod directory. Then rename all files with TEM to SNO.
5) Clone the latest code from the Vanilla-Conquer GitHub repository linked above. The following changes to the Tiberian Dawn source code will need required;
- Add a new theater to the TheaterType enum called THEATER_SNOW.
- Add a new THEATERF define in DEFINES.H called THEATERF_SNOW (1<<THEATER_SNOW)
- Update all TemplateTypeClass instances with THEATERF_TEMPERATE to THEATERF_TEMPERATE|THEATERF_SNOW.
3) As of writing this (22/01/2020), there is not a version of the CNCTDRAMapEditor that supports creating maps with new theaters. But the original standalone version of the Vanilla-Conquer Tiberian Dawn build enables the developer's editor from the original game which will allow you to create a map with your newly added theaters. This post will be updated when the CNCTDRAMapEditor has been updated. You can join The Assembly Armada Discord Server if you have more questions regarding adding a new theater to your mod.
PLEASE NOTE: It is not possible to play online with modified DLL's, but you can play mods over LAN using a VPN setup. You will need to make sure both players have the same version of the mod installed and use a VPN service such as RAMIN VPN.