Tree LOD BTT files – Finding a solution to wall of trees 32

Post » Sun Sep 14, 2014 4:40 am

I do not think that supersized large scale mods are any threat to bethesda dlc politics .... Infact usually their land add ons are way smaller than the main lan rather that way bigger ... Also supersized land mods have the tendency to either be dropped on the long run or fade into oblivion... This is usually due to the dropofinterest of the modders , the overesteem of the capabilities of modders to achieve something larger than the same developers did , or just unsormontable bugs that prevent proper modding .... I understood that after all slyrim is no different from predecessors like oblivion in terms of modding difficulties.... I for example had to drop modding my dune because there were no tools to generate water distant lods and that broke mydeveloping .... I also have to admit that i aimed too high for what a single modder could do alone .... Best is so to start smaller and then increase ....or plan around bugs like perhaps make desertic terrains that do not need trees beyond a certain border ?
User avatar
BrEezy Baby
 
Posts: 3478
Joined: Sun Mar 11, 2007 4:22 am

Post » Sun Sep 14, 2014 5:05 am

There will probably be a solution to this tree LOD problem. Geggakloss has started working on a program that will make them, but he don't want me to say to much until he has something that works /smile.png' class='bbc_emoticon' alt=':)' />
User avatar
Isabella X
 
Posts: 3373
Joined: Sat Dec 02, 2006 3:44 am

Post » Sun Sep 14, 2014 3:13 pm

I believe this conspiracy theory has been brought up before no? The CS had bugs, the Morrowind and aoblivion versions. Honestly, if they feared mod "competition" they could just, you know, NOT RELEASE the CK. Plus, many landscape mods for Oblivion wound up requiring dlc content. The argument that they "hamstringed" the CK is a rather flimsy one to be honest.
User avatar
Mizz.Jayy
 
Posts: 3483
Joined: Sat Mar 03, 2007 5:56 pm

Post » Sun Sep 14, 2014 9:33 am

Indeed im really tempted so much to include all dlcs for my mod lol .... For building things ( hearthfire) huskies and crossbows ( dawnguard ) spears and dragonriding as well as lot new creatures and stalhrim (dragonborn)
User avatar
Chloe Yarnall
 
Posts: 3461
Joined: Sun Oct 08, 2006 3:26 am

Post » Sun Sep 14, 2014 5:08 pm


While I don't want to read too much into that, it is great that somebody has at least started looking into creating a custom generator. Best of luck to him. /smile.png' class='bbc_emoticon' alt=':)' />
User avatar
BlackaneseB
 
Posts: 3431
Joined: Sat Sep 23, 2006 1:21 am

Post » Sun Sep 14, 2014 6:44 pm

is there any news on this? /smile.png' class='bbc_emoticon' alt=':smile:' />
User avatar
Megan Stabler
 
Posts: 3420
Joined: Mon Sep 18, 2006 2:03 pm

Post » Sun Sep 14, 2014 3:23 pm

I was working on some tree-related stuff, figured I'd post a template for 010 Editor.

struct FILE {	struct HEADER {		int  numTypes;	} header ;	struct TYPE {		int   treeType;		int   numOfTrees;		struct TREE {			float xCoord;			float   yCoord;			float   zCoord;			int  unknown1;			float   scale;			int  formID ;			int  unknown2;			int  unknown3;		} trees[numOfTrees];	} types[ file.header.numTypes ] ;} file;

This is all based off the info in the first page or two. It all seems to check out so far. Doesn't really help with fixing this exact issue, but will let people edit their BTT files easily.




Edit:

Here are my notes on the tree type IDs:

Spoiler
0: TreePineForestSnowL051: TreePineForestSnowL032: TreePineForestSnowL023: TreePineForestSnowL044: TreePineForestSnow035: TreePineForestSnow026: TreePineForestSnow057: TreePineForestSnow048: TreePineForest049: TreePineForest0310: TreePineForest0511: TreePineForest0212: TreePineForest03Dead13: TreePineForest05Dead14: TreePineForest02Dead15: TreePineForestSnow03Dead16: TreePineForestSnow0118: TreePineForestSnow04Dead20: TreePineForestSnowL0123: TreePineForest04Dead24: TreePineForest0126: TreePineForestSnow05Dead28: TreePineForest01Dead29: TreeAspen0530: TreeAspen0131: TreeAspen0632: TreeAspen0233: TreeAspen03TreeAspen01 = 30TreeAspen02 = 32TreeAspen03 = 33TreeAspen05 = 29TreeAspen06 = 31TreePineForest01 = 24TreePineForest01Dead = 28TreePineForest02 = 11TreePineForest02Dead = 14TreePineForest03 = 9TreePineForest03Dead = 12TreePineForest04 = 8TreePineForest04Dead = 23TreePineForest05 = 10TreePineForest05Dead = 13TreePineForestSnow01 = 16TreePineForestSnow02 = 5TreePineForestSnow03 = 4TreePineForestSnow03Dead = 15TreePineForestSnow04 = 7TreePineForestSnow04Dead = 18TreePineForestSnow05 = 6TreePineForestSnow05Dead = 26TreePineForestSnowL01 = 20TreePineForestSnowL02 = 2TreePineForestSnowL03 = 1TreePineForestSnowL04 = 3TreePineForestSnowL05 = 0Unaccounted for:1719212225TreePineForestSnow02DeadTreePineForestSnowL01DeadTreePineForestSnowL02DeadTreePineForestSnowL03DeadTreePineForestSnowL04DeadTreePineForestSnowL05DeadNot in any BTT files:TreeReachCliffTree01 (No LOD flat NIFs, therefore no LOD generated)TreeReachCliffTree02 (No LOD flat NIFs, therefore no LOD generated)TreeReachTree01   (No LOD flat NIFs, therefore no LOD generated)TreeReachTree02   (No LOD flat NIFs, therefore no LOD generated)TreeAspen04	(No LOD flat NIFs, therefore no LOD generated)TreePineForestSnow01Dead (Only occurs once, in an interior)



Edit2:

I am pretty certain the two unknowns are the Version Control 1 and 2, which I believe are a datetime stamp and a user ID respectively. It doesn't seem to be UNIX, because most of the dates are between 2004 and 2006, which obviously doesn't make any sense. I would guess it is 5 years off for whatever reason.

Also, the BTT files BSA do not seem to be the exact same as those in the BSA. For instance I found at least one missing FormID, and the Version Control Info 2 does not always match up with that in the BTT file. This can also explain why it is always 0000 when generated by the CK, as it has VC disabled. I'm not going to dare trying to enable it to see if the value changes... There's not even a promise that it would since the VC they've given us is only half of what they actually work with.

The last unknown, that varies drastically, I have no idea what it could be.


See post below.
User avatar
xemmybx
 
Posts: 3372
Joined: Thu Jun 22, 2006 2:01 pm

Post » Sun Sep 14, 2014 4:28 am


I wouldn't bother messing with the VC timestamp. Since this is a file that can't even be directly edited in the CK, there is really no need for the date to be right, as it can't throw up any VC related errors about it. And really, the only VC stuff that I know we're missing is the Perforce integration for script syncing.

Great to hear that some progress is being made, though! /smile.png' class='bbc_emoticon' alt=':)' />
User avatar
Ron
 
Posts: 3408
Joined: Tue Jan 16, 2007 4:34 am

Post » Sun Sep 14, 2014 1:04 pm

Spoiler

Disregard the timestamp hunch. I think it was mere coincidence.

What seems highly more likely is that it is rotation data, randomized between 0 and 2π (radians). I haven't seen a single value above 2π. Furthermore, the rotation for the LOD is different between the BTTs stored in the BSA and the BTTs generated by the CK. (http://imgur.com/a/Hhacn) It also changes with each generation. The next step would be to see if setting all the trees to 0 or 2π results in the same exact rotation. Obviously this seems to be a logical move by Bethesda, to not bother storing all rotation axes, and also to make sure the trees are not all facing the same way.

There is also a logical order in which the trees are generated in the file, based off of a combination of cell, tree type and form ID.





Edit: The tree type data I posted above may be specific to each generation. It seems that the information is stored in Tamriel.LST.

Edit2: It is definitely the case that Tamriel.LST stores a list of the tree types. However, it can change in order and size if you change which tree NIFs have lod_flat versions. For example, I made the LOD NIFs for the Reach trees that are all missing, and 4 new values appear in the LST file. I have the structure correct, but haven't decoded the juicy data. It is 24 bytes in length, so I assume it is merely an Editor ID or filename. None of the bytes are a FormID. If I knew something about how Skyrim stored this type of data I would have probably already figured it out by now.


Sometime today I may run over all the assumed rotation values, look at their distribution and verify they are clamped at 0 to 2π.


See below!!
User avatar
Bedford White
 
Posts: 3307
Joined: Tue Jun 12, 2007 2:09 am

Post » Sun Sep 14, 2014 4:06 am

This has been fixed, but requires an unreleased dev version of TES5Edit. I will update this thread again when it is out. Thanks goes to Zilav, who created a binary file patcher for the BTT files. The BTT files still need to be generated by the CK, so you must load your plugin(s) and generate the worldspace. Then run the BTT patcher from inside TES5Edit.

I can confirm visually that it works: http://imgur.com/a/tzEpG

As well as the fact that values of +/-131008 no longer exist in any of the patched BTT files. (The value the coords got clamped at)
User avatar
Silvia Gil
 
Posts: 3433
Joined: Mon Nov 20, 2006 9:31 pm

Post » Sun Sep 14, 2014 12:59 pm

This is great news! Thanks a lot!
User avatar
Jonathan Egan
 
Posts: 3432
Joined: Fri Jun 22, 2007 3:27 pm

Post » Sun Sep 14, 2014 7:16 pm


This is fantastic news /biggrin.png' class='bbc_emoticon' alt=':biggrin:' />
And thank you jonwd7 for all the work you have done with deciphering the BTT files.
User avatar
Andres Lechuga
 
Posts: 3406
Joined: Sun Aug 12, 2007 8:47 pm

Post » Sun Sep 14, 2014 11:19 am

Big thanks to everybody that helped get this up and running! You guys rock!

Can't wait until the release. /biggrin.png' class='bbc_emoticon' alt=':D' />
User avatar
Kayleigh Williams
 
Posts: 3397
Joined: Wed Aug 23, 2006 10:41 am

Post » Sun Sep 14, 2014 4:02 pm

This is best news since release of the CK !! Thank you very much indeed !! Great work !!
User avatar
Emma-Jane Merrin
 
Posts: 3477
Joined: Fri Aug 08, 2008 1:52 am

Post » Sun Sep 14, 2014 3:41 am

Great work /biggrin.png' class='bbc_emoticon' alt=':D' /> Sorry I wasn't of more help, folks. Here's hoping I can make up for it when I start working on the CKE /tongue.png' class='bbc_emoticon' alt=':P' />
User avatar
GabiiE Liiziiouz
 
Posts: 3360
Joined: Mon Jan 22, 2007 3:20 am

Post » Sun Sep 14, 2014 7:53 am


I'm so excited for the CKE. Do you have an estimate on when you'd like to release the first version?
User avatar
Matthew Aaron Evans
 
Posts: 3361
Joined: Wed Jul 25, 2007 2:59 am

Post » Sun Sep 14, 2014 8:52 am

My guess is he will not start on it until Beth has stopped patching the game and the CK.
User avatar
noa zarfati
 
Posts: 3410
Joined: Sun Apr 15, 2007 5:54 am

Post » Sun Sep 14, 2014 4:17 pm

Ah, that certainly makes sense. Something that I'm excited for (even though it's purely asthetic) is the visual style integration. It made the CS feel so much more modern, and since I've always been a big Windows customizer, I'll certainly enjoy seeing custom visual styles feel more at home in the CK. /tongue.png' class='bbc_emoticon' alt=':P' />
User avatar
Averielle Garcia
 
Posts: 3491
Joined: Fri Aug 24, 2007 3:41 pm

Post » Sun Sep 14, 2014 10:58 am

Ja, Sie sind richtig.
User avatar
QuinDINGDONGcey
 
Posts: 3369
Joined: Mon Jul 23, 2007 4:11 pm

Post » Sun Sep 14, 2014 4:56 pm

In some code you previously posted, it seems the tree types are in some sort of enumerable? What does this mean for totally new tree types and generating LOD for them?
User avatar
Chris Cross Cabaret Man
 
Posts: 3301
Joined: Tue Jun 19, 2007 11:33 pm

Post » Sun Sep 14, 2014 11:57 am

The CK adds them to an index in a LST file. Anything that is considered a TREE record can have an *_lod_flat.nif. The index in the LST is the "type ID" in the BTT file. The LOD flat nifs are easy to make, just by copying an existing one, scaling it to the width and height of the full-res tree, and then modifying the UV data of the flat NIF. This could all be done in NifSkope if necessary, but importing and exporting between Max is probably easier. If you are using all new trees you will need to create the treelod.dds atlas in textures\terrain\\trees, or if you are adding existing you need to expand the existing tamrieltreelod.dds by doubling its height and width, sticking the existing atlas in one quadrant, and you now have 3/4ths of a blank atlas to use. You will need to edit the UV data for all 34 vanilla tree LODs however.

If that sounds like a lot of work, I guess it is... I am actually overhauling the LOD atlas as we speak, with more of the vanilla tree types, including shrubs, grass etc. I'm starting with the highest ref counts and working my way down. The LOD is much improved already. I will be releasing this as a mod / modder's resource eventually, though other modders will have to work together to use the same common LOD atlas, if they want to share new tree types. If it's for a specific worldspace, then any risk of collisions is not an issue since each worldspace can have its own tree atlas.

To actually take pictures of the new trees, you can re-render them in high quality in Max. For example here is my re-rendered Aspen atlas (which are TRULY awful looking in vanilla):

http://imgur.com/a/Fecsj#0
User avatar
Motionsharp
 
Posts: 3437
Joined: Sun Aug 06, 2006 1:33 am

Post » Sun Sep 14, 2014 8:32 am

Great looking aspen LOD, way better than the totally off-color LOD that is present in vanilla Skyrim.
User avatar
Alan Cutler
 
Posts: 3163
Joined: Sun Jul 01, 2007 9:59 am

Post » Sun Sep 14, 2014 11:58 am

So the Tes5edit Version with the .btt patcher is released now ..
User avatar
Amanda savory
 
Posts: 3332
Joined: Mon Nov 27, 2006 10:37 am

Post » Sun Sep 14, 2014 11:59 am

After a quick test... This is actually working !!!!

This is so great!
User avatar
Andrew Perry
 
Posts: 3505
Joined: Sat Jul 07, 2007 5:40 am

Post » Sun Sep 14, 2014 7:35 pm

Good to hear! Many thanks to Zilav. He did all the actual work. I just did the pushing. /smile.png' class='bbc_emoticon' alt=':)' />
User avatar
GabiiE Liiziiouz
 
Posts: 3360
Joined: Mon Jan 22, 2007 3:20 am

PreviousNext

Return to V - Skyrim