So, since the last update, I have been working on adding normal transformation and normal blending. I still haven’t been able to figure out correct bone placement and rotation, so for the time being I’ve put it aside to work on what is probably one of the most difficult aspects of this project;
Recreating the VM.
For those unfamiliar with the concept, VM is short for Virtual Machine, and the core of The Sims consists of a VM named Edith, which is constantly running the code inside objects (sims are also objects with their own programs for Edith to run).
Now, in TSO, the VM is less important because you only control one sim at a time, but you can still turn on free will to have your sim be autonomous.
The task of recreating Edith is so massive and all-encompassing that it is hard to imagine where to start, but after quite a bit of research and cooperation with NIOTSO, I’ve decided to start by writing a basic parser for SimAntics (the language that Edith programs are written in) that translates it into a human-readable form. After that, the next step will be to design an interface so that SimAntics programs can easily call functions defined in the Project Dollhouse executable. If all goes well, after a certain amount of time I should have a VM built in C# that can load *.iff files in realtime and run their programs synchronously and display state changes on the screen. The Sims is basically just a graphical representation of such a machine.