Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 22nd Feb 2025 at 4:05 AM Last edited by MrPowerGamerBR : 25th Feb 2025 at 12:25 PM. Reason: Homecrafter -> HomeCrafter
Default MrPowerGamerBR's The Sims 1 Modding Tools (wow new modding tools in 2025?!)
Wallpaper Maker: https://sneakysims.net/tools/wallpaper-maker
Floor Maker: https://sneakysims.net/tools/floor-maker
FAR to ZIP: https://sneakysims.net/tools/far-to-zip
ZIP to FAR: https://sneakysims.net/tools/zip-to-far
Library Repository (for developers): https://github.com/SneakySims/SneakyLib

__________

Original Post:

Link: https://sneakysims.net/tools/wallpaper-maker

Video: https://www.reddit.com/r/thesims1/c..._create_custom/

The tool runs entirely in your browser! No need to download anything! (well, except the exported .wll file)

Yeah, I know, HomeCrafter already exists and HomeCrafter lets you create custom walls AND floors, so this tool is a bit pointless. But at the same time, HomeCrafter requires a download, you also need to get some missing DLLs from the internet, and it also only works with .bmp and .jpg files.

But I do think that this is cool, this lowers the barrier of creating custom content (even tho it is just custom wallpapers) significantly, especially for the new Simmers that have started playing The Sims 1 via the new The Sims Legacy Collection.

Heck, are you trying to recreate your own home in The Sims and you can't quite get the wall texture in the game? Just take a picture of your wall, crop it, upload to the tool and tada! You now have a perfect recreation of your real life home wall into the game.

So I do think that there is a purpose for this, right...? Well, I hope so, and I hope that you also think that this is useful too, besides, it was fun to code this tool :3 (I have enslaved a bunch of Sims to manually create the walls that y'all are uploading into the website to HomeCrafter and then they send them back to you... just kidding, I implemented a IFF parser/writer in Kotlin, I haven't implemented all chunks yet which is why I didn't make custom floors)

If other people also find this cool, I could implement floor support too. :3
43
retired moderator
#2 Old 22nd Feb 2025 at 1:03 PM
This is brilliant, thanks for linking! I notice you also have a FAR to zip converter- brilliant!
https://sneakysims.net/tools/far-to-zip
Test Subject
Original Poster
#3 Old 22nd Feb 2025 at 4:50 PM
Quote: Originally posted by simsample
This is brilliant, thanks for linking! I notice you also have a FAR to zip converter- brilliant!
https://sneakysims.net/tools/far-to-zip


Yeah, I actually coded the FAR to zip tool before the Wallpaper Maker just for fun.

It is a bit pointless because there is tons of FAR editor tools already, but I like the novelty of throwing a "ExpansionPack5.far" file into it and getting a "ExpansionPack5.zip" back.

It also works with The Sims Online FAR 1b format, which is a bit cool because I've noticed that some FAR extraction tools (like FarOut) do not support it.

Of course, if there's a FAR to ZIP... then where's the zip to FAR converter? That's something that I need to do later. (and also a floor maker tool too, I didn't implement it yet because my SPR2 chunk parser/writer is scuffed as hell)



But I can't give up, if I give up then the brat house will never be complete

Before all of these IFF shenanigans, I did code a The Sims 1 SKN/CMX/Animation parser and renderer in OpenGL because I wanted to learn how skeletal animations in OpenGL worked (using vertex shaders) https://x.com/MrPowerGamerBR/status/1891140785141076079 (Bluesky) and, while coding the renderer, I wanted to test it out with a Miku skin that I had back in 2014... however trying to find that Miku skin again was a pain (thanks /u/citrusella for helping!) I thought to myself that if I, someone that is a bit savvy with TS1 CC things couldn't find it quicky, that maybe it would be cool to create a custom content database where the website would render skins/walls/floors/objects inside of those The Sims 1 CC archives around the web and to make them easily accessible (last time we almost lost a treasure trove of files because it was hosted in Dropbox and Dropbox disabled the link), making them easier to see what's inside of the archives without requiring you to run the game to actually see the files, similar to how CTO Sims worked back in the day (RIP CTO Sims) because currently if you don't know what you are looking for it is hard to find what you want, which is why I started coding a TS1 file format reader/parser.

And because I was already writing a IFF parser/writer, I thought to myself "why not make a small detour and make a wallpaper maker? I already coded the SPR#/STR#/PALT writer anyway"

Fun fact: Coding that SKN/CMX/Animation parser made me find out that Mikshape 3D's does not render the The Sims 1 skeleton correctly, they aren't inverting the rotation quaternions of the skeleton... fun!
43
retired moderator
#4 Old 22nd Feb 2025 at 5:17 PM
Quote: Originally posted by MrPowerGamerBR
I thought to myself that if I, someone that is a bit savvy with TS1 CC things couldn't find it quicky, that maybe it would be cool to create a custom content database where the website would render skins/walls/floors/objects inside of those The Sims 1 CC archives around the web and to make them easily accessible (last time we almost lost a treasure trove of files because it was hosted in Dropbox and Dropbox disabled the link), making them easier to see what's inside of the archives without requiring you to run the game to actually see the files, similar to how CTO Sims worked back in the day (RIP CTO Sims) because currently if you don't know what you are looking for it is hard to find what you want, which is why I started coding a TS1 file format reader/parser.

In case you're interested, Lyralei has a site called Simblr which she coded herself, which hosts a dead site repository. You can browse through files nicely there and it's being improved all the time (not too many Sims 1 files as yet though).
https://simblr.cc/deadsites/
There's a link there to the Discord channel in case you want to upload files there.
I have a massive Sims 1 repository which I want to upload there, but Lyralei is having a think about how to deal with that as it's a bit of a mess. You can read what happened here:
https://modthesims.info/m/showthread.php?p=5767562
I uploaded it here as a torrent:
https://archive.org/details/sims-1-cc
And here on SFS:
https://simfileshare.net/folder/144507/
But I have no images, just the files given to me- I haven't tested any files. So I really need to put them in-game and see what's there altogether, but as it's over 19G it's not easy!
But anyway, if you have any Sims 1 files you want to preserve, you could upload them there too.
Test Subject
Original Poster
#5 Old 22nd Feb 2025 at 5:40 PM Last edited by MrPowerGamerBR : 22nd Feb 2025 at 6:07 PM.
Quote: Originally posted by simsample
In case you're interested, Lyralei has a site called Simblr which she coded herself, which hosts a dead site repository. You can browse through files nicely there and it's being improved all the time (not too many Sims 1 files as yet though).
https://simblr.cc/deadsites/
There's a link there to the Discord channel in case you want to upload files there.
I have a massive Sims 1 repository which I want to upload there, but Lyralei is having a think about how to deal with that as it's a bit of a mess. You can read what happened here:
https://modthesims.info/m/showthread.php?p=5767562
I uploaded it here as a torrent:
https://archive.org/details/sims-1-cc
And here on SFS:
https://simfileshare.net/folder/144507/
But I have no images, just the files given to me- I haven't tested any files. So I really need to put them in-game and see what's there altogether, but as it's over 19G it's not easy!
But anyway, if you have any Sims 1 files you want to preserve, you could upload them there too.


I already know about your Sims 1 CC archive, in fact I had already torrented it a few days ago :3 (thank you!)

The reason about why I think parsing the files themselves is cool is to fix the situation you are in right now: A lot of files, but no images, so combing thru the CC is a pain, and creating images manually for each CC (by adding them to the game, using them, taking a screenshot, etc) would be very hard.

At least with a proper object/wall/floor/skin parser you don't need to have images, you make the images yourself automagically (*insert thanos "fine I will do it myself" GIF here*), and you could even implement some fancy things like a skin 3D previewer like those websites where you can download 3D models.

Of course, I think that objects themselves would be a pain to support, meanwhile walls/floors/skins are very straightforward, but if you can get 60% of the objects out of the way, it is already a huge plus in my eyes.

But this is just me being overambituous, but this is an idea that I had since CTO Sims closed down (god it has been what, 8 years already?), and it will probably never be 100% finished... but at least I was able to make something cool with this! (the Wallpaper Maker)

About the Wallpaper Maker tool itself: In the future I also plan to open source the "SimsLib" IFF/FAR/etc reader/parser that I'm making, because there is a lack of other open source tools that do the same thing and, if I end up losing interest on the project, at least it could be useful for other people that are trying to understand the Sims 1 file formats. The original SimLib by SimTech wasn't archived by archive.org, and the only other two things that I found out was the "SimsLib" inside of FreeSO's source code, and the TS1 Blender IO plugin, which helped me understand the binary CMX and CLP animation format.

The library is made in Kotlin, targeting Kotlin Multiplatform, so it is possible to use the library on the desktop (Kotlin/JVM) and on the web (Kotlin/JS).
Lab Assistant
#6 Old 22nd Feb 2025 at 7:49 PM
...For some reason this is intensifying my desire to want to figure out how to go about cracking open 1.0 iffs somewhere other than inside of Steering Committee Edith.

(Steering Committee Edith is great for most of the things I use it for. I just want to better understand how sprites for some of the more complex objects go together, and it doesn't help me there. *stares in Very Uncomfortable Bed *
Test Subject
Original Poster
#7 Old 22nd Feb 2025 at 8:10 PM
Quote: Originally posted by purplewowies
...For some reason this is intensifying my desire to want to figure out how to go about cracking open 1.0 iffs somewhere other than inside of Steering Committee Edith.

(Steering Committee Edith is great for most of the things I use it for. I just want to better understand how sprites for some of the more complex objects go together, and it doesn't help me there. *stares in Very Uncomfortable Bed *


What I recommend is reading the SimTech's The Sims Technical Aspects website because it is a treasure trove of information about how a lot of The Sims' file formats are laid out.

I also recommend reading the Niotso Wiki and FreeSO's SimsLib project, which is used by FreeSO to read The Sims Online file formats.

Here's the code of my FAR reader/writer https://gist.github.com/MrPowerGame...d49e910cd146f69
Lab Assistant
#8 Old 22nd Feb 2025 at 9:16 PM Last edited by purplewowies : 22nd Feb 2025 at 9:27 PM.
Yeah, I just don't have the know-how to put a program together...

Though I did just manually hex edit one DGRP from the beta right into Iff Pencil and it actually gives me usable data about tile offsets and sprite resources (so the resources themselves share some similarities even if the file version formats them differently enough that existing tools don't understand them)! ...But it's horrendous to copy-paste hex into Iff Pencil because it keeps understanding it as plain text 75% of the time instead of hex so I dunno if it's worth doing a second time (especially considering what it took to get the hex OUT of Edith in the first place).

*wanders off into the sunset to think about this so that I don't accidentally cause too much thread drift XP*
Test Subject
Original Poster
#9 Old 24th Feb 2025 at 3:52 AM
Finally, the brat house is complete! That means that the Floor Maker is finally live :3 https://sneakysims.net/tools/floor-maker







I've also created a zip to FAR converter (https://sneakysims.net/tools/zip-to-far), once again, there's tons of FAR editors out there, but the novetly of throwing a zip into the converter and getting a nice FAR archive back is pretty fun. (and vice-versa!)

I have open sourced the library that powers the modding tools that I've made! The library is VERY unfinished and VERY hacky, but if I end up losing motivation on all of these modding tools that I'm making, at least there's the source code for anyone else to read and learn. https://github.com/SneakySims/SneakyLib

In that repository there's also a CLI version of the Floor Maker tool, however I still need to package it nicely and put it up on GitHub as a downloadable artifact. Soon™ I will also create CLI versions of the Wallpaper Maker and the FAR to ZIP/ZIP to FAR converters. The web floor maker tool uses the same code as the CLI version.

Test Subject
Original Poster
#10 Old 24th Feb 2025 at 9:58 PM
I always thought that I didn't need to test my things in The Sims Complete Collection, after all, aren't Legacy Collection and Complete Collection the same game...? Well, I mean, I know that EA did recompile the game and implement a new renderer, but I don't think that will break anything... right...? riiiiight...????!?!

Welp, while the created floors worked correctly in The Sims Legacy Collection and heck, they even worked fine in HomeCrafter, the floor sprites were completely transparent in The Sims Complete Collection! I mean, not quite, the floor texture did display something went moving the camera, but it surely wasn't what the floor should've been.

I was creating the floors by using the 0x02 ("set pixel to color at palette index + depth buffer + alpha transparency") command, but it seems that Complete Collection HATES anything that isn't 0x03 ("fill with background/transparency") or 0x06 ("set pixel to color at palette index") commands in the floor's sprite.



Anyhow, the bug is now fixed :3 The encoder still leaves a lot to be desired because it writes way more data than it should, but it does work fine.



I've also changed the thread title and added a link to all of the modding tools at the beginning of the thread. :3
Test Subject
Original Poster
#11 Old 25th Feb 2025 at 2:25 AM
Small update: I added support for The Sims Online FAR 3 (with RefPack decompression support) archives in the FAR to zip converter https://sneakysims.net/tools/far-to-zip

Someone on Reddit asked if I could add support for them because they wanted to extract TSO's UI assets.

It took a while because I painstakingly spent hours figuring out the best way to implement the RefPack decompression algorithm in Kotlin... only to end up asking ChatGPT to port the FreeSO C# RefPack decompression implementation to Java (which surprisingly worked on the first try) which then I migrated to Kotlin, smh.

There are some FAR 3 files that it seemingly does nothing, like the "packingslips.dat" file, but I think that's because the "packingslips.dat" file seems to be a special FAR 3 case because none of the files inside of the archive has any names.

However I did try with some of the FAR 3 files inside of the "uigraphics" and the FAR 3 extractor and the RefPack decompressor did extract and decompress them correctly. However some of the files are generated with 0 bytes but I think that's just how these files were inside of the archive anyway.

The zip to FAR conversion does not support FAR 3 files because it would be a lossy conversion, because a zip does not have the same metadata a FAR 3 file has.
Field Researcher
#12 Old 25th Feb 2025 at 11:42 AM
Its so cool to see new modding tools! After installing the Legacy Collection I've been frustrated to find that many programs do not work either properly or at all with it - Career Creator 3, Codex, Sim Enhancer, File Cop, and others :/ I'm particularly wanting a tool that would allow me to precisely edit the interest points of pre-made sims in the Legacy Collection like Sim Enhancer can, but apparently that has some corruption issues with the LC.
Test Subject
Original Poster
#13 Old 27th Feb 2025 at 8:53 PM
About the "what if I created my own custom content database/archive" idea that I had... (WIP)



The skin is parsed and rendered in your browser using WebGL2, and yes, I still need to render the hands.
Test Subject
Original Poster
#14 Old 1st Mar 2025 at 2:37 PM
It is still fairly buggy, unfinished, not live yet, and it still only supports skins...

But hey, now it supports rendering skin accessories!



I'm somewhat shifting the idea to being a "The Sims 1 custom content aggregator" instead of only showing CC from dead sites. Aggregating and categorizing the custom content using booru-like tags, which I think would help CC discoverability when you don't quite know what you want. Want to search for child girl skins? "#skin-female #skin-child"! want to search for female winter dress style skins that support dark skin tones? "#skin-female #style-winter #skin-tone-dark"! or maybe you want to search for female anime skins, but you don't want to see any Touhou skins? "#anime -#touhou"!

The creator/character/copyright tags are manually created, however the other tags are automatically applied based on the skin's filenames.

What I want to do is to create a system that automatically that checks if the original website is up or not, if it is, the website will redirect to the original website when clicking "Download" but, if the system detects that the original website is dead, it uses the locally archived mirror of the download. Yay, CC preservation! :3

I also plan to include everything that the website knows about the CC (like tags, images, readme file, etc) inside of the downloaded zip itself, this way, if SneakySims vanishes into the void (like every other Sims 1 fan site... but let's hope that this will never happen) if you have the original zip file from the website, you can figure out what the CC does and what kind it is.
Test Subject
Original Poster
#15 Old 10th Mar 2025 at 4:09 PM Last edited by MrPowerGamerBR : 10th Mar 2025 at 4:20 PM.
The custom content database is live! Here's an entry on the database: https://sneakysims.net/mods/34-hatsune-miku

The database also has some custom skins from a website (zen URBAN skins) that I didn't find in simsample's Sims 1 CC archive. https://sneakysims.net/mods/search?...zen-urban-skins

The only one that was present on the archive was this one (that one was not backed up by the Wayback Machine), and if I recall correctly CTO Sims had way more skins from that website mirrored, so maybe the CTO Sims archives are incomplete...?



It is still very experimental, the database is tiny, there are custom skins on the database because it is the only one that has a fancy preview for it, and currently I'm the only one that can upload things to the database, but I hope y'all like it! :3

Test Subject
#16 Old 13th Mar 2025 at 3:41 AM
That's really cool. Did you know that the Maxis walls actually had separate images for the straight and diagonal walls? Wondering if there was a way to implement that for us as an option

Heather Castillo
http://www.simfreaks.com
Test Subject
Original Poster
#17 Old 13th Mar 2025 at 2:42 PM
Quote: Originally posted by simfreaks
That's really cool. Did you know that the Maxis walls actually had separate images for the straight and diagonal walls? Wondering if there was a way to implement that for us as an option


Yeah they do, I found that out when coding the tool :3

Walls also have an additional "corner" texture that I think it is not used anywhere by the game. However HomeCrafter will not load walls without that sprite.

It could be possible to create a option that let's users upload different images for each sprite, but I don't know how useful it would be because if you uploaded different sprites for each wall rotation, the wall sprites would change every time you rotate the game's camera.


(But I do think that it would be a cool option to have, even if it would be a bit useless)
Test Subject
Original Poster
#18 Old 13th Mar 2025 at 4:06 PM
Quote: Originally posted by simfreaks
That's really cool. Did you know that the Maxis walls actually had separate images for the straight and diagonal walls? Wondering if there was a way to implement that for us as an option


Something like this





I've updated the SneakyLib repository to add the Wallpaper Maker CLI tool, and now there are automated releases of the Floor Maker CLI and the Wallpaper Maker CLI tools (requires Java): https://github.com/SneakySims/SneakyLib/releases

In the future I will add the left/right walls options to the web version too, I need to think how could I add that option without making the tool more complicated for users, maybe an "Advanced" button that enables the left/right walls?
Test Subject
#19 Old 24th Apr 2025 at 5:43 PM Last edited by simfreaks : 25th Apr 2025 at 12:34 PM.
Sorry my replies are slow. I don't drop by often. Busy girl!

I mean there were actually two images inside the files, from what I was told So you could control better how the diagonals work. Not sure if I can tell from that image, but let's say you made some columns on a wall, you might be able to put 2 on the angled piece instead. You can notice this on some of their fancier walls, the don't stretch on the angles, they are a separate wallpapers inside one file, so there is no stretching or squashing.

Keep in mind that if this is done both wallpapers should be indexed to a master palette so they still match.



Quote: Originally posted by MrPowerGamerBR
Something like this





I've updated the SneakyLib repository to add the Wallpaper Maker CLI tool, and now there are automated releases of the Floor Maker CLI and the Wallpaper Maker CLI tools (requires Java): https://github.com/SneakySims/SneakyLib/releases

In the future I will add the left/right walls options to the web version too, I need to think how could I add that option without making the tool more complicated for users, maybe an "Advanced" button that enables the left/right walls?

Heather Castillo
http://www.simfreaks.com
Back to top