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

Namco Tales of Eternia Online files...

Get your graphics formats figures out here! Got details for others? Post here!
Post Reply
Lamhirh
ultra-n00b
Posts: 5
Joined: Wed Jan 02, 2008 12:13 am

Namco Tales of Eternia Online files...

Post by Lamhirh »

I people,

I'd like to know if someone could help me to find a solution to extract graphic files from Tales of Eternia Online.

Here's an attachment containing 3 different types of files.

bnd, pkd, mpd.

Thx in advance :)
You do not have the required permissions to view the files attached to this post.
GameZelda
advanced
Posts: 61
Joined: Wed Nov 14, 2007 5:56 pm
Been thanked: 29 times

Post by GameZelda »

Here there are the basic file details about PKD files.

They're used to store files (probably, it means PacKeD)...

File header:
(all field are little endian)

(char[4]) magic "PKDF"
(int) reserved?
(int) version?
(int) number of entries
(int) size of the file table - 4 (not sure what it's used for)
(int) size of the header
(int) size of the file table
(int) number of files (number of entries - 1)

Entries:
All entries have 32 bytes

1st entry
(int) Offset (always 60?)
(20 bytes) SHA1 hash of the block
(int) Filesize
(int) Pointer to the unknown zone

All other entries (files)
(int) Offset
(int) Filesize
(20 bytes) SHA1 hash of the file
(int) Pointer to the unknown zone

I'm not sure about what the unknown zone between the file offsets and the content is used for. Maybe encrypted filenames?
GameZelda
advanced
Posts: 61
Joined: Wed Nov 14, 2007 5:56 pm
Been thanked: 29 times

Post by GameZelda »

Here's an small unpacker (in C). The file names are just obtained from the 4 first characters of every file.

I think that the section after the file names is encrypted, too. If you go to the the part after it, there's something like:

(8 byte) ???
(int) Size of something (probably the filename)
(Filename?)
(int) Size of something
...

In both files, the file name table entries start with the same 4 bytes. This could mean that the filename (if it is the filename) is inverted. I've tried the possible extensions (".clt", ".a??", etc...) but I can't see any relation. Any help?
You do not have the required permissions to view the files attached to this post.
Lamhirh
ultra-n00b
Posts: 5
Joined: Wed Jan 02, 2008 12:13 am

Hmm

Post by Lamhirh »

Thx for the info, gonna try that unpacker :)

I'm still trying to figure out how to decode those graphics.

TOEO I'll rip your sprites, yes I'll do :twisted:
GameZelda
advanced
Posts: 61
Joined: Wed Nov 14, 2007 5:56 pm
Been thanked: 29 times

Post by GameZelda »

I'm not an expert in graphics, but the "bkn" header seems to be:

(char[4]) "BKND" (magic)
(int) version
(int) number of entries
(40 bytes * number of entries) entries

Each entry

(int) filesize
(int) offset
(32 bytes) identifier?

No idea about the files inside it. I think that there's a palette :(
Lamhirh
ultra-n00b
Posts: 5
Joined: Wed Jan 02, 2008 12:13 am

Post by Lamhirh »

Hmm I guess I will have to forget about that game tilesets...

Too bad :(
Rheini
Moderator
Posts: 652
Joined: Wed Oct 18, 2006 9:48 pm
Location: Germany
Has thanked: 19 times
Been thanked: 46 times
Contact:

Post by Rheini »

I doubt that data is filenames. Just look at those 12 bytes that are always the same.

As well I think it must be like that:

Code: Select all

struct FirstEntry {
	uint offset;
	byte SHA1[20];
	uint filesize;
} firstEntry;

struct Entry {
	uint pointerUnknownZone;
	uint offset;
	uint filesize;
	byte SHA1[20];
}entries[numFiles];
Oddly enough the last entry in that file area is only 16 bytes long (cause file data starts after it) though those entries should be 20 bytes in size regarding the structure and the pointer values. :?:
You do not have the required permissions to view the files attached to this post.
Last edited by Rheini on Thu Jan 10, 2008 1:48 am, edited 1 time in total.
Rheini
Moderator
Posts: 652
Joined: Wed Oct 18, 2006 9:48 pm
Location: Germany
Has thanked: 19 times
Been thanked: 46 times
Contact:

Post by Rheini »

Would need the executable and all dlls to say more.
Lamhirh
ultra-n00b
Posts: 5
Joined: Wed Jan 02, 2008 12:13 am

Post by Lamhirh »

:) No problem, here's an attachment with the content of the game exec files folder.

http://www.yvchina.com/files/toeo/toeonline.rar

Do not hesitate to ask for any other files. Some bnd's and other files come in a variety of sizes.
GameZelda
advanced
Posts: 61
Joined: Wed Nov 14, 2007 5:56 pm
Been thanked: 29 times

Post by GameZelda »

I have no idea about how to convert the BND entries to TGA (they're images, right? I will seem completely retarded if they aren't :roll: ).

Here's what I have now :oops:

Code: Select all

struct bnd_image_header
{
       int unknown1;
       int unknown2;
       int unknown3;
       int size_image_data;
       int unknown4;
       int entries_palette;
} __attribute__((packed));
After this, there's some data that seems a palette of 1024 bytes (256 entries * 4 bytes/pixel).

And after this, there should be the image data. But I always get a lot of junk :( :( :(

Also, a thing to extract the contents of the BND file... but it isn't too much useful since we don't know what to do with the files :cry:
You do not have the required permissions to view the files attached to this post.
Lamhirh
ultra-n00b
Posts: 5
Joined: Wed Jan 02, 2008 12:13 am

Post by Lamhirh »

Well thanks for your attempts, I'm currently looking in Japanese forums to see if someone might have found a way to extract those resources.

Tales I'll rip you, yes I will. :x

(If you need some other files to run some tests just tell me I'll upload some more)
Post Reply