XeNTaX Forum Index
Forum MultiEx Commander Tools Tools Home
It is currently Sun Oct 22, 2017 9:39 am

All times are UTC + 1 hour


Forum rules


Please click here to view the forum rules



Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Compressed Watch Dogs Localization Files
PostPosted: Mon Jun 16, 2014 7:43 am 
Offline
veteran

Joined: Fri Feb 18, 2011 10:23 am
Posts: 106
Has thanked: 2 times
Have thanks: 29 times














You can make the ads go away by registering

Hi,
I think .loc files of the Watch Dogs uses similar compression used in the Assassins Creed series.
Anyone has any idea with these files? I added a sample of file.

<link removed due forum rules violation>


Top
 Profile  
 
 Post subject: Re: Compressed Watch Dogs Localization Files
PostPosted: Sun Oct 12, 2014 2:12 pm 
Offline
veteran

Joined: Fri Feb 18, 2011 10:23 am
Posts: 106
Has thanked: 2 times
Have thanks: 29 times
I found that
Image
I hope someone helps to investigate further.


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Compressed Watch Dogs Localization Files
PostPosted: Mon Jan 26, 2015 4:43 pm 
Offline
veteran

Joined: Fri Feb 18, 2011 10:23 am
Posts: 106
Has thanked: 2 times
Have thanks: 29 times
Hi people, I made a good progress.

I finally build string fragments table. But, I do not know how this fragment table is indexed from the file.

I successfuly build string fragments table for both small file provided in previous entry and main_english.loc file.
However, I do not know how indexing works. I tried 1 byte indexing to this string fragment table in small file, meaningful texts are appeared.
However, in main_english.loc file, we need more advanced indexing since there is more than 255 entries in the string fragments table.

Here the output for DBD82924.loc(small file)
Code:
looe *[24]* ew C.e  xe_*[34]*c atch_.c :*[42]*s estall*[46]*oe *[49]*EgerYou You Watch_Dogs® Bad BloodT-Bone Grady ContinueAiden Pearce New Game Aiden Pearce Continuee .*[98]*er ine treet SwYou have been invited to play the Bad Blood DLC. Accept the invite and the game will start automatically.You cannot join the DLC session, since the Bad Blood DLC is not installed.other *[173]**[174]*o*[176]*thlayfentreet zis DLC efrS*[189]*to uPp
- d enESinthf*[202]*onthe ai*[206]*vis ine is pitayIBloo a*[217]*.Bloos : playoois Bad Blooy*[226]*atchother tr*[230]**[231]*/pear_®*[237]**[238]*re*[240]*T-Bone playf a *[245]*WE*[248]*f*[250]*loothew ®f*[256]*A savegame for the Bad Blood DLC has been detected but the DLC is not installed. Install the DLC to use this savegame.*[305]*gYou must complete [CSS_BLUE]FADING SIGNAL[CSS_END] to access Bad Blood online features.:C Car qOnline Street Sweep: The GPS destination of the other player [GPSGWICON] is displayed on your map.gamethT-BontA*[422]*o*[424]* MBad Blood inoWce f*[432]*aisioner z*[437]* atch_Dunline Street Sweep: en*[443]*R/C Car othea Mear the R/C Car  s : *[454]*D*[456]*oanplayll e atT-Bone e playother E*[469]*trll*[472]*ear*[474]**[475]*with R/C Car is earine T-Bone dE*[484]*llth*[487]**[488]*c*[490]*NR/C Car *[493]**[494]*l.Gl- T-Bone Campaign : Play as T-Bone in his own story campaign.
- Street Sweep Missions : Weaken Chicago’s gangs to earn new rewards.
- Co-op Mode : Play Street Sweep missions with other players.
- 10 new Perks : Discover 10 new exclusive Perks to deal with


Here the string fragments for DBD82924.loc(small file)
Code:
""
" "
"e"
"e "
"c"
"t"
"s"
"n "
"s "
"in"
"u"
"i"
"C"
"o"
"P"
"a"
" the "
"f"
"."
"l"
"d"
"S"
"m"
"g"
"to"
"on"
"A"
"G"
"n"
"ea"
"r"
"h"
". "
"is "
"re"
"play"
"I"
"p"
"b"
"N"
"us"
" M"
"is"
"er"
"y "
"de"
"to "
"You "
"ur"
"R/C Car "
"ll"
" a"
"am"
"d "
"1"
"k"
","
"v"
"D"
"av"
"re "
"ce "
"ai"
"t the "
"ep"
"ear"
"s : "
" a "
"Bad Blood DLC "
"Watch_Dog"
"an"
"it"
"ted "
"en"
"game"
"tin"
"cannot join"
"s.{\n}- "
"stall"
" new "
"trac"
"T-Bone "
"sion"
"Online Street Sweep: "
"with "
"other play"
"er "
"ca"
"at"
"DLC "
"Bad Blood "
"ou"
"r "
"the "
"t "
"]"
"["
"y"
"W"
"wi"
"s."
"not "
"gam"
"Street Sweep"
"te"
"You"
"ew"
"DL"
": "
"lay"
"ee"
"0"
"O"
"E"
"M"
"L"
"w"
"_"
"oth"
"line "
"ion"
"T-Bon"
"ac"
"new "
"sta"
"{\n}- "
"- "
"ar "
"st"
"ew "
"Bad Bloo"
"loo"
"ay"
"th"
"R"
"q"
"‘"
"z"
"x"
"’"
"{\n}"
"F"
"U"
"-"
"T"
"B"
"®"
"atch_Dog"
"atch_Do"
"atch_D"
"atch_"
"atch"
"atc"
"nnot join"
"not join"
"not jo"
"not j"
"nline Street Sweep: "
"line Street Sweep: "
"line Street Sweep"
"th "
"other "
"ine "
"-Bon"
"Bon"
"/C Car "
"C Car "
"Car "
"ot "
"treet Sweep"
"treet Swee"
"treet Sw"
"treet S"
"treet "
"tree"
"ad Bloo"
"d Bloo"
"Bloo"
"tr"
"oo"
"C "
"/"
":"
"j"
"Y"


I hope there are people who can help me.

I just simply run the C# code in the attachment. It prints stringFragmentsTable entries, and output using 1 byte indexing.
My code is based on DerPlaya's code for Assassins Creed game.

Also, here my guess for loc file structure as template.
Code:
//--------------------------------------
//--- 010 Editor v5.0.2 Binary Template
//--------------------------------------

uint magic;
ushort languageCode;
ushort count1;
uint stringFragmentsOffset;
struct{
uint a,b;
}t[count1];
FSeek(stringFragmentsOffset);
int count2;//includes zero-zero node,but it is not written here
struct{
    short right,left;
}nodes[count2-1];


Attachments:


You do not have the required permissions to view the files attached to this post. Register to gain access.



Top
 Profile  
 
 Post subject: Re: Compressed Watch Dogs Localization Files
PostPosted: Mon Jan 26, 2015 11:04 pm 
Offline
ultra-veteran
ultra-veteran

Joined: Fri Nov 06, 2009 12:13 am
Posts: 588
Has thanked: 66 times
Have thanks: 126 times
had a few minutes to look at this quickly.

the bit ops are already quite confusing - but the c# is very easy to follow.

i've modified the loop to spit out the string chunks:

Code:
            while (numConsumedCodes < endOffset)
            {
                byte b = r.ReadByte();
                ++numConsumedCodes;

                if( b == 0 )
                {
                    Console.WriteLine("Line: '{0}'", sb.ToString());
                    sb.Clear();
                   // sb.Append("\n");
                }

                else if (b < maxStringFragmentIndex)
                {
                    string val = stringFragments[b+1].ToString() ;

                    Console.WriteLine("{0} '{1}'", (int)(b), val);
                    sb.Append(val);
                }
                else
                {
                    Console.WriteLine("UNKNOWN: {0}", (int)b);
                }


but there doesn't seem to be much data left for string sizes or offsets.

any idea what the 1x 8 byte tables does? are the string chunks split across multiple tables?


pm me another sample file if you can :)

_________________
Useful tool links:


Top
 Profile  
 
 Post subject: Re: Compressed Watch Dogs Localization Files
PostPosted: Wed Jan 28, 2015 9:08 am 
Offline
veteran

Joined: Fri Feb 18, 2011 10:23 am
Posts: 106
Has thanked: 2 times
Have thanks: 29 times
I do not know what those bytes mean. Probably, ID of string block.
Yes, there should be offsets somewhere. Because, when I look at the memory of the game, stings are loaded when needed.
Hence, game should be able to seek the needed string.


Top
 Profile  
 
 Post subject: Re: Compressed Watch Dogs Localization Files
PostPosted: Mon May 29, 2017 8:18 am 
Offline
ultra-n00b

Joined: Mon May 29, 2017 5:58 am
Posts: 7
Has thanked: 0 time
Have thanks: 0 time
+up


Top
 Profile  
 
 Post subject: Re: Compressed Watch Dogs Localization Files
PostPosted: Mon May 29, 2017 2:35 pm 
Offline
ultra-n00b

Joined: Mon May 29, 2017 2:32 pm
Posts: 5
Location: Turkey
Has thanked: 0 time
Have thanks: 0 time
Up+


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group