Jump to content

Convert/Port PS2 Textures to PSP from Driver Parallel Lines to Driver 76, difficulties with correctly displaying


Cerrano

Recommended Posts

Hello everyone, I am new here and would like to introduce myself a little bit before going to the main part of the topic.
In October last year I started a project with disassembling a PS2 game called Driver Parallel Lines and a little bit later the prequel of it, a PSP game called Driver 76. As a person with basically no prior experience in doing things like these, the start was difficult for me, but because I am really interested in turning my idea into reality, I invested really much time in this project, and learned interesting and possibly important things. I also tried out many cool programs for modifying/working with different kinds of files.
Since I found my way to the raw textures my current main goal is to modify the Textures from Driver Parallel Lines (PS2) so they get displayed correctly in Driver 76 (PSP).
Why do I think inserting these textures from a PS2 into PSP should work??
Because these two games are basically the same and use many same textures, Driver 76 runs fine with these textures (I tried it out), but they don't look how they should, that's why I assume the keyword of this topic might be Swizzling?

The main part of this topic
I started with the easiest part, which in my opinion is the HUD.
This is how the stock Hud looks in Driver 76:
StockHUD.png.27682ffd9d4f0031c8c0bd108e9f8a62.png
 

At first I would like to describe the whole picture of this Topic to understand what is what.

Driver Parallel Lines (PS2) has two eras in it's gameplay, the year 1978 and the year 2006, both eras have it's unique textures, including two types of the HUD.
At first I tried the easiest what I could imagine, just effortlessly pasting the 1978 HUD files [a .gfx file (the textures) and a .bin file (the function/moving elements of the HUD)] into Driver 76, and this is how it looked:
1978HUD.png.b978f7e47484fbc9dc0819696b6cb4b5.png
Not what I expected, but hey, the PS2 .bin file of the 1978 HUD works fine on the PSP, I can see how the speedometer works, the mileage changes, and also the health bar works fine, which now acts like in Driver Parallel Lines.

A little bit later I noticed something very interesting. Since Driver 76 has only one era (the year 1976) not two eras like in Parallel Lines (1978 and 2006), it logically should only have the HUD files for 1976, but for some reason it has the files for 1976 and for 2006! I thought this is very good, because this gives a big opportunity to directly compare the PSP version with the PS2 version of the exact same files, which might help to understand the differences.
Since I discovered this, I definitely had to try out both files of the 2006 HUD, the PSP version and the PS2 version. The .bin file doesn't work for some reason, I assume it might be directly bound with the 2006 stuff which is not present here, but the function is not important now, since I am aiming to find a solution for the graphical part.

Here are the screenshots of both versions:
2006 HUD PSP file from Driver 76

2006HUD76PSP.png.71c7a47aa113c156e86b8c26310df23f.png

2006 HUD PS2 File from Driver Parallel Lines

2006HUDDPLPS2.png.318d3fb7f2854804a11800c2d82492a4.png

I think this is enough to understand what the trouble currently is, that's why I will continue with the results which I was able to find, when comparing + analysing these files and trying to modify the PS2 file.

As an example, I decided to work with the texture of the ingame loading icon (a CD), which looks like this in both games:
Howitshouldlook.png.c5403ecbd5da135f42d173051b8740d9.png  

Here are the texture files:Texture files.zip

Basic info about this CD texture:
-Both textures are exactly the same and are used for the same purpose in both games on both platforms.
-Size and offsets are for both files identical
-Total file size: 5120 Bytes
-Palette offset:

     -(DEC): 0-1024
     -(HEX): 0-400
-Graphics/Texture offset:
     -(DEC): 1024-5120
     -(HEX): 400-1400
-Raw Texture size (without palette):
     - 4096 Bytes

The differences which I noticed:
*When viewing in HxD*

-Palette only:
First & Last two lines are identical, 
everything between becomes reordered like this:
1->3
2->4
3->1
4->2
identical<->identical
identical<->identical
identical<->identical
identical<->identical
1->3
2->4
3->1
4->2
And so on...

Screenshot of the comparison with the differences that I found:
Palettedifference.thumb.png.ce7a7c48f37b39cbf9f2bf4f328273f5.png

I think that this is not a big problem, because the situation of the palette seems to be very understandable, so I would just reorder these lines by using this example of the comparison of these 2 files. If this is necessary of course.

*When viewing in HxD*
-Graphic/Texture only:
The Graphic's/Texture's code is completely different, it seems that only the beginning and the end of the code may look somehow similar (but not identical), but it looks like there's no way to find a logical difference between these two, so that's it with HxD, let's continue with the visual part.

Screenshots of the Graphic's/Texture's code:
Beginning of the code:
TextureBeginning.thumb.png.5b9ea754bab99c7fe3e365b830a83aa4.png

End of the code:
TextureEnd.thumb.png.d05095c1b29aa3b34e3ce3babf820193.png

A cool program which I found on this forum called Console Texture Explorer, by Dageron, gave me the opportunity to view textures the way how they would be displayed on PS2 and also on PSP, by ticking the needed console, this saves much time, no need to rebuild the game to see the result if changes are made.
Here is an example to simulate the same result which I described earlier with ingame screenshots:

PS2 Texture with PS2 Console option tick:
PS2TexturewithPS2option.png.b7acd5aa1ed7e2dfd7731560f822e2c8.png

PS2 Texture with PSP Console option tick:
PS2TexturewithPSPoption.png.e26647b4eaf74d087b07d7c19550408b.png

And the PSP texture with PSP Console option tick:
PSPTexturewithPSPoption.png.98c2f70866d75b2e3ed83c0f18e64deb.png

I think this acts as a perfect example that these textures are exactly the same, but the way both consoles display these textures is different. I assume that the PS2 swizzles textures with it's own technique, and the PSP swizzles with it's own technique, is this correct? Or did I understand this wrong?

After weeks of unsuccessful attempts to understand what exactly the displaying difference is, I decided to look again for similiar programs today and I was able to find a very powerful cool program which was posted on this forum called ImageHeat by the moderator ikskoks, as far as I understood who is the developer of this program. I would like to say thank you very much for creating this cool program, I like it, there are many many functions.

After playing around with ImageHeat, I think I finally understood that my problem has something to do with swizzling.

Here is my latest result with this texture + what I did
First a screenshot in ImageHeat of the texture displayed correctly:
ImageHeatPS2TextureswizzledtoPS2.png.9c3a63be91f9750cc171500d9aeaab7f.png

Then I changed the Swizzling Type to PSP, and turned off PS2 Palette Swizzle:
ImageHeatPS2TextureswizzledtoPSP.png.9c49a155492d72943eb2d3a9c647640a.png

This is also how I saved the texture, by pressing Save Raw Data

 

This is the result:
All 3 pictures where simulated in Console Texture Explorer, first picture is an example, and the last two pictures where simulated with PSP option ticked.
This is how it should look like:
Howitshouldlook.png.c5403ecbd5da135f42d173051b8740d9.png

This is how it looked:
BEFOREModifyingPS2texdisplayedinPSP.png.ae48780a2fd8651b5998d8303dea0846.png

And this what I was able to achieve with ImageHeat after saving with PSP Swizzling type:
AFTERModifyingPS2texdisplayedinPSP.png.5dab9bf97d91b491132cbdafb850d8d8.png

After weeks of understanding nothing, I think this already something.
Unfortunately I still didn't achieve my goal, but it looks like the end result is halfway done/displayed correctly.

This is the end of this long post, thank you to everyone who took his/her time to read everything.
I would be really happy and thankful if someone could point me in the right direction, or tell me what the issue is. Maybe even the developer of ImageHeat sees this post who has a really good understanding based on his awesome program.
This is my first post on this site, I hope i chose the correct forum (Graphic file formats), If not I apologize for this.

Edited by Cerrano
Added missing important files (the texture files) + corrected few small spelling mistakes
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...