SSX Tricky - Help with texture modding

Textures, recreate headers, conversions, algorithms and parsing of image files
NightHawk
Posts: 9
Joined: Thu Jan 31, 2019 1:58 pm

SSX Tricky - Help with texture modding

Post by NightHawk »

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
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

Re: SSX Tricky - Help with texture modding

Post by GHFear »

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.
NightHawk
Posts: 9
Joined: Thu Jan 31, 2019 1:58 pm

Re: SSX Tricky - Help with texture modding

Post by NightHawk »

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
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

Re: SSX Tricky - Help with texture modding

Post by GHFear »

I made a script for that type of package now.

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.
NightHawk
Posts: 9
Joined: Thu Jan 31, 2019 1:58 pm

Re: SSX Tricky - Help with texture modding

Post by NightHawk »

- 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

:(
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

Re: SSX Tricky - Help with texture modding

Post by GHFear »

on what file? a .big file?

Upload the file that doesn't work so I can see why.
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

Re: SSX Tricky - Help with texture modding

Post by GHFear »

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.
NightHawk
Posts: 9
Joined: Thu Jan 31, 2019 1:58 pm

Re: SSX Tricky - Help with texture modding

Post by NightHawk »

Thanks alot. Yes, that script worked :D
Acewell
Posts: 706
Joined: Fri Aug 08, 2014 1:06 am

Re: SSX Tricky - Help with texture modding

Post by Acewell »

this what i got from it, streamlined a bit. :D

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
GHFear
Posts: 290
Joined: Fri Mar 30, 2018 2:48 am

Re: SSX Tricky - Help with texture modding

Post by GHFear »

Acewell wrote:this what i got from it, streamlined a bit. :D

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.
NightHawk
Posts: 9
Joined: Thu Jan 31, 2019 1:58 pm

Re: SSX Tricky - Help with texture modding

Post by NightHawk »

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
NightHawk
Posts: 9
Joined: Thu Jan 31, 2019 1:58 pm

Re: SSX Tricky - Help with texture modding

Post by NightHawk »

bump
ssxmapper
Posts: 2
Joined: Tue Oct 25, 2022 9:28 pm

Re: SSX Tricky - Help with texture modding

Post by ssxmapper »

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.
ssxmapper
Posts: 2
Joined: Tue Oct 25, 2022 9:28 pm

Re: SSX Tricky - Help with texture modding

Post by ssxmapper »

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
GlitcherOG
Posts: 1
Joined: Wed Dec 07, 2022 12:27 pm

Re: SSX Tricky - Help with texture modding

Post by GlitcherOG »

ssxmapper 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?
Found this thread my accidently googling my github link
To answer anyone who finds this thread, yes the multitool can re-compress the .big files and make custom .ssh texture files