Jump to content

Wo Long Fallen Dynasty Upheaval in Jingxiang


gamer19771356

Recommended Posts

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

Link to comment
Share on other sites

  • 3 months later...
  • 9 months later...

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

 

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...