Ripping Battlerite Assets

Avatars
All avatars are in  but they have no file extension and the names are hashed. The original names can be found in

This PowerShell script creates a new folder "pngs" containing the avatars as png with the correct name: $path = "C:\Program Files (x86)\Steam\steamapps\common\Battlerite\Battlerite\AccountVanity\" $cachepath = $path + "cache\" $pngspath = $path + "pngs\"

$testpath = test-path $pngspath

if(!$testpath){ new-item $pngspath -itemtype directory }

$pictures = 0

$reader = [System.IO.File]::OpenText($path + "AccountVanity.def.sjson") while($null -ne ($line = $reader.ReadLine)) { if($line -match "Pictures =") { $pictures = 1 }   if($pictures){ $nameindex = $line.IndexOf("File") if($nameindex -ge 0){ $nameindex += 8 $name = $line.Substring($nameindex, $line.IndexOf('"', $nameindex) - $nameindex)           $hashindex = $line.IndexOf("Hash")            $hashindex += 8            $hash = $line.Substring($hashindex, $line.IndexOf('"', $hashindex) - $hashindex) $name + ".png" copy-item ($cachepath + $hash) ($pngspath + $name + ".png") }   } }

Image files
There are two main locations of the image files. One part is in the assets files in  and the other part is in all the files in

To extract them use Unity Assets Bundle Extractor

Battlerite_Data

 * 1) open all the .assets files in UABE
 * 2) sort by type
 * 3) select all textures (not sprites)
 * 4) click the plugin button and then export

Bundles

 * 1) create a new text file in your UABE folder "batch.txt" containng +DIR C:\Program Files (x86)\Steam\SteamApps\common\Battlerite\bundles
 * 2) create a new batch file in your UABE folder containing AssetsBundleExtractor batchexport batch.txt and run it
 * 3) move all the new .assets files into their own folder, Everything makes this easy and fast
 * 4) extract with UABE like above

Audio files
All audio files are stored in sound banks, which are located in To extract them first extract the intermediate fsb (FMOD sample bank) files and then extract the audio files from the fsb files. To get to the fsbs use quickbms.

This bms will extract the fsbs: for OFFSET = 0 goto OFFSET findloc OFFSET string "FSB5" goto OFFSET getdstring FSB_SIGN 4  # FSOUND_FSB_HEADER_FSB5 (fsb.h)    get version long get numsamples long get shdrsize long get namesize long get datasize long xmath SIZE "0x3c + shdrsize + namesize + datasize" log "" OFFSET SIZE next OFFSET + SIZE

To get to the actual audio files id-deamon wrote a tool that uses an older version of the FMOD API. Download here.

Strings
Strings are in localization files located in. It would be possible to dump the strings with associated values when the characters load...