Here are a few .PAC files from the Rumble Roses games I would like to extract from them in hopes that there will be some way to mod the game.
http://members.aol.com/gtone999/PAC.zip
This has two PAC files that were the smallest I could find on the game dvd if you need more examples I will post them.
Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Rumble Roses (.PAC)
- friendsofwatto
- VVIP member
- Posts: 532
- Joined: Wed Jun 30, 2004 3:01 pm
- Location: Australia
- Been thanked: 13 times
- Contact:
The difficulty with Rumble Roses is that the main archives don't seem to have a directory - which means that it is very hard to determine where each file starts and finishes in an archive.
I don't really know why this is the case - maybe it is just something PS2-specific, or maybe there is a separate file which contains the directory?
We will take a brief look at it for you anyway, however unfortunately we cannt guarentee any success for this game.
WATTO
[email protected]
http://www.watto.org
I don't really know why this is the case - maybe it is just something PS2-specific, or maybe there is a separate file which contains the directory?
We will take a brief look at it for you anyway, however unfortunately we cannt guarentee any success for this game.
WATTO
[email protected]
http://www.watto.org
Game Extractor - Read and write thousands of game archives!
Here is what I do know about CH.PAC and CH2.PAC.
1. First PAC File starts at 16384 ("PAC" header = 4 bytes)
2. Value of 4 bytes after header gives you relative offset of "YOBJ"
3. Value of 4 bytes after "YOBJ" give you address of "POF0" (Game is looking for both "YOBJ" and "POF0"--That's a Zero on the end of POF0)
4. Value of 4 bytes after "POF0" gives you the relative offset of texture listing.
5. Texture listing has a 16 byte header. First 4 bytes are the number of textures.
6. Each 32 byte group thereafter is as follows:
First byte to NULL = texture name, filler for rest of 16 bytes
Next 4 bytes = "txc" terminating in a NULL
Next 4 bytes = Size of file
Next 4 bytes = Offset (Offset is calculated by: Offset - ((32 * NumberOfThe File) + 12)
Next 4 bytes = filler
7. At this offset is the "RTX3" file, which is the texture. It appears to be an A8R8G8B8 texture with a CLUT(color lookup table) at the end. I can view the black and white images but can't seem to understand the CLUT.
What is odd is that this only applies to the odd numbered PAC's inside the CH.PAC and CH2.PAC The even numbered ones are short and have a couple of RTX files in them. I also can't find the index numbers for the PAC packets. Maybe watto or Mr. Mouse can shed some light on this. It looks like there is alot of math calculations going on here to prevent casual extraction.
1. First PAC File starts at 16384 ("PAC" header = 4 bytes)
2. Value of 4 bytes after header gives you relative offset of "YOBJ"
3. Value of 4 bytes after "YOBJ" give you address of "POF0" (Game is looking for both "YOBJ" and "POF0"--That's a Zero on the end of POF0)
4. Value of 4 bytes after "POF0" gives you the relative offset of texture listing.
5. Texture listing has a 16 byte header. First 4 bytes are the number of textures.
6. Each 32 byte group thereafter is as follows:
First byte to NULL = texture name, filler for rest of 16 bytes
Next 4 bytes = "txc" terminating in a NULL
Next 4 bytes = Size of file
Next 4 bytes = Offset (Offset is calculated by: Offset - ((32 * NumberOfThe File) + 12)
Next 4 bytes = filler
7. At this offset is the "RTX3" file, which is the texture. It appears to be an A8R8G8B8 texture with a CLUT(color lookup table) at the end. I can view the black and white images but can't seem to understand the CLUT.
What is odd is that this only applies to the odd numbered PAC's inside the CH.PAC and CH2.PAC The even numbered ones are short and have a couple of RTX files in them. I also can't find the index numbers for the PAC packets. Maybe watto or Mr. Mouse can shed some light on this. It looks like there is alot of math calculations going on here to prevent casual extraction.
Here's an RTX file. I still can't understand the format. The trailing CLUT, at least I think it's a CLUT, is less than 1024 bytes(which is what an 8 bit palette with alpha should be). If I open the RTX in Photoshop as a raw file, 256x256 with a 64 byte header--the black and white image is fine. I can then change the mode to indexed color and save as a palettized 8 bit DDS. I then copied and pasted the last 1024 bytes from the original raw into the DDS, replacing the CLUT(which is the 1024 bytes after the 128 byte header). When I open the new DDS, the colors are almost correct. This is driving me nuts! Can anyone give any insight on the conversion or opening of this file??
You do not have the required permissions to view the files attached to this post.
Directory information of CH.PAC and CH2.PAC......
Finally solved it thanks to help from Mr.Mouse and Watto. The directory information starts at 2048 as previously thought. The CH.PAC starts with "EMD "(<--that's a space at the end) and the CH2.PAC starts with "EMD2". The next byte is the number of 4 byte sections in the directory starting at 2056. The byte after this is 128 then two more nulls. In each set of 4 bytes, the first two are irrelevant. Appear to be just counters, based on multiples of 16. The last two bytes define the size of the PAC's as follows:
Raise the decimal value of the number to the next power of 8. If already a power of 8 then keep it. Multiply this number by 256 and it will give you the size of the PAC section in bytes. Each PAC section has 2 PAC's in it. The second PAC in each section is kind of odd. No information used in the game. There are two small pictures in it. One says "Trish" and the other says "Trish Me"(hmmmm). All the RTX3's in the PAC's are actually TIM2 files with a custom header. The first 64 bytes of the RTX3 can be cut off and you can put a proper TIM2 header on to view them.
These files are definitely unique!
Raise the decimal value of the number to the next power of 8. If already a power of 8 then keep it. Multiply this number by 256 and it will give you the size of the PAC section in bytes. Each PAC section has 2 PAC's in it. The second PAC in each section is kind of odd. No information used in the game. There are two small pictures in it. One says "Trish" and the other says "Trish Me"(hmmmm). All the RTX3's in the PAC's are actually TIM2 files with a custom header. The first 64 bytes of the RTX3 can be cut off and you can put a proper TIM2 header on to view them.
These files are definitely unique!
Rumble Roses Character Texture Exporter/Importer
I finally got a working version. Posted the link in the Wiki. You can copy and paste this link in your browser:
http://www.angelfire.com/oz2/oz21/RRPacXtractor.zip
Thanks to everyone who helped!
http://www.angelfire.com/oz2/oz21/RRPacXtractor.zip
Thanks to everyone who helped!
- TheKidRocker
- VIP member
- Posts: 42
- Joined: Wed May 04, 2005 9:04 pm
- Been thanked: 1 time
- Contact:
Great Job Jasmine, seems to work cool for Rumble Roses
Hoped it would also work for WWE SmackDown vs RAW's PAC Files, but it doesnt
Could you work something out for that game too?
Dont think it will be too different, theres even the same CH.PAC & CH2.PAC files there, but it wont work with your rumble roses program, it crashed with an error message
Heres the SDvsRAW Thread with some sample files:
viewtopic.php?t=1305
So if you feel like trying
If you dont, thank you anyway
Hoped it would also work for WWE SmackDown vs RAW's PAC Files, but it doesnt
Could you work something out for that game too?
Dont think it will be too different, theres even the same CH.PAC & CH2.PAC files there, but it wont work with your rumble roses program, it crashed with an error message
Heres the SDvsRAW Thread with some sample files:
viewtopic.php?t=1305
So if you feel like trying
If you dont, thank you anyway
mesh extract?
Is there anyway i could extract the meshes of it? i've attached a sizable .bpe file which i think could've contain meshes. is there anyway to sniff out of any 3d extensions in the files with hex? e.g: .obj, .3ds, .lwo, etc...
i'd like to poke on it for some time... so if there are any other leads to this development, id appreciate it if someone could direct me there... thanks!!
edit: is the attachment enough? i still have 4 more but i can only put one attachment....
i'd like to poke on it for some time... so if there are any other leads to this development, id appreciate it if someone could direct me there... thanks!!
edit: is the attachment enough? i still have 4 more but i can only put one attachment....
You do not have the required permissions to view the files attached to this post.
Re: mesh extract?
bpe as in Byte Pair Encoding? and I'm pretty sure it is compressed but I don't know because I don't have the entire file.beowolf wrote:Is there anyway i could extract the meshes of it? i've attached a sizable .bpe file which i think could've contain meshes. is there anyway to sniff out of any 3d extensions in the files with hex? e.g: .obj, .3ds, .lwo, etc...
i'd like to poke on it for some time... so if there are any other leads to this development, id appreciate it if someone could direct me there... thanks!!
edit: is the attachment enough? i still have 4 more but i can only put one attachment....
i could send it to you. but theres tons of those .bpe's too. want one?
i did a crash course on the bits and bytes thing and poked around the ch1 ch2.pac files with hex. with my abysmal knowledge in these fields, i found traces of what i might think could be names for joints/bones (yubi01, 02, etc) for the character, but then, there were names such as "mouth" within proximity, and i hardly think they would use joints/mouth for bones. inside the pacs, they also have a few strings of X,Y,Z coordinates with floating point values right after them. still... i've yet to find the right extension for meshes, and if the bmps are already appended as BM8, what of the mesh extensions? ED$? M@0? *&J? ~~nyaaarggghh~~
i did a crash course on the bits and bytes thing and poked around the ch1 ch2.pac files with hex. with my abysmal knowledge in these fields, i found traces of what i might think could be names for joints/bones (yubi01, 02, etc) for the character, but then, there were names such as "mouth" within proximity, and i hardly think they would use joints/mouth for bones. inside the pacs, they also have a few strings of X,Y,Z coordinates with floating point values right after them. still... i've yet to find the right extension for meshes, and if the bmps are already appended as BM8, what of the mesh extensions? ED$? M@0? *&J? ~~nyaaarggghh~~