10-25-2024, 05:00 PM
Ripping files from My Little Pony Magic Princess
Before ripping from My Little Pony Magic Princess (the mlp gameloft mobile game), you need to get and extract the .ark files, which are compressed (and encrypted) archives that contain all the assets in the game.
The easiest way to get the .ark files, is through the android version, which is what this guide will use.
- Download and install the game on android through google play.
- Open the game and download the extra data.
- After downloading the extra data, you can then open a file manager, and navigate to Android/data/com.gameloft.android.ANMP.GloftPOHM/files
- Copy all the .ark files in the folder to your computer.
In order to extract .ark files, you need Luna Kit, which only requires python and git to install (well, it technically doesn't need git, but that's the easiest way to install it).
Here's how to extract the files with Luna Kit.
Here's how to extract the files with Luna Kit.
- Run
This will extract all the files into output,folder. It is important to extract all the ark files into the sane folder in order to get model textures to actually load.Code:luna-kit ark path/to/*.ark -o output/folder
- It's also good to split all the .texatlas files, because they contain many extra images.
This will split all the .texatlas files and create image files in their correct location. The **/* is important, because it tells luna-kit to search in all the subdirectories.Code:luna-kit atlas output/folder/**/*.texatlas
The models in the game are stored in .rk files, which are a gameloft proprietary format, which was used in other games besides this one.
- Download noesis
- Place this plugin in the noesis plugins/python folder
- Open noesis, and navigate to a model you want to rip
- Click on File > Export
- In the export dialog, choose a location to save the file to
- For the format, select .dae
- Make sure to check flip UVs
- Once exported, open the resulting .dae file in a text editor
- Find the <library_images> element, and change the absolute texture path to a relative one, by removing everything except the filename, and add the file extension (should be .png)
- Open the .dae file in blender
- Select the armature
- Set the scale for each axis using the following
x = 0.1
y = -0.1
z = 0.1
The z axis need to be negative in order to flip the model vertically and horizontally to match the game.
- You can now export the model in whatever format you like
As for rendering the models, you might want to understand how they work.
The pony models have an outline, which is a copy of the model, just a bit bigger, and different colors (and less detail), however the outline model has it's backface facing outside. This means that if you turn on backface culling, you'll see the pony with all it's detail, as well as it's outline. The only other thing you need to do, is use flat shading, and make sure the exposure is 0, and the gamma is 1.
Here is an easy way to achieve this in blender.
- Go into the render tab
- Set the renderer engine to Workbench
- Set the lighting to Flat
- Set the color to Texture
- In options, turn on Backface Culling
- In Color Management, set View Transform to Standard
- Make sure exposure is 0, and gamma is 1
- Now make sure to switch the current view to shading mode (the furthest right button in the view switcher)
Unfortunately I have been unable to rip animations, since they're located in .anim files, which I do not know how to read, and many properties for animations are located in other xml and csv files.
The sounds are stored in 2 formats, Musepack mpc files, and Gameloft VXN header (vxn) files.
mpc files
You can open the mpc files in audacity or use ffmpeg, however those output some files in low quality with static that is not heard in-game. The best way to convert the mpc files to another format, is by using the Musepack tools found on the Musepack website. It can be used like this.
This will only output in wav format, however you can pipe the output wav file into ffmpeg to save it to a different format.
vxn files
In order to extract the vxn files, you have to use vgmstream, which will be able to convert them to other formats. Since it can be installed and used in many different ways, I will not go into it here, however all you need to do is open the vxn files into vgmstream, and export all the subsongs (the vxn files contain multiple sounds, which is mainly only used for looping music).
mpc files
You can open the mpc files in audacity or use ffmpeg, however those output some files in low quality with static that is not heard in-game. The best way to convert the mpc files to another format, is by using the Musepack tools found on the Musepack website. It can be used like this.
Code:
mpcdec file.mpc file.wav
This will only output in wav format, however you can pipe the output wav file into ffmpeg to save it to a different format.
Code:
mpcdec file.mpc - | ffmpeg -i - output.flac
vxn files
In order to extract the vxn files, you have to use vgmstream, which will be able to convert them to other formats. Since it can be installed and used in many different ways, I will not go into it here, however all you need to do is open the vxn files into vgmstream, and export all the subsongs (the vxn files contain multiple sounds, which is mainly only used for looping music).
You can find most of the pony images in the gui folder, and they're in png format. The only problem is finding the image in a very very large folder.
If you want to extract the .pvr files, you can use PVRTexTool.
If you want to extract the .pvr files, you can use PVRTexTool.
All the strings in the game are in .loc files, which can be read using Luna Kit.
Code:
luna-kit loc english.loc -o english.json