I managed to import modded graphics from a .fsh file into a PS2 .ssh file using a hex editor.
I made it work in EA Graphics Manager.
Hope this can lead to a possible TRF mod on the PS2 version.
I hope Dmitri can find an easier way to do this.
Skip to the bottom if you don't want to know the technical parts.
I tested it out on file: e7f1aa3feada2aea.... which is the Russia - Left Minikit
Using 010 editor, I set the line width to 16 bytes per line.
Getting to understand the PS2's .SSH file structure.
The first two lines of the SSH file contain the file header:
4 bytes (char) - signature // "SHPI" for FSH Files
// "SHPS" or "ShpS" for SSH Files
In this files case it is 53 48 50 53 (SHPS)
4 bytes (uint32 Hex value) - total file size
In this files case it is A0 05 01 00 (Total File Size which converted to decimal =66976 bytes).
4 bytes (uint32) - number of entries (01 00 00 00)
4 bytes (char) - directory ID //
This file displays G359
The next line (Starting at byte 16) displays
6B 72 73 61 70 00 00 00 42 75 79 20 45 52 54 53
when displayed as characters = krsap...Buy ERTS
From Line 32 - byte 111 there should be 00's (80 of them).
The Line starting at byte 112 brings us to the entry type / record id which is a header that looks like this;
02 10 00 01 00 01 00 01 00 00 00 00 00 00 00 00
According to
https://web.archive.org/web/2023081...index.php/EA_SSH_FSH_Image#Supported_Programs
This record id relates to the following image data;
2 / 0x02 unknown 8-bit image with 256-colors swapped palette
The next 65536 bytes are our raw image file. (From byte 112 through to byte 65663 )
Byte 65664 is another header which looks like this
21 10 04 00 00 01 01 00 00 01 00 00 00 20 00 00
This is the header for our 256 color palette that goes along with our raw image file.
33 / 0x21 unknown 256-colors palette
The next 1024 bytes are our palette data.
Byte 66704 is the header for the EA Metal.bin attachment
69 00 01 00 F0 00 10 00 00 00 00 00 00 00 00 00
I did not modify this data and left it as it is.
The short version.
I managed to convert a .fsh file to a .ssh file by:
1.) Opening a modded .fsh file from the TRF24 mod.
2.) Deleted the first two lines (32 bytes) of the .fsh file.
3.) Opened the corresponding ps2 .ssh file.
4.) Copied the first 7 lines (112 bytes).
5.) Pasted (inserted) at the top of the .fsh file.
6.) Corrected the overall file size in hex (bytes 5 - 8).
7.) Saved the file as .ssh
Tried to change the format from an 8 bit image with 256 color palette to a DXT1 file.
The graphics did not show on the PS2. Maybe because I used the wrong image format.
I can't figure out how to create a raw image and 1024 byte pallette from a .bmp or .png that
is compatible with the PS2.
I just dont want to muck around with the PS2's raw image + 256 color palettes and want to straight convert a .fsh to .ssh