Quick Reply
Search this Thread
Test Subject
Original Poster
#1 Old 6th Jun 2023 at 11:44 PM Last edited by bass_dandy : 7th Jun 2023 at 12:49 AM.
Announcing new tool: SimPAI
About a year ago I started looking into what it would take to make a custom career for the Sims 2. I make my living as a software engineer and thus went down a huge rabbit hole that ended with me building a web app that re-implements parts of SimPE with a more modern UI and no downloads required: introducing SimPAI (Sims 2 Package Alteration Interface)!

some details:
  • the source can be seen at https://github.com/bass-dandy/simpai
  • it is implemented as a monorepo with 2 packages: simpai (the web app itself) and dbpf-transform (the serialization/deserialization library I wrote for package files)
  • dbpf-transform is also published as an npm package in case anyone wants to use it to build more tools (and it includes typescript type definitions)
  • the currently supported resource types are:
    • BCON
    • BHAV
    • GLOB
    • JFIF(JPEG)/PNG/TGA images
    • NREF
    • OBJD
    • OBJF
    • STR#/CTSS/TTAS
    • TPRP
    • TRCN
    • TTAB
    • TTAS

some known limitations that I hope to address (eventually):
  • numeric inputs only display as hex
  • creating an empty BHAV or OBJD resources crashes the app
  • cannot import semi-globals
  • does not implement any of SimPE's BHAV operand wizards
  • does not show visual links between BHAV instructions (is that even useful? looks messy imo)
  • TTAB animal motive tables are not implemented correctly (does anyone have an example of these being used at all?)
  • I have only thoroughly tested on chrome, so there may be bugs on other browsers

As a proof of concept, I used SimPAI to create a custom career. This is the only CC I've ever made, so I'm not super familiar with how people generally use SimPE. Thus I have some questions!
  • what other resources would you like to see implemented? I mostly intend to focus on text resources rather than binary ones, but I am open to any suggestions (and code contributions!)
  • are any of the currently implemented resources missing SimPE features that you find helpful?
  • I simplified some resources by removing fields that are (allegedly) unused. Should I not?
  • does anyone want to make a logo? :3

Making this has been a great learning experience - I had never used svelte (I use react in my day-to-day), I hadn't used bitwise operators since college, and I know a little bit more about how the Sims 2 works on the inside. I'm probably gonna take a short break from working on this but if you have any suggestions I will definitely see what I can do!
Instructor
#2 Old 10th Jun 2023 at 8:58 PM
One of the main use cases for SimPE is recoloring items. That means:
1. Incorporating the database of Maxis objects as package files
2. Importing and exporting the texture files from those package files
3. Creating a new package file
4. Modifying the characteristics of a texture, like reflectivity

To create new content, add also:
1. Exporting the GMDC/mesh from a package file
2. Importing a GMDC/mesh to a package file

And of course, all the BHAV files that are associated with, say, a sofa, must be properly linked/included.

I only use SimPE, and have never been interested in exactly how it works, so this is more vague than I think you would prefer. But it is my 2 cents.
Test Subject
#3 Old 10th Jul 2023 at 12:19 PM
The potential on this is awesome, I'm really excited to see the development!
Instructor
#4 Old 1st Dec 2023 at 5:43 PM
This is amazing and exactly what I needed. I've already used it a few times to edit mods quickly. I hope it continues development.
Test Subject
#5 Old 2nd Dec 2023 at 2:50 AM
This is sick!
Theorist
#6 Old 5th Sep 2024 at 11:22 AM
@bass_dandy
What would help the most for me is to add decimal values to the BCON eg when creating a career.
Maybe a converter or something like that.
It's tedious as it is now, though i really love it!

Where did your MTS uploads go? https://s2idownloads.blogspot.com/2...content-no.html
Follow me here: www.facebook.com/sims2idea
Overview all my creations: Download at once (SimFileShare)
Warrior Gryphon
site owner
#7 Old 1st Feb 2025 at 3:08 PM
I just came across this thread. Great work so far! One small bug is that the code only supports DBPF 1.0 or 1.1, whereas 1.2 is also possible. Is this project still in active development?

Story books are full of fairy tales, of Kings and Queens, and the bluest skies.
Back to top