Home » Fable TLC » Discussion » Tutorials » Merging Regions
Merging Regions [message #61691] |
Thu, 03 March 2011 00:40 |
|
JohnDoe
Messages: 3007 Registered: October 2007
|
Retired
|
|
|
There used to be a thread on this but I cannot find it. This is some old-school modding information, back when Fable modding was limited to just level scripting. These old arts of modding have faded in time and I want to bring it back. This post will cover the topic of merging regions and will discuss the GTG, BWD and WLD files.Boring stuff first.The FinalAlbion.gtg is basically another TNG file except it's global, it's for all the maps. A quick way to describe it is as a teleport script override. All the teleport scripts in the GTG are in all the TNGs too, but the game will use the GTG scripts instead as this was a convenient and logical thing for the developers, and it makes loading times go faster, but it's annoying and troublesome for modders intent on merging regions.
The FinalAlbion.bwd is the same thing as the WLD, except it's binary. The game will use the binary version instead of the plain-text WLD because the binary version goes faster, though not that much faster. It's a very bothersome task mucking around binary levels files.
So, first
So, GTG/BWD, both annoying, both get in the way. Open the userst.ini, find the following two lines:UseCompiledWorldFiles TRUE;
UseCompiledGlobalThings TRUE; And change TRUE to FALSE. That was easy. Again, this will increase loading time, just a heads up. We are now ready to start merging regions.
Adding Additional (Existing) Levels to Regions
The WLD defines maps and regions. Open it up, it's plain-text like the TNGs. How it works is pretty self-explanatory when looking at it, but the brief version of is something like:
| Map N uses this LEV and this TNG, is located at X and Y, has water.
Region N, is called Region Name, here's the data for this region, these are the maps in this region and these are the maps seen by this region.
| So the idea is to change which maps are in which regions. Here's a brief example. These are two regions from the default WLD:Example snippet |
NewRegion 43;
RegionName "MayorsHouseBedroom";
NewDisplayName "TXT_REGION_MAYORS_HOUSE_BEDROOM";
RegionDef "REGION_MAYORS_HOUSE_BEDROOM";
MiniMapGraphic MINIMAP_MAYORSHOUSEBEDROOM;
MiniMapScale 1.0;
MiniMapOffsetX 0.0;
MiniMapOffsetY 0.0;
WorldMapOffsetX 1008.0;
WorldMapOffsetY 839.0;
NameGraphicOffsetX 0.0;
NameGraphicOffsetY 0.0;
ContainsMap "FinalAlbion\MayorsHouseBedroom.lev";
EndRegion;
NewRegion 65;
RegionName "GreyHouseHallway";
NewDisplayName "TXT_REGION_GREYHOUSEHALLWAY";
RegionDef "REGION_MAYORS_HOUSE";
MiniMapGraphic MINIMAP_GREYHOUSEHALLWAY;
MiniMapScale 1.0;
MiniMapOffsetX 9.0;
MiniMapOffsetY -84.0;
WorldMapOffsetX 1008.0;
WorldMapOffsetY 839.0;
NameGraphicOffsetX 0.0;
NameGraphicOffsetY 0.0;
MiniMapRegionExitTextOffsetX[BowerstonePosh] 0.0;
MiniMapRegionExitTextOffsetY[BowerstonePosh] 10.0;
ContainsMap "FinalAlbion\MayorsHouseHallway.lev";
EndRegion;
|
But those two maps connect, and I want to merge those regions. So I just take the ContainsMap lines from one region and paste them into the other.Merged Region |
NewRegion 43;
RegionName "MayorsHouseBedroom";
NewDisplayName "TXT_REGION_MAYORS_HOUSE_BEDROOM";
RegionDef "REGION_MAYORS_HOUSE_BEDROOM";
MiniMapGraphic MINIMAP_MAYORSHOUSEBEDROOM;
MiniMapScale 1.0;
MiniMapOffsetX 0.0;
MiniMapOffsetY 0.0;
WorldMapOffsetX 1008.0;
WorldMapOffsetY 839.0;
NameGraphicOffsetX 0.0;
NameGraphicOffsetY 0.0;
ContainsMap "FinalAlbion\MayorsHouseBedroom.lev";
ContainsMap "FinalAlbion\MayorsHouseHallway.lev";
EndRegion;
|
Then I remove the other region and now I have a merged region.
Important Notes
- When you remove a region, you have to change all the numbers of the regions after that. So if I have four regions and I merge regions 2 and 3, that means 4 becomes 3. It has to go in order, can't skip any numbers.
- Each map must be listed exactly once in the regions. If two regions are using the same ContainsMap line, Fable gets a brainfart and doesn't know what to do. If a map isn't listed in any regions, it goes into the null region. If the player goes to any map in the null region, all maps in this null region will be loaded with blank/default region data.
- SeesMap lines are maps that can be seen from the region but are not contained in the region. The map scripts in seen maps don't load so you only see the map. While you can't really use these maps in these regions, they are nice because they give a more seamless feel to regions and don't screw up the minimap - see below.
- Quests become broken as each quest can only be triggered in specific regions. With merged regions, there are fewer regions, and so a quest that's supposed to be triggered in a region that doesn't exist anymore will simply not be triggered.
Lesser but Still Important Notes
- Minimap becomes screwed up when you merge regions because it's using the same minimap graphic for a region that has changed size and shape. Nothing you can do about that besides making your own map, which would be challenging, tedious and a waste of time when it comes to effort:reward ratio.
- You cannot use the Guild Seal or the teleport pedestals to teleport to a map in the same region. So you have the 184 map Lookout Point region, you're at Twinblade's camp and you want to go to the Graveyard Circle, you're walking unless you put in manual teleports. This is a problem with custom cullis gates too. Though when you save and close, the Hero should, in theory, spawn at the nearest HSP (Holy Site script), so at least you don't have to walk too far to get to the same spot when you closed.
- Region teleports (region exits/entrances, holy sites) will still work, but it can look weird in some cases. For example, using the merged region I provided earlier, the door to go from the mayor's bedroom to her hallway will say that I'm entering her bedroom even though I'm actually leaving the bedroom. It may be preferable to simply remove the teleports between connected regions after merging (this is why overriding the GTG is important).
- Though this should be obvious, adding a significant amount of new levels to one region will decrease game responsiveness and increase loading times depending on how powerful your computer is. Please bear that in mind.
Shameless self-advertisement
To save people some trouble, I have already compiled the most consolidated set of regions possible, into just 53 regions instead of the default 141. Sandboxed Fable - no quests. You can get it here.
Recommendation: Don't use the blank TNGs or GTG provided as it was meant for an empty Fable, and you'll still have to edit the userst.ini so that the game doesn't use the GTG.
Special Thanks
Noctus for re-writing this and adding his touch of wisdom to it.
[Updated on: Thu, 03 March 2011 15:25] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Wed Dec 11 18:42:33 PST 2024
Total time taken to generate the page: 0.06783 seconds
|