Since I was not able to locate the code that updates +0xfc, I wrote the code myself. I've verified that the simulator runs at mostly the correct speed. It simulates 100 game minutes in 600 real world seconds, which is close enough to the target of 120 (1 game minute per 5 real world seconds). This is probably because the game defaults sim_speed to 0x15 (21), and if you multiply that by 120/100, you get 25.2, so sim_speed is probably *supposed* to be 25 (which is a "rounder" number than 21), but the developers probably temporarily changed it to 21 for defaulthouse.dat. I'll come up with a patch to share soon.
Next on the list is getting the action queue to work. It turns out that if you spawn NPCs on the lot, you will control the first NPC that you put on the lot; if you click around, you'll get that NPC's head in the pie menu, and if you click on the NPC itself, you get "This is the active character". (Clicking on other NPCs shows you the regular pie menu actions for those NPCs.) Clicking pie menu commands does not do anything yet.
If you pass "-playerid 0" to Play Test, you'll get the default sim named "Guy" on the lot, with a green plumb-bob above him. (I'm not sure if you can control Guy if you apply the simulator hack to Play Test.) You'll notice that Play Test comes with "netuser00000.iff" in the userdata/characters folder, but Pre-Alpha doesn't come with it. Copying and pasting this file into Pre-Alpha's characters folder and running with -playerid 0 doesn't cause Guy or any other sim to show up, so it's possible that the format of netuser00000.iff changed.
What's interesting is that, though I can't seem to get the AddPlayer cheat to work (you just get the error "You cannot create a cheat avatar copied from a previous clone. Use the original."), if you keep netuser00000.iff in your characters folder, and you replace the conditional jump just above the reference to the error message string with an unconditional jump, and then run "AddPlayer" and skip over the access violations that result, then the game will put a plumb-bob over the active character and also create a new file, netuser00001.iff. If you rename this new file to netuser00000.iff, and you run KillPlayer, then the game doesn't crash the next time you run the AddPlayer cheat.
If you restart the game though, and your lot doesn't load and you have to delete nonetworkhouse.dat, then when the game creates a new nonetworkhouse.dat, it also deletes all files that exist with the name "netuser%d.iff", even if you pass -avatarid 0, and it still does not load any characters.
The main goal though is just getting the action queue to work.
Next on the list is getting the action queue to work. It turns out that if you spawn NPCs on the lot, you will control the first NPC that you put on the lot; if you click around, you'll get that NPC's head in the pie menu, and if you click on the NPC itself, you get "This is the active character". (Clicking on other NPCs shows you the regular pie menu actions for those NPCs.) Clicking pie menu commands does not do anything yet.
If you pass "-playerid 0" to Play Test, you'll get the default sim named "Guy" on the lot, with a green plumb-bob above him. (I'm not sure if you can control Guy if you apply the simulator hack to Play Test.) You'll notice that Play Test comes with "netuser00000.iff" in the userdata/characters folder, but Pre-Alpha doesn't come with it. Copying and pasting this file into Pre-Alpha's characters folder and running with -playerid 0 doesn't cause Guy or any other sim to show up, so it's possible that the format of netuser00000.iff changed.
What's interesting is that, though I can't seem to get the AddPlayer cheat to work (you just get the error "You cannot create a cheat avatar copied from a previous clone. Use the original."), if you keep netuser00000.iff in your characters folder, and you replace the conditional jump just above the reference to the error message string with an unconditional jump, and then run "AddPlayer" and skip over the access violations that result, then the game will put a plumb-bob over the active character and also create a new file, netuser00001.iff. If you rename this new file to netuser00000.iff, and you run KillPlayer, then the game doesn't crash the next time you run the AddPlayer cheat.
If you restart the game though, and your lot doesn't load and you have to delete nonetworkhouse.dat, then when the game creates a new nonetworkhouse.dat, it also deletes all files that exist with the name "netuser%d.iff", even if you pass -avatarid 0, and it still does not load any characters.
The main goal though is just getting the action queue to work.