Quick Reply
Search this Thread
Alchemist
Original Poster
#1 Old 5th Jul 2024 at 12:06 PM Last edited by aelflaed : 6th Jul 2024 at 1:31 AM. Reason: fixed
Default Default colour not available
Hello again...

I've done some extensive editing of Heget's Bookstand computer, and all seems well - except that one of the subsets (the stand/screen) is no longer showing as a recolour option in-game. Recolours I've made are working, though! To put it a different way (in case I'm not being clear), it means that once you click on any recolour of the base, you can't go back to the default texture. The GUID is Heget's and recolours are usable by either mesh.

I cloned Gummi's version of Monique's hacked computer as a base, and swapped the mesh for Heget's. I added the 'book' subset, and it is working fine.

I've compared mine with Heget's original mesh, matched one or two differences, and rebuilt the object from scratch - none of it fixed the problem. I did the other Heget computer, too, and it's not having any issue.

It's probably something small but obvious again, but once I've gone over and over it, I can't see straight after a while. Would someone less muddled please take a look and see what I have messed up this time?

I've included Heget's original, Gummi's MQ, my moniqued heget, and a recol for each subset. Thanks for loooking!
Attached files:
File Type: 7z  AE_SubsetRecolProb-AskForHelp.7z (837.2 KB, 1 downloads)

My new downloads are on my Pillowfort
Advertisement
Alchemist
Original Poster
#2 Old 5th Jul 2024 at 12:14 PM
Related but probably different...I often get an error when I try to 'Fix Integrity'. There's a thread or two with what looks like the same problem, but I tried the fix suggested and had no luck (one thread: https://modthesims.info/t/showthread.php?t=380701). Can I fix/prevent this somehow?

Message:
Object reference not set to an instance of an object. SimPE Version:
Default (0.75.69.23).

Exception Stack:
System.NullReferenceException: Object reference not set to an instance of an object.
at pjse.FileTable.Remove(Entry key)
at pjse.FileTable.PFD_DescriptionChanged(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at SimPe.Packages.PackedFileDescriptor.DescriptionChangedFkt()
at SimPe.Packages.PackedFileDescriptorSimple.set_Instance(UInt32 value)
at SimPe.Plugin.FixObject.FixMMAT(Hashtable map, Boolean uniquefamily, String grouphash)
at SimPe.Plugin.FixObject.Fix(Hashtable map, Boolean uniquefamily)
at SimPe.Plugin.FixTool.ShowDialog(IPackedFileDescriptor& pfd, IPackageFile& package)

Source:
pjse.filetable.plugin

Execution Stack:
at pjse.FileTable.Remove(Entry key)
at pjse.FileTable.PFD_DescriptionChanged(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at SimPe.Packages.PackedFileDescriptor.DescriptionChangedFkt()
at SimPe.Packages.PackedFileDescriptorSimple.set_Instance(UInt32 value)
at SimPe.Plugin.FixObject.FixMMAT(Hashtable map, Boolean uniquefamily, String grouphash)
at SimPe.Plugin.FixObject.Fix(Hashtable map, Boolean uniquefamily)
at SimPe.Plugin.FixTool.ShowDialog(IPackedFileDescriptor& pfd, IPackageFile& package)

Windows Version:
Vista

.NET Version:
2.0.50727.9174

My new downloads are on my Pillowfort
Mad Poster
#3 Old 5th Jul 2024 at 3:52 PM Last edited by simmer22 : 5th Jul 2024 at 4:04 PM.
Looks like the MMAT needs a new instance. At the moment it shares instance with the other MMAT:

Usually when adding a subset you can do "Fix integrity" as the last step when adding the subset/MMAT.
If you get any trouble with that (resources no longer working with recolors, crashing, error, etc.), you can go to the "Resource" tab and manually change the Instance from "0x00005000" to "0x00005001" on the "book" MMAT (DON'T click commit! Just go to any other resource and it should update). Then save.

Also hot tip on Fix Integrity - close file or do File/new, reopen file, don't click on anything in the file (let the plugin mode be empty). Then do "Fix Integrity". I've found it's less likely to cause errors that way. I tried on the mesh file, and got no errors.
(When updating the MMAT, just click "OK")

For me, Fix Integrity changes the "computer" subset (likely goes in alphabetical order), so could be an idea to fix it manually if that's an issue. I can't remember if the instance influences already made recolors in any way, but I don't think it does (the MMAT matches subset names and the GUID for sure).
Alchemist
Original Poster
#4 Old 6th Jul 2024 at 1:31 AM
Quote: Originally posted by simmer22
Looks like the MMAT needs a new instance. At the moment it shares instance with the other MMAT:
(...) you can go to the "Resource" tab and manually change the Instance from "0x00005000" to "0x00005001" on the "book" MMAT (DON'T click commit! Just go to any other resource and it should update). Then save.


Thank you for those tips! I didn't know how to update the instances by hand, so if Fix Integrity wouldn't work, it was all a mess. I get the error all the time when fixing integrity, and I know doing it more times can break the object, so I have learned to make a separate save of the package before I try. I've also been checking instances left, right and centre, but this file obviously didn't get enough of that treatment.

However, the magic of 'asking for help' has worked! I updated that instance, and now all colour options are choosable in-game. Thanks so much.

My new downloads are on my Pillowfort
Mad Poster
#5 Old 6th Jul 2024 at 3:02 PM
I usually do the separate save, too. "Fix Integrity" broke too many accessory meshes in my old days, and now I've become superstitious

I've found the manual method works fine for simple MMATs where you're just adding a subset/MMAT, but if there are connected MMATs (happens if there are multi-stage items, like lamps and such), it may not always work, or needs to be done with other numbers (I'm still learning there).
Back to top