Jump to content

Subject: Help with FONTES.DPS file from Ratatouille PS2


Go to solution Solved by DKDave,

Recommended Posts

Posted

Hello,

 

I have a file from the game Ratatouille for PS2, in DPS format, named FONTES.DPS.

I tried to unpack the file but without success.

I believe the file contains an image related to the game's font.

 

Here is the link to the file:

https://mega.nz/file/O0ZliICZ#YXaO_rhs23EAXBoD6vdco2emWeBTqg4GIWozxvxAZFs

 

Could you help me with how to open it or extract its contents?

 

Thank you very much in advance.

 

  • Engineers
Posted

There has a aluigi bms that do the unpack, but without decompression.

 

# Ratatouille DPC (script 0.1.4)
#   doesn't support compressed files and doesn't parse the resources, it's just a dumper
# script for QuickBMS http://quickbms.aluigi.org

get NAME string
if NAME & "Asobo"
    math BASE_OFF = 0x100
else
    math BASE_OFF = 0
endif

goto BASE_OFF
get FILE_TYPE long
get DUMMY long
get ZERO byte
get FILES long
if FILE_TYPE == 0
    getdstring DUMMY 0x18
elif FILE_TYPE == 1
    getdstring DUMMY 0x13
elif FILE_TYPE == 0x30
    getdstring DUMMY 0xf
else
    getdstring DUMMY 0x13
endif
savepos INFO_OFF
xmath OFFSET "INFO_OFF + 0x6e0"
if FILE_TYPE == 0x30
    math OFFSET += 4
endif

for i = 0 #< FILES
    get SUB_FILES long
    if SUB_FILES == 0
        break
    endif
    get XSIZE long
    get SIZE long
    get ALIGN long
    get CRC longlong
    log MEMORY_FILE OFFSET SIZE
    callfunction UNPACK
    math OFFSET += XSIZE
next i

startfunction UNPACK
    math NEXT_OFF = 0
    for j = 0 < SUB_FILES
        get XSIZE long MEMORY_FILE
        savepos TMP_OFF MEMORY_FILE
        if FILE_TYPE == 0x30
            get ZSIZE long MEMORY_FILE
            if j == 0
                get TYPE long MEMORY_FILE
            else
                math TMP_OFF -= 4
            endif
            get DUMMY longlong MEMORY_FILE
            savepos TMP_OFF2 MEMORY_FILE
            get ZERO long MEMORY_FILE
            get REAL_SIZE long MEMORY_FILE
            if ZSIZE != 0
                math XSIZE = ZSIZE
            endif
        else
            get DUMMY long MEMORY_FILE
            get XZSIZE long MEMORY_FILE
            get ZSIZE long MEMORY_FILE
            get TYPE long MEMORY_FILE
            get DUMMY longlong MEMORY_FILE
            savepos TMP_OFF2 MEMORY_FILE
            get ZERO long MEMORY_FILE
            get REAL_SIZE long MEMORY_FILE
        endif

        savepos OFFSET MEMORY_FILE
        xmath NEXT_OFF "NEXT_OFF + (TMP_OFF2 - TMP_OFF) + XSIZE"
        xmath SIZE "NEXT_OFF - OFFSET"

        if SIZE > 0
            if ZSIZE == 0

                # DDS
                if TYPE == 0x57b1f99e
                    # not enough
                    #math OFFSET += 0x10
                    #math SIZE   -= 0x10

                    savepos TMP
                    goto OFFSET
                    findloc DDS_OFF string "DDS " MEMORY_FILE ""
                    goto TMP
                    if DDS_OFF != ""
                        xmath TMP "DDS_OFF - OFFSET"
                        if TMP > 0
                            if TMP < SIZE
                                math SIZE - TMP
                                math OFFSET = DDS_OFF
                            endif
                        endif
                    endif
                endif

                string NAME p= "/%08x/" TYPE
                log NAME OFFSET SIZE MEMORY_FILE
            else
                # compression is not supported because some resources have an header
                string NAME p= "compressed/%08x/" TYPE
                log NAME OFFSET SIZE MEMORY_FILE
            endif
        endif

        goto NEXT_OFF MEMORY_FILE
    next j
endfunction

 

  • Engineers
Posted
50 minutes ago, Ggsgwhwhe said:

 

My friend, the file is in DPS format, not DPC.

 

Also, the game is for PS2, not PC.

It´s the same logic.

just need to ajust the decompressor, but you can search about it in google.

57B1F99E_26EF6780@0000000000.png

57B1F99E_26EF6780@0000000000.png

  • Confused 1
Posted
43 minutes ago, Rabatini said:

إنه نفس المنطق.

تحتاج فقط إلى ضبط أداة فك الضغط، ولكن يمكنك البحث عنها في جوجل.

 

44 minutes ago, Rabatini said:

إنه نفس المنطق.

تحتاج فقط إلى ضبط أداة فك الضغط، ولكن يمكنك البحث عنها في جوجل.

57B1F99E_26EF6780@0000000000.png

57B1F99E_26EF6780@0000000000.png

57B1F99E_26EF6780@0000000000.png

57B1F99E_26EF6780@0000000000.png

 

 

 

 

My friend, thank you for your help.

But could you please tell me the method you used to unpack the files?

 

Also, you mentioned a tool that I should search for on Google — can you give me its exact name, or upload it here if possible?

 

And if you can, please upload the images as well.

 

Thank you!

 

Posted
14 hours ago, Rabatini said:

It´s the same logic.

just need to ajust the decompressor, but you can search about it in google.

57B1F99E_26EF6780@0000000000.png

57B1F99E_26EF6780@0000000000.png

Brother, may I know why you haven’t replied yet?

Posted
Just now, Rabatini said:

هل أنت تمزح أليس كذلك؟

 

Just now, Rabatini said:

Are you kidding right?

My friend, I'm only trying to understand.

I used the DPC script, but it only extracted some encrypted DAT files.

 

I'm simply asking for the method you used to unpack the files, and the exact name of the tool you mentioned.

If you can upload the images as well, I would really appreciate it.

 

I'm not here to argue — I'm just trying to learn.

 

 

---

 

Posted
36 minutes ago, Ggsgwhwhe said:

 

My friend, I'm only trying to understand.

I used the DPC script, but it only extracted some encrypted DAT files.

 

I'm simply asking for the method you used to unpack the files, and the exact name of the tool you mentioned.

If you can upload the images as well, I would really appreciate it.

 

I'm not here to argue — I'm just trying to learn.

 

 

---

 

I've deleted some of your replies to tidy up the thread.  There's no need to post the same reply several times in a row.  Nobody is obligated to reply unless they want to, so you need to be patient if there's no responses.  And finally, don't ask for people to upload converted resources - the point of this forum is to give you the tools and scripts to extract them yourself from your own game files.

 

 

 

Posted
15 minutes ago, DKDave said:

I've deleted some of your replies to tidy up the thread.  There's no need to post the same reply several times in a row.  Nobody is obligated to reply unless they want to, so you need to be patient if there's no responses.  And finally, don't ask for people to upload converted resources - the point of this forum is to give you the tools and scripts to extract them yourself from your own game files.

 

 

 

My friend, I didn’t mean to bother you.

I only asked for a way to decrypt the DAT files, because several files were extracted and I want to know which one contains the font.

Posted
9 hours ago, Ggsgwhwhe said:

My friend, I didn’t mean to bother you.

I only asked for a way to decrypt the DAT files, because several files were extracted and I want to know which one contains the font.

I've moved this topic to graphic file formats, rather than 3d Models where you posted it.

Also, please don't start another post for the exact same thing.  I've deleted your other post as a duplicate.

Please read the rules before posting again.

 

  • Like 1
Posted

No, the topic is not a duplicate. These are new files.

In the previous thread, I asked for help with unpacking FONTES.DPS,

and now I am asking for help with DAT file extraction.

 

Is it wrong to ask for assistance, or what?

Posted
10 hours ago, Ggsgwhwhe said:

No, the topic is not a duplicate. These are new files.

In the previous thread, I asked for help with unpacking FONTES.DPS,

and now I am asking for help with DAT file extraction.

 

Is it wrong to ask for assistance, or what?

Of course it's fine to ask for help, but you asked about unpacking the DAT files in this topic, and then opened a new topic asking the same thing.  After I deleted it as a duplicate, you've created another one.  It makes a lot more sense to keep everything in one post that you've asked about already.

 

 

  • Engineers
Posted (edited)
5 hours ago, DKDave said:

But anyway, seeing as I had some time, this QuickBMS script will decompress the files correctly.  Still needs some manual manipulation in something like ImageHeat to show the correct image:

rat_ps2_dps.zip 421 B · 0 downloads

 

image.png.d159e7cc7b798f117e8fdc7d7c6e3fad.png

I was able to help him, doing the lzrs in python, but he started send me, a thousand of messages, and let it go.

DPS-LZRS.py

Edited by Rabatini
Posted
8 hours ago, Rabatini said:

I was able to help him, doing the lzrs in python, but he started send me, a thousand of messages, and let it go.

DPS-LZRS.py 25.17 kB · 0 downloads

My friend, I don’t have a computer. I’m working only from my phone and emulators, so most of the things you give me don’t work on the emulators I use. That’s why I keep asking for help — if I had a PC, everything would be much easier.

 

You should understand my situation instead of making fun of me.

 

Could you please modify this Python script and make it work on Termux? It has a graphical interface, and the emulator cannot run GUI applications.

Posted
14 minutes ago, Ggsgwhwhe said:

My friend, I don’t have a computer. I’m working only from my phone and emulators, so most of the things you give me don’t work on the emulators I use. That’s why I keep asking for help — if I had a PC, everything would be much easier.

 

You should understand my situation instead of making fun of me.

 

Could you please modify this Python script and make it work on Termux? It has a graphical interface, and the emulator cannot run GUI applications.

Nobody's making fun of you.  However, it would have been useful if you had mentioned not having a computer at the start, instead of having people waste their time on things you can't use.

It also sounds like you were harassing another user in DMs for help, which you also need to stop doing.  People will help if they want to, and if they have the time.

 

 

  • Like 1
  • Engineers
Posted
13 minutes ago, Ggsgwhwhe said:

My friend, I don’t have a computer. I’m working only from my phone and emulators, so most of the things you give me don’t work on the emulators I use. That’s why I keep asking for help — if I had a PC, everything would be much easier.

 

You should understand my situation instead of making fun of me.

 

Could you please modify this Python script and make it work on Termux? It has a graphical interface, and the emulator cannot run GUI applications.

I'm not making fun of you, I'm just telling the truth. You send me a lot of messages and spam my inbox. You have to be patient and give people space. You don't know my situation either—I have a family, a job, and financial problems, just like a lot of other people here probably do.

This community is the best and maybe the only one that helps people with romhacking games. You should try romhacking.net—now that place is full of stuck-up people who would definitely treat you badly. So, let's take it down a notch and respect the community rules."

Back to the topic, both ;py and bms of DKDave works, i dont how you ake it running in celphones
 

image.png.0585c6d9be9e06530743c93d037b698f.png image.png.3e70a9765d0693b4c53773f59f90e20d.png

exported_image.png

Posted

I want to know one thing: if a file is encoded in BIN or another custom format, how can I find the original image specifications, such as the color depth and all the other details?

 

  • Supporter
Posted
1 hour ago, Ggsgwhwhe said:

My friend, I don’t have a computer. I’m working only from my phone and emulators, so most of the things you give me don’t work on the emulators I use. That’s why I keep asking for help — if I had a PC, everything would be much easier.

 

You should understand my situation instead of making fun of me.

 

Could you please modify this Python script and make it work on Termux? It has a graphical interface, and the emulator cannot run GUI applications.

Maybe you can ask AI to modify the script for you. Although this is a very funny method, I have to say that it is really useful and saves time than turning on a cloud computer.

Like when I was studying the texture of another engine before, I could only process it in bms and then open it using a texture program, which was very troublesome.

Later, I implemented lzma decompression with the help of Rabatini, because I can handle all decompressions, but lzma became a problem for me at the time, and I had sufficient understanding of these files. After the problem was solved, I then collaborated with AI as an assistant to write a new py script and modified multiple versions. Now it can handle all compression types and texture conversion, so that it can also run in termux

I used the texture2ddecoder module to process the texture data and convert to png

I believe your game can work too, but you need to have a good understanding of these files and find a library in termux that can handle them.

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...