I am struggling with this game's file format. I would like to upload a sample of it but it is 1 giant file.
Is there a way to show off the hex?
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Kengo 3 PS2
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
I figured out the structure of the Large binary/Container file
But with all files being nameless identifying all 7,000 files is gonna be a fun (Making coffee)
Code: Select all
struct FileEntry
{
uint32_t offset;
uint32_t size;
};
//Once you have the real data
struct KengoFile
{
uint32_t unkn1;
uint32_t nFiles;
uint32_t unkn2;
uint32_t unkn3;
FileEntry* files; //nFiles];
};
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
Continuing with my fools chase
I have managed to locate a few "TIM2" files i would like to convert these to Bmp or any other format
Also I found a few object files, animation files and what i believe to be text files.
I would love to translate this game to English.
But First things first I will tackle the animation files.
I am having a hard time understanding this format. Its a very random compilation of integers floats and pointers
I have managed to locate a few "TIM2" files i would like to convert these to Bmp or any other format
Also I found a few object files, animation files and what i believe to be text files.
I would love to translate this game to English.
But First things first I will tackle the animation files.
Code: Select all
struct HEADER
{
//Line 1
int unkn1;
int unkn2; //1
int unkn3[2]; //0
unsigned int ptr; // 2 last to lines of file
int unkn4[3]; // 0
int boneCount; // 19
int unkn5; //624
int unkn6[2]; // 0
};
struct BoneName
{
char name[32]; //This seems excessive but it feels like the names are always padded
};
boneNames[header.boneCount];
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
From the model file
This
is supposed to be a samurai straw-hat like the image below
This
Code: Select all
80: 6 304 0 0
96: 1 0 0 0
112: 0 5.47021e-008f 2.0202f 1f
128: 1f 0 0 0
144: 1 0 0 0
160: 2.88792f -2.7351e-008f -0.17823f 1f
176: 1f 0 0 0
192: 1 0 0 0
208: 0.892417f 2.74658f -0.17823f 1f
224: 1f 0 0 0
240: 1 0 0 0
256: -2.33638f 1.69748f -0.17823f 1f
272: 1f 0 0 0
288: 1 0 0 0
304: 0.892417f -2.74658f -0.17823f 1f
320: 1f 0 0 0
336: 1 0 0 0
352: -2.33638f -1.69748f -0.17823f 1f
368: 1f 0 0 0
384: 8 400 0 0
400: 2 1 5 0
416: 0 0 0 0
432: 0 0 0 0
448: 1 2 0 0
464: 0 0 0 0
480: 0 0 0 0
496: 3 2 5 0
512: 0 0 0 0
528: 0 0 0 0
544: 2 3 0 0
560: 0 0 0 0
576: 0 0 0 0
592: 4 1 0 0
608: 0 0 0 0
624: 0 0 0 0
640: 3 5 0 0
656: 0 0 0 0
672: 0 0 0 0
688: 1 4 5 0
704: 0 0 0 0
720: 0 0 0 0
736: 5 4 0 0
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
After researching the obj file format (ant this forum) i realise this might actually be an obj file so i created and rendered a mesh in unity (see attachment: Looks nothing like anything from the game. Probably a lod file?)
from lines 112 - 400
Vx, Vy, Vz, 1
1f, 0, 0, 0 //is this uv?
1, 0, 0, 0 //This could not possible be the normal cos 1 here is an int (why switch)
line 400 as pointed to seems to be triangles
from from the vertex index
from lines 112 - 400
Vx, Vy, Vz, 1
1f, 0, 0, 0 //is this uv?
1, 0, 0, 0 //This could not possible be the normal cos 1 here is an int (why switch)
line 400 as pointed to seems to be triangles
from from the vertex index
You do not have the required permissions to view the files attached to this post.
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
The presence of these many integers in a model file is confusing. Other than faces i see no other uses
- shakotay2
- MEGAVETERAN
- Posts: 4285
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1147 times
- Been thanked: 2242 times
Re: Kengo 3 PS2
using hex2obj (view link in my sig) from this post:
viewtopic.php?f=16&t=11404&p=93819&hilit=hex2obj#p93819:
(I used little endian (litE) for file 000019576832 although I thought PS2 files were using big endian?)
(Not to confuse: the vertex "floats x, y, z" are in a special format named IEEE-754
and are converted to floats -5.959999 -0.000001 5.099999 by hex2obj.)
viewtopic.php?f=16&t=11404&p=93819&hilit=hex2obj#p93819:
(I used little endian (litE) for file 000019576832 although I thought PS2 files were using big endian?)
(Not to confuse: the vertex "floats x, y, z" are in a special format named IEEE-754
and are converted to floats -5.959999 -0.000001 5.099999 by hex2obj.)
You do not have the required permissions to view the files attached to this post.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
Thank you very much. Going by this logic it seems the first file i gave you isnt an animation file but rather a model file
Face Count
F50 : 112
UV
F70
The vertex count is
2B0 : 58
same "36"
These were the values I got. The image was nonsense. Maybe i made a mistake
Face Count
F50 : 112
UV
F70
The vertex count is
2B0 : 58
same "36"
These were the values I got. The image was nonsense. Maybe i made a mistake
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
I wrote the last post while fighting sleep it might be 100% inaccurate. Apologies.
I made an assumption that this was an animation file.
The format is eerily similar to the 3d objects but halfway it become inconsistent. It is the biggest of all the files hence the most difficult.
Any assistance would be cherished
I made an assumption that this was an animation file.
The format is eerily similar to the 3d objects but halfway it become inconsistent. It is the biggest of all the files hence the most difficult.
Any assistance would be cherished
- shakotay2
- MEGAVETERAN
- Posts: 4285
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1147 times
- Been thanked: 2242 times
Re: Kengo 3 PS2
well, an animation file without the suiting model file does not make much sense.
Then do you know the english translation of
KATA, SAKO, UDE, TE, MUNE, HIZA, MOMO, ASI?
Could be the bones.
Here's a rough structure of the supposed animation file: There might be positons/rotations contained but without knowing even the count of bones
it doesn't make sense to continue analysis imho.
Then do you know the english translation of
KATA, SAKO, UDE, TE, MUNE, HIZA, MOMO, ASI?
Could be the bones.
Here's a rough structure of the supposed animation file: There might be positons/rotations contained but without knowing even the count of bones
it doesn't make sense to continue analysis imho.
You do not have the required permissions to view the files attached to this post.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
Te - Hand
Mune - Chest
Hiza - Knee
Kata - Shoulder
Ude - Arm
Kao - Face
Asi - foot
Kosi - loweback/waist/hip
Momo - thigh
Sako - Collar bone/ Clavicle
There are 19 bones if you include BODY_
This was what led me to believe this was a skeleton of some sort.
It says it at x020 (0020h).
Mune - Chest
Hiza - Knee
Kata - Shoulder
Ude - Arm
Kao - Face
Asi - foot
Kosi - loweback/waist/hip
Momo - thigh
Sako - Collar bone/ Clavicle
There are 19 bones if you include BODY_
This was what led me to believe this was a skeleton of some sort.
It says it at x020 (0020h).
- shakotay2
- MEGAVETERAN
- Posts: 4285
- Joined: Fri Apr 20, 2012 9:24 am
- Location: Nexus, searching for Jim Kirk
- Has thanked: 1147 times
- Been thanked: 2242 times
Re: Kengo 3 PS2
thx. Well, we have 163 of these 01000000... blocks and 292 of the 02000000.., in sum 455.
If it were 456 it would fit to 24*19.
From 0x6C70 it looks like mesh data (face indices starting from 6C60) but sadly it isn't.
Copy the following 6 lines into an empty text file and rename it to whatever.H2O.
0x6C60 453
Vb1
48 99
0x6C70 453
040000
0x0 255
Enter 36 as a face indices offset as before.
Load the animation file and the H2O file into hex2obj.
Press the "noPtC"-button to change to point cloud view and press the "mesh"-button.
No decent mesh, not much sense to continue.
If it were 456 it would fit to 24*19.
From 0x6C70 it looks like mesh data (face indices starting from 6C60) but sadly it isn't.
Copy the following 6 lines into an empty text file and rename it to whatever.H2O.
0x6C60 453
Vb1
48 99
0x6C70 453
040000
0x0 255
Enter 36 as a face indices offset as before.
Load the animation file and the H2O file into hex2obj.
Press the "noPtC"-button to change to point cloud view and press the "mesh"-button.
No decent mesh, not much sense to continue.
Last edited by shakotay2 on Fri May 23, 2014 10:46 pm, edited 1 time in total.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
-
- mega-veteran
- Posts: 177
- Joined: Wed Mar 02, 2011 10:38 pm
- Has thanked: 10 times
- Been thanked: 58 times
Re: Kengo 3 PS2
Thanks a lot for your help so far. I just have one question about Face data needing to skip so many bytes (for example 36 in the previous examples).
Is that not some what wasteful? or is other data naturally stored in between the indices.
Lastly just based on general experience do you know of any file formats that has a bunch of float mostly 1's (00 00 80 3F)
Thanks again
Is that not some what wasteful? or is other data naturally stored in between the indices.
Lastly just based on general experience do you know of any file formats that has a bunch of float mostly 1's (00 00 80 3F)
Thanks again