8000 Add support for Oblivion Remastered · Issue #2084 · loot/loot · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add support for Oblivion Remastered #2084

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Ortham opened this issue Apr 22, 2025 · 27 comments
Closed

Add support for Oblivion Remastered #2084

Ortham opened this issue Apr 22, 2025 · 27 comments

Comments

@Ortham
Copy link
Member
Ortham commented Apr 22, 2025

The long-rumoured Oblivion remaster was announced and released today, it's available on Game Pass and on Steam. I've bought the Deluxe edition since that comes with a few extra plugins that may need special support.

High-level questions:

  • What other game is it most like in terms of types of plugins supported?
  • What other game is it most like in terms of how its load order / active plugins list is stored?
  • What plugin version numbers are supported?
  • If anyone's got Game Pass, what's the path that it gets installed to? Specifically, what's the full path to Oblivion.esm (assuming that's still the main master filename)?

This will probably need updates in libloadorder, libloot and LOOT, hopefully not in esplugin or loot-condition-interpreter.

@pStyl3
Copy link
Member
pStyl3 commented Apr 23, 2025

Discussion on Discord

Xbox Game Pass Edition

Plugins.txt

DLCBattlehornCastle.esp
DLCFrostcrag.esp
DLCHorseArmor.esp
DLCMehrunesRazor.esp
DLCOrrery.esp
DLCShiveringIsles.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCVileLair.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp
AltarESPLocal.esp
TamrielLeveledRegion.esp

Vanilla Files:
Image

AltarESPLocal.esp that is listed in Plugins.txt is not amongst the other vanilla plugins. But there is a AltarGymNavigation.esp, that on the other hand isn't listed in Plugins.txt. Interestingly there are two .bat files:

GymNavigationEnable.bat

@echo off
set "filename=Plugins.txt"
set "new_line=AltarGymNavigation.esp"

find /c /i "%new_line%" "%filename%" >nul
if %errorlevel% == 0 (
    echo Gym already enabled.
) else (
    attrib -R %filename%


    echo:>> %filename%

    >>"%filename%" <nul set /p="%new_line%"
    attrib +R %filename%
    echo Enabled Gym.
)

pause

GymNavigationDisable.bat

@echo off
set "filename=Plugins.txt"
set "line_to_remove=AltarGymNavigation.esp"
set "tempfile=temp.txt"

if not exist "%filename%" (
    echo File not found: %filename%
    goto end
)

find /c /i "%line_to_remove%" "%filename%" >nul
if %errorlevel% == 1 (
    echo Gym already disabled.
    goto end
)
attrib -R %filename%

(for /f "delims=" %%A in (%filename%) do (
if "%%A" neq "%line_to_remove%" echo %%A
)) > "%tempfile%"

move "%tempfile%" "%filename%" > nul

attrib +R %filename%

echo Disabled Gym.

:end
pause

@pStyl3
Copy link
Member
pStyl3 commented Apr 23, 2025

xEdit 4.1.5n has been published on the xEdit Discord, within the xedit-builds channel:
Adds preliminary support for Oblivion Remastered. GameMode is TES4R.

@pStyl3
Copy link
Member
pStyl3 commented Apr 23, 2025

Jonathan on the xEdit Discord

AltarESPMain.esp had 1 master forcibly removed.

  • AlterDeluxe.esp

This can be seen by looking at the unresolved QUST references in DIAL:000000C8 and DIAL:000000D7.

AltarDeluxe.esp had 1 master forcibly removed.
Unsure which since it has no unresolved errors.

TamrielLeveledRegion.esp had many masters forcibly removed over multiple sessions.

  • AltarDeluxe.esp
  • Knights.esp
  • DLCBattlebornCastle.esp
  • DLCOrrery.esp
  • DLCVileLair.esp

AltarGymNavigation.esp had 2 masters forcibly removed.
Unsure which since the unresolved errors don't match any IDs in any of the other files.

As is the case when any masters are forcibly removed. There may be "silent corruption" where IDs got shifted to referencing different files where the object ID exists in the newly incorrect target master. At a quick glance of the check for errors log it doesn't appear that any have invalid type targets. So it's possible that the only references to any of the removed masters were the quest references that show up as unresolved. And it would appear that the masters removed were always at the end of the list. Which would restrict the amount of missmapping that could occur.
Also worth noting that AltarGymNavigation and TamrieldLeveledRegion don't get loaded via plugins.txt. They appear to be unused and never loaded.

@pStyl3
Copy link
Member
pStyl3 commented Apr 23, 2025

I've bought the 14 day trial version of the PC GamePass and as such, was able to download the standard, non-deluxe version of Oblivion Remastered:

C:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\Content\

Image

C:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\

Image

C:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\Content\

Image

C:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\Content\Dev\

Image

C:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\Content\Dev\ObvData\

Image

C:\XboxGames\The Elder Scrolls IV- Oblivion Remastered\Content\OblivionRemastered\Content\Dev\ObvData\Data\

Image

@Dadditude
Copy link

Worth noting that the root XboxGames directory can be located within a subdirectory. Mine is at C:\Games\XboxGames, but I'm able to use Loot with Starfield just fine. Although I don't remember now whether I had to do anything extra to get Loot to “see” it when I started using it or not.

@Ortham
Copy link
Member Author
Ortham commented Apr 25, 2025

Worth noting that the root XboxGames directory can be located within a subdirectory. Mine is at C:\Games\XboxGames, but I'm able to use Loot with Starfield just fine. Although I don't remember now whether I had to do anything extra to get Loot to “see” it when I started using it or not.

That should be supported already, IIRC there's a hidden file in the root of the drive that contains the directory path, that LOOT reads.

@Dadditude
Copy link

That should be supported already, IIRC there's a hidden file in the root of the drive that contains the directory path, that LOOT reads.

Good to know!

@Silarn
Copy link
Silarn commented Apr 26, 2025

It uses the same plugin format so that aspect should be easy. The problem is the assets are stored in Unreal Engine paks so you can't just add records to plugins and load new assets into the game.

There's a mapping that's done, which may be embedded in the game at the moment.

It uses Skyrim LE's plugin loading / sorting method. (In other words, not by timestamp.)

There's also a fun 'quirk' where the My Games directory is walked directly from the standard C:\Users directory so it will always use C:\Users\username\Documents\My Games\Oblivion Remastered. But I don't know if LOOT needs to access that.

@Ortham
Copy link
Member Author
Ortham commented Apr 26, 2025

I've just started looking into this, thanks everyone for sharing the info!

My own notes:

  • The game install's directory structure is a lot more complicated, I guess it's Unreal Engine stuff
    • My install's Oblivion.esm absolute path is C:\Games\Steam\steamapps\common\Oblivion Remastered\OblivionRemastered\Content\Dev\ObvData\Data, so I think LOOT, libloot and libloadorder should expect a game path that would be C:\Games\Steam\steamapps\common\Oblivion Remastered, and calculate relative based on that.
  • It doesn't look like there's a Registry key with the game's install path aside from the one that Steam creates
  • Oblivion.esm seems identical to the original game (the SHA-256 is the same, at least).
  • I don't see any accesses to a game-specific folder in AppData in Process Monitor
  • The only access to Plugins.txt is the one at OblivionRemastered\Content\Dev\ObvData\Data\Plugins.txt
    • If it doesn't exist then the game will launch but when you try to load a save it will display a message box saying "None of the master files used in this save game are loaded. Returning to game." and the screen will fade to black and you need to Alt-F4 out.
    • That suggests that there are no hardcoded plugins.
  • The executable is OblivionRemastered\Binaries\Win64\OblivionRemastered-Win64-Shipping.exe, there's a OblivionRemastered.exe in the game install root folder but it seems to be some kind of shim.
    • OblivionRemastered.exe and OblivionRemastered/Binaries/Win64/OblivionRemastered-Win64-Shipping.exe both currently (as of 2025-04-27) have file version 5.3.2.0 and product version 0.411.140.0
  • The OblivionRemastered\Content\Dev\ObvData\Oblivion.ini has bUseMyGamesDirectory=1, which for OG Oblivion means Plugins.txt is in the My Games folder, but that's not the case for OR.
  • The ini has a STestFile1= entry, I was expecting sTestFile1=, I assume my ini parser is case-sensitive...
  • For game detection the Steam ID is 2623190
  • The Steam version has a file at Engine/Binaries/ThirdParty/Steamworks/Steamv153/Win64/steam_api64.dll, the MS Store version doesn't.
  • I've double-checked the load order method and it looks like Silarn's right, moving plugins around in plugins.txt changes their load order but only active plugins are listed there.
  • Putting a plugin Plugins.txt that does not exist causes the game to crash on launch if there are any plugins that do exist listed after it, and there don't seem to be comments: I tested this with 1Knights.esp, #Knights.esp, ;Knights.esp and //Knights.esp, and also by altering the line for AltarESPMain.esp. The game doesn't crash if lines of text that aren't installed plugins appear before Oblivion.esm (they don't need to start with #).
  • The STestFile1, etc. entries in Oblivion.ini don't seem to do anything, I also tried changing the case to sTestFile1 but that didn't change anything.
  • BSA loading allows arbitrary basename suffixes, but only for .esp files, same as Oblivion.

Things to decide:

  • Where do we want to put loadorder.txt?
    • Beside Plugins.txt in the Data folder probably makes the most sense.

It uses Skyrim LE's plugin loading / sorting method. (In other words, not by timestamp.)

Why did it have to go for the most awkward option... 😢

There's also a fun 'quirk' where the My Games directory is walked directly from the standard C:\Users directory so it will always use C:\Users\username\Documents\My Games\Oblivion Remastered. But I don't know if LOOT needs to access that.

Only if bUseMyGamesDirectory does what it did in Oblivion, which it doesn't seem to.

@Ortham
Copy link
Member Author
Ortham commented Apr 27, 2025

I've now got this working in the oblivion-remastered branch.

@Silarn
Copy link
Silarn commented Apr 28, 2025

Oh do comments not work? I've been including the standard top-of-file comment MO2 inserts with a # and it seems to be loading fine.

@Ortham
Copy link
Member Author
Ortham commented Apr 28, 2025

Oh do comments not work? I've been including the standard top-of-file comment MO2 inserts with a # and it seems to be loading fine.

On further testing, they only seem to work if they appear before Oblivion.esm, past that causes crashes for me. It looks like they don't need to start with # though, any text (presumably that isn't an installed plugin name) can be put there without causing a crash.

@Silarn
Copy link
Silarn commented Apr 28, 2025

Probably important:
While the core (default) plugin list isn't hardcoded, it seems form IDs and the like are hardcoded and mapped to Unreal assets and the like. So modifying the core plugin list and load order is probably a bad idea and is likely to break the game.

So it's probably worth treating them as if they are required in that order at the top of the plugin list.

@Silarn
Copy link
Silarn commented Apr 28, 2025

After some discussion, I may have that wrong. Use case:

Having default plugins ordered alphabetically while adhering to master requirements, the game will load and run okay.

The 'More Damage' mod, when added to the load order, will cause the game to freeze up at launch which is resolved by moving the plugins down to 'DLCFrostcrag.esp' back to their default order.

Perhaps this is an undeleted record issue or something, but strange that it only crops up when specific records are referenced. (In particular, if you remove a handful of creature references from Frostcrag from the More Damage plugin, it'll load again.)

Perhaps this is a conflict LOOT would have already identified, but worth looking into. I'm still debating whether to enforce a 'hard' load order for the core plugins.

@Ortham
Copy link
Member Author
Ortham commented Apr 28, 2025

The 'More Damage' mod, when added to the load order, will cause the game to freeze up at launch which is resolved by moving the plugins down to 'DLCFrostcrag.esp' back to their default order.

FWIW I did get crashes while trying to move Knights.esp around during my testing, it seemed quite temperamental. That could be related...

@pStyl3
Copy link
Member
pStyl3 commented Apr 28, 2025

Ref:
More Damage

@Ortham
Copy link
Member Author
Ortham commented Apr 30, 2025

I did some more testing of how load order works, and it looks like files' master flags are not taken into account when they're loaded by the game.

My load order testing notes:

Of the official plugins, only Oblivion.esm is master-flagged.

test1.esp is a plugin with no masters that adds a single BOOK record, I test where it loads by trying to add the book to my inventory using its FormID.

test2.esp is a copy of test1.esp that gives the book a different name.

test1 dependent.esp has test1.esp as a master and changes the name of the book added by test1.esp.


Plugins.txt:

Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
DLCMehrunesRazor.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp
test1.esp

test1.esp loads at 0D whether master-flagged or not.
That suggests that either the master flag does not matter (same as OpenMW), or all the official plugins are early loaders.


Oblivion.esm
test1.esp
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
DLCMehrunesRazor.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp

This indicates that the official plugins are not early loaders.


test1.esp
Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
DLCMehrunesRazor.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp

The game launches but crashes on loading a save, starting a new game gets stuck in the starting movie (mouse is still responsive). Not unexpected - I wonder how a total conversion like Nehrim would fare?


Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
test1.esp
DLCMehrunesRazor.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp

test1.esp loads at 05 whether or not it is master-flagged.
So far everything indicates that plugins load at whatever position they are placed in Plugins.txt.


Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
test2.esp
test1.esp
DLCMehrunesRazor.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp

when test1.esp is master-flagged and test2.esp is not, they load at 06 and 05 respectively.
This suggests that there is no special handling of the official plugins that was responsible for the behaviour seen so far.


Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
test2.esp
test1.esp
DLCSpellTomes.esp
DLCMehrunesRazor.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp

loads DLCSpellTomes.esp at 07 and DLCMehrunesRazor.esp at 08, so official plugins do not have hardcoded positions relative to one another either.


Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
DLCSpellTomes.esp
DLCMehrunesRazor.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
test1.esp
test1 dependent.esp
AltarDeluxe.esp

test1.esp loads at 0C and the book name is overridden, for all combinations of master flag values for test1.esp and test1 dependent.esp.


Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
DLCSpellTomes.esp
DLCMehrunesRazor.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
test1 dependent.esp
test1.esp
AltarDeluxe.esp

test1.esp loads at 0D and the book name is not overridden, for all combinations of master flag values for test1.esp and test1 dependent.esp. This indicates that master files do not hoist non-master-file masters to load earlier, which makes sense if the master flag simply has no effect.


Oblivion.esm
DLCShiveringIsles.esp
DLCHorseArmor.esp
DLCOrrery.esp
DLCVileLair.esp
DLCSpellTomes.esp
DLCMehrunesRazor.esp
DLCThievesDen.esp
DLCBattlehornCastle.esp
DLCFrostcrag.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp
test2.esp
test1.esm

Neither test1.esm or test2.esp are master-flagged.
Here I have just renamed test1.esp to test1.esm in case the file extension is used.
test2.esp loaded at 0D, and test1.esm loaded at 0E.

I tried again with test1.esm master-flagged in case the combination is necessary, but it didn't make a difference.

@Ortham
Copy link
Member Author
Ortham commented May 1, 2025

Support has been implemented as of a0affbe, so closing this.

@Ortham Ortham closed this as completed May 1, 2025
@Silarn
Copy link
Silarn commented May 3, 2025

The aforementioned 'More Damage' mod is causing LOOT's returned load order to hang on launch, so I hesitate to call this support complete.

I still think it may be necessary to lock the core plugins in their default load order. No, I don't pretend to know why those Frostcrag creature records in this plugin cause it to break.

@pStyl3
Copy link
Member
pStyl3 commented May 3, 2025

@Silarn

The aforementioned 'More Damage' mod is causing LOOT's returned load order to hang on launch, so I hesitate to call this support complete.

What exactly does hang on launch for you? LOOT, MO or the game? I don't see any issues with LOOT itself, I've downloaded all the different plugins from the modpage, placed them directly in the Data folder and successfully sorted the load order without errors.

Image

If it's the game itself you are refering to, which of the plugins from the mod do you use?

@Silarn
Copy link
Silarn commented May 3, 2025

I don't have the deluxe version so just the basic 1.5x esp.

Image

Yes, it's the game hanging during launch. Multiple people corroborate this, and it's what brought this issue to my attention in the first place.

If Frostcrag doesn't load relatively early in the load order the game hangs on launch with a black screen. Sorting the load order back to default allows it to load. Or removing those specific creature records from the plugin.

@Ortham
Copy link
Member Author
Ortham commented May 3, 2025

Reopening this for more investigation. I can replicate the issue Silarn describes.

Vanilla load order:

Oblivion.esm
DLCBattlehornCastle.esp
DLCFrostcrag.esp
DLCHorseArmor.esp
DLCMehrunesRazor.esp
DLCOrrery.esp
DLCShiveringIsles.esp
DLCSpellTomes.esp
DLCThievesDen.esp
DLCVileLair.esp
Knights.esp
AltarESPMain.esp
AltarDeluxe.esp
AltarESPLocal.esp

Without a masterlist:

[08:55:33.030263] [debug]: Adding Record Overlap edge from "Knights.esp" to "DLCBattlehornCastle.esp".
...
[08:55:33.030339] [debug]: Adding Record Overlap edge from "DLCMehrunesRazor.esp" to "DLCHorseArmor.esp".
...
[08:55:33.030363] [debug]: Adding Record Overlap edge from "DLCSpellTomes.esp" to "DLCHorseArmor.esp".
[08:55:33.030374] [debug]: Adding Record Overlap edge from "DLCVileLair.esp" to "DLCHorseArmor.esp".
...
[08:55:33.030407] [debug]: Adding Record Overlap edge from "DLCSpellTomes.esp" to "DLCOrrery.esp".
[08:55:33.030413] [debug]: Adding Record Overlap edge from "DLCThievesDen.esp" to "DLCOrrery.esp".
[08:55:33.030420] [debug]: Adding Record Overlap edge from "DLCVileLair.esp" to "DLCOrrery.esp".
[08:55:33.030426] [debug]: Adding Record Overlap edge from "Knights.esp" to "DLCOrrery.esp".
[08:55:33.030467] [debug]: Adding Record Overlap edge from "DLCVileLair.esp" to "DLCSpellTomes.esp".
...
[08:55:33.030839] [debug]: Calculated order:
[08:55:33.030846] [debug]: 	Oblivion.esm
[08:55:33.030851] [debug]: 	Knights.esp
[08:55:33.030856] [debug]: 	DLCBattlehornCastle.esp
[08:55:33.030862] [debug]: 	DLCThievesDen.esp
[08:55:33.030867] [debug]: 	DLCFrostcrag.esp
[08:55:33.030872] [debug]: 	DLCMehrunesRazor.esp
[08:55:33.030877] [debug]: 	DLCVileLair.esp
[08:55:33.030882] [debug]: 	DLCSpellTomes.esp
[08:55:33.030888] [debug]: 	DLCHorseArmor.esp
[08:55:33.030893] [debug]: 	DLCOrrery.esp
[08:55:33.030898] [debug]: 	DLCShiveringIsles.esp
[08:55:33.030903] [debug]: 	AltarESPMain.esp
[08:55:33.030908] [debug]: 	AltarDeluxe.esp
[08:55:33.030913] [debug]: 	AltarGymNavigation.esp
[08:55:33.030919] [debug]: 	TamrielLeveledRegion.esp
[08:55:33.030929] [debug]: 	MoreDamage_1.5x_Settings.esp
[08:55:33.030934] [debug]: 	MoreDamage_1.5x.esp

The changes are all due to overlaps.
The game launched fine with this load order (with only the vanilla active plugins active).

I then activated MoreDamage_1.5x.esp and MoreDamage_1.5x_Settings.esp and the game got stuck at a black screen after launching.

Moving DLCFrostcrag.esp up one slot (above DLCThievesDen.esp) didn't help, but moving Knights.esp below DLCFrostcrag.esp did allow the game to load normally. I then tried moving DLCThievesDen.esp back up but got a black screen again.

With the latest masterlist:

[09:26:00.145488] [debug]: Calculated order:
[09:26:00.145493] [debug]: 	Oblivion.esm
[09:26:00.145498] [debug]: 	DLCShiveringIsles.esp
[09:26:00.145503] [debug]: 	DLCHorseArmor.esp
[09:26:00.145508] [debug]: 	DLCOrrery.esp
[09:26:00.145513] [debug]: 	DLCVileLair.esp
[09:26:00.145518] [debug]: 	DLCMehrunesRazor.esp
[09:26:00.145523] [debug]: 	DLCSpellTomes.esp
[09:26:00.145528] [debug]: 	DLCThievesDen.esp
[09:26:00.145533] [debug]: 	DLCBattlehornCastle.esp
[09:26:00.145538] [debug]: 	DLCFrostcrag.esp
[09:26:00.145545] [debug]: 	Knights.esp
[09:26:00.145551] [debug]: 	AltarESPMain.esp
[09:26:00.145556] [debug]: 	AltarDeluxe.esp
[09:26:00.145561] [debug]: 	AltarGymNavigation.esp
[09:26:00.145566] [debug]: 	TamrielLeveledRegion.esp
[09:26:00.145571] [debug]: 	MoreDamage_1.5x_Deluxe.esp
[09:26:00.145576] [debug]: 	MoreDamage_1.5x_Settings.esp
[09:26:00.145581] [debug]: 	MoreDamage_1.5x.esp
[09:26:00.145586] [debug]: 	test2.esp
[09:26:00.145591] [debug]: 	test1.esp
[09:26:00.145596] [debug]: 	test1 dependent.esp
[09:26:00.145601] [debug]: 	test1.esm

The differences here are all due to masterlist load after metadata.

That load order also launches fine with only the vanilla plugins active, but black screens with More Damage active. If I move DLCFrostcrag.esp to between DLCShiveringIsles.esp and DLCHorseArmor.esp, the game loads fine. I experimented to see what the lowest I could load it at was, but I couldn't move it lower or higher - it seems like it's less about where it loads in relation to other plugins, and more to do with loading at that exact load order index.


I'm hesitant to hardcode the vanilla load order since it works without More Damage, and we don't really understand the issue at this point - I think it would be better to address this with masterlist metadata, at least for now, as we can change that more easily than if it's hardcoded.

I think if we adjust the masterlist load after metadata so that the current rules are applied for Oblivion and we add new rules for Oblivion Remastered that enforce the vanilla order then we can go from there.

@Ortham Ortham reopened this May 3, 2025
@Ortham
Copy link
Member Author
Ortham commented May 3, 2025

I've adjusted the Oblivion masterlist rules to load the DLC in their vanilla order, see loot/oblivion#1904.

@Silarn
Copy link
Silarn commented May 3, 2025

Sounds good. I suspect unreal engine issues with the way it's loading assets. Unclear why this plugin is causing it and I didn't see any obvious oddities with the records themselves. There were mixed opinions on the RE Discord.

Will test tonight with the order unlocked again.

@Silarn
Copy link
Silarn commented May 4, 2025

Looks good to me. At least, it's sorting as expected / needed now.

@Ortham
Copy link
Member Author
Ortham commented May 12, 2025

Apparently although Oblivion Remastered allows master files to load after non-master files, that may break stuff if a master file and non-master file loaded like that both touch the same record.

As such, I won't stop libloadorder from accepting a load order with master files after non-master files, but I will change libloot so that it forces master files to load first.

@Ortham
Copy link
Member Author
Ortham commented May 21, 2025

Closing this again since the above changes to master file handling are included in da16314, and I don't think there's anything else outstanding.

@Ortham Ortham closed this as completed May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants
0