The Elder Scrolls Forums

TES Construction Set and Plugins >> Morrowind Mods

Pages: 1 | 2 | (show all)
LDones
Curate

Reged: 10/10/02
Posts: 933
Re: Help with New Low Level Editor [Re: Farren]
      #1625684 - 07/20/03 08:49 AM

The problem is not the identical GMST's - The problem is the changed ones that are automatically inserted with erroneous/changed values - ie. Fabricant uUmmoning GMST's, etc. So setting the program to only remove identical GMST's won't solve the problem.

--------------------
-LDones
http://www.hiredgoons.net/MWFiles

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Help with New Low Level Editor [Re: LDones]
      #1625848 - 07/20/03 09:41 AM

Thanks guys for the feedback. You've clarified it for me. I see what the problem is. If someone can assist by saving blank mods like this, extracting the offending GMSTs sending me a list, I'll include the GMST cleaner.

It'll take me an hour or two, so if its gonna help a lot of people I'll definitely include it. Please tell me if there are any other common simple tasks that everyone wants and there are no tools for.

The astonishing thing is, despite having spent all my spare time for weeks coding this editor, and digging so deep into the morrowind format that I can safely say I speak ESP in my sleep, I've hardly touched the construction set at all or done much actual modding, so I'm clueless about these kinds of problems.

I come from a background of modding Unreal Tournament (prev version), which has a brilliant editor and a full object-oriented programming language for modding, so I downloaded a tutorial, browsed through TES Contruction set and decided it was crap, which is why I got started with this project.

Not dissing the game or anything - I wouldn't be attempting to mod for it if I didn't dig Morrowind, but compared to UT, the editing tools and the scripting language are just aaaargh crappy.

[edit]
Stop the Press: I just realised that I can give you a window where you maintain your own "kill list", so you can add to the commonly known ones. Still, if everyone can send me the ones they know are common problems, I can include these with the shipped program.

Edited by Farren (07/20/03 09:43 AM)

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
BigED
Novice

Reged: 07/17/03
Posts: 23
Re: Help with New Low Level Editor [Re: Farren]
      #1625918 - 07/20/03 10:03 AM

I dont know how many of you have had this problem, but I know I have, and it would be nice to have some type of remedy for it.

My problem is that occasionally I have opened a mod to edit, but unknowingly also had a masterfile such as Tribunal or something that I did not need opened. When I saved my mod it now requires Tribunal, and I never altered anything in Tribunal, so it needlessly requires it. A way to add/delete which esm's are rquired would be very helpful. Thanks!

--------------------
Check out my mods at www.geocities.com/biged50155

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Help with New Low Level Editor [Re: BigED]
      #1625950 - 07/20/03 10:11 AM

BigED, with my unfinished editor thats already a doddle, but I think Argent's tool (he posted a link on this thread) also does this.

Keep em coming. The issues raised so far are a walk in the park for me to include.

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Argent
Disciple

Reged: 02/05/03
Posts: 1211
Loc: Australia
Re: Help with New Low Level Editor [Re: BigED]
      #1626172 - 07/20/03 11:09 AM

BigEd: My TESDTK will do exactly what you are asking for. The download is in my sig.

Farren: I'm guessing you have Morrowind+Tribunal but no Bloodmon. Tribunal adds 11 GMST entries, while Bloodmoon adds 61 of them!
Unless someone who is reading this thread obliges by sending a Bloodmoon esp full of GMSTs, it may be worthwhile making a separate post requesting such a file. I did similar when I was testing TESDTK; I needed an empty Bloodmoon esp file, and I got quite a number of responses from people willing to donate one.

--------------------
TES Dependency Tool Kit
Fists Of Fire HTH Cast On Strike Spell Damage.
My Mods Page

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Help with New Low Level Editor [Re: Argent]
      #1626671 - 07/20/03 02:01 PM

Yup, looks like I'll have to do exactly that

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Argent
Disciple

Reged: 02/05/03
Posts: 1211
Loc: Australia
Re: Help with New Low Level Editor [Re: Farren]
      #1627050 - 07/20/03 04:26 PM

I just took a quick look through your editor: Very impressive.
You seem to have put in a lot of effort to make it both aesthetically pleasing and intuitive to use. I'm very interested to see what kind of functionality you are going to include in this.

Another suggestion that may have been mentioned: A save-game cleaner that cross references save-game entries with plug-in file entries and deletes them. This has been a common problem when uninstalling mods, as the object references remain in the ess file and sometimes render a save file unusable. This is also something I've looked into on a cursory level, but have been tied-up with writing my class library (& modding).

--------------------
TES Dependency Tool Kit
Fists Of Fire HTH Cast On Strike Spell Damage.
My Mods Page

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Kal_Choedan
Adept

Reged: 03/10/03
Posts: 214
Loc: UK
Re: Help with New Low Level Editor [Re: Farren]
      #1627924 - 07/21/03 01:20 AM

Farren, if you PM me your email address I will send you an esp that contains nothing but the bad GMST entries from Tribunal and Bloodmoon.

Kal

--------------------
--
Discordian, Subgenius and Knight of Xenu
"The rain, it raineth on the Just and the Unjust fellah. But chiefly on the Just, because the Unjust steals the Just's umbrella."

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Help with New Low Level Editor [Re: Kal_Choedan]
      #1629321 - 07/21/03 10:49 AM

Quote:

Discordian, Subgenius and Knight of Xenu




Illuminatus? Cult of the Dead Cow, perhaps? Nice quote, btw. Have a golden apple

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Coda
Novice

Reged: 05/19/03
Posts: 28
Re: Help with New Low Level Editor [Re: Farren]
      #1632993 - 07/22/03 11:10 AM

Farren:

If you're still taking feature suggestions there's one I'd like to throw
into the mix.

In principle, 'doubling' should be no problem for MW players. You simply
rename your save file to a .esp, load it into TESAME, and delete
duplicates. In practice though, this is very difficult - a save game has
a heck of a lot of entries, and there's nothing to identify which ones
are the duplicates.

One editor feature that could help would be if one could load an 'old'
and a 'new' save game and 'do a diff' ie., have the editor display the
differences between the files in terms of records. Say I have a save
game S1, using a certain set of plugins. I want to introduce a new one
that makes very limited changes to the MW world (perhaps adds one
NPC). Introducing the plugin and saving the game (S2) can cause
large scale doubling. If an editor could display the differences
between S1 and S2, I could take S2 and delete all differences bar the
NPC.

It would also be useful if the editor could give a list of all references
in a save game, togethor with the name of the esm or esp that holds
the associated object. If I add plugin P1 (which does nothing but add
a NPC), and I compared new and old save games, and find that there
are more creature references from plugin P2 in the new save compared
to the old, I know that I can delete the additional creature refrs
safely.

I hope this makes sense, let me know if it doesn't. :-)

Good luck with your project in any case,
Coda.

ps. If you're interested in the kind of doubling I mentioned above, I've
been talking about it in this thread:

Doubling Thread



Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Help with New Low Level Editor [Re: Coda]
      #1633214 - 07/22/03 12:17 PM

Coda,

I've encountered this problem myself and I think it will be a good idea. The only problem is its four in the morning here, I'm a tad tipsy and I;m having difficulty following the reasoning.

Just wanted to let you know I heard the call. I'll come back and read this tommorrow. I've got a feeling the doubling thing can also be sorted out fully automatically as soon as I can wrap my head around it.

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Doubling [Re: Farren]
      #1637795 - 07/23/03 11:24 PM

Coda

I got around to reading the interesting thread you linked to and I think I understand the problem. I'm posting this in the hope you can help me brainstorm the algorithm for sorting it out.

On the face of it, your "remove differences" idea seems good. However, I've had situations where I don't discover the double until a significant number of real changes have occurred in my game. So this approach would still yield occasional difficulty.

I trying to figure out a more automatic approach. The problem seems to arise in two cases:

1) you load a plugin with a more recent timestamp than your save
2) You load an older plugin that references the same data as a newer plugin, _and your save game was saved with the newer plugin loaded_

Every object or character in the morrowind game world has two unique references:

1) The ID string, such as "ex_velothi_door" that uniquely identifies the _type_ of object
2) The cell reference, that uniquely identifies a particular _instance_ of that object

In Dave Humphrey's excellent ESM/ESP/ESS file format definition, he states that the FRMR subrecord found for each object/character in a cell is the unique _instance_ identifier:

Quote:

FRMR = Object Index (starts at 1) (4 bytes, long): This is used to uniquely identify objects in the cell. For new files the index starts at 1 and is incremented for each new object added. For modified objects the index is kept the same.




When the engine overloads object changes, it uses this reference to determine what to overload. It seems impossible using this method for the doubling to occur.

So I made a single change to an object and saved it as an esp. The FRMR records were _not_ the same. The first index is a smaller number and the second much larger. But in this case, the engine can't tell that the reference in the ESP is a modification of the ESM, since they don't have the same reference?!?

Further investigation. The FRMR record is made up of 4 bytes. In accordance with DHs file format, I was interpreting all four as a single LONG (Long Integer) type number. When I take the first byte and treat it as a number, and the next three and compound them into a seperate number, something interesting arises.

The three bytes of the changed reference are the same number, always, as the three bytes of the original reference. So there is a unique identifier number that tells you which object was changed by the ESP, with an extra "flag" byte of unknown purpose.

Unfortunately, I've just reconstructed my machine with new hardware and my programming tools and low level editor are giving errors, do I can't continue till I've fixed this, but here's my thesis:

When you manipulate or interact with something in Morrowind, a reference to the object is saved in your saved game file. The 3 byte number that uniquely identifies the object remains the same as the 3 byte number in the master and all overriding esp files, but the "flag" changes.

The flag can't be a time stamp because 1 byte isn't enough data to store that. However, in the ESS, the ESM/ESPs the save game is dependent on are listed at the beginning of the file, so the flag could be a reference in sequential order to the ESM/ESP that last overrode that object.

Now if you save with the newer mod installed, the newer mod would be the last in the list and the flag would be the maximum value. Installing an older mod, even though it's older, puts the older mod at the last in the list (before you save again the older mod won't be listed in your file, but it will be listed in memory).

If the engine loads the changes to objects like this

Highest flag value last (Flags in ESPs will be the same, but in save will be higher)
Highest date value last

There's probably some kind of conflict when the flags are different and the flag/date sequences are the reverse of each other, forcing the engine to duplicate and show a new object to resolve the conflict.

Hmm... unfortunately an upgrade made it difficult for me to check anything until my machine is sorted out but if something like this is the case the presence of a unique reference in all three files will make it possible for me to

1) Present an interface where you specify your save game
2) Select current mods (defaulting to those listed in the game)
3) Use the unique ref to determine the doubling objects and update the flag to prevent it

Anyway, I'll be able to see the relationships between flags, filestamps and references when I've got everything running again.


Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Argent
Disciple

Reged: 02/05/03
Posts: 1211
Loc: Australia
Re: Doubling [Re: Farren]
      #1637817 - 07/23/03 11:46 PM


I can't believe you have figured out the cause of object doubling!!!
It sounds like the 4-byte long is being used as a bit-field (..correct name? I forget) flag, which is consistent with many other records in the ESM format (check NPC data).

To me this doesn't seem so much of a 'bug' as a way of resolving an internal confilct when loading object data.

--------------------
TES Dependency Tool Kit
Fists Of Fire HTH Cast On Strike Spell Damage.
My Mods Page

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
GibMonkey
Initiate

Reged: 04/27/02
Posts: 56
Re: Doubling [Re: Argent]
      #1638067 - 07/24/03 01:40 AM

OK, so let me understand this correctly Farren...

You're making a utility to (among other things) remove doubling from save games? Did I hear you right? Automatically? Now before I get all giddy and freak out, am I to understand you've pinned down the doubling bug/undocumented feature? Is this true?

If so, I can't even begin to tell you how happy you'll make me. Set up a Paypal account and I'll donate. I've got a save game I can't clean up and I really don't want to start over. This just makes me giddy.

Now all we need is someone to come up with a NVidia digital vibrance-like utility for the ATI 9800 Pro Radeon card, so I can have my colors back. Color tab via catalyst 3.6 drivers suck. But that is another story for another time....

Thank you Farren!


GibMonkey
tulio.p@comcast.net

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
GibMonkey
Initiate

Reged: 04/27/02
Posts: 56
Re: Help with New Low Level Editor [Re: Farren]
      #1638260 - 07/24/03 03:09 AM

bumpity bump!

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Help with New Low Level Editor [Re: GibMonkey]
      #1639145 - 07/24/03 08:05 AM

Before you get _too_ giddy I'm _very_ busy with work at the moment (I work for myself as an analyst/developer and work my butt off then relax for weeks at a time in erratic cycles)

My projection on completion date for the functions mentioned is (ouch) four-and-a-half to five weeks before I release it. Theres some other basic functionality I want to get finished first just to make it a proper "editor".

I have, however, carefully documented all of the discussions here and you have my sworn promise the editor will be delivered soon with the features discussed.

I had a few other complicated ideas which will make mod-making a LOT easier, but I think, given the responses, I'll put these on the backburner, release the functions everyone wants immediately, and work on a "version 2" afterwards.

Argent, I sent you a mail with the "top secret" ideas. Tell me what you think. I think they're pretty revolutionary but I might need some extra hands to get them done in reasonable time. If you're thinking of getting into C++ we could work in a modular fashion (some of the functionality I sent you can be shipped out to C++ DLLs and called from VB)

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Coda
Novice

Reged: 05/19/03
Posts: 28
Re: Doubling [Re: Farren]
      #1640768 - 07/24/03 04:20 PM

Farren:

I just lost a lot of typing as a result of one unthinking 'click', so if this reply
is brusque please forgive me. :-)

Quote:


On the face of it, your "remove differences" idea seems good. However, I've had situations where I don't discover the double until a significant number of real changes have occurred in my game. So this approach would still yield occasional difficulty.





I'm afraid I don't follow this. In the Caldera case from my doubling
thread, I'm convinced the doubling occurs immediately during the *load* process.
I load the game (with additional plugin), and do nothing else but COC
back to Seyda Neen, and the doubling is immediately apparent. If I had
been *playing* the game rather than *testing* then my character
might not have gotten back to SN for a while and hence the doubling
might have appeared to occured later, but that's an illusion.

Could you give me an example of 'delayed doubling' so I can understand
you better?

I guess I see two approaches towards a doubling solution. The first is
to find a 100% accurate theory of why doubling occurs, then prevent
the circumstances from arising. You seem to be making great strides
in this direction, but I'll just note that it may be very difficult to get from
a 98% correct theory to 100%. The second approach is to say that
doubling occurs for whatever reason, but if we can *detect* it (for
example by applying a kind of 'diff' to sequential save games), we
should be able to correct it. This is the less elegant, but perhaps also
less risky, engineering approach.

Quote:


2) You load an older plugin that references the same data as a newer plugin, _and your save game was saved with the newer plugin loaded_





If 'references the same data' means the plugins are both dependent
on the same external ESM/ESP file, then OK. If 'references the same
data' means both plugins contain instances (references) of a common
object, then I don't think that's correct. In an early example from
my thread I have doubling where the two plugins refer to *different*
objects (spear / longsword) in different cells (Balmora / SN).

- - - - - - - - - - -

On the order of the loaded ESP/ESM file-list in a ESS file:

Someone wrote a utility, 'ESSfix', intended to help avoid doubling when you
added an additional plugin to a current save game. It did this by
editing the ESS file, adding in a pointer to the additional plugin. I tried
it out, and by hexediting the file I could see that it did what it claimed
to do, but in my one quick test (after 1:00am in the morning :-) ) this
did not prevent doubling. I noted that the new pointer had been
added to the *end* of the ESP/ESM file-list, despite the fact that the
added plugin had an old date. I used the hexeditor to move the pointer
to the *front* of the list, but the doubling remained. I was half asleep
when I did this, I'll repeat the experiment if you'd find it useful.

Cheers,
Coda


Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Doubling [Re: Coda]
      #1641132 - 07/24/03 08:31 PM

Coda, while your post does indicate problems with my thesis, it definitely moves us forward. Thanks for the thoughtful and constructive feedback.

I agree that a less risky engineering approach might be better, but... over the years I've come across a lot of "impossible" problems where the has been a strong pressure just to cludge it and be done with it. Invariably, when the state space is properly mapped out, the exact nature of the problem can be understood and addressed at the root.

I've saved your entire doubling thread and I'm going to render down the situations described there to a state diagram this evening before commenting further.

I've got a feeling the complexity arises from the fact that theres a three way relationship between age of newer mods, age of older mods and age of save. Since both the saves and the ESPs have master file entries, I can see this potentially being quite a complex state space.

There is always a possibity that a fundamental problem with engine design means fixing one thing will break another - which will obviously make some sort of user interaction necessary to fix it - but if we are absolutely certain of what form this takes, we can minimise the interaction required.

Anyway, thanks again for the thoughtful analysis.





Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Farren
Novice

Reged: 06/29/03
Posts: 34
Re: Doubling [Re: Farren]
      #1644763 - 07/25/03 11:54 PM

Deathbliss, I heard your cries on another thread. As I said, you'll have to wait a few weeks though.

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Deathbliss
Curate

Reged: 05/20/02
Posts: 702
Loc: Questing for my Dan Tien, my center.
YAHHHH!!!! [Re: Farren]
      #1646769 - 07/26/03 02:37 PM

You get a save game cleaner out and I'll be the happiest man on earth!
- Deathbliss

--------------------
Creation is more powerful than destruction.
This is why good is more powerful than evil,
Because good has the power to create,
While evil only has the power to destroy.


Fight the RIAA!

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Argent
Disciple

Reged: 02/05/03
Posts: 1211
Loc: Australia
Re: Doubling [Re: Farren]
      #1647689 - 07/26/03 10:59 PM

Quote:

we could work in a modular fashion (some of the functionality I sent you can be shipped out to C++ DLLs and called from VB



As I said before, I'd be more than happy to help out, time permitting. I've never written anything that required dll files before, but if I remember correctly, JET had an option to convert Java byte-code into dll files. Now I'm not sure if this will still be usable from VB, but it would be far easier for me to code in Java where possible (C++ is slowly getting there though).


--------------------
TES Dependency Tool Kit
Fists Of Fire HTH Cast On Strike Spell Damage.
My Mods Page

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
GibMonkey
Initiate

Reged: 04/27/02
Posts: 56
Re: Help with New Low Level Editor [Re: Farren]
      #1654802 - 07/29/03 04:51 AM

Bump for charity!

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Deathbliss
Curate

Reged: 05/20/02
Posts: 702
Loc: Questing for my Dan Tien, my center.
FEATURE REQUEST! [Re: GibMonkey]
      #1684198 - 08/07/03 12:25 PM

Yeah it'd sure be nice to be able to adjust variables like the charcter's weight, and to remove any STLN (stolen) entries... BTW what ever happened to the Morrowind Save Game Editor someone was working on a while ago?
- Deathbliss

--------------------
Creation is more powerful than destruction.
This is why good is more powerful than evil,
Because good has the power to create,
While evil only has the power to destroy.


Fight the RIAA!

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Deathbliss
Curate

Reged: 05/20/02
Posts: 702
Loc: Questing for my Dan Tien, my center.
Some info... [Re: Deathbliss]
      #1695608 - 08/10/03 03:37 PM

Dunno if this will help, but it seems like doubling has a tendancy to occure the most often in the most recently added items in a plugin, and anything that's out in the open. This explains doors doubling, and I assume other static objects are suseptable as well. In my latest little mod that only adds a tree and a platform with some chests and crates outside of Vivec - it alters nothing in the game - my sword was doubling first. But I recently added a belt and a potion, and now that's doubling. So for now I'm testing the .esm version I made of it - I just hope there's no disadvantages to that approach -
- Deathbliss

--------------------
Creation is more powerful than destruction.
This is why good is more powerful than evil,
Because good has the power to create,
While evil only has the power to destroy.


Fight the RIAA!

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
shiva7663
Disciple

Reged: 03/11/03
Posts: 1228
Re: Help with New Low Level Editor [Re: Farren]
      #1695819 - 08/10/03 05:00 PM

Another feature that would make people happy in the saved-game editing section would be the ability to remove a faction membership. I expect that would take a bit of detective work, though....

Post Extras: Print Post   Remind Me!   Notify Moderator   Email Post
Pages: 1 | 2 | (show all)


Extra information
16 registered and 12 anonymous users are browsing this forum.

Moderator:  Maverique, Pete, GoDFaDDa42, Hayt, MrSmileyFaceDude, kathode, Freddo, sentinel, klendathu, Lady Eternity, Locklear93, Hungry Donner, Archeopterix, slateman, tegger 

Favorite Thread! (toggle)
Print Thread

Permissions
      You can start new topics
      You can reply to topics
      HTML is disabled
      UBBCode is enabled

Rating: ****
Thread views: 925

Rate this thread
 
Jump to

The Elder Scrolls Homepage

*
UBB.threads™ 6.3

Click for Privacy Statement 2003 Bethesda Softworks LLC, a ZeniMax Media company. All Rights Reserved.
PRIVACY POLICY | TERMS & CONDITIONS | LEGAL INFORMATION | CONTACT US