Hi there! You are currently browsing as a guest. Why not create an account? Then you get less ads, can thank creators, post feedback, keep a list of your favourites, and more!
Lab Assistant
Original Poster
#1 Old 30th May 2021 at 10:34 PM
Default Has anyone ever made any UML-type class diagrams for the Python and XML Tuning classes?
I just got into learning how to mod, though I've been playing for some time.

So far, I've been making my way through tutorials, extracted the XML and decompiled the Python files and am spending a lot of time navigating around PyCharm trying to learn the vocabulary. It's been a bit frustrating -- more so because I've been writing software professionally since late last century, and have to work with XML on a daily basis. I don't work with Python that much anymore, but I've had to read and write it enough to stay moderately fluent in it. So this should be easier to get my head around, right?

What I'm hoping to find is something like a class diagram showing how the various classes like Interactions, Buffs and GameObjects work together. The tuning description browser has been super useful, but a few UML diagrams would save me a lot of struggles. Any pointers or links to such a thing?
Advertisement
Field Researcher
#2 Old 1st Jun 2021 at 1:54 AM
ChippedSim in my Creator Musings Discord server has put together a few regular diagrams to see how tuning/XML connects when working that might be helpful, and they might have more if you ask. Other than that though, there are no others that I'm aware of that were shared publicly, and nothing specifically for classes or Python.
This is one way to trigger NPC situations like Guidry the ghost (example package they uploaded here).

Volunteer activities/Rabbithole interactions.

Creator Musings is a Sims 4 modder, poser/animator, and CC creator hangout server (though everyone is allowed) with a tutorial/resource directory, help channels, and mod/cc/sims 4 news channels!
My Discord | Twitter | Tumblr | Patreon
Lab Assistant
Original Poster
#3 Old 1st Jun 2021 at 1:32 PM
Yes!! This is awesome!

This is exactly what I’m looking for. It’s so much easier for me to grasp how everything fits together this way. I’ve been playing around with pyreverse to generate my own, but so far they’ve been coming out very cluttered. These are perfect in terms of level of detail.

One of the things I’ve been noticing about the Sims XML/Python codebase is that it obviously grew in features over the years fairly organically. It seems like the dev team comes up with new ways to do things every pack or so, but they still leave the old codebase from earlier packs implementing things the same way. This has made my usual ‘learning by example’ method of learning a codebase more difficult. There is a lot of task-oriented documentation about making Sims mods, but so little conceptual-level stuff to help me build a mental model of what’s going on in there. If I end up with some decent reference diagrams in the process of learning this stuff, I'll share them.

Thanks!

Quote: Originally posted by MizoreYukii
ChippedSim in my Creator Musings Discord server has put together a few regular diagrams to see how tuning/XML connects when working that might be helpful, and they might have more if you ask. Other than that though, there are no others that I'm aware of that were shared publicly, and nothing specifically for classes or Python.
This is one way to trigger NPC situations like Guidry the ghost (example package they uploaded here).

Volunteer activities/Rabbithole interactions.
Back to top