Understanding Mod and CC Conflicts with Delphy's Dashboard by Nona Mena
*** Read the whole of this tutorial in http://www.simlogical.com/ContentUploadsRemote/uploads/1551/Understanding_Mod_CC_Conflicts_Delphy_Dashboard.pdf ***
For most users, one of the most confusing aspects about mods and other custom content for the Sims 3 is understanding what a conflict is, and how it can adversely affect one's game. There are few different ways mods and custom content can conflict with each other, and some ways are a little more difficult to understand for the average user. This article will attempt to explain different types of mod and other custom content conflicts, so that users are better able to understand how these conflicts can affect their game.
Introduction
Part One: Mod Types
In order to understand conflicts, you have to understand the different types of mods. These explanations should help, but if you have any questions, please feel free to post.
Script Mods
Script mods are written in the programming language C# and are used to add additional game play/interactions, fix EA bugs, or simply alter the way EA does certain things. There are three main types of script mods:
- Core mods - These mods change the core programming of the game, and must be updated with every single patch. While a sort of highlander rule does apply to core mods, in that you can only have one core mod at a time, there is some flexibility in this. Each core library has its own S3SA resource inside a package in the game install directory. If you had three core mods, each overriding only one specific -- and different -- S3SA resource, you could use all three core mods without problem. This is why Awesome mod can safely be run alongside NRaas ErrorTrap. If you are not sure if you can use two different core mods at the same time, ask the creators first. Do not use two different core mods at the same time without first knowing if it is safe.
- Note: Core mods are not the same as script mods (mentioned below) and require ILASM and ILDASM to create them.
- Scripted object mods - These mods add new interactions and gameplay by adding new functionality to an object (existing or new). The most prominent example of scripted object mods are EA's Premium Content items. Other good examples of script object mods are Inge's Pay Buffet and Cmo's Pool Slide, my own Bloom's Apple Barrels, as well as NRaas SleepFreedom.
- Pure Scripting mods - These mods add new functionality to the game, without an object. Examples of pure scripting mods include most NRaas mods, Most Buzzler mods, MDM's Online Center mod, and a number of my own mods.
Tuning Mods
Tuning mods can also be called overrides. They alter some resource in the game data, and the game uses the altered resource instead of EA's resource. This is why they are overrides: They override EA's tuning. A "default replacement" is also an example of an override. Pretty much any resource in the game can be overridden.
Some of the most popular sorts of tuning/override mods are:
- XML mods - These override XML resources, usually found in the GameplayData.package. XML mods simply alter EA tuning values and cannot add new functionality to the game.
- ITUN mods - ITUN mods specifically affect interactions that are already part of the game. They override ITUN resources found in the GameplayData.package. These include No/Less/More Autonomy mods, maternity mods (Pregnant sims can do this or that), and also usually include "More Fun" mods and other similar mods. (More information about ITUNs here)
- OBJD overrides - These are mods that alter the OBJD resource of an object. Examples include: re-categorizing, making shiftable, changing price, showing in the catalog, etc. These mods override the OBJD resources found in the FullBuild* packages in the install directories.
- CASP overrides - Alter CAS parts. Examples include making a CAS part not valid for maternity, or making it valid for outerwear.
- JAZZ overrides - These are No "Animation" mods such as: No Foot Tapping, No Choking While Eating, etc.
- AUDT overrides - Mods that change the sound associated with an object or interaction. One example is TFM's Shut The Flock Up mods, which silence certain game sounds.
- OBJK overrides - Typically associated with object script mods. These mods change the script that an object uses. This can be accomplished without actually creating a scripted object, by simply using a different EA script. One example of this is a rabbithole rug (a rug that uses the rabbithole script).
Part Two: Custom Content
Custom Content (CC) is typically defined as new objects, clothes, hair, or makeup that you can use in your Sims 3 game. Custom Content can be EA created content, such as the objects from the Sims 3 Store, or it can be created by third party entities. Whether you install your custom content as a .package file or a sims3pack, all new objects are actually a collection of game resources which come together to make something new. This is why it is possible to mod EA and user-created CC.
Examples of modding EA CC (i.e. stuff from the Sims 3 Store) include:
- Re-categorizing store clothes so they aren't valid for maternity, every day, random, etc.
- Altering the tuning of Premium Content objects (No Autonomous mods, or my popular Cow Plant Tweaks, etc.)
- Fixing broken objects (such as KT's Store Fixes at MATY, which fix windows and doors that leave gaps)
Examples of modding Third Party CC (ie. user created objects) include:
Note: Some creators may not be ok with you altering their objects. If you alter an object created by somebody else, make sure you get permission from the creator if you plan to upload your changes somewhere.
Part Three: Game Resources
There are many different types of game resources in the Sims 3, and, as I've stated earlier, all of them can be overridden. However, the purpose of this article is not to explain all the game resources. The goal here is that you are familiar with the concept of a game resource.
The most important thing you need to know to about game resources to understand a conflict is that every game resource must have Type-Group-Instance ID, also known as the TGI or Resource Key (RK). Every game resource must have a unique TGI, but only the Instance ID (the I in TGI) is entirely unique.
Let's take an XML Tuning mod for example. We'll use my No/Fewer/Always Extra Days from Gourmet Pet Food for the example. This mod alters the Ingredient_0x76df356197fd4b81 XML in the GameplayData.package. The Ingredient_0x76df356197fd4b81 XML has the following TGI (RK):
0x0333406C-0x00000000-0x76DF356197FD4B81
- The Type is 0x0333406C which is _XML.
- The Group is 0x00000000
- and the Instance ID is 0x76DF356197FD4B81
No other resource in the game can have this exact TGI, unless, of course, you are specifically overriding the resource, such as when using a mod. If you have more than one mod that overrides the same exact resource, you have a conflict.
Next Section: Mod and CC Conflicts