Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Shui Hu Q Zhuan 2 online (Unreal engine)

Post questions about game models here, or help out others!
Post Reply
Axolotl
advanced
Posts: 44
Joined: Sun Nov 07, 2010 12:52 am
Has thanked: 5 times

Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Axolotl »

The contents of this post was deleted because of possible forum rules violation.
Nazaroff
advanced
Posts: 40
Joined: Mon Oct 11, 2010 12:30 pm
Has thanked: 7 times
Been thanked: 12 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Nazaroff »

*.PAK format looked like very easy.

char header[8]; "FSH24001"
int32 size; //fize of PAK
int32 numfiles; //number of files in PAK
{char filename[32]; int offset; int sizeOfFile; char dummy[8];}[numfiles]
then data.
Axolotl
advanced
Posts: 44
Joined: Sun Nov 07, 2010 12:52 am
Has thanked: 5 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Axolotl »

So is it possible to make a script to extracts files from paks? :)
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by finale00 »

It does not seem that obvious.

There is still compression on the data.
I mean sure you can see strings in some of those csv's and all, but then there's a lot of other garble there.

If you look at the each file, it most likely starts with

Code: Select all

char[4] "\x5A\x4D\xF6\x0B"
dword size
dword compressed_size
....
But I don't know which compression algorithm is used.

This unpacks the archives, but is not complete based on the provided sample.

Code: Select all

#Shui Hu Q Zhuan 2 pak unpacker

idstring "FSH24001"
get FSIZE long
get FILES long

set FOLDER_NAME = "/"
for i = 0 < FILES do
	getdstring NAME 32
	get OFFSET long
	get SIZE long
	get IS_FOLDER long
	get unk2 long
	
	if IS_FOLDER = 1
		set FOLDER_NAME = NAME
		string FOLDER_NAME += "/"
	else
		set TEMP = FOLDER_NAME
		string TEMP += NAME
		print %TEMP%
		log TEMP OFFSET SIZE	
	endif
next i
The IS_FOLDER value might be more than just one sub-level, so if there are multiple nested folders it'll have to be defined a little differently.
Axolotl
advanced
Posts: 44
Joined: Sun Nov 07, 2010 12:52 am
Has thanked: 5 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Axolotl »

Thanks, the script is really works, it extracts a lot of ukx and utx files but them seems to not working with umodel for me, so all in Gildor's hands i think.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by finale00 »

The files should be compressed.
I just don't know the compression algorithm used.

But I guess you can upload some model/tex samples. It's probably the same compression used as the rest of the files.
Axolotl
advanced
Posts: 44
Joined: Sun Nov 07, 2010 12:52 am
Has thanked: 5 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Axolotl »

The contents of this post was deleted because of possible forum rules violation.
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by finale00 »

Image

You're right, it's not compressed.
Well, it is compressed. It just happens that it's the same as the original for whatever reason.

A proper unpacker that decompresses the file data would still produce the same result.

Try removing the first 12 bytes of the file and see if umodel can load it, since the first 12 bytes are not part of the model.
Axolotl
advanced
Posts: 44
Joined: Sun Nov 07, 2010 12:52 am
Has thanked: 5 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Axolotl »

It's partially works.
Removing 12 bytes works with usx - static mesh packages and utx - textures.
But skeletal meshes - ukx still doesn't want to work.

P.S. But hand painted textures looks quite good. Simple cartonish style, but made by quite crafty artists.

Image
User avatar
CriticalError
double-veteran
double-veteran
Posts: 678
Joined: Sun Jul 05, 2009 2:03 am
Has thanked: 104 times
Been thanked: 41 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by CriticalError »

well really great news, yes testing and trying crack UKX files but don't have lucky, I tested all files.

UKX= Pending
UTX=DONE
USX=DONE
UNR=DONE
UAX=DONE
Axolotl
advanced
Posts: 44
Joined: Sun Nov 07, 2010 12:52 am
Has thanked: 5 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by Axolotl »

Finale00 i'm not programmer but maybe it's not hard to modify bms script that it will extract packages without those extra 12 bytes? Because there are a lot of packages (129-utx, 248-usx, 679-ukx) and do it manually will be very looong process :)
finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 307 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by finale00 »

Assuming you don't need those 12 bytes for any of the models/textures, we can just skip those 12 bytes by increasing the offset of each file.

Code: Select all

#Shui Hu Q Zhuan 2
#temp unpacker
#doesn't decompress files

idstring "FSH24001"
get FSIZE long
get FILES long

set FOLDER_NAME = "/"
for i = 0 < FILES do
   getdstring NAME 32
   get OFFSET long
   math OFFSET += 12
   get SIZE long
   get IS_FOLDER long
   get unk2 long
   
   if IS_FOLDER = 1
      set FOLDER_NAME = NAME
      string FOLDER_NAME += "/"
   else
      set TEMP = FOLDER_NAME
      string TEMP += NAME
      print %TEMP%
      log TEMP OFFSET SIZE   
   endif
next i
User avatar
CriticalError
double-veteran
double-veteran
Posts: 678
Joined: Sun Jul 05, 2009 2:03 am
Has thanked: 104 times
Been thanked: 41 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by CriticalError »

finale00 wrote:Assuming you don't need those 12 bytes for any of the models/textures, we can just skip those 12 bytes by increasing the offset of each file.

Code: Select all

#Shui Hu Q Zhuan 2
#temp unpacker
#doesn't decompress files

idstring "FSH24001"
get FSIZE long
get FILES long

set FOLDER_NAME = "/"
for i = 0 < FILES do
   getdstring NAME 32
   get OFFSET long
   math OFFSET += 12
   get SIZE long
   get IS_FOLDER long
   get unk2 long
   
   if IS_FOLDER = 1
      set FOLDER_NAME = NAME
      string FOLDER_NAME += "/"
   else
      set TEMP = FOLDER_NAME
      string TEMP += NAME
      print %TEMP%
      log TEMP OFFSET SIZE   
   endif
next i
thanks a lot for it, after finish modify all you create a bms script for do it xX, I sick now anyway keep working, now the problem is UKX, Gildor is working in it, so hope see news very soon.
User avatar
CriticalError
double-veteran
double-veteran
Posts: 678
Joined: Sun Jul 05, 2009 2:03 am
Has thanked: 104 times
Been thanked: 41 times

Re: Shui Hu Q Zhuan 2 online (Unreal engine)

Post by CriticalError »

ummm well the compression say chrox is COMP_LZO1X, maybe can take a look and modify script? today I download new client, and script not work, they changed files, here I uplaod for take a look too, thanks.

Shui Hu Q Zhuan 2 Online v80 [Samples+EXE]
Post Reply