Loading...
Home | Download | Discussion | Help | Site Map | New Posts | Sign in

Latest Site News

Creator Theme: Space! - posted on 8th Jul 2018 at 5:02 PM
MTS has all free content, all the time. Find out how YOU can help to keep it running. Tell me how...

TS4 Package Conflict Detector - WINDOWS ONLY

by scumbumbo Posted 13th Feb 2016 at 6:05 AM - Updated 11th Dec 2017 at 11:39 PM by scumbumbo : Update Version 1.3.0
Open thumbnail gallery
979 Thanks Say Thanks
Update 1.3.0 (Dec 11, 2017) - Added feature to load packages in the TS4 load order. In the "By Resource ID" view tab, the version of the resource which will be used in the game (the FIRST one loaded, not the last like previous versions of The Sims) will be highlighted in green. So you can now easily see whether the most recent version of a conflicting resource is the one that gets used in the game.

Bugfix 1.2.1 (Dec 7, 2017) - Fixed a bug which caused several lines of the output view to be inaccessible.

Re-release and Update (Dec 1, 2017)
  • First, AN APOLOGY:
    • Apparantly my account on Mod The Sims was hacked during my absence and a malware infected version of this program was uploaded in it's place.
    • This was not the fault of the Mod The Sims website, I had a relatively weak password that was apparantly hacked through a brute force dictionary attack. I did not anticipate that anyone would go through this effort to hack my MTS account, and that is my own fault.
    • This was the only one of my programs which was replaced, at least on MTS, and if you download this program elsewhere you are putting yourself at risk.
    • I now have a very secure password which is not subject to a brute force attack.
    • The downloads for this program have been secured in a locked and digitally-signed rar file. If you use WinRAR to extract this file you can click the Info button on the toolbar, or choose Show Information from the Tools menu of WinRAR - this will reveal the Authenticity Verification which will be attributed to "Rich Gade". I do not know if a WinRAR signature can be hacked, but this should provide some measure of confidence that this is once again a legitimate version of this program!
    • Since this is unpaid, hobby work, it should go without saying that I can never accept liability for damage caused by this program, any other programs I've written, or any hacked version of my programs. If you do not agree with this, don't use it!
  • As a side note to the above, this program is for Windows only. It will never be available for the Mac as I do not own a Mac computer. Any Mac version purporting to be written by me is a hacked and malicious program. The source code for this program is available for download here; however, as it is written in Visual Basic .NET it is not likely to be easily converted for the Mac computer. If someone wishes to make the attempt based on these sources (or create a fork of this program for Windows), they are free to do so as long as they credit me for the techniques used by this program but do not attribute the authorship to me.
  • There's only one real update to the program itself, a switch has been added to Display Conflicts Only. This will result in any byte-for-byte identical resources in packages (bloat) being eliminated from the output - only conflicting resources will be shown.

Updated (Feb 27, 2016) - The discussed UI rehaul is completed and available as version 1.1.2. This makes the usage tutorial below a bit out of date until I get around to updating it. Should be easy enough to follow though - instead of a separate tab for conflicts and duplicates, they are both on a single tab with conflicts shown in red. Resource types are now shown in the four-character format used by S4PE and in the "By File" list hovering over the resource type name will show a more useful description (where known).

Description and Installation/Compatibility
This is a program to analyze package mods for The Sims 4 to determine if there are resource conflicts or duplicates. In addition, it will scan package files for corruption which can cause the TS4 game to abort loading with an error.

This program is written using Visual Studio for Windows and requires .Net 4.5 or higher to be installed on your computer to use. There is an installer if you want a program folder and start menu entry automatically created, easy upgrades, etc. You can also just download the EXE file and run it from any folder you want to put it in. Finally, if you are a masochist you can download the source code and compile, alter or extend the program in any manner you wish.

Basic Usage

There are two basic modes the program can run in:
  • The default mode will only read the indexes of all packages and then perform a hash comparison only on those resources which have the same ID.
  • Optionally, you can choose to verify the readability of all the resources in your package files. In addition to performing the comparison above, this will read everything in every package in order to ensure they do not have internal errors.
The default mode is very fast. A scan of my entire mods folder (about 750 MB of mods) takes about six seconds! The full verification mode is significantly slower, and on that same folder will take about two minutes and fifteen seconds. So by intelligently scanning only those resources that absolutely need to be checked, this program can run very fast. I recommend typically using the default mode; however, the full check can be enabled on the Scan Settings tab seen when the program loads by checking "Verify Readability of All Resources in Packages". This should be done if your game fails completely to load and you suspect a corrupt mod is a possibility.

Basic usage is to first click the Browse button to select your mods folder (or a subfolder if you have organized your mods). By default, all subfolders of the selected folder will be scanned for packages as well. This can be turned off by clearing the checkmark prior to scanning.

The "Path to S4PE" can be optionally selected as well if you wish to utilize the ability to launch S4PE on a package directly from the conflict lists. You will be prompted to set it later if you don't bother at this time, and it will remember the location for you the next time you run the program. There is also an option (checked by default) to make a backup copy of any package file you choose to open in S4PE from the program. These will be placed in the "TS4 Package Backups" folder in your My Documents folder. If a backup of a package already exists, the new backup will include a "Copy #" in the backup filename so nothing is ever overwritten.

Finally, you can choose to set the font used by the conflict lists. This too will be remembered for the next time you use the program.

Once you have the options set as desired, click the Scan Folder button to initiate the scan. The progress will be indicated as the scan is performed and once complete the first results tab will be opened automatically. If everything is clean you will merely see a note that no conflicts were found.

First, a bit of terminology that is likely clear, but in case you are unsure:
  • A "Duplicate" resource is one that is present and IDENTICAL in two or more packages. These don't really cause problems, but can use up more space and increase loading times. These are good candidates for merging packages.
  • A "Conflicting" resource is one that is present but DIFFERENT in two or more packages. These typically require a more complex resolution as only one of these will actually be used by the game. The game doesn't merge these resources (in most cases this would simply be impossible for the game to determine how to) so only the last one loaded is actually used.

There are four tabs available for examining the results (plus one tab for files with errors).
  • Files with Duplicates - This will show every duplicate resource found, grouped by the package filename. This is useful for determining what other packages can be merged, or if multiple copies of a mod are installed in separate folders or using different names.
  • Files with Conflicts - This will show every conflicting resource found, grouped by the package filename. This is useful for detecting, analyzing, and if you have the knowledge how (which goes beyond the scope of this program description) correcting the case where two mods conflict with each other.
  • Duplicate Resources - This will show every package that contains a duplicated resource, grouped by the resource ID.
  • Conflicting Resources - This will show every package that contains a conflicting resource, grouped by the resource ID.
  • Package Errors - This will indicate any errors that may have occurred trying to read a package during the scan. If any files show up in here, they will likely cause the game to crash with an error when loading. If you suspect a package may be bad, be sure to select the "Verify Readability of All Resources in Packages" option before scanning so that every package is completely loaded and every resource completely verified.

Finally, to examine a package file in even greater detail, or to delete or move it if you know you no longer need it, you can right-click any package name and choose "Open in Windows Explorer" to go directly to that file in Windows, or "Open in S4PE" to launch S4PE to open that package.

Example Output

Hopefully when you scan your mods folder, you won't have this many duplicates and conflicts - but I had to make sure the program was well tested!

The image shows some conflicts, grouped by package filename. The first package group is "pbox_cabinet-basegame-blandco_no-drop_defaultcolours" and under that we see two resources and the package those are contained in. The very next group is the same information in the opposite order - in other words, we see both that "A" conflicts with "B" and also "B" conflicts with "A".

Since these are actual conflicts (the information in these resources is different), we know that only one of these packages will actually work properly in the game. One of these packages should be removed. Which one is up to you, the modification date on the list can help determine if one is newer than the other. Or you can use the aforementioned "Open in Windows Explorer" to get a window where you can move one temporarily out of your mods folder to compare which one you prefer to use.

Finally, you can of course combine the two mods if you are so inclined and knowledgeable in doing so. Again, you can use "Open in S4PE" on any file in the list to open up S4PE with that file for further investigation and/or editing.

Again in the screenshot above, looking further down in the screenshot to the next two file groups we can see an issue that is somewhat easier to repair. Two files exist that have conflicts: pbox_windowbox-superiority_fixes conflicts wtih pbox_windowbox-superiority_fixes_1.4.83.1010. By looking at the modification dates, we can see that one is dated 3/10/2015 (actually it's cut off in the screenshot, so you just have to trust me) and the other is 12/1/2014. The file with the _1.4.83.1010 in it is much newer, so it's a simple matter to right-click the second file (pbox_windowbox-superiority_fixes) and open it in Windows Explorer to be deleted (or archived). Note I always intended to enable clicking anywhere on the line, but somehow never got around to it, so you actually always have to right-click on the FIRST column, in this case the resource ID (either one) -- FIXED in version 1.1.0.


The above screenshot shows several resources which are identical duplicates of each other. Taking the first group, we see that resource ID 034AEECB_80000000_E56691BD12AB70DA is present and identical in both "CF_workout oufit" and "CF_workout top". It probably doesn't do any good for this resource to be duplicated, and these packages could be merged together to reduce loading times.

This can be easily accomplished by right-clicking one of the package names and choosing to launch it in S4PE, then right-clicking the other to open it in Windows Explorer. The file can then be dragged from Windows Explorer and dropped on the open file in S4PE to merge the two. You'd want to make sure there are no conflicts between these files first, of course - and you can check the "Files with Conflicts" tab for that information first. Once the files are merged, you can then save the file in S4PE and delete the other file (or move it somewhere for archiving).


Finally a look at some bad files. I intentionally created three bad package files by mangling them in a hex editor. We can see in the screenshot above that two of these files (_BADPKG_TEST_2 and 3) were detected, and the errors indicate which resources are corrupted. It's likely these files won't even load into S4PE to have these invalid resources removed, but in some cases this may be possible.

"Surely if there's a _BADPKG_TEST_2 and 3 there must be a _BADPKG_TEST_1, so where is that," you ask? Well, that file didn't have any shared resources with any other package, so the resources contained in the package were never even read. This is what makes TS4 Package Conflict Detector so fast, after all. It would show up if "Verify Readability of All Resources in Packages" had been selected prior to scanning as this causes every resource to be read, even if there's nothing to really compare it to.

Version Info
  • Version 1.1.2 (February 27, 2016)
    • Combined duplicates and conflicts into a single tab view with conflicts in red.
    • Type names and hover tooltip descriptions added.
    • Double-clicking a package name will open a package with the Windows default program for packages.
    • Link to S4PE download location added.
    • "Version" numbers added for By Resource ID view - identical numbers indicate identical resources (just because there is a conflict does not necessarily mean ALL resources are different, some may be duplicates).
  • Version 1.1.1 (February 14, 2016)
    • Added selection to allow fallback to the old tree-style folder browser as some Windows 10 users have problems with the Win 7 style common dialog
    • Set the path and filename only when browsing for S4PE executable (was placing the entire path in the filename)
  • Version 1.1.0 (February 13, 2016)
    • Added enable/disable package
    • Added move package to backup folder
    • Removed the _KEY resource type from duplicate/conflict checking
    • Fixed the bug which required right-clicking in the first column to view the menu
  • Version 1.0.0 (February 13, 2016)
    • Initial release
  • Pre 1.0.0 version info here

Additional Credits
  • Thanks to all the folks at MTS who helped develop this program with their testing, suggestions and sometimes criticism. This program is for you!! (Although anyone else is free to use it as well)
  • Microsoft for the Visual Studio Express development environment.
  • Caphyon, Ltd. for their Advanced Installer used to make the installer package.
Key: - File was updated after upload was posted
Filename - Tip: You can click the magnifying glass to see the archive contents Size Downloads Date
TS4 Package Conflict Detector (MSI Installer).rar | Description: Version 1.3.0 - Windows Installer version 142.9 KB 7,476 11th Dec 2017
TS4 Package Conflict Detector (EXE Only).rar | Description: Version 1.3.0 - (Portable) EXE File Only 30.5 KB 4,465 11th Dec 2017
TS4 Package Conflict Detector (VS 2015 Source Code).rar | Description: Version 1.3.0 - Visual Basic Source Code 49.4 KB 1,527 11th Dec 2017
Basic Download and Install Instructions:
1. Download: Click the File tab to see the download link. Click the link to save the .rar or .zip file(s) to your computer.
2. Extract: Use WinRAR (Windows) to extract the file(s) from the .rar or .zip file(s).
3. Cut and paste the file(s) into your Mods folder
  • Windows XP: Documents and Settings\(Current User Account)\My Documents\Electronic Arts\The Sims 4\Mods\
  • Windows Vista/7/8/8.1: Users\(Current User Account)\Documents\Electronic Arts\The Sims 4\Mods\
Need more information?
  • Anyone can use both .rar and .zip files easily! On Windows, use WinRAR.
  • If you don't have a Mods folder, just make one.
 
Page 3 of 7
154 Comments / Replies (Who?) - 87 Feedback Posts, 58 Thanks Posts
Hide Thanks Posts for this thread (Show only feedback)
Test Subject
DELETED POST
14th Feb 2016 at 9:11 PM
This message has been deleted by plasticbox. Reason: Off topic.
Scholar
THANKS POST
#51 Old 14th Feb 2016 at 10:18 PM
This is working fine with my version of Windows 10. Perhaps those with issues may need to simply do a restart of their Laptop/PC. Many people seem to never turn their devices off and as such there are sometimes issues that a simple restart can solve, especially as windows 10 does auto updates if you don't do a restart to finalise these then it can cause problems.
Scholar
#52 Old 14th Feb 2016 at 10:19 PM
Quote:
Originally Posted by AmandaUnbidden
First, thank you so much for creating this! It is going to be so helpful to me! Thanks a bunch for all your hardwork.

The only problem I seem to be having is some of my recolors are showing up as duplicate items. Not all my recolors but just some, They show up as duplicates and conflicts with their meshes but they work in the game.


Did you figure this out? I too am confused by the recolours showing as conflicts...
Pettifogging Legalist!
staff: retired moderator
#53 Old 14th Feb 2016 at 10:26 PM Last edited by plasticbox : 15th Feb 2016 at 2:32 PM.
Have you looked in the packages to see exactly what is conflicting? Is the issue here that this tool shows you conflicts where none exist (or vice versa)? If not, maybe ask the creator why their packages contain what they contain -- this thread is on the topic of this tool and not a discussion forum about every CC package under the sun.

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Lab Assistant
THANKS POST
#54 Old 14th Feb 2016 at 11:54 PM
Thanks you so much for this! You are awesome!
Mad Poster
THANKS POST
#55 Old 15th Feb 2016 at 12:54 AM Last edited by egwarhammer : 15th Feb 2016 at 1:42 AM. Reason: add Win 10 note
Thanks for uploading this! I told you (several times) it would be a WINNER!
You rock.

ETA: tested on Win10 with the installer version. Works fine.
Test Subject
THANKS POST
#56 Old 15th Feb 2016 at 1:08 AM
This is great!!! Thank you!
Mad Poster
#57 Old 15th Feb 2016 at 1:38 AM
Quote:
Originally Posted by plasticbox
I have a suggestion to make -- can you include the resource type as text in your lists? I have a lot of duplicate STBL and _IMG resources for example, as well as conflicting MODL/MLODs; I believe that info would be useful to include to give people a better idea how "dangerous" (or not) a conflict/duplicate might be without having to look in the package first.

Maybe the lists in "Duplicate Resources" / "Conflicting Resources" could also be subdivided by type? They seem to be sorted by type already; I mean with a headline "Images (_IMG 0x00B2D882)"; "String tables (STBL whatever)" and so on.


Also, since it prompts the user for a path to s4pe, maybe include an up to date s4pe download link in your post? The repo has moved a couple of times since the project was created initially, and I don't think you'd want people to install an old version if they follow an old link. I'd suggest https://github.com/s4ptacle/Sims4Tools/releases


Just wanted to say thanks to @plasticbox for posting this link. Appreciate it!

(I understand @scumbumbo 's reasons for going with s4pe, but, I use s4s. Updated s4pe link = WIN.)
Scholar
DELETED POST
15th Feb 2016 at 9:30 AM
This message has been deleted by mummy_001. Reason: going to ask plasticbox
Scholar
#58 Old 15th Feb 2016 at 9:36 AM
Is there a way to add the option to save the scanned file results? I would love to be able to send mine to plasticbox as most of the conflicts/duplicates and conflicting resources are the ones from plastic box like counters and overrides....
Pettifogging Legalist!
staff: retired moderator
#59 Old 15th Feb 2016 at 10:43 AM Last edited by plasticbox : 15th Feb 2016 at 11:28 AM.
Don't worry, I know what is in my packages. If you have questions about an upload please ask in the upload comments. Please read the upload descriptions before you do so.

This goes for content by other people as well, of course.

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Pettifogging Legalist!
staff: retired moderator
#60 Old 15th Feb 2016 at 2:04 PM Last edited by plasticbox : 15th Feb 2016 at 2:30 PM.
Here is a more in-depth explanation on the two pbox packages that @scumbumbo is citing as examples in the upload description:


Files with Conflicts ‒ 1:

Quote:
The first package group is "pbox_cabinet-basegame-blandco_no-drop_defaultcolours" and under that we see two resources and the package those are contained in. The very next group is the same information in the opposite order - in other words, we see both that "A" conflicts with "B" and also "B" conflicts with "A".


These are two packages from this upload (BlandCo Overhaul). They are available in two versions; quoting from the upload description:

Quote:
Attached are two zips that correct various issues: one includes the overrides, the other one doesn't (in case you like that pink kitchen), apart from that they're the same. Only use one or you will likely end up with wrong catalogue swatches.


The conflicting resources are the COBJ resources that are contained in both versions; one has the original catalogue swatch colours and one has colours that match my override. People who didn't read the upload description and installed both will have a conflict there, rather expectedly.



Files with Conflicts ‒ 2:

Quote:
pbox_windowbox-superiority_fixes conflicts wtih pbox_windowbox-superiority_fixes_1.4.83.1010. By looking at the modification dates, we can see that one is dated 3/10/2015 (actually it's cut off in the screenshot, so you just have to trust me) and the other is 12/1/2014. The file with the _1.4.83.1010 in it is much newer, so it's a simple matter to right-click the second file (pbox_windowbox-superiority_fixes) and open it in Windows Explorer to be deleted (or archived).


Not much to add to that ‒ as one might guess from the package name, the 1.4.83.1010 one is made for a specific game version (and later). This is from this upload (Flowerbox Fixes); the upload description also says that this has been updated a few times and the old versions are obsolete (unless you have a really old game, in which case you don't need the newer versions).

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Test Subject
THANKS POST
#61 Old 16th Feb 2016 at 3:04 AM
Hi again! I'm the original poster that it wasn't working on my Windows 10. I'm still not sure what the problem was, but your workaround worked perfectly, scumbumbo, so thanks so very much!

Quote:
Originally Posted by mummy_001
This is working fine with my version of Windows 10. Perhaps those with issues may need to simply do a restart of their Laptop/PC. Many people seem to never turn their devices off and as such there are sometimes issues that a simple restart can solve, especially as windows 10 does auto updates if you don't do a restart to finalise these then it can cause problems.


Just to clarify, I shut down my PC nightly and restarted post-install so that wasn't the issue. It's highly possible it could have been some other weird issue though. Any way, thanks again!
Theorist
Original Poster
#62 Old 16th Feb 2016 at 4:58 AM
Quote:
Originally Posted by Loxotic
Hi again! I'm the original poster that it wasn't working on my Windows 10. I'm still not sure what the problem was, but your workaround worked perfectly, scumbumbo, so thanks so very much!

Just to clarify - the regular folder select dialog is now working for you and you don't have to check the "fallback" option? If that's working for folks I can remove that option, as I can't imagine anyone who would prefer that folder selector if they had the choice!
Theorist
Original Poster
#63 Old 16th Feb 2016 at 5:00 AM
Quote:
Originally Posted by plasticbox
Here is a more in-depth explanation on the two pbox packages that @scumbumbo is citing as examples in the upload description:

I should probably clarify that in the mod description - wasn't intending to pick on your mods, pbox but I just happen to have an awful lot of them and as you pointed out some of them shouldn't even be there anymore!
Pettifogging Legalist!
staff: retired moderator
#64 Old 16th Feb 2016 at 11:18 AM Last edited by plasticbox : 16th Feb 2016 at 11:50 AM.
Don't worry, you picked good examples =) I just wanted to explain it some more so that people don't post about it umpty-five times. I tagged you because I thought you might want to link to that post from the upload description, for those who want to know more. Finding duplicates/conflicts is one thing (and your tool does a great job at it), interpreting what they mean is a whole other story ..

(A lot of my other mods have duplicates too, that's on purpose .. I have no problem explaining stuff in detail, but for anything that you don't explicitely cite, people would need to ask in the actual upload thread and not here. I have feeling you're also not keen on opening a help forum here =P )


Another thing I wanted to ask, or two rather:

* would it be possible to also make this check for "conflicts" between mods and the game files? There seems to be some CC in existence that "stealth overrides" some stuff, like textures, but since it's overriding with identical copies of the originals that's hard to find (since one does not see any effect in game, except that it breaks other overrides). I don't know what it is, I only know about it because I've had some reports that texture overrides I had made were not working unless people removed their other CC, which seems to mean they have another override that they don't know about.

* is it possible to list resources where the content is identical but not the ID? As in, identical (but renumbered) copies of the same thing (image resources in particular)? That accounts for 90% of all file bloat that I've seen, but currently there's no way to check for it except open the package and look at it.

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Lab Assistant
THANKS POST
#65 Old 17th Feb 2016 at 4:15 PM
This app is so helpful! Thanks a lot.
Lab Assistant
#66 Old 17th Feb 2016 at 7:19 PM
Well, I happen to have the very same question, and that would be a topic, OF this tool, as we are in fact, discussing the outcome, of its use, thank you.I'm also wondering why certain files appear to conflict, such as 2 different jewelry items, that cannot be worn, together. Does "conflict," mean that they simply can't be worn, simultaneously, or that they will cause issues, with your game, if they are even loaded, at the same time? People want to know this stuff; it's not necessary, to be snippy!

Quote:
Originally Posted by plasticbox
Have you looked in the packages to see exactly what is conflicting? Is the issue here that this tool shows you conflicts where none exist (or vice versa)? If not, maybe ask the creator why their packages contain what they contain -- this thread is on the topic of this tool and not a discussion forum about every CC package under the sun.
Pettifogging Legalist!
staff: retired moderator
#67 Old 17th Feb 2016 at 7:58 PM
This tool already tells you why two items are conflicting: because they contain different resources with the same ID.

If that is not the sort of "conflict" you mean but you are having other issues with somebody else's CC, ask where you downloaded it.

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Lab Assistant
#68 Old 18th Feb 2016 at 12:14 PM
Yes, that's the sort of conflict I mean, but it doesn't answer my question. Also, what's up with the "duplicates," that are actually recolors, NOT duplicates?
Quote:
Originally Posted by plasticbox
This tool already tells you why two items are conflicting: because they contain different resources with the same ID.

If that is not the sort of "conflict" you mean but you are having other issues with somebody else's CC, ask where you downloaded it.
Theorist
Original Poster
#69 Old 18th Feb 2016 at 3:45 PM
Quote:
Originally Posted by lara.shaw
Yes, that's the sort of conflict I mean, but it doesn't answer my question. Also, what's up with the "duplicates," that are actually recolors, NOT duplicates?
DISCLAIMER - I am a programmer, not a custom content designer, so some of the information below could be a bit inaccurate. If so, please let me know. It may help folks if an actual custom content designer is willing to write an expanded tutorial on using the conflict detector.

The result of the conflict depends on what the actual resource listed as a conflict is. The type of the resource is the first eight digits/letters of that resource ID that is listed, e.g. 015A1849 resources are the object model or geometry. If those are listed as a conflict then two of your custom content items have meshes with identical ID numbers but the actual meshes are different. Your game won't crash or anything (probably), but only one of those actual meshes would be used by the game. The differences between the two may be minor or major, there's no real way the program can analyze that, it just knows they are different - and depending on which one is actually used by the game (the last one loaded is the one which actually is used) BOTH clothing items will appear differently on Sim's bodies.

So, say that two hair styles have identical resource IDs that are internally different - one may have an odd bump due to a vertex being out of place that is fixed in the other hair style's mesh. If the "good" one is loaded last, all will look fine - but if the bad one is loaded last then both hair styles when used in the game will have that odd bump.

A duplicate means that the resouce ID numbers are identical AND the actual content is identical, so recolors may have the same type 034AEECB (CAS Part) information but the actual textures are different. One texture overrides the other and that is likely intentional for a recolor. The duplicate CASP information doesn't hurt anything - it is just loaded over and over again by the game, so if there's a lot of duplicates it could add substantially to the package loading time.
Theorist
Original Poster
#70 Old 18th Feb 2016 at 4:00 PM
Quote:
Originally Posted by plasticbox
Finding duplicates/conflicts is one thing (and your tool does a great job at it), interpreting what they mean is a whole other story ..

AGREED!
Quote:
I have feeling you're also not keen on opening a help forum here =P )

No, this would not really be the place for any in-depth explanations, I agree again.
Quote:
* would it be possible to also make this check for "conflicts" between mods and the game files?
* is it possible to list resources where the content is identical but not the ID? As in, identical (but renumbered) copies of the same thing (image resources in particular)?

Both of these are certainly possible! The latter idea would be more time consuming to code as I may (read probably) want to redo how I'm indexing things in a major way to try and keep the scan time efficient, but if you are correct that it's a major cause of package bloat it would be doable. Both will increase the scan time, and again, the second idea would increase it substantially particularly if the original game packages are included in that. I would essentially have to unpack and compute the hash for every resource in the game packages.

I thought I was done though!
Pettifogging Legalist!
staff: retired moderator
#71 Old 18th Feb 2016 at 4:06 PM Last edited by plasticbox : 18th Feb 2016 at 4:37 PM.
Quote:
Originally Posted by scumbumbo
A duplicate means that the resouce ID numbers are identical AND the actual content is identical, so recolors may have the same type 034AEECB (CAS Part) information but the actual textures are different. One texture overrides the other and that is likely intentional for a recolor. The duplicate CASP information doesn't hurt anything - it is just loaded over and over again by the game, so if there's a lot of duplicates it could add substantially to the package loading time.


When two CASPs have the same ID but are using different textures, wouldn't they be listed as Conflicting rather than Duplicate? The reference to the diffuse texture is in the CASP, so in order to reference a different texture they would need to be different internally.

Also, identical CASP IDs are very much not intentional for recolours. Only when overriding a CAS part (say you don't like a red Maxis shirt, change the texture to pink, and also change the colour tag from Red to Pink in the CASP) you'd use the same ID, or perhaps when you create multiple versions of the same thing for people to choose from. When people find identical CASP/COBJ/CWAL/ other catalogue item IDs in content that isn't supposed to override anything, they need to notify the creator and ask them to fix that.

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Pettifogging Legalist!
staff: retired moderator
#72 Old 18th Feb 2016 at 4:21 PM Last edited by plasticbox : 18th Feb 2016 at 4:59 PM.
Quote:
Originally Posted by scumbumbo
The latter idea would be more time consuming to code as I may (read probably) want to redo how I'm indexing things in a major way to try and keep the scan time efficient, but if you are correct that it's a major cause of package bloat it would be doable. Both will increase the scan time, and again, the second idea would increase it substantially particularly if the original game packages are included in that. I would essentially have to unpack and compute the hash for every resource in the game packages.

I thought I was done though!


LOL, sorry XD

I think it might not be super necessary to go though all the game files to find bloaty duplicates though -- comparing *between* CC items might already be quite useful, since when two CC items contain, say, an identical bumpmap texture with a different ID, the chance is quite high that those are *both* duplicates of the same Maxis texture (look at your own Packing Crate for an example -- isn't that the original, also the specular? That is what usually happens when people use S4S to create objects .. and the bump/specular maps are pretty large since they are always DXT5).

Of course it is also possible that a creator has multiple versions/recolours of the same item and each one contains the same custom bumpmap texture, but that should be relatively easy to tell by looking at the texture (and even in that case, it would be more efficient to use the SAME id .. no need to make the game load the same thing umpty-ten times under a different name).

(I actually discovered a tiny placeholder bumpmap in one of my own uploads that way -- was a copy of one of the EA blank bumpmaps that I had thrown in there because I meant to change/customise it later, then deemed that unnecessary and promptly forgot to remove that file (which still had the original ID). Some other creator obviously did the same thing, and now our packages showed up as "conflicting" (I believe -- might have been "duplicate" too) in your tool =).

Stuff for TS2 TS3 TS4 | Please do not PM me with technical questions we have Create forums for that.

In the kingdom of the blind, do as the Romans do.
Theorist
Original Poster
#73 Old 18th Feb 2016 at 6:29 PM
Quote:
Originally Posted by plasticbox
When two CASPs have the same ID but are using different textures, wouldn't they be listed as Conflicting rather than Duplicate? The reference to the diffuse texture is in the CASP, so in order to reference a different texture they would need to be different internally.

Sorry, that is correct - I was thinking I might need to rephrase that to make it more clear but decided it was clear. It wasn't

The situation I was thinking of would I guess be called a "standalone" recolor of someone else's item. The CASP needs to be included in case the item that is being recolored is not installed, but the recolorer (if that's a word) rather than creating a new texture just edits the existing texture and drops it back in with the same ID. So the CASP contains a pointer to the same texture, but that texture resource is actually different.

So the program would see that as a duplicate CASP, but the DDS images would indeed conflict and would show up on the conflict tab as such.

So... not clear, and possibly a bad example - like I said, I'm a programmer not a content designer!
Page 3 of 7

Expansion/Stuff packs required:
Sims 4

154 Comments / replies (Who?)

17 Feedback Posts
6 Thanks Posts

372 Favourited

34,905 Downloads

50,319 Views

Operating System: Windows
Utility Type: CC Managers
Plugin Type: Not Applicable

Tags: #package, #scan, #conflict, #duplicate, #merge