World of Warcraft
Starcraft
Warcraft 3
Starcraft 2

Talk:DBC Files

From Source Peek Wiki

Jump to: navigation, search

Exceptions to FieldSize

(4-bytes) Fields*FieldSize (FieldSize is usually 4, but not always)

CharBaseInfo and CharStartOutfit have a fieldsize less then 4 --Jb55 08:19, 19 June 2006 (EDT)

...and SpellItemEnchantmentCondition. Guur3k 01:34, 24 January 2007 (EST)

Localization Bitmask

Any have any idea how this works yet? --Jb55 10:26, 25 June 2006 (EDT)




Just throwing these out there and I'm nearly positive that I'm wrong, but could it be a very archanic epoch of some type, or perhaps some quick refrence key to let the program know how much memory needs to be allocated for the string? I have no clue myself, all I know is it's useless (so I think =] ). --guur3k 1:50, 25 Jun 2006




Either of you have other localization's DBC files for comparison? If not, I'll try and get some. --Verrier 14:09, 25 June 2006 (EDT)




Alright, I did some looking (found some zhCN .DBCs... I'm also downloading WoWChina client to install as well). But it seems to me that it's NOT a localization bitmask in any way shape or form, the values are only different between builds of the client. Example:

--- KEY ---
.DBC File:
	LANG (Client Version)*: BitMask_Binary: BitMask_Integer - Flags 
	
NOTE: If multiple masks in a file, I used the most common appearing one. 
(* I am unsure on exact build of the game these .dbc files are from. General patch number is correct though.)
-----------

AuctionHouse.dbc:
	EN (1.11): 1111110000000001111110 - 4128894 - 2,3,4,5,6,7,17,18,19,20,21,22
	CN (1.9):  0111110000000000111110 - 2031678 - 2,3,4,5,6, ,17,18,19,20,21, 
	EN (1.9):  0111110000000000111110 - 2031678 - 2,3,4,5,6, ,17,18,19,20,21, 

SpellDispellType.dbc:
	EN (1.11): 11111110000000001111110 - 8323198 - 2,3,4,5,6,7,17,18,19,20,21,22,23
	CN (1.9):  11111110000000000111110 - 8323134 - 2,3,4,5,6, ,17,18,19,20,21,22,23
	EN (1.9):  11111110000000000111110 - 8323134 - 2,3,4,5,6, ,17,18,19,20,21,22,23
	
TaxiNodes.dbc:
	EN (1.11): 01111110000000000111110 - 4128830 - 2,3,4,5,6,17,18,19,20,21,22
	CN (1.9):  00111110000000000111110 - 2031678 - 2,3,4,5,6,17,18,19,20,21, 
	EN (1.9):  00111110000000000111110 - 2031678 - 2,3,4,5,6,17,18,19,20,21, 

So.. any other ideas? Haven't looked into this much. If we're sure this is a localization BitMask, care to show me where I went wrong? I may have some more information when my 1.10 chinese client finishes downloading. But some food for thought until then. I'll post some more detailed comparisons perhaps later in the week if nothing comes of this (hopefully confirm with French and German Clients). --Verrier 20:29, 25 June 2006 (EDT)






Alright, here's what I can come up with, and my current theory, although I have no proof of it either way. Also, I have no way to test this, but... perhaps sometime we can revisit it:


The bitmask contains a maximum of 23 IDs that I've seen. The bitmask value will *ALWAYS* go UP during some patches (but not every patch). I've NEVER seen the bitmask value go down. Whenever the bitmask value changes, the same certain bits are always modified. Presumeably has something to do with enabling certain localization features for the proceeding text strings, or somesuch. Even changing this BitMask field to 0 in the english version has *NO* effect on the text. I've attempted trying to get my English client to read another localization's text string by modifing this bitmask to no avail.


My current assumption is each bit has something to do with the localization. Assuming the last 8 bits coincide with each column used for localization strings.

ID Changes
1 Always 0
2-6 0 or 1
7-16 Always 0
17-23 0 or 1


My theory is that col's 17-23 have something to do with activating the language for the client, or atleast telling it that the string is in their current localization. If someone has another client they're able to play on a server, are there strings that come out in English instead of their default language? If so, what do their DBC files look like? I'm assuming there is english text in that field (as what I can tell from my 1.10 Chinese DBC)

Col's 2-6 also may have something to do with the language, but I believe it more of a formatting thing. Every bit in this set seems to have been changed pretty early on in the games history (except the 6th bit, which is still changed occasionaly in later patches).

In patch 1.2.2 where the early bits were changed significantly (I think)... there is a note about localization reading:

"Various text strings and audio have been corrected for the French and German versions of the game. "

Here's my notes on how the bits were changed from patch to patch. I didn't list the patch numbers unfortunately, but if you're interested in figuring this out in more detail, lemme know and I can link you to all the patch DBCs.

983052 -> 983054
11110000000000001100
11110000000000001110

7274524 -> 7274526
11011110000000000011100
11011110000000000011110

983068 -> 983070
11110000000000011100
11110000000000011110

983058 -> 983070
11110000000000010010
11110000000000011110

983042 -> 983070
11110000000000000010
11110000000000011110

983042 -> 983054 (someone messed up? changed 1 minor patch later)
11110000000000000010
11110000000000001110
983054 -> 983070 (Correction of the mess up?) 
11110000000000001110
11110000000000011110

458766 -> 983070
01110000000000001110
11110000000000011110

458766 -> 983054
01110000000000001110
11110000000000001110

7274510 -> 7274526
11011110000000000001110
11011110000000000011110

983070 -> 2031646
011110000000000011110
111110000000000011110

983054 -> 2031630
011110000000000001110
111110000000000001110

7274526 -> 8323102
11011110000000000011110
11111110000000000011110

2031630 -> 2031646
111110000000000001110
111110000000000011110

2031646 -> 2031678
111110000000000011110
111110000000000111110

8323102 -> 8323134
11111110000000000011110
11111110000000000111110

983070 -> 2031678
011110000000000011110
111110000000000111110

Good luck figuring it out!




Before I forget, I want to note that there were some pretty exclusive changes on the test realm right now (0(2).0.12.6531 I believe) which deal exclusively with this bitmask being changed.. and of course the patch notes again say "Various localization changes"... SO! If anyone reads this in the coming days.. check out that patch!

--Verrier 18:38, 29 March 2007 (EDT)


http://forums.hackwow.com/comments.php?DiscussionID=17

This page was last modified on 29 March 2007, at 22:38. This page has been accessed 2,900 times.