• Welcome to the Fable Community Forum!

    We're a group of fans who are passionate about the Fable series and video gaming.

    Register Log in

****.

Skotekal

Sheeple President
Premium
****.

Well, I fear I have screwed something up. Big time. In my "EXPRESSIONS" section of FE, whenever I try to open something, it says "Control Byte Mismatch" I have to insert a new copy of the game.bin don't I? Damn, now I have to spawn it all again.
Any help appreciated.
 
Re: ****.

Skotekal;115143 said:
Well, I fear I have screwed something up. Big time. In my "EXPRESSIONS" section of FE, whenever I try to open something, it says "Control Byte Mismatch" I have to insert a new copy of the game.bin don't I? Damn, now I have to spawn it all again.
Any help appreciated.

It has something to do with the latest def.xml Fable Explorer uses. You didn't do anything wrong :cool:

I'd suggest making a copy of the newer def.xml since it has a lot more 'unknowns' filled in, and only use the older version if you want to edit expressions...

(Yeah, now I can use my new toy - attachments- for the first time :w00t:)

NOTE:
This file is created by Keshire, Silver and Hunter: I don't think you mind me posting it here, if you do; please let me know... And thanks again for FE!!!

Here's the older def.xml: deleted because of update

[edit]
You'll find the latest def.xml here.
 
Re: ****.

I put a couple hundred kb into the def.xml as well :p

How do I explain this... Ok just imagine you have a description for Expression as (I'm just going to make something up) AnimationLoop this will not be displayed in the .bin as text. Lionhead took this string and ran it through a CRC so essentially it is a number. This is what we call our control byte the checksum of that string. We don't have all the strings to generate the full list, that is why hunter wrote a brute force application to generate some of these.

Anyhow we had to compare multiple versions of the same files to figure out what were the control bytes and what were data. So sometimes they are not correct and need fixed! If you open the .xml file in notepad or whatever you can see the table structure on how the file is read at the bottom of the file. Please note the controls themselves are defined outside of this table and sometimes we can have multiple control bytes(numbers) that are the same either due to the CRC algorithm being flawed or Lionhead not being consistent.

Here is a general walkthrough of the listing My notes begin with * (do not copy paste this into your xml! :p
Code:
<DefinitionType name="EXPRESSION" hasCDefListing="true">   *This indicates that this is the lookup Table for Expression type in .Bins. CDEFlisting means it has additional info (cdefs possible in the header)


      <!-- Boolean List -->  *this is just notes
      <!-- /Boolean List -->  *not sure why this is here really :p
      <ControlInstance name="Expression Animation" />  * This is named "Expression Animation" as the control because the control exists elsewhere and was not the same. So we can define the control with a name.
      <ControlInstance id="FB967F3E" />  *Standard Control Byte
      <ControlInstance id="91CA5D2C" />
      <ControlInstance id="F3915C13" />
      <ControlInstance id="F6BFC922" />
      <ControlInstance id="13EC5C90" />
      <ControlInstance id="79B07E82" />
      <ControlInstance id="C3D823BD" />
      <ControlInstance id="E2F92BF1" />
      <ControlInstance id="0D419900" />
      <ControlInstance id="95C763A3" />
      <ControlInstance id="A2941985" />
      <ControlInstance id="81463506" />
      <ControlInstance id="A96D00F7" />
      <ControlInstance id="AC1137CB" />
      <ControlInstance id="1B5AB31F" />
      <ControlInstance id="DE3445EE" />
      <ControlInstance id="E84063AF" />
      <ControlInstance id="D46318B2" />
      <ControlInstance name="ExpressionNumber" />
      <ControlInstance id="F2D069A0" />
      <ControlInstance id="1740FCAE" />
      <ControlInstance id="610F5E37" />
      <ControlInstance id="F9E7D966" />
      <ControlInstance id="7AA0F0B7" />
    </DefinitionType> *End of listing
Now to find exactly where your bin went wrong it will give you a control mismatch error when it fails to locate the next Control in the series above. We will make something up again for an example:

Take these two:
<ControlInstance id="91CA5D2C" />
<ControlInstance id="F3915C13" />

Looking above in the xml we find 91CA5D2C:
Code:
<Control name="AnimationLoop" id="91CA5D2C">
      <Member name="ExpressionActionID" type="int">
        <Link to="NamesBINOffset" />
      </Member>
and
Code:
Control name="AnimationOutOf" id="F3915C13">
      <Member name="ExpressionActionID" type="int">
        <Link to="NamesBINOffset" />
      </Member>
    </Control>
To integers that both values equal offsets in the name.bin file. These will point directly to their action and will be text in FE. But in the .bin file they will look like:
Code:
91CA5D2C   DE7D0000     F3915C13     AE080000
Control    Int-Offset   Control      Integer-Offset

The problem is sometimes a control can be changed on accident or the file can contain the wrong data or maybe an unknown array we didn't know about. So if Fable Explorer cannot make it to the next control byte with the information defined early it throws an error. You can export the data and fix it in the Hex Editor if you know what to look for. Assuming you didn't get the wrong file and or messed the def.xml up. So really all you would need to do is text multiple Expression files and if only one of them didn't open you have a mistake but if all don't then somebody broke something :p

You don't need to follow any information above it is just an example of how the def.xml interacts and is used with .bins

Can you please post the mismatch error and when I install Fable again I'll fix the xml issue. Thanks
 
Re: ****.

I should/could have known. (edits post above...)

Thanks for the explanation about how the def works, don't know much about that stuff - but I did think about fixing it myself :wacko::wacko::wacko:

Anyways, the error:

Control bytes mismatch. ID=BB8AD6A
 
Re: ****.

Both OldBoy and Silver, who wrote FE, have both said that he's not "screwed" he just has to swap the xml's when he wants to work with Expressions :hmm:...:ninja:
 
Re: ****.

So lazy just posting IRC logs to explain...
[07:23:16:13] <Silver> <Control name="ExpressionNumber" id="490EB7EE"> was deleted from the xml <Control name="ExpressionNumber" id="BB8A8D6A"> still exists expression calls for ExpressionNumber specifically but it needs the 490EB7EE and tosses a mismatch
[07:23:16:15] <Silver> I just added it back in for a quick fix

Fable: The Lost Chapters Mod Scene: Tools => Fable Explorer Beta 4.1
New xml should do the trick.

HodgePodge;115822 said:
Both OldBoy and Silver, who wrote FE, have both said that he's not "screwed" he just has to swap the xml's when he wants to work with Expressions :hmm:...:ninja:
Hunter wrote Fable Explorer solely by himself.
 
Re: ****.

Silver;117111 said:
So lazy just posting IRC logs to explain...
[07:23:16:13] <Silver> <Control name="ExpressionNumber" id="490EB7EE"> was deleted from the xml <Control name="ExpressionNumber" id="BB8A8D6A"> still exists expression calls for ExpressionNumber specifically but it needs the 490EB7EE and tosses a mismatch
[07:23:16:15] <Silver> I just added it back in for a quick fix

Fable: The Lost Chapters Mod Scene: Tools => Fable Explorer Beta 4.1
New xml should do the trick.


Hunter wrote Fable Explorer solely by himself.

Thanks for the update :D

Now I don't have to switch the xml again...