Oblivion Mod talk:Mod File Format

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search

Record Types[edit]

Changed these so that they won't create new pages. Separate pages would be too much page fragmentation. Maybe we'll need to split things up later, but at the moment, I don't think so. Besides with all the data on one page, it's easier to capture, print and compare between record types. --Wrye 22:40, 1 April 2006 (EST)

Once the information on each record type gets filled out, there will be information on every record type's usage, required subrecords, optional subrecords, occurence in Oblivion.esm, and probably also a fair deal of notes on subrecord placement and the consequences of placing the record in an inappropriate group. That's several sections wide, and at least three deep -- and you're suggesting that we put this behemoth underneath a major section and inside a list. Once we get to the third indent, half of the screen is already taken up with whitespace, and the section heading is significantly smaller than normal text.
On "page fragmentation," if this is a stylistic belief that you hold, then it's quite simply culturally retarded. One of the basic principles of the WWW is that you group information based on audience interest, and have an index page that provides access to those individual pages in a top-down fashion -- the end result being that the user doesn't have to wade through a gigantic file looking for what he wants. If it's a limitation of the backend, then that would make this the most wholly insufficient system I've ever seen outside of a supermarket, not just for this "wiki" concept, but for the WWW as a whole; if the system gets taxed because of this more reasonable organization, then so be it, because the only metric that counts is user experience.
As for it being "easier to compare" with all the data on one page... If the user doesn't understand the difference between an activator and a static, then this isn't the first place he'd look, and it certainly wouldn't be the most appropriate. As for any other cases where the user would be carefully weighing the pros and cons of each distinct type of record (and yes, those words are the primal essence of sarcasm rendered in ASCII), I don't think that anyone would be hated for telling those fringe cases to join us in the splendorous year of 1998 and get a tabbed browser. Marxist ßastard 03:20, 2 April 2006 (EDT)
I've spent quite a bit of time working on this wiki (in fact, according to Dave's (somewhat outdated) edit count, I'm top editor.) So, I've got a bit of experience. And my experience is that it's a lot easier to split pages up then it is to put them back together. If the page becomes unwieldy, then we can split it up then with no problem. OTOH, I've seen people split pages up too soon and end up with tons of little pages that are a pain to wade through. So, for that reason alone, let's wait.
Reason 2: In working on Mash, I found it a lot easier to work with single page (e.g., Dave's Morrowind record document). I just needed to quickly move between different record/subrecord info blocks, and that was a lot easier to do with a single page. (Hit search and/or use googel toolbar to hilight terms.) So, again that indicates a single page is better. Obviously, there's such a thing as too much, but Dave's doc at 36 kb worked fine as a single page. I would expect the Oblivion do to be about the same size.
Reason 3: There's a difference between documenting the format and documenting the implications of particular aspects of game storage. In my docs, I found it much more useful to have pages organized by subject (e.g, Doubling, Innate Mod Conflict, Leveled List Merging). Those subects may touch several different records at once, and/or deal with issues outside the record format itself. (E.g., bugs in the game engine, interaction between saves and mods, etc.) So, I expect that the format page won't have in depth details of format implications -- instead that will go into special topic pages. (E.g., Morrowind Mod:World Map.)
Reason 4: We're still far from fully understanding the fundamental structure of TES4 files. Better understanding may suggest a somewhat fundamental reorganization of the file format info. (In fact, after mucking around with reading files last night, I think that this is the case.)
And it doesn't have to be inside a list. The curent list is just a placeholder. Heading 3 or 4 or perhaps a table or set of tables. There are several options.
In short, it's too soon to split. If it needs to be split later, fine. But right now, its undersirable and unnecessary. --Wrye 20:49, 2 April 2006 (EDT)
I suppose that this is easier to revert should the need arise. Back to content, then. Marxist ßastard 02:27, 3 April 2006 (EDT)

Signed Comments in Main Article[edit]

This page is here for a reason. Use it instead of putting comments in the main article. Marxist ßastard 00:13, 4 April 2006 (EDT)

As noted at the top of the article page, it's a temp measure since it's a hot topic. Since we're figuring out the page day to day, and not entirely in agreement on aspects of it, and since users are trying to make use of it, signatures can help to clarify to regualr users where we're trying to sort stuff out. I agree that it should be used sparingly and should be removed as soon as disagreements are resolved, but for now, it's useful. --Wrye 00:50, 4 April 2006 (EDT)
If you're that upset over what's being said in an article, please redirect users to the talk page so that they can see what the dispute is, instead of rendering the page unreadable. Marxist ßastard 01:01, 4 April 2006 (EDT)
Disagreement == Upset??? Signature in page == page unreadable??? I disagree. --Wrye 02:25, 4 April 2006 (EDT)

Major Edit[edit]

Henry Morgan, your note has been taken into full consideration, thank you.

Wyre, most of your changes have been preserved. Some of the more laundry list-like contributions have been left alone and moved to their own sections, since -- presumably -- they hold some significance to you, if not very many other people. Others have been merged into the introduction and edited for readability and consistency of style. If I missed anything, try to merge it in where it best fits instead of reorganizing and reformatting the rest of the article around it. Marxist ßastard 06:07, 4 April 2006 (EDT)

Page Protected[edit]

I've rolled back the page to remove MarxistBastard's latest edits, and I have protected the page in an effort to prevent an editing war. I've been working on this wiki for over a year and this has been the first time that I've seen clear antagonism. Contributors have disagreed on a number of issues, but everyone has basically been more concerned about getting the site built than making sure that they win every argument. So, it's been a distinct displeasure to have to deal with the antagonism that MarxistBastard has been exhibiting.

Examples:

  • This section is incomplete and pending cleanup by its author.
  • If you're that upset over what's being said in an article, please redirect users to the talk page so that they can see what the dispute is, instead of rendering the page unreadable.
    • The bizarre implication that emotionally upset simply because there's a dispute. Accusing me of rendering the page unreadable.
  • presumably -- they hold some significance to you, if not very many other people
    • Implication that I'm some idiot concerned with useless trivia. Where the useless trivia consists of the file format?? This accusation doesn't even make sense.
  • Etc. See other comments on talk page above.

The reasons for the rollback were:

  • The addition of gratuitous attacks on my earlier work. E.g., This section is incomplete and pending cleanup by its author.
    • Not "I think this is wrong." and a signature indicating an opinion, but rather cited as a voice of authority.
    • The aside is incorrect. It's not incomplete, and I wasn't planning on adding anything. And for that matter, articles themselves are joint authorship -- anyone can edit anything at any time.
  • Incompetent wiki editing. After the edit, the TOC was halfway down the page. If you're making a major revision, at least demonstrate that you know what you're doing.
  • Beginnings of an edit war. I had removed the grup info from MB's earlier c code block because I expanded the grup definition considerably. That expanded the information and removed some c code which was less readable because it's language specific.

Regarding the use of c code. I would think that it would be pretty obvious that the best way to document is not with c code. Simply describing the raw data format is more efficient. And of course, not all of us program in c. I use python predominantly, others use Java, others use Visual Basic. File format description should be language neutral as much as possible.

People editing these pages are going to disagree, and with cooperation we can resolve most of those issues. Please think of this site as a team effort, and show the consideration and courtesy that is required when working in a team. --Wrye 21:23, 4 April 2006 (EDT)

Sounds good. What I suggest is that the page be forked at a subpage (e.g. /Temp) and you (or another sysop of course) can transfer "good" agreed-upon edits from there to the live page. This has been done on Wikipedia for similarly serious disputes and works extremely well, because everyone involved knows disruptive/opinionated work won't make it into the actual page. Garrett 21:47, 4 April 2006 (EDT)
A reasonable suggestion. My major concern is with the antagonism -- it's something that I'd prefer not develop at the site. I'm checking with Dave to see what his feeling is. Pending that, forking to a subpage (e.g. Oblivion:Mod File Format/MB) is available if MB wants to take that route. --Wrye 22:18, 4 April 2006 (EDT)
  • The reasons for the rollback were: The addition of gratuitous attacks on my earlier work. E.g., This section is incomplete and pending cleanup by its author.
The sections in question were laundary lists. There were a lot of points were clarification was necessary, and the level of detail was severely lacking. It was obvious that they were just being used as scratch space, until now, when I see that the way that your style of writing -- and, indeed, how you insult someone -- is such a sparse laundary list.
  • The reasons for the rollback were: Incompetent wiki editing. After the edit, the TOC was halfway down the page. If you're making a major revision, at least demonstrate that you know what you're doing.
How is it not acceptable to have the table of contents follow the introductory section?
  • The reasons for the rollback were: Beginnings of an edit war. I had removed the grup info from MB's earlier c code block because I expanded the grup definition considerably.
Your exceptions to the group structure were included in the introductory text, and the special interpretation of certain parts of the group header were outlined as well. Additionally, it was made quite clear that this structure applies to top-level record groups rather than the group-record complexes that you detail.
  • Please think of this site as a team effort, and show the consideration and courtesy that is required when working in a team.
A team effort. Precisely. Which is exactly why you need to get into the habit of locking down pages without warning, at the slightest provocation, based on your opinion alone. Marxist ßastard 22:45, 4 April 2006 (EDT)

I've now unprotected the page. (Delay was not due to MB, but mainly to content split while site was flakey for a couple of weekends ago, plus several other project keeping me busy.) Anyway, I've now significantly updated the page (see below). However, MB's reply above only serves to demonstrate my earlier problems with him: incompetence and seeming inability to post a reply without hurling insults. MB, you're now a hair's breadth away from banning. If you want to continue to contribute here, lose the attitude. --Wrye 02:25, 21 April 2006 (EDT)

So then -- in short -- it took you the better part of a month to unsplit a page, during which time it was needlessly locked from editing? I can't help but think this is due to that "incompetent wiki editing" thing you've been ranting about. Marxist ßastard 04:03, 30 April 2006 (EDT)
Case proven... -- EndarethTalk 05:47, 30 April 2006 (EDT)

Cross reference / field size type information[edit]

Last week I was building tool for automated cross-reference and field type identification (using mostly Oblivion.esm). Preliminary results can be found as part of configuration file that I intend to use for future ESP/ESM parsing at http://www34.brinkster.com/ghostwheel/TES4.xml (I think you will have to copy-paste link and not just click it)

Hopefully it is readable enough to give you some additional information.

I like this concept for XML definition, is there a set spec somewhere for this or is this a draft? Is there an associated tool that can use these? --Rick 00:03, 6 April 2006 (EDT)
Cool! Thanks GW... --Wrye 00:14, 6 April 2006 (EDT)

Dave's Format[edit]

Some of my ESP format documentation/work in progress will be at [[Oblivion:Mod File Format/Dave Tests]] for dicussion until finalized or put into a better form. --daveh

See my notes on the main document for the hierarchical structure of the groups. Also, the compressed records are compressed using zlib. First four bytes of the record is the decompressed size as an int (or uint). Rest of record is zlib. I don't know details, but python's zlib.decompress() function unmunched it fine. (I figured that GhostWheel had figured this out since he had the substruture already laid out, and he already got that bsapack was using zlib. Thanks, GW! And Rick too for the hint on the BSA format page.)
I should also mention that I had so many problems loading the site Friday-Saturday that I just started putting my tech notes on my home page. Wrye Musings: TechNotes--Wrye 17:07, 9 April 2006 (EDT)
Yeah I had the same problem so I set up a private MediaWiki for myself so I could edit in the same format. :) --Rick 18:30, 9 April 2006 (EDT)

Major Overhaul[edit]

I've just completed an almost complete redrafting of the page. Maybe about 25% of the info is the same as when I started earlier today. Changes include:

  • Use of greylapse tables.
  • Dropping c-code sections.
  • Use of now standard type names. These are same types as used on the Oblivion Mod:Save File Format page and elsewhere.
  • Record type details have been moved to subpages, which use similar formatting.
    • If you want to do something there, be sure to follow the same format. (And you may want to wait for and/or help Dave who's moving his own test info over.
    • To start such a page, just follow one of the links at the bottom. --Wrye 02:17, 21 April 2006 (EDT)

Change WryeLink[edit]

Hey ho, here I am on the same page as Wrye :) Current Wrye Bash development takes place at https://github.com/wrye-bash/wrye-bash/ - could not find a way to update that link but I am always lost with wiki software

--UDUN (talk) 16:07, 29 April 2020 (GMT)

The problem with updating WryeLink to point to GitHub is that most of the WryeLink calls are supposed to point to documentation, which I think is all still hosted on Wrye Musings. If there's an updated location for the docs, then we can probably update the link from the current one, or create a new template altogether, if the old one is still useful. Robin Hood  (talk) 23:43, 29 April 2020 (GMT)
docs are on github in https://wrye-bash.github.io/docs/ - I am Utumno over there btw :)--UDUN (talk) 01:20, 30 April 2020 (GMT)
Unless I'm missing something, though, there's no direct mapping of old links onto the new docs. For example, one of the more common usages is {{WryeLink||Wrye Mash.html}}, which currently points to this page. I don't see an equivalent page anywhere under https://wrye-bash.github.io/docs/. That's not to say we can't create a new template for the current Wrye Bash project, just that unless there's a direct mapping of some kind, we should probably just create a new template and start using that for future links. Otherwise, all the existing links will be broken. Robin Hood  (talk) 03:30, 30 April 2020 (GMT)
There is no direct mapping, Wrye Bash has evolved a lot since - if there are not many references to old template I could attempt mapping them manually. For sure links to the project home should be replaced. A primer on wiki editing would help :P--UDUN (talk) 16:44, 2 May 2020 (GMT)
How many do you want to change? If there's only a few, you can just replace the {{WryeLink|...}} with [https://wrye-bash.github.io/docs/ Display Text]. If it's a lot, then we can use a new template for it (NewWryeLink? or maybe rename the old one to OldWryeLink and put the new one in its place). Robin Hood  (talk) 20:28, 2 May 2020 (GMT)
Searching for WryeLink gives me this page only - is there a way I get them all? Some dedicated page (sorry I am really not familiar with wiki software).--UDUN (talk) 21:41, 2 May 2020 (GMT)
You can see all uses by going to the template and use "What Links Here" - or use this link: WhatLinksHere/Template:WryeLink . --Alfwyn (talk) 21:45, 2 May 2020 (GMT)
Thanks will have to go through those!--UDUN (talk) 22:04, 2 May 2020 (GMT)

where to add additional information[edit]

It took me some time to figure out that scroll entries were in the BOOK data file. I thought I might assist others searching for similar information by changing the Data Object field for BOOK from "Book" to "Book, Scroll". It occurred to me that the Data Object field may have a specific purpose and may not be a free-form description. I do not want to upset anyone by making inappropriate changes. I may stumble over additional bits of info that might be slightly helpful to others.

Should I change "Book" to "Book, Scroll"? Or maybe "Book [also scrolls]"?

Is there a better place to put this bit of information?

WaffleHouse2t2 (talk) 21:25, 8 October 2023 (UTC)