this post was submitted on 25 Apr 2024
375 points (97.5% liked)

Games

16806 readers
674 users here now

Video game news oriented community. No NanoUFO is not a bot :)

Posts.

  1. News oriented content (general reviews, previews or retrospectives allowed).
  2. Broad discussion posts (preferably not only about a specific game).
  3. No humor/memes etc..
  4. No affiliate links
  5. No advertising.
  6. No clickbait, editorialized, sensational titles. State the game in question in the title. No all caps.
  7. No self promotion.
  8. No duplicate posts, newer post will be deleted unless there is more discussion in one of the posts.
  9. No politics.

Comments.

  1. No personal attacks.
  2. Obey instance rules.
  3. No low effort comments(one or two words, emoji etc..)
  4. Please use spoiler tags for spoilers.

My goal is just to have a community where people can go and see what new game news is out for the day and comment on it.

Other communities:

Beehaw.org gaming

Lemmy.ml gaming

lemmy.ca pcgaming

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 35 points 7 months ago (3 children)

Fixing the script extender itself won't take that long as it doesn't need to hook that many functions (although depending on how much free time people have and whether there are any surprises, it could still take longer than most people expect). Fixing all the mods that depend on it will take much longer, as between them, they hook lots more functions than the script extender itself, and with this update, it's not just a case of most functions being the same, but at a slightly different address (as was typical with creation club updates, which tools could help with), but instead lots of functions have changed slightly due to using an updated compiler, and lots of functions have been inlined differently (so instead of just existing once, they get copied into every function that uses them, and then optimised differently in each place based on the surrounding code).

[–] [email protected] 28 points 7 months ago

The solution that Skyrim players came up with was to downgrade to older versions. For example, Skyrim SE mods are all permanently version 1.5.97 supported. This can be done manually via the Download Depot commands in the Steam Console which is accessed by typing steam://open/console into the Windows "Run" prompt, or alternatively using a Downgrade Patcher mod which ironically also has to be updated for every new version.

[–] [email protected] 13 points 7 months ago (1 children)

So what I'm understanding from reading everyone's outrage and input on this, is that Fallout London may or may not come out because of this, but more importantly, just wait a little while after the update to try out mods, just like every other Bethesda game update?

[–] [email protected] 19 points 7 months ago (1 children)

Little while could be a long while for some mods and maybe never for others. I wouldn't be surprised if some mod developers don't go back and fix it if they had moved on to other projects. These mods will be years old and anything that uses the script extender will have advanced features to it so they're not a 3 minute quest mod using only existing assets found in the game itself.

[–] [email protected] 4 points 7 months ago* (last edited 7 months ago)

Yeah this is the likely outcome. Happens all the time, tons of great old Cyberpunk mods broke with 2.0 and will probably never get updated for example.

[–] [email protected] 3 points 7 months ago (1 children)

So how do they hook into the game, is it through the .DLL libraries?

[–] [email protected] 2 points 7 months ago

This kind of mod is always a DLL of some kind, and typically, they'll have you install the DLL to a location that the script extender will load DLLs from automatically (but sometimes they instead use the same name as a Windows DLL and go in the same directory as the game's executable, as when the game tries to load the Windows DLL, it'll try ones in its own directory before System32 and similar folders, then as long as the mod DLL in turn loads the real DLL, everything will still work). When the DLL's loading, it'll either overwrite bits of memory corresponding to functions with its own code, or if it needs to replace the whole function, will swap out the first few instructions with instructions to jump to a mod function instead.