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.
You can render with either the Workbench or EEVEE renderers. With both renderers, it is also recommended to delete any light sources, because those will give the wrong shading.
Select the object
- Materials
- Surface > Roughness = 1
- Settings > Surface > Backface Culling
[x] Camera
[x] Shadow
[x] Light Probe Volume
- World
- Surface > Color = white
- Surface > Color = white
- Surface > Roughness = 1
- Render
- Color Management > View Transform > Raw
- Optional: Film > Transparent
- Color Management > View Transform > Raw
- 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 Raw
- 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)
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
vxn files contain multiple audio streams, which are normally used for looping music. You can extract all the streams to audio files by using vxn-py. vxn-py can be installed by running
And you can use it by running
It is recommended that you use {ext}, because the file extension can either be wav or mpc.
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
vxn files contain multiple audio streams, which are normally used for looping music. You can extract all the streams to audio files by using vxn-py. vxn-py can be installed by running
Code:
pip install vxn-py
And you can use it by running
Code:
vxndec input.vxn -o "output.{ext}"
It is recommended that you use {ext}, because the file extension can either be wav or mpc.
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