Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
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?
Last edited by LolHacksRule on Thu Aug 15, 2019 4:21 am, edited 2 times in total.
-
- Posts: 233
- Joined: Thu Oct 16, 2014 4:39 pm
Re: Angry Birds: Transformers/GO! (*.XLC, Locale Database?)
You can unpack it with this Quickbms script.
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.
Code: Select all
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.
Last edited by swuforce on Sun Jun 09, 2019 2:56 pm, edited 2 times in total.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Angry Birds: Transformers/GO! (*.XLC, Locale Database?)
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:
When looking at the file, it has null bytes after a single text character meaning it is a Unicode version of the file!
Code: Select all
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!
-
- Posts: 233
- Joined: Thu Oct 16, 2014 4:39 pm
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Angry Birds: Transformers/GO! (*.XLC, Locale Database?)
00000002.dat, 00000008.dat, 00000006.dat have garbage outputted, the new script kinda worked though...
-
- Posts: 233
- Joined: Thu Oct 16, 2014 4:39 pm
Re: Angry Birds: Transformers/GO! (*.XLC, Locale Database?)
If you can't force unicode encoding to them, just insert 0xFFFE before these files.
But don't forget to remove, when reimport.
But don't forget to remove, when reimport.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Angry Birds: Transformers/GO! (*.XLC, Locale Database?)
Ok then, thanks so much.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
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.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
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.
Last edited by LolHacksRule on Tue Feb 16, 2021 3:19 am, edited 1 time in total.
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
For a mod that works with the said file, replace 24 on lines 4 and 6 to 20.
-
- Posts: 2
- Joined: Mon Apr 18, 2022 12:31 pm
Re: Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
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
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
-
- Posts: 865
- Joined: Fri Apr 20, 2018 12:41 am
Re: Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
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):
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
Last edited by LolHacksRule on Sun May 29, 2022 12:25 am, edited 2 times in total.
-
- Posts: 2
- Joined: Mon Apr 18, 2022 12:31 pm
Re: Exient XGS Engine: Angry Birds: Transformers/GO! (*.XLC, Locale Database)
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
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