ROM Hack Question Help Modding Switch Game for Translation

  • Thread starter Thread starter Skyluker4
  • Start date Start date
  • Views Views 8,793
  • Replies Replies 16
  • Likes Likes 1

Skyluker4

Member
Newcomer
Joined
Jan 14, 2021
Messages
19
Reaction score
23
Trophies
0
Location
Fayettville, Arkansas
Website
www.lukesimmons.codes
XP
230
Country
United States
I'm trying to mod Dokapon UP! to get English translations, but I'm running into trouble when I try modding the strings in the game. The game runs on Unity and I've found that all the strings are stored in the StreamingAssets folder as an AssetBundle file paired along with a manifest file. After editing the AssetBundle that contains all of the strings and recompressing it, the game gets stuck at the loading screen. When just extracting and recompressing the Asset Bundle without any modifications, the game runs fine. I'm thinking it may be a checksum problem since the manifest contains a CRC and hashes for the asset file and type tree. However, when deleting these values from the manifest and putting it in the LayeredFS, and running the game with the unmodified AssetBundle, it runs fine. So the hashes and CRC do not need to be part of the manifest in order for it to run, but modifying the strings themselves breaks the game. Is there some sort of verification that needs to be patched or is there a problem with Unity Asset Bundle Extractor that I'm using to mod the game? Any help or resources would be appreciated. Thank you.
 
  • Like
Reactions: Allybatross1
It means that you are editing file with strings in wrong way.
Unity don't use any hash and control check in retail game by default.

My guess is that you are not fixing string size value that is stored either before each string or in table at the beginning of file. You can check easily that it's not a issue of checks by changing one byte in any string so size will remain the same. I'm in 99.9% it will run
 
Last edited by masagrator,
It means that you are editing file with strings in wrong way.
Unity don't use any hash and control check in retail game by default.

My guess is that you are not fixing string size value that is stored either before each string or in table at the beginning of file. You can check easily that it's not a issue of checks by changing one byte in any string so size will remain the same. I'm in 99.9% it will run

Yep. Looks like you're right. The game runs when replacing it with a string of the same length. I'm having trouble finding where the lengths are stored, so I'll have to do some more digging.
 
I figured it out. Turns out that it's not the lengths of the strings that were the problem, but editing the raw file from the extractor and importing it truncated the last few bytes of the file. Since the files I was editing were JSON, the last brace was removed and invalidated it. I got it to work by extracting the formatted dumps instead of the raw data to edit.

So it turns out that it was a weird bug in Unity Asset Bundle Extractor. It happens when importing the raw file it looks like. The edited raw file looks fine, but when re-extracting the edited file from UABE and examining it the closing curly brace is missing.

So no problem with the string lengths; no other files needed to be changed. Just the method of changing them it turns out.
 
  • Like
Reactions: hippy dave
I recommend UnityEx as UABE is not maintained for over 2 years.

And you don't need to compress UnityFS again. Unity sccepts also decompressed ones.
 
I have no skills to offer, but Please keep everyone informed on this translation. I don't think Atlas is going to translate this one any time soon and I would love to play it with my family. Keep up the amazing work!!
 
Just wanted to give a little update. I've got some of the game translated with some help. Currently working on getting the character dialog translated. Looks like there's asset bundles inside of asset bundles or something (some weird binary file) for the character dialog. Making good progress with it though and I think it'll be ready to share in a couple months.
 
  • Like
Reactions: Allybatross1
This looks awesome! Thanks for trying to translate this. Let us know if you've got any updates on this!

--------------------- MERGED ---------------------------

Hi! Would you be able to repost this / allow access for me to join this discord? I'd love to join
 
  • Like
Reactions: bluf_ish
Hi, I'm trying to translate a game with unity engine (My Next Life as a Villainess All Routes Lead to Doom! ~Pirates of the Disturbance~) yes, it's that long.

But not sure how to start, I ripped the files from my switch to my pc and most of the files are in StreamingAssets (file formats: .acb .awb) and others in aa\Switch .bundle files.

659099116964195774_n.jpg
 
Hi, I'm trying to translate a game with unity engine (My Next Life as a Villainess All Routes Lead to Doom! ~Pirates of the Disturbance~) yes, it's that long.

But not sure how to start, I ripped the files from my switch to my pc and most of the files are in StreamingAssets (file formats: .acb .awb) and others in aa\Switch .bundle files.

View attachment 573002

Use this to load all your files and dump them: https://github.com/aelurum/AssetStudio/releases/tag/v0.19.0

Use this to pack them back in: https://github.com/nesrak1/UABEA
 
  • Like
Reactions: HasRock17

Site & Scene News

Popular threads in this forum