What is the ccmerged?
This is a continuation, and explanation, of my very popular post: DCBackup, ccmerged.package and Your Premium Content Items.
There are many doubters out there about what the ccmerged is, how it works, and why people need it. Many people don’t feel comfortable or safe using somebody else’s ccmerged. All I can say is: Good for you. You have no reason to trust me, and that’s fine. In fact, from the very beginning I have advocated that people fix their ccmerged themselves (eventually I relented and started allowing people to download my own ccmerged). This is NOT because of any inherent danger in using somebody else’s ccmerged (there is no danger. I’ll get to that later). It’s because I think people ought to fix their own stuff. Once you’ve fixed the ccmerged for the first time, it should continue to work perfectly for every other install. On top of that, I really, really hate having to make sure that I update the ccmerged every time there is new premium content. It is extra work and responsibility that I’ve never wanted. But I’m a sucker for people who want their paid content to work. I understand, I really do. So I folded, and I let people download my ccmerged, because I know that my ccmerged will always work. At least until I stop updating it. Hopefully that won’t be any time soon.
Right, so let’s get to the point of this post.
What is the ccmerged.package?
I’ve seen a lot of people on the official forums trying to guess at what is in the ccmerged.package. They are skeptical about why it works because they don’t know what it actually is. I applaud this kind of skepticism. After all, it is what gets people thinking in the first place. However, if you’re one of those people, I have a question for you: Why have you never tried to find out? It’s very simple, really. Just download S3PE and open the ccmerged.package. You can see for yourself exactly what it is in there. Alternatively, you could have just asked me. I never went into much detail about it because for many users, it is not necessary. I try my best to answer (and help) everyone who posts comments on my blog and on my posts and tutorials at Simlogical. If you have a question, just ask it!
Back on the topic. First let me say that the ccmerged.package is NOT:
- It is not a cache file. It is built once. If you delete it, the game will create an empty version of the package, with nothing in it and none of your content will work.
- In computer science, a cache file is where a program will store data so that when it is needed again, the data is readily available and does not have to be re-computed or re-downloaded. The ccmerged IS NOT created for this purpose.
- The data stored in the ccmerged.package is not created by the game itself: it is REQUIRED for the game to run the premium content.
- For Advanced Users: If you have S3PE and you want to see what happens when you delete your ccmerged.package, you can re-name it to ccmerged.package.off and start your game (just go to the main menu, no need to load a save file or new game). A new ccmerged.package will be created. Close the game and open the new ccmerged.package in S3PE. You will see that it is empty. When you’re done, delete the new package and rename ccmerged.package.off to ccmerged.package.
- It is not pirated material. There is nothing in the ccmerged.package that will allow players who do not own and have installed premium content objects to suddenly have them in their game. That is, the ccmerged.package does not distribute any objects from the store. It is simply XML data.
- It is not a Miracle Fix for all store-related problems. The ccmerged.package can only fix very specific problems relating ONLY to premium content. Some premium content may not appear to be premium content. Such as the party statue from University Life Limited Edition, or the Plants Vs. Zombies Peashooter from Supernatural Limited Edition. However, for all intents and purposes, those objects are premium content because they add new moodlets to the game and are installed via sims3pack (i.e. they are hot installs).
Ok, so what is the ccmerged.package then?
Simply put, it is a compacted file where the Sims 3 Store developers keep vital XML data that is required for hot installs, that is, Sims 3 Store content. You can consider it a sort of Sims 3 Store mod package. It contains all the data needed for the scripted premium objects to work. Here’s a screen shot of what the package looks like when you open it in S3PE.
The ccmerged.package contains actual game play data resources. Without these resources, most premium content objects will not work properly (some premium content objects do not need these resources, such as the massage chair and the wind chimes). Currently, the ccmerged.package can hold up to five critical resources for premium content:
- Buffs XML (contains data regarding custom moodlets)
- This includes: information about moodlet length, strength, whether the moodlet is positive or negative, moodlet name and description, etc.
- Recipes XML (contains data for all premium content recipes)
- Includes: recipe name, whether the food can be made a single and/or group serving, information about models used for the cooked food, how the food should be prepared, etc.
- This XML is used for all premium content cooking appliances (including the Sauna, as it can cook veggies).
- Skills XML (contains data for all store skills such as gambling and spell book skill)
- Includes: number of levels require to max the skill, number of points required for each level, the name of the skill etc.
- Plants XML (contains data for the store plants)
- This XML stores information about the actual plants, such as how man harvestables they produce, how many skill points they provide, bonus for soil being watered and fertilized, what models to use for the plants, etc.
- Ingredients XML (contains data for store ingredients — these are the objects that grow on the store plants, i.e. the lemons and purple eggplants that you use for recipes)
- This XML contains data about the ingredients that are harvested from the plants, such as the model name of the harvestables, whether they can be purchased at the grocery store, price, value for nectar, etc.
Normally, most people do not all have the same ccmerged.package. This is because the launcher can only read what you install. The Launcher does not download information from EA when it creates the ccmerged.package. It uses the data available in the Sims3pack. So, if you install only the Lemon Tree and Purple Eggplant from the store, and nothing else, you will find only the Plants and Ingredients XMLs in your ccmerged.package.
Is it bad to use a ccmerged.package that has data for content I don’t have?
Having these resources in your game, even if you have not installed all of the content, will not do any harm at all to your game. The only concern is that it will add a miniscule amount of extra loading time as the game parses unnecessary XMLs (since you do not have the objects installed) when you load. In fact, this happens to everyone who does not have every single EP and SP installed, as all XML data is included for every EP and SP as long as your base game is updated to the most recent patch. For example, even if you do not have Katy Perry Sweet Treats, you still have all XML data for Katy Perry Sweet Treats objects in your Sims 3 install if you have patched your game.
Actually, I originally included in my DCBackup, ccmerged.package and Your Premium Content Items post that it is safe to use somebody else’s ccmerged even if you don’t have all content they have, but it seems that in the many updates where I tried to clarify and be more succinct, I somehow managed to remove it without noticing.
How does this ccmerged.package actually work?
Simply put, when the game starts, it will load all of these resources if they are present. If they are not present, the resource is not loaded. Now, if the resource is not loaded, but you have an object that requires this resource, you will have a problem.
For example, when you click on the Wood Oven, the game will immediately generate all available interactions. The available interactions are determined by the recipes available. If there are no available recipes for the wood Oven, then the Wood Oven will have No Interactions available. The store developers did not hard code all recipes for the Wood Oven. This would be a serious waste of time and resources. Instead, they created an XML with a list of all recipes and included it in the sims3pack with the Wood Oven. The Launcher is supposed to merge this XML into the recipes XML in the ccmerged.package.
Now, for some reason, some people have a problem with their Launcher merging these XMLs. I do not know why this happens. In fact, I have said this before in the comments in DCBackup, ccmerged.package and Your Premium Content Items. It would be nice if the Sims 3 team could perhaps come up with a “Repair” button, that would look for all valid store XMLs and rebuild the ccmerged.package that way. Then, people wouldn’t have to play the re-install game, or use somebody else’s ccmerged.
Post them. If you want to go into more detail about how the game parses these XMLs, feel free to ask at the Simlogical forums. I can show you the code the game uses to parse the various XMLs.