Jump to content

Wo Long: Fallen Dynasty .g1a file


DevJack

Recommended Posts

Hello everyone, Wo Long: Fallen Dynasty can use quickbms to extract .g1m files, but g1a files can not be extract , and then use

Cethleann can extract the g1a file, but loading the g1a file in noesie will cause an error. Is there has the latest bms script that can export g1a or Cethleann version that can export Wo Long: Fallen Dynasty? Thanks all

Link to comment
Share on other sites

On 4/23/2024 at 8:21 PM, DevJack said:

Hello everyone, Wo Long: Fallen Dynasty can use quickbms to extract .g1m files, but g1a files can not be extract , and then use

Cethleann can extract the g1a file, but loading the g1a file in noesie will cause an error. Is there has the latest bms script that can export g1a or Cethleann version that can export Wo Long: Fallen Dynasty? Thanks all

 

testg1a.zip

Link to comment
Share on other sites

  • 4 weeks later...

Was this file always called "test" or did it have a label? You cant pair the animation file with the model if you dont have the original file name. (or atleast its extremely difficult)

Link to comment
Share on other sites

  • 4 months later...

Okay this is raw .bms script which should work.

Open txt Document put following text (quoted) inside document save and rename to *.bms

Open quickbms and choose 4gb then activate script choose rdg.bin and save on any folder. Open files with g1m importer in Noesis.

Quote

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

 

Edited by Cyphomet
  • Thanks 1
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...