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.

Need help! Could you please tell me how to correctly extract and piece together the sprite frames of this game model?

Featured Replies

I have three files with the same name: a .dds file, a .mindex.png file, and a .plist file. I will upload the original files as an attachment. I would greatly appreciate your guidance on the correct method to properly assemble the puzzle.

I've spent several days researching this and tried various methods like color mapping, but I still can't successfully piece together the DDS image fragments. I've run out of ideas and would truly appreciate your assistance. Thank you so much in advance!

spacer.png

I have converted the displayed DDS format image (dimensions 816x544) to PNG. The upper section consists of colored areas, while the lower section is grayscale. Most elements are fragmented, with only a few being complete. I'm uncertain how to reconstruct the original image.

spacer.png

The mindex.png file (dimensions 204x107), judging by its contours, appears to depict how the assembled fragments of each frame would look. While the DDS texture contains ten frames, mindex.png actually contains twenty. Another noteworthy point—though I'm not entirely certain about its accuracy—is that if mindex.png is split into two halves and each half is magnified 8 times, their dimensions align with the size values specified in the plist file.

Attached below is the plist file, which is primarily used for the final cropping, rotation, and positioning of the sprite sheet.

All three source files have been packaged and uploaded as attachments.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>frames</key>
        <dict>
            <key>0000</key>
            <dict>
                <key>frame</key>
                <string>{{152,436},{6,6}}</string>
                <key>offset</key>
                <string>{-169.5,165}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{0,0},{6,6}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0001</key>
            <dict>
                <key>frame</key>
                <string>{{152,436},{6,6}}</string>
                <key>offset</key>
                <string>{-169.5,165}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{0,0},{6,6}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0002</key>
            <dict>
                <key>frame</key>
                <string>{{152,436},{6,6}}</string>
                <key>offset</key>
                <string>{-169.5,165}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{0,0},{6,6}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0003</key>
            <dict>
                <key>frame</key>
                <string>{{0,436},{68,152}}</string>
                <key>offset</key>
                <string>{37.5,92}</string>
                <key>rotated</key>
                <true/>
                <key>sourceColorRect</key>
                <string>{{176,0},{68,152}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0004</key>
            <dict>
                <key>frame</key>
                <string>{{0,0},{280,332}}</string>
                <key>offset</key>
                <string>{35.5,-2}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{68,4},{280,332}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0005</key>
            <dict>
                <key>frame</key>
                <string>{{280,0},{188,288}}</string>
                <key>offset</key>
                <string>{29.5,8}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{108,16},{188,288}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0006</key>
            <dict>
                <key>frame</key>
                <string>{{468,0},{152,220}}</string>
                <key>offset</key>
                <string>{35.5,6}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{132,52},{152,220}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0007</key>
            <dict>
                <key>frame</key>
                <string>{{284,288},{148,196}}</string>
                <key>offset</key>
                <string>{29.5,-10}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{128,80},{148,196}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0008</key>
            <dict>
                <key>frame</key>
                <string>{{468,220},{152,148}}</string>
                <key>offset</key>
                <string>{31.5,-38}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{128,132},{152,148}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0009</key>
            <dict>
                <key>frame</key>
                <string>{{0,332},{284,104}}</string>
                <key>offset</key>
                <string>{-30.5,-16}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{0,132},{284,104}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0010</key>
            <dict>
                <key>frame</key>
                <string>{{432,368},{84,104}}</string>
                <key>offset</key>
                <string>{49.5,-40}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{180,156},{84,104}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
            <key>0011</key>
            <dict>
                <key>frame</key>
                <string>{{516,368},{104,72}}</string>
                <key>offset</key>
                <string>{55.5,-32}</string>
                <key>rotated</key>
                <false/>
                <key>sourceColorRect</key>
                <string>{{176,164},{104,72}}</string>
                <key>sourceSize</key>
                <string>{345,336}</string>
            </dict>
        </dict>
        <key>metadata</key>
        <dict>
            <key>format</key>
            <integer>2</integer>
            <key>pixelFormat</key>
            <string>RGBA8888</string>
            <key>premultiplyAlpha</key>
            <false/>
            <key>realTextureFileName</key>
            <string>59150.png</string>
            <key>size</key>
            <string>{620,504}</string>
            <key>smartupdate</key>
            <string>$TexturePacker:SmartUpdate:5a25075f4ffdc2da16fdaaa950cdecf4:53550c967bacf01398ac7890f73b2ed8:a5f35508d25f81917dfe976da9bea6f9$</string>
            <key>textureFileName</key>
            <string>59150.png</string>
        </dict>
    </dict>
</plist>

 

magic.zip

Edited by _style

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.