Fable: The Lost Chapters Mod Scene
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Fable TLC » Development » Tools » ChocolateBox
Re: ChocolateBox [message #68913 is a reply to message #68911] Wed, 26 June 2013 14:54 Go to previous messageGo to next message
BayStone is currently offline  BayStone
Messages: 144
Registered: October 2005
Location: HMQ
Falset wrote on Thu, 27 June 2013 00:09

I have a few questions and I'm sure a lot of other people do too.

What is "stb flora"?
Is that a custom level?^^
What are "custom floats"?
What is STB?
What is "npc navigation"?
And lastly, can you spawn water???

LOL sorry for all the annoying noob questions. I know the stb is something about the terrain. You don't have to answer all of them, I just wanted to ask so someone could explain to the noobier people on the forum so they could join in on the convo Very Happy


"stb flora" refers to flora, you know grass, trees and stuff, inside the stb.

That is not a custom level. It's just bordello, but I'm rendering the stb terrain mesh with a few... problems. Smile

Custom float is a thing LH used to store floating point information in files. Usually a float takes 4 bytes, but you can store it in 2, if you know what you're doing and for what.

I don't actually know what STB stands for. Confused Effectively it's an archive that contains information about levels, such as terrain, flora, etc. There's also the WAD file which contains the walk, npc navigation, etc. data.

npc navigation is for the npcs. It tells them where they can walk and where they can't. I had great fun with this when I was testing the export feature... watching a bandit run around in a maze while trying to attack me. Hahaha, what a dumbass. Very Happy

Water... Hm, never tried it. I would assume it's in the STB, but I don't know where. It could also be in the WAD, but I don't think they're actually generating the water meshes during runtime. Or are they?



Busy!

[Updated on: Wed, 26 June 2013 14:55]

Report message to a moderator

Re: ChocolateBox [message #68914 is a reply to message #68913] Wed, 26 June 2013 16:08 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
Thanks! Smile
Good luck with this! I hope it turns out well Smile


Are you shpongled?
Re: ChocolateBox [message #68916 is a reply to message #68913] Thu, 27 June 2013 19:46 Go to previous messageGo to next message
JohnDoe is currently offline  JohnDoe
Messages: 3007
Registered: October 2007

Retired
BayStone wrote on Wed, 26 June 2013 16:54

Water... Hm, never tried it. I would assume it's in the STB, but I don't know where. It could also be in the WAD, but I don't think they're actually generating the water meshes during runtime. Or are they?

This one I can answer. Smile

Short answer, the water meshes are done in the STB. No doubt.

But like almost everything else in the STB, that's where the involvement ends. The rest is done in the WAD. Whether or not it's treated as water, whether the camera can go over it and through it, whether it makes a splashy noise when it's stepped on, whether it can be walked on at all, all done in the heightmap.

The game can be played without the STB. Everything will be the same, except there won't be any terrain or landscapes or water. Everything will still make all the right sounds, and will have all the navigation data and everything, you just don't see it because the meshes are gone.
Re: ChocolateBox [message #69080 is a reply to message #68916] Tue, 16 July 2013 21:14 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
JohnDoe wrote on Thu, 27 June 2013 22:46

BayStone wrote on Wed, 26 June 2013 16:54

Water... Hm, never tried it. I would assume it's in the STB, but I don't know where. It could also be in the WAD, but I don't think they're actually generating the water meshes during runtime. Or are they?

This one I can answer. Smile

Short answer, the water meshes are done in the STB. No doubt.

But like almost everything else in the STB, that's where the involvement ends. The rest is done in the WAD. Whether or not it's treated as water, whether the camera can go over it and through it, whether it makes a splashy noise when it's stepped on, whether it can be walked on at all, all done in the heightmap.

The game can be played without the STB. Everything will be the same, except there won't be any terrain or landscapes or water. Everything will still make all the right sounds, and will have all the navigation data and everything, you just don't see it because the meshes are gone.

Oh, cool. So I can delete the stb and the game will still work? Nice. I might do that for testing purposes lol


Are you shpongled?
Re: ChocolateBox [message #69082 is a reply to message #69080] Tue, 16 July 2013 22:37 Go to previous messageGo to next message
JohnDoe is currently offline  JohnDoe
Messages: 3007
Registered: October 2007

Retired
Sparrow wrote on Tue, 16 July 2013 23:14

Oh, cool. So I can delete the stb and the game will still work? Nice. I might do that for testing purposes lol

Aye, I used to as well. In fact, the only way to play with new maps (for now) is to not use the STB. We can add new maps to the STB as well, but we cannot add to the "master map index" (don't know what else to call it) in the STB the game will crash on startup unless the STB loading is skipped altogether.
Re: ChocolateBox [message #69088 is a reply to message #69082] Wed, 17 July 2013 06:43 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
JohnDoe wrote on Wed, 17 July 2013 01:37

Sparrow wrote on Tue, 16 July 2013 23:14

Oh, cool. So I can delete the stb and the game will still work? Nice. I might do that for testing purposes lol

Aye, I used to as well. In fact, the only way to play with new maps (for now) is to not use the STB. We can add new maps to the STB as well, but we cannot add to the "master map index" (don't know what else to call it) in the STB the game will crash on startup unless the STB loading is skipped altogether.

You always manage to confuse me, John. And it's not just because I'm stupid. My stupidity plays a big role in my confusion but also you say without the STB, you can add new maps? I thought you bitches told me it was impossible to make a new map.


Are you shpongled?
Re: ChocolateBox [message #69100 is a reply to message #69088] Wed, 17 July 2013 12:43 Go to previous messageGo to next message
JohnDoe is currently offline  JohnDoe
Messages: 3007
Registered: October 2007

Retired
Sparrow wrote on Wed, 17 July 2013 08:43

I thought you bitches told me it was impossible to make a new map.

Without adding the correct data to the STB, which we cannot currently do, it is impossible. But again, if the game doesn't load the STB, new maps are not a problem. The new problem then is that you don't have a landscape.
Re: ChocolateBox [message #69101 is a reply to message #69100] Wed, 17 July 2013 13:28 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
JohnDoe wrote on Wed, 17 July 2013 15:43

Sparrow wrote on Wed, 17 July 2013 08:43

I thought you bitches told me it was impossible to make a new map.

Without adding the correct data to the STB, which we cannot currently do, it is impossible. But again, if the game doesn't load the STB, new maps are not a problem. The new problem then is that you don't have a landscape.

I don't need a damn landscape. Lol how do u make a new map? I wanna make one! Razz
-
Sorry if I'm sounding like a brat lol I just wanna be the very best. Like no one ever was.


Are you shpongled?
Re: ChocolateBox [message #69115 is a reply to message #69101] Wed, 17 July 2013 22:52 Go to previous messageGo to next message
JohnDoe is currently offline  JohnDoe
Messages: 3007
Registered: October 2007

Retired
At the risk of littering Bay's thread, I'll explain. Bay should have the capacity to clean up the thread if he wants. Smile

Sparrow wrote on Wed, 17 July 2013 15:28

I don't need a damn landscape. Lol how do u make a new map? I wanna make one! Razz
-
Sorry if I'm sounding like a brat lol I just wanna be the very best. Like no one ever was.

Simple. I'll walk you through it.

Take a map. Let's say FrescoDome. We're going to copy and paste the LEV and TNG for this map, renaming them to... FresnoDome. Note the spelling. Let's adjust the WLD to include our new map.


NewMap 399;
MapX 32320;
MapY 32320;

LevelName "FinalAlbion\FresnoDome.lev";
LevelScriptName "FresnoDome";
MapUID 1000001;
IsSea FALSE;
LoadedOnPlayerProximity TRUE;
EndMap;

NewRegion 142;
RegionName "FresnoDome";
NewDisplayName "TXT_REGION_FRESNO_DOME";
RegionDef "REGION_FRESNO_DOME";

AppearOnWorldMap;
MiniMapGraphic MINIMAP_FRESNODOME;
MiniMapScale 1.0;
MiniMapOffsetX 7.0;
MiniMapOffsetY -6.0;
WorldMapOffsetX 448.0;
WorldMapOffsetY 320.0;
NameGraphicOffsetX 0.0;
NameGraphicOffsetY 0.0;
ContainsMap "FinalAlbion\FresnoDome.lev";
EndRegion;



Large numbers will prevent overlap with existing maps, keep these numbers divisible by 32. Good practice, use a personal 3 digit number in your coords for a reason explained in the next line.
UIDs over 1000000 will prevent conflict with existing maps. A good practice would be to include a personal 3 digit number at the start to prevent conflict with other created maps from other members... if we can ever do this on a large and wide scale.
Create these entries.
And note the AppearOnWorldMap - this allows for cullis gates should you want to use one on the map. Speaking of...

You can add a new map section "NEWMAP 399" in the GTG. This is where you will put cullis gates, holy sites, region entrances and region exits.

Flip UseCompiledWorldFiles in userst.ini to FALSE, this bypasses the bwd so that the game only uses the wld.

Rename the STB. Load Fable. No crash? You have a new map! Now if only it had a landscape, one that we could modify, and if only we could change the navdata. Then custom mapping would be fully complete and the possibilities would be endless. Next to this, being able to modify gameflow and quests, and create and invoke completely new and custom cutscenes, then we would have a game that can be truly modded.

[Updated on: Wed, 17 July 2013 22:53]

Report message to a moderator

Re: ChocolateBox [message #69127 is a reply to message #41627] Thu, 18 July 2013 12:07 Go to previous messageGo to next message
OnlyABlade is currently offline  OnlyABlade
Messages: 29
Registered: April 2013
Amm...
Wait... is posible make a new map without Crash?
Re: ChocolateBox [message #69128 is a reply to message #69115] Thu, 18 July 2013 12:34 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
JohnDoe wrote on Thu, 18 July 2013 01:52

At the risk of littering Bay's thread, I'll explain. Bay should have the capacity to clean up the thread if he wants. Smile

Sparrow wrote on Wed, 17 July 2013 15:28

I don't need a damn landscape. Lol how do u make a new map? I wanna make one! Razz
-
Sorry if I'm sounding like a brat lol I just wanna be the very best. Like no one ever was.

Simple. I'll walk you through it.

Take a map. Let's say FrescoDome. We're going to copy and paste the LEV and TNG for this map, renaming them to... FresnoDome. Note the spelling. Let's adjust the WLD to include our new map.


NewMap 399;
MapX 32320;
MapY 32320;

LevelName "FinalAlbion\FresnoDome.lev";
LevelScriptName "FresnoDome";
MapUID 1000001;
IsSea FALSE;
LoadedOnPlayerProximity TRUE;
EndMap;

NewRegion 142;
RegionName "FresnoDome";
NewDisplayName "TXT_REGION_FRESNO_DOME";
RegionDef "REGION_FRESNO_DOME";

AppearOnWorldMap;
MiniMapGraphic MINIMAP_FRESNODOME;
MiniMapScale 1.0;
MiniMapOffsetX 7.0;
MiniMapOffsetY -6.0;
WorldMapOffsetX 448.0;
WorldMapOffsetY 320.0;
NameGraphicOffsetX 0.0;
NameGraphicOffsetY 0.0;
ContainsMap "FinalAlbion\FresnoDome.lev";
EndRegion;



Large numbers will prevent overlap with existing maps, keep these numbers divisible by 32. Good practice, use a personal 3 digit number in your coords for a reason explained in the next line.
UIDs over 1000000 will prevent conflict with existing maps. A good practice would be to include a personal 3 digit number at the start to prevent conflict with other created maps from other members... if we can ever do this on a large and wide scale.
Create these entries.
And note the AppearOnWorldMap - this allows for cullis gates should you want to use one on the map. Speaking of...

You can add a new map section "NEWMAP 399" in the GTG. This is where you will put cullis gates, holy sites, region entrances and region exits.

Flip UseCompiledWorldFiles in userst.ini to FALSE, this bypasses the bwd so that the game only uses the wld.

Rename the STB. Load Fable. No crash? You have a new map! Now if only it had a landscape, one that we could modify, and if only we could change the navdata. Then custom mapping would be fully complete and the possibilities would be endless. Next to this, being able to modify gameflow and quests, and create and invoke completely new and custom cutscenes, then we would have a game that can be truly modded.

Why isn't this in the tutorials section?


Are you shpongled?
Re: ChocolateBox [message #69129 is a reply to message #69128] Thu, 18 July 2013 12:44 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
But since baystone can extract the meshes, we could make the terrain an object.

Are you shpongled?
Re: ChocolateBox [message #69131 is a reply to message #69129] Thu, 18 July 2013 13:24 Go to previous messageGo to next message
Zyreq is currently offline  Zyreq
Messages: 296
Registered: July 2011
Location: New York City, Great Brit...
Sparrow wrote on Thu, 18 July 2013 12:44

But since baystone can extract the meshes, we could make the terrain an object.

That could work since Navdata is held in tng files right? Confused


No, no word of a lie, never' a lie, seventeen cows I stopped 'em with moi.. one 'and.
Re: ChocolateBox [message #69132 is a reply to message #69131] Thu, 18 July 2013 13:42 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
Zyreq wrote on Thu, 18 July 2013 16:24

Sparrow wrote on Thu, 18 July 2013 12:44

But since baystone can extract the meshes, we could make the terrain an object.

That could work since Navdata is held in tng files right? Confused

Yup. I'm about to try this!
-
Okay, half of the time that I load a save, it crashes. But when it doesn't crash, it crashes when I teleport to the new level.
JohnDoe wrote on Thu, 18 July 2013 01:52

Create these entries.

I used greatwood entries. Is that okay?


Are you shpongled?

[Updated on: Thu, 18 July 2013 15:02]

Report message to a moderator

Re: ChocolateBox [message #69145 is a reply to message #69132] Thu, 18 July 2013 21:59 Go to previous messageGo to next message
JohnDoe is currently offline  JohnDoe
Messages: 3007
Registered: October 2007

Retired
OnlyABlade wrote on Thu, 18 July 2013 14:07

Amm...
Wait... is posible make a new map without Crash?

Read my posts. Neutral It's possible, if you bypass the STB by not using it.

Sparrow wrote on Thu, 18 July 2013 14:34

Why isn't this in the tutorials section?

Because it's not useful. No landscape is no way to play the game.

Sparrow wrote on Thu, 18 July 2013 14:44

But since baystone can extract the meshes, we could make the terrain an object.

We could, but:
  • this drastically increases loading time;
  • quality is dramatically reduced;
  • creating that many objects per map and getting them all set up right is a tedious, time-consuming pain in the ass;
  • object-based landscapes tend to disappear up close if made too large; and,
  • variable geometry seriously affects the Hero's ability to walk around.



Zyreq wrote on Thu, 18 July 2013 15:24

That could work since Navdata is held in tng files right? Confused

No. LEV files. The ones out of the WAD, not STB. I guess what you're getting at still applies though.

Sparrow wrote on Thu, 18 July 2013 15:42

Okay, half of the time that I load a save, it crashes. But when it doesn't crash, it crashes when I teleport to the new level.

It definitely requires a new save.

JohnDoe wrote on Thu, 18 July 2013 01:52

Create these entries.

I used greatwood entries. Is that okay?[/quote]
No. Create new entries. The text and minimap can have the same data and everything, but they do need to be different. The region def is the important one. You'll want the data in that to have the same information as the data for the new region defined in the WLD.
Re: ChocolateBox [message #69147 is a reply to message #41627] Thu, 18 July 2013 23:48 Go to previous messageGo to next message
Zyreq is currently offline  Zyreq
Messages: 296
Registered: July 2011
Location: New York City, Great Brit...
Eh, i meant .LEV sorry.
I wish we had navdata working, going to take a peek at it...


No, no word of a lie, never' a lie, seventeen cows I stopped 'em with moi.. one 'and.
Re: ChocolateBox [message #69287 is a reply to message #41627] Sun, 11 August 2013 07:17 Go to previous messageGo to next message
BayStone is currently offline  BayStone
Messages: 144
Registered: October 2005
Location: HMQ
Been busy, so no posts.

Good posts from you guys though. Especially the adding a new map thing. It just never occurred to me. Technically, the STB is just another WAD file, so you should be able to create new maps just by inserting new files into it, which is relatively easy, especially if the new map is just a copy of another map.

Also, I sort of hit a wall with the STB flora thing. Extracting the actual flora data from the file is a god damn mess. There's weird padding going on, recursive searches due to the LOD, etc. A god damn mess. I managed can extract a lot of it, some levels look pretty proper, but still it's not there.

EDIT: Also, if someone wants to mess around with the code, you can, just let me know. The code is a mess too BTW.


Busy!

[Updated on: Sun, 11 August 2013 07:19]

Report message to a moderator

Re: ChocolateBox [message #69330 is a reply to message #69287] Sun, 18 August 2013 13:00 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
BayStone wrote on Sun, 11 August 2013 10:17

Technically, the STB is just another WAD file, so you should be able to create new maps just by inserting new files into it, which is relatively easy, especially if the new map is just a copy of another map.

Inserting files into it?

BayStone wrote on Sun, 11 August 2013 10:17

Also, I sort of hit a wall with the STB flora thing. Extracting the actual flora data from the file is a god damn mess. There's weird padding going on, recursive searches due to the LOD, etc. A god damn mess. I managed can extract a lot of it, some levels look pretty proper, but still it's not there.

Wait what's the point in extracting the flora again? Just for fun?


Are you shpongled?
Re: ChocolateBox [message #70166 is a reply to message #69330] Thu, 27 March 2014 20:41 Go to previous messageGo to next message
xxNick is currently offline  xxNick
Messages: 54
Registered: March 2014
Location: San Antonio, TX
Little late on this.
Sparrow wrote on Sun, 18 August 2013 15:00

Inserting files into it?

I imagine it would work much the same way adding entries would to other archives. It should be possible in theory, I bet you could even do it using FableExplorer. However, there looks to be some sort of index/metadata of maps in the STB. Without any means of editing that to reflect the added map entries, you'd probably just get a rapid and uneventful crash.


Re: ChocolateBox [message #70168 is a reply to message #70166] Fri, 28 March 2014 06:07 Go to previous messageGo to next message
Keshire is currently offline  Keshire
Messages: 1266
Registered: July 2005

Administrator
xxNick wrote on Thu, 27 March 2014 22:41

Little late on this.
Sparrow wrote on Sun, 18 August 2013 15:00

Inserting files into it?

I imagine it would work much the same way adding entries would to other archives. It should be possible in theory, I bet you could even do it using FableExplorer. However, there looks to be some sort of index/metadata of maps in the STB. Without any means of editing that to reflect the added map entries, you'd probably just get a rapid and uneventful crash.


Ya, the STB is one of the worst formats that BigBlueBox wrote among many horrible ones. I'm pretty sure Lionhead ditched it in Fable Anniversary. Without the Flora data though you'd probably have to define every piece of grass and tree via the tng script files.



Apathy Cannot Inspire.
Ambivalence cannot lead.
Loved me. Feared me.
Changed me. Killed me.
Anything would be something.
But nothing is worst of all.
Re: ChocolateBox [message #71205 is a reply to message #41627] Sun, 15 November 2015 10:47 Go to previous messageGo to next message
Chief ADFP
Messages: 47
Registered: December 2006
Location: Northern Florida parts

will been a long time coming back here

anyways got a new error just install it back into my system''my old tower burn-up mother broad with HHD, so running on PC new system new

i got almost going, but one hangup now

index.php?t=getfile&id=11830&private=0


[Updated on: Sun, 15 November 2015 10:49]

Report message to a moderator

Re: ChocolateBox [message #71208 is a reply to message #71205] Sun, 15 November 2015 12:30 Go to previous messageGo to next message
Walter253b is currently offline  Walter253b
Messages: 42
Registered: October 2015
Did you used FreeRoam before ?

Look for the file ChocolateBox.INI (it should be on cbox folder) and make sure everything is correct.

There is mine:

[Settings]

;FableRegistry = Software\Microsoft\Microsoft Games\Fable\1.0
MyPath = C:\Games\Fable - The Lost Chapters

StartupFile = data\startup.xml
DefinitionsFile = data\def.xml
TNGDefinitionsFile = data\tngdefinitions.xml
UIDFile = data\uids.txt
SaveLEV = true
ModPackages = true

[Files]

World = data\levels\FinalAlbion.WLD
Levels = data\levels\_FinalAlbion.WAD
Textures = data\graphics\pc\textures.big
FrontEndTextures = data\graphics\pc\frontend.big
Graphics = data\graphics\graphics.big
Names = data\CompiledDefs\names.bin
Objects = data\CompiledDefs\game.bin
STB = data\levels\FinalAlbion_RT.STB

Text = data\lang\English\text.big
Scripts = data\CompiledDefs\script.bin

[Banks]

Text = TEXT_FRENCH_MAIN

Textures = GBANK_MAIN_PC
GUITextures = GBANK_GUI_PC
FrontEndTextures = GBANK_FRONT_END_PC
Graphics = MBANK_ALLMESHES

[Resolution]

Width = 1366	
Height = 768

[TreeView]

FullNames = true


Relevant stuff

;FableRegistry = Software\Microsoft\Microsoft Games\Fable\1.0
MyPath = C:\Games\Fable - The Lost Chapters

You can choose if you want cbox looking for your game with registry or not. Just put";" before the line you don't want use. (Here I don't use FableRegistry)
Make sure the path is correct.

Text = TEXT_FRENCH_MAIN
If your game is in english do not change what you initially have.

Levels = data\levels\_FinalAlbion.WAD
Notice the "_" it's because I used Free Roam so I had to rename FinalAlbion.WAD and change it here aswell, it's for use the region editor.

About [Resolution]
Width = 1366
Height = 768

It's used for region editor too I guess, don't use mine. Razz (yeah my resolution is that bad lol )

[Updated on: Sun, 15 November 2015 12:43]

Report message to a moderator

Re: ChocolateBox [message #71212 is a reply to message #71208] Mon, 16 November 2015 12:16 Go to previous messageGo to next message
Sparrow
Messages: 562
Registered: March 2011
Good shit, Walter. Also install all prerequisites.
BayStone wrote on Mon, 26 May 2008 10:21

Requirements
* Knowledge of FE and 3D modelling packages, such as Blender
* .NET 2.0
* DirectX 9.0c; for those of you who still get 0x8007007E errors, get the latest DirectX Runtimes (Web Installer)
* Microsoft Visual C++ SP1 Update

* A machine that wasn't built last decade



Are you shpongled?

[Updated on: Tue, 17 November 2015 19:27]

Report message to a moderator

Re: ChocolateBox [message #71753 is a reply to message #41627] Mon, 08 July 2019 03:24 Go to previous message
Anonymous Coward
Is the source code still available? Was wondering if it could be adapted for use with Anniversary, since the official mod tool for that game is crap.
Previous Topic: Script to allow modification of Fable
Next Topic: Xporter for 3ds Max 2008-2015
Goto Forum:
  


Current Time: Mon Mar 18 20:58:05 PDT 2024

Total time taken to generate the page: 0.01690 seconds