<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.8.0-dev (info@mypapit.net)" -->
<rss version="2.0" >
    <channel>
        <title>Fable2 Mod News</title>
        <description></description>
        <link>http://fable2mod.com/forums/</link>
        <lastBuildDate>Sat, 06 Jun 2026 21:42:58 GMT</lastBuildDate>
        <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator>
        <item>
            <title>GHF Heightfield Data</title>
            <link>http://fable2mod.com/forums/thread/237</link>
            <description><![CDATA[
So, after 11 years of tinkering and bimbling around and pestering coders who had long since moved on from this, I've managed to get something sensible out of the ghf heightfield files.<br />
<br />
Focusing on the Brightwood ghf (ch3heightfieldabandfarm_id_926492ed.ghf) I could not see any discernible pattern in the data.&nbsp; So on a whim I decided to open it in 7zip and voila: export360/data/worlds/albion/brightwood/heightfields/ch3heightfieldabandfarm_id_926492ed.ghf about 8Mb.<br />
<br />
First 14 bytes of nowt, then two integers of 769 (suspiciously like image dimensions) followed by a repeating pattern of 14 bytes throughout the file neatly organised into two columns.<br />
<br />
*Cracks knuckles and opens Photoshop, 5 minutes later...:*<br />
<br />
I renamed the extracted ghf file as a raw and with the following settings:<br />
<br />
Dimensions<br />
Width: 769<br />
Height: 769<br />
<br />
Channels<br />
Count: 14<br />
Interleaved: ✓<br />
Depth: 8-bits<br />
<br />
Header Size: 20 bytes<br />
<br />
<img src="https://i.ibb.co/Pm33Twk/Brightwood-Heightmap.jpg" title="https://i.ibb.co/Pm33Twk/Brightwood-Heightmap.jpg" alt="[Image: https://i.ibb.co/Pm33Twk/Brightwood-Heightmap.jpg]" /><br />
<br />
&nbsp;<img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/cool.png" title=":cool:" alt=":cool:" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /> <br />
<br />
Ok, so not perfect, but usable and a massive step in the right direction, another 11 years and it'll be about there!<br />
<br />
I can probably work with this for what I need to do, and I will get onto the Fable 3 ones once I've done these.
]]></description>
            <author> no_email@example.com (cultofbyron)</author>
            <pubDate>Mon, 23 Aug 2021 08:40:19 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/237</guid>
        </item>
        <item>
            <title>Music.bnk</title>
            <link>http://fable2mod.com/forums/thread/236</link>
            <description><![CDATA[
Hi there,<br />
<br />
I've just registered here after developing an interest in the Fable series and its potential for modding.&nbsp; I am at the moment attempting to extract the music.bnk file in order to listen to all the wav files therein, however no media player seems to be able to read them, despite apparently all of them being wav files.&nbsp; I have read elsewhere that Xbox game audio is usually in the .xma format, but that doesn't seem to be the case here.<br />
<br />
I'm wondering if this is an issue with the Hunter/Silver BNKExplorer program that has been posted on this site? Or is there a step I am missing in order to correctly decompress the bnk file?&nbsp; Perhaps there is a codec I need to obtain so that I can play them/convert them to something that IS playable?<br />
<br />
Many thanks for any help that anyone can provide <img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/wink.png" title=";)" alt=";)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /><br />
<br />
CultofByron
]]></description>
            <author> no_email@example.com (cultofbyron)</author>
            <pubDate>Mon, 29 Jul 2013 11:28:46 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/236</guid>
        </item>
        <item>
            <title>Fable 3 Modding</title>
            <link>http://fable2mod.com/forums/thread/37</link>
            <description><![CDATA[
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2Ffable3mod.com%2Fforums%2F" title="http://fable3mod.com/forums/">http://fable3mod.com/forums/</a>
]]></description>
            <author> no_email@example.com (JohnDoe)</author>
            <pubDate>Wed, 17 Nov 2010 07:26:55 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/37</guid>
        </item>
        <item>
            <title>LUAplus Compiler/Decompiler</title>
            <link>http://fable2mod.com/forums/thread/34</link>
            <description><![CDATA[
Figured I'd go ahead and move this to the tools section<br />
<br />
LuaPlus Compiler|Decompiler|Interpreter<br />
<br />
Currently the decompiler doesn't like scripts that reference C++ calls. You can still disassemble them though.
]]></description>
            <author> no_email@example.com (Keshire)</author>
            <pubDate>Wed, 21 Jul 2010 19:44:21 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/34</guid>
        </item>
        <item>
            <title>Decompiled Scripts</title>
            <link>http://fable2mod.com/forums/thread/31</link>
            <description><![CDATA[
Assuming anyone visiting here has the ability to modify the assets. Here's some interesting LUA script stuff that would be fun to change.<br />
<br />
<tt>-- Command line was: C:\LUA_SRC\Release\scripts.miscellaneous.sexfunctions.lua <br />
<br />
SexFunction = {}<br />
SexFunction.SexPartners = {}<br />
SexFunction.TrackedPartners = {}<br />
SexFunction.HavingSex = false<br />
SexFunction.Commenting = false<br />
SexFunction.AlwaysHaveChild = false<br />
SexFunction.HenchmanHavingSex = false<br />
SexFunction.FrameLastHadChild = 0<br />
SexFunction.Begin = function(l_1_0, l_1_1, l_1_2, l_1_3)<br />
&nbsp; Bed.SetOccupied(l_1_1, true)<br />
&nbsp; SexFunction.HavingSex = true<br />
&nbsp; Debug.SetShouldDrawWorldIcons(false)<br />
&nbsp; GUI.SetDPadEnabled(false)<br />
&nbsp; GUI.FadeScreenOut(1)<br />
<br />
**snip**<br />
</tt>

]]></description>
            <author> no_email@example.com (Keshire)</author>
            <pubDate>Mon, 19 Jul 2010 17:55:51 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/31</guid>
        </item>
        <item>
            <title>BNK Extractor (GUI)</title>
            <link>http://fable2mod.com/forums/thread/26</link>
            <description><![CDATA[
A bit late for this one, but here is a GUI version of Hunter's BNK extractor.<br />
<br />
There are only real two options when you open the file at the moment. <br />
<br />
You can dump the entire .bnk file. In this option you select the dump folder and within the dump folder it creates a full file path within the folder. <br />
<br />
You can also right-click and extract a file by hand using the context menu option within the treeview.
]]></description>
            <author> no_email@example.com (Silver)</author>
            <pubDate>Sun, 17 May 2009 01:30:42 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/26</guid>
        </item>
        <item>
            <title>Fable 2 Savegame Editor 0.6</title>
            <link>http://fable2mod.com/forums/thread/25</link>
            <description><![CDATA[
<b><span style="font-size:1.5em; line-height:120%">Fable 2 Savegame Editor</span></b><br />
current build: 0.6<br />
<img src="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/Fable2SavegameEditor06.jpg" title="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/Fable2SavegameEditor06.jpg" alt="[Image: http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/Fable2SavegameEditor06.jpg]" /><br />
<br />
<br />
<br />
<u><b>Older builds:</b></u><br />
<b><span style="font-size:1.1em; line-height:120%">0.5</span></b><br />
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2F%22http%3A%2F%2Fi227.photobucket.com%2Falbums%2Fdd83%2FxI_V3n93ance_Ix%2FFable%25202%2520Mod%2Fth_Fable2GamesaveEditor05.jpg%22" title="&quot;http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2GamesaveEditor05.jpg&quot;"><img src="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2GamesaveEditor05.jpg" title="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2GamesaveEditor05.jpg" alt="[Image: http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2GamesaveEditor05.jpg]" /></a><br />
<br />
<b><span style="font-size:1.1em; line-height:120%">0.2</span></b><br />
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2F%22http%3A%2F%2Fs227.photobucket.com%2Falbums%2Fdd83%2FxI_V3n93ance_Ix%2FFable%25202%2520Mod%2FFable2SavegameEditor02.jpg%22" title="&quot;http://s227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/Fable2SavegameEditor02.jpg&quot;"><img src="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2SavegameEditor02.jpg" title="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2SavegameEditor02.jpg" alt="[Image: http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2SavegameEditor02.jpg]" /></a><br />
<br />
<span style="font-size:1.1em; line-height:120%"><u><b>0.01</b></u></span><br />
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2F%22http%3A%2F%2Fs227.photobucket.com%2Falbums%2Fdd83%2FxI_V3n93ance_Ix%2FFable%25202%2520Mod%2FFable2App001.jpg%22" title="&quot;http://s227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/Fable2App001.jpg&quot;"><img src="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2App001.jpg" title="http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2App001.jpg" alt="[Image: http://i227.photobucket.com/albums/dd83/xI_V3n93ance_Ix/Fable%202%20Mod/th_Fable2App001.jpg]" /></a><br />
<br />
<br />
<br />
<span style="font-size:1.5em; line-height:120%"><u><b>Features:</b></u></span><br />
-Most of the values can be changed<br />
-Resigner/Hasher inside<br />
-All Abilities researched<br />
<br />
<span style="font-size:1.5em; line-height:120%"><u><b>ToDo:</b></u></span><br />
-<span style="color:&quot;#FF0000&quot;">Crack the "texturemorphs.bin"</span> ( help )<br />
Body values ?<br />
Inventory inside ?<br />
<br />
-<span style="color:&quot;#FF8C00&quot;">Fix some values</span> ( x64 related )<br />
Experience<br />
Morality<br />
Purity<br />
SaveUID<br />
<br />
-<span style="color:&quot;#00FF00&quot;">Make the Resigner/Hasher acessable</span><br />
<br />
<span style="color:&quot;#00FF00&quot;">Green</span> = Working on / Near 100%<br />
<span style="color:&quot;#FF8C00&quot;">Orange</span> = Started<br />
<span style="color:&quot;#FF0000&quot;">Red</span> = Not started yet<br />
<br />
<br />
<br />
<span style="font-size:1.5em; line-height:120%"><u><b>Description:</b></u></span><br />
Well, I have to stop my work here.<br />
Someone else, more skilled programmer will release his own Fable 2 App.<br />
My app is still not finish, and it will never be.<br />
<br />
There are some bugs and it may destroy your save.<br />
Use it at your own risk.<br />
<br />
Please dont post this on other Forums.<br />
<br />
<br />
<br />
<span style="font-size:1.5em; line-height:120%"><u><b>Tutorial:</b></u></span><br />
-Get your HeroXXX ( XXX for you number ) Save from your HDD<br />
( Location : Partition3 / Content / ( Your Profile) / 4D5307F1 / 00000001 / )<br />
-Make a backup of it<br />
-Open your Save with "Fable 2 Savegame Editor 0.6"<br />
-Edit the things you want<br />
-Save &amp; Close<br />
-Reblock and Resign with your favourite app<br />
-Play ^^
]]></description>
            <author> no_email@example.com (xI V3n93ance Ix)</author>
            <pubDate>Mon, 23 Feb 2009 06:52:46 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/25</guid>
        </item>
        <item>
            <title>CON Gamesave Information</title>
            <link>http://fable2mod.com/forums/thread/21</link>
            <description><![CDATA[
EDIT:<br />
Here are my saves, so you can do some research on your own.<br />
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2Fwww.megaupload.com%2Fde%2F%3Fd%3DSF1XZ5UD" title="http://www.megaupload.com/de/?d=SF1XZ5UD">MegaUpload.com Download</a><br />
<br />
/Edit<br />
So, I was a little bored and just took a look into the Fable 2 gamesave, which is in a CON Container that is stored at "Partition3\Content\*Your Profile ID*\4D5307F1\00000001\Hero***" on your HDD. ( * is a placeholder, there can be 000 or any other number )<br />
<br />
<u><b>Following Files I found inside the Container:</b></u><br />
saveuid.bin<br />
mainsave.bin<br />
Fable2PubInfo.xml<br />
herosave.bin<br />
chaptersave.bin<br />
texturemorphs.bin<br />
failquestsave.bin<br />
<br />
<br />
<u><b>What I found out:</b></u><br />
<b>saveuid.bin</b><br />
Looks like its a unique signature for the used savegame.<br />
The values are pretty random.<br />
<br />
<b>mainsave.bin</b><br />
Un-readable mix of signs. Maybe locations, inventory and everything alse which has todo with you.<br />
<br />
<b>Fable2PubInfo.xml</b><br />
Looks like there are all informations for the Mini-Games inside the game.<br />
Everything Unicode.<br />
<br />
<b>herosave.bin</b><br />
Actually an xml file.<br />
There is your amount of money, gender and your stats how Evil/Good you are and your morality.<br />
Also all the information about your Skills are stored in here and all your Experience and Total Experience is written down here.<br />
<br />
<b>chaptersave.bin</b><br />
Looks like there is your current Location and Quest named. Also, there is a value that says in what Chapter you are right now. Two other things, "RichPresenceType" and "NextLoadingScreenTip", are also named and I think that the last one is self explaned.<br />
<br />
<b>texturemorphs.bin</b><br />
That is the biggest file with nearly 2MB.<br />
Nothing in Unicode inside here. Sounds for me that here is your information abour scars or something.<br />
<br />
<b>failquestsave.bin</b><br />
Also, not readable.<br />
Dont know what this could be.<br />
<br />
<br />
<b>Last Update :</b><br />
12/16/08<br />
<br />
<br />
<br />
<u><b>Progress:</b></u><br />
<b>12/16/08</b><br />
<b>#1</b> - OK, tried to edit the amount of money from 88974 to 99999 inside the herosave.bin.<br />
Couldn´t start the save, Fable 2 kicks me with an "Unable to read disc" error out of the game.<br />
Looks like there is any check or something inside the hole thing ...<br />
<br />
<b>#2</b> - Found out that the SaveUID is something like a unique signature for every savegame.<br />
Also found out that there are a bunch of images inside that my app couldnt extract. Have todo it by hand.
]]></description>
            <author> no_email@example.com (xI V3n93ance Ix)</author>
            <pubDate>Tue, 16 Dec 2008 10:21:58 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/21</guid>
        </item>
        <item>
            <title>MDL Information</title>
            <link>http://fable2mod.com/forums/thread/20</link>
            <description><![CDATA[
Since Hunter asked me about it.<br />
<br />
I've mentioned before that MDL is a pretty standard and generic format. There may be differences from version to version and game to game, but it's going to be roughly the same.<br />
<br />
Anyways it looks like they used the SoftImageXSI SDK to make a few changes to the format itself. Plus like all the other files they stripped the headers.<br />
<br />
Anyways, I've seen reference to polymsh and grid mesh types. I guess they forgot to rename those submeshes....<br />
<br />
I'll take a closer look and see if I can write up a spec within the next few days.<br />
<br />
For a good example of what I'm talking about:<br />
File: LucienGuard_Collar.mdl<br />
MeshName: polymsh_detached1<br />
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2Fwww.kxcad.net%2FSoftimage_XSI%2FSoftimage_XSI_Documentation%2Fpolys_ExtractingPolygons.htm" title="http://www.kxcad.net/Softimage_XSI/Softimage_XSI_Documentation/polys_ExtractingPolygons.htm">http://www.kxcad.net/Softimage_XSI/Softimage_XSI_Documenta…</a>
]]></description>
            <author> no_email@example.com (Keshire)</author>
            <pubDate>Mon, 15 Dec 2008 12:34:37 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/20</guid>
        </item>
        <item>
            <title>LOCO File Format</title>
            <link>http://fable2mod.com/forums/thread/19</link>
            <description><![CDATA[
Here's a basic layout of the data structure of the locomotion.loco file.<br />
<br />
<tt><br />
#include "standard-types.hsl"<br />
<br />
#pragma byteorder(big_endian)<br />
#pragma maxarray(65536)&nbsp; &nbsp;&nbsp; // max that hw 5.1 will allow<br />
#pragma maxstring(512)<br />
<br />
typedef struct LocoEntry1Coords<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown;<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; X;<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Y;<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Z;<br />
} LocoEntry1Coords;<br />
<br />
typedef struct LocoEntry1<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown0;<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp; Name[16];<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown1;&nbsp; &nbsp; // always == 0x0820 ?<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknowns2[94];<br />
&nbsp;&nbsp;&nbsp; LocoEntry1Coords&nbsp; &nbsp; Coords[16];<br />
} LocoEntry1;<br />
<br />
typedef struct LocoEntry2<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknowns1[6];<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Unknowns2[94];<br />
} LocoEntry2;<br />
<br />
typedef struct LOCO&nbsp; &nbsp; &nbsp; &nbsp; // environment map<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown1;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown2;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; LocoEntry1Size;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; LocoEntry2Size;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown3;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Entry1Count;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Entry2Count;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Entry3Count;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; StringsSectionSize;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown7;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; LocoEntry1&nbsp; &nbsp; Entries1[Entry1Count];<br />
&nbsp;&nbsp;&nbsp; LocoEntry2&nbsp; &nbsp; Entries2[Entry2Count];<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Entries3[Entry3Count];<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp; StringsSection[StringsSectionSize];<br />
&nbsp;&nbsp;&nbsp; <br />
} LOCO;<br />
<br />
</tt>

]]></description>
            <author> no_email@example.com (TodX)</author>
            <pubDate>Sun, 14 Dec 2008 14:51:42 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/19</guid>
        </item>
        <item>
            <title>BIN File Format</title>
            <link>http://fable2mod.com/forums/thread/18</link>
            <description><![CDATA[
<tt>#include "standard-types.hsl"<br />
<br />
#pragma byteorder(big_endian)<br />
<br />
typedef struct BIN //Lipsync data<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD Count;<br />
&nbsp;&nbsp;&nbsp; DWORD Unknown[Count];<br />
} BIN;</tt><br />
<br />
<span style="font-size:0.6em; line-height:120%">No laughing!</span><br />
I'm guessing each of the unknowns calls a certain phoneme animation, so not really "unknown", just didn't know what to call it. I could probably work most of these out if I knew a piece of dialogue from a specific part of the game, so as to know which file it is.<br />
<br />
God knows I need more practice, but for now hopefully these simpler things will do. <img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/smile.png" title=":-)" alt=":-)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" />
]]></description>
            <author> no_email@example.com (JohnDoe)</author>
            <pubDate>Fri, 12 Dec 2008 12:07:24 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/18</guid>
        </item>
        <item>
            <title>Hashing advice requested</title>
            <link>http://fable2mod.com/forums/thread/17</link>
            <description><![CDATA[
Sorry for making a non-fable thread, but i dont really want to post this on gamedev-related forums since lately everyone on those forums is either too busy posting crap-based replies, or too busy to notice anything i post.<br />
<br />
I'm working on a project of my own, think about it as a MMORPG-sized single-player RPG w/ minimal life simulation, and i'm about to work on client/server stuff, and i'm in need of a proper file checksum algorithm so i can receive hashes from the client to the server in order to verify that the client has all the needed files and that none are damaged/modified.<br />
<br />
For those wondering, i need networking because the world simulation is quite CPU-intensive, so i'll make an exe exclusively for world simulation.<br />
<br />
CRC cannot be used, since it's possible to make fake CRCs for files, even if the client by default doesnt know the checksums, and MD5 seems to have it's own collisions issues.<br />
<br />
So, does anybody know of any good checksum algorithms i could use, preferably something that doesnt force me to pay licensing/royalties?<br />
<br />
Thanks a lot for your time regarding this message.
]]></description>
            <author> no_email@example.com (LittleCodingFox)</author>
            <pubDate>Sun, 07 Dec 2008 15:26:07 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/17</guid>
        </item>
        <item>
            <title>Fable D20</title>
            <link>http://fable2mod.com/forums/thread/16</link>
            <description><![CDATA[
I haven't updated these rules for 4th Edition. I also haven't written out the Paladin and 3 sub-wizard prestige classes. If anyone is interested I'd gladly do it.<br />
<br />
<blockquote class="quote"><div class="quote_inner"><div class="qname">Quote by Magic:</div><i>All magic hails from the age of the old kingdom. Invented and embedded into the land for its people. In essance the magic is alive.</i><br />
<br />
<b>Sorcerers</b> are the people who inherited this magic. Its part of their blood.<br />
<br />
<b>Druids</b> are not Old kingdom based but have learned to harness the magic from nature.<br />
<br />
<b>Clerics</b> and <b>Paladins</b> of all kinds are the same. The magic doesn't differentiate by god. Only alignment. But the religious don't know this.<br />
<br />
<b>Psionicists</b> work in a different way. They have attuned their bodies to emulate that of the Old kingdom peoples. They have tricked the magic into working for them. This trickery can <u>sometimes</u> be felt. But is generally considered harmless and partly natural.<br />
<br />
<b>Wizard</b>ry is fairly new to Albion. It was invented soon after outlying islands began immigrating into Albion. It FORCEABLY pulls and bends the magic. The effect is so unsettling to other magic users that it can be felt even if not seen. This magic is considered an abomination. And some suspect that it will lead to the destruction of Albion. <br />
<br />
<i>There are rumors of other ways to harness the magic of the Old kingdom but nothing substantial has come of these rumors.</i><br />
</div></blockquote><br />
<blockquote class="quote"><div class="quote_inner"><div class="qname">Quote by Class Changes:</div>Monks: must have a max concentration at all levels.<br />
<br />
Paladins: must have max Knowledge (religion) at all levels.<br />
may be any lawful. But Neutral Paladins must pick a leaning (favoring good or evil) for power purposes.<br />
<br />
Cleric: must have max Knowledge (religion) at all levels.<br />
<br />
Druid: Loses Wild Shape<br />
Gains Potion creation (Brew potions at half exp cost)<br />
Druids must pick a region that they hail from<br />
Must have max knowledge (nature) at all levels.<br />
<br />
Ranger: May choose classes as favored enemies.<br />
<br />
Sorceror: Must Have [Old Kingdom Blood] feat to take levels in Sorcerer.<br />
loses familiar ability<br />
<br />
Wizard: Must have [Skill Focus: Spellcraft] to take levels in Wizard.<br />
Must roll against spellcraft in order to transcribe new spells into spellbook.<br />
loses familiar ability, Gains Bluff as a class skill<br />
<br />
___<br />
<br />
Those caught within 10 feet of a Wizard casting a spell suffer -1 to all rolls for the round.<br />
<br />
<b>Exterminating Raze</b> [Special]<br />
<i>Your Magic techniques are particularly damaging to plant<br />
creatures.</i><br />
Prerequisites: Wizard<br />
Benefit: <i>Plant creatures caught within 20 feet of you suffer 2<br />
points of damage per spell level.</i><br />
Normal: <i>Plant creatures caught in your radius suffer<br />
no damage.</i><br />
<br />
<b>Agonizing Radius</b> [General]<br />
<i>Your Magic techniques are particularly painful.</i><br />
Prerequisites: Wizard<br />
Benefit: <i>Penalties for being caught within your radius<br />
increase by one (i.e. from -1 to -2).</i><br />
<br />
Due to the "Newness" of wizard magic. Specialization in a school is forbidden. Wizards must also find ways to hide thier spellbooks and somatic and verbal components (which are noticebly different from any other class) or suffer the consequences.<br />
<br />
Spellcasters may attempt to conceal the fact that they are attempting to cast a spell. This is an especially important pursuit for wizards, who are alltoo-frequently the unfortunate target of impromptu lynch mobs. When casting a spell, a spellcaster may attempt to conceal verbal and somatic<br />
components by making a Bluff check as a move equivalent action, to distract any witnesses. Onlookers may oppose the roll with a Sense Motive or<br />
Spellcraft check.<br />
<br />
Bluff Check Modifiers<br />
Situation Modifier<br />
The spellcaster is defiling -20<br />
<br />
Spellcraft or Sense Motive Modifiers<br />
Situation Modifier<br />
Target is closely observing spellcaster +5<br />
Target knows the character is a spellcaster +5<br />
<br />
Casting spells in cities with witnesses can be very dangerous. Lynch mobs, Guards and even other wizards generally flock to the scene when someone cries “Wizard!”<br />
</div></blockquote><br />
<blockquote class="quote"><div class="quote_inner"><div class="qname">Quote by Arena Mage Prestige Class:</div>Arena Mage Prestige<br />
<br />
The arena mage is a wizard who has acquired the<br />
skills necessary to survive the rigors of arena combat,<br />
engaging his opponents with an arsenal of spells. The<br />
lesson to conceal this spellcasting ability comes quickly, as<br />
failure means death. As such, an arena mage becomes a<br />
master at casting spells in secret, as well as masking his<br />
magic-use. To accomplish this feat, the arena mage has<br />
developed a unique talent to help him: giving his spells<br />
the trappings of psionic powers. Through the art of<br />
deception and a constant charade of psionic aptitude he is<br />
able to maintain secret his spellcasting even in the most<br />
public of places.<br />
<br />
Hit Die - D6<br />
Requirements:<br />
<br />
Skills: Bluff 8 ranks, Disguise 8 ranks, Knowledge<br />
(psionics) 4 ranks, Psicraft 4 ranks.<br />
<br />
Feats: Combat Casting, Eschew Materials, Psionic<br />
Mimicry, Skill Focus (Bluff).<br />
<br />
Spells: Able to cast 2nd-level arcane spells. Must know<br />
at least one melee touch spell and at least one spell<br />
with a psionic counterpart (such as keen edge).<br />
<br />
lv&nbsp; &nbsp;&nbsp; - bab/Fort/Ref/Will&nbsp; &nbsp;&nbsp; - Special&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; - Spell Casting<br />
lv1&nbsp; &nbsp;&nbsp; - +0/+0/+2/+2&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; - Arena Casting/Psionic Display&nbsp; &nbsp;&nbsp; - +1 level existing spellcasting class<br />
lv2&nbsp; &nbsp;&nbsp; - +1/+0/+3/+3&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; - Fast Concealment&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; - +1 level existing spellcasting class<br />
lv3&nbsp; &nbsp;&nbsp; - +1/+1/+3/+3&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; - Persistant Touch/Reputation&nbsp; &nbsp;&nbsp; - +1 level existing spellcasting class<br />
<br />
Class Skills (4 + Int modifier per level): Balance, Bluff, Climb, Concentration, Craft, Disguise, Gather Information,<br />
Intimidate, Jump, Perform, Profession, Psicraft, Sense Motive, Sleight of Hand, Spellcraft, Tumble.<br />
<br />
Arena Casting (Ex): You add half your arena mage<br />
level (rounded down) as a competence bonus to<br />
Concentration checks made to cast spells while on the<br />
defensive.<br />
<br />
Psionic Display (Ex): You can attempt to create<br />
psionic displays during the casting of a spell, with a<br />
successful Psicraft check (DC 15 + spell level). Adding<br />
displays to a spell provides a +5 circumstance bonus to<br />
Bluff checks made to conceal spellcasting. Spells that have<br />
psionic counterparts, such as daze, emulate the displays of<br />
their psionic counterparts; spells that do not have psionic<br />
counterparts get attributed random displays.<br />
An opponent can attempt to identify a spell being cast<br />
by you using the Psicraft skill, just as if the spell were a<br />
psionic?power,?as?long?as?the?spell’s?displays?correspond?<br />
to an actual psionic power. A spell that has random<br />
displays cannot be identified.<br />
<br />
Fast Concealment (Ex): By 5th level, you have become<br />
so good at concealing your spellcasting using the Bluff<br />
skill, that it is no longer a move action for you but rather a <br />
Free Action.<br />
<br />
Reputation (Ex): By 7th level, your exploits earn you<br />
the respect and admiration of those around you. You<br />
receive a +1 circumstance bonus to non-combat uses of the<br />
Bluff, Diplomacy, Gather Information, and Intimidate<br />
skills. These benefits do not apply when dealing with<br />
rival gladiators or their devoted fans. If you have or select<br />
the Leadership feat, you gain a +1 bonus to your<br />
Leadership score.<br />
<br />
Persistent Touch (Ex): The arena mage has mastered<br />
the use of touch spells in combat by 10th level. Whenever<br />
you use a melee touch spell, the charge persists for<br />
another round, allowing you to discharge the spell again<br />
the next round, as if you were holding the charge (PH<br />
141). If you are capable of multiple attacks per round (due<br />
to high level or being under the effects of haste, for<br />
example), you may instead elect to make multiple melee<br />
touch attacks with the spell against a single opponent, as<br />
though using a full attack action.<br />
</div></blockquote><br />
<blockquote class="quote"><div class="quote_inner"><div class="qname">Quote by Other Prestige Classes:</div>*These classes are extremely rare.... (1-3 within the world)*<br />
<br />
Gem Warrior Prestige<br />
Sub group of paladins. (Think jedi)<br />
(place holder)<br />
lv1 - <br />
lv2 -<br />
lv3 -<br />
lv4 -<br />
lv5 -<br />
<br />
<br />
Shadow Wizard - Future Wizard Sub-class<br />
New Feat [Tap the Shadow]<br />
(place Holder)<br />
lv1 - <br />
lv2 -<br />
lv3 -<br />
lv4 -<br />
lv5 -<br />
<br />
Cerulean Wizard - Future Wizard Sub-class<br />
New Feat [Tap Thunder]<br />
(place holder)<br />
lv1 - <br />
lv2 -<br />
lv3 -<br />
lv4 -<br />
lv5 -<br />
<br />
Necromancer - Future Wizard Sub-class<br />
New Feat [Tap the Grey]<br />
(place holder)<br />
lv1 - <br />
lv2 -<br />
lv3 -<br />
lv4 -<br />
lv5 -<br />
<br />
</div></blockquote>
]]></description>
            <author> no_email@example.com (Keshire)</author>
            <pubDate>Sun, 07 Dec 2008 10:10:13 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/16</guid>
        </item>
        <item>
            <title>GENV File Format</title>
            <link>http://fable2mod.com/forums/thread/14</link>
            <description><![CDATA[
This seems to be an environment map, don't know what it's linking to yet though.<br />
<br />
<tt><br />
#include "standard-types.hsl"<br />
<br />
#pragma byteorder(big_endian)<br />
#pragma maxarray(65536)&nbsp; &nbsp;&nbsp; // max that hw 5.1 will allow<br />
#pragma maxstring(512)<br />
<br />
typedef struct GENV&nbsp; &nbsp; &nbsp; &nbsp; // environment map<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknowns1[5];<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; CellsX;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; CellsY;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown2;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Map[CellsX*CellsY];&nbsp; &nbsp; // Environment ID for that cell<br />
} GENV;<br />
</tt>

]]></description>
            <author> no_email@example.com (TodX)</author>
            <pubDate>Sat, 06 Dec 2008 03:37:15 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/14</guid>
        </item>
        <item>
            <title>ENGINE_LEVEL - LevelGraphicsFile Format</title>
            <link>http://fable2mod.com/forums/thread/13</link>
            <description><![CDATA[
Here's what I have so far on the engine_level/LevelGraphicsFile format.&nbsp; This format will not properly work in HW as it seems to cut off the strings after 10 chars and thus screws the rest of the format, and in the process sucks up a ton of cpu and mem (a 2.2kb file sucked up 1.4gb ram).&nbsp; There may also be additional file types that I have not yet run into.<br />
<br />
This file seems to have links to a number of other files used for loading/rendering the level.&nbsp; This includes heightmaps and flora models.&nbsp; The flora models are followed by what looks like instancing data to spawn instances with.<br />
<br />
<tt>#include "standard-types.hsl"<br />
<br />
#pragma byteorder(big_endian)<br />
#pragma maxarray(65536)&nbsp; &nbsp;&nbsp; // max that hw 5.1 will allow<br />
#pragma maxstring(512)<br />
<br />
typedef struct Coord3D<br />
{<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; X;<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Y;<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Z;<br />
} Coord3D;<br />
<br />
typedef struct LGFFloraInstance<br />
{<br />
&nbsp;&nbsp;&nbsp; Coord3D&nbsp; &nbsp; Coord;<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Unknown1;&nbsp; &nbsp; // these two floats seem to always be very small, very close to 0<br />
&nbsp;&nbsp;&nbsp; float&nbsp; &nbsp; Unknown2;&nbsp; &nbsp; // they could be used for rotation maybe? though that's usually done with quaternions<br />
} LGFCoordEntry;<br />
<br />
typedef struct LGFUnknownBBEntry&nbsp; &nbsp; // looks like it might be bounding box, but not sure<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Start;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; End;<br />
&nbsp;&nbsp;&nbsp; Coord3D&nbsp; &nbsp; StartCoord;<br />
&nbsp;&nbsp;&nbsp; Coord3D&nbsp; &nbsp; EndCoord;<br />
} LGFUnknownBBEntry;<br />
<br />
typedef struct LGFFileEntry<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Type;<br />
&nbsp;&nbsp;&nbsp; zstring&nbsp; &nbsp; FileName;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; switch (Type)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; case 0x4:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown1;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown2;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; break;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; case 0x5:&nbsp; &nbsp; break;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; case 0x15:<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; char&nbsp; &nbsp; Unknowns1[11];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; DWORD&nbsp; &nbsp; CoordCount;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; float&nbsp; &nbsp; Unknowns2[11];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; char&nbsp; &nbsp; Unknowns3Null[24];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; LGFFloraInstance&nbsp; &nbsp; Coords[CoordCount];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; DWORD&nbsp; &nbsp; UnknownBBCount;&nbsp; &nbsp; &nbsp; &nbsp; // I think these might be bounding boxes, but not sure<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; LGFUnknownBBEntry&nbsp; &nbsp; UnknwonBBs[UnknownBBCount];<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; break;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; case 0x20:&nbsp; &nbsp; break;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; default:&nbsp; &nbsp; break;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; <br />
} LGFFileEntry;<br />
<br />
typedef struct LevelGraphicsFile<br />
{<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp; LevelGraphicsFileTag[17];&nbsp; &nbsp; // = "LevelGraphicsFile"<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown1;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; FileCount;<br />
&nbsp;&nbsp;&nbsp; LGFFileEntry&nbsp; &nbsp; Files[FileCount];<br />
&nbsp;&nbsp;&nbsp; <br />
} LevelGraphicsFile;<br />
</tt>

]]></description>
            <author> no_email@example.com (TodX)</author>
            <pubDate>Sat, 06 Dec 2008 03:15:13 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/13</guid>
        </item>
        <item>
            <title>Checklist</title>
            <link>http://fable2mod.com/forums/thread/11</link>
            <description><![CDATA[
<span style="font-size:1.2em; line-height:120%"><b>Models, textures, and related files.</b></span><br />
<br />
<span style="color:crimson"><b>GMD</b></span><br />
Game mesh data. Not the model, but information pertaining to the model. Most models have one.<br />
<span style="color:crimson"><b>HKX</b></span><br />
Related to models. Looks just like the HAVOK_SCENARIO files. Model physics?<br />
<span style="color:crimson"><b>HPB</b></span><br />
Related to models.<br />
<span style="color:orange"><b>MDL</b></span><br />
Models. xsi. Hopefully not the latest xsi. <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;id=20" title="http://fable2mod.com/forums/forum.php?req=thread&amp;id=20">Link to thread.</a><br />
<span style="color:limegreen"><b>MOF</b></span><br />
Skeletal morphs. Plain text.<br />
<span style="color:crimson"><b>BNK-Particles</b></span><br />
Effects data (effects.big?).<br />
<span style="color:crimson"><b>TEX</b></span><br />
Textures. Very likely to be DXTn. Swizzling is a possibility, compression is a definite. Compression is unknown.<br />
<span style="color:crimson"><b>BGF</b></span><br />
Related to GUI art, third party stuff.<br />
<span style="color:crimson"><b>BSG</b></span><br />
Related to GUI art, third party stuff.<br />
<span style="color:limegreen"><b>FAC</b></span><br />
Related to GUI art. Lists of UVs. Plain text.<br />
<span style="color:limegreen"><b>DDS</b></span><br />
Image container.<br />
<br />
<span style="font-size:1.2em; line-height:120%"><b>Animation files.</b></span><br />
<br />
<span style="color:crimson"><b>ANIMATION_DATA</b></span><br />
Animation data.<br />
<span style="color:crimson"><b>ANIMATION_TOC</b></span><br />
Related to animation data.<br />
<span style="color:limegreen"><b>LOCO</b></span><br />
Looks like animation data. The top looks to determine what animations are used and when. The bottom has what looks like a list of animations.&nbsp; <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;id=19" title="http://fable2mod.com/forums/forum.php?req=thread&amp;id=19">Link to thread</a><br />
<br />
<span style="font-size:1.2em; line-height:120%"><b>Audio, language and related files.</b></span><br />
Notes: No XMA2 codec exists.<br />
<br />
<span style="color:limegreen"><b>ADB</b></span><br />
Audio. Compressed. <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;id=7" title="http://fable2mod.com/forums/forum.php?req=thread&amp;id=7">Link to thread</a>.<br />
<span style="color:limegreen"><b>WAV</b></span><br />
Audio. XMA2.<br />
<span style="color:limegreen"><b>AMP</b></span><br />
Related to audio, looks like settings. XML/plain text.<br />
<span style="color:limegreen"><b>CSV</b></span><br />
Filehashes, one for audio files, the other for language files. Excel spreadsheet document.<br />
<span style="color:limegreen"><b>BIN</b></span><br />
Lip sync data. <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;id=18" title="http://fable2mod.com/forums/forum.php?req=thread&amp;id=18">Thread</a>.<br />
<span style="color:crimson"><b>BABEL</b></span><br />
Related to region-specific text files.<br />
<span style="color:crimson"><b>BFT</b></span><br />
Related to region-specific fonts.<br />
<br />
<span style="font-size:1.2em; line-height:120%"><b>Level files.</b></span><br />
<br />
<span style="color:crimson"><b>AMA</b></span><br />
Related to height field data. "ADMP".<br />
<span style="color:crimson"><b>AMM</b></span><br />
Related to height field data. "ADMP".<br />
<span style="color:crimson"><b>AMR</b></span><br />
Related to height field data. "ADMP".<br />
<span style="color:crimson"><b>EHF</b></span><br />
Related to height field data. "HeightFieldGraphicsFile".<br />
<span style="color:crimson"><b>HDB</b></span><br />
Related to height field data.<br />
<span style="color:limegreen"><b>GENV</b></span><br />
Contains environment map data.&nbsp; <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;id=14" title="http://fable2mod.com/forums/forum.php?req=thread&amp;id=14">Link to thread</a><br />
<span style="color:crimson"><b>GHF</b></span><br />
Related to height field data. First 4 bytes are 1F8B0808, but I don't think this is header info.<br />
<span style="color:crimson"><b>LMP</b></span><br />
Might be related to height field data. Same header as the GHF files. The rest looks the same too.<br />
<span style="color:limegreen"><b>AI_CONFIG</b></span><br />
Related to path finding data. XML/plain text.<br />
<span style="color:crimson"><b>AIM</b></span><br />
Related to path finding data. Kynogon Mesh.<br />
<span style="color:crimson"><b>FDL</b></span><br />
Related to path finding data. Kynogon FindNearest Data.<br />
<span style="color:crimson"><b>PDL</b></span><br />
Related to path finding data. Kynogon Spatial graph.<br />
<span style="color:crimson"><b>PPD</b></span><br />
Related to path finding data.<br />
<span style="color:crimson"><b>MIST</b></span><br />
Assuming it to determine where mist is.<br />
<span style="color:crimson"><b>WATER</b></span><br />
Assuming it to determine where water is.<br />
<span style="color:crimson"><b>DAT</b></span><br />
All named lightprobesdata.dat. Level lighting?<br />
<span style="color:crimson"><b>ENGINE_DATA</b></span><br />
Not a clue except for the header. "EngineResourceList".<br />
<span style="color:limegreen"><b>ENGINE_LEVEL</b></span><br />
Stores links to other files such as heightmaps and flora models and has instancing data for flora. <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;postid=77" title="http://fable2mod.com/forums/forum.php?req=thread&amp;postid=77">Link to thread</a>.<br />
<span style="color:crimson"><b>HAVOK_SCENARIO</b></span><br />
Level physics?<br />
<span style="color:limegreen"><b>SAVE</b></span><br />
XML/plain text. UIDs?<br />
<span style="color:crimson"><b>TEXTURE_ATLAS</b></span><br />
Guessing that these determine what textures are used where on the maps.<br />
<br />
<span style="font-size:1.2em; line-height:120%"><b>Other files.</b></span><br />
<br />
<span style="color:limegreen"><b>BIK</b></span><br />
Videos. Bink. <a href="forum.php?req=derefer&amp;url=http%3A%2F%2Fwww.radgametools.com%2Fbnkdown.htm" title="http://www.radgametools.com/bnkdown.htm">Player available here</a>.<br />
<span style="color:limegreen"><b>BNK</b></span><br />
Compressed archives. <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;id=1" title="http://fable2mod.com/forums/forum.php?req=thread&amp;id=1">Link to thread</a>.<br />
<span style="color:limegreen"><b>LUA</b></span><br />
Scripts. There's one for nearly every component of the game.<br />
<span style="color:crimson"><b>SBK</b></span><br />
Shader data. ShaderBankFile.<br />
<span style="color:limegreen"><b>SWF</b></span><br />
Pubgames. Flash 8/AS2. Decompiling produces FLA along with AS files, Javascript/plain text.<br />
<span style="color:limegreen"><b>XML</b></span><br />
XML/plain text. These are for the pubgames. Some determine settings, others are in-game text.<br />
<span style="color:limegreen"><b>GDB</b></span><br />
Looks like a list of stuff (Names.bin?). <a href="http://fable2mod.com/forums/forum.php?req=thread&amp;postid=72" title="http://fable2mod.com/forums/forum.php?req=thread&amp;postid=72">Link to post</a>.<br />
<span style="color:limegreen"><b>LIST</b></span><br />
Plain text, each has a list of corresponding files. (Map lists have map files listed, GUI lists have GUI files listed, etc. and so on.)<br />
<span style="color:limegreen"><b>MANIFEST</b></span><br />
Plain text, list of files on the disc.<br />
<span style="color:limegreen"><b>TXT</b></span><br />
Plain text. Some of these are lists, others look like they serve some purpose.<br />
<span style="color:limegreen"><b>XEX</b></span><br />
Executable. LZX compressed?<br />
<br />
<span style="color:limegreen">Known.</span><br />
<span style="color:orange">Not sure or incomplete.</span><br />
<span style="color:crimson">Unknown.</span><br />
<br />
To those who can, edit as you please.<br />
<span style="font-size:0.7em; line-height:120%">You're a moderator, Silver, you could have fixed it.</span> <img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/annoyed.png" title="&lt;_&lt;" alt="&lt;_&lt;" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /><br />
<span style="font-size:0.6em; line-height:120%">But I only edit posts for bad reasons.</span> <img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/grin.png" title=":-D" alt=":-D" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /><br />
<span style="font-size:0.5em; line-height:120%">Douche.</span> &nbsp;<img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/smile.png" title=":)" alt=":)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" />
]]></description>
            <author> no_email@example.com (JohnDoe)</author>
            <pubDate>Sat, 29 Nov 2008 09:50:27 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/11</guid>
        </item>
        <item>
            <title>GDB File Format</title>
            <link>http://fable2mod.com/forums/thread/10</link>
            <description><![CDATA[
<i><span style="color:darkviolet">Keshire</span><span style="color:crimson"> - Attached structures<br />
credit goes to Hunter for figuring out most of the format. <br />
I just cleaned it up and figured out some unknowns.</span></i>
]]></description>
            <author> no_email@example.com (LittleCodingFox)</author>
            <pubDate>Sun, 16 Nov 2008 11:07:23 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/10</guid>
        </item>
        <item>
            <title>BNK Extract/Lister/Mix</title>
            <link>http://fable2mod.com/forums/thread/9</link>
            <description><![CDATA[
I've made a BNK Extraction utility, which extracts files from BNK Archives, a BNK File Listing utility, which stores the list of files in a BNK archive in a text file, including size per file in bytes and whether the archive is compressed or not, and a BNK File Mixing utility, which extracts and mixes two similar archives' files, to be used mostly with *_headers.bnk / *.bnk<br />
<br />
Binary + Source attached. You'll need the Visual C++ 2008 runtime to run any of the programs, though.<br />
<br />
For compilation, you'll need FragmentLib, my support library. You can find it at <a href="forum.php?req=derefer&amp;url=http%3A%2F%2Fghostdev.gamedev-pt.net%2Fredirect.php%3Fmode%3Dencrypted%26url%3DRG93bmxvYWRzL0ZyYWdtZW50TGliX1JlbGVhc2U0LnppcA%3D%3D" title="http://ghostdev.gamedev-pt.net/redirect.php?mode=encrypted&amp;url=RG93bmxvYWRzL0ZyYWdtZW50TGliX1JlbGVhc2U0LnppcA==">http://ghostdev.gamedev-pt.net/redirect.…?mode=encrypted…</a>
]]></description>
            <author> no_email@example.com (LittleCodingFox)</author>
            <pubDate>Sat, 15 Nov 2008 12:56:50 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/9</guid>
        </item>
        <item>
            <title>Lua 5.1 decompiler</title>
            <link>http://fable2mod.com/forums/thread/6</link>
            <description><![CDATA[
For those of you looking for a Lua 5.1 decompiler, on the LuaAddons wiki, it says that ChunkSpy can decompile chunks (probably even full scripts) from Lua 5.0.2 and 5.1 files.<br />
<br />
Here's the <a href="forum.php?req=derefer&amp;url=http%3A%2F%2Fchunkspy.luaforge.net%2F" title="http://chunkspy.luaforge.net/">link</a><br />
<br />
EDIT: Nevermind, i didnt read the homepage itself but the LuaAddon Wiki page, and apparently it decompiles to assembly. I'll see if i can find an alternative<br />
<br />
I apologise for a useless thread.
]]></description>
            <author> no_email@example.com (LittleCodingFox)</author>
            <pubDate>Fri, 14 Nov 2008 16:17:38 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/6</guid>
        </item>
        <item>
            <title>ADB File Format</title>
            <link>http://fable2mod.com/forums/thread/7</link>
            <description><![CDATA[
What's ADB for? Is it the format for Animation Databases?
]]></description>
            <author> no_email@example.com (LittleCodingFox)</author>
            <pubDate>Fri, 14 Nov 2008 13:43:15 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/7</guid>
        </item>
        <item>
            <title>Source Code</title>
            <link>http://fable2mod.com/forums/thread/5</link>
            <description><![CDATA[
To help the progress of tools development for Fable 2 we are running a Subversion server with source code of currently developed tools.&nbsp; It is currently a very small codebase, but we're sure it will grow over time as more progress is made into the file formats.<br />
<br />
Check out is anonymous. If you would like to commit, please talk to us about it.<br />
<br />
Repository URL: svn://fable2mod.com:3690<br />
<br />
Happy Coding&nbsp; <img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/wink.png" title=";-)" alt=";-)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" /> <br />
<br />
P.S. Since the currently major developer of the code (myself) uses Visual Studio 2008, the code is setup to be built with visual studio 2008 solution/project files.&nbsp; On another note, a great Subversion plugin for Visual Studio is AnkhSVN, pretty much a must have in my opinion.
]]></description>
            <author> no_email@example.com (TodX)</author>
            <pubDate>Thu, 13 Nov 2008 09:17:54 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/5</guid>
        </item>
        <item>
            <title>Bogus BNK File Entries</title>
            <link>http://fable2mod.com/forums/thread/4</link>
            <description><![CDATA[
Hello everyone.<br />
<br />
I'm having a bit of an issue regarding BNK File Entries.<br />
<br />
I read the BNK File Header, and then seek to the offset of the File Data (as described on the Formats thread), however when i read the File Table, i get a bogus number of entries (about 120 million), which is obviously wrong.<br />
<br />
When exactly should i read the BNK File Entries? Should i read it just after reading the BNK Header and CompressedTable?<br />
<br />
Here is my File Table reading function:<br />
<br />
<tt>void IFileTable::DeSerialize(CStream Stream)<br />
{<br />
&nbsp;&nbsp;&nbsp; unsigned long FileCount = 0;<br />
&nbsp;&nbsp;&nbsp; READV(FileCount, sizeof(unsigned long), 1);<br />
&nbsp;&nbsp;&nbsp; Entries.Allocate(FileCount); //I breakpoint here to check FileCount<br />
&nbsp;&nbsp;&nbsp; for(unsigned long i = 0; i &lt; Entries.Size(); i++)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; Entries[i].Swap(new IFileEntry);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; Entries[i]-&gt;DeSerialize(Stream);<br />
&nbsp;&nbsp;&nbsp; };<br />
};<br />
</tt>
<br />
The BNK Header reading function:<br />
<br />
<tt>void IBNKHeader::DeSerialize(CStream Stream)<br />
{<br />
&nbsp;&nbsp;&nbsp; READV(Offset, sizeof(unsigned long), 1);<br />
&nbsp;&nbsp;&nbsp; READV(Unknown, sizeof(char), 4);<br />
&nbsp;&nbsp;&nbsp; READV(CompressFileData, sizeof(unsigned char), 1);<br />
&nbsp;&nbsp;&nbsp; READV(CompressedTableSize, sizeof(unsigned long), 1);<br />
&nbsp;&nbsp;&nbsp; READV(DecompressedTableSize, sizeof(unsigned long), 1);<br />
&nbsp;&nbsp;&nbsp; if(CompressedTableSize)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; CompressedTable.Allocate(CompressedTableSize);<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; READV(CompressedTable[0], sizeof(char), CompressedTableSize);<br />
&nbsp;&nbsp;&nbsp; };<br />
};<br />
</tt>
<br />
And here's what READV is:<br />
<br />
<tt>#define READV(object, size, count)\<br />
&nbsp;&nbsp;&nbsp; Stream-&gt;Read(&amp;object, size, count);\<br />
&nbsp;&nbsp;&nbsp; EndianConvert(&amp;object, size * count, true);<br />
</tt>
<br />
I hope someone can give me a hint as to what i am doing wrong.<br />
<br />
Thank you for your time regarding this issue, and have a nice day!<br />
<br />
EDIT: If it isn't obvious, the "CompressFileData" flag is 0.
]]></description>
            <author> no_email@example.com (LittleCodingFox)</author>
            <pubDate>Tue, 11 Nov 2008 18:40:16 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/4</guid>
        </item>
        <item>
            <title>Fable2 BNK Archive Extractor</title>
            <link>http://fable2mod.com/forums/thread/3</link>
            <description><![CDATA[
Attached is a BNK archive extractor I wrote up.<br />
<br />
Note: this extractor will not get you any generally usable files.&nbsp; The all internal files in the BNK archives we have seen so far are custom Fable2 formats.&nbsp; However, this is a key step to getting started on cracking the formats of these internal files.<br />
<br />
*Updated: Fixed error with dumping archives over 2gb.*<br />
<br />
This is strictly a command line tool for the time being.<br />
If you are uncertain of what this means, please google "command line".<br />
<br />
usage:<br />
Fable2BNKExtract -e &lt;archivename.bnk&gt;<br />
<br />
If you get errors running this make sure you have this installed:<br />
<a href="forum.php?req=derefer&amp;url=http%3A%2F%2Fwww.microsoft.com%2Fdownloads%2Fdetails.aspx%3FFamilyID%3D9B2DA534-3E03-4391-8A4D-074B9F2BC1BF%26displaylang%3Den" title="http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&amp;displaylang=en">http://www.microsoft.com/downloads/details.a…?FamilyID=9…</a><br />
<br />
Finally, if you still have get errors after installing this package, please post as much information as you can about how you generated the error and all details available about the error.<br />
<br />
Enjoy! and happy cracking&nbsp; <img src="http://fable2mod.com/forums/unb_lib/designs/_smile/unb/wink.png" title=";-)" alt=";-)" style="vertical-align:middle;width:15px;height:15px;" class="smilie" />
]]></description>
            <author> no_email@example.com (TodX)</author>
            <pubDate>Sat, 08 Nov 2008 09:00:36 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/3</guid>
        </item>
        <item>
            <title>BNK File Format</title>
            <link>http://fable2mod.com/forums/thread/1</link>
            <description><![CDATA[
<tt>#include "standard-types.hsl"<br />
<br />
#pragma byteorder(big_endian)<br />
<br />
typedef struct BNK<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; FileDataSectionOffset;<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp; Unknown[4]; //Probably Version<br />
&nbsp;&nbsp;&nbsp; byte&nbsp; &nbsp; CompressFileData; //I'm pretty sure this is a bool for compressing the file data<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; CompressedTableSize;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; DecompressedTableSize;<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp; CompressedTable[CompressedTableSize];<br />
} BNK;<br />
<br />
<br />
typedef struct FileEntry<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; NameLength ;<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp;&nbsp; FileName[NameLength];<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; FileStartOffset;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; FileSize;<br />
} FileEntry;<br />
<br />
typedef struct CompressedFileEntry<br />
{<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; DWORD&nbsp; &nbsp; &nbsp; &nbsp; NameLength ;<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; char&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; FileName[NameLength];<br />
&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; DWORD&nbsp; &nbsp; &nbsp; &nbsp; FileStartOffset;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; &nbsp; &nbsp; DecompressedFileSize;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; &nbsp; &nbsp; CompressedFileSize;<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; &nbsp; &nbsp; Count; //Compressed Chunks. 32k padded?<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; &nbsp; &nbsp; DecompressedSizes[Count];<br />
} CompressedFileEntry;<br />
<br />
<br />
typedef struct FileTable<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD FileCount;<br />
&nbsp;&nbsp;&nbsp; FileEntry Files[FileCount];<br />
}FileTable;<br />
<br />
typedef struct ADB<br />
{<br />
&nbsp;&nbsp;&nbsp; char&nbsp; &nbsp; Header[12]; //LhCoMpReSsEd always<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; Unknown; //number of files?<br />
<br />
} ADB;<br />
<br />
typedef struct ADBEntry<br />
{<br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; sizeDecompressed; <br />
&nbsp;&nbsp;&nbsp; DWORD&nbsp; &nbsp; sizeCompressed; <br />
<br />
} ADBEntry;<br />
<br />
<br />
</tt>

]]></description>
            <author> no_email@example.com (Keshire)</author>
            <pubDate>Wed, 05 Nov 2008 21:44:57 GMT</pubDate>
            <guid isPermaLink="false">http://fable2mod.com/forums/1</guid>
        </item>
    </channel>
</rss>
