Jump to content

[WIPz] TES5Edit


zilav

Recommended Posts

Except they are vanilla trees because I was able to validate them as such in my own game and when I remove the tree files that xEdit patched, they return to their normal positions at those spots.

 

What do you mean by wrong LODs?

From the video it is clearly visible that LODs are not from vanilla trees, they are scott pines from SFO probablly. Vanilla game has only ordinary pines and aspens.

  • Like 1
Link to comment
Share on other sites

As I said, I verified it myself in my own game which I don't use SFO on and never have. The two trees that look like they're sitting too high are definitely there. The 3rd one in the rectangle is also sitting too high but it's not as noticeable from the distance.

 

https://i.imgur.com/EfyO5Y6.jpg

Link to comment
Share on other sites

As I said, I verified it myself in my own game which I don't use SFO on and never have. The two trees that look like they're sitting too high are definitely there. The 3rd one in the rectangle is also sitting too high but it's not as noticeable from the distance.

 

https://i.imgur.com/EfyO5Y6.jpg

BTT patcher modifies only X and Y, and only if they are outside of +/-32 cells range (as you can see in the script's source code). That's all I can say. You are generating tree LOD with CK which I can't troubleshoot or support myself for obvious reason, most likely it has another set of LOD bugs in addition to 32 cells ones which is not surprising at all. Poke Bethesda :devil:

if you were generating LOD with TES5LODGen and encountered similar bugs, then it would've been completely different story.

 

I can, in theory, write you a script which will be able to pull info about particular TREE ref from BTT file and allow to adjust it manually, so you can tweak it for desired result.

Link to comment
Share on other sites

Thread where I'll be posting the latest updates.

Primarily for testing and discussion, new ideas.

 

Please remember those are developer versions from subversion control and so can destroy your mods, computer, and kill kittens :evil:

 

Version 3.1.3 contains the following changes:

- [FO4] Fallout 4 support

- utf-8 support for translatable strings with -cp:utf-8 command line parameter

All new builds will be uploaded to FO4Edit Nexus page for a while.

Hi! So I just downloaded this new updated version. However I am downloading STEP right now and am VERY close to being done but this new patch has made my next step of STEP disappear...Where did DynDOLOD Worlds go? It is no longer in the drop down menu where as the previous version had it but since a new TES5EDIT came out it said I had to udpate. Please help?

Link to comment
Share on other sites

BTT patcher modifies only X and Y, and only if they are outside of +/-32 cells range (as you can see in the script's source code). That's all I can say. You are generating tree LOD with CK which I can't troubleshoot or support myself for obvious reason, most likely it has another set of LOD bugs in addition to 32 cells ones which is not surprising at all. Poke Bethesda :devil:

if you were generating LOD with TES5LODGen and encountered similar bugs, then it would've been completely different story.

 

I can, in theory, write you a script which will be able to pull info about particular TREE ref from BTT file and allow to adjust it manually, so you can tweak it for desired result.

I generated them with the CK because it can do them in like 20 seconds, and patching them resulting tree files has always worked before.

 

LODGen takes several minutes :P

 

I'll try that though and see what comes of it. I wouldn't even bother given WHERE the trees are, but their quads are so damn big that I have to because otherwise LOD trees grow out of the new stuff I placed.

Link to comment
Share on other sites

Hi! So I just downloaded this new updated version. However I am downloading STEP right now and am VERY close to being done but this new patch has made my next step of STEP disappear...Where did DynDOLOD Worlds go? It is no longer in the drop down menu where as the previous version had it but since a new TES5EDIT came out it said I had to udpate. Please help?

Follow the STEP instructions and extract the DynDOLOD scripts folder into xEdit again. Since those scripts don't come with xEdit (they come with DynDOLOD), when you got the new xEdit version they were obviously missing and you have to do that step of DynDOLOD installation over again.

Link to comment
Share on other sites

Hi! So I just downloaded this new updated version. However I am downloading STEP right now and am VERY close to being done but this new patch has made my next step of STEP disappear...Where did DynDOLOD Worlds go? It is no longer in the drop down menu where as the previous version had it but since a new TES5EDIT came out it said I had to udpate. Please help?

Check DynDoLOD's page on nexus, it is a separate mod to download not shipped with xEdit.

 

Vanilla trees: https://i.imgur.com/6OYhFNH.jpg

 

Trees after using LODGen from within xEdit: https://i.imgur.com/2AAUytZ.jpg

 

There are certainly not that many trees up in that spot ahead in the road if you look at it in the CK. Cell 40,-13.

If you generate only Trees LOD in TES5LODGen (unheck Objects LOD), it should take probably a minute. Yes it does take longer because unlike CK it also has to create atlas texture and generate mipmaps. However you can't include TES5LODGen's files with your mod since atlas texture is different and BTT files won't be compatibe with vanilla game atlas as we can see on your screenshots.

Where is Darkwater Crossing located? Is it even outside of 32 cells and it's BTT files are patched?

I modified script slightly so now it will not only patch X and Y, but also Z and Scale just in case http://pastebin.com/raw/XKDhPggF

Link to comment
Share on other sites

This is Shor's Stone, not Darkwater Crossing.

 

LOD quads 36,-16 and 40,-16 cover the village. I'll give the updated script a try in a bit and see, thanks.

Link to comment
Share on other sites

Apologies you already know this, but "EPFB - Unknown" under Function Parameters in an Entry Point type Perk Effect appears to be "Perk entry ID" in the CK. I can't find it displayed anywhere in the CK UI but each new Perk Effect you add to a perk gets a new Entry ID, and if you load a plugin containing duplicated EPFB values within a single perk record (i.e. a plugin that's been made in FO4Edit), the CK spits out error messages like "Perk entry ID 12 on perk PerkMagGunsAndBullets (00092A82) is already in use."

 

The mod I was experimenting with is OCD - Overhauled Critical Damage. After I manually altered all the EPFB values in each perk to be unique in FO4Edit the CK stopped complaining.

 

I'm not sure what – if anything – FO4Edit should do regarding a Perk entry ID on a new or copied effect, could it automatically renumber EPFB to the first unused value in that perk or maybe just leave them as duplicates and give an error message when checking for errors?

 

 

On a related note, would it be possible to move the "Function Parameters" section up above the "Perk Conditions" section? I think it would be more readable if it was right after the "Effect Data" bit, with how it's arranged currently the value of an effect often appears more closely associated with the following effect rather than the effect it actually belongs too. Any thoughts?

 

 

 

BTW, I know xEdit is primarily a conflict resolution tool and that mods should really be made in the CK, but the CK's perk dialogue is terrible :P

Link to comment
Share on other sites

I'll rename it to Perk Entry ID, however validation of entered data is always up to the users.

We can't rearrange appearence of data since it complies with how the CK saves it and/or game reads.

Link to comment
Share on other sites

Two questions:
 
Are TStringLists garbage collected? Do I still have to free them in Finalize or functions/procedures?
 
Is there a more efficient way than this method to determine whether a flags element has a particular flag by name?

Link to comment
Share on other sites

TStringLists are not garbage collected.  You need to free them.

 

For that function I'd recommend just writing to the text attribute of a single stringlist instead.  Or using a different approach altogether (e.g. three constant strings).  I don't know why you'd create the stringlists just to add their strings to another stringlist and free them.

 

Also, I'm fairly certain there is a better way to do a text comparison for a flag.  You can GetElementEditValues at the flag's path, and if it is present you'll get a 1 back.

Link to comment
Share on other sites

TStringLists are not garbage collected.  You need to free them.

 

Bleh.

 

On a related note, do you know why I get a pointer error when I try to free a TStringList created by a function?

Example:

function CreateList(s: String): TStringList;
var
    lsTmp: TStringList;
begin
    lsTmp := TStringList.Create;
    Result := lsTmp;
end;

function Finalize: Integer;
var
    lsTest: TStringList;
begin
    lsTest := TStringList.Create;
    lsTest := CreateList('this string does nothing');
    lsTest.Free; // pointer error
end;

I may or may not have been freeing the temp list in the function after returning the result.

 

For that function I'd recommend just writing to the text attribute of a single stringlist instead.  Or using a different approach altogether (e.g. three constant strings).  I don't know why you'd create the stringlists just to add their strings to another stringlist and free them.

 

Also, I'm fairly certain there is a better way to do a text comparison for a flag.  You can GetElementEditValues at the flag's path, and if it is present you'll get a 1 back.

 

I'm refactoring old code. Not sure why I used the multi-TStringList method way back when, but skipping the "lookup table" is definitely more straightforward. Shaved a few seconds. Thanks.

Link to comment
Share on other sites

On a related note, do you know why I get a pointer error when I try to free a TStringList created by a function?

I don't get any pointer error. Restart xEdit, looks like the heap got corrupted. Can happen when you don't free created objects like lsTest in your code.

In Delphi ref counted (garbage collected) are strings, arrays and interfaced objects from top of my memory.

Link to comment
Share on other sites

I dunno if it is feasible or not, but I have a request about adding a plugin for the Save Game Script Cleaner into the code for TES5Edit.

 

Is it possible or does it require too much work to modify the source code for the Save Game Script Cleaner since it is an open source?

 

If it is possible then it would be awesome to actually use a tool that's similar to what the Enchanted Editor is for Morrowind.

Link to comment
Share on other sites

If it is possible then it would be awesome to actually use a tool that's similar to what the Enchanted Editor is for Morrowind.

You mean just launch the program from the Xedit shell? Else it might be a bit of a job porting the code from MASM to Pascal, but then perhaps easier just rewriting the routines from scratch. But since it's already done, why the duplication?
Link to comment
Share on other sites

Morrowind's save game is a plugin. I don't think other games have been decoded enough for that.

I know what you mean, but that was not what I meant.  What I mean is to have an option in TES5Edit to clean gamesaves from scripts when one needs to find what the cause is for a mod issue.

 

You mean just launch the program from the Xedit shell?

Well, sort of but no and what I mean is to have another tab or a "Clean A Save" command in TES5Edit, if a plugin for the Save Game Script Cleaner tool existed in the main code for TES5Edit.

Link to comment
Share on other sites

I don't think other games have been decoded enough for that.

What I mean is to have an option in TES5Edit to clean gamesaves from scripts when one needs to find what the cause is for a mod issue.
I understand what you meant.
Link to comment
Share on other sites

Uploaded new build.

 

New "Stick to" popup menu for the right view pane, it tries to preserve viewing position when switching between records. There are 2 modes:

1) Automatic. The current visible top row is used to stick the view when switching.

2) Stick to the selected row you right clicked on

 

Keep in mind that there are some limitations. First the length of records: using automatic mode when record is too hort to keep the previous top row position, it will scroll up and the new row will become the anchor for the next switch. For such cases there is second mode to select the row manually and always try to restore to it's position no matter the record's length.

Second limitation is the same labels for rows in few records. For example when viewing quest's aliases, they are all labeled "Alias". If you try to stick to the third one for example, when switching the first one wil be at the top since it has the same label. However for long records having all unique entries like weather it works fine.

 

Sticking option is saved between xEdit sessions, the same as "Hide no conflict rows" one.

Link to comment
Share on other sites

I know what you mean, but that was not what I meant.  What I mean is to have an option in TES5Edit to clean gamesaves from scripts when one needs to find what the cause is for a mod issue.

 

Well, sort of but no and what I mean is to have another tab or a "Clean A Save" command in TES5Edit, if a plugin for the Save Game Script Cleaner tool existed in the main code for TES5Edit.

 

Sorry. All I know/searched about save games is already in xEdit or xDump (option -Saves when launching) but it is purposely limited to readonly. So far I still do not trust save cleaning in papyrus based script engines. (But the fact I never had to actually used it may color my opinion :) ).

Link to comment
Share on other sites

Uploaded new build.

 

New "Stick to" popup menu for the right view pane, it tries to preserve viewing position when switching between records. There are 2 modes:

1) Automatic. The current visible top row is used to stick the view when switching.

2) Stick to the selected row you right clicked on

 

Haven't compiled the new build yet, but does this mean I can lock the record view, scroll through the record tree, and drag-and-drop records from the tree to Form ID fields in the view?

Link to comment
Share on other sites

Haven't compiled the new build yet, but does this mean I can lock the record view, scroll through the record tree, and drag-and-drop records from the tree to Form ID fields in the view?

Nope, there is nothing new regarding drag&drop, it also doesn't lock the view. It only allows you to position the view at a particular row when browsing records instead of always focusing the Record Header top row.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...