SSX Tricky - Help with texture modding
-
- Posts: 9
- Joined: Thu Jan 31, 2019 1:58 pm
SSX Tricky - Help with texture modding
Hello folks,
i'm currently working on a mod for "SSX Tricky" on the PS2. I've managed to replace the final release board textures with the ones used in the late beta stage. (They can be found in the SSX Tricky Demo released on the "Winter Jampack 2001" Demo-Disc). I just replaced the final games' "TEXPS2.big" file with the one from the demo disc.
However, many boards use placeholder textures (Plain white boards with the text "board1" to "board12" on them.) I'd like to replace those with the ones used in the final game.
My problem:
I can't find a working program to extract the .ssh textures out of the "TEXPS2.big" file. The program "EAGT" only extracts a 0byte sized file with the extension ".lst" and using QuickBMS, I get the following errors:
(Using Big4 script:)
- signature of 3 bytes at offset 0x0000000000000000 doesn't match the one
expected by the script:
this one: "'"
c0 fb 27 ..'
expected: "BIG"
42 49 47 BIG
- 0 files found in 0 seconds
coverage file 0 0% 3 5247378 . offset 0000000000000003
(Using EB script:)
Error: the uncompressed data (-1) is bigger than the allocated buffer (2594305)
Last script line before the error or that produced the error:
227 clog NAME OFFSET ZSIZE SIZE
There's also the program "finalbig". It didn't detect the "TEXPS2.big" file format right away, but asked to "try anyway" and listed the textures. However when I try to extract these, all of them are around 500mb big (wich doesn't make sense to me) and they can't be opened in eagt (Program crashes with "runtime error '9' : subscript out of range"
Here's proof of what I managed so far:
https://www.merqurycity.com/ssx_forum/v ... 69#p333069
i'm currently working on a mod for "SSX Tricky" on the PS2. I've managed to replace the final release board textures with the ones used in the late beta stage. (They can be found in the SSX Tricky Demo released on the "Winter Jampack 2001" Demo-Disc). I just replaced the final games' "TEXPS2.big" file with the one from the demo disc.
However, many boards use placeholder textures (Plain white boards with the text "board1" to "board12" on them.) I'd like to replace those with the ones used in the final game.
My problem:
I can't find a working program to extract the .ssh textures out of the "TEXPS2.big" file. The program "EAGT" only extracts a 0byte sized file with the extension ".lst" and using QuickBMS, I get the following errors:
(Using Big4 script:)
- signature of 3 bytes at offset 0x0000000000000000 doesn't match the one
expected by the script:
this one: "'"
c0 fb 27 ..'
expected: "BIG"
42 49 47 BIG
- 0 files found in 0 seconds
coverage file 0 0% 3 5247378 . offset 0000000000000003
(Using EB script:)
Error: the uncompressed data (-1) is bigger than the allocated buffer (2594305)
Last script line before the error or that produced the error:
227 clog NAME OFFSET ZSIZE SIZE
There's also the program "finalbig". It didn't detect the "TEXPS2.big" file format right away, but asked to "try anyway" and listed the textures. However when I try to extract these, all of them are around 500mb big (wich doesn't make sense to me) and they can't be opened in eagt (Program crashes with "runtime error '9' : subscript out of range"
Here's proof of what I managed so far:
https://www.merqurycity.com/ssx_forum/v ... 69#p333069
-
- Posts: 290
- Joined: Fri Mar 30, 2018 2:48 am
Re: SSX Tricky - Help with texture modding
Hey This should probably be moved to Game Archive, but don't worry about it.
Also, upload one or two of the .big files and post a link here and I can take a look at it.
Also, upload one or two of the .big files and post a link here and I can take a look at it.
-
- Posts: 9
- Joined: Thu Jan 31, 2019 1:58 pm
Re: SSX Tricky - Help with texture modding
Alright, so i'd need the folowing texture files out of the beta "TEXPS2.big" file. (I named it beta-TEXPS2.big):
brodi1_bord.ssh
brodi7_bord.ssh
eddie1_bord.ssh
eddie2_bord.ssh
eddie3_bord.ssh
eddie4_bord.ssh
eddie5_bord.ssh
eddie6_bord.ssh
eddie7_bord.ssh
eddie8_bord.ssh
eddie9_bord.ssh
eddie11_bord.ssh
marisol1_bord.ssh
marisol2_bord.ssh
marisol3_bord.ssh
marisol4_bord.ssh
marisol5_bord.ssh
marisol6_bord.ssh
marisol7_bord.ssh
marisol8_bord.ssh
marisol9_bord.ssh
psymon2_bord.ssh
seeiah1_bord.ssh
jp1_bord.ssh
luther1_bord.ssh
luther2_bord.ssh
luther3_bord.ssh
luther4_bord.ssh
luther5_bord.ssh
luther6_bord.ssh
luther7_bord.ssh
mac1_bord.ssh
moby1_bord.ssh
zoe1_bord.ssh
mmm1_bord.ssh
and have them replace the ones in the final TEXPS2.big (I left it named like that)
Here are the 2 .big files:
https://mega.nz/#!wEtARSZB!WEMhvMg6gvaG ... Dp4VB_Mr4s
brodi1_bord.ssh
brodi7_bord.ssh
eddie1_bord.ssh
eddie2_bord.ssh
eddie3_bord.ssh
eddie4_bord.ssh
eddie5_bord.ssh
eddie6_bord.ssh
eddie7_bord.ssh
eddie8_bord.ssh
eddie9_bord.ssh
eddie11_bord.ssh
marisol1_bord.ssh
marisol2_bord.ssh
marisol3_bord.ssh
marisol4_bord.ssh
marisol5_bord.ssh
marisol6_bord.ssh
marisol7_bord.ssh
marisol8_bord.ssh
marisol9_bord.ssh
psymon2_bord.ssh
seeiah1_bord.ssh
jp1_bord.ssh
luther1_bord.ssh
luther2_bord.ssh
luther3_bord.ssh
luther4_bord.ssh
luther5_bord.ssh
luther6_bord.ssh
luther7_bord.ssh
mac1_bord.ssh
moby1_bord.ssh
zoe1_bord.ssh
mmm1_bord.ssh
and have them replace the ones in the final TEXPS2.big (I left it named like that)
Here are the 2 .big files:
https://mega.nz/#!wEtARSZB!WEMhvMg6gvaG ... Dp4VB_Mr4s
-
- Posts: 290
- Joined: Fri Mar 30, 2018 2:48 am
Re: SSX Tricky - Help with texture modding
I made a script for that type of package now.
Put that into a .txt file and rename to .bms and run it with QuickBMS and it will export the ssh files from the big file.
Code: Select all
endian big
idstring \xC0\xFB
goto 4
get AMOUNT short
goto 7
get OFFSET0 short
get DUMMY0 byte
get SIZE0 short
get NAME0 string
log NAME0 OFFSET0 SIZE0
for i = 1 < AMOUNT - 1
goto -1 0 SEEK_CUR
get OFFSET long
get DUMMY1 byte
get SIZE short
get NAME string
log NAME OFFSET SIZE
next i
Put that into a .txt file and rename to .bms and run it with QuickBMS and it will export the ssh files from the big file.
Last edited by GHFear on Fri Feb 01, 2019 10:10 am, edited 1 time in total.
-
- Posts: 9
- Joined: Thu Jan 31, 2019 1:58 pm
Re: SSX Tricky - Help with texture modding
- signature of 6 bytes at offset 0x00000000 doesn't match the one
expected by the script:
this one: "'?"
c0 fb 27 96 01 3f ..'..?
expected: "xC0xFB"
78 43 30 78 46 42 xC0xFB
- 0 files found in 0 seconds
coverage file 0 0% 6 5247378 . offset 00000006
expected by the script:
this one: "'?"
c0 fb 27 96 01 3f ..'..?
expected: "xC0xFB"
78 43 30 78 46 42 xC0xFB
- 0 files found in 0 seconds
coverage file 0 0% 6 5247378 . offset 00000006
-
- Posts: 290
- Joined: Fri Mar 30, 2018 2:48 am
Re: SSX Tricky - Help with texture modding
on what file? a .big file?
Upload the file that doesn't work so I can see why.
Upload the file that doesn't work so I can see why.
-
- Posts: 290
- Joined: Fri Mar 30, 2018 2:48 am
Re: SSX Tricky - Help with texture modding
try this attached script: it's my script and it works for both the files you sent.
Maybe you copy pasted it a little *SPAM* x) weird spaces and such.
Maybe you copy pasted it a little *SPAM* x) weird spaces and such.
-
- Posts: 9
- Joined: Thu Jan 31, 2019 1:58 pm
Re: SSX Tricky - Help with texture modding
Thanks alot. Yes, that script worked
-
- Posts: 706
- Joined: Fri Aug 08, 2014 1:06 am
Re: SSX Tricky - Help with texture modding
this what i got from it, streamlined a bit.
Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
endian big
get FOLDER basename
idstring "\xC0\xFB"
get STR_TBL_SZ short
get FILES short
for i = 0 < FILES
get OFFSET threebyte
get SIZE threebyte
get NAME string
string NAME p "%s\%s" FOLDER NAME
log NAME OFFSET SIZE
next i
-
- Posts: 290
- Joined: Fri Mar 30, 2018 2:48 am
Re: SSX Tricky - Help with texture modding
Acewell wrote:this what i got from it, streamlined a bit.Code: Select all
# script for QuickBMS http://aluigi.altervista.org/quickbms.htm
endian big
get FOLDER basename
idstring "\xC0\xFB"
get STR_TBL_SZ short
get FILES short
for i = 0 < FILES
get OFFSET threebyte
get SIZE threebyte
get NAME string
string NAME p "%s\%s" FOLDER NAME
log NAME OFFSET SIZE
next i
I gotta see if that works. I did the same thing and it told me threebytes were invalid or something when I ran the script. x) Thats way cleaner and would work for sizes larger than a Short. ^^
Edit: I have no idea what I did wrong when I tried threebytes, but they worked fine now. I am new to this, so I am still learning Thanks, Acewell.
-
- Posts: 9
- Joined: Thu Jan 31, 2019 1:58 pm
Re: SSX Tricky - Help with texture modding
Alright, some time has passed and I've started to work on this again. I'm fairly happy with the results so far, but theres still a few bugs I want to fix.
For example: for some reason the beta textures have the character "Mac" listed as "Marty" on one of the billboards (Marty was only used as a character in PAL regions).
I managed to extract the textures from the corresponding .big file using the script above. But for some reason I can't re-import any .ssh file back into the .big archive.
It always comes up with the error: "signature of 2 bytes at offset 0x00000000 doesn't match the one
expected by the script"
I've attached both the .big archive and 2 example .ssh textures i'd like to reimport into it. Maybe you guys can help me out with an import script.
Here's a WIP of what i've managed to do so far:
https://www.youtube.com/watch?v=cAIZSCTuIHA
For example: for some reason the beta textures have the character "Mac" listed as "Marty" on one of the billboards (Marty was only used as a character in PAL regions).
I managed to extract the textures from the corresponding .big file using the script above. But for some reason I can't re-import any .ssh file back into the .big archive.
It always comes up with the error: "signature of 2 bytes at offset 0x00000000 doesn't match the one
expected by the script"
I've attached both the .big archive and 2 example .ssh textures i'd like to reimport into it. Maybe you guys can help me out with an import script.
Here's a WIP of what i've managed to do so far:
https://www.youtube.com/watch?v=cAIZSCTuIHA
-
- Posts: 9
- Joined: Thu Jan 31, 2019 1:58 pm
-
- Posts: 2
- Joined: Tue Oct 25, 2022 9:28 pm
Re: SSX Tricky - Help with texture modding
What about code in :
https://github.com/GlitcherOG/SSX-Collection-Multitool
https://github.com/SSXModding/bigfile
Have they made tools to re-compress the big file?
I made code to extract the big files and decompress them, as I found quickbms only extracted, did not decompress - which is need for some files. I found that after using quickbms I then needed to run to QFS2FSH.EXE on each file to decompress (the Need for Speed game compression). I guess I build that tool in the past? Or found it somewhere. The code is:
https://sites.google.com/site/2torcs/la ... misc-stuff
But they also talk about how to go the other way, to make an FSH file from a directory of bitmaps using Fshtool, so that may also work for Ssh files:
https://sites.google.com/site/2torcs/la ... o---readme
My code to extract and decompress all the big files (which also correct extracts the ssh files from all big files in SSX and SSX tricky) is here:
https://github.com/SsxMapper/SSXandTrickyMapExtractor
Which also extracts the curved surfaces from the SSX and SSX Tricky maps in a format that can be loaded into blender:
https://youtu.be/d3-8wFibjC4
Be great if someone can write a tool using that code to go the other way and correctly compress and pack the big files.
https://github.com/GlitcherOG/SSX-Collection-Multitool
https://github.com/SSXModding/bigfile
Have they made tools to re-compress the big file?
I made code to extract the big files and decompress them, as I found quickbms only extracted, did not decompress - which is need for some files. I found that after using quickbms I then needed to run to QFS2FSH.EXE on each file to decompress (the Need for Speed game compression). I guess I build that tool in the past? Or found it somewhere. The code is:
https://sites.google.com/site/2torcs/la ... misc-stuff
But they also talk about how to go the other way, to make an FSH file from a directory of bitmaps using Fshtool, so that may also work for Ssh files:
https://sites.google.com/site/2torcs/la ... o---readme
My code to extract and decompress all the big files (which also correct extracts the ssh files from all big files in SSX and SSX tricky) is here:
https://github.com/SsxMapper/SSXandTrickyMapExtractor
Which also extracts the curved surfaces from the SSX and SSX Tricky maps in a format that can be loaded into blender:
https://youtu.be/d3-8wFibjC4
Be great if someone can write a tool using that code to go the other way and correctly compress and pack the big files.
-
- Posts: 2
- Joined: Tue Oct 25, 2022 9:28 pm
Re: SSX Tricky - Help with texture modding
There is also
- QFS2FSH, which expands compressed QFS files into uncompressed FSH files
- FSH2QFS, which does the reverse job of creating compressed QFS files
- FSH2BMP, which converts a FSH file into a directory of Windows bitmaps.
- BMP2FSH, which does the reverse job of reassembling a FSH file.
In https://drive.google.com/drive/folders/ ... _antivirus
I've not tried it (or know if it is safe to use). Source code might be here:
http://www.math.polytechnique.fr/cmat/a ... ex.us.html
under QFS Suite source code
- QFS2FSH, which expands compressed QFS files into uncompressed FSH files
- FSH2QFS, which does the reverse job of creating compressed QFS files
- FSH2BMP, which converts a FSH file into a directory of Windows bitmaps.
- BMP2FSH, which does the reverse job of reassembling a FSH file.
In https://drive.google.com/drive/folders/ ... _antivirus
I've not tried it (or know if it is safe to use). Source code might be here:
http://www.math.polytechnique.fr/cmat/a ... ex.us.html
under QFS Suite source code
-
- Posts: 1
- Joined: Wed Dec 07, 2022 12:27 pm
Re: SSX Tricky - Help with texture modding
Found this thread my accidently googling my github linkssxmapper wrote:What about code in :
https://github.com/GlitcherOG/SSX-Collection-Multitool
https://github.com/SSXModding/bigfile
Have they made tools to re-compress the big file?
To answer anyone who finds this thread, yes the multitool can re-compress the .big files and make custom .ssh texture files