View Single Post in:
HoodChecker 1.0.3 - Neighborhood Corruption Detector (Updated February 11, 2013)
29th Sep 2011 at 6:58 AM
Thanks: 32337 in 154 Posts
View My Journal
To Do List
Current To-Do List for the HoodChecker
My first priority is to fix problems which prevent people from using the HoodChecker. Bugs which have a workaround will be fixed as time permits.
- Do not display unknown memory items as errors.
- Report error if multiple families are associated with one lot.
- Move memory categorizations into external text files, so that they can be modified without programmer intervention. These files can also act as documentation about expected parameters for all known memories. It would also allow localization of all memories. Can we set up this list so that individual creators can supply additional memory category lists for any new memories generated, perhaps by reading all files in a folder?
- Create a new SimID list for all known sims who do not require a user file in the Characters folder. Allow the individual creators to supply additional SimID lists for multi- PT and PS mods.
- Mark invalid memories as deletable or fixable by the HoodChecker, so that the user can tell whether HC is going to remove or fix the invalid memory.
- Have the HoodChecker look at the appropriate Downloads folder to find multi-Pollination Technician and multi-PlantSim hacks, as well as any other hacks which generate a valid Sim Description with no Character file, such as the various farm animal mods. The SimID is the OBJD GUID; the Clean Installer may know where to find information about whether the object is a sim. Might want to make this check optional, since it may take a long time to run, depending upon the size of the Downloads folder.
- Guided mode. The HoodChecker could guide a user through the fixes required by providing a list of appropriate sims or objects for each memory. Please note that this is a "pie in the sky" request.
Additional relationship checks
-> From Cyjon: I'd like to suggest another relationship check, one I have on my debugger. I have had occasional problems with sims having relationship flags set, but not the "std relationship set?" (x10) flag. That arrangement of flags has to be a bad thing. In each case, the other flags were nonsense (a boy who was engaged to his mother and married to his twin brother for example) so I had to rebuild them by hand.
Better error messages
-> Change "Owner does not exist" to "Owner is not a valid sim".
-> Change "Subject does not exist" to "Subject is not a valid sim".
-> Change "Unexpected Sim Subject" to "Subject is not a valid object".
-> Make sure that all error messages are unique, rather than using the same error message for memories and tokens.
Additional memory checks
-> Finish categorizing memories.
-> Memory about Sim: Where possible, handle memories about sims separately from memories about pets. Check species.
-> Memory about Work: Check that the Subject GUID is a valid career track. Have HC recognize valid career CC.
-> Memory about Food: Check that the Subject GUID is a valid food. Have HC recognize valid food CC.
-> Memory about Skilling: Check that the Subject GUID is a valid skill object. Have HC recognize valid skilling CC.
-> Check consistency between Family Ties and Memories. If a sim has a memory about bearing a child, should that child be in their Family Ties? What about adoption?
-> Determine whether there are any other Tokens which can be checked for invalid hood, lot, family, or sim references. The attraction tokens are a prime candidate.
-> Implement EP checks: mark a memory as invalid if the EP for the memory is later than the hood version. Note that the hood version must be converted to the game engine version; SPs do not have their own game engines and the Store Edition uses the AL or MG engine.
Additional memory fixes
-> Memory about Self: If the Subject GUID is not the memory Owner, set the Subject GUID and Instance to the memory Owner. Is this always the right thing to do?
-> Memories about Self or Sim: If the memory Owner is not a valid sim, set the memory Owner to the owner of the memory slot? How can HC ensure that these are memories and not gossip?
Additional Remove options
-> Remove invalid memories belonging to valid sims, so that there is no need for SimPE.
-> Remove all Sim Loaded tokens, similar to this mod:
-> Remove all gossip, similar to the Lot Debugger.
-> Remove all attraction markers, similar to the Lot Debugger.
-> Remove all Met Sim memories which have expired (Current Value = 0). Slightly different that the Lot Debugger, since it will only remove memories which have expired and should have no further effect on a sim's wants or behavior.
-> Examine the Lot Debugger to see whether there are any other memories which could be optionally removed.
-> It may make sense to add a "Remove all" column to the memory categorization lists, so that people can just mark which memories they normally want removed. The HC could update the list for the user, so that the default setting for all Remove options matches the list.
Additional record checks
-> Check Family Information record. Ensure that all sims in the family are valid.
-> Check Wants and Fears (SWAF) At the very least, the HC could report if a SWAF exists for a non-existent sim.
-> Check Family Wardrobe. We should be able to delete any wardrobes for non-existent families.
-> Check Business Info and Sim Scores.
-> Check text lists. Unused text list will attach themselves to newly generated families and lots, giving incorrect translations.
-> Display all references to a specific sim (valid or invalid) via either Sim Instance or GUID. This would allow the user to understand how much a sim has "infiltrated" a neighborhood.
External Research and Possible BHAV Fixes
- "Had X Best Friends ($Subject)" is generated with junk subjects (with or without CC?):
This may be true for other lifetime wants as well.
- Skill memories sometimes look like memories about Self:
- "$NPCType $Subject is Familiar with Lot" is generated with an invalid data structure in the NPC Witch memory slot (with or without CC?). If this is generated when you visit a witch lot, then it's being used completely differently than in previous EPs.
- Why are non-zero relationships with self generated?