1

I have an existing Cocos2D game that uses sprite images taken from a .pvr.ccz file, probably generated by TexturePacker. However, I don't have the original PNG images used to create that file, and I need to make some changes to the images in the game. Are there any tools or techniques that I can use to pull the images out of the .pvr.ccz file, or do I need to write my own tool?

Caleb
  • 124,013
  • 19
  • 183
  • 272
  • I think if you download the TexturePacker , you can open the file (I just tried a .pvr.gz) and it offers a 'File->Save As' menu ... after you go through the ritual of clicking on 'Free Version' :) – YvesLeBorg Oct 18 '13 at 16:07
  • errr ... you might have to 'un ccz' by hand, some sloc's involved. sneaky ! – YvesLeBorg Oct 18 '13 at 16:10
  • @YvesLeBorg TexturePacker can display the file in the "PVR viewer", but I don't see a way to pull out all the component images into separate files. – Caleb Oct 18 '13 at 16:15
  • ah ... well the components dont exist as components in the pvr file, i had misunderstood your intent. They exist in the 'source' Texture Packer package from which the .pvr was concocted. You can at best(probably) get the compound .png with all components onto a single texture. – YvesLeBorg Oct 18 '13 at 16:22
  • 1
    Is there no accompanying .plist file? That would make extraction a lot easier. – CodeSmile Oct 18 '13 at 16:39
  • @LearnCocos2D There is, I have the .plist, and I can use that. Was just hoping that either TexturePacker or some other tool already knew how to extract the images. – Caleb Oct 18 '13 at 18:02
  • @YvesLeBorg Right, you can get a single image file with all the components. There's also a property list that gives you the info for each component -- mostly the name and the frame in the compound PNG. So it wouldn't be rocket science to write a program that reads the property list, copies each image out of the compound PNG, and saves it to a new PNG file with its original name. I could do that, but it seems like such an obvious operation that there'd be a way to have TexturePacker (or some other tool) use the .plist to reverse the operation. – Caleb Oct 18 '13 at 18:07
  • yep ... i do software, and usually leave product questions to the marketroids of the world ... should be part of TexturePacker really (did not check if it is). But all in all, maybe 20-30 lines of objc or so with cocos2d :). – YvesLeBorg Oct 18 '13 at 18:15

1 Answers1

1

Not possible if they use the encryption option of Texture Packer:

I've added a new feature to TexturePacker which helps you to prevent all this from happening. It's called ContentProtection and simply encrypts the images.

Your app will still be able to decrypt the data, but somebody else is going to have a hard time getting it done.

Source: https://www.codeandweb.com/texturepacker/contentprotection

Community
  • 1
  • 1
frinsen
  • 11
  • 3