Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
MTS has all free content, all the time. Find out how YOU can help to keep it running. Tell me how...

HoodChecker 1.0.3 - Neighborhood Corruption Detector (Updated February 11, 2013)

by Mootilda Posted 29th Sep 2011 at 4:50 AM - Updated 27th Nov 2013 at 2:51 PM by Nysha
 
443 Comments / Replies (Who?) - 349 Feedback Posts, 93 Thanks Posts
Hide Thanks Posts for this thread (Show only feedback)
Page 2 of 18
Site Helper
Original Poster
#26 Old 29th Sep 2011 at 5:53 PM
For a long post like that, please use the [ spoiler ] tag to reduce the information to a manageable level:
http://www.modthesims.info/misc.php?do=bbcode

You need to follow the installation instructions. Do you have .NET 2.0 or later installed on your computer? Did you extract all of the files from the zip file and place them into a separate folder on your hard drive? Are you running the EXE from the extracted location?
Test Subject
#27 Old 29th Sep 2011 at 6:15 PM
Oops, sorry about that. xD

I unzipped the files and put the EXE in my EA Games folder, and ran it from there. The other files I left in the extracted folder and put the folder in my MTS2 folder in my Download folder. Did I do something wrong? :/
I thought I had .NET since I have Windows 7 but I downloaded it just to see if that was the problem. When I tried to install it, it said that it can't run on a 64bit computer which is what I have. I did check online and apparently Win 7 comes with .NET 3.0.
Site Helper
Original Poster
#28 Old 29th Sep 2011 at 6:23 PM
Yes, you did something wrong. You need to extract all of the files into a folder on your hard drive and run the EXE from that location. Otherwise, the EXE has no way to find the other files that it needs.
Test Subject
THANKS POST
#29 Old 29th Sep 2011 at 6:26 PM
Well now I feel stupid for taking it out of it's folder in the first place. xD
It's working now. haha Thanks for the help!
Site Helper
Original Poster
#30 Old 29th Sep 2011 at 6:32 PM
No problem. Glad you've got it working.
Test Subject
#31 Old 29th Sep 2011 at 6:49 PM
Thank You!!!
Thank You!! Thank You!! Thank You!!

I Can't wait to try this out... backing up now!!! Hopefully this will help my big fat 17g game!! :D

It's wonderful to see people still play and mod S2!!!

HarleyBarbie
Not actually evil.
THANKS POST
#32 Old 29th Sep 2011 at 7:14 PM
Because no one wants a big fireball visible from space! If only I had a machine here that ran Sims...
Field Researcher
THANKS POST
#33 Old 29th Sep 2011 at 7:26 PM
I love you. I bow down and worship you. Your programs make my game into something I want to play. I could not play without the lot adjuster, and now this! Just when I was was starting to suspect my hood needed a tune up. So perfect. Thank you, thank you, thank you.
Inventor
THANKS POST
#34 Old 29th Sep 2011 at 10:47 PM
Thank you very much for this wonderful sharing!!
Lab Assistant
#35 Old 30th Sep 2011 at 2:45 AM
I'm glad someone else posted about those SDSCs missing .packages that could still be legitimate; I was kinda wondering why the same set with the same IDs kept reappearing when I deleted them and loaded the game...

Anyway, on to a different report/request. I have been carefully deleting townies, etc. from this neighborhood for years and years, using manual methods and lately the Lot Debugger's Prep For Delete + manual cleanup. A long time ago it was discovered that deleting the SimDNA along with everything else borked the genetics of the rest of the hood, so all of these deletion methods leave the SimDNA even when everything else is gone.

HoodChecker seems very concerned that these leftover SimDNAs don't have any Family Ties, giving me the message "Sim does not exist: hexadecimal has no family ties". (Indeed; it's because these "sims" don't exist that they have no family ties.) If there's a way to easily tell that an instance has only an SDNA with no SDSC, etc. attached it would be neat if HoodChecker could ignore the lack of family ties for that instance.

I hope the "Remove" functionality doesn't nuke lonely SDNAs? I haven't tried it yet.

This looks like an amazing tool, useful for absolutely anyone who plays.
Site Helper
Original Poster
#36 Old 30th Sep 2011 at 2:53 AM
"Sim does not exist: <hex value> has no family ties" has nothing to do with SimDNA. I don't look at or change the SimDNA at all.

This error means that an empty array for this sim exists in the Family Ties record. In other words, the FAMT entry for this sim was not deleted completely. The HoodChecker will remove this entry, since it is invalid. Once the entry has been removed, you should not get the error again.
Lab Assistant
#37 Old 30th Sep 2011 at 4:12 AM
Ah! Thank you for the explanation (and the reply speed, impressive!). That is very helpful indeed, since as far as I know that is one of the things one cannot get at in SimPE.
Site Helper
Original Poster
#38 Old 30th Sep 2011 at 4:16 AM
My original plan for this program was to just check the neighborhood and allow people to use SimPE to make the fixes. However, I soon learned just how many of the invalid records were inaccessible in SimPE. This certainly explains why it's difficult to fix invalid references; if SimPE won't show them to you, then there's no way for you to fix them (well, until now anyway )
Test Subject
THANKS POST
#39 Old 30th Sep 2011 at 12:03 PM
Great program. Very necessary! Thanks Mootilda
Test Subject
#40 Old 30th Sep 2011 at 7:34 PM
Thanks so much for this, it works great. Ran it on my legacy hood, fixed as much as I could manually and then played a few household rounds. No problems have cropped up so far due to the edits I made.

It would be nice to know how these things get buggered up to begin with. Like how sims end up having relationships with themselves, or how some memories end up not having the sim subject saved correctly. Especially the "Became a Werewolf" memory. In every case in my game the subject sim was some random townie or other playable. Very strange stuff. The coding for memories is obviously screwed up and I wonder how they thought such a system would work in a game like this. It probably would have been better not to have memories at all. Obviously a game fault and I'm not really expecting an explanation for any of this.

I do have a question though. With the repo man memories, who should the subject be? The repo man or the sim that has the memory?
Site Helper
Original Poster
#41 Old 30th Sep 2011 at 8:48 PM Last edited by Mootilda : 1st Oct 2011 at 1:29 PM.
Relationship with self:

Relationships with self seem to be generated during normal game play. They aren't a problem unless some of the flags (love, enemy, family, etc.) are set or the relationship values are non-zero. Because of this, HC flags only non-zero self-relations as invalid. We're not really sure why these self relations sometimes become non-zero, but it can lead to problems so it's best to remove them.

Memory Subject:

There's little to no documentation about memories, so I generated most of the memories in-game and categorized them as "memory about self", "memory about sim", or "memory about object". The HoodChecker validates each memory based on its category.

When you look at the subject of a valid memory, it's usually pretty obvious why that subject makes sense. For example, memories about jobs usually have the career path as the subject. Memories about another person will have that person as the subject.

Again, we don't completely understand why the memory subjects are sometimes incorrect. Of course, if you've deleted sims or moved sims between neighborhoods or edited memories using SimPE, then the subject was probably valid before that action, and the action caused the problem. These are the memories that we want to catch before they spread corruption through your neighborhood.

According to my research, both "Became a Werewolf" and "Repoman!" are self memories and should have the memory Owner, Subject GUID and Subject Instance pointing to the same sim.

If the sim that you're seeing is an arbitrary sim, that's very likely wrong. If, on the other hand, you see an actual repoman as the subject of the Repoman memory, or you see the werewolf that bit your sim as the subject of the Werewolf memory, then the subject may be valid and I should investigate further. It's even possible that the subject of a memory changes with the EPs installed.

Therefore, I'd appreciate it if people report any memories that they believe are incorrectly categorized. If it appears that there are multiple valid subjects for a memory, I could create new categories as necessary.

I'm going to move the memory categorization out of the program and into text files. This will allow people to easily find each memory and the expected parameters, without having to read the C# code. It will also allow people to change the memory categorization without programming, if it turns out that a memory has been incorrectly categorized.

Subject Instance:

Subject Instance errors are a special case. Each memory has the Owner instance, the Subject GUID and (optionally) a Subject Instance. The subject instance should always be the instance number of the Sim Description for the Subject GUID. If the Subject of a memory is not a sim, then the Subject Instance field shouldn't exist.

Unfortunately, there's a bug in the game. When you attach a subhood to a neighborhood, the game doesn't bother to fix the Subject Instance field. So, the very act of attaching a subhood corrupts the memories of every sim in that subhood. The Subject GUID will still be correct, but the Subject Instance is no longer valid. In this case, we understand completely why this is occurring: an EA bug.

The HoodChecker will fix these memories for you.

Quote: Originally posted by JadeInsane
The coding for memories is obviously screwed up and I wonder how they thought such a system would work in a game like this. It probably would have been better not to have memories at all. Obviously a game fault and I'm not really expecting an explanation for any of this.
It looks like EA realized that the memory (and gossip) system was a major source of data corruption in Sims 2 and decided to scrap it for Sims 3. Unfortunately, the memory system really helps to shape the personalities of our sims and the lack of a memory system seems to make sims in the Sims 3 less unique and less "human".

Perhaps instead of scrapping the system, they should have been more careful with it. If they had proper definitions of the parameters for each memory and in-game checks to make sure that every memory is valid when used, the memory system would have worked a lot better.
Test Subject
#42 Old 1st Oct 2011 at 2:07 AM
Quote: Originally posted by Mootilda

According to my research, both "Became a Werewolf" and "Repoman!" are self memories and should have the memory Owner, Subject GUID and Subject Instance pointing to the same sim.

If the sim that you're seeing is an arbitrary sim, that's very likely wrong. If, on the other hand, you see an actual repoman as the subject of the Repoman memory, or you see the werewolf that bit your sim as the subject of the Werewolf memory, then the subject may be valid and I should investigate further. It's even possible that the subject of a memory changes with the EPs installed.

Therefore, I'd appreciate it if people report any memories that they believe are incorrectly categorized. If it appears that there are multiple valid subjects for a memory, I could create new categories as necessary.



Thanks for all the info, it really is helpful!

I should have mentioned that all my werewolves minus one professor that somehow got bitten were all created using the bat box. I'm not sure if that is why the memories were screwed up or not. Even the professor had to have her memory fixed so it might just be a game thing.

I just have one more question about something that cropped up in the checker. 3 townie sims all have hidden memories of having keys to lots that don't exist. I'm not sure how to fix this or what lots they might be. I also was unable to find that memory in their file, thought it is possible I just skipped over it. As far as I know they aren't hobby lot 'owners'.
Site Helper
Original Poster
#43 Old 1st Oct 2011 at 2:40 AM Last edited by Mootilda : 1st Oct 2011 at 4:19 PM.
You can delete hidden memories using SimPE. Could they be dormies? If you ever play a dorm and then delete it later, the dormies are linked to the deleted dorm and cannot move in anywhere else until their keys are deleted:
http://www.modthesims.info/showthread.php?t=438636

The memories should be displayed in the same order in the HoodChecker and in SimPE. If you check the box to view valid memories in HC, then you should just be able to match them up in SimPE.

If you're still having problems finding that memory in SimPE, let me know. I can give you the memory GUID, if that would help.
Field Researcher
THANKS POST
#44 Old 1st Oct 2011 at 8:52 AM Last edited by ilikefishfood : 1st Oct 2011 at 12:31 PM.
Thank you for this amazing tool Mootilda. I'm diligently sorting out what I can in SmPe, but I'm stumped by a couple of things.

Why do some memories come up as belonging to an " Unexpected Sim Subject?" This is happening even with playable sims.

Also a lot of Maxis pre-mades have " Incorrect Subject Instance" memories. Is their a way to fix them as opposed to deleting them? I do want for example Dirk Dreamer to retain the memory of learning to walk from his mother.

And what's with the remote control car having relationships?!!!!
Site Helper
Original Poster
#45 Old 1st Oct 2011 at 1:26 PM Last edited by Mootilda : 1st Oct 2011 at 4:32 PM.
Quote: Originally posted by ilikefishfood
Why do some memories come up as belonging to an " Unexpected Sim Subject?" This is happening even with playable sims.
The subject of this memory is a valid sim. However, HoodChecker believes that this memory requires a non-sim subject, such as a food or a career or a skilling object. You might want to read my post #41 to understand how the HoodChecker works.

If you believe that the memory has been miscategorized, then you need to tell me the memory name or GUID, something about the memory subject, and why you believe that it's valid. Was the memory generated during normal game play? Did you cheat or use custom content to create the memory?

It might also be helpful to attach the generated log and the saved report. You'll find the log in the folder where you extracted HoodChecker. The report can be saved to disk using the Save button on the final HoodChecker screen.

Quote: Originally posted by ilikefishfood
Also a lot of Maxis pre-mades have " Incorrect Subject Instance" memories. Is their a way to fix them as opposed to deleting them? I do want for example Dirk Dreamer to retain the memory of learning to walk from his mother.
Yes, you can fix the Incorrect Subject Instance using SimPE. This error says that the instance number in raw data [12] is not the instance of the Sim Description for the subject of the memory. So, you can just change raw data [12] to the correct instance number.

Alternatively, you can ask the HoodChecker to fix it for you. The HoodChecker will not delete any memories that belong to sims, but it will attempt to fix this particular error.

Quote: Originally posted by ilikefishfood
And what's with the remote control car having relationships?!!!!
Exactly! Why would the game generate such bizarre relationships?
Screenshots
Test Subject
#46 Old 1st Oct 2011 at 5:22 PM
Quote: Originally posted by Mootilda
You can delete hidden memories using SimPE. Could they be dormies? If you ever play a dorm and then delete it later, the dormies are linked to the deleted dorm and cannot move in anywhere else until their keys are deleted:
http://www.modthesims.info/showthread.php?t=438636

The memories should be displayed in the same order in the HoodChecker and in SimPE. If you check the box to view valid memories in HC, then you should just be able to match them up in SimPE.

If you're still having problems finding that memory in SimPE, let me know. I can give you the memory GUID, if that would help.


That was exactly the problem. They were all dormies and I had installed a MMO of a dorm and deleted the old one, so that makes complete sense. Thanks again!
Lab Assistant
#47 Old 2nd Oct 2011 at 11:56 AM
Turns out the oodles of 'sim has no character file' might have been caused by using the 'browse' function instead of selecting the neighbourhood from the initial screen. When I did that, the number of 'no character file' reduced to 4, which I'm guessing is pretty acceptable.
Is it possible that while using the browse function, the HoodChecker can't correctly get at the character files? It also didn't include the names of sims while using the browse function, but it did when loading the hoodfile straight from the menu.

Yet Another Bloody Sims Blog - A BaCC Journal
Lab Assistant
#48 Old 2nd Oct 2011 at 12:45 PM
Mootilda, do you know what the 'had a great anniversary party' memory should point to? In my game, for as long as I can remember, the memory subject of these seems to be something completely random. Sometimes an object, sometimes nothing. I suspect EA broke something in the code for these memories. Should they perhaps be pointing to the memory owner?
Lab Assistant
THANKS POST
#49 Old 2nd Oct 2011 at 12:52 PM
Right, sorry for spamming this thread a bit I have one memory issue that totally stumps me:

Invalid data structure: 0x0056 Balthazar Barkwith: $NPCType $Subject is Familiar with Lot

Balthazar is my NPC good witch. I've no idea what he's been up to to cause this, or what it even means.
Site Helper
Original Poster
#50 Old 2nd Oct 2011 at 3:50 PM Last edited by Mootilda : 2nd Oct 2011 at 4:08 PM.
Quote: Originally posted by Nepheris
Turns out the oodles of 'sim has no character file' might have been caused by using the 'browse' function instead of selecting the neighbourhood from the initial screen. When I did that, the number of 'no character file' reduced to 4, which I'm guessing is pretty acceptable. Is it possible that while using the browse function, the HoodChecker can't correctly get at the character files? It also didn't include the names of sims while using the browse function, but it did when loading the hoodfile straight from the menu.
No. I used the Browse function extensively during testing and did not have that problem with any of my test neighborhoods.

Are you selecting the neighborhood package from an entire neighborhood folder, such as the standard save game location or an AnyGame? Specifically, are all of the subhood packages in the same folder? Does the neighborhood package belong to a folder which has a Characters subfolder? Does that Characters subfolder contain every sim in the neighborhood and all subhoods? The HoodChecker relies on these things.

If all of those things are true, then it might be helpful for me to see your neighborhood folder to try to track down the problem. Would it be possible for you to zip it up and give me a link? You can reduce the size a bit by removing the Lots, Storytelling, and Thumbnails folders, which I don't need. Sorry to ask you this, but I cannot solve a problem unless I can reproduce it.
Page 2 of 18