Fable3mod - RDF feed
type: channel
description: Discussions for modifying Fable 3
items: DLC Unlocking discussion (merged)
items: Re: Paid DLC Checks
items: DLC Unlocking help
items: Re: DLC Unlocking help
items: Cannot move character [Need help]
items: Re: Cannot move character [Need help]
items: Understone
items: Re: Understone

DLC Unlocking discussion (merged)
type: item
description: It's been awhile since I've said anything on this topic. But I'll lay out quickly how Fable handles DLC checks. This is the Traitor's Keep quest script. The DLC is started by speaking to a steward in the castle which then starts the castle assassion cutscene. qc190_castleassassin.lua Here is the notable output that checks for DLC purchsed The interesting thing is that changing one byte (IE - [XXX] test; to [XXX] if true) with a hex editor will skip the DLC checking entirely. I've done it before so I know it works. Toggle Spoiler 3790 ** function [19] definition (level 2) ** start of function ** source name: (none) 3794 25020000 line defined (549) 3798 EE020000 last line defined (750) 379C 00 nups (0) 379D 01 numparams (1) 379E 00 is_vararg (0) 379F 0A maxstacksize (10) * code: 37A0 89020000 sizecode (649) 37A4 01000000 [001] getfield 1 0 0 ; ParentQuest 37A8 01010286 [002] getfield_r1 1 1 1 ; InitialState 37AC 02000000 [003] getfield 2 0 0 ; ParentQuest 37B0 02020486 [004] getfield_r1 2 2 2 ; States 37B4 02030486 [005] getfield_r1 2 2 3 ; OLD_QUARTER_ACS 37B8 00010468 [006] le 0 2 1 ; to [8] if true 37BC 00020039 [007] jmp 3 ; to [11] 37C0 01040110 [008] self 1 0 260 ; "SetState" 37C4 03050032 [009] loadk 3 5 ; "ASSASSIN_OUTRO" 37C8 01010604 [010] call_i 1 3 1 37CC 0106000C [011] getglobal 1 6 ; IsLevelLoaded 37D0 02070032 [012] loadk 2 7 ; "Albion\\CastleBattle" 37D4 01020404 [013] call_i 1 2 2 37D8 01000002 [014] test 1 0 ; to [16] if true 37DC 00060039 [015] jmp 7 ; to [23] 37E0 01000000 [016] getfield 1 0 0 ; ParentQuest 37E4 01080286 [017] getfield_r1 1 1 8 ; TeleportCharactersToPort 37E8 01010082 [018] test_r1 1 0 1 37EC 00020039 [019] jmp 3 ; to [23] 37F0 01040110 [020] self 1 0 260 ; "SetState" 37F4 03090032 [021] loadk 3 9 ; "ASSASSIN_INTRO_A" 37F8 01010604 [022] call_i 1 3 1 37FC 010A000C [023] getglobal 1 10 ; PhysicsCharacter 3800 010B0286 [024] getfield_r1 1 1 11 ; SetAsPushableByHero 3804 020C0000 [025] getfield 2 0 12 ; Entity 3808 0300001A [026] load…
creator: Keshire
date: 2013-09-09T01:09:24-00:00

Re: Paid DLC Checks
type: item
description: Would it be safe to assume that the same check works on all the DLC, including weapons and various articles of clothing? Or is it just the quest packs?
creator: asmcint
date: 2013-09-09T01:24:10-00:00

Re: Paid DLC Checks
type: item
description: asmcint wrote on Sun, 08 September 2013 18:24 Would it be safe to assume that the same check works on all the DLC, including weapons and various articles of clothing? Or is it just the quest packs? Got me. I just give it all to myself via script commands. Debug.AddAllDLC1Items() Debug.AddAllDLC2Items()
creator: Keshire
date: 2013-09-09T02:42:33-00:00

Re: Paid DLC Checks
type: item
description: Keshire wrote on Sun, 08 September 2013 19:42 asmcint wrote on Sun, 08 September 2013 18:24 Would it be safe to assume that the same check works on all the DLC, including weapons and various articles of clothing? Or is it just the quest packs? Got me. I just give it all to myself via script commands. Debug.AddAllDLC1Items( Debug.AddAllDLC2Items( Huh. Gonna have to remember that one.
creator: asmcint
date: 2013-09-09T14:33:49-00:00

Re: Paid DLC Checks
type: item
description: asmcint wrote on Mon, 09 September 2013 07:33 Huh. Gonna have to remember that one. Yep. They should all show up in guild hall once you unlock it. I'm not sure when they would unlock under normal circumstances. That newgame lua I posted basically starts you as a male, with the main game completed and good alignment. It made it easier to test quest changes obviously. With games for windows live being removed in the future I'm curious how the DLC stuff is going to be handled in retail version(Steam).
creator: Keshire
date: 2013-09-09T18:41:44-00:00

Re: Paid DLC Checks
type: item
description: Huh. So what would I have to remove/change from that to have it just start a normal new game with the DLC available?
creator: asmcint
date: 2013-09-09T18:58:57-00:00

Re: Paid DLC Checks
type: item
description: asmcint wrote on Mon, 09 September 2013 11:58 Huh. So what would I have to remove/change from that to have it just start a normal new game with the DLC available? Well the quickest way would be to not use that newgame script (It's just for testing~!), and instead use the script activation hacks listed in the old forum. Then you just need to plug in the debug unlocks and you are good to go.
creator: Keshire
date: 2013-09-09T19:16:22-00:00

Re: Paid DLC Checks
type: item
description: So... Does the old forum even exist, then? Because otherwise I won't be able to find what you're talking about. :/
creator: asmcint
date: 2013-09-09T22:03:11-00:00

Re: Paid DLC Checks
type: item
description: asmcint wrote on Mon, 09 September 2013 15:03 So... Does the old forum even exist, then? Because otherwise I won't be able to find what you're talking about. :/ kind of, maybe... Apart from the internet archive website, I have a backup of all the posts. Edit: http://fable3mod.com/forums/index.php?t=msg&th=33&st art=0&
creator: Keshire
date: 2013-09-10T01:25:18-00:00

Re: Paid DLC Checks
type: item
description: Alright, final question. What specifically should I change about the byte of data in order to skip the DLC check? Should I just change the number for the test byte to one that doesn't exist yet in the listings? Or is there something else I need to do?
creator: asmcint
date: 2013-09-10T03:19:42-00:00

Re: Paid DLC Checks
type: item
description: asmcint wrote on Mon, 09 September 2013 20:19 Alright, final question. What specifically should I change about the byte of data in order to skip the DLC check? Should I just change the number for the test byte to one that doesn't exist yet in the listings? Or is there something else I need to do? It's actually a pretty easy change once you figure out which statement to do. The first column is the offset. The second is the data. 38D0 01000002 [076] test 1 0 ; to [78] if true 38D4 000A0039 [077] jmp 11 ; to [89] 38D8 011D0000 [078] getfield 1 0 29 ; BeenThroughDLCPurchasing 38DC 01010082 [079] test_r1 1 0 1 38E0 00030039 [080] jmp 4 ; to [85] 38E4 01040110 [081] self 1 0 260 ; "SetState" 38E8 031E0032 [082] loadk 3 30 ; "BEGIN_QUEST_INTERACT_DLC" 38EC 01010604 [083] call_i 1 3 1 38F0 00D1FF38 [084] jmp -46 ; to [39] 38F4 01040110 [085] self 1 0 260 ; "SetState" 38F8 031F0032 [086] loadk 3 31 ; "BEGIN_QUEST_INTERACT_BOUGHT_DLC" 38FC 01010604 [087] call_i 1 3 1 3900 00CDFF38 [088] jmp -50 ; to [39] 3904 01040110 [089] self 1 0 260 ; "SetState" 3908 03200032 [090] loadk 3 32 ; "OFFER_DLC_PURCHASE_CUTSCENE" 390C 01010604 [091] call_i 1 3 1 You'd open it up in a hex editor and change, say, offset 0x38D0 to 01010002. You'd wind up with this if you disassembled it again: 38D0 01010002 [076] test 1 1 ; to [78] if false Which completely reverses that statement. This is some decently high level hacking here. I don't condone doing it accept as a learning experience once you've bought the DLC. Yada yada legal mumbo jumbo. The second part is being able to repack it into a working bank. It should work if you just stick it back into the DLC bank it came from. But then you have to deal with backups and stuff. I used timeslips mod stuff and stuck it in a higher folder. I'll put that tutorial up at some point in the future if someone else doesn't do it first.
creator: Keshire
date: 2013-09-10T05:16:12-00:00

DLC Unlocking help
type: item
description: I was trying to figure out how to unlock the DLC files for Traitor's Keep using the "Paid DLC Checks" post. I was able to get everything sorted to the point of disassembling qc190_castleassassin.lua using chunkspy. Got the line the bottom post told to edit, and saved it. I need to know if I have to reassemble the .txt SpyChunk makes, or can I just rename the .txt to a .lua and call it a day.
creator: StellKilo
date: 2013-10-14T16:49:48-00:00

Re: DLC Unlocking help
type: item
description: Fable III reads plaintext LUA the same way it reads the compiled shit. You ought to be just fine in saving the text as a .lua file and calling it a day.
creator: asmcint
date: 2013-10-16T04:13:29-00:00

Re: DLC Unlocking help
type: item
description: StellKilo wrote on Mon, 14 October 2013 09:49 I was trying to figure out how to unlock the DLC files for Traitor's Keep using the "Paid DLC Checks" post. I was able to get everything sorted to the point of disassembling qc190_castleassassin.lua using chunkspy. Got the line the bottom post told to edit, and saved it. I need to know if I have to reassemble the .txt SpyChunk makes, or can I just rename the .txt to a .lua and call it a day. So I'm assuming you changed the assembly output file? It's not quite that easy. You have to use a hex editor and make the change in the compiled lua. The assembly output at least tells you the offset you need to go to though.
creator: Keshire
date: 2013-10-16T12:34:35-00:00

Re: DLC Unlocking help
type: item
description: Keshire wrote on Wed, 16 October 2013 05:34 StellKilo wrote on Mon, 14 October 2013 09:49 I was trying to figure out how to unlock the DLC files for Traitor's Keep using the "Paid DLC Checks" post. I was able to get everything sorted to the point of disassembling qc190_castleassassin.lua using chunkspy. Got the line the bottom post told to edit, and saved it. I need to know if I have to reassemble the .txt SpyChunk makes, or can I just rename the .txt to a .lua and call it a day. So I'm assuming you changed the assembly output file? It's not quite that easy. You have to use a hex editor and make the change in the compiled lua. The assembly output at least tells you the offset you need to go to though. This was my problem, thank you. I thought you just remade the bnk's with the decompiled lua instead. Would explain why my game would screw up after reloading my save. Thanks man. EDIT: Another problem. Now When I get to Ravenscar keep, I cannot move. Weird.
creator: StellKilo
date: 2013-10-21T03:40:37-00:00

Cannot move character [Need help]
type: item
description: I have used the post http://fable3mod.com/forums/index.php?t=msg&th=28&st art=0& to trick the DLC check in Traitors Keep, it worked so far, but once I get off the boat to Ravenscar Keep, my character is completely frozen. I cannot move, yet I can hold CTRL and go into first person, and look around. Any idea how to fix this / the cause of this? I read a fix is to have someone join you in co-op, but I have no one to do this with. If anyone could help me with this, that'd be awesome.
creator: StellKilo
date: 2013-10-21T19:20:59-00:00

Re: Cannot move character [Need help]
type: item
description: StellKilo wrote on Mon, 21 October 2013 12:20 I have used the post http://fable3mod.com/forums/index.php?t=msg&th=28&st art=0& to trick the DLC check in Traitors Keep, it worked so far, but once I get off the boat to Ravenscar Keep, my character is completely frozen. I cannot move, yet I can hold CTRL and go into first person, and look around. Any idea how to fix this / the cause of this? I read a fix is to have someone join you in co-op, but I have no one to do this with. If anyone could help me with this, that'd be awesome. It looks like there might be a script failure. It happens to me too. But I skipped straight the end of the game and there's all kinds of things that are borked.
creator: Keshire
date: 2013-10-22T03:37:56-00:00

Understone
type: item
description: Does this quest show up if you haven't purchased it? Traitor's Keep at least has an NPC that offers to sell the DLC. I've had it working before but for the life of me I can't remember what I originally did. I know the pack is showing up because I've given myself all the content in the pack. And I could have swore 'The Voice' shows up in your quest list no matter what?
creator: Keshire
date: 2013-10-22T13:41:02-00:00

Re: Understone
type: item
description: As an aside. And to make sure everything was being loaded for myself. This opens up the path to Undertown. Layers.DeactivateLayer("Layer_QO100_FactorySim") Layers.DeactivateLayer("Layer_Understone_Locked") Layers.ActivateLayer("Layer_Understone_Open") But without activating the quest it looks like the villager simulation never starts (no shops), and of course no story and such.
creator: Keshire
date: 2013-10-22T20:02:28-00:00

Re: Cannot move character [Need help]
type: item
description: Keshire wrote on Mon, 21 October 2013 20:37 StellKilo wrote on Mon, 21 October 2013 12:20 I have used the post http://fable3mod.com/forums/index.php?t=msg&th=28&st art=0& to trick the DLC check in Traitors Keep, it worked so far, but once I get off the boat to Ravenscar Keep, my character is completely frozen. I cannot move, yet I can hold CTRL and go into first person, and look around. Any idea how to fix this / the cause of this? I read a fix is to have someone join you in co-op, but I have no one to do this with. If anyone could help me with this, that'd be awesome. It looks like there might be a script failure. It happens to me too. But I skipped straight the end of the game and there's all kinds of things that are borked. Bah. So is it tied with a savegame, or just the dlc files? I don't know if I have the patience to start another game from start to finish.
creator: StellKilo
date: 2013-10-23T02:16:14-00:00