Project Perfect Mod Forums
:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Privacy Policy :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::


The time now is Thu Mar 28, 2024 8:49 pm
All times are UTC + 0
INFO: Modding FAQ
Moderators: Global Moderators
Post new topic   Reply to topic Page 1 of 1 [4 Posts] Mark the topic unread ::  View previous topic :: View next topic
Author Message
CCHyper
Defense Minister


Joined: 07 Apr 2005

PostPosted: Thu Jun 18, 2020 4:24 am    Post subject:  INFO: Modding FAQ Reply with quote  Mark this post and the followings unread

Modding FAQ
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>


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>


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>


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>

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.




BreakingGrounds_MegaMap_Temperate.zip
 Description:

Download
 Filename:  BreakingGrounds_MegaMap_Temperate.zip
 Filesize:  2.1 MB
 Downloaded:  22 Time(s)


Last edited by CCHyper on Thu Jun 16, 2022 11:35 am; edited 4 times in total

Back to top
View user's profile Send private message
GENERAL ZOOL
Guest




PostPosted: Sun Jun 21, 2020 2:51 pm    Post subject: Reply with quote  Mark this post and the followings unread

My quick question that I'm sure sounds dumb and lots of people may feel embarrassed to ask. However, relevant to anyone new to this level of MOD creation.

Q: How do I go about adding a DLL File, how is it made and what third-party tools are needed for it?

I ask this since a mini-project I'm working on may need to use a DLL file just to be read correctly. My project is only a basic ANT MOD, add Cameo's for the original 3 ANT's and add one new ANT to the mix with its own weapon and ART and Cameo.

ANT1 - New Cameo - Buildable needing Radar and War Factory - Any Side
ANT2 - New Cameo - Buildable needing Radar and War Factory - Any Side
ANT3 - New Cameo - Buildable needing Radar and War Factory - Any Side
QUEEN - Might get a New Cameo, but no code edits

NEW Unit
ANT4 - New ART - New Cameo - Code Copy from ANT2 - New Weapon with ART - Buildable needing Tech-Centre and War Factory - Any Side

Tried booting it up to test ANT's 1, 2 and 3, and the game didn't give my units the Cameo ART I made for them (my Custom Map I was using has ANT's in the Construction Options). No Hover Text either, even though I'd made some.

Back to top
yuri624
Guest




PostPosted: Sun Aug 22, 2021 5:54 pm    Post subject: Adding a new Theater (TD) Reply with quote  Mark this post and the followings unread

Hi, two things:

1. Since the source of the madp editor is available (since quite some time I assume) you could update that.

I found it rather easy to add a new Theater there:
- Add a radioTheater4 (copy from radioTheater3) in NewMapDialog.Designer.cs
- Add radioTheater4.Text in NewMapDialog.cs
- Add a new TheaterType in TheaterTypes.cs
- Add your TheaterType in the TemplateTypes.cs to every TemplateType you have/want with your theater

2. I've spent a good 12 hours to get the new template to work in the actual game. I searched through the whole sourcecode for "winter" and added my new theater (snow) everywhere and then added the THEATERF_SNOW to all TemplateTypes.

I build the .dll, run the game, launch my map (just an empty singleplayer map with a home waypoint and one Commando). The game is stuck in the loading screen forever (not frozen, the circle is spinning.

I tried a few times from a completely clean source code and it's the same every time. Any ideas?

Back to top
DDF3
Guest




PostPosted: Fri Aug 26, 2022 9:20 pm    Post subject: Reply with quote  Mark this post and the followings unread

First off  i'm assuming the game can't find the graphics is your biggest problem.

You haven't mentioned in your post  where you added  the theater (snow) Images .


For them to appear in the remaster graphics . This is for Red ALert . But the nearly same thing applies to TD

You need to add a TemplateTypeClass for each image in CDATA.CPP

Then further down  you need to define the TemplateTypeClass   --- (void)new TemplateTypeClass(Road37); // TEMPLATE_ROAD37

Then as well add it to DEFINES.H  
typedef enum TemplateType


As well some where in the source is the defintions for the Theaters , You need to add  your theater .


Now you can make your DLL

Now in the remaster end of things  you need a mod

In your Mods/Data /XML folder
You need to add your new tile set to TILESETS.XML
You need to Make a RA_TERRAIN_YOURTheaterName.XML

Now in the Data\Art|Textures\SRGB\RED_ALERT\TERRAIN\YourTheaterName Folder

You need to make a folder for each image set such as  K21.SNO  
Then add all of the TGA images for K21 in there where they are like K21.SNO.0000.TGA

Now it should work ..

Back to top
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [4 Posts] Mark the topic unread ::  View previous topic :: View next topic
 
Share on TwitterShare on FacebookShare on Google+Share on DiggShare on RedditShare on PInterestShare on Del.icio.usShare on Stumble Upon
Quick Reply
Username:


If you are visually impaired or cannot otherwise answer the challenges below please contact the Administrator for help.


Write only two of the following words separated by a sharp: Brotherhood, unity, peace! 

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

[ Time: 0.1613s ][ Queries: 13 (0.0083s) ][ Debug on ]