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

.wz archive

The Original Forum. Game archives, full of resources. How to open them? Get help here.
AngelSL
beginner
Posts: 29
Joined: Mon May 07, 2007 2:06 pm
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by AngelSL »

Anyone? Sounds and the floor tiles.. OMEGA?
kolli
n00b
Posts: 15
Joined: Mon Apr 30, 2007 6:57 pm

Post by kolli »

Omega wrote:
kolli wrote:
itg wrote:Hm, guys can anyone tell me is a tool for this game done? (wont read 20 pages :) I mean tool not some script or some thing else which searching for signatures, if no then Ill download that game, thnx.

_______________________________

Inside the game http://int0thegame.blogspot.com/
There is a tool. It's called mapledump. But it's on Korean (or Japanese or something like that). It's written in Delphi and it's closed source.
I think that this tool is just a "translation" of the Python Script as the output looks the same.

I wanted to write a Object Pascal Tool, too (With FPC and Lazarus). But I'm still having trouble to read the Python script... I know the general process of what the script does, but my Python knowledge is to small to fully understand it...
And another reason, why I am not coming further: It's hard to find all the needed functions and types for Object Pascal - zlib, all the datatypes, the basic file reading - just everything is different...

Anyone else made a script or a tool in another language and likes to share his knowledge?

If the script was at least in C, but Python? Why it had to be in Python?
Yes, it extracts all Images, fine. But it would be better to have a tool to browse the wz-files.
The point was to figure out the file structure, and python is a very good language to quickly put together a prototype. If you believe it's better to have a tool to browse the files, why don't you make one and release it?

Python is a very easy language to learn, and lambda didn't use anything too exotic to write the script (apart from zlib, but that's a standard dll). If you have any questions, there are plenty of places to ask (here included).
"If you want one why don't you make one?" - That's a really dumb argument. It's the same like "So, you want a Mercedes S Class? Why don't you built it yourself or why don't you earn all the money and buy it?"
You don't need to be able to make anything better to see that something is not perfect. If I could do it better I wouldn't ask but do it.

Yes, the goal was to find out the file structure. But I can't see it here. All I see is a Python script. People who don't know Python can't write a tool in another language. I could write a tool in Object Pascal (maybe also in C# .NET, what I am currently learning) - if I just could read the full Python script to find out the file structure.
It's not so much about the algorithms (loops, calculations, boolean operations etc.), they are almost the same in any language. But the problems for many people are the "Pythonish" stuff (e.g. the struct.pack and .unpack stuff, the string handling, file access is easier than in other languages, in my oppinion Python code is hard to read etc.)
So it's not possible to just "translate" the script.

That's why I asked if someone already made up a general, language independent overview about the file structure. That's all I need to write a tool.
Omega
advanced
Posts: 56
Joined: Tue Aug 22, 2006 5:15 pm
Contact:

Post by Omega »

kolli wrote:
Omega wrote:
kolli wrote: There is a tool. It's called mapledump. But it's on Korean (or Japanese or something like that). It's written in Delphi and it's closed source.
I think that this tool is just a "translation" of the Python Script as the output looks the same.

I wanted to write a Object Pascal Tool, too (With FPC and Lazarus). But I'm still having trouble to read the Python script... I know the general process of what the script does, but my Python knowledge is to small to fully understand it...
And another reason, why I am not coming further: It's hard to find all the needed functions and types for Object Pascal - zlib, all the datatypes, the basic file reading - just everything is different...

Anyone else made a script or a tool in another language and likes to share his knowledge?

If the script was at least in C, but Python? Why it had to be in Python?
Yes, it extracts all Images, fine. But it would be better to have a tool to browse the wz-files.
The point was to figure out the file structure, and python is a very good language to quickly put together a prototype. If you believe it's better to have a tool to browse the files, why don't you make one and release it?

Python is a very easy language to learn, and lambda didn't use anything too exotic to write the script (apart from zlib, but that's a standard dll). If you have any questions, there are plenty of places to ask (here included).
"If you want one why don't you make one?" - That's a really dumb argument. It's the same like "So, you want a Mercedes S Class? Why don't you built it yourself or why don't you earn all the money and buy it?"
You don't need to be able to make anything better to see that something is not perfect. If I could do it better I wouldn't ask but do it.

Yes, the goal was to find out the file structure. But I can't see it here. All I see is a Python script. People who don't know Python can't write a tool in another language. I could write a tool in Object Pascal (maybe also in C# .NET, what I am currently learning) - if I just could read the full Python script to find out the file structure.
It's not so much about the algorithms (loops, calculations, boolean operations etc.), they are almost the same in any language. But the problems for many people are the "Pythonish" stuff (e.g. the struct.pack and .unpack stuff, the string handling, file access is easier than in other languages, in my oppinion Python code is hard to read etc.)
So it's not possible to just "translate" the script.

That's why I asked if someone already made up a general, language independent overview about the file structure. That's all I need to write a tool.
I'll answer your questions in order:
"Anyone else made a script or a tool in another language and likes to share his knowledge?" done, but i'm not sharing code, though I can tell how it works
"If the script was at least in C, but Python? Why it had to be in Python? " that's what I answered above.
If you want the answer that goes with your mercedes allegory, you can pay someone to make it for you.
Now, if you have specific questions, I'm willing to help.
@AngelSL: I'm kinda short on time in general, so can't really look at the code, but is there an error message (are you running it from the command prompt?)? Are you running the program directly on sound.wz?
AngelSL
beginner
Posts: 29
Joined: Mon May 07, 2007 2:06 pm
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by AngelSL »

Error:
D:\MapleStory\Dump_Store\Sound>Extractor.py
0: /Bgm00.img, 7430599, 922
Traceback (most recent call last):
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 589, in <module>
dump()
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 570, in dump
vals = dumpFile(f, file["Name"], file["Offset"])
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 537, in dumpFile
value = dumpEntryValue(f, str(name), baseOffset)
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 522, in dumpEntryValu
e
elif (type == 0x09): return extract09type(f, name, baseOffset)
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 411, in extract09type

result = dumpBlock(f, name, baseOffset, f.tell() + size)
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 510, in dumpBlock
elif (type == 0x73): return extract73type(f, name, baseOffset, endOfBlock)
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 499, in extract73type

dumpMp3(f, size, endOfBlock)
File "D:\MapleStory\Dump_Store\Sound\Extractor.py", line 238, in dumpMp3
g = open("%d.mp3" % mp3count, "wb")
UnboundLocalError: local variable 'mp3count' referenced before assignment

Anyway, if I put mp3count = 0 in the start of the dumpMp3 block, then it just extracts ONE mp3.
Omega
advanced
Posts: 56
Joined: Tue Aug 22, 2006 5:15 pm
Contact:

Post by Omega »

try this:

Code: Select all

def dumpMp3(f, size, endOfBlock):
  startOfMP3 = endOfBlock - size
  remaining = startOfMP3 - f.tell()
  unknown = f.read(remaining)
  g = open("%d.mp3" % remaining, "wb")
  g.write(f.read(size))
  g.close()
  f.seek(endOfBlock)
filenames will be pretty ugly, and it may not work on older computers, but it should work....
AngelSL
beginner
Posts: 29
Joined: Mon May 07, 2007 2:06 pm
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by AngelSL »

That only extracted 3 sounds, 1 throwing star, 1 arrow shot, and one other silent sound. The rest were just htmls..
AngelSL
beginner
Posts: 29
Joined: Mon May 07, 2007 2:06 pm
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by AngelSL »

I hate to bump this, but Sound.wz is the only barrier that blocks me from releasing 00042 extract of MapleSEA
Omega
advanced
Posts: 56
Joined: Tue Aug 22, 2006 5:15 pm
Contact:

Post by Omega »

AngelSL wrote:That only extracted 3 sounds, 1 throwing star, 1 arrow shot, and one other silent sound. The rest were just htmls..
Are there more error messages?
AngelSL
beginner
Posts: 29
Joined: Mon May 07, 2007 2:06 pm
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by AngelSL »

No. No errors. But they only extract 3
Still, the floor tiles aren't in Map.wz... Anyone know where it is?
Omega
advanced
Posts: 56
Joined: Tue Aug 22, 2006 5:15 pm
Contact:

Post by Omega »

AngelSL wrote:No. No errors. But they only extract 3
Still, the floor tiles aren't in Map.wz... Anyone know where it is?
Which floor tiles? They seem to be in sub folders of Map.wz/Tile/

And if there are no more errors, the problem is probably deeper than what I can solve right now.
AngelSL
beginner
Posts: 29
Joined: Mon May 07, 2007 2:06 pm
Has thanked: 1 time
Been thanked: 6 times
Contact:

Post by AngelSL »

Theres no Tile folder!
EDIT: Found out why. Theres an error right after it tries to extract the Tiles.
Its something like:
Unknown: 115 Expecting: 15 or something.
Omega
advanced
Posts: 56
Joined: Tue Aug 22, 2006 5:15 pm
Contact:

Post by Omega »

AngelSL wrote:Theres no Tile folder!
EDIT: Found out why. Theres an error right after it tries to extract the Tiles.
Its something like:
Unknown: 115 Expecting: 15 or something.
That means that there is a bug somewhere in the decoding....it might be that it's expecting a 0x1B block, but getting something else, or vice versa...

Maybe someone else can provide a solution? (too deep an error for me to solve)
ninjalm
n00b
Posts: 17
Joined: Wed May 02, 2007 6:32 pm

Post by ninjalm »

Omega why cant you share you files you have exetraded?
Omega
advanced
Posts: 56
Joined: Tue Aug 22, 2006 5:15 pm
Contact:

Post by Omega »

ninjalm wrote:Omega why cant you share you files you have exetraded?
Easy answer, because I choose to. Long answer, it contains the code to decode the new kmst encryption, and I don't have the time to rip it out. Soon after we figured the regular version out, they changed to this new encryption. I'd rather not have to figure out a new encryption scheme.
ninjalm
n00b
Posts: 17
Joined: Wed May 02, 2007 6:32 pm

Post by ninjalm »

Omega wrote:
ninjalm wrote:Omega why cant you share you files you have exetraded?
Easy answer, because I choose to. Long answer, it contains the code to decode the new kmst encryption, and I don't have the time to rip it out. Soon after we figured the regular version out, they changed to this new encryption. I'd rather not have to figure out a new encryption scheme.
so can you jast upload the files you extraded?
to a srver?
put it all in rar put it in srver to the night and in the morning share the link?
---
and can you tell me your msn?
Post Reply