#sims 2 modding
Explore tagged Tumblr posts
paradoxcase · 3 months ago
Text
Right, so, after reading some error logs, obtaining a copy of the objects.package that shipped with the Sims 2 rerelease, and talking about this with Lazy Duchess, I have a conspiracy theory about why the rerelease is so damn broken
Tumblr media
So first, I looked at an error log that was happening in the Enthusiasm Tracker. It was coming from the function that signs sims up for a magazine subscription after they choose that option on the phone. It's a very short function, all it does is 1) check to see if the family has a magazine subscription token, 2) create one if it does not already exist, and 3) set a property on the token regardless of whether 2 was necessary or not. All three of these actions make use of the Manage Inventory primitive, which controls not just sim inventories, but also tokens like this, memories, and gossip. I compared all like five lines of this function to the one in my objects.package, that I have from the Ultimate Collection, and they were exactly the same. But for some reason, in the rerelease, this throws an error. There is no explanation at the level of this function. I kind of scratched my head and thought, maybe they changed how the magazine subscription token works in this version, and forgot to update this function? Or something?
Next, there was an Too Many Iterations error log that had a very obvious cause: for some reason, the active family had over 500 tokens in its inventory. The family inventory isn't listed in the error log, so have no idea what those tokens were, or how there came to be 500+ of them. BUT. The aforementioned magazine subscription token is a token that goes in the family inventory. Maybe these two problems are somehow related. Are those 500 tokens all magazine subscription tokens, or something?
And then there is the infamous error that the game now throws when a sim goes to get abducted. I didn't see an error log for this one, but I was making a post on MTS listing all of the known issues with the rerelease, and someone mentioned there that the issue is not so much with the abduction as it is with other sims reacting to the abduction, and if there are no sims on the lot to react to the abduction, the error does not occur. Someone else then mentioned that the Abduction Reaction Fix mod that I made actually fixes this error. I made that mod, I know exactly what it does. What does it do?
Well, you see, objects in the game all have what is called a tree table, which is a table of interactions and the functions that need to be called when those interactions are triggered. One of the interactions on the telescope is the interaction to run to the telescope after someone has been abducted. But, in the Free Time expansion, a lot of new interactions were added to the telescope, and for some reason, EA decided to renumber all of the functions when they did that. They forgot to update the tree table, which references functions by their numbers, and as a result, the function that was called when sims were supposed to do the run-to-telescope interaction was actually the function that gives sims credit for discovering a new planet. In my mod, I fixed this, so that when sims are supposed to run to the telescope, the proper run-to-the-telescope function is called instead.
So, the error happens when my mod is not installed (when the planet discovery function is being called erroneously) and not when it is (when the run-to-the-telescope function is called instead). So the error must be coming from the planet discovery function. What is in the planet discovery function? It is almost identical to the magazine subscription function. It checks for the planet discovery token, adds it if it isn't there, and then modifies a property on it, using Manage Inventory. So this is exact same bug. And other people are reporting that some sims cannot gain memories - another game function that is handled by Manage Inventory. There is also an error that happens after a sim cooks food - one thing that happens at that point is that tokens and memories are added to the sim's inventory marking that they have successfully (or unsuccessfully) learned to cook that food.
So at this point, my theory is that EA somehow broke the Manage Inventory primitive. It's used all over the code, to do all sorts of stuff, if you break something that ubiquitous and fundamental, of course it's going to cause a whole lot of seemingly completely unrelated errors. Manage Inventory is now going hog-wild, throwing errors, adding hundreds of extraneous tokens to inventories, refusing to give sims memories, and who knows what else. I can feel it, this is the answer
560 notes · View notes
heathensimmer · 1 month ago
Text
Repost of my Mini WantTrees tutorial
Mini tutorial on custom WantTrees using the Break Up want as an example
Don’t ever open WantTrees without doing this though: Copy and paste your WantTrees (in Program Files not Documents!!) into a safe folder. Do not open it while it is in your Program Files.
Then, when it is safely somewhere else on your PC, you can open it, edit it, and then just copy and paste it into your program files. I always make a BACKUP of the Maxis want trees when I do this. I keep a folder of several different WantTree versions actually and I change them based on the hood (for example, Roaring Heights is edited to have no computer wants etc.)
Needless to say, you should only have one wanttrees at a time in your Program Files and only edit the boolean keys inside the individual WNTTs or … you could delete entire WantTrees but … I wouldn’t advise it.
In WantTrees in SimPe, it will look overwhelming. But gradually you will get used to it. The three instances for “Break up” wants are 0x6DB3A03E, 0xADE345CE and 0xCDCE5F06! You can sort by Instance in the WantTrees package. Let's look together! First, ensure you are looking at this file in the RESOURCE LIST
Tumblr media
You will see a very long list of text files. They are basically just Notepad files and you can export them as text files for easier use, but I just edit them in SimPe.
Open those instances that I mentioned by clicking on them in the Resource List and then switching to PLUGIN VIEW and you will see what looks like this
Tumblr media
What you want to be looking for is this line:
Tumblr media
This tells you the name (and the ID number directly after the name) of the Want that the game is trying to assess based on the selected Sim.
If it says "alphaTrigger" then it is a Want TRIGGER, which means an event that happens in the game that triggers certain wants, so don't mess with those!
From this first section of code, it looks like the game is applying the upcoming wants to becoming a teenager - with a TRIGGER of the Sim becoming a Teen.
Tumblr media
Once we scroll down, we get to the next referred want or want trigger. This one is what you need! It just says "alphaFallInLove" so this is referring to the want to fall in love, NOT a trigger. This can be verified by using PickNMix's object and want spreadsheet to check the 8 digit code AFTER it says "AlphaFallinLove" : the want ID for this particular want is cdaa9450
So, this section will tell you the Want that it's referring to, but you still have scrolling to do!
Tumblr media
THIS is the important section. This section is determining WHICH TYPE OF SIM can roll this want!
From this, it looks like the Want is weighted heavily (do you see where it says WEIGHT? and it's set to 100?) to be rolled by Family Sims, but there are some other details that I am not sure of, so let's just look at the "Break Up" want.
Tumblr media
Ok, we found the actual want. Now to scroll down and see what types of Sims are coded to roll this want.
I would also suggest looking at the order of the wants that are referred to. It can be confusing to figure out what MAXIS was doing, but often, if you scroll down to the VERY END of the XML editor, you will see comments from MAXIS explaining the specific WantTree. But not with all of them! It takes some context clues!
Tumblr media
So, as you can see, in the "Age" section, Teens are the only ones who can roll the Break Up want. All you need to do is change where it says "False" to true for Adults and Elders!
Then you can add your own customizations! In the aspiration section, it is coded that only Family aspiration can roll the Want to break up, but what about changing False to True for Pleasure Sims? Try it out! Also, to reiterate, do you see where it says WEIGHT? And how it is set to ZERO for all the sections? I would play around with that. I assume certain wants are WEIGHTED to be rolled by certain ages, aspirations, or personalities.
Also, let's edit personality! Why not? Let's change False to True for Mean Sims to want to break up, and Serious Sims! notice I also changed the Weight
Tumblr media
Now, this is untested, but the worst that will happen is wants will get rolled that don't make sense for your selected Sim.
You can play around endlessly with this. Just don't touch the TRIGGERS, only play with where the actual WANTS are being referred to. And investigate the ORDER of the sections ... most of the time the ORDER of the sections suggests a PROGRESSION of wants being rolled.
Any more questions? If so, feel free to DM me. I'm at my computer a lot :)
Happy Simming and modding!
29 notes · View notes
fireflowersims · 3 months ago
Text
Sun&Moon Explainer - Optimization
So, I thought it might be fun to do some "behind the scenes" explainers about some of the stuff we do at the Sun&Moon Star Factory.
So in case anyone's curious about what an "optimization update" means, here's the details (long post):
A lot of older Sun&Moon sets use disproportionately large textures. We're talking 1024x1024 for a small wooden pole, for example. While this may (in theory) look cool and high def, it does strain the texture memory quite a bit and will absolutely increase your chances of encountering pink soup.
So what we do with optimization updates is see if we can reduce 1. The size of textures 2. The amount of textures.
Optimization updates are all about decreasing graphical strain and (hopefully) making your game run better. The fact that by doing this we could cut set size down by as much as 50% if not more sometimes is a nice bonus for people with low download speeds or full drives.
"But doesn't this make your sets "low texture quality"?"
No, it doesn't. Texture size ≠ quality. Quality means more than just raw numbers. When optimizing we check whether changing to a lower resolution looks noticeably worse or not. We don't want things to look grainy or generally unappealing. We also try to keep the size of the object vs texture in mind. A larger object can absolutely justify a larger texture, but for a small accessory you're unlikely to encounter too often, you can and should absolutely drop the resolution if possible. Sometimes we may choose to do some remapping to make a smaller texture better fit a larger object. This is a bit more time-consuming but can absolutely be worth it. The quality of a work can absolutely increase when choosing a fitting texture resolution, be it larger or smaller.
So for that wooden pole I mentioned: chances are that that thing's texture size could be dropped to as low as 256x256 with a little bit of remapping. A texture size that would fit in a 1024x1024 *checks* 16 times. 16 times smaller in size while not looking significantly different. Now imagine that being done for hundreds of textures. That's big gains and could absolutely mean the difference between smooth gameplay and pink flashing.
"But what about the amount of textures?"
We use two techniques to reduce the amount of textures: these are the "Repository" method and the "Texture Referencing" method. Both come down to object A taking its textures from object B, the difference is in which resources it happens. Both of these methods can be combined for even bigger savings.
Repository is fantastic for recolorable objects. It is why EAxis beds all share the same sheets. All bedding subsets are repositoried to one singular bed which holds the bedding textures. It involves changing the GMND, SHPE and sometimes GMDC and references the object the texture is taken from itself. This is what we do for most of our wood, for example
Texture referencing is more common in CAS content and involves editing the TXMT. It does not directly reference the object it is pulling its textures from, but rather the TXTR aka texture image itself. Texture referencing is especially useful for non-recolorable objects.
An example of how this can be combined is by looking at horses: the rideable horse is separate from the "basic" horses. The stallion and foal are repositoried to the mare, the rideable horse isn't. Because the rideable horse has identical textures, all recolors are texture referenced to their respective "mare" recolors. The packages were then merged resulting in two recolors in one package using only 1 texture. This cuts the amount of textures and files in half. If we wouldn't do any of this but make it all 100% stand-alone, we would have 4 times the files, 4 times the effort and 4 times the texture strain.
"Are there any other ways in which you can optimize?"
Yes, Barnyard Bash is a great example: the old separate livestock sets all had (identical looking) troughs. One for water, one for food. 2 troughs per animal set + their hay/water files, so 4 files for feeding and watering your livestock PER animal type. Barnyard Bash reduced the amount of objects needed by having all livestock look to the same resources (and merging the water and food trough into one general trough with two options). This freed up a lot of GUIDs (therefore also reducing the chance of encountering the object limit) and means you could have the same experience with fewer files.
Another way we try to make things more efficient is by reducing the amount of BHAV's (code). In our newest (upcoming) station we got inventory management cut down to only a couple of BHAVs that can be reused over and over again. While it may not make a huge difference in filesize, it does make things easier to read and maintain. Compare this to the older sets when every single inventory action (checking, adding and removing) had its own BHAV and it starts adding up. Part of optimization therefore, is also updating the code. You won't always notice in gameplay, but we do streamline things.
"something something so many requirements/dependencies"
We actually used to include required files in our sets but stopped doing that because of two reasons:
It makes it more difficult to keep everything up to date. People could have an older version of a file loading in, causing issues.
Duplicate files significantly increase the risk of catalog crashes.
We use the wine cask shelf for all our wood because this is the efficient thing to do. One object for most of your wood: download some recolors and apply it to tens of objects. It saves space, it saves energy. This way we can focus on creating visually appealing meshes and textures, brainstorming new set ideas and writing new code instead of having to recolor wood for the 90th time. It also has the benefit of creating a very consistent aesthetic.
So yes, sometimes a set update introduces a new requirement. This is not to frustrate users, but to better integrate or optimize sets.
"But why were the texture sizes that large to begin with?"
I didn't come in till later so a lot of this is speculation. I think that back in the day (a decade or so ago) there wasn't a widespread awareness yet that large texture sizes could contribute to pink flashing. I myself am guilty of excessively large textures in some of my solo sets and projects. Unfortunately, Sunni (rip) can't tell us anything about her thought process anymore. All that matters now is that texture optimization has become standard in our current process and that one of our goals is to get all of our sets optimized for optimal performance so they can continue to spark joy.
"So how much space does this all save?"
As it stands right now, all set optimization (both released and still wip) put together come to a whooping 600+ MB in filesize reduction as compared to their original sizes. That's more than half a GB of disk space freed up for more cc or cat pictures. Not bad, eh?
28 notes · View notes
davinaojeda · 1 year ago
Text
Quick GUID Checker for Sims 2
Tumblr media
This is an expansion on @picknmixsims Microsoft Excel sheet available here. It is a table I made that is incredibly lazy but effective and quick at searching for searching for Maxis GUID conflicts when you create new GUIDs. It's a little easier to use since the GUID Database has been down for a long time and you can add your own GUIDs onto the list and update the formula if you're savvy enough in Excel.
DOWNLOAD SFS
DOWNLOAD MEGA
201 notes · View notes
maksplaygroundsims2 · 3 months ago
Text
Am I actually thinking of learning to mod?
I'm desperately tryirng to look for a tutorial on how to transfer the "buy lottery ticket" action/mod part of Monique's computer, to a 4t2 lotto ticket object. I have NO idea where to start, NO clue how to go about even wording it properly into google but, I'm on a mission to find some sort of tutorial. I'll probably post over on the MTS forums, since I've had luck with them when trying to get clean installer to work on Linux... I could also ask in one of the discords I'm in, I'm sure someone could point me in some sort of direction. I have a few other things I want to lean to do but I know this might be a project/thing I'm gonna be spending some time on learning... but well. here's to learning and hyper-focus!
15 notes · View notes
ivycopur · 2 months ago
Text
Facial Structure (LNxR) and DatGen
If you've ever had an interest in modding sim faces in TS2, you've probably noticed these Facial Structure files. Every character file has them, but opening them in SimPE gives you a whole lotta nothing.
Tumblr media
These seem to be where the sim's genetic facial data is stored. You can delete all GMDC, GMND, SHPE and CRES files from a character file, and the sim's face will appear broken ingame, but if they then have a child, the offspring will still inherit their original facial features. Conversely, if you delete just the LxNR, the sim's face will appear intact at first; but if you change them to a different age they will revert to the default face, and if they have a child the inherited features will also revert to the default face. Giving a sim plastic surgery will generate a second LxNR in their character file for the new facial structure, although only the original one is genetic. SimPE can be used to geneticize plastic surgery by replacing the original genetic LxNR with the newly generated one, but it's pretty useless for doing anything else with LxNRs.
However, there is an older modding program called DatGen that does give more information about these files. This program was originally created for Sim City 4 modding and eventually expanded to support TS2 as well, but development was abandoned around 2005. The MTS wiki has information and download links here: https://modthesims.info/wiki.php?title=DatGen (My antivirus didn't like the installer, but I've had this program on my computer for a while and haven't had any problems with it.)
In DatGen we can view the LxNR as a list of vertices.
Tumblr media
I don't know where to even begin in making this useful, but I wanted to share in case anyone else has an idea :) This LxNR format seems to be quite a mystery, in all my searching I found basically no information about it...
9 notes · View notes
12raben · 7 months ago
Text
Tumblr media
Hi fellow simmers 👋
I started playing again regularly and was trying to make a new road replacement. As you can see, I have a problem. I thought, it would be a good idea to make 2 road overlays: one with sidewalks and one without. Problem is: after enabeling neighborhoodview for the road overlay, the object looks very blue for some reason? The square has the same texture, which is the intended one.
Tl; dr: Why is the object blueish in neighborhood view, but looks fine in lotview?
9 notes · View notes
belladovah · 1 year ago
Text
I'd really love to fix The Sims 2 Holidays Mod but I can't figure it out😖
I really love the concept of Piqiwi's holiday mod but it has quite a few bugs unfortunately.
I successfully managed to fix sims getting paid for days they wouldn't have been working thanks to @nopke.
And, @jellymeduza implemented a workaround for the problem that it causes the walk to work interaction to be missing completely.
But it has more problems I haven't been able to resolve yet.
From my experience, once a holiday has happened, the sims work schedule will never actually restart, so even on a non-holiday day, there'll be no 'sim needs to be at work in one hour' and the carpool will never show, not until I force off-world errors with the batbox.
Another annoyance, especially with the community time project, is that if the sim is off lot on a holiday at the time they'd usually get paid, they will never get their holiday work pay.
Who else uses this mod? Who else has experienced these problems? Does anyone know how to fix them or have any ideas about how to?
21 notes · View notes
erekiossimingexperience · 10 months ago
Text
Does anyone have experience modifying stuff in SimPE ? I have the "SaveYourGameReminder" mod (because my game tends to crash the longer I play), and I would like to change the time between the save reminders, from 24 hours in game to like 7 hours or something similar.
I figured it's possible, because the mod has three flavors (72h, 48h, and 24h). But I don't know anything about modding, and I would like a helping hand for that one modification.
Thank you in advance !
9 notes · View notes
blueybre · 1 year ago
Note
Hey Love your Game Rack Mods, but I cant help myself editing everything do you know how to make the urbz rack have an empty state like the other racks? more than happy to do it myself was just wondering if you could point me in the right direction so far all I have is a texture without the game box shadows and an empty mesh but not sure about how to go about making them work, fair enough if you don't know how just thought id ask since you seemed to have worked on those items before.
Tumblr media Tumblr media
Might be simpler than I initially thought when I read your question in my inbox. First picture is the model names on the FreeTime video game rack, where graphic number 2 is the empty game rack mesh. The second picture is the routine where the game rack is set to graphic number 2 and the "Out of Stock" flag once its stock hits zero. I suppose this could be worth a try, just drop this mesh name into line 0x02 of the Model - Names STR# resource of the Urbz rack (originally, this line is empty). Since it only affects the mesh, I hope that the textures won't end up looking weird.
Feel free to test this out and report back, as this may be an important fix I need to apply to my mod.
2 notes · View notes
heathensimmer · 2 months ago
Text
Mini tutorial on custom WantTrees!
If you want to edit this yourself, you need three instances in WantTrees. Thank you so much to @profesionalpartyguest for including the specific instances! Saved me a lot of time.
Don’t ever open WantTrees without doing this though: Copy and paste your WantTrees (in Program Files not Documents!!) into a safe folder. Do not open it while it is in your Program Files.
Then, when it is safely somewhere else on your PC, you can open it, edit it, and then just copy and paste it into your program files. I always make a BACKUP of the Maxis want trees when I do this. I keep a folder of several different WantTree versions actually and I change them based on the hood (for example, Roaring Heights is edited to have no computer wants etc.)
In WantTrees in SimPe, it will look overwhelming. But gradually you will get used to it. The three instances for “Break up” wants are 0x6DB3A03E, 0xADE345CE and 0xCDCE5F06! You can sort by Instance in the WantTrees package. Let's look together! First, ensure you are looking at this file in the RESOURCE LIST
Tumblr media
You will see a very long list of text files. They are basically just Notepad files and you can export them as text files for easier use, but I just edit them in SimPe.
Open those instances that I mentioned by clicking on them in the Resource List and then switching to PLUGIN VIEW and you will see what looks like this
Tumblr media
What you want to be looking for is this line:
Tumblr media
This tells you the name (and the ID number directly after the name) of the Want that the game is trying to assess based on the selected Sim.
If it says "alphaTrigger" then it is a Want TRIGGER, which means an event that happens in the game that triggers certain wants, so don't mess with those!
From this first section of code, it looks like the game is applying the upcoming wants to becoming a teenager - with a TRIGGER of the Sim becoming a Teen.
Tumblr media
Once we scroll down, we get to the next referred want or want trigger. This one is what you need! It just says "alphaFallInLove" so this is referring to the want to fall in love, NOT a trigger. This can be verified by using PickNMix's object and want spreadsheet to check the 8 digit code AFTER it says "AlphaFallinLove" : the want ID for this particular want is cdaa9450
So, this section will tell you the Want that it's referring to, but you still have scrolling to do!
Tumblr media
THIS is the important section. This section is determining WHICH TYPE OF SIM can roll this want!
From this, it looks like the Want is weighted heavily (do you see where it says WEIGHT? and it's set to 100?) to be rolled by Family Sims, but there are some other details that I am not sure of, so let's just look at the "Break Up" want.
Tumblr media
Ok, we found the actual want. Now to scroll down and see what types of Sims are coded to roll this want.
I would also suggest looking at the order of the wants that are referred to. It can be confusing to figure out what MAXIS was doing, but often, if you scroll down to the VERY END of the XML editor, you will see comments from MAXIS explaining the specific WantTree. But not with all of them! It takes some context clues!
Tumblr media
So, as you can see, in the "Age" section, Teens are the only ones who can roll the Break Up want. All you need to do is change where it says "False" to true for Adults and Elders!
Then you can add your own customizations! In the aspiration section, it is coded that only Family aspiration can roll the Want to break up, but what about changing False to True for Pleasure Sims? Try it out! Also, to reiterate, do you see where it says WEIGHT? And how it is set to ZERO for all the sections? I would play around with that. I assume certain wants are WEIGHTED to be rolled by certain ages, aspirations, or personalities.
Also, let's edit personality! Why not? Let's change False to True for Mean Sims to want to break up, and Serious Sims! notice I also changed the Weight
Tumblr media
Now, this is untested, but the worst that will happen is wants will get rolled that don't make sense for your selected Sim.
You can play around endlessly with this. Just don't touch the TRIGGERS, only play with where the actual WANTS are being referred to. And investigate the ORDER of the sections ... most of the time the ORDER of the sections suggests a PROGRESSION of wants being rolled.
Any more questions? If so, feel free to DM me. I'm at my computer a lot :)
Happy Simming and modding!
Fix for broken "Break Up" Want
Tumblr media
my first ever mod, a fix for broken maxis coding, this case being the "Break Up" want. This want is now appears in the wants panel for adults and elders sims of all aspirations, instead of not being rolled at all. Download here Along with a version with @veronavillequiltingbee's want trees fix here.
1K notes · View notes
paradoxcase · 11 months ago
Text
Man, every time I sleep too late and then just stay up all night because I have something I have to do in the morning I wind up spending a huge amount of time fantasizing about the Sims 2 mod I'm never actually going to make where you can write your will to have stuff gifted to other sims after your death and if you don't will people as much money as they expect they start fighting the people who got more during the will execution. Every time without fail. I've got the whole design document in my head, I just need to be able to justify spending several weeks worth of full-time labor clicking buttons and typing numbers in hexadecimal. If this were the good timeline I could just type code into a text editor and have it done much faster, but nooo
At least this doesn't fuck me up like it used to. Now that I've gotten old and only actually need like four or five hours of sleep every 24 hours, I've reverted back to college-level ability to function without it
13 notes · View notes
heathensimmer · 2 months ago
Text
MOD REQUEST Pretty Please or WCIF
Functional lawnmower or weedwhacker that mows the weeds/grass replacements
I’d do it myself if I knew how to make custom objects!
9 notes · View notes
fireflowersims · 4 months ago
Text
Alright, so the other day I may have stumbled upon something pretty interesting:
The existing documentation on TXMT animation is inaccurate and has been so for 15 years
I will make a post going into way more detail with good examples, but for now, have the "not replicable" (according to Exploring the TXMT by Pixelhate) perfectly centered txmt rotation, successfully replicated on another object and texture:
33 notes · View notes
simstrektos · 9 months ago
Text
Pet meatwad
4K notes · View notes
acottonsocksims2 · 3 months ago
Text
ACottonSock's Sims 2 Mods Masterlist (Part 1)
Tumblr media
🚨 MODS MASTERLIST HAS MOVED HERE 🚨
2K notes · View notes