Jump to content

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


Recommended Posts

Posted (edited)

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

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...