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.

Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)

Featured Replies

  • Author
  • Localization

LolHacksRule, posted Fri Apr 26, 2019 7:13 pm (47332)


I want to view the XLC file from Angry Birds: Transformers (I don't have a sample from ABGO), but it's mostly binary with plaintext values, how to edit and/or convert to plaintext and back?
  • Author
  • Localization

swuforce, posted Wed Jun 05, 2019 10:37 pm (48507)


You can unpack it with this Quickbms script.
Code:
goto 8
get unk long
get files long
xmath pos "24 unk * 4"
goto pos
xmath offset "files * 8 24 unk * 4"
for i = 1 to files
get size long
get unk long
log "" offset size
math offset = size
next i


Text are null terminated, so replace 0x00 with 0x0d0a, then back if you finish.
For unicode files 0x0000 with 0x0d000a00.
Keep size same or less, so you can reimport.
  • Author
  • Localization

LolHacksRule, posted Thu Jun 06, 2019 9:47 pm (48553)


THANK YOU SO MUCH! That makes it more easier to be able to datamine these files! I'll also credit you for the script on my Angry Birds Modding Hub Discord when it eventually comes out! I'll try ABGO's XLC later and see if that works. I analyzed this file's binary data before, I already knew the nulls split data. UPDATE: ABGO's works fine too!, next is ABT (China), there's an issue with that one, the files outputted are incomplete or wrongfully split and QuickBMS threw this error:
Code:
  offset   filesize   filename
--------------------------------------
  00000070 240526     00000000.dat
  0003abfe 97580      00000001.dat
  0005292a 269542     00000002.dat
  00094610 277392     00000003.dat
  000d81a0 263742     00000004.dat
  001187de 133806     00000005.dat
  0013928c 260982     00000006.dat
  00178e02 250242     00000007.dat
  001b5f84 271090     00000008.dat
  001f8276 4522070    00000009.dat

Error: incomplete input file 0: abtchina\locdb.xlc
       Can't read 396926 bytes from offset 002173f8.
       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    99%   2192348    2192376    . offset 002173f8

Last script line before the error or that produced the error:
  8   log "" offset size


When looking at the file, it has null bytes after a single text character meaning it is a Unicode version of the file!
  • Author
  • Localization

swuforce, posted Sun Jun 09, 2019 2:56 pm (48617)


Try now.
  • Author
  • Localization

LolHacksRule, posted Sun Jun 09, 2019 4:02 pm (48619)


00000002.dat, 00000008.dat, 00000006.dat have garbage outputted, the new script kinda worked though...
  • Author
  • Localization

swuforce, posted Mon Jun 10, 2019 9:20 am (48634)


If you can't force unicode encoding to them, just insert 0xFFFE before these files.
But don't forget to remove, when reimport.
  • Author
  • Localization

LolHacksRule, posted Mon Jun 10, 2019 5:30 pm (48648)


Ok then, thanks so much.
  • Author
  • Localization

LolHacksRule, posted Sat Apr 11, 2020 10:10 pm (55781)


Support for conversion to XML and back? ABT has a file like that but not used by the game... (dev leftover?), it would make modifying and reading strings much easier.
  • Author
  • Localization

LolHacksRule, posted Sat Apr 11, 2020 10:55 pm (55784)


Doesn't work on ABGO v1.13.9's localization file. Its not Unicode, specifically, the files from the script output meaningless data or minimal chunks of the localization data, my guess is it's a V1 XLC.
  • Author
  • Localization

LolHacksRule, posted Tue Feb 16, 2021 2:57 am (62284)


Bump?
  • Author
  • Localization

LolHacksRule, posted Tue Feb 16, 2021 6:01 pm (62300)


For a mod that works with the said file, replace 24 on lines 4 and 6 to 20.
  • Author
  • Localization

mtktz, posted Mon Apr 18, 2022 3:21 pm (71189)


I also had the same problem when extracting the .xlc f1 2016 android file, the output description appears coverage file 0 99%
I did the same step, but after reimport the error appears cant read 4 bytes in the first file, Even though I didn't edit it at all
  • Author
  • Localization

LolHacksRule, posted Wed Apr 20, 2022 4:23 am (71212)


mtktz wrote:
I also had the same problem when extracting the .xlc f1 2016 android file, the output description appears coverage file 0 99%
I did the same step, but after reimport the error appears cant read 4 bytes in the first file, Even though I didn't edit it at all

The reason why QuickBMS doing that is you're trying to make it write to the first listed chunk instead of the files while the chunks don't have the information on sizes. The command for repacking XLC should be something like (examples are used):
Quote:
quickbms -r -w -r -r ExientXGSEngineLangDatabase.bms modifiedfortest.xlc modding/modifiedtextstringsdirectory

To be honest, I never really repacked XLC yet, so I don't blame you. I however wrote this template for 010 Editor if it helps.

https://raw.githubusercontent.com/LolHacksRule/GameFileFormatsRE/main/Exient/ExientXGSEngineLangDatabase.bt
  • Author
  • Localization

mtktz, posted Wed Apr 20, 2022 10:45 pm (71223)


Now I know the reason
That's cool, i'll try what i can do with that template
Thank u so much for helping explain to me and also that template :)
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.