Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.
Zero Tolerance for Disrespect

.SAF File Urban Chaos Riot Response (Xbox version)

Featured Replies

Hi, I have a problem with this file which is from the game Urban Chaos Riot Response from the original Xbox version, that file contains audios but I don't know in what format, it seems that they are . wav, I have managed to extract audios manually with hexadecimal editing (the file does not have any type of compression) but there are many and that way it would take me a thousand years lol, so I don't know if someone can help me simplify that, some tool or some script to be able to extract everything automatically, there is the psound program but it only works for the . SAF file of the ps2 version, I hope someone can help me, thanks

 

https://drive.google.com/file/d/1lEgkGVvH66cYbm0annc_jFMb3tA61iok/view?usp=drive_link

Solved by ikskoks

  • 1 year later...
On 10/13/2024 at 11:04 AM, ikskoks said:

That script works perfectly but how do you play the audio files or get the true format for the files since they aren't actually .wav are they?

 

Some help here would be very much appreciated!

On 6/5/2026 at 3:12 PM, herdoculousthethird said:

That script works perfectly but how do you play the audio files or get the true format for the files since they aren't actually .wav are they?

 

Some help here would be very much appreciated!

Here's another script (in Python) to extract the .saf archives.  There are multiple duplicate filenames, so I have appended part of the GUID values to separate them.  There is audio for 4 separate languages all mixed together, not sure how to separate them properly.  There's probably some information on a folder structure somewhere.

The extracted files should play in Foobar with vgmstream.

 

Usage: Python saf.py [saf file] [output folder]

 

saf.zip

6 hours ago, DKDave said:

Here's another script (in Python) to extract the .saf archives.

That worked great, thanks for your help.

Have you ever looked into the PS2 version to see if the sample rate is higher on the audio? I think that version uses .WAD and some sort of .DIR file that possibly contains assets. I could never seem to find the audio within existing tools or scripts for some reason.

17 hours ago, herdoculousthethird said:

That worked great, thanks for your help.

Have you ever looked into the PS2 version to see if the sample rate is higher on the audio? I think that version uses .WAD and some sort of .DIR file that possibly contains assets. I could never seem to find the audio within existing tools or scripts for some reason.

I looked into the PS2 version a while ago.  You can unpack the data with my QuickBMS scripts here: https://github.com/DKDave/Scripts/tree/master/QuickBMS/PS2

But it was a bit more fiddly to extract the actual individual audio files, so I didn't look into it too much, but the audio sample rates seemed to be the same at 22050.

 

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.