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.

Gameloft Localization Binary (2012[?]-? *.LANG)

Featured Replies

  • Author
  • Localization

LolHacksRule, posted Sat Oct 17, 2020 4:30 am (59525)


Gameloft's messy unnamed LZMA archives for C.O.R.E got a recent tool a while back after most of Sonic Unleashed's data was figured out, so I attempted to use it on Ice Age Village, but it didn't work, I then used the LZMA QuickBMS script to get a mess of data and eventually got these binary localization data files. I attempted to crack the binary format, if anyone wants to write a script, please do so, repacking is still going to be a pain.

UPDATE: This is exported from an internal Java application known as FlashExportText.

Code:
STRING ID DATA:
1byte: 00
?bytes: String ID bytesize
?bytes: String ID
1byte: 00
TEXT DATA:
?bytes: Text string bytesize
?bytes: Text string

Eventually ends with 0000001C
  • Author
  • Localization

Shokoniraya, posted Sat Oct 17, 2020 5:30 am (59526)


here a script
Code:
get FILE_NAMER filename
string FILE_NAMER ".txt"
endian big
for i
savepos CURRENT_LOCATION
get OVER_SIZE asize
xmath REST_SIZE "OVER_SIZE - CURRENT_LOCATION"

if REST_SIZE < 4
cleanexit
endif

get ID_TEXT_LENGTH short
getdstring ID_TEXT ID_TEXT_LENGTH

get TEXT_LENGTH short
savepos TEXT_OFFSET
slog FILE_NAMER TEXT_OFFSET TEXT_LENGTH
getdstring TEXT TEXT_LENGTH

get SECTION_NUMBER long
next i
  • Author
  • Localization

LolHacksRule, posted Sat Oct 17, 2020 8:03 pm (59555)


Thank you so much.
  • Author
  • Localization

LolHacksRule, posted Sat Oct 17, 2020 8:32 pm (59556)


UPDATE: Minor problem with CDN (ENGLISH). Please double check unless you don't plan to fix.

Code:
Error: incomplete input file 0: C:\Users\LolHacksRule\Desktop\Android\Apps\Gameloft\IceAgeVillage\assets_ext\22000\00000000.dat
       Can't read 2 bytes from offset 00101c72.
       Anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted.
       Please check the following coverage information to know if it's ok.

  coverage file 0   151%   1599157    1055858    . offset 00101c72

Last script line before the error or that produced the error:
  5   get ID_TEXT_LENGTH short
  • Author
  • Localization

Shokoniraya, posted Sun Oct 18, 2020 1:58 am (59567)


test it again
  • Author
  • Localization

LolHacksRule, posted Sun Oct 18, 2020 4:19 am (59569)


Thanks but would it be possible to dump string IDs along with the strings?
  • Author
  • Localization

Shokoniraya, posted Fri Oct 23, 2020 9:31 am (59699)


LolHacksRule wrote:
Thanks but would it be possible to dump string IDs along with the strings?

quickbms is not a xml importer or ini importer, it just export and import raw text
  • Author
  • Localization

LolHacksRule, posted Fri Oct 23, 2020 5:56 pm (59709)


Dang that works then I guess
Guest
This topic is now closed to further replies.

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.