Quick Reply
Search this Thread
Instructor
Original Poster
#1 Old 27th Nov 2025 at 3:28 AM
Default Update on a new SimPE version
So, you know I have been working on a Mac port of SimPE. I took about 6 weeks off, and did a lot of thinking. The end result is that I am no longer working on a native Mac port.

In my experience, 0.75 works fine on UC and disc versions of Sims 2, but it will not accept the paths to Legacy. (Something I could fix if I could get my hands on the source code, but I have asked and nobody has even responded, never mind provided me with the code.) 0.77.69 by Chris Hatch works on Legacy, but is broken in numerous ways, as reading the code has shown me. I am using his code anyway as my starting base.

I have shifted to a plan to build a cross-platform version that will work on both Mac and Windows. The plan is to first get SimPE compiling the way it should, in Net framework 4.5.2. From there, I move it to Net Framework 4.8. Then, I make the jump from Net Framework to Net 5.0. from there, as many steps as needed to reach Net 8, at which point I can build a cross-platform front end in Avalonia.

I have most of the app compiling in 4.5.2, just Plugins are left to compile. I thought I had cleaned up most of the boobies (and worse, much worse!), but a Find said I have 919 booby references left to remove. It's tedious work.

Obviously DirectX is being removed, and the NVidia utilities will be replaced with the open source library CSoil2. I am very hopeful that this will be the fastest route to both a Mac version and a Windows version that work like 0.75.
Lab Assistant
#2 Old 28th Nov 2025 at 8:09 AM
There is a similar effort here if you are interested: https://github.com/sims-hacker-zone

Although I believe they opted to start from scratch instead of rewriting the code.
Instructor
Original Poster
#3 Old 7th Dec 2025 at 1:02 AM
Quote: Originally posted by lingeringwillx
There is a similar effort here if you are interested: https://github.com/sims-hacker-zone

Although I believe they opted to start from scratch instead of rewriting the code.


Ah, thanks for that. Yes, they are reinventing the wheel. I introduced myself and what I am doing, but no response so far.
Instructor
Original Poster
#4 Old 7th Dec 2025 at 1:10 AM
Progress! I have SimPE fully compiling in .Net Framework 4.5.2. Mostly 0.77, but some files had to be reverted to 0.73. Compiling is not running, though. Now I debug for some unknown length of time to get it running. I know some features are a hard no-go for now - 3D previews, in particular, as they are dependent on DirectX.

I extracted all 667 icons/ png files from the .resx files, knowing I will need them later on, when the .resx files are made obsolete. And so it goes.
Instructor
Original Poster
#5 Old 9th Dec 2025 at 3:06 AM
Tomorrow the entire game detection code gets rewritten, to enable SimPE to work on Legacy, UC, the original discs, Steam, Epic, and, um, other installations. The current Registry-dependent code was the best route when the big question was "What EPs/SPs does this user have?" The big question now is "Which version of the game is this, and where is it installed?" Using the Registry keys does not work well for that at all.

Wish me luck!!

I now have SimPE launching, it displays correctly, it loads the catalog. When I open a package it displays the files and textures correctly. A lot of stuff is still crashing, so there is more work to do to get SimPE working on Net framework 4.5.2. One thing at a time, right? I have not yet touched any other sections of SimPe, doing the Object Workshop first. And still removing NSFW content, of course.
Instructor
Original Poster
#6 Old 18th Dec 2025 at 4:13 AM Last edited by rhiamom : 18th Dec 2025 at 5:04 AM.
The game detection system is written and works, at least as well as I can test it, on Legacy and UC. I don't have a way to test Steam or CD/DVD or repacks myself.

I am almost done with removing the NSFW content, there are only 163 remaining lines of NSFW code to clean up. There were over 1000 when I started, so I am feeling really good about that. Next is fixing a few form headers that had to be replaced with more generic ones. But it is still compiling and starting up properly.
Instructor
Original Poster
#7 Old 20th Dec 2025 at 10:37 PM
SimPE has been dragged, kicking and screaming, into .Net framework 4.8. It builds with no errors, no warnings. This is not to say that it all works! It very definitely does NOT. It launches, the new Settings>Game locator dialog works. It opens a package and displays the files inside. It displays the txmt files and shows the image of the texture file. I am taking some time to consider whether I want to get more of it running, or jump to Net 8. It will be a huge mess either way. Oh, and zero NSFW references remain. Finished up removing those yesterday.
Instructor
Original Poster
#8 Old 23rd Dec 2025 at 11:44 PM
I am currently fixing references to control properties that do not exist, due to the removal of some presumably NSFW controls. I replaced them with a Windows default version of the control. But custom controls have custom properties, and if those properties don’t exist SimPE crashes and gives me a cryptic message about it. Today’s big win was getting the MMAT editing panel to display properly and populate the editing listboxes when selected. I would test the editing, but I am not a SimPE power user, and fear I will ruin one of my cc packages if I edit it wrong. What’s safe to edit in the MMAT panel?
Mad Poster
#9 Old 24th Dec 2025 at 1:00 AM Last edited by simmer22 : 24th Dec 2025 at 6:41 AM.
If you just want to test a file, you can temporarily change the objectGUID to the GUID of a different object (preferably one with the same setup of subsets so it actually applies to the different parts), and see if the texture switches to the other object with your edited file.

If the item has two MMATs, you could also try switching the Subsetname values (the textures would switch places). Not 100% sure that would work (some additional changes mightbe required).

In case you want to experiment,
The "ObjectGUID" value matches the GUID of the recolored object.
The "Name" value is the MMAT name (which often also matches the TXMT name).
The "ModelName" value matches the Cres of the recolored object.
The "defaultMaterial" value (set to "true") shows the default color of the object, usually reserved for the mesh (recolor files are normally set to "False").
I'd think "Family" is the value that makes the item unique (along with all the recolors getting unique names)
"subsetName" is the name of the subset.
objectStateIndex and materialStateFlags seem to be for various states in multi-state objects (lights, etc.).
I think the "Type" field is for the type of material/shader (seems to have the same value for all the objects I've checked)

Not sure about the others (creator, flags), but I assume they have some purpose too. They seem to have the same values from object to object (I've checked a random selection of different types of objects, and so far I've only seen them set to 0).
Instructor
Original Poster
#10 Old 24th Dec 2025 at 2:41 AM
Thank you, Simmer22, that is actually quite helpful. I will test editing tomorrow. It should work, if everything is wired correctly - and we already know everything was not wired correctly, as the MMAT panel was crashing until I fixed the embedded resources/lack of custom controls.
Lab Assistant
#11 Old 24th Dec 2025 at 9:11 PM
I hope it's alright to post this here...

I am a very rudimentary SimPE user, using it mostly just to recategorize clothing, and to view CC that had no screenshots, etc.

Just wanted to say a massive Thank You! for all the hard work you're doing to bring it into the 'modern age.'
Instructor
Original Poster
#12 Old 24th Dec 2025 at 9:22 PM
Quote: Originally posted by wiseguy2004
I hope it's alright to post this here...

I am a very rudimentary SimPE user, using it mostly just to recategorize clothing, and to view CC that had no screenshots, etc.

Just wanted to say a massive Thank You! for all the hard work you're doing to bring it into the 'modern age.'

Thank you! I appreciate it. A lot.
Back to top