CTHULHU Posted Monday at 08:11 PM Posted Monday at 08:11 PM Hello everyone, I need help with unpacking localization files BMS scripts do not help The file format is unknown translate_words_map_en.zip
Supporter wq223 Posted Tuesday at 02:25 AM Supporter Posted Tuesday at 02:25 AM 6 hours ago, CTHULHU said: Hello everyone, I need help with unpacking localization files BMS scripts do not help The file format is unknown translate_words_map_en.zip 15.18 MB · 3 downloads I have uploaded the link to this file in discord, but I am dealing with the cn version. I downloaded your file and it should be similar. You can try this script. My script can only decompress and re-merge. I don’t know much about localization. https://drive.google.com/file/d/1SgG59QqW4qTxM1m5W7HoKo3VeZ6mbyQZ/view?usp=sharing
CTHULHU Posted Tuesday at 10:28 AM Author Posted Tuesday at 10:28 AM 7 hours ago, wq223 said: I have uploaded the link to this file in discord, but I am dealing with the cn version. I downloaded your file and it should be similar. You can try this script. My script can only decompress and re-merge. I don’t know much about localization. https://drive.google.com/file/d/1SgG59QqW4qTxM1m5W7HoKo3VeZ6mbyQZ/view?usp=sharing Thanks a lot !!!
kangmin Posted Wednesday at 12:44 AM Posted Wednesday at 12:44 AM 22 hours ago, wq223 said: I have uploaded the link to this file in discord, but I am dealing with the cn version. I downloaded your file and it should be similar. You can try this script. My script can only decompress and re-merge. I don’t know much about localization. https://drive.google.com/file/d/1SgG59QqW4qTxM1m5W7HoKo3VeZ6mbyQZ/view?usp=sharing hi sorry, new to these stuff, how do i use this? im trying to get a hold of the sound files of this game, its so epiccc like the sfx and music thanks for your help in advance!
unokiller Posted Wednesday at 06:16 AM Posted Wednesday at 06:16 AM On 11/18/2025 at 9:25 AM, wq223 said: Tôi đã tải lên liên kết đến tệp này trong bất hòa, nhưng tôi đang xử lý phiên bản cn. Tôi đã tải xuống tệp của bạn và nó sẽ tương tự. Bạn có thể thử tập lệnh này. Tập lệnh của tôi chỉ có thể giải nén và hợp nhất lại. Tôi không biết nhiều về bản địa hóa. https://drive.google.com/file/d/1SgG59QqW4qTxM1m5W7HoKo3VeZ6mbyQZ/view?usp=sharing did you find the game .ttf font in any mpk file?
Supporter wq223 Posted Wednesday at 06:35 AM Supporter Posted Wednesday at 06:35 AM 19 minutes ago, unokiller said: did you find the game .ttf font in any mpk file? ttf fonts I think they should be in the engine folder, maybe not packaged
unokiller Posted Wednesday at 06:43 AM Posted Wednesday at 06:43 AM 5 minutes ago, wq223 said: ttf fonts I think they should be in the engine folder, maybe not packaged <Root> <!-- Usage domestic oversea oversea_en oversea_kr oversea_ja oversea_zh_tw... --> <Font> <!-- normal text, in China mainland --> <Name>FZSKBXKJW.TTF</Name> <File>FZSKBXKJW.TTF</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- title text, in China mainland, plus HongKong/TaiWan --> <Name>AaShiSongTi-2.ttf</Name> <File>AaShiSongTi-2.ttf</File> <Usage>domestic|oversea_zh_cn|oversea_zh_tw</Usage> </Font> <Font> <!-- normal text (mobile), in China mainland --> <Name>FZSKBXKJW_mobile.TTF</Name> <File>FZSKBXKJW_mobile.TTF</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- art text, in China mainland --> <Name>ZHJB-Xiangjiahong.TTF</Name> <File>ZHJB-Xiangjiahong.TTF</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- ShouJinTi, another art text, in China mainland --> <Name>ZH-cjxkt.ttf</Name> <File>ZH-cjxkt.ttf</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- numbers, in all regions --> <Name>yyslsnumeral.ttf</Name> <File>yyslsnumeral.ttf</File> <Usage>domestic|oversea</Usage> </Font> <Font> <!-- normal text, in HongKong/TaiWan --> <Name>HanYiQuanTangShiS.ttf</Name> <File>HanYiQuanTangShiS.ttf</File> <Usage>oversea_zh_tw</Usage> </Font> <Font> <!-- art text, in HongKong/TaiWan --> <Name>ZHJB-Xiangjiahong_fanti.TTF</Name> <File>ZHJB-Xiangjiahong_fanti.TTF</File> <Usage>oversea_zh_tw</Usage> </Font> <Font> <!-- title text, in Janan --> <Name>FOTTsukuMinPr6-D.ttf</Name> <File>FOTTsukuMinPr6-D.ttf</File> <Usage>oversea_ja</Usage> </Font> <Font> <!-- normal text, in Janan --> <Name>FOTTsukuMinPr6-RB.ttf</Name> <File>FOTTsukuMinPr6-RB.ttf</File> <Usage>oversea_ja</Usage> </Font> <Font> <!-- art text, in Janan --> <Name>NEWRPGGAMEH72_ManyoGyoshoN-E.ttf</Name> <File>NEWRPGGAMEH72_ManyoGyoshoN-E.ttf</File> <Usage>oversea_ja</Usage> </Font> <Font> <!-- title text, in Korea --> <Name>SunBatang-Medium.ttf</Name> <File>SunBatang-Medium.ttf</File> <Usage>oversea_ko</Usage> </Font> <Font> <!-- normal text, in Korea --> <Name>SunBatang-Light.ttf</Name> <File>SunBatang-Light.ttf</File> <Usage>oversea_ko</Usage> </Font> <Font> <!-- art text, in Korea --> <Name>GowunBatang-Bold.ttf</Name> <File>GowunBatang-Bold.ttf</File> <Usage>oversea_ko</Usage> </Font> <Font> <!-- title text, in Europe --> <Name>AlegreyaSans-Medium.ttf</Name> <File>AlegreyaSans-Medium.ttf</File> <Usage>oversea_en|oversea_es|oversea_de|oversea_fr</Usage> </Font> <Font> <!-- normal text, in Europe --> <Name>AlegreyaSans-Regular.ttf</Name> <File>AlegreyaSans-Regular.ttf</File> <Usage>oversea_en|oversea_es|oversea_de|oversea_fr</Usage> </Font> <Font> <!-- art text, in Europe --> <Name>MrsEavSmaCap.ttf</Name> <File>MrsEavSmaCap.ttf</File> <Usage>oversea_en|oversea_es|oversea_de|oversea_fr</Usage> </Font> </Root> I found the contents of a file like this when I extract resources.mpk
Supporter wq223 Posted Wednesday at 06:49 AM Supporter Posted Wednesday at 06:49 AM 6 minutes ago, unokiller said: <Root> <!-- Usage domestic oversea oversea_en oversea_kr oversea_ja oversea_zh_tw... --> <Font> <!-- normal text, in China mainland --> <Name>FZSKBXKJW.TTF</Name> <File>FZSKBXKJW.TTF</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- title text, in China mainland, plus HongKong/TaiWan --> <Name>AaShiSongTi-2.ttf</Name> <File>AaShiSongTi-2.ttf</File> <Usage>domestic|oversea_zh_cn|oversea_zh_tw</Usage> </Font> <Font> <!-- normal text (mobile), in China mainland --> <Name>FZSKBXKJW_mobile.TTF</Name> <File>FZSKBXKJW_mobile.TTF</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- art text, in China mainland --> <Name>ZHJB-Xiangjiahong.TTF</Name> <File>ZHJB-Xiangjiahong.TTF</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- ShouJinTi, another art text, in China mainland --> <Name>ZH-cjxkt.ttf</Name> <File>ZH-cjxkt.ttf</File> <Usage>domestic|oversea_zh_cn</Usage> </Font> <Font> <!-- numbers, in all regions --> <Name>yyslsnumeral.ttf</Name> <File>yyslsnumeral.ttf</File> <Usage>domestic|oversea</Usage> </Font> <Font> <!-- normal text, in HongKong/TaiWan --> <Name>HanYiQuanTangShiS.ttf</Name> <File>HanYiQuanTangShiS.ttf</File> <Usage>oversea_zh_tw</Usage> </Font> <Font> <!-- art text, in HongKong/TaiWan --> <Name>ZHJB-Xiangjiahong_fanti.TTF</Name> <File>ZHJB-Xiangjiahong_fanti.TTF</File> <Usage>oversea_zh_tw</Usage> </Font> <Font> <!-- title text, in Janan --> <Name>FOTTsukuMinPr6-D.ttf</Name> <File>FOTTsukuMinPr6-D.ttf</File> <Usage>oversea_ja</Usage> </Font> <Font> <!-- normal text, in Janan --> <Name>FOTTsukuMinPr6-RB.ttf</Name> <File>FOTTsukuMinPr6-RB.ttf</File> <Usage>oversea_ja</Usage> </Font> <Font> <!-- art text, in Janan --> <Name>NEWRPGGAMEH72_ManyoGyoshoN-E.ttf</Name> <File>NEWRPGGAMEH72_ManyoGyoshoN-E.ttf</File> <Usage>oversea_ja</Usage> </Font> <Font> <!-- title text, in Korea --> <Name>SunBatang-Medium.ttf</Name> <File>SunBatang-Medium.ttf</File> <Usage>oversea_ko</Usage> </Font> <Font> <!-- normal text, in Korea --> <Name>SunBatang-Light.ttf</Name> <File>SunBatang-Light.ttf</File> <Usage>oversea_ko</Usage> </Font> <Font> <!-- art text, in Korea --> <Name>GowunBatang-Bold.ttf</Name> <File>GowunBatang-Bold.ttf</File> <Usage>oversea_ko</Usage> </Font> <Font> <!-- title text, in Europe --> <Name>AlegreyaSans-Medium.ttf</Name> <File>AlegreyaSans-Medium.ttf</File> <Usage>oversea_en|oversea_es|oversea_de|oversea_fr</Usage> </Font> <Font> <!-- normal text, in Europe --> <Name>AlegreyaSans-Regular.ttf</Name> <File>AlegreyaSans-Regular.ttf</File> <Usage>oversea_en|oversea_es|oversea_de|oversea_fr</Usage> </Font> <Font> <!-- art text, in Europe --> <Name>MrsEavSmaCap.ttf</Name> <File>MrsEavSmaCap.ttf</File> <Usage>oversea_en|oversea_es|oversea_de|oversea_fr</Usage> </Font> </Root> I found the contents of a file like this when I extract resources.mpk Font files should have specific file headers, maybe look for
KenUaena Posted Wednesday at 04:16 PM Posted Wednesday at 04:16 PM On 11/18/2025 at 9:25 AM, wq223 said: I have uploaded the link to this file in discord, but I am dealing with the cn version. I downloaded your file and it should be similar. You can try this script. My script can only decompress and re-merge. I don’t know much about localization. https://drive.google.com/file/d/1SgG59QqW4qTxM1m5W7HoKo3VeZ6mbyQZ/view?usp=sharing thanks for the script, but seems like the output is not really usable at this stage the text is kinda mess up (string get connected to each other with no delimiter or new line), and each of the .dat file got some unknown binary text as well (prob some kind of padding or header) guess we need to research more on how to decompress these translation file
Supporter wq223 Posted Wednesday at 06:38 PM Supporter Posted Wednesday at 06:38 PM 2 hours ago, KenUaena said: thanks for the script, but seems like the output is not really usable at this stage the text is kinda mess up (string get connected to each other with no delimiter or new line), and each of the .dat file got some unknown binary text as well (prob some kind of padding or header) guess we need to research more on how to decompress these translation file Maybe some kind of custom serialization structure, in other games most use bindict, but this one doesn't look like it
user854221 Posted 23 hours ago Posted 23 hours ago Here my analysis: Header: 24 bytes: [ Int64 EntryCount Int64 ValueCount Int32 Timestamp Int32 Padding ] Buckets: [24-528] bytes, based on allocated bucket TableEntries: EntryCount * [ 8 Bytes Hash(or id?), Int32 RelativeOffset, (formula: text_start = current_entry_offset + 8 + value) Int32 TextLength ] Values: ValueCount * [ Byte[ValueLength] Data ] Null value have zero length and no hash. Successfully unpack and pack, the game load new text normally. 1
Supporter wq223 Posted 21 hours ago Supporter Posted 21 hours ago 1 hour ago, user854221 said: Here my analysis: Header: 24 bytes: [ Int64 EntryCount Int64 ValueCount Int32 Timestamp Int32 Padding ] Buckets: [24-528] bytes, based on allocated bucket TableEntries: EntryCount * [ 8 Bytes Hash(or id?), Int32 RelativeOffset, (formula: text_start = current_entry_offset + 8 + value) Int32 TextLength ] Values: ValueCount * [ Byte[ValueLength] Data ] Null value have zero length and no hash. Successfully unpack and pack, the game load new text normally. A bit similar to bindict Bindict also has a bucket part, and it is also 8 bytes but they are int32 hash int32 value index offset
unokiller Posted 19 hours ago Posted 19 hours ago 3 hours ago, user854221 said: Here my analysis: Header: 24 bytes: [ Int64 EntryCount Int64 ValueCount Int32 Timestamp Int32 Padding ] Buckets: [24-528] bytes, based on allocated bucket TableEntries: EntryCount * [ 8 Bytes Hash(or id?), Int32 RelativeOffset, (formula: text_start = current_entry_offset + 8 + value) Int32 TextLength ] Values: ValueCount * [ Byte[ValueLength] Data ] Null value have zero length and no hash. Successfully unpack and pack, the game load new text normally. Did you succeed? any method?
Unlock777 Posted 6 hours ago Posted 6 hours ago 16 hours ago, user854221 said: Ecco la mia analisi: Intestazione: 24 byte: [ Int64 EntryCount Int64 ValueCount Int32 Timestamp Int32 Padding ] Bucket: [24-528] byte, in base al bucket allocato TableEntries: EntryCount * [ 8 Byte Hash(o id?), Int32 RelativeOffset, (formula: text_start = current_entry_offset + 8 + value) Int32 TextLength ] Valori: ValueCount * [ Byte[ValueLength] Data ] I valori nulli hanno lunghezza zero e nessun hash. Una volta decompressi e compressi correttamente, il gioco carica normalmente il nuovo testo. Were you able to create a script to extract and replace the text files?
user854221 Posted 4 hours ago Posted 4 hours ago tool.py Here a working script that will output json file with { hash: text, ... }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now