ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Tue Jul 14, 2020 11:48 am

All times are UTC




Post new topic  Reply to topic  [ 16 posts ] 
Author Message
PostPosted: Mon Feb 10, 2020 4:57 pm 

Joined: Wed Sep 12, 2018 2:22 am
Posts: 311
I would like to convert these into something viewable please, I think they may be texture/image files.


Attachments:
GCT.zip [287.39 KiB]
Downloaded 222 times
Top
   
PostPosted: Fri Feb 14, 2020 9:15 am 

Joined: Tue Sep 01, 2015 9:44 am
Posts: 67
Please try this noesis script.

Edit:
Updated.
Added texture type identification.


Attachments:
File comment: Added texture type identification.
tex_StarWarsBountyHunter_gct.zip [1.78 KiB]
Downloaded 185 times


Last edited by Allen on Thu Feb 20, 2020 8:18 am, edited 2 times in total.
Top
   
PostPosted: Fri Feb 14, 2020 10:46 pm 
User avatar

Joined: Fri Aug 08, 2014 1:06 am
Posts: 684
everything works fine in the smaller gct files but the base
offset variable breaks in the larger level gct file.
i think there is a padding calculation to be made.
sample here:
https://www.mediafire.com/file/pfu416c3 ... e.zip/file

_________________
Quickbms.com link thread
Search bms scripts


Top
   
PostPosted: Sat Feb 15, 2020 12:11 am 

Joined: Wed Sep 12, 2018 2:22 am
Posts: 311
Acewell wrote:
everything works fine in the smaller gct files but the base
offset variable breaks in the larger level gct file.
i think there is a padding calculation to be made.
sample here:
https://www.mediafire.com/file/pfu416c3 ... e.zip/file

Quite right. Not all of the texture files are perfectly presented. Some half one half of an image on the other side.


Top
   
PostPosted: Sat Feb 15, 2020 12:23 am 
User avatar

Joined: Fri Aug 08, 2014 1:06 am
Posts: 684
if you change line 24 from this:
Code:
baseOfs = bs.tell()+28

to this it works out for that larger sample:
Code:
baseOfs = bs.tell()+2876

it seems some padding calculation is needed only between the header table and data.

i'll see if i can find more larger samples to compare.

_________________
Quickbms.com link thread
Search bms scripts


Top
   
PostPosted: Sat Feb 15, 2020 12:28 am 

Joined: Wed Sep 12, 2018 2:22 am
Posts: 311
Acewell wrote:
if you change line 24 from this:
Code:
baseOfs = bs.tell()+28

to this it works out for that larger sample:
Code:
baseOfs = bs.tell()+2876

it seems some padding calculation is needed between the header table and data.

i'll see if i can find more larger samples to compare.


This is the image problem I am talking about.


Attachments:
start_03.png [65.2 KiB]
Not downloaded yet
Top
   
PostPosted: Sat Feb 15, 2020 12:42 am 
User avatar

Joined: Fri Aug 08, 2014 1:06 am
Posts: 684
Puterboy1 wrote:
This is the image problem I am talking about.

which file?

_________________
Quickbms.com link thread
Search bms scripts


Top
   
PostPosted: Sat Feb 15, 2020 1:55 am 

Joined: Wed Sep 12, 2018 2:22 am
Posts: 311
Acewell wrote:
Puterboy1 wrote:
This is the image problem I am talking about.

which file?

Did you not see the image I put up? It has two halves on the wrong side.

download/file.php?id=8013


Top
   
PostPosted: Sat Feb 15, 2020 3:02 am 
User avatar

Joined: Fri Aug 08, 2014 1:06 am
Posts: 684
Puterboy1 wrote:
Did you not see the image I put up? It has two halves on the wrong side.

and i asked you which file, as in file name. no one can do a thing with the image you posted.

edit
the problem you see was likely caused by the base offset
issue from the first script that i was already discussing with Allen.
you got to give him time to fix it before you go exporting any images. :)

_________________
Quickbms.com link thread
Search bms scripts


Last edited by Acewell on Sat Feb 15, 2020 3:53 am, edited 1 time in total.

Top
   
PostPosted: Sat Feb 15, 2020 3:11 am 

Joined: Tue Sep 01, 2015 9:44 am
Posts: 67
Acewell wrote:
everything works fine in the smaller gct files but the base
offset variable breaks in the larger level gct file.
i think there is a padding calculation to be made.
sample here:
https://www.mediafire.com/file/pfu416c3 ... e.zip/file

Acewell, thanks for correcting me!
I thought the file had at most 2 pictures. At present, no good padding calculation algorithm has been found, and only the "file size minus the header data size" can be used for calculation.

The script has been updated.


Top
   
PostPosted: Sat Feb 15, 2020 3:43 am 
User avatar

Joined: Fri Aug 08, 2014 1:06 am
Posts: 684
all is working good so far, thanks Allen! :D

_________________
Quickbms.com link thread
Search bms scripts


Top
   
PostPosted: Sat Feb 15, 2020 7:34 pm 

Joined: Wed Sep 12, 2018 2:22 am
Posts: 311
Acewell wrote:
all is working good so far, thanks Allen! :D

If you wanted the file with the imagery on the wrong side, here it is.


Attachments:
start_03.zip [19.23 KiB]
Downloaded 216 times
Top
   
PostPosted: Sun Feb 16, 2020 1:46 am 
User avatar

Joined: Fri Aug 08, 2014 1:06 am
Posts: 684
Puterboy1 wrote:
If you wanted the file with the imagery on the wrong side, here it is.

that image is correct, that is the way the data is stored.
there is likely another file telling the game engine how to handle it.

@Allen
i believe the first byte (your texUnk) in the header description is for the image type,
for example diffuse, normal, specular, etc.
it looks consistent with the images, especially in the larger archives.
you can use this info to append a letter to each image name when exported
to distinguish them since there are multiple images with same names.

_________________
Quickbms.com link thread
Search bms scripts


Top
   
PostPosted: Sun Feb 16, 2020 2:16 am 

Joined: Wed Sep 12, 2018 2:22 am
Posts: 311
Acewell wrote:
Puterboy1 wrote:
If you wanted the file with the imagery on the wrong side, here it is.

that image is correct, that is the way the data is stored.
there is likely another file telling the game engine how to handle it.

@Allen
i believe the first byte (your texUnk) in the header description is for the image type,
for example diffuse, normal, specular, etc.
it looks consistent with the images, especially in the larger archives.
you can use this info to append a letter to each image name when exported
to distinguish them since there are multiple images with same names.

I hope this means that images like the one I presented will be presented and exported correctly. Also, since either of you seem to have the game, have you checked the other files for anything interesting or a solution?


Top
   
PostPosted: Sun Feb 16, 2020 7:06 am 

Joined: Tue Sep 01, 2015 9:44 am
Posts: 67
Acewell wrote:
@Allen
i believe the first byte (your texUnk) in the header description is for the image type,
for example diffuse, normal, specular, etc.
it looks consistent with the images, especially in the larger archives.
you can use this info to append a letter to each image name when exported
to distinguish them since there are multiple images with same names.


Thank you, I think you are right!
After analysis, are the following types correct? Actually I don't know much about the type of texture.
texType:
0=diffuse no alpha
0x2=specular alpha(black color)
0x4=Reflection
0x10=diffuse alpha(black color)
0x20=DXT1 alpha
0x80=atlas or duffuse no alpha
0x90=atlas or duffuse alpha(black color)

When equal to 0x80 or 0x90, I think if there is another type of suffix file with the same name, it is a textures atlas, otherwise it is a diffuse map.

Puterboy1 wrote:
I hope this means that images like the one I presented will be presented and exported correctly. Also, since either of you seem to have the game, have you checked the other files for anything interesting or a solution?


I don't have a game, I only have a sample from you.


Top
   
PostPosted: Thu Feb 20, 2020 8:24 am 

Joined: Tue Sep 01, 2015 9:44 am
Posts: 67
Acewell wrote:
Puterboy1 wrote:
If you wanted the file with the imagery on the wrong side, here it is.

that image is correct, that is the way the data is stored.
there is likely another file telling the game engine how to handle it.

@Allen
i believe the first byte (your texUnk) in the header description is for the image type,
for example diffuse, normal, specular, etc.
it looks consistent with the images, especially in the larger archives.
you can use this info to append a letter to each image name when exported
to distinguish them since there are multiple images with same names.


I added a numeric type suffix to the file name to distinguish it.
People can modify it according to their own requirements.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 16 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited