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

Fate/Samurai Remnant .fdata

Featured Replies

I am looking for a way to unpack the .fdata in the game, I've heard there was a BMS Script that would do this, sadly I wasn't able to get the script before the site closed. Also any other info on the extraction of the files would be a very helpful to newcomers and myself.

Solved by ailephi

  • Solution

try this one

im not sure if this is the correct one since i cant test it myself
 

Comtype ZLIB
Get FILETOTALSIZE asize

if FILETOTALSIZE > 128

Set IDRKOFFSET long 0x10

Do

Goto IDRKOFFSET
Print "%IDRKOFFSET%"
Getdstring MAGICVERSION 8 
Get ENTRYSIZE longlong
Get COMPSIZE longlong
Get DECOMPSIZE longlong
Get ENTRYTYPE long
Get FILEKTID long
Get TYPEINFOKTID long
Set SKIP long ENTRYSIZE
Math SKIP - COMPSIZE
Math SKIP - 0x2C
Goto SKIP 0 SEEK_CUR
Savepos TEMP
Print "%TEMP%"

String FNAME p "0x%08x." FILEKTID
String FEXT p "%08x" TYPEINFOKTID

If TYPEINFOKTID == 0x563bdef1
Set FULLNAME string "g1m/"
String FNAME + "g1m"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x6fa91671
Set FULLNAME string "g1a/"
String FNAME + "g1a"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0xafbec60c
Set FULLNAME string "g1t/"
String FNAME + "g1t"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x20a6a0bb
Set FULLNAME string "kidsobjdb/"
String FNAME + "kidsobjdb"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x5153729b || TYPEINFOKTID == 0xb340861a 	
Set FULLNAME string "mtl/"
String FNAME + "mtl"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x8e39aa37 || TYPEINFOKTID == 0xbe144b78 	
Set FULLNAME string "ktid/"
String FNAME + "ktid"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x56efe45c || TYPEINFOKTID == 0xbbf9b49d
Set FULLNAME string "grp/"
String FNAME + "grp"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0xbbd39f2d
Set FULLNAME string "srsa/"
String FNAME + "srsa"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x0d34474d
Set FULLNAME string "srst/"
String FNAME + "srst"
String FULLNAME + FNAME

Else
Set FULLNAME string FEXT
String FULLNAME + "/"
String FNAME + FEXT
String FULLNAME + FNAME
Endif

Savepos OFFSET

If COMPSIZE == DECOMPSIZE

Get MAGIC long 0 OFFSET
If MAGIC == 1194412127
Set FULLNAME string "g1h/"
String FNAME p "0x%08x." FILEKTID
String FNAME + "g1h"
String FULLNAME + FNAME
Endif
Log FULLNAME OFFSET DECOMPSIZE

Else

Set MEMORY_FILE binary ""
Append
Do
Get ZSIZE short
Get Junk longlong
Savepos OFFSET
If DECOMPSIZE > 16384
Clog MEMORY_FILE OFFSET ZSIZE 16384
Math DECOMPSIZE - 16384
Else
Clog MEMORY_FILE OFFSET ZSIZE DECOMPSIZE
Math DECOMPSIZE - DECOMPSIZE
Endif
Math OFFSET + ZSIZE
Goto OFFSET 
While DECOMPSIZE > 0
Append

Get LSIZE asize MEMORY_FILE
GetVarChr MAGIC MEMORY_FILE 0 long
Print "%MAGIC%"
If MAGIC == 1194412127
Set FULLNAME string "g1h/"
String FNAME p "0x%08x." FILEKTID
String FNAME + "g1h"
String FULLNAME + FNAME
Endif
Log FULLNAME 0 LSIZE MEMORY_FILE
Endif

Math ENTRYSIZE x 0x10
Math IDRKOFFSET + ENTRYSIZE

While IDRKOFFSET < FILETOTALSIZE

Endif

 

  • Author

Now I just need a way to unpack the .bin files for the characters

 

  • 3 weeks later...
On 12/5/2023 at 7:26 AM, Rein said:

Now I just need a way to unpack the .bin files for the characters

 

The .bin file you uploaded is just a video file.
Script posted above by @ailephi works well, and you can access most resources with just that.

 

P.S You will need Joschuka's Noesis plugin for g1m files.

20231220_180644.png

20231220_180932.png

  • 2 weeks later...
  • Author
On 12/20/2023 at 1:13 AM, RRRR said:

The .bin file you uploaded is just a video file.
Script posted above by @ailephi works well, and you can access most resources with just that.

 

P.S You will need Joschuka's Noesis plugin for g1m files.

20231220_180644.png

20231220_180932.png

Where are the Characters files for servants and masters?

  • Author
18 hours ago, Rein said:

Where are the Characters files for servants and masters?

I found them, I'm stuck now on how to get the textures on the models?

  • 2 months later...

hey everyone, I'm new here but I wanted  to ask you somthing, I want to know how to get the 3d models files for make a cosplay for miyamoto iori. I want to print his swords, but I don't know how to extract the files. I tried to do it with ryujinx emulator on nsp file game but It didn't work for me. I saw that you share here some bin and fdata files but how to open and use them? please help me

thank you

elior

On 1/2/2024 at 10:33 PM, Rein said:

I found them, I'm stuck now on how to get the textures on the models?

how did you find them?

On 12/3/2023 at 4:58 AM, ailephi said:

try this one

im not sure if this is the correct one since i cant test it myself
 

Comtype ZLIB
Get FILETOTALSIZE asize

if FILETOTALSIZE > 128

Set IDRKOFFSET long 0x10

Do

Goto IDRKOFFSET
Print "%IDRKOFFSET%"
Getdstring MAGICVERSION 8 
Get ENTRYSIZE longlong
Get COMPSIZE longlong
Get DECOMPSIZE longlong
Get ENTRYTYPE long
Get FILEKTID long
Get TYPEINFOKTID long
Set SKIP long ENTRYSIZE
Math SKIP - COMPSIZE
Math SKIP - 0x2C
Goto SKIP 0 SEEK_CUR
Savepos TEMP
Print "%TEMP%"

String FNAME p "0x%08x." FILEKTID
String FEXT p "%08x" TYPEINFOKTID

If TYPEINFOKTID == 0x563bdef1
Set FULLNAME string "g1m/"
String FNAME + "g1m"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x6fa91671
Set FULLNAME string "g1a/"
String FNAME + "g1a"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0xafbec60c
Set FULLNAME string "g1t/"
String FNAME + "g1t"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x20a6a0bb
Set FULLNAME string "kidsobjdb/"
String FNAME + "kidsobjdb"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x5153729b || TYPEINFOKTID == 0xb340861a 	
Set FULLNAME string "mtl/"
String FNAME + "mtl"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x8e39aa37 || TYPEINFOKTID == 0xbe144b78 	
Set FULLNAME string "ktid/"
String FNAME + "ktid"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x56efe45c || TYPEINFOKTID == 0xbbf9b49d
Set FULLNAME string "grp/"
String FNAME + "grp"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0xbbd39f2d
Set FULLNAME string "srsa/"
String FNAME + "srsa"
String FULLNAME + FNAME

Elif TYPEINFOKTID == 0x0d34474d
Set FULLNAME string "srst/"
String FNAME + "srst"
String FULLNAME + FNAME

Else
Set FULLNAME string FEXT
String FULLNAME + "/"
String FNAME + FEXT
String FULLNAME + FNAME
Endif

Savepos OFFSET

If COMPSIZE == DECOMPSIZE

Get MAGIC long 0 OFFSET
If MAGIC == 1194412127
Set FULLNAME string "g1h/"
String FNAME p "0x%08x." FILEKTID
String FNAME + "g1h"
String FULLNAME + FNAME
Endif
Log FULLNAME OFFSET DECOMPSIZE

Else

Set MEMORY_FILE binary ""
Append
Do
Get ZSIZE short
Get Junk longlong
Savepos OFFSET
If DECOMPSIZE > 16384
Clog MEMORY_FILE OFFSET ZSIZE 16384
Math DECOMPSIZE - 16384
Else
Clog MEMORY_FILE OFFSET ZSIZE DECOMPSIZE
Math DECOMPSIZE - DECOMPSIZE
Endif
Math OFFSET + ZSIZE
Goto OFFSET 
While DECOMPSIZE > 0
Append

Get LSIZE asize MEMORY_FILE
GetVarChr MAGIC MEMORY_FILE 0 long
Print "%MAGIC%"
If MAGIC == 1194412127
Set FULLNAME string "g1h/"
String FNAME p "0x%08x." FILEKTID
String FNAME + "g1h"
String FULLNAME + FNAME
Endif
Log FULLNAME 0 LSIZE MEMORY_FILE
Endif

Math ENTRYSIZE x 0x10
Math IDRKOFFSET + ENTRYSIZE

While IDRKOFFSET < FILETOTALSIZE

Endif

 

how to use it? on what emulator and on what file? I used ryujinx and nsp file

that's the files I tried to extract with ryujinx but I don't know how to open them

 

 

image.png

Edited by elior316

  • 7 months later...
  • michalss featured this topic
  • 2 weeks later...

Hello, could you please help? I unpacked the audio localization from *.fdata files, and I got two folders — one with .srta files (they play fine through foobar2000), but the .srst files won’t open. How can I play the .srst files?

 

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.