gamer19771356 Posted December 19, 2023 Posted December 19, 2023 Can someone help me, the files are not extracted completely and it gives this error Error: offset in GetVarChr (0x0000000000000000) is bigger than the var (0x00000000) Last script line before the error or that produced the error: 115 GetVarChr MAGIC MEMORY_FILE 0 long coverage file 0 9% 1642288782 17675796095 . offset 0000000061ea2df2 Press ENTER or close the window to quit fdata.rar
Sadamekaze Posted April 4, 2024 Posted April 4, 2024 Try using quickbms_4gb_files.exe, maybe it will work.
WindShadowRuins Posted January 8 Posted January 8 Did you ever find a fix? On 12/18/2023 at 9:53 PM, gamer19771356 said:
WindShadowRuins Posted January 9 Posted January 9 Made it skip errors 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 If DECOMPSIZE <= 0 Print "Skipping due to invalid DECOMPSIZE at offset %OFFSET%" Break Endif Get ZSIZE short Get Junk longlong Savepos OFFSET If ZSIZE > DECOMPSIZE Print "ZSIZE is larger than remaining DECOMPSIZE, skipping entry." Break Endif 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 If LSIZE > 0 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 Endif Math ENTRYSIZE x 0x10 Math IDRKOFFSET + ENTRYSIZE While IDRKOFFSET < FILETOTALSIZE Endif 1
Kanbara Posted February 7 Posted February 7 (edited) On 1/9/2025 at 12:13 PM, WindShadowRuins said: Made it skip errors 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 If DECOMPSIZE <= 0 Print "Skipping due to invalid DECOMPSIZE at offset %OFFSET%" Break Endif Get ZSIZE short Get Junk longlong Savepos OFFSET If ZSIZE > DECOMPSIZE Print "ZSIZE is larger than remaining DECOMPSIZE, skipping entry." Break Endif 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 If LSIZE > 0 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 Endif Math ENTRYSIZE x 0x10 Math IDRKOFFSET + ENTRYSIZE While IDRKOFFSET < FILETOTALSIZE Endif It's a little bit off topic here, but I tried this modeified script on Dynasty Warriors Origins's .fdata files. It turns out super fine, but still got some errors. And I have no idea what caused it. Edited February 7 by Kanbara
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now