Fable: The Lost Chapters Mod Scene - RDF feed
Fast Uncompromising Discussions. FUDforum will get your users talking.
I'm in the process of updating the def.xml using the Fable Anniversary uncompiled defs. This shines a ton of light on some of the options that we didn't know about.
Thanks for working on this and sharing it with us.
Yes, thanks a lot for this. I was hoping that the release of Anniversary, even if it stays Xbox only, would open up more modding possibilities for TLC. I did notice that a lot of the old folder architecture is there in the game files, however the bulk of the level information seems to now be in the .xxx Unreal engine format (as was to be expected) along with all the updated meshes and textures.
CultOfByron wrote on Tue, 11 March 2014 07:31 Yes, thanks a lot for this. I was hoping that the release of Anniversary, even if it stays Xbox only, would open up more modding possibilities for TLC. I did notice that a lot of the old folder architecture is there in the game files, however the bulk of the level information seems to now be in the .xxx Unreal engine format (as was to be expected) along with all the updated meshes and textures. Yep. I noticed a distinct lack of levels.stb. But that won't matter much for us. The only thing we can hope for other than it coming to PC is information on what we already have. Edit: Though I may take a look at the texture and model formats real quick. From the object files it looks like they made hero suits from all the rival heroes and enemies.
[Updated on: Wed, 12 March 2014 14:41] I'm trying to also remove the unknowns from the members of each option as well. Usually by replacing it with _, TRUE|FALSE, or 'needslinking'. The options that need linking (that aren't already) are from the bigs, bins, or headers. It would slow me down immensely if I took the time to look up what type of link each one was, so I'll do it later. Just be aware that if an entry says 'needslinking' that it's a reference.
[Updated on: Fri, 14 March 2014 11:25] Bunch of work on special abilities.
[Updated on: Mon, 17 March 2014 14:46] You know... Several years ago when I originally worked on this I looked at all the special ability unknowns and I said to myself, "Keshire, there's no way we'll ever figure these out." So I just copied and pasted all of them in alphabetical order by CRC. Fast forward to present day me trying to match up what's in the uncompiled defs with our xml. "Keshire, wtf were you doing?" I also filled in a few other straggling cdefs here and there. I haven't been brave enough to go after the UI stuff yet. But I'll get there.
This is promising Keshire. I assume that if PC gets a port most of our tools will be semi if not fully usable? Anyway, thanks for sharing!
Zyreq wrote on Mon, 17 March 2014 19:00 This is promising Keshire. I assume that if PC gets a port most of our tools will be semi if not fully usable? Anyway, thanks for sharing! The bins are the same format (they open in FableExplorer). There doesn't seem to be any big formats. And the bbb (.bbb and .wad) are different. I haven't had a chance to manually grab anything out of them to check textures and models yet.
Assuming that the formats in that regard were figured out, would it be possible to export all the nice, new, higher quality stuff from Anniversary and import it into TLC, effectively creating a PC version of Anniversary(minus achievements and other such things)?
asmcint wrote on Mon, 17 March 2014 21:42 Assuming that the formats in that regard were figured out, would it be possible to export all the nice, new, higher quality stuff from Anniversary and import it into TLC, effectively creating a PC version of Anniversary(minus achievements and other such things)? I can't see why not. But, I couldn't find the dlc stuff, so it might be tied up in the unreal engine files (compressed) sitting outside the main directory. Or it's a separate download that I haven't seen.
Most unreal models and textures can be extracted using this: http://www.gildor.org/en/projects/umodel Love to know where the heightmaps are kept this time around since there's no .stb *goes back to flogging that dead horse* Thanks again Keshire for all you're doing with this!
CultOfByron wrote on Tue, 18 March 2014 06:26 Love to know where the heightmaps are kept this time around since there's no .stb *goes back to flogging that dead horse* Flog it some more! It clearly hasn't been chastised enough, else it would've made a noise by now!
asmcint wrote on Tue, 18 March 2014 07:50 CultOfByron wrote on Tue, 18 March 2014 06:26 Love to know where the heightmaps are kept this time around since there's no .stb *goes back to flogging that dead horse* Flog it some more! It clearly hasn't been chastised enough, else it would've made a noise by now! Most likely they either let the .lev's handle it, or moved them into the unreal files. The level textures and some of the building meshes I know are in the unreal engine files. I couldn't find the rival hero outfits I saw listed in the bins. But I did pull out the updated hero and textures, as well as the chicken hammer, and golden sword dlcs. Getting the updated hero mesh into the game might be a bit problematic considering skin weights and all.
Assuming FA gets a PC port, would it be easy trying to replace the new hero with the old? I'm not a fan of the current face(most of the community isn't) so replacing it would be great
Zyreq wrote on Tue, 18 March 2014 09:56 Assuming FA gets a PC port, would it be easy trying to replace the new hero with the old? I'm not a fan of the current face(most of the community isn't) so replacing it would be great Well I can't say it's impossible. But I really have no idea until I have the game in my hands. And I can't test it on the x360 because I don't have one.
[Updated on: Wed, 19 March 2014 23:29] Not as much done as the previous times. Removed a bunch of dupes, and broke the ShaveHaPenny def in the process. The dupes and collisions that exist currently are these two examples: controlABC controlABC[array] and Graphic.BankIndex with one pointed at textures and the other models.
[Updated on: Thu, 27 March 2014 16:41] Ugh. Crapload of work. Got all/most the control names for the PLAYER_GUI. That should make altering the hud pretty easy. There's still some stuff I didn't get a chance to do. Namely links, and a few of the datatypes at the end are incorrect. A bunch of the colour entries are ints when they should be 4 bytes (RGBA). On the positive side though I fixed the def for it so the other half of the entries that were commented out now work. The editable section of the PLAYER_GUI has basically doubled. I put a lot of work into the UI def as well. But there's still an entry that pops up that is unicode that FableExplorer can't handle.
This thread made me register. Last time I was here was as a leech back in 2006 and possibilities were extremely limited back then. Now. Now we're talking. Updated def.xml, extremely useful. I have a small group of contacts who, along with myself, are semi-proficient at poking around with file formats as well as stuff of this nature. We're not pros or experts by a long shot, but we'd be happy to lend a hand where ever we can. Let me know what we can do. Post edit - now I see why they call it unicode hell. Yep, not sure what you can do about that one except add a unicode datatype to FE. A double-null terminated unicode string. Since there's nothing to define string length, or offset of the next control. Short of that, you could use the already existing datatypes to create a hackish "one size fits the lion's share of entries" sort of thing... but then I suppose that's already being done, entries with no text work just fine. XD Who are the coders in this joint? I know there can't be many, programmers and coders for projects of this nature are in high demand and short supply these days.
xxNick wrote on Thu, 27 March 2014 21:35 This thread made me register. Last time I was here was as a leech back in 2006 and possibilities were extremely limited back then. Now. Now we're talking. Updated def.xml, extremely useful. I have a small group of contacts who, along with myself, are semi-proficient at poking around with file formats as well as stuff of this nature. We're not pros or experts by a long shot, but we'd be happy to lend a hand where ever we can. Let me know what we can do. Post edit - now I see why they call it unicode hell. Yep, not sure what you can do about that one except add a unicode datatype to FE. A double-null terminated unicode string. Since there's nothing to define string length, or offset of the next control. Short of that, you could use the already existing datatypes to create a hackish "one size fits the lion's share of entries" sort of thing... but then I suppose that's already being done, entries with no text work just fine. XD Who are the coders in this joint? I know there can't be many, programmers and coders for projects of this nature are in high demand and short supply these days. Yep, those unicode entries came up near the end of when Hunter was writing Fable Explorer and never made it in. So right now any def that uses them are broken. As far as coders go, I'm not sure. I switched over to mostly lurker mode and occasionally pop in when I see something interesting. The same goes for the Fable 3 side. But if you want to have a go at coming in and rounding off some of the code and cleaning things up, have at it. There's still some activity here.
Just avoid touching the .stb for as long as possible. No point in just frivolously throwing your sanity away, after all.
Keshire wrote on Fri, 28 March 2014 08:02 Yep, those unicode entries came up near the end of when Hunter was writing Fable Explorer and never made it in. So right now any def that uses them are broken. As far as coders go, I'm not sure. I switched over to mostly lurker mode and occasionally pop in when I see something interesting. The same goes for the Fable 3 side. But if you want to have a go at coming in and rounding off some of the code and cleaning things up, have at it. There's still some activity here. Good to hear. I'll see what we can do within the scope of our admittedly limited skill. asmcint wrote on Fri, 28 March 2014 08:48 Just avoid touching the .stb for as long as possible. No point in just frivolously throwing your sanity away, after all. Further emphasizing limited skill. It looks like you guys have the stb mostly figured out anyway. It's basically the same as the wad and big formats, just with some extra funky entry content. Even then you have most of that sorted, it's just one piece of the puzzle missing. The docs you guys have in the wiki is exemplary, and truly that format is just one of the weirdest things I've ever seen. Not surprising to find its absence from the Anniversary edition.
[Updated on: Fri, 28 March 2014 15:02] Most of INVENTORY_TYPE is complete. There's a block still missing. I'll have to track down the def that uses those entries. It's possible Fable Anniversary eliminated whatever menu it was pointing at. I've already seen a few changes here and there to the def formats. This Def type in particular is a very good example of the crazyness that is the bin databases. All the INVENTORY_TYPE's share all the properties even if they don't use them.
xxNick wrote on Fri, 28 March 2014 13:32 The docs you guys have in the wiki is exemplary, and truly that format is just one of the weirdest things I've ever seen. Not surprising to find its absence from the Anniversary edition. But its absence begs the question as to how they went about dealing with heightmaps and various other level information.
Keshire wrote on Fri, 28 March 2014 15:06 This Def type in particular is a very good example of the crazyness that is the bin databases. All the INVENTORY_TYPE's share all the properties even if they don't use them. The whole thing is bonkers. I'm not in game design, and I often get tossed slack for criticizing people who are due to my lack of background in design, but I can't imagine any scenario where it would have been more difficult to create things like weapon entries, armor entries, misc item entries, all apart from each other without having to rely on the CDefs to get the game to tell one apart from the other. I want to meet the guy who thought that was better and/or easier. asmcint wrote on Fri, 28 March 2014 15:08 But its absence begs the question as to how they went about dealing with heightmaps and various other level information. Well, the heightmap, the thing the Hero walks on, isn't in the stb at all. The stb is just the stuff you see. What defines a piece of the map as walkable, the height at which the player stands on it, whether or not it's water, if the camera can go through it, all that's in the wad. Totally different lev format at play, not quite as bananas but still pretty ape. As Keshire said, in the absence of the stb, all (pfft, "all") they'd have to do is define the terrain and flora and water somewhere else, tng scripts perhaps. Just the stuff you see. Not really a small task, but perhaps it was done in such a way that we will be able to edit it. In which case, it is a very good thing. Not sure the map tngs would be a good way to do it though, as map editing would then become way more tedious. But, I don't know. We'll find out eventually. Hopefully we stand to gain and benefit from the changes.
asmcint wrote on Fri, 28 March 2014 15:08 xxNick wrote on Fri, 28 March 2014 13:32 The docs you guys have in the wiki is exemplary, and truly that format is just one of the weirdest things I've ever seen. Not surprising to find its absence from the Anniversary edition. But its absence begs the question as to how they went about dealing with heightmaps and various other level information. That's in the .Lev files. The .Levs are pretty much the collision mesh. The STB is the graphics. But they stored them as texture coordinates like a mesh would.
Just something for your next update. As is, links to names.bin. Seriously, awesome work you've done here. <Control name="RewardObjects" id="1FDE245A"> <Member name="RewardObjects" type="int" /> <Array name="RewardObjects[i]" elementcount="RewardObjects"> <Member name="_" type="int"> </Member> </Array> </Control>
xxNick wrote on Sun, 30 March 2014 13:01 Just something for your next update. As is, links to names.bin. Seriously, awesome work you've done here. <Control name="RewardObjects" id="1FDE245A"> <Member name="RewardObjects" type="int" /> <Array name="RewardObjects[i]" elementcount="RewardObjects"> <Member name="_" type="int"> </Member> </Array> </Control> Completely forgot about this. I'll start throwing the links in sometime soon. I think I've got the vast majority of unknowns listed. [Updated on: Tue, 01 April 2014 21:42] Since chocolatebox uses strict xml formatting I had to do some massive formatting changes. This thankfully reduced the filesize by quite a bit. Granted the xml linked in the first post isn't cbox compatible, it's an easy fix. <FableExplorerDefinitionListing xmlns="Fable" xmlns:xsi="Fable" xsi:noNamespaceSchemaLocation="file:def.xsd"> </FableExplorerDefinitionListing> to <DefinitionListing xmlns="Fable" xmlns:xsi="Fable" xsi:noNamespaceSchemaLocation="file:def.xsd" xmlns:n1="http://www.w3.org/2001/XMLSchema-instance" n1:schemaLocation="Fable def.xsd"> </DefinitionListing>
i tried to update the defs by replaceing the def in my Shadownet folder with the new anniversary def but when i clicked creatures none of the files or lists showed up? where do i put the new def?
Anniversary def? If you mean the def.xml in the first post there, you put it in the right place. Try clicking the plus sign to the left of whatever you're clicking. It's a tree-view.
One thing that's always bothered me was the seemingly random CRC's at the end of some of the arrays. At least I think they are CRCs. Quote: CE6CAB01 EE6CAB01 326DAB01 The main one that comes to mind is the very first one that's tied to the Components. <Member name="CE6CAB01" type="uint" comments="Don't Edit me! I'm a hack!"/> I've found a couple more as I was doing all this too. I'm beginning to think they are related to any def that use the .Add() function as a way of ending the array. There's going to be a few problems if that's the case, it's going to require some rearranging of data. For instance, this <Control name="Expressions" id="F0F1CA81"> <Member name="unknown" type="int" /> <Array name="unknown" elementcount="unknown"> <Member name="EExpressionType" type="int" /> <Member name="EExpressionType" type="int" /> <Member name="Animations" type="int"> </Member> </Array> </Control> <Control name="unknown" id="326DAB01"> <Member name="50A4BFB3 - Stats" type="uint" /> </Control> <Control name="MoralityForKill" id="0980BB37"> <Member name="unknown" type="int" /> </Control> <Control name="MoralityForPunch" id="5B6C61B3"> <Member name="unknown" type="int" /> </Control> <Control name="MoralityForWeaponHit" id="9ABB98EC"> <Member name="unknown" type="int" /> </Control> <Control name="ExperienceWorth" id="4A683826"> <Member name="unknown" type="int" /> </Control> <Control name="RenownWorth" id="57DE7E27"> <Member name="unknown" type="int" /> became this <Control name="Expressions" id="F0F1CA81"> <Member name="unknown" type="int"/> <Array name="unknown" elementcount="unknown"> <Member name="EExpressionType" type="int"/> <Member name="EExpressionType" type="int"/> <Member name="Animations" type="int"> </Member> </Array> <Member name="CRC?? - 326DAB01" type="int"/> </Control> <Control name="Stats" id="B3BFA450"> <Member name="CRC - MoralityForKill" type="int"/> <Member name="_" type="int"/> <Member name="CRC - MoralityForPunch" type="int"/> <Member name="_" type="int"/> <Member name="CRC - MoralityForWeaponHit" type="int"/> <Member name="_" type="int"/> <Member name="CRC - ExperienceWorth" type="int"/> <Member name="_" type="int"/> <Member name="CRC - RenownWorth" type="int"/> <Member name="_" type="int"/> </Control> Because for CCreatureDef these were Stats.MoralityForKill = int I had to leave duplicates for those in because CCreatureStatsDef uses them on their own.
Keshire, not to bother but I just wanted to add my support. Maybe you guys forget how many, many, many of us are on the sidelines watching, downloading, leeching, as they say. I'm a big fan of modding, but not being a coder or anything, I can do very little more than mod my own game and play around with files. The little grunt work we do is nothing compared to the stuff you, Oldboy, JohnDoe, Hunter, and all you guys did, so I just wanted to add my thanks, and ask you keep up the amazing job for those of us who'd take a hundred times longer to do a tenth of the work. Excelsior, bitches. And thanks again. V
yeah when i click tree view it only shows top of the window that has .viewdata .export .import .applychanges and everything under it is gone so i cant edit anything , is this def.xml Shadownet compatible? when i put the old def it works again but if i add the undated def it show no info , am i supposed to merg the defs ?
LittleV wrote on Wed, 02 April 2014 10:43 Keshire, not to bother but I just wanted to add my support. Maybe you guys forget how many, many, many of us are on the sidelines watching, downloading, leeching, as they say. I'm a big fan of modding, but not being a coder or anything, I can do very little more than mod my own game and play around with files. The little grunt work we do is nothing compared to the stuff you, Oldboy, JohnDoe, Hunter, and all you guys did, so I just wanted to add my thanks, and ask you keep up the amazing job for those of us who'd take a hundred times longer to do a tenth of the work. Excelsior, bitches. And thanks again. V ^This^ I'm no coder, but if there's anything I can do to help, I'd like to offer my time too.
Swanky_e wrote on Wed, 02 April 2014 14:12 yeah when i click tree view it only shows top of the window that has .viewdata .export .import .applychanges and everything under it is gone so i cant edit anything , is this def.xml Shadownet compatible? when i put the old def it works again but if i add the undated def it show no info , am i supposed to merg the defs ? I'll look into it. Could be an issue with the def itself. A syntax error maybe, or something got messed up when Kesh made it CBox-ready. In the meantime you can change the first line as Kesh instructed to make it work with CBox and use that for edits in the meantime. Or, I don't know. We'll figure something out brother, don't worry about it.
Weird. Did I break the linked one in the first post? I checked it in FE:shadownet before uploading it. I'll take a look at it tonight when I get off work.
Swanky_e wrote on Wed, 02 April 2014 14:12 yeah when i click tree view it only shows top of the window that has .viewdata .export .import .applychanges and everything under it is gone so i cant edit anything , is this def.xml Shadownet compatible? when i put the old def it works again but if i add the undated def it show no info , am i supposed to merg the defs ? Which def were you looking at? The xml in this thread works fine for me in the shadownet FE build.
I'm using the def you have at the top,ill try downloading it again is the def on this thread all that is required to see all the uncover the unknowns in FE?
Swanky_e wrote on Tue, 08 April 2014 01:46 I'm using the def you have at the top,ill try downloading it again is the def on this thread all that is required to see all the uncover the unknowns in FE? As many as I've felt obligated to do in my free time.
Got another. <Control name="StunnedParticle" id="E8420CF4"> <Member name="_" type="int"> </Member> </Control> As is links to textures. At some point I'll just run through a ton of entries looking for things and make a bigger post. Edit. A heads up, loading old mods with the new def.xml breaks def linking.
ow that explains a lot no disrespect Kensire the uncovered unknowns are a good step forward but a bit negligible for now at least form what i have read so far , I found out why the tree views did not work , i think it wont work if you use the Shadow Net build of Fable Explorer because when i used it in the basic FE it works fine. The only issue was i cant save mods and run fable if i use the later set up but that is fine because its still useful to just read the uncovered sections if i find them. I kind of had the idea in my head that you obtained a complete list of all the unknowns and that all you had to do was copy and past them into the def or merge old with new i had no idea it was a manual process than for your contributions
Why do i get an error when trying to edit the CAppearanceModifierDef gives me an: "Control bytes mismatch. ID=36E9BC1B" I'm trying to remove baldness.
Rubim wrote on Mon, 15 September 2014 06:26 Why do i get an error when trying to edit the CAppearanceModifierDef gives me an: "Control bytes mismatch. ID=36E9BC1B" I'm trying to remove baldness. Because the layout is different. Are you trying to open the Fable Anniversary bins?
Keshire wrote on Mon, 15 September 2014 06:32 Rubim wrote on Mon, 15 September 2014 06:26 Why do i get an error when trying to edit the CAppearanceModifierDef gives me an: "Control bytes mismatch. ID=36E9BC1B" I'm trying to remove baldness. Because the layout is different. Are you trying to open the Fable Anniversary bins? Exactly. I trough the game.bin was the same size but it seems not.
Rubim wrote on Mon, 15 September 2014 10:08 Keshire wrote on Mon, 15 September 2014 06:32 Rubim wrote on Mon, 15 September 2014 06:26 Why do i get an error when trying to edit the CAppearanceModifierDef gives me an: "Control bytes mismatch. ID=36E9BC1B" I'm trying to remove baldness. Because the layout is different. Are you trying to open the Fable Anniversary bins? Exactly. I trough the game.bin was the same size but it seems not. The file formats ARE the same. But these are compiled off of text files that weren't included. I've asked for them to be included (And they are present on the x360 anniversay) but I think that went on deaf ears. Basically they added a new entry to the CAppearanceModifierDef for Anniversary. It's not hard to fix, I just haven't had need to yet.
Keshire wrote on Mon, 15 September 2014 08:22 Rubim wrote on Mon, 15 September 2014 10:08 Keshire wrote on Mon, 15 September 2014 06:32 Rubim wrote on Mon, 15 September 2014 06:26 Why do i get an error when trying to edit the CAppearanceModifierDef gives me an: "Control bytes mismatch. ID=36E9BC1B" I'm trying to remove baldness. Because the layout is different. Are you trying to open the Fable Anniversary bins? Exactly. I trough the game.bin was the same size but it seems not. The file formats ARE the same. But these are compiled off of text files that weren't included. I've asked for them to be included (And they are present on the x360 anniversay) but I think that went on deaf ears. Basically they added a new entry to the CAppearanceModifierDef for Anniversary. It's not hard to fix, I just haven't had need to yet. I shall wait for your update then. Can't mod my evil baldness without that.
Rubim wrote on Mon, 15 September 2014 10:55 Keshire wrote on Mon, 15 September 2014 08:22 Rubim wrote on Mon, 15 September 2014 10:08 Keshire wrote on Mon, 15 September 2014 06:32 Rubim wrote on Mon, 15 September 2014 06:26 Why do i get an error when trying to edit the CAppearanceModifierDef gives me an: "Control bytes mismatch. ID=36E9BC1B" I'm trying to remove baldness. Because the layout is different. Are you trying to open the Fable Anniversary bins? Exactly. I trough the game.bin was the same size but it seems not. The file formats ARE the same. But these are compiled off of text files that weren't included. I've asked for them to be included (And they are present on the x360 anniversay) but I think that went on deaf ears. Basically they added a new entry to the CAppearanceModifierDef for Anniversary. It's not hard to fix, I just haven't had need to yet. I shall wait for your update then. Can't mod my evil baldness without that. http://fabletlcmod.com/forum/index.php?t=msg&goto=70680& amp;#msg_70680
Well done dude!
Rubim wrote on Mon, 15 September 2014 23:17 Well done dude! It's no problem. It's only like five minutes of work. The def.xml is just a high level way of mapping out binary data. If you can navigate a hex editor it's very easy to update it. FE even tells you what data it couldn't get to.