[MOD] Unofficial Block, Location and Model Fixes

A curated forum for compatible and maintained mods. Users are unable to create new topics in this forum but can reply to existing topics. Please message a moderator to have your mod moved into this forum area.
Post Reply
User avatar
XJDHDR
Posts: 258
Joined: Thu Jan 10, 2019 5:15 pm
Location: New Zealand
Contact:

[MOD] Unofficial Block, Location and Model Fixes

Post by XJDHDR »

The full readme and download location may be found on my website: https://xjdhdr.gitlab.io/my_creations/TES2_Daggerfall_Unity/Unofficial_Block_Location_and_Model_Fixes_readme.html

Details
Daggerfall was a very ambitious game when it was released but unfortunately, it was rushed. After the release of Arena, Bethesda Game Studios released Daggerfall only around 2 and a half years later. Like most rushed projects, Daggerfall was released with numerous bugs in it. The size of Daggerfall's world only made the problem worse. It wouldn't be a stretch to call Daggerfall the buggiest game in the Elder Scrolls series. Possibly the buggiest BGS has ever released (though Fallout 76, if it doesn't take the crown, comes close). Though a number of patches were released for the game afterwards, the final game was still left with a lot of glitches in it, from minor texture problems all the way up to bugs that corrupted your save game. Though a number of unofficial fixes and especially Daggerfall Unity were released to help fix the more serious issues as well as some minor ones, there are plenty still remaining.

That is where this mod comes in. My goal is to fix as many of the problems that still exist in Daggerfall's blocks, locations and models as I can. In doing so, I hope to improve the game in an area that I feel is getting less attention than some other areas. I am also creating this to provide a modders' resource for anyone that wants to make alterations to any area of the game that I have fixed. To provide them with data that they don't have to fix themselves. Finally, I'm also fixing these issues because they are eye catching, irritating and I would rather play my game without these problems present.

Known Issues
General
  • Do not install or update this mod while inside a non-dungeon's interior. This is because there is a bug in Daggerfall Unity that causes the player map icon to become a collidable object. So please, if you are in a settlement, make sure you are outside before installing or updating. If the map arrow has become collidable, opening and closing the map might fix it.
  • Doors in dungeons that I have fixed no longer use dungeon door sounds. Instead, they currently use the same sounds as those in settlements. I'm looking into ways to restore this.
Model 239
  • There is a visible seam on some of the building's walls. Some texture packs exacerbate the problem. I'm looking into ways this can be fixed on the model but currently, it looks like a problem that needs to be fixed in the texture. Texture fixes are outside the scope of this mod.
Model 67028
  • I managed to reduce the gradient of this incline to the point that the player can walk down it without triggering rappel mode. However, trying to go up will still trigger climbing mode and there is not enough space left in the model to further reduce the gradient. Without changes to DFU's physics engine, this is the best I can do.
Model 55004 & Block S0000160.RDB Block S0000180.RDB
  • If you have already activated any of the 4 switches my mod fixes, switch them off and make sure the levers are angled straight up before installing this mod or updating it from version 2021.01.09. If you don't do this, the levers' orientations will break even more badly than they already were.
Block LIBRAL03.RMB
  • One container inside the fixed house will still sell books if the player has already identified this building before installing this patch.
Block TVRNAM00.RMB
  • The Innkeeper will still refuse to talk to player if they've already identified the fixed building before installing this patch.
  • If you have already identified either of the inns in this block before installing this patch, they will both have the same name.
Satakalaam - Satakalaam
  • If you have already identified the eastmost inn that was formerly named "The Unfortunate Dagger", it will still be called that after installing version 2021.09.00 or later. This means that you will still have two inns with the same name.
Wayrest - Wayrest City
  • If you have already identified the southern inn that was formerly named "The Queen’s Hedgehog", it will still be called that after installing version 2022.10.0 or later. This means that you will still have two inns with the same name.
FAQ
  • What is the "MBR Fixes" mod for?
  • With the help of Hazelnut, the creator of the World data override system, we discovered that Map Block overrides overwrite any changes made by a Building override for that same block. Because my policy is that any changes made by other mods should overwrite the fixes I've made, this created a problem because it meant any mods that used Building overrides to change the same Map Blocks that my mod touched would not apply them, regardless of load order.
  • The solution I've used to solve this is to write as many of the Map Block fixes my mod does as possible into Building overrides. The fixes that can't be done this way are placed into Map Block overrides as usual but these are provided as part of the "MBR Fixes" addon. This allows the user to disable only this portion of my mod if they have a conflicting mod installed.
  • What load order should I use with this mod?
  • This mod consists entirely of patches to the vanilla data. As a result, all other mods should overwrite this one. This is especially the case with AlexanderSig's Handpainted model replacements: Loading my mod later than his will revert some models to their vanilla look. The main exception is the "MBR Fixes" addon which is explained above.
  • In short, load this mod's files as early as possible. With a "Load Priority" of 0 and 1 if possible. It doesn't matter if the "MBR Fixes" addon loads before or after the main mod.
  • What is a Model?
  • A model is a collection of points in 3D space, called vertices, that are linked together to form multiple faces, most commonly in the shape of triangles or rectangles. These faces together create the shape of a basic model. These models can also have a number of extra elements applied. Examples include defining which textures are painted onto the surfaces of it's faces and how. Other examples include how these models are animated or how they interact with the physics engine. As an example, you may find a picture of what a model looks like here. In the original game, models are stored inside ARCH3D.BSA in the Arena2 folder.
  • What is a Block?
  • A block can be thought of as a puzzle piece. It is a collection of data that defines which models and sprites are going to be used in that block as well as where they are all placed in the block. Blocks come in two forms: Map Block Records and Dungeon Block Records. In the original game, both types of blocks are stored inside BLOCKS.BSA in the Arena2 folder.
  • Map Block Records are used in the overworld to place mainly buildings found at locations. These can also define interiors found in settlements as well as the doors that give you access to those interiors. They also define how the game draws the Automap image.
  • Dungeon Block Records are used in dungeons' interiors. In addition to placing models and sprites, these can also define some special properties, such as where quest objects can spawn. Also which models can move as well as when and how they do so. Like puzzle pieces, this type of block is also designed such that they will fit together against other Dungeon Block Records. They come in two types: Border and non-border blocks. Non-borders are designed to always be surrounded by four other Dungeon Blocks in the four cardinal directions because all four sides have doorways in them that other blocks connect to. Without another block on that side, those doorways would be open into the void. Border blocks conversely are designed to connect with a non-border block on one side to close the doorways mentioned with either passageways between two of these doorways or by just walling them off.
  • To illustrate, you can find pictures of a Map Block Record and Dungeon Block Record here. The Map Block Record is ALCHAM01.RMB and everything you see in the picture (buildings, trees, terrain and even the pig) are models and sprites that have been placed by that block's definition. The Dungeon Block Record is N0000005.RDB and the same thing applies here.
  • What is a Location?
  • Locations are places that appear on the game's travel map. They define the name of a location and it's type. It also defines which Map Block Records are used to construct the overworld representation of that location as well as the order those blocks are placed in. Basic information used to make the buildings in that location unique (such as names and quality) are also found in a location record. If there is a dungeon present at this location, a location file also defines which Dungeon Block Records are used to construct the dungeon's interior and the order they are placed in. In the original game, location definitionsare stored inside MAPS.BSA in the Arena2 folder.
  • To give an example, here is a picture of the dungeon interior of Privateer's Hold. It consists of 1 non-border block (S0000999.RDB) surrounded by 4 border blocks. I have circled in yellow the parts of the dungeon that are placed by the S0000999.RDB block. Everything else is placed by the border blocks. The parts of those borders that are connected to the main playing area are circled in red and the unused parts are circled in green. On the two sides closest to the camera, there are four doorways and all of them are joined to a single room each. Here is another picture that shows one of the far sides of Privateer's Hold. This side also has 2 open doorways but this border block provides a corridor (circled in red) to connect the two to each other. Finally, you may be wondering what the green parts of the border blocks are used for. In Privateer's Hold, they aren't used for anything. Other dungeons use these same border blocks though and in those dungeons, the borders may be arranged such that some of the green pieces are the ones used in those cases.
  • Why don't you want to fix anything else in the game?
  • The short answer is that it is a combination of my skills in modifying these files being lacking and other members of the DFU modding community already making some great efforts of their own in these areas.
  • A few of the things you've fixed in your mod have already been fixed in DFU.
  • There are two things going on here. The first is that some of the fixes I made were only partially fixed in DFU whereas my mod completely fixes the problem. A good example is the clipping that occurred between models 60110 and 60106 in some dungeon blocks. What DFU fixed was the aspect of this bug that caused people to get stuck inside the clipping area by adding workarounds to the movement physics (then removed these workarounds when the upgrade to Unity 2019 handled this situation better than previously). The fact that this clipping caused a graphical issue has never been addressed by DFU. Conversely, my mod fixed the visual aspect of this bug by moving the floor of 60110 up and away from 60106.
  • The second thing at play is that this mod is a modders' resource in addition to being a bugfix mod for people playing the game. The problem is that even though the engine patched these issues, the original resources still had problems which means that any modder that wants to create something new with these files has to fix the issue themselves. My mod provides these modders a way to get files they can mod which have already been fixed.
  • Can you port this to or make it work in Classic Daggerfall?
  • Hypothetically, it is possible to implement most of my fixes (if not all) in Classic Daggerfall. However, in practice, this requires a lot of effort. One would have to figure out where in ARCH3D.BSA, BLOCKS.BSA and MAPS.BSA the bugs are present. They would then have to either hex edit these files at those offsets or create a way to make these changes to the in-memory copy of those files while the game is running. It is more work than I'm willing to put in.
Version history
Due to the sheer number of changes this mod makes, I feel that it is impractical to list them here. Instead, I have listed the changes on separate web pages.

You can go here for the changelog that summarises the changes made, categorised by version: Otherwise, these pages give more detailed explanations of the changes made, categorised by file modified: Donations
While I don't expect any payments for my mods and have no plans to charge anything for them, any donations will be greatly appreciated.
Please see the relevant section of my readme to find the ways you can financially support my work, including 'free' ways.

Screenshots
Spoiler!
There are more screenshots on the Nexus Mods page but here are a few examples:
This spiral staircase previously had ugly texturing on the vertical part of the steps as well as gaps you could see the void through.
This spiral staircase previously had ugly texturing on the vertical part of the steps as well as gaps you could see the void through.
Spiral stair - fix.jpg (218.64 KiB) Viewed 9333 times
Every staircase I've seen had holes between the steps and the walls they are supposed to be connected to.
Every staircase I've seen had holes between the steps and the walls they are supposed to be connected to.
Stair - fix.jpg (190.29 KiB) Viewed 9333 times
This tavern was labelled as a house, preventing it from offering tavern services.
This tavern was labelled as a house, preventing it from offering tavern services.
Tavern - fix.jpg (313.14 KiB) Viewed 9333 times
Last edited by XJDHDR on Sat Oct 15, 2022 4:56 pm, edited 5 times in total.

User avatar
XJDHDR
Posts: 258
Joined: Thu Jan 10, 2019 5:15 pm
Location: New Zealand
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by XJDHDR »

[Reserved]
Last edited by XJDHDR on Sat Jan 09, 2021 4:49 pm, edited 1 time in total.

User avatar
Ralzar
Posts: 2211
Joined: Mon Oct 07, 2019 4:11 pm
Location: Norway

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by Ralzar »

Oh wow, this looks really impressive.

I'm downloading this now and will start using it shortly, so I will report back anything weird I see.

Btw, congratulations on being DFU mod number 100 on Nexus! :D

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by pango »

Impressive work for sure!
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by pango »

I got some regression in the Mages Guild of Tasoparet, Sentinel.

I tried this because I sometimes got stuck into a door when entering the guild. I'm not sure if this is fixed (it did not happen reliably in the first place), but the door is now too high and untextured:
Screenshot.jpg
Screenshot.jpg (131.29 KiB) Viewed 9285 times
Attachments
SAVE858.zip
(314.93 KiB) Downloaded 220 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by pango »

Some old DFU bug reports have been closed because they're game-data related, from what I read you fixed some of them like one-way staircases, but not others like
viewtopic.php?f=30&t=2059

Is it worth reporting the ones I find in this thread?
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
pango
Posts: 3347
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by pango »

Other models than the dungeon boat are missing faces, again is that something you'd like to see reported here?
Screenshot.jpg
Screenshot.jpg (105.58 KiB) Viewed 9279 times
Attachments
SAVE254.zip
(174.41 KiB) Downloaded 220 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
King of Worms
Posts: 4751
Joined: Mon Oct 17, 2016 11:18 pm
Location: Scourg Barrow (CZ)
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by King of Worms »

This looks quite awesome :geek:

User avatar
jayhova
Posts: 923
Joined: Wed Jul 19, 2017 7:54 pm
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by jayhova »

There had been some talk a while back about creating a general patch for both vanilla and DFU that covers the base data. A general Daggerfall patch.
Remember always 'What would Julian Do?'.

User avatar
XJDHDR
Posts: 258
Joined: Thu Jan 10, 2019 5:15 pm
Location: New Zealand
Contact:

Re: [MOD] Unofficial Block, Location and Model Fixes

Post by XJDHDR »

Thank you for the compliments everyone.
Ralzar wrote: Sat Jan 09, 2021 9:59 am Btw, congratulations on being DFU mod number 100 on Nexus! :D
Thanks, I thought it was a good number at the time. Unfortunately, it took a lot longer to release this mod than I wanted.
pango wrote: Sat Jan 09, 2021 11:31 am I got some regression in the Mages Guild of Tasoparet, Sentinel.

I tried this because I sometimes got stuck into a door when entering the guild. I'm not sure if this is fixed (it did not happen reliably in the first place), but the door is now too high and untextured
Oh good grief!

I just took a quick look at this and that's model 9004. The original model was incorrectly positioned in Bethesda's modelling program and this caused it to be incorrectly positioned in the dungeon I found it in. When I edited the model to position it correctly in Blender, this fixed the model in the dungeon. It seems that when Bethesda constructed this Mages Guild, they took the incorrect positioning of the model into account and incorrectly positioned it in the Block. Should be easy enough to fix by editing the Block data but I'll need to do the same for any other blocks where Bethesda did the same thing.

As for the missing texture, that appears to be a bug in the Dungeon Texture Table portion of Runtime Materials. I'll have to tell TheLacus about this. I'll also have to switch off the Dungeon Texture Table for this model until it's fixed, though it means it will have the wrong texture in dungeons.
pango wrote: Sat Jan 09, 2021 11:43 am Some old DFU bug reports have been closed because they're game-data related, from what I read you fixed some of them like one-way staircases, but not others like
viewtopic.php?f=30&t=2059

Is it worth reporting the ones I find in this thread?
Please do. If I haven't fixed them by now, it's likely I haven't heard about them.
pango wrote: Sat Jan 09, 2021 11:57 am Other models than the dungeon boat are missing faces, again is that something you'd like to see reported here?
Yes please to this as well.
jayhova wrote: Sat Jan 09, 2021 5:18 pm There had been some talk a while back about creating a general patch for both vanilla and DFU that covers the base data. A general Daggerfall patch.
Well, I wish the best of luck to whoever wants to take up that challenge. I myself don't have the patience to figure out where the BSAs need to be hex edited.

Post Reply