DevJack Posted April 23 Share Posted April 23 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 More sharing options...
DevJack Posted April 26 Author Share Posted April 26 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 More sharing options...
Rypie109 Posted May 20 Share Posted May 20 .g1a is an animation file, so you cant load it by itself. Link to comment Share on other sites More sharing options...
Rypie109 Posted May 20 Share Posted May 20 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 More sharing options...
kishikan Posted October 8 Share Posted October 8 Hello. May I ask which script you use to extract Wo Long? I believe there was a script on Xentax, but the website is dead. Link to comment Share on other sites More sharing options...
Cyphomet Posted October 10 Share Posted October 10 (edited) 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 October 10 by Cyphomet 1 Link to comment Share on other sites More sharing options...
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