I was looking through pics of my old save, & found this old pic of Sandy entering beer in a cooking contest :]
tumblr dot com
DEAR READER
dirt enthusiast
styofa doing anything
Peter Solarz
No title available
2025 on Tumblr: Trends That Defined the Year
No title available
I'd rather be in outer space đ¸
Not today Justin
will byers stan first human second

Kiana Khansmith

if i look back, i am lost

⣠Chile in a Photography âŁ

â

romaâ
NASA

izzy's playlists!
Today's Document
Show & Tell
seen from United States

seen from Canada
seen from United States
seen from TĂźrkiye

seen from Mexico
seen from Netherlands

seen from France

seen from TĂźrkiye
seen from Italy

seen from France
seen from United States

seen from TĂźrkiye

seen from Mexico
seen from United States
seen from France

seen from TĂźrkiye

seen from TĂźrkiye
seen from France
seen from Ireland

seen from Netherlands
@strangetowncactus
I was looking through pics of my old save, & found this old pic of Sandy entering beer in a cooking contest :]
Fight Can Kill
A way to die from a fight đ
I've had this in my game for a while, but for you guys, I added traits and made every little detail BCON configurable, because I know many of you would like to set everything just how you want it. Enjoy!
Download Page
For @maksplaygroundsims2, @tedsies, @grilledcheese-aspiration, @katatty and others
Calling all shader creators: proposal to make a public Git repo for solving shader conflicts
As more shader edits get released, a problem that plagues creators and downloaders alike is the issue of conflicts between shaders that modify the same resource. Obviously, since they're scripts written a certain way and implementing a certain behaviour, there can only be one per each original .matshad. This leads to the need to make your shader mod compatible with other mods that change unrelated stuff within the same .matshad, and the combinatorics for that can get very tiresome very quickly. Additionally, since everyone names their file however they want and there's no standardisation, and downloaders need to look into the package with SimPE and see if they have any other shader mods with the same TGI or contents (not an easy or automated thing to do, since SimPE doesn't display .matshad names), it's very easy to have conflicting shader mods.
Enter Git. For those who don't know, Git is a free and open-source version control software that makes it very easy for multiple people to collaborate on shared code, compute differences between two versions of the same file and apply just the differences, switch between different versions of a file, restore stuff back to an initial clean slate, view and revert your changes piece-by-piece as you work, and way way more. I'm willing to shill for Git for a very wide variety of use cases, it's a really cool tool. It has a bit of a learning curve, especially for people who are not very technical or comfortable in command line, but there are GUI tools for those who prefer them (e.g. Sourcetree), and in addition maybe I can write some batch or shell scripts for making things easy for newbies.
Note: I will not go very much into detail explaining basic Git terminology here, but I'll try to make this comprehensible to those with no experience. I've added a brief guide to Git under the cut.
How it works
First things first, everyone who uses this system, whether as a shader programmer or as a downloader, needs to download and install Git on their PCs.
I will make a public repo on my Github account containing all Maxis shaders, each in their individual folder named after the included .matshad. A given folder will have two files: .package (added to gitignore), and .matshad. Creators are kindly asked not to rename them; this way we know immediately when the same resource has been modified. Git will only track the changes to the .matshad, because even though .package files containing a .matshad have huge chunks of plaintext, they're still ultimately binary files and Git is bad at processing those. The initial commit of the Git repo on the master branch will contain the Maxis shaders in their unmodified state as of M&G. The master branch will stay clean; no pull requests into it will be approved. This is so that people can easily switch back to vanilla shaders.
Creators will push their commits to their own branches on the remote repo. They're asked to please base their work off the initial Maxis commit to the greatest extent possible, and not on other creators' work, unless they work on the same piece of code as someone else whose work they want to include. This is to make it easy for people to pick and choose whatever they like.
Downloaders will clone the repo into their Downloads folder.
When they want to search for new shaders to download, they'll do a git fetch or git pull.
They'll make a local branch into which they'll cherry pick commits for each shader mod they want in their game. (Cherry pick, not merge, unless you have the exact same taste in shaders as a given creator.)
Then they'll open the .gitignored package with SimPE and replace the contents of the .matshad included in the package with the ones of the separate .matshad. This process can be manual or I could make a script for it.
Note on the binary conundrum
It is technically perfectly possible to add .package files or any binaries to a Git repo, either just them or alongside a separate .matshad. The advantage of this method is that users no longer have to manually replace the .matshad in the .package, which can be nifty for inexperienced or inattentive users. The drawback is that Git saves changes to binary files as the whole damn file, which can make the repo balloon up to large sizes with successive changes. Assuming you don't download new shaders all day every day, the trade-off can be worth it. Idk. Discuss.
Misc comments & possible problems
Git is useful, but it's not very smart. In particular it doesn't speak Matshad (or C++, or Python, or even English). You can have situations where a merge is completed successfully, but this leaves the shader in an inconsistent state, and the game either fails to load any hood/lot or flashes pink everywhere. In situations like these, know you have just downloaded a shader that's incompatible with what you already had on your local branch, and you need to revert the commit (or the nuclear option, go back to vanilla shaders).
Please don't push your local branch with everything you use in your own game. Do a git log to ensure your branch history is clean. The original repo won't come with a local branch for personal use; you need to make that yourself. Tutorials and sometimes scripts will be provided for everything a downloader needs to do.
Backup branches can be created to save the state of your shaders when you're happy with how your game looks and are worried about future shaders breaking it.
Make sure your downloads manager doesn't delete the files that make a Git repo because it sees them as non-packages and therefore junk. (Haven't tested this and normally Git files stay in a hidden folder, but just in case.)
Poll
I gotta admit I'm not very experienced with Github yet, as opposed to Bitbucket or Azure, so I don't know how easy it is for creators to push to secondary branches of a repo they don't own, if someone needs to approve that, or if it's easier for them to fork the repo and start their own changes and downloaders who cloned the original repo can pull commits from the fork, etc. If you know more about that, please discuss in the comments, esp. as applied to TS2 shaders.
ANYWAY. I'd like shader creators (and shader creators only), especially those who have already uploaded shaders, to please vote on whether they'd prefer to make a Github account themselves and push their own commits, or if they'd rather not bother with all this Git stuff and prefer me to make a commit with their modifications on their behalf (with the right credits and all that).
Please note that no action will be taken imminently towards yours or anyone's work; the Git repo doesn't exist yet and I won't upload things without people's permission, unless they've been inactive for 10 years or whatever. I just want to gather opinions to see which implementation will be the most popular.
Poll for creators: How would you prefer your work to be published to the Github repo? (Please don't vote if you're not a creator of TS2 shaders.)
I'd rather make a Github account myself and push my own commits
I'd rather ask you to publish the commit on my behalf and credit me
I don't want my shaders included in this Git repo at all
Conclusion
And that's it! Please let me know in the comments if any part of this is harebrained or if this all sounds too complicated for a bunch of Sims 2 downloads. I will nevertheless continue to sing the praises of Git (and I would also like to add that Git proficiency looks pretty good on your resume, for those thinking of going into tech).
The Git repo is now live!
For now I've gone with the solution of adding .matshad files only, and I'm planning the addition of a script that would generate the corresponding .matshad.xml for easy importing into SimPE for all Maxis shaders.
That will go into the main branch, so if anyone wants to commit their own shaders in their dedicated branch before the script is ready, I'm going to ask them to pretty please do a rebase off main afterwards.
Reminder that no shader modifications will go into main. Do not make PRs with your changes into main. Commit them into their own separate branches.
The main branch must remain on the Maxis version of shaders so that it's easy to switch back to the original, even for people who aren't very skilled with Git.
---
That being said, I'm open to hearing out people's suggestions for this! I'm new to being in charge of a Github repo and don't have a perfectly well-defined plan for where to take this, so as a community we will figure out best practices as we go along, probably.
Tutorial: Multi-Lot Harbours
I promised this tutorial a while ago and just started making my harbour for my current hood. I figured I may as well kill two birds with one stone, so here it is! This technique is completely modular, allowing you to create harbours of any length. As you can see, I've already done one of the lots, just to show you how they fit together. You will find yourself saving and exiting quite a lot with this method!
Requirements
LotAdjuster
A neighbourhood with accessible shoreline
Possibly some understanding of the 'boolprop constrainfloorelevation false' cheat
Important: I do not use beach lots for this method. I find this method gives me more control.
Step 1: Place Your Lot
Start with a lot that is 20 tiles deep. This gives enough room to create a stone harbour wall and dock area. This is preference, but I find any bigger looks dumb.
The lot should be 10 tiles wider than the harbour segment you ultimately want. For example, if you want a final harbour segment that is 40 tiles wide, start with a 50 tile wide lot. That is what I've done here.
Bring the water as close to the lot edge as possible. If necessary, use the cheat 'modifyNeighborhoodTerrain on'
The terrain should slope down naturally towards the water.
Step 2: Mark the Tiles to Remove
Measure 5 tiles in from each end of the lot.
These tiles will be removed later with LotAdjuster.
For a centre segment, mark 5 tiles on both ends.
For a left-end segment, mark 6 tiles on the left side.
For a right-end segment, mark 6 tiles on the right side.
Step 3: Build the Stone Harbour
Create a foundation within the remaining space. This can be as big as you want.
The foundation walls should extend flush (but not connect along the length) to any edge that will connect seamlessly to another lot.
I use Numenor's custom foundation walls, but you can achieve the same effect using standard walls with the cheat 'constrainFloorElevation false'. Just flatten the walls after placing them.
Cover the foundation with floor tiles of your choice, filling in that gap.
Important: Do not place walls along any edge that will connect to another harbour segment.
Step 4: Add the End Cap
At the opposite end of the harbour wall, add a small "cap" section. It will not stretch out as far as you want, but that's okay. Again, make it as big as you want.
This creates a natural transition point where stairs can lead down to the wooden docks.
Step 5: Build the Dock
Lay out the wooden dock below the stone harbour. Mine was a full story (16 steps) lower than the stone.
As before, don't place foundations flush against the lot edge. Use floor tiles to create the seamless connection instead. You will know it's correct if there's no stilt on the 6th tile from the edge.
Again, at this stage, don't worry if the dock isn't the exact width you want.
Save and exit the game.
Step 6: Extend the Lot
Open LotAdjuster and add 20 tiles to the back of the lot.
Do not change any other settings.
Step 7: Finish the Waterfront
Load the game, and then the lot again.
You now have what is effectively a custom beach lot. I usually add terrain paint to match my shoreline, otherwise the extended area remains grassy.
You can now adjust the dock to its final width. In my example, I created a dock that was 5 tiles wide.
Step 8: Plan the Dock and Bay Pattern
Decide how many docks and bays you want. Bays should be big enough to fit ships.
The harbour should always end on half a bay, so that adjoining lots complete the bay when placed together.
Do this before shrinking the lot. Once the lot has been reduced, you won't be able to place floor tiles on the very edge.
For my example:
Dock width: 5 tiles
Bay width: 10 tiles
This creates the pattern: 5 (half bay) - 5 (dock) - 10 (bay) - 5 (dock) - 5 (half bay)
I also made them 15 tiles long. You can do literally whatever size you want.
Save and exit once the layout is complete.
Step 9: Trim the Lot
Open LotAdjuster again and remove 5 tiles from both the left and right sides.
This is the step where you're most likely to run into problems. I certainly did while creating this tutorial!
If LotAdjuster throws an error, reload the lot and make sure there are no walls, fences, or foundations crossing the line where the new lot boundary will be.
When you reload the lot:
End pieces should have one side flush with the lot edge.
Centre pieces should be flush on both sides.
These flush edges allow the harbour sections to connect seamlessly.
Step 10: Repeat
Repeat the process for as many harbour segments as you need. If they don't line up, you can't just pick up the lot and move it. You have to use LotAdjuster to either move it left or right. I had to do so in this very tutorial.
The good thing is, you can use the original dock as a visual guide for widths! Also, make sure the wooden dock is on the same elevation across both lots.
For this example, I created a left and right segment and mirrored them, but you can continue adding centre sections indefinitely. I tend to add stairs in the very middle if I do that. You need a flight of stairs to get down to the harbour.
Finishing Touches
Once your harbour is assembled, decorate it however you like.
I usually place lots like warehouses, taverns, fishmongers, market stalls, or more on the stone harbour, and use neighbourhood deco ships (or this refurbished version of the Bon Voyage ship) in the bays. I also decorate the docks with crates, barrels, dead fish, etc. For some extra fun, add invisible fishing spots to the end of the docks!
The result is a fully modular harbour that can be expanded to fit any waterfront.
I hope this tutorial helps! If anything is unclear, feel free to ask.
update: i added a harbour onto the harbour, for smaller fishing boats. i quite like it.
đŚ Makeup Dump III
Another batch of blushes / tear troughs, jowls, facial folds/ for your Sims. And one eyeliner.
Download: SFS | BOX
Textures are DXT5 format, mostly 512x512 px
*You can enable or disable makeup for various ages / genders with Outfit Organizer.
Enjoy!
(makeup dump II is here)
*This is for THE SIMS 2
caliente house makeover sims 2 noCC
you should use the rug fix patch â¤ď¸
reshade preset gia
download sfs
Natasha Unaâs house makeover NoCC
download OneDrive
here's a bundle of pixels for you đˇ
no cc. feel free to make changes
download: simfileshare
my defaults in the previews: luz v1 eyes, moonfruit skin
dustin & angela's apartment âĄ
Back in 2019, @clstldrmr83 released her Poor Decor: Rugs Redeux project. This involved putting her Poor Decor: Oblivion Rugs set onto Simtomatic's Rugs Refinished meshes, and as a bonus she also recoloured these meshes with a number of Wiccandove's Skyrim Rugs and Sunni's Floor Rushes.
In my continuing quest to streamline my downloads folder and the number of OBJD's it contains, I decided to rip the textures off most the other rugs in my game and apply them to Simtomatics meshes.
Because why have a rug catalogue that looks like this:
When it can look like this!
But not only did I recolour this rug set 178 203(!) times with rug textures from 12 different sets, the rug meshes themselves got a little makeover!
1. DOWNLOADING EMPTY & CLEAN LOTS
Alright, first of all, letâs find a good copy of the lot you want to work on. Some premade maxis lots contain families/gravestones/sim references. We donât want to work on a lot that contains those things!
I recommend downloading clean maxis lots from:
TS2 Lot Database here on tumblr
@jawusaâs clean & empty hood templates at MTS.
I prefer Jawusaâs templates as I donât need to download every individual lot separately. If you donât use Jawusaâs templates I recommend putting your downloaded lots into a test hood and work on your makeovers there.
Always use clean installer when downloading lots. When downloading a CC-free lot, the file should only contain the packaged lot. If the file contains cc or hacks, make sure to untick those boxes with clean installer.
It should look like this:
Tricky Lots:
Main street Mobile Homes (glitchy & will crash if made over)
Download the replica made by @meetmetotheriver here.
Cozy Kitten Condo & Nuclear Nest (occupied bin lots)
@sunradersimblrâ shared empty versions of these lots here.
Of course, you could recreate the maxis lots from scratch. This is how @frottana-sims made some of her amazing lot makeovers.
2. CLEANING YOUR LOT
Youâve downloaded the lot you want to make over, placed it in a test hood and youâve made the changes you wanted. What now?
Before packaging the lot we want to clean it up first. Youâll need the LotCompressor & LotCleaner by Chris Hatch.
Download both tools. The LotCompressor is an external tool and the LotCleaner is an object that youâll find in the gameâs buy catalog.
LotCleaner
Use the LotCleaner first. Enter the lot you want to clean and locate the LotCleaner in the misc/misc category in the buy catalog. The LotCleaner will look like this:
You donât need to place the object, just pulling it out from the catalog is enough. In fact, Iâve noticed that when I place the LotCleaner on a lot and then delete it, the lot disappears in SimPe, as if itâs invisible. I also canât find the lot with the LotCompressor later on. So just click on the LotCleaner but donât place it down.
The LotCleaner supposedly removes SDHB from an infected lot but Iâm not sure if this is true. Still, itâs a good tool to remove tokens and other stuff. Never use the LotCleaner on an occupied lot though as this can cause issues.
The LotCompressor
Use The LotCompressor while the game is closed. I have the tool as a shortcut on my desktop.
If you have SimPe, put the LotCompressor file into the SimPe folder. The folder should be in your program files.
If you donât have SimPe, download Mootildaâs version that has the required SimPe files and replace her LotCompressor file with Chris Hatchâs.
As you open the compressor it will look like this:
Choose Start > and youâll get a list of your neighboorhoods. Choose the hood you have your makeover in and proceed.
You can choose to compress one of the lots or all the lots in the hood. I usually just compress all of them. Tick all three boxes at the bottom and press Next >:
Then click Finish >
All the lots in your hood should now be free of sim references. You can also remove sim references manually with SimPe but The LotCompressor is simpler.
3. PACKAGING CC-FREE LOTS
Once youâre done cleaning your lot, enter the hood and package your lot. Click on the Package Lot icon and tick the box to Package Lot to a file.
Your packaged lot is now located in \Documents\EA Games\The Sims 2\PackagedLots
Exit the game and find your packaged lot and open it. Even if youâve made your lot makeover without CC thereâs a chance that hacks/mods have been packaged with your lot.
In this example, my packaged lot contains some road overlays and the rug fix mod:
Untick every box except the packaged lot or click the Select lot file only icon:
We want a new lot package that only contains the lot file so weâre going to click Save asâŚ
Name your lot and save it to your desktop. Delete the old file in the PackagedLots folder.
Open the package you just saved to your desktop and make sure it only contains a lot file.
Now, I like to double check in SimPe that the LotCompressor worked and that thereâs no sim references with my lot.
Open SimPe > Tools > Package Tools > Open Sims2Pack
Locate your packaged lot on your desktop and open it.
If you find stuff like Sim Relations and Sim: Scores in the Resource Tree then the lot is not cleaned properly. Clean the lot with the LotCompressor and package it again.
The Sim Information is okay though and wonât be removed by the LotCompressor.
If the lot is free of Sim Relations and Sim: Scores youâve successfully cleaned the lot.
You can either share the lot as a Sims2Pack or put it in an archive. I like to share my downloads as archives. I use Winrar for this.
Right-click on your packaged lot and choose Add to archiveâŚ
I choose Best under Compression method and click OK.
I now have my finished product:
4. PACKAGING LOTS WITH CC
Packaging lots with CC can be a bit tricky. Iâve seen many people simply package their lots without caring whatâs being packaged. Some packaged lots contain hacks/mods or a bunch of recolors that are unnecessary.
Sometimes the master meshes donât get packaged with the lot and thatâs when you get objects flashing blue.
Always make sure not to package hacks or mods with your lots and make sure that all the required meshes are packaged.
Letâs say I share a lot with a custom mirror. The mirror is slaved to a counter. If I just package the mirror and not the counter itâs slaved to, the mirror will be missing textures (flash blue). So I need to package the counter, even If I didnât use the counter in my makeover.
Letâs use one of my Twikkii Island makeovers as an example. I decided to package one of the lots that has some custom content.
I find my packaged lot in the PackagedLots folder and open the package. I donât need the hacks so I untick those boxes:
Next, I click on Install. The CC that I didnât remove will end up in my downloads folder. To make sure that nothingâs missing, Iâm going to remove every other piece of custom content from my downloads folder. I want to start up the game with only the CC I just installed.
In this case, the palm trees show up fine in lot view. No missing meshes then, right?
However, hood view is a different story:
This isnât a nice view so I need to find the missing textures. If I donât know which file is missing I will try adding different files into the downloads folder and check the hood again.
I do this until the lot looks normal in hood view. In this case I need to package these additional files with my lot.
I prefer to package my lots without CC and drop the required CC into a seperate folder. As you have all the files you need in your downloads folder now, create a folder for them. I named mine Custom Content. Move the folder to your desktop.
Package your lot and remove all custom content/hacks/mods from the package as described further up and save the new package to your desktop.
Now you have both your CC-folder and the packaged lot on your desktop:
Highlight both the CC-folder and the Sims2pack, right-click and choose Add to archiveâŚ
Give a name to the archive and save it to your desktop. And now you have the finished product:
The archive will look like this:
5. WHERE TO HOST YOUR FILES
Thereâs some alternatives when it comes to hosting your lot makeovers. I honestly donât know which one is the best but I would recommend using two different sites.
I always upload my lots to both SFS and MediaFire so if one site is down people can still access my download link from the other option.
Other popular options are box, dropbox, MEGA & MTS.
Explaining the Pink Soup (In Layman's Terms)
Hi everyone!
First off, I just wanted to say thank you for all of the positive feedback I've received over the past few days â I'm really pleased to see that my mod seems to have been effective for so many of you!
I am aware that my dissertation/thesis is really rather technical, filled with lots of academic/flowery language, and probably quite overwhelming to try and understand if you're lucky enough to have not studied computer science, so I wanted to attempt to break the key parts of it down into the simplest terms possible, to hopefully help answer some of the questions I've seen people have.
What is the pink soup?
The pink/purple strobe lighting we all know and love is 1 of 4 uniquely coloured shaders the game uses to indicate a specific type of error has occurred when trying to display something on-screen. The 3 other colours it uses (you've likely seen at least one of them) are red, blue, and yellow.
These shaders serve two main purposes:
To let you know something has gone wrong in an obvious (albeit obnoxious) manner.
To allow the game to keep running in spite of whatever error has happened (otherwise it would just crash).
Internally, the error that the pink soup represents is known as a "material parsing failure", i.e. the game has failed to understand some piece of material data (textures, rendering properties etc.) about an object it is trying to render.
Part of the process the game goes through before rendering an object to the screen is checking that its data only contains specific characters (numbers, letters, and certain symbols) â an example of when this would fail and trigger the pink soup would be if the game came across a random emoji during these checks.
What does 32-bit/64-bit mean?
A 'bit' is just a single digit of a binary number. All you really need to know is that a 32-bit number is a binary number that is 32 digits (bits) long, with the largest binary number possible being 32 consecutive 1s (1111111âŚ).
I'm not going to bore you to death and show you how to convert binary numbers to decimal, so you'll just have to believe me when I say that 32 consecutive 1s in binary is equivalent to 4,294,967,295 in decimal.
4.2 billion might seem like a pretty high value to be able to represent, but if I said this is roughly equal to 4GB, you might be able to start to see how 32-bit computers/software could be a bit (no pun intended) limited memory-wise. For comparison, the largest decimal value a 64-bit binary number can represent is 18,446,744,073,709,551,615, or just under 18.5 exabytes (EB)!
But what if I wanted to represent the number 5 billion in 32-bit binary? Here's the fun thing â you can't. If you tried, the binary number would 'wrap around'. As in, it would max out at 32 consecutive 1s before resetting back to 0 and continuing to count up until it reached the binary value of 705,032,705 (5,000,000,000 - 4,294,967,295 = 705,032,705).
This is what is meant when we say that The Sims 2 can only use up to 4GB of your computer's memory (RAM) â it is physically unable to access/store data in more than 4,294,967,296 different memory addresses (it's 4,294,967,296 because the range of possible addresses would be 0 to 4,294,967,295).
If you're not sure what I mean when I talk about 'memory addresses', you can think of the concept as being like your home address (your house number, street name, and postal/zip code). It's just the location a piece of data lives at in memory so the game knows where to find it if it needs to use it for something.
Once the game has run out of memory addresses to use to store things, it will crash. The only way this could be fixed would be if EA magically decided to rewrite the game's engine to be 64-bit, thus allowing it to use an exponentially larger number of addresses.
Why does the pink soup happen?
This is where things get interesting. While the game is loading, the material data for the objects in your neighbourhood/lot is stored at individual addresses in your computer's memory so it can be processed.
Part of this processing involves the game taking all of the shader code found in the Materials.package file and linking the relevant shaders to the relevant pieces of material data of an object (e.g. a reflection shader would be linked to the glass part of a mirror object), creating shader 'packages' for the whole object. Again, both these packages and the information that links them to the object are also stored in memory.
As you can probably imagine, if you have a large number of different objects in your hood/lot (particularly more complex/detailed objects with many rendering properties), the amount of free memory the game has to use to keep storing things starts to decrease FAST.
Back in ye olden days of 2004 when The Sims 2 was released, 32-bit was the most commonly used architecture for consumer-grade hardware and software. Despite its known drawbacks, the 4GB memory restriction was not really a huge issue, as the technical limitations of the time meant your parents' PC would likely catch fire and explode long before this level of memory usage could be reached in-game.
Windows XP (the operating system the game was primarily developed for) was also a 32-bit operating system. The way XP handled the 4GB memory limit was simple:
2GB was given to the kernel (the core of the operating system).
2GB was given to applications (i.e. The Sims 2).
This is why it is commonly recommended to apply what is known as a '4GB patch' to the game, as by default, it still thinks it's living in 2004 and is only allowed to use 2GB of memory â the 4GB patch therefore permits the game to use the full 4GB of memory it is able to support.
So, where does the pink soup come in to this?
Basically, there is a piece of logic within the game's code that is used during the process of linking shaders to material data described above. All this logic does is check whether the material data it is being given is stored at a memory address above or below the 2GB mark, presumably some kind of relic of the Windows XP days.
For whatever reason (either due to a bug or intentional design), for data stored above 2GB, the game performs additional checks which will ALWAYS FAIL, and the game will treat this data as being malformed/invalid, refusing to link any shaders to it.
Hopefully, the chain of causality should now be clear:
The capabilities of our hardware has increased dramatically in the past 20+ years.
We've all been applying a 4GB patch to the game to allow it to make use of more of our RAM.
We've also all been installing a load of cool custom content and creating highly decorated hoods/lots because our fancy graphics cards can handle them easily.
All of these objects are causing memory usage to quickly surpass the originally intended 2GB range.
The game is considering any data for the objects stored above this range to be invalid and refusing to do anything with it.
The pink/purple error shader is instead being applied to these objects because the game thinks there is something wrong with their material data.
In conclusion, The Sims 2 is confused and elderly, frequently soiling itself when presented with high-tech information from the far off future of the 2020s that its puny 2004 mind can't possibly comprehend.
What are the differences between v1/v2 of the mod?
Both versions of the mod patch the same piece of logic in the game's code, but with differing approaches.
With v1, the additional (and always failing) checks the game performs on material data stored above the 2GB mark are essentially patched out, meaning they are not executed and shaders will always be correctly linked to them, regardless of their location in memory. This is great, as you should never see any pink soup that would usually be triggered by these failed checks. Consequently however, the game will give you no indication that it is running out of memory, except for when it inevitably crashes once all free memory has been used up.
On the other hand, v2 makes use of these faulty checks. Instead of removing them completely, they are repurposed to warn you of high memory usage, with the game not performing these checks until material data starts being stored above the 3.5GB mark. This means you will still see pink soup, but only once memory usage exceeds 3.5GB. This is intentional, and is meant to be a trade-off between allowing the game to correctly process more data in memory, but also still letting you know that a crash may be imminent some time after the pink soup appears, giving you enough breathing room to save and restart the game before this happens.
To illustrate these differences better, here is roughly what the code is doing in the vanilla game, v1, and v2 of the mod:
Vanilla:
if memory address <= 2GB everything is fine, continue as usual if memory address > 2GB pink soup time!
V1:
if memory address <= 2GB everything is fine, continue as usual if memory address > 2GB everything is fine, continue as usual
V2:
if memory address <= 3.5GB everything is fine, continue as usual if memory address > 3.5GB pink soup time!
Which version should I choose?
There's no correct option, but if you play with a lot of CC or with highly decorated hoods/lots, I would probably recommend starting with v2, only for the so-called 'safety' reasons I outlined above.
I personally use v1 because I play very vanilla, so I know memory usage should never really get that high. If you're like me, or you just don't care about potential crashes and want to be rid of the pink soup, then v1 of the mod is the one for you :)
I know people likely still have many questions, so I've enabled the 'Ask me anything' option on this blog - feel free to use it!
Thanks again,
Will
*adds Will Nixon to the Sims 2 hall of fame and gives a celebrity star*
Mini Mods Dump
What do I do when I'm back in game? I close it down and mod it! High time I released some of my stash.
Made with all packs in mind. If you don't own Mansions or Apartment Life, these hacks may or may not work well for you.
If these mods conflict with some other mods you have, change load order or toss them. I do not promise to make compatibility patches, but reports are always welcome đş
Put In Crib Menu For Carried Kid Adds a 'Put This_Kid in Crib' option when a sim is carrying one and when there are multiple babies or toddlers around. The usual 'Put in Crib...' with a selection of kids' names is also there. See, I had a problem with twins: not being able to tell which is which when I wanted to put in crib the one already in sim's hands. - @differentwolf137 provides his version comaptible with Simler90's BabyToddlerMod (it may probably be used without Simler90's mod as well)
Yet Another Apartment Nanny Controller Fix I've had this Becks fix for a while, but it couldn't keep *all* the errors at bay, possibly because I've been also using 'ask to watch kids' on non-apartment lots. I found two more error causes and fixed them here. Becks fix is not included.
Fixed SimWardrobe's Employee Digging Controller I used to have it error out after some time and had to re-buy and re-assign it almost every sim day. Had enough of that dance and fixed it!
Homework Help: Ask Visitors or Friends & Relatives Normally, a kid can only ask household members to help with homework. But what if they have a smart uncle, can't they ask them when they visit? Choose one version: either all visitors, or only relatives and friends can be asked.
Homework Help: No Drop From Queue Chasing people around the lot to ask for their help only for them to ignore you and for the interaction to drop out. No more of that! May also fix other interactions that call 'Teach - Init' global. Had already been done by none other than Cyjon
Balloons Live Longer Party balloons will wait for more hours before they start popping. Because I sometimes predecorate for sims' parties, and seeing half the balloons dead before the guests arrive is just. no.
Restockable Photos & Price Fix If you set for sale a print of a photo made by sim's personal camera or a photo from the Artist career reward in an owned business, and if someone bought that photo, you'd now be able to restock it and sell again, and again. Also, selling price of a Uni camera photo is fixed now. Yay, photographers
Less Complaining & Only When Open (Edited Cyjon's Hack) In home businesses, I was annoyed by family guests complaining outside of business hours, acting like customers during parties and social visits, but I didn't want to remove complaining altogether. So I took CJ's mod and added a check for if the shop is open. The result: visitors complain less in general and don't complain at all if the business is closed.
Uni Home Business Allows you to start a home business in university sub-hood. Convenience of doing it after it's started is not guaranteed (but it's fine).
Death Removes Going Steady I've had 2 issues that I didn't know were related: Grim Reaper sometimes errored out in the middle of his business and some sims thought they were still going steady with their dead boyfriends and girlfriends. When I made this lil' mod for the latter issue, I realized that Adults Go Steady mod already tried to do that, but it had a mistake in it, causing Grimmy to reset and not remove the 'go steady' flags from sims' relationships. If you have it, make my DeathRemovesGoingSteady load after it. - Conflicts with Postmortem rel flags by Midge, and Midge's mod also removes that relationship flag, see which one suits you better
Death Memory Given To Best Friends, Lovers & Household I noticed that only relatives and witnesses get a memory of sim's death, and it sucks that sim's best friends and household members may not even acknowledge their death if they didn't happen to be there. Now Grim additionally gives death memories to sims who have these types of relationships to the dead sim: love (red heart), best friend, going steady, engaged, married, enemy (optional), same family/household, relative -- but only if they have met. Color* and strength of the memory varies, i.e. relative who hated them will get a green* 'oh well' memory. * Green memories for low rel are only available with No Corrupted Death installed - Choose one version: either BestFriendsLoversHousehold, or BestFriendsLoversHouseholdEnemies. The latter requires nocorruptdeath to get green memories, included in the zip
No Memory Distribution To Unmet Relatives Your sim will not get the memory of their distant nephew getting a A+ if they've never met. I didn't like when toddlers' early memories got clogged up by an array of 'grew up well' etc. about relatives they haven't seen yet. But I didn't want to suppress these types of memories completely, so I filtered them by having met the person in question. My solution is not perfect: sometimes sims that have met are not important to each other story wise, but it's tricky to assess significance (0/0 relationships do not always mean sims are strangers). - Pescado's No Telepathy looks like an extended version of this, choose one
Teddy Talk For Kids, Or Playful & Toy Interested Who doesn't love it when grown sims pester other grown sims with teddy bear talk? Me, but I didn't want to ban it outright, so I made the autonomy consider sim's playfulness and interest in toys. Restrictions are looser for adult-to-child interactions.
Toy Robot Is For Playful & Interested In Toys Sorry for the long names, trying to make them descriptive! Tweaked toy robot's autonomy to not attract teens and older sims unless they are playful and very interested in toys, or somewhat interested in toys and very interested in sci-fi at the same time.
Toy Robot Breaks Less Made toy robots break less often.
Servo Robots Less Run Amok They just did it too often. As soon as their mood got a bit below the equator it was all hell. Now it's far harder for them to break.
Apology More Effective Bigger relationship bump after apologizing. - Conflicts with CJ's Soothing Apology that edits the same BCON, but only affects furiousness, choose one. - CJ-ApologyFuryFix can be used with this mod (and recommended)
Teens Can Work At Cafeteria Stove Enabled 'Work In Cafeteria' interaction on that Uni cooktop for teen sims, in case you're using it not only in dorms like I do.
Owned Car Gives More Energy Trying to motivate myself to use cars more often, I thought I'd choose to drive over 'walk to lot' action if it gave my sim some energy boost, since it's the motive that usually suffers badly when sims go out. So that's what I added: more energy for driving somewhere in a car.
Hobby: Talk, Read, Browse Unlocked To Predestined + Browsing Allowed On Community Lots Normally, talking about hobby, reading a hobby section in a newspaper and browsing about hobby on a computer aren't available until a certain point of enthusiasm has been reached. I allowed these actions for sims in their predestined hobbies regardless of enthusiasm level. Also, made it possible to browse on community lots. - If you use Simler90's Electronics Mod, get differentwolf's patch and make it load after both mods
Game Competition More Attractive Computer game competitions (or LAN parties) made a bit more attractive for sims to start autonomously.
~
đ Download from SFS folder
Some testing pictures under the cut while I drop the files
⥠Enemies Get Death Memory
Updated my Mini Mods post with new conflict reports and links
Added an Enemies version of Death Memory To Best Friends, Lovers & Household to the folder. It requires Pescado's nocorruptdeath for the memories to be green when long term relationship is -50 or lower (thank you @lordcrumps for the idea đź)
Watch Clouds / Stars Gives Logic!
What's a paleolithic Sim to do to gain logic? After all, chess, newspapers, and telescopes haven't been invented yet.
Well, long before telescopes existed, people used to watch the stars with their own two eyes. They named the constellations, observed the movement of the moon and stars, and noticed the patterns the sun followed around the year which hinted at the changing seasons.
Therefore, the activity called "Watch Clouds" during the day or "Stargaze" at night now gives logic.
Also since this is an immersive mod for ancient, prehistoric times, the "die by satellite" chance was disabled.
Download ( sfs / mediafire )
Info for modders under the cut