The switch version's demo of Ys IX came out. The main file that I think holds the assets uses VFS3. I tried the killer 7 vfs bms script but it didn't work
https://drive.google.com/drive/u/0/fold ... J4D5eFncG-
There's smaller split files as well as the "Main one" Thank you.
Ys IX demo data.vsf/vfs3 file
-
- Posts: 7
- Joined: Wed Mar 24, 2021 4:42 am
Re: Ys IX demo data.vsf/vfs3 file
Forgot to lift the sharing restriction.
-
- Posts: 36
- Joined: Sat Sep 16, 2017 6:34 pm
Re: Ys IX demo data.vsf/vfs3 file
Similar to killer7_vfs.bms but the structure may be slightly changed?
Похожа на killer7_vfs.bms но может структура немного изменена?
Похожа на killer7_vfs.bms но может структура немного изменена?
-
- Posts: 36
- Joined: Sat Sep 16, 2017 6:34 pm
Re: Ys IX demo data.vsf/vfs3 file
Here is a description of the file structure data.vfs.
Code: Select all
000000000000 4 Hender: VFS3
000000000004 4 Unknown0: 16
000000000008 4 Unknown1: 1
00000000000C 4 Number of folders: 1110
000000000010 ? Folder Structure size: 1110 * 28 = 31080
00000000 4 Unknown0.
00000004 4 Unknown1.
00000008 4 Unknown2.
0000000C 4 Unknown3.
00000010 4 Unknown4.
00000014 4 Unknown5.
00000018 4 Unknown6.
000000007978 4 Number of files: 27514
00000000797C ? File Structure size: 27514 * 40 = 1100560
00000000 8 Offset To compressed file.
00000008 8 Compressed file size.
00000010 8 Decompressed file size.
00000018 4 Unknown0.
0000001c 4 Unknown1.
00000020 4 Unknown2.
00000024 4 Unknown3.
00000011448C 8 Offset To unknown Data: 0000665FD690
000000114494 8 Offset on file And folder names: 0000666482E8
00000011449C 4 Unknown2: 0
0000001144A0 1716349954 Compressed files size.
0000665FD690 4 Unknown Data size: 306260
0000665FD694 306260
0000666482E8 4 Number of files: 27514
00000000 4 Text size.
00000004 ? Text.
0000666BBAA9 4 Number of folders: 1110
00000000 4 Text size.
00000004 ? Text.
-
- Posts: 13
- Joined: Sat Apr 13, 2019 9:25 am
Re: Ys IX demo data.vsf/vfs3 file
Some clarifications
The only issue for extraction - type of compression. Can't recognize it. It looks like its own Nihon Falcom compression format.
Sorry for bad English.
The only issue for extraction - type of compression. Can't recognize it. It looks like its own Nihon Falcom compression format.
Sorry for bad English.
Code: Select all
000000000000 4 Hender: VFS3
000000000004 4 Version: 16
000000000008 4 Unknown1: 1
00000000000C 4 Number of folders: 1110
000000000010 ? Folder Structure size: 1110 * 28 = 31080
00000000 4 FolderCRC (?)
00000004 4 FolderID
00000008 4 Previous_FolderID
0000000C 4 Next_FolderID.
00000010 4 Folders_Count_in_Folder
00000014 4 Unknown
00000018 4 Files_Count_in_Folder
000000007978 4 Number of files: 27514
00000000797C ? File Structure size: 27514 * 40 = 1100560
00000000 8 Offset To compressed file. (Real Ofsset += value from 0x0011448C)
00000008 8 Compressed file size.
00000010 8 Decompressed file size.
00000018 4 FileCRC (?)
0000001c 4 FileID
00000020 4 File_Flags (File Flag 0x23 - normal file, File Flag 0x20 - File repeats - data for file size and compressed size can be found by offset)
00000024 4 File_Folder_ID
00000011448C 8 Offset To File Chunks Data: 0000665FD690
000000114494 8 Offset on file And folder names: 0000666482E8
00000011449C 4 Unknown2: 0
0000665FD690 4 Chunks info Data size: 306260
From 0000665FD694 - Chunks Data (Sorted by FileID)
00000000 Chunk Info Size for File
00000004 4 Compressed Chunk Size for File
Next Chunk
(Decompressed Chunk Size = 131072)
If Chunk Size < 0 - Chunk is uncompressed (Size = - Chunk Size)
0000666482E8 4 Number of files: 27514 (Sorted by FileID)
00000000 4 Text size.
00000004 ? Text.
0000666BBAA9 4 Number of folders: 1110
00000000 4 Text size.
00000004 ? Text.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Ys IX demo data.vsf/vfs3 file
I have tried to make a script with the provided information but there is probably something small I missed or maybe the compression is not the one I tought:
Code: Select all
# Ys IX VFS
# info by eaZy https://zenhax.com/viewtopic.php?p=64813#p64813
comtype falcom
idstring "VFS3"
get VER long # 16
get DUMMY long # 1
get FOLDERS long
for i = 0 < FOLDERS
get FolderCRC long
get FolderID long
get Previous_FolderID long
get Next_FolderID long
get Folders_Count_in_Folder long
get Unknown long
get Files_Count_in_Folder long
next i
get FILES long
savepos FILES_OFF
for i = 0 < FILES
callfunction GET_FILE 1
next i
get CHUNKS_OFF longlong
get NAMES_OFF longlong
get ZERO long
savepos DATA_OFF
math CHUNK_SIZE = 131072
goto CHUNKS_OFF
get CHUNKS_SIZE long
for i = 0 < FILES
get CHUNK_INFO_SIZE long
savepos TMP
putarray 2 i TMP
xmath CHUNKS "CHUNK_INFO_SIZE / 4"
putarray 3 i CHUNKS
goto CHUNK_INFO_SIZE 0 SEEK_CUR
next i
goto NAMES_OFF
get NAMES long
for i = 0 < NAMES
get NAMESZ long
getdstring NAME NAMESZ
putarray 0 i NAME
next i
get NAMES long
for i = 0 < NAMES
get NAMESZ long
getdstring NAME NAMESZ
putarray 1 i NAME
next i
goto FILES_OFF
for i = 0 < FILES
callfunction GET_FILE 1
math OFFSET + DATA_OFF
getarray NAME 0 FileID
getarray PATH 1 File_Folder_ID
string NAME p "%s/%s" PATH NAME # it's only the last subfolder!
#print "DEBUG %OFFSET|X% %ZSIZE|X% %SIZE|X% %NAME%"
getarray CHUNKS_OFF 2 FileID
getarray CHUNKS 3 FileID
goto CHUNKS_OFF
log NAME 0 0
append
for x = 0 < CHUNKS
get CHUNK_ZSIZE signed_long
if CHUNK_ZSIZE < 0
math CHUNK_ZSIZE n CHUNK_ZSIZE
log NAME OFFSET CHUNK_ZSIZE
else
clog NAME OFFSET CHUNK_ZSIZE CHUNK_SIZE
endif
math OFFSET + CHUNK_ZSIZE
next x
append
next i
startfunction GET_FILE
get OFFSET longlong
get ZSIZE longlong
get SIZE longlong
get FileCRC long
get FileID long
get File_Flags long
get File_Folder_ID long
endfunction