Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. Diamond Casino & Resort
      2. DLC
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    10. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    11. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    3. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. News

    2. Forum Support

    3. Site Suggestions

Xplorer

OpenRPF (actually open)

Recommended Posts

Xplorer

Download: on GitHub

Warning: Alpha software.

Notice: You can export files with a double click and open folders. You can't navigate back without closing the tool. You can't export the whole archive.

 

This is just going to be another tool to extract RPF archives. Don't expect too much. It's going to be open source tho unlike some other mods.

Currently I'm documenting RPF0 to learn the format from the ground up. I'm nearly finished, there's just one thing about the TOC related to directories that I'm unsure about, but that's just a matter of time and research.

I am aware that RPF2 is already publicly documented here, but RPF0 is somewhat different and imho needs a proper doc and a proper tool. Maybe we'll be able to see table tennis characters in RDR2 at some point lol.

RPF0 and RPF1 were used both in Rockstar Games Presents Table Tennis. the first game based on RAGE.

 

So here's my research:

First of all the Wii and Xbox360 version differ, cause only the Xbox360 version seems to be using RAGE file formats - so the Wii version is kinda irrelevant for me.

 

Header:

 

Quote

 

4 bytes - STRING - RPF version

4 bytes - INT32 - TOC size.

4 bytes - INT32 - Count of all contained objects - root ("/") is included in this!!!

4 bytes - INT32 - Unknown. - always 0

4 bytes - INT32 - Unknown. - always 0

 

 

TOC (after 2048 bytes):

 

Structure for Directory:
 

Quote

 

3 bytes - INT24 - Offset of the first character in the filesystementry-name-section (name finishes when byte = 0)

1 byte - BOOL - Is it a directory ("80") or a file ("00")?

4 bytes - INT32 - Offset of the first filesystementry (related to TOC entries) in the directory

4 bytes - INT32 - Count of filesystementries in the directory

4 bytes - INT32 - Count of filesystementries in the directory (always the same value for some reason - I even have an idea why)

 

 

Structure for File:

Quote

 

3 bytes - INT24 - Offset of the first character in the filesystementry-name-section (name finishes when byte = 0)

1 byte - BOOL - Is it a directory ("80") or a file ("00")?

4 bytes - INT32 - Offset of data in the file (from 0)

4 bytes - INT32 - Size of the file inside the RPF

4 bytes - INT32 - Uncompressed size - if it differs from above than the file is compressed using zlib (without a deflate header.)  

 

 

After the last filesystementry, so exactly after (2048+(Count of all contained objects - root ("/") is included in this!!! * 16) the filesystementry-name-section starts.
It usually looks a little like this:

screenshot2.png

 

Then the TOC ends. After that there are just the binary data where the files are stored in.

Edited by Xplorer

Share this post


Link to post
Share on other sites
Xplorer

Okay, that's it. I just figured the last thing about directories out (by accident) and will now code a tool to extract the RPFs. Stay tuned.

Share this post


Link to post
Share on other sites
Xplorer

b75e9c-1573511566.png

 

RPF0 reading classes: Implemented.
Exporting files: Implemented.
Opening folders in the tool: Implemented.
Drag an RPF on the executable to load at startup: Implemented.

However... UI is based on WindowsForms w/ .NET Core and that's in development right now. So it will take a little time til the UI will be kinda usable (menus, right-click menus, categories, scaling, ...)

Share this post


Link to post
Share on other sites
CarsonGT

Will there be MCLA RPF3* support?

 

EDIT: Cannot get it to run. Have both Core and Desktop installed. It just won't open.

Edited by CarsonGT

Share this post


Link to post
Share on other sites
Xplorer
8 hours ago, CarsonGT said:

Will there be RPF3 support?

 

EDIT: Cannot get it to run. Have both Core and Desktop installed. It just won't open.

Yes. At some point in the future.

Make sure you downloaded the .exe, the .dll and both of the.json files and they are all placed in the same directory. After that it should run. Next time, I'll just distribute a .zip file with all necessary files lol


====

 

Update: I'm now checking out rage-pp by indilo53 (RAGE C++ lib) and might contribute my findings soon to his library. In that case I'll probably use his lib in the future for this project,,. We'll see,

Edited by Xplorer

Share this post


Link to post
Share on other sites
CarsonGT

Yeah, I did. For me it just won't run.

Share this post


Link to post
Share on other sites
Xplorer

Issue fixed: Check.

Share this post


Link to post
Share on other sites
Xplorer

I just fixed another issue with the exporter ignoring the end of the files to be exported. It's working now as intended.
The framework was also updated to .NET Core 3.1 to make use of the Windows Forms GUI. You need to update to 3.1, too. Links provided at GitHub 🙂

Edited by Xplorer

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • 5 Users Currently Viewing
    2 members, 0 Anonymous, 3 Guests

    • Xplorer
    • Jestic
×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.