Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Where Winds Meet [ZZZ4/Messiah]

Featured Replies

  • Replies 92
  • Views 18.7k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Here my analysis: Header: 24 bytes: [   Int64 EntryCount   Int64 ValueCount   Int32 Timestamp   Int32 Padding ] Buckets: [24-528] bytes, based on allocated bucket TableEntries: Entr

  • Thanks for some info from here and made a tool for unpacking and packing localize map files, if someone is interested in it. https://github.com/dest1yo/wwm_utils

  • tool.py Here a working script that will output json file with { hash: text, ... }

Posted Images

  • Author
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 !!! 

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!

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
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

 

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
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

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
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

  • Localization

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.

  • Supporter
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

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?

  • Localization
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?

  • Localization
2 hours ago, dest1yo said:

Thanks for some info from here and made a tool for unpacking and packing localize map files, if someone is interested in it.
https://github.com/dest1yo/wwm_utils

VirusTotal detected it as a Trojan

https://www.virustotal.com/gui/file/2b3a35a72096a0564c6f439fffed55449d7a366bb8d5094549b2f0d06d2de7a0/detection

Microsoft
Trojan:Script/Wacatac.B!ml

Edit: It is probably a false positive, since it is only detected by Microsoft.

Edited by Unlock777

  • Localization

btw
whats the different with this two file
translate_words_map_en & translate_words_map_en_diff

2 minutes ago, Dipzzzy said:

btw
whats the different with this two file
translate_words_map_en & translate_words_map_en_diff

`diff` is a patch, basically used to update strings for the main one. I haven't compared in detail what aspects it typically modifies, but the structure is the same, you can unpack them to check. Theoretically, our tool should merge the two files into main one when packing and set the `diff` file as a default file that doesn't include entries, but I haven't started working on that yet. If it's one like `_cn` version, it's very suitable for direct editing.

3 minutes ago, dest1yo said:

`diff` is a patch, basically used to update strings for the main one. I haven't compared in detail what aspects it typically modifies, but the structure is the same, you can unpack them to check. Theoretically, our tool should merge the two files into main one when packing and set the `diff` file as a default file that doesn't include entries, but I haven't started working on that yet. If it's one like `_cn` version, it's very suitable for direct editing.

Also I guess it is easy to handle the merging for them, might check that at some point when I am free.

  • Localization
55 minutes ago, dest1yo said:

https://github.com/dest1yo/wwm_utils/issues/1
Reference for new people see this later

I updated the comment, writing that it is probably a false positive, so as not to cause alarm.
Can you tell me if it extracts the text files and packages them? 
(They should be: \Where Winds Meet\Package\HD\oversea\locale\translate_words_map_en and translate_words_map_en_diff)

42 minutes ago, Unlock777 said:

I updated the comment, writing that it is probably a false positive, so as not to cause alarm.
Can you tell me if it extracts the text files and packages them? 
(They should be: \Where Winds Meet\Package\HD\oversea\locale\translate_words_map_en and translate_words_map_en_diff)

Check README, it has the info

Some of the updated text is in the data* files located in \LocalData\Patch\HD. There are two offsets: 08**00 and 20**00, where the ** represents the string length. There should be another offset as well; you can find the text fields by decompressing them using the tool provided by wq223.

53 minutes ago, Kizurin said:

Some of the updated text is in the data* files located in \LocalData\Patch\HD. There are two offsets: 08**00 and 20**00, where the ** represents the string length. There should be another offset as well; you can find the text fields by decompressing them using the tool provided by wq223.

index and MANIFEST can also unpacked.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.