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.

BLACK ROCK SHOOTER: THE GAME (PSP) .mdl vertex/bone weights

Featured Replies

  • Localization

Way back in 2013. chrrox over on the XeNTaX forums posted a Noesis script for Imageepoch PSP games, with the strange quirk of being able to rip models with bones, but not vertex groups.  Naturally, this meant that the armature was barely usable beyond a general reference point.  A decade later, and I'd really like to be able to get the models out of the game in their entirety.  Attached is the script, and a few sample .mdls

brs.zip

  • 8 months later...
  • 1 year later...

Necroing this but I’m currently working on both issues. The old documents, tools and findings for the most part don’t exist anymore, so I’ve spent the last two years working from ground zero. Field files (what FCHR are a part of) are simple in what they’re for but complex in how they’re used and parsed.

  • Supporter
On 11/15/2023 at 7:11 PM, Grounder said:

A decade later, and I'd really like to be able to get the models out of the game in their entirety.  Attached is the script, and a few sample .mdls

brs.zip 275.84 kB · 34 downloads

Thanks! that script from chroxx is the only one I know to use decodePSPVert (see inc_Noesis.py)

Quote

#returned by decodePSPVert
class NoePSPVert:
    def __init__(self, vertexDict):
        #posType:
        #0 == none
        #1 == 3 signed bytes
        #2 == 3 signed shorts
        #3 == 3 floats
        #normalType:
        #0 == none
        #1 == 3 signed bytes
        #2 == 3 signed shorts
        #3 == 3 floats
        #uvType:
        #0 == none
        #1 == 2 unsigned bytes
        #2 == 2 unsigned shorts
        #3 == 2 floats
        #colorType:
        #0-3 == none
        #4 == rgb565
        #5 == rgba5551
        #6 == rgba4444
        #7 == rgba8888
        #weightType:
        #0 == none
        #1 == unsigned byte * numWeights
        #2 == unsigned short * numWeights
        #3 == float * numWeights

weightType is 3 here, weightOfs always 0. It's hard to track the weights.

 

naf00.png

Create an account or sign in to comment

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.