Patch - Looping Sounds

Raeven

Well-Known Member
EDIT: These patches were created for LEGACY.
If the devs decide to use the in our global server, they will do so in an update (ensuring your computer and their server BOTH have the same files.) Please do not install them in your Global Server FreeSO manually.


In some objects' the "Play Sounds Event" have the loop flag set for sounds that should not loop. For some reason TSO and The Sims ignore the flag and play the sound once (Something in the FWAV itself rather than the object, perhaps?). FreeSO currently respects the Play Sound Event's "loop", however, and loops the sound according. Since the sounds was not looping for Maxis/EA they failed to put a node into the BHAV telling it that it should stop.

These patches replace the looping Play Sounds Events with one that does not loop.
DOWNLOAD PATCHES: http://www.woobsha.com/files/FreeSO/#deloop

Bath tubs - draining sound during do fill and drain
Most tubs do "stop all sounds", but by the time that kicks in the first loop already started making causing an odd belch at the end. The cheap tub had "stop all sounds" node disabled, causing the loop to go on (and on and...) making the sound-loop problem much more noticeable in that one tub.

Fireplaces - match_strike and comfort "aaaaah" voice during Start Fire
- Interesting note: once looping starts the VOX defaults to male even if the Sim is female after the initial/correct Aaah

Dishwashers - the dishwasher opening (dishw_sopen), closing (dishw_sclose) and the Sim's complainy noise (dishwasher_wash_vox) during clean core
This patch does NOT repair the looping voice sound during "Repair". One that should be looping (the sound of the dishwasher running) is playing oddly. So this is an improvement but someone might figure out how to improve it further.

Computers - the typing sound in Repair, Do Research (sometimes), and Look for job. (Just Do Research on the laptop)
The real fix for this one is to insert a line that "stops all sounds" and this probably wont work when the client and server don't both have the file. To avoid that issue I didn't patch the computers the proper way, instead I de-looped the sounds. So we are trading the looping noises for some silences (when it should not be silent). Not exactly graceful but I figured it is preferable
 
Last edited:
Looping is an unusual case. Sometimes it's obvious that a sound's "loop" flag should be set, but in other cases it is set erroneously. It's likely something like - basic sounds respect the loop flag (ones without HIT subroutines), and the fully HIT scripted sounds don't.
 
Note that some patches will change the game function, and may cause desyncs if the server doesn't have the same patch. Patches to sound primitives like this are not an issue, since sound is not synchronised over the internet, but graphical patches like the sink might cause a few more desyncs than usual (and the broken graphic will return the next time you resync). Just be careful!
 
Excellent info! Thanks, Rhys
I've quoted you in the sink's thread. I suppose all of these threads should have each had a reminder that the server and client need matching files. I'd forgotten about including that since I've been tinkering in a local game.

----------------Also a third patch ---------------
EDIT: These patches were created for LEGACY.
If the devs decide to use the in our global server, they will do so in an update (ensuring your computer and their server BOTH have the same files.) Please do not install them in your Global Server FreeSO manually.
Dishwashers - the dishwasher opening (dishw_sopen), closing (dishw_sclose) and the Sim's complainy noise (dishwasher_wash_vox) during clean core
http://www.woobsha.com/files/FreeSO/dishwashers_patch(de-loop).zip
caveat (of sorts): I delayed uploading this one because after replacing the 3 mis-looping sounds, I found the one that should be looping (the sound of the dishwasher running) was playing oddly. I assumed I'd broken something. But it turns out it was already playing that way underneath all of the other sounds. So this is an improvement but someone might figure out how to improve it further

(The first post has been edited to include this patch)
 
Last edited:
Happily! But this case is a bit different from the first three. In those the sound was never meant to loop in the first place and I replaced one node (play sound+loop flag) with another node (just play sound). This is apparently something your computer and the server you are on don't bother checking with each other about so it can work fine for you.

The typing sound is supposed to loop. This time the problem is not knowing when to stop. So adding that instruction in seems to be required and adding something new in WILL be something your computer and the server need to agree on (if I am understand Rhys correctly)
 
  • Like
Reactions: Sim
@Becky with the good hair
EDIT: These patches were created for LEGACY.
If the devs decide to use the in our global server, they will do so in an update (ensuring your computer and their server BOTH have the same files.) Please do not install them in your Global Server FreeSO manually.
I had a hard time recreating the looping noise (on the desktop computers), so I'm not 100% sure this will fix the issue - give it a test and see. The zip includes a patch for the laptop as well as the desktop computers. (I'll add it to the first post after we're sure it's fixing all of the looping)
http://www.woobsha.com/files/FreeSO/computers_patch(de-loop).zip

I mentioned in the previous post that the real fix for this one is to insert a line that "stops all sounds" and that this might work out when the client and server don't both have the file. To avoid that issue I didn't patch the computers the proper way, instead I de-looped the sounds. So we are trading the looping noises for some silences (when it should not be silent). Not exactly graceful but I figured it is preferable

Repair, Do Research, and Look for job are the interactions that these patches change. (Just Do Research on the laptop)
 
Last edited:
Interesting. Not on my end.

Re-pasting the links here didn't work out. You can copy the visible address to a browser to download, though.

Perhaps there is an anti-spam measure that balks at that many links in one post? Sounds unlikely, but the 404 page is a forum page rather than mine, and the two links in separate posts further down in the thread work just fine.

I can make a webpage with the links if the forum's redirect page is balking at the fact that the links are directly to the files. Or I can upload the files. I didn't want to clutter the forum with little temporary files but they are tiny. Someone just needs to let me know which is considered preferable at this forum

EDIT: made the webpage:
http://www.woobsha.com/files/FreeSO/
 
Last edited:
patches get placed in TSOClient\Content\Patch\User

EDIT: THOSE ARE OUTDATED INSTRUCTIONS!
They get installed in the Content\Patch\User of your LEGACY FreeSO install. Do NOT plate them in your TSO folders
These patches were created for LEGACY.
If the devs decide to use the in our global server, they will do so in an update (ensuring your computer and their server BOTH have the same files.) Please do not install them in your Global Server FreeSO manually.
 
Last edited:
No, the looping sounds problem isn't in TS1
Somehow TS1 and TSO knew not to loop these sounds despite them being flagged as looping sounds. I imagine the conflicting information is embedded in the animations themselves. These patches are not permanent fixes and wont be incorporated into FreeSO; Rhys will "teach" FreeSO how to make the same distinction and when he does these patches will no longer be of any use at all. These are just to make playing a little more pleasant until that time.

(That also applies to the DJ booth and the sinks' soap suds patch. All of those stem from the same little issue)
 
Thing is, I've added a few tells to the engine to detect when a sound should not loop, but there are still cases where it is set wrong. Here's all of the variables in the equation:

  • Whether the "loop" instruction is called (rarely)
  • Whether SimAntics flags the sound as looping
  • Whether the "set_loop" instruction is called (if it is not then simantics loop is ignored)
  • Whether the track associated with the subroutine has "looped" nonzero (no idea what this does, it always seems to be zero)
  • Special cases where the event name is all wrong, there are no links within the sound event file, and a match to an existing subroutine has to be hard coded (piano sounds)
I think Maxis completely screwed this up for TSO. They changed the format for everything and left lots of dead and incorrect references, so I can see them going down hacky paths to fix things instead of doing it right.
 
Back
Top