03-01-2023, 06:12 AM
(This post was last modified: 04-10-2024, 02:31 PM by KanaKonpaku.
Edit Reason: Added a more up to date version of AssetStudioGUI, and adapted the guide to work with it.
)
Hello all,
I recently ripped the vast majority of assets for the mobile game Touhou Lost Word. It was quite a frustrating process, that required me to read multiple posts and threads, as well as experiment with AssetStudioGUI to speed the process up. A user over on the page for Lost Word asked me how I did it in the comments and there's absolutely no way I could have explained the process in detail there. This thread will go into the details of doing it.
To begin you'll need the following:
-AssetStudioGUI
-Touhou Lost Word on a phone you can access files from or BlueStacks (It's also recommended to have a good amount of play time prior)
-Patience
To start, you will need to make sure you have viewed the characters you wish to rip in game. You can do this by viewing them in a prayer banner or in the friends menu (for splash art), or on the home screen or in a cutscene (for character cutscene face sheets). You'll know this worked, because you'll see a "Connecting..." message in the bottom right. This means the game is downloading cache files from the game servers. Fantasy rebirths HAVE to be viewed from either the home screen or the friends menu, as they don't appear as options in the game till they are unlocked! There is currently no way around this!
After you have the files for the character you want, you will need to copy the cache files off the device with lost word on it. For an Android device, the cache folders are located at /Android/data/jp.goodsmile.touhoulostwordglobal_android/files/UnityCache/Shared/. They'll look like a bunch of folders with names that are a bunch of random characters, such as 00a5cc71935f0a01837b9ed33af10bb6, and will usually contain another folder with random characters that contains two items: __data and __info. A complete cache from global Lost Word will have around 5000 folders in UnityCache/Shared. You must copy the entire Shared folder to your computer, and this will take time, especially if you're doing this with a phone.
**THIS SECTION IS ONLY RELEVANT IF YOU DON'T USE THE ABOVE LINKED ASSETSTUDIGUI, WHICH WAS ADDED 4/10/2024**
Once complete you will have a huge issue, if you try to load the cache folders with AssetStudioGUI, it will simply crash. This seems to be due to the number of files in the folder. To get around this I recommend splitting the cache folders into around 10 smaller folders. I just label them 1 through 10, and plop in 500 at a time. Do know, this causes Windows Explorer to hang, as it doesn't seem to like the long folder names. It will eventually respond again so don't panic. Once you have them split, look for a folder with the exact name 51a48962361a31b281ac6b0242e0e871. This folder seems to crash AssetStudio 100% of the time. I think it might be intentionally there to prevent asset ripping. It's been in every cache dump I've done as well.
If you use the version of AssetStudioGUI provided in the above link, simply open the cache you copied to PC. No need to split anymore!
Your cache should now look like this:
After splitting up the folders and removing the bad one, you should be able to load each folder in the base 1-10 direction individually. You may get the following error when attempting to load in some folders:
Do not panic; This means that you simply need to split folder up further. I recommend splitting into two 250 folder sub-folders. Once open you'll see something like the following:
I recommend ignoring the scene hierarchy and clicking asset list. Once you do that, you a large list of assets will be displayed. I recommend clicking Filter Type in the top bar, and filtering by Texture2D if you intend to dump sprite assets. Once done the list will sort to just those, and I recommend clicking the name column to nicely sort each asset.
The following is a list of some of the useful assets you may encounter when opening the cache; Underscores and X's represent random numbers:
Texture2D :
-B______: These are character battle assets and are used in rendering characters in battle
-C______: These are cutscene portraits for characters and contain various facial expressions, occasionally the character or faces will be tilted 90 degrees counter-clockwise. Tilt them back for the sprite sheet.
-Change: These files (all named the same btw) are higher quality textures that I believe are used when a character is introduced.
-Costume: These images are used on character costume sections
-CostumeSquare: These are mini square versions of the costume images above
-Efuda: Although not character assets these are Story Card graphics
-EfudaSmall: Small in game displays of the of above asset
-G______: These are high quality portraits of characters, that are used on their friends page
-H______: These are pieces of character art?
-IconFace: These are small face icons for characters
-Large: These are displayed with the name of the character over them at the end of a battle.
-Square: Square versions of the Large assets above.
-ThumbLarge: Large thumbnails for story cards.
-ThumbSquare: Square thumbnail for story cards.
Sprites:
-Change: Same as the change in texture2D, however a bit more zoomed (And potentially higher quality?)
-command_face: In battle assets for character faces
-name_xxxxxx: Name plates each character, displayed upon encountering them in the story
-nickname_xxxxxx: Nameplates in Japanese, displayed with the above asset
If you sort by audio you can also find various voice clips, music, and background ambience; I haven't done that personally.
For character portraits, find the character(s) you want to rip, and rip their C______ , Change, Costume, CostumeSquare (only exists for character costumes, not in base ones), G______, Large, and Square png files, and the sprites name_xxxxxx and nickname_xxxxxx if you want them.
For story cards, only Efuda, EfudaSmall, ThumbLarge, and ThumbSquare are needed to ripped.
You should now have a folder with assets that look like this:
You will now need to put them into a sprite sheet of course; With this post, I will include the templates for character portraits and story cards that I personally use in Paint.net. I don't have experience or access to other picture manipulation tools except Gimp. With paint.net it should be as simple as adding each file as a layer, moving facial expressions around, and disabling the template background and saving as a PNG. I recommend using the change.png section of the image for thumbnails to use on here. For best results, select the region you want, crop to it, resize the width to 148 pixels, and change the portrait height to 125 pixels.
With that, I should have covered most of the basics. If anyone needs clarification on something, or an extra picture to clarify something, feel free to ask. I likely will be taking a break from making sprite sheets as doing 210 sprite sheets has really taken a lot out of me, but I will be happy to help anyone who needs help, and also would be happy to share any of my incomplete files and a list of my unripped characters if asked.
Here's links to the .pdn files as I can't upload them here directly:
Sprite sheet (Character Portrait) Template
Story Card Template
Thank you all for reading this, and I hope it allows more people to rip this game. I love it's art assets, and I really do worry they will be lost if Goodsmile pulls the plug on the game (It's got bad enough feature and power creep in the global version).
-Kana
I recently ripped the vast majority of assets for the mobile game Touhou Lost Word. It was quite a frustrating process, that required me to read multiple posts and threads, as well as experiment with AssetStudioGUI to speed the process up. A user over on the page for Lost Word asked me how I did it in the comments and there's absolutely no way I could have explained the process in detail there. This thread will go into the details of doing it.
To begin you'll need the following:
-AssetStudioGUI
-Touhou Lost Word on a phone you can access files from or BlueStacks (It's also recommended to have a good amount of play time prior)
-Patience
To start, you will need to make sure you have viewed the characters you wish to rip in game. You can do this by viewing them in a prayer banner or in the friends menu (for splash art), or on the home screen or in a cutscene (for character cutscene face sheets). You'll know this worked, because you'll see a "Connecting..." message in the bottom right. This means the game is downloading cache files from the game servers. Fantasy rebirths HAVE to be viewed from either the home screen or the friends menu, as they don't appear as options in the game till they are unlocked! There is currently no way around this!
After you have the files for the character you want, you will need to copy the cache files off the device with lost word on it. For an Android device, the cache folders are located at /Android/data/jp.goodsmile.touhoulostwordglobal_android/files/UnityCache/Shared/. They'll look like a bunch of folders with names that are a bunch of random characters, such as 00a5cc71935f0a01837b9ed33af10bb6, and will usually contain another folder with random characters that contains two items: __data and __info. A complete cache from global Lost Word will have around 5000 folders in UnityCache/Shared. You must copy the entire Shared folder to your computer, and this will take time, especially if you're doing this with a phone.
**THIS SECTION IS ONLY RELEVANT IF YOU DON'T USE THE ABOVE LINKED ASSETSTUDIGUI, WHICH WAS ADDED 4/10/2024**
Once complete you will have a huge issue, if you try to load the cache folders with AssetStudioGUI, it will simply crash. This seems to be due to the number of files in the folder. To get around this I recommend splitting the cache folders into around 10 smaller folders. I just label them 1 through 10, and plop in 500 at a time. Do know, this causes Windows Explorer to hang, as it doesn't seem to like the long folder names. It will eventually respond again so don't panic. Once you have them split, look for a folder with the exact name 51a48962361a31b281ac6b0242e0e871. This folder seems to crash AssetStudio 100% of the time. I think it might be intentionally there to prevent asset ripping. It's been in every cache dump I've done as well.
If you use the version of AssetStudioGUI provided in the above link, simply open the cache you copied to PC. No need to split anymore!
Your cache should now look like this:
After splitting up the folders and removing the bad one, you should be able to load each folder in the base 1-10 direction individually. You may get the following error when attempting to load in some folders:
Do not panic; This means that you simply need to split folder up further. I recommend splitting into two 250 folder sub-folders. Once open you'll see something like the following:
I recommend ignoring the scene hierarchy and clicking asset list. Once you do that, you a large list of assets will be displayed. I recommend clicking Filter Type in the top bar, and filtering by Texture2D if you intend to dump sprite assets. Once done the list will sort to just those, and I recommend clicking the name column to nicely sort each asset.
The following is a list of some of the useful assets you may encounter when opening the cache; Underscores and X's represent random numbers:
Texture2D :
-B______: These are character battle assets and are used in rendering characters in battle
-C______: These are cutscene portraits for characters and contain various facial expressions, occasionally the character or faces will be tilted 90 degrees counter-clockwise. Tilt them back for the sprite sheet.
-Change: These files (all named the same btw) are higher quality textures that I believe are used when a character is introduced.
-Costume: These images are used on character costume sections
-CostumeSquare: These are mini square versions of the costume images above
-Efuda: Although not character assets these are Story Card graphics
-EfudaSmall: Small in game displays of the of above asset
-G______: These are high quality portraits of characters, that are used on their friends page
-H______: These are pieces of character art?
-IconFace: These are small face icons for characters
-Large: These are displayed with the name of the character over them at the end of a battle.
-Square: Square versions of the Large assets above.
-ThumbLarge: Large thumbnails for story cards.
-ThumbSquare: Square thumbnail for story cards.
Sprites:
-Change: Same as the change in texture2D, however a bit more zoomed (And potentially higher quality?)
-command_face: In battle assets for character faces
-name_xxxxxx: Name plates each character, displayed upon encountering them in the story
-nickname_xxxxxx: Nameplates in Japanese, displayed with the above asset
If you sort by audio you can also find various voice clips, music, and background ambience; I haven't done that personally.
For character portraits, find the character(s) you want to rip, and rip their C______ , Change, Costume, CostumeSquare (only exists for character costumes, not in base ones), G______, Large, and Square png files, and the sprites name_xxxxxx and nickname_xxxxxx if you want them.
For story cards, only Efuda, EfudaSmall, ThumbLarge, and ThumbSquare are needed to ripped.
You should now have a folder with assets that look like this:
You will now need to put them into a sprite sheet of course; With this post, I will include the templates for character portraits and story cards that I personally use in Paint.net. I don't have experience or access to other picture manipulation tools except Gimp. With paint.net it should be as simple as adding each file as a layer, moving facial expressions around, and disabling the template background and saving as a PNG. I recommend using the change.png section of the image for thumbnails to use on here. For best results, select the region you want, crop to it, resize the width to 148 pixels, and change the portrait height to 125 pixels.
With that, I should have covered most of the basics. If anyone needs clarification on something, or an extra picture to clarify something, feel free to ask. I likely will be taking a break from making sprite sheets as doing 210 sprite sheets has really taken a lot out of me, but I will be happy to help anyone who needs help, and also would be happy to share any of my incomplete files and a list of my unripped characters if asked.
Here's links to the .pdn files as I can't upload them here directly:
Sprite sheet (Character Portrait) Template
Story Card Template
Thank you all for reading this, and I hope it allows more people to rip this game. I love it's art assets, and I really do worry they will be lost if Goodsmile pulls the plug on the game (It's got bad enough feature and power creep in the global version).
-Kana