Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

The Simpsons Road Rage E3 demo - PNG textures with filenames?

Featured Replies

  • Author
  • Localization

frogz2007, posted Mon Mar 27, 2017 8:16 am (21785)


This should be a very easy one to do since several different tools I've tried find the textures right off the bat. The issue with those tools is they don't preserve the filenames, which is needed in order to make use of them (I have an extracted OBJ of the level map with an MTL file but no textures to go with it).

https://www.dropbox.com/s/wplbnln1s7cft ... g.p3d?dl=1

Oh, and when you look at the file in a hex editor I see mentions of the PNG format, which is what every tool I've tried extracts them as. The file names are in plain sight, too.
  • Author
  • Localization

Acewell, posted Tue Mar 28, 2017 8:51 pm (21813)


i've got a script that can extract and name all, the image named "MISSING_IMAGE" was stored twice in the p3d,
and at least 6 share the same name except for the capitalization, so 3 were renamed by Quickbms.

NEW_road__t.png
NEW_Road__t_00000001.png
NEW_road__t_1.png
NEW_Road__t_1_00000001.png
NEW_road__t_2.png
NEW_Road__t_2_00000001.png

the ones with the capital 'R' are likely the ones you want, just remove the last 9 characters from the name.


here is the bms script :)
Code:
# script for QuickBMS http://quickbms.aluigi.org

findloc PNG binary "\x89\x50\x4E\x47"
do
    goto PNG
    savepos OFFSET
    goto -0x31 0 seek_cur
    get check byte
    if check == 0x4
        get NAME string
    else
        goto -0x5 0 seek_cur
        get check byte
        if check == 0x8
            get NAME string
        else
            goto -0x5 0 seek_cur
            get check byte
            if check == 0xc
                get NAME string
            else
                goto -0x5 0 seek_cur
                get check byte
                if check == 0x10
                    get NAME string
                else
                    goto -0x5 0 seek_cur
                    get check byte
                    if check == 0x14
                        get NAME string
                    else
                        goto -0x5 0 seek_cur
                        get check byte
                        if check == 0x18
                            get NAME string
                        else
                            goto -0x5 0 seek_cur
                            get check byte
                            if check == 0x1c
                                get NAME string
                            else
                                goto -0x5 0 seek_cur
                                get check byte
                                if check == 0x20
                                    get NAME string
                                else
                                    goto -0x4 0 seek_cur
                                    get NAME string
                                endif
                            endif
                        endif
                    endif   
                endif
            endif
        endif
    endif
    goto OFFSET
    goto -0x8 0 seek_cur
    get NEXT_TEX long
    get SIZE long
    string NAME .png
    log NAME OFFSET SIZE
    get SKIP long
    findloc PNG binary "\x89\x50\x4E\x47" 0 ""
while PNG != ""
  • Author
  • Localization

frogz2007, posted Tue Mar 28, 2017 9:20 pm (21814)


Thank you so much!
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.