Home » Fable TLC » Development » Tools » ChocolateBox
Re: ChocolateBox [message #68913 is a reply to message #68911] |
Wed, 26 June 2013 14:54 |
|
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
|
"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.
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. 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.
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 #68916 is a reply to message #68913] |
Thu, 27 June 2013 19:46 |
|
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.
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 |
|
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.
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 #69115 is a reply to message #69101] |
Wed, 17 July 2013 22:52 |
|
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.
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!
-
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 #69128 is a reply to message #69115] |
Thu, 18 July 2013 12:34 |
|
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.
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!
-
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 #69132 is a reply to message #69131] |
Thu, 18 July 2013 13:42 |
|
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?
|
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 |
|
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. 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?
|
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 #69287 is a reply to message #41627] |
Sun, 11 August 2013 07:17 |
|
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 |
|
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 #71753 is a reply to message #41627] |
Mon, 08 July 2019 03:24 |
|
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.
|
|
|
Goto Forum:
Current Time: Thu Nov 21 07:12:55 PST 2024
Total time taken to generate the page: 0.09746 seconds
|