Ripping Battlerite Assets

From Battlerite Wiki
Jump to: navigation, search

Avatars[edit | edit source]

All avatars are in steamapps\common\Battlerite\Battlerite\AccountVanity\cache but they have no file extension and the names are hashed. The original names can be found in steamapps\common\Battlerite\Battlerite\AccountVanity\AccountVanity.def.sjson

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[edit | edit source]

There are two main locations of the image files. One part is in the assets files in steamapps\common\Battlerite\Battlerite_Data and the other part is in all the files in steamapps\common\Battlerite\bundles

To extract them use Unity Assets Bundle Extractor

Battlerite_Data[edit | edit source]

  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[edit | edit source]

  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[edit | edit source]

All audio files are stored in sound banks, which are located in steamapps\common\Battlerite\Battlerite_Data\StreamingAssets 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[edit | edit source]

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