A while ago I posted this tutorial for fixing the counter texture glitch. But it was not perfect and couldn't fix each and every cc counter out there.
I've finally found a fix for that too. Problem was corrupt TXTC resources that needed to be replaced. Now you can download every cc counter that comes in sims3pack and extract them into package and never have the annoying counter texture glitch ever again. Bad news is you have to do it all yourself. But don't worry! it's not that difficult and I've come with pictures.
What you'll need: s3pe, s3oc and texture tweaker 3 - and optionally Sims3Pack Multi Installer or s3ce. The download link for TT3 is in the 3rd post and there's a tutorial here. If you don't have them already, go download them. You can NOT use TSRW for this tutorial since TSRW itself is the problem. :)
First extract the package from the sims3pack using either Multi Installer/Extractor or s3ce. After you have your package file, open it up in s3pe. In my example, I'm using Gosik's New Vintage Kitchen Counter 1. Select the first OBJD resource in the resource list.
Also make sure you have Preview selected at the bottom of the program window in s3pe.
On the right side, you will see the preview of the resource in text. Scroll down until you see the InstanceName.
It's usually counterBaseModern but not always. This is the instance name of the object that this counter is cloned from. In modular objects like counters there are multiple objects. For counters, they are base, top and corner. Keep that in mind for now.
Take a note of or copy the instance name and open s3oc. First, Go to Settings -> Game Folders and make sure game folders are detected. If not, add them manually. You can also define your creator name under the Settings menu. Now, go to Tools -> Search.
Paste the instance name in the search bar; select Resource Name and hit Search.
You will have two results: counterBaseModern and CounterModernSuite. I suggest that you clone the suite because it's the modular object that contains all the parts of a counter: base, top and corner. If not, you have to clone every part individually which are counterBaseModern, counterTopModern and counterCornerModern.
Cloning the Suite makes the process a lot quicker so I'll continue from there. Click on the CounterModernSuite and hit Clone or Fix at the right side.
That will open the cloning interface. Make sure you UNCHECK the Renumber/rename internally. We do NOT want to renumber. Then hit Start.
It will ask where you want to save your new package and if you already have a creator name defined earlier it will add it to the package name. If not, it may or may not ask for your creator name. Honestly, I can't remember and I don't think it matters. Anyway, chose a folder - preferably a work folder you created earlier - and keep the name it suggests. It will inform you when it's done.
We cloned our package. Now we need to export the necessary TXTC resources from it. We need the Diffusemap TXTC resource for each part. Start another instance of s3pe and open the package file you've just created which should be something like this: creatorname_CounterModernSuite_someAlphaNumericals.
You'll notice that there are 6 TXTC resources in the resource list. Check the resource names and the Group IDs. You need the DiffuseMap for base, top and corner parts. Click on the resource, then right click and Export.
You can export them all at once or create a folder for each if you don't want to get confused. Notice that they all have different Group IDs and names. As we move to the next part keep that in mind.
After exporting, you can close this package. We'll go back to the package we want to fix, in this case, Gosik's New Vintage Kitchen Counter 1. Open the package again or switch to it if it's open in s3pe.
Select the first TXTC resource which is most likely is the DiffuseMap for the base part. Unfortunately, most cc doesn't have a _KEY resource so they don't have resource names. Group ID's come in handy here. For this counter suite Group IDs for parts are like this:
base -> 0x00045638; top -> 0x002794E0; corner -> 0x00D661FD3
But there are 2 TXTC resources for each Group ID. One of them is SpecMap which is not corrupted. The corrupted one will have a preview like this:
This is simply s3pe telling you it's having an 'Error reading the resource'. My interpretation: The resource is corrupted. So combine this with the right Group ID and right click on the resource and choose Replace. Do not use Import! You need to Replace the resource without changing its instance number. Choose the right resource you exported earlier. Again check the name and Group ID. it should be something like: S3_033A1435_00045638_A85033BB5A059932_counterBaseModernObjectRgbMask_Face_DiffuseMap%%+TXTC
This is for the base object. For top and corner parts, repeat the replacing step with the right resources.
After you replace all the corrupted resources, s3pe will no longer give an error reading those resources when you click on them. And neither will TT3. You will now save your package and close s3pe. A reminder: If the TXTC resources are not corrupted in CC package, skip all and continue as below.
After that you will open your package in TT3 and follow the tutorial here. But a brief rundown would be: select each 'Normal Object' one by one and switch to CASt presets tab after each selection. In this tab, all you have to do is uncheck and then recheck the box next to PatternA and hit Commit. Do it for every preset. Repeat it for every object in the package. Save. Close. Done. :)
For island counters, process is the same but with 4 parts. Base, EndW, EndE and Corner. Also this works for other modular objects like cabinets and sectional sofas.
One last clarification: If the object is cloned from another counter suite, the Group IDs that we used will be different. Also some CC will have Group IDs different from the main object it's cloned from. If that happens, you may need to have a leap of faith.
Usually the order from top to bottom is base, top, corner (counters) and base, endW, endE, corner (islands), starting with the first TXTC resource. So in theory, if you select the corrupt resources from top to bottom, you can replace with that order without the Group IDs.
That's it. I don't think anyone will bother with this. But If you have questions, ask away.
HOW TO CREATE CUSTOM FOOD DEFAULT REPLACEMENT MOD USING CUSTOM MESH & WORKING GEOSTATES (FULL, HALF, EMPTY)
This is default replacement replacing existing food in Base Game or Expansion Packs using EA's recipe and custom mesh & texture. If you are not satisfied with EA's existing mesh and texture, sure you can replace them with this easy-to-follow tutorial with pictures explained one by one. No custom recipe, no CCLoader, no scripting.
This is how I created Authentic Chinese Spring Rolls Replacement Mod using custom mesh and texture.
This tutorial is for intermediate, which means already know the basic principle of doing default replacement mod.
If you are beginner, haven't tried default replacement mod mesh & texture before, recommended to try the Default Replacement Tutorial for Simple Object first. TSRW Workshop, Milkshape, etc. Tools to prepare on that tutorial as well.
I created this tutorial because there is no tutorial about default replacement food mod using custom mesh and explaining about how to do the GeoStates properly. I did trial-and-error and accidentally found the method how to replace EA mesh with edited mesh, and the GeoStates are fully working.
The challenge of doing food default replacement is that food mesh cannot be cloned simply on s3oc. There's no OBJD for "EggRolls" "Stir-Fry" etc. other food. The only OBJD available for clone on s3oc is Burger.
Sims 3 Object Export cannot replace s3asc because it keeps throwing error and cannot make 3 working GeoStates (Full, Half, Empty).
-----------------------------------
Note: You need World Adventures Expansion Pack to use my example, Egg Rolls. You can replace food from Base Game or any Expansion Pack.
✳️ Step 1: Find all Egg Rolls file strings: Cook, Eat Serve files on S3PE
Instead of cloning from s3oc, we have to find the file from game file package on s3pe.
Why? Because the food cannot be cloned simply from OBJD. You cannot find file "Egg Rolls" no matter how careful you inspect every file filtered "WA" (World Adventures Expansion Pack) on s3oc catalogue.
The only food you can clone its OBJD on s30c is Burger. You will clone that Burger OBJD later. Right now you have to find every file with word "Egg Rolls" on game package.
⚠️I suggest you make duplicate of game package for modding purpose instead of using package that is readable by game when the game is running. It is to avoid corruption because you accidentally replaced the files. If corrupt happens you have to re-install the game. ⚠️
Make duplicate of game package you find on your game installation path.
Base game:
The Sims 3> GameData > Shared > Packages > FullBuildep1.package
Expansion Pack:
The Sims 3> GameData > Shared > DeltaPackages>p02 > DeltaBuild_p02.package
(Depending the release of Expansion Pack & Stuff Pack)
My duplicate of game package folder looks like this.
Open s3pe. Open FullBuildep1.package.
Type Name "EggRolls" on box.
Tick besides Name and Filter Active, then click "Set" button. It will give your result "EggRolls" filtered by its own.
Select all files until they are in blue selected, Right Click > Copy.
File > New. Right Click > Paste...
Then your files are all pasted into new S3PE document. You can delete ticks on Egg Rolls filter, as the package is no longer filtered.
File > Save .package. Give the name of the package such as "[Your username]_AmericanEggRollsEA". For my own example, "TBW_AmericanEggRollsEA."
We will use this package as a base to be replaced with new resource codes later. Put this package on Folder such as "Original EA American Egg Rolls" to make you easier to find the file which is original, which is edited.
✳️Step 2: Export Egg Rolls .s3asc and texture files from S3PE & copy the original resource codes.
Export foodEatEggRolls, foodCookEggRolls, foodServeEggRolls to s3asc.
If you are asking why this MODL should be export to s3asc, it is because we cannot clone OBJD of original EA Egg Rolls from S3oc and imported as .wso format from The Sims Workshop (TSRW). The only mesh of EA Egg Rolls we can get is from .s3asc file we can get from s3pe.
Save the s3asc file: "Cook","Eat", "Serve" on separate organized folder, name it "Original s3asc EA Egg Rolls"
⚠️Warning! The strings too long can cause error when export it.
Sometimes you tried to export the .s3asc but then disappeared and you cannot find where you save it. It is because the S3PE application crashed when you exported it because the strings are too long.
In this case, the original .s3asc you want to export is S3_01661233_08000001_0000000008780D94_foodEatEggRolls%%+MODL_filebase.s3asc
You can delete the long string then leave the "FoodEatEggRolls_filebase.s3asc" for example. Yes, you must add _filebase so it can be saved as .s3asc format.
Save, then the .s3asc will add additional files such as:
Export the original EA .dds textures "All" and "Used" .
Copy all resource codes of each file to Notepad. Right-Click>Details...
Click Copy TGI to easily copy the codes (Type, Group, Instance) to Notepad.
Click GRID > Resources (3 Dots) > TGI Block List Editor
You will see the list consists of 8 lines of_IMG, copy all TGI (Type, Group, Instance) codes to Notepad for easy copy paste later.
✳️Step 3: Copy original GeoStates codes (0, 1, 2, 3)
Click "FoodEatEggRolls" MODL. See the 4 GeoStates on the right side.
GeometryStates[0]: 0x95A36FFE
GeometryStates[1]: 0xD8918A76
GeometryStates[2]: 0x4DB2D3D2
GeometryStates[3]: 0x35B26CCB
Copy all these GeometryStates to Notepad for easy copy paste later.
GeoStates are in three forms.... Full, Half, Empty? But why are 4 GeoStates now?
You will find out later by cloning the base food OBJD in the next Step.
✳️ Step 4: Clone Burger mesh using s3oc & Open the Burger Mesh on TSR Workshop
More steps click spoiler tag “Read More / Keep Reading” below
Search "food" on s3oc.
You will get results like this. Food that can be cloned are Hamburger, Hotdog, Fries (Seasons EP). I choose Hamburger because it's Base Game and it's resembling custom food we want to create.
"Clone or Fix..."> Don't tick Renumber > Start.
Save the package. Open the package on TSR Workshop.
Open TSR Workshop > Create New Project > New Import> Next > Browse EA Burger .package > Next > Next > OK.
You will get Burger mesh preview. Take a look at Mesh tab.
Then see the Group 0 and Group 1. Both have GeoStates.
What is Group 0? What is Group 1?
If you check the the burger's .s3asc exported from s3pe or .wso exported from TSRW
You will see Group 0 is the food mesh as main mesh and Group 1 is the plate.
Go back to TSR preview. You see there are 4 GeoStates under Mesh from Group 0 tab.
By default, the Burger meshes (Full, Half, Empty) are combined into one.
Click each GeoState, from top to bottom.
0x95A36FFE is Full state
0x8A6C4E39 is Half state
0x4DB2D3D2 is Empty State
0x35B26CCB is Full state
✳️ Step 5: Create your edited mesh
Import MODL file (with format .s3asc) of Egg Rolls you exported from s3pe from Step 2 into Milkshape 3D via Sims 3 Object Import by Wesley Howe. From Milkshape, export .obj file to your favourite 3D software to make .obj file as base mesh for your edited mesh.
Create 3 States: Full, Half, Empty.
Export uvmap to editing image software to create the texture.
After you are done and satisfied with your mesh, export your custom mesh only without plate, Full, Half, Empty states in .obj format. Hide EA plate and EA's base mesh before exporting.
✳️ Step 6: Create texture
Import uvmap from your 3D software. Create texture, save in .dds format with the same name as original name of .dds exported from s3pe.
✳️ Step 7: Bone Assignment, Make Group & Export to .wso
Open Milkshape 3D. Import .s3asc of original EA Egg Roll "foodEatEggRolls_filebase.s3asc" from Step 2.
Click Joints Tab, tick box "Draw vertices with bone colors" to enable bone colours.
The food shows Purple colour, the plate shows Yellow colour.
*Note that this .s3asc was imported from year 2023, the original colours are like these. If in this recent year 2025 shows different colour such as the plate is Purple, please follow this example, assign the plate Yellow colour, because my method using this Yellow bone colour has been working successfully.
Then import .obj of your edited mesh from 3D software. Delete materials of custom mesh, select custom mesh, regroup, rename to group00.
Your main task is copy Bone Assignment from original EA mesh to your edited mesh.
Check the codes on Joints tab, there are 3. Click each code then click "Assign" to see what is the Bone colour to determine rig for functionality of the object in the game.
0xFEAE6981 --> Yellow
0xCD68F001 --> Purple
0xD0DECA8E --> Light Blue
We will assign the custom mesh with Purple colour, therefore, select the custom mesh, select 0xCD68F001, assign. The custom mesh colour will turn Purple.
After you are finished with the Bone Assignment (Main Mesh is purple, plate is yellow), make sure the groups are correct. Group 00 ---> main mesh. Group 01---> plate. Export them in .wso format.
✳️ Step 8: Import the edited mesh on TSR Workshop
Open Burger .wrk on TSR workshop, import your custom mesh in .wso format. Click folder with green arrow to import .wso.
After importing, you will see your custom mesh and Geostate reset to 0 for all states.
✳️ Step 9: Create Geostates on TSR Workshop, Export to Package
If you click Geostate row, the custom mesh disappears. Because the face is 0. Click on ... dots on the right side of Geostate to open Face Selector. Face Selector is to create Geostates working, Full, Half, Empty. The mesh suddenly appears with grey colour.
Left click to give colour to the face. Colouring faces based on Geostate. Be careful because the mesh is all joined into one. When give colour to Full state, do not give colour to Half state.
0x95A36FFE for the Full State
⚠️Warning! This is the trickiest part of creating Geostates: Texturing the Geostate. Cannot undo. If you wrongly click and want to undo, you have to restart from zero again. If you feel the texture is alright, then save it. You can start from checkpoint from last save if you wrongly clicked. Cancel then load the save to restart. ⚠️
Click 'n pick to click the colour one by one.
Basic Square: Drag cursor to give colour in big area.
Shift + Left Click: Delete 1 face.
Click "Clear" to delete all the colour in one click.
Rotate the camera to make sure all part of expected geostates are textured.
Give colour to other GeoStates.
0x8A6C4E39 for the Half State (half eaten)
0x4DB2D3D2 for the Empty State (crumbs)
After you are done with the texturing GeoStates, export to package. Edit > Project contents, Export> To .package
✳️Step 10: Export MODL filefrom Package saved from TSR Workshop
Save the package with name "SpringRolls_TSRW"
Open s3pe, import package that you saved from TSR Workshop. "SpringRolls_TSRW"
Export MODL, save.
✳️Step 11. Finalizing in s3pe & Replacing the Original MODL with Edited MODL & Correcting the TGI (Type, Group, Instance) Code As Same As Default Code
Open original package you cloned on s3pe "Your Username]_AmericanEggRollsEA"
I saved the package with different name to"[Your username]_SpringRollsDefaultReplacement." to make it modified package, while leaving AmericanEggRollsEA package as backup original base, just in case I need original file.
Replace "FoodEatEggRolls" MODL that you saved from Step 10: from SpringRolls_TSRW
Check if all resource code (Type, Group, Instance) are the same as the original. Check the resource codes inside TGI Block List Editor, are they as same as inside TGI Block List Editor in original package.
You can see the resource codes are different from original FoodEatEggRolls MODL codes you copy pasted to notepad. Delete MLOD, change the codes (Type, Group, Instance) with the original FoodEatEggRolls MODL codes on Notepad. Use "Add" to add one row, Delete to erase one row. After you are done, Save and Commit.
Replace textures with your custom texture in .dds format.
Save package.
Test the package in game.
Wait until your Sims finish all their GeoStates, are the GeoStates working properly.
The geostates are working properly except at the Half Eaten state.
All states are combined into one and the plate colour are having spring rolls texture... 😱
Don't panic. Your bone assignment is alright. Copying same codes on Data Resorce and TGI Block List Editor are working properly too.
What causing the Half Eaten state is not working is:
The "Half Eaten" geostate code you are cloning from Burger mesh is not the same as code from geostate of FoodEatEggRolls.
Burger= 0x8A6C4E39
FoodEatEggRolls= 0xD8918A76
✳️Step 12. Correcting one GeoState that doesn't work because using EA's Burger mesh
Your main task here is using Default EA's Half Eaten state code to override your custom mesh Half Eaten state code.
Data Grid > ChunkEntries> [1] ChunkEntries > RCOL Block > Meshes > (on Tab [0] Mesh) > GeometryStates (then click ... Dots on the right side) > [1] GeometryStates
Second row is [1] GeometryStates, indicates it is "Half Eaten" state.
[1] GeometryStates > Name
Delete the code 0x8A6C4E39, replaced the code of the Burger with 0xD8918A76 from FoodEatEggRolls.
Click Done. You will go back to Tab [0] [1] Mesh and Geometry States
Don't forget to correcting the code for Plate as well. Plate is in the Tab [1] Mesh. Click [...] Dots on Geometry States once again, it will bring you to Geometry States for Plate.
Repeat the step as you did for the Food State: On Row [1] GeometryStates > Name, Delete the code 0x8A6C4E39, replaced the code of the Burger with 0xD8918A76 from FoodEatEggRolls.
After you are done, click OK > OK > OK > Commit > Save the .package.
Test your package in your game again.
Half Eaten state should be working by now.
✳️Step 13. Replacing the Original "Cook & Serve" MODL with Edited "Cook & Serve" MODL & Correcting the TGI (Type, Group, Instance) Code
Create custom mesh & texture for Cook & Serve, export to TSRW, then export to MODL like Eat state before.
⚠️ Pay attention because this step is very important, otherwise the Custom Food will turn black/disappear, doesn't work in the game.
Repeat Step 11: Replace the MODL for Cook & Serve state.
If you see default TGI code you copied from "foodCookEggRolls" there are only 3 lines.
instead of foodCookEggRolls, otherwise the Cooked food will turn to Black colour in the game.
Repeat Step 11: Copy all the TGI codes you copied from "foodServeEggRolls" for Cook and Serve.
Commit, Save.
✳️Step 15. Check the Geostates for Cook & Serve
Check the Geostates for Cook & Serve.
Cook & Serve Geostates are working using Burger Geostates.
0x95A36FFE
0x8A6C4E39
0x4DB2D3D2
0x35B26CCB
Leave the Geometry states, no need to change to default EA Egg Rolls (otherwise your mesh will disappear or black).
After you are done, click OK, commit, save the .package as usual.
✳️Step 16. Test the CC in the game.
If your Custom Food works well in the game: Full, Half, Empty Geostates are working without showing weird texture or black or disappear, then congratulations! Enjoy and have fun with your custom food default replacement mod👍
I'm trying something new and converting cc cas items into default replacements (inspired by how terrifying base game skirts are) and have a few questions. The first is how do I fix that bug that makes the clothes shine in game, the second is how do I get the default replacement to know how to morph without the original package in the game, and the third is what is a VPXY file and should I bother replacing it in the default packages?
This is part 1 of Recategorizing CC, a quick tutorial on how to use S3OC to recategorize package files and game content. See part 2 here.
What you will need:
TS3 .package framework - This is the easiest way to smoothly and easily install, organize, and remove cc. Find the framework files at MTS.
Sims 3 Object Cloner - This is used to clone or change the game data for objects. It the most user friendly way to do this however, it doesn’t always work on custom content.
If you want to convert a .sims3pack file to a .package, you’ll need this.
Using S30C:
So now that you have everything you need, here are the steps:
Either open a package you already have in S3OC or you can find an existing object in the game using the “Tool>File Search” option:
Select the object you want to modify and click “Clone or Fix” to make changes.
If you only want to fix or make a change, deselect “make clone”. This will work for files that are not already in the game, for example if you opened a package file in S3OC that you already had instead of searching the game for one. The reason for this is because any game object you want to change must be cloned, it can’t simply be modified because the game still needs that original object. Cloning will give the object a new id and not replace the original. “Renumber/rename internally” will already be checked for game objects. Just create a unique name for it and click start when you’re ready to save the new package file.
At this point you can modify the object info such as the catalog name, price, and flags.
“Topic Ratings” are linked to object scoring. Each one has a unique numerical code and there are up to 5 per object. For example an object with an environmental rating of 7 will have “0x00000001″ in the first box (left) and “0x00000007″ in the second box (right). In S3OC you’d have to know the actual numbers however, these can be modified easier in S3PE (Linked in part 2).
“Room Flags” show objects for specific rooms like “Kitchen” and “Living”.
For example, if you want to have all deco bedding to show up under the “Bedroom” section under “Beds”, you can simply check the “Bedroom” Room Category and then check the “Beds” Sub-category.
“Function Flags” work the same way, just under specific object categories such as “Entertainment” or “Comfort”.
“Misc Flags” are meant to classify what an object is and how it behaves.
Keep in mind that these are restricted based on the kind of object. For example, you cannot make a deco object be categorized as spiral stairs unless it’s ID has been changed. This can only be done in S3PE.
Be careful when meddling with these because if a mistake is made, the package can cause the game to crash. Any major changes to a mesh or how an object behaves should be done in S3PE.
I’d recommend this for anyone to has a hard time finding things in the game. Make collections for things you want easy access to and move things around so that you can find objects that are meant to go together. It’s also just generally helpful for:
Ahhhh helpppp anyone who’s still interested in Sims 3... I want to clone an object using s3oc to add it inside the game for something else but it doesn’t show up...