Expression substitution feature fixes

by SlavicPotato·v0.2b·Updated 2020-01-06

Fixed SetExpressionOverride Papyrus function so that unavailable "Dialogue Anger" expressions can be set.

Screenshots 2 screenshots

About this mod Machine translation

Fixed SetExpressionOverride Papyrus function so that unavailable "Dialogue Anger" expressions can be set.

There is a bug in the Actor.SetExpressionOverride function that refuses to set the "Dialogue Anger" expression and throws an "out of range" error every time it is called with the first argument set to 0. This is because of incorrect range checking in native code.

Frequently Asked Questions:

Q: When do I need this?

A: If you use any mod that executes script expressions (such as Poser hotkeys) and receive the following error:

Error: Invalid expression - must be between 0 and 16, inclusive

Q: What SSE versions are supported?

A: In theory, all features are tested, but not every version is tested.

Q: I see an error on startup, what's wrong?

A: The security check failed, so the patch is aborted. No valid segment found or multiple possible segments detected.

Q: Why do I see plugin loading "Error 1114" in skse64.log?

A: It's normal, please ignore it. Technically this is not an SKSE module, it just utilizes the plugin loader system to perform patches. After patching, it intentionally signals to SKSE that a load failed, which causes the plugin to be unloaded from memory. Any actual errors will pop up in a message box, otherwise the patch is successful.

————————————————————————————————

There's a bug in Actor.SetExpressionOverride function where it refuses to set "Dialogue Anger" expression, throwing an "out of range" error whenever it's called with the first argument set to 0. This happens because of a bad range check in the native code.

FAQ:

Q: When would I need this?

A: If using any mods which do scripted expressions (Poser Hotkeys for example) and getting errors such as:

     Error: Invalid expression - must be in the rage of 0 to 16, inclusive

Q: Which SSE versions are supported?

A: In theory all are, but not every version was tested.

Q: I'm seeing errors on startup, what's wrong?

A: Safety checks failed so patching aborted. Either no valid segment was found or multiple possible segments were detected.

Q: Why am I seeing plugin load "Error 1114" in skse64.log?

A: It's normal, ignore it. Technically this isn't a SKSE module, it just takes advantage of the plugin loader system to perform the patch. After patching it intentionally signals SKSE that it failed to load which leads to the plugin being unloaded from memory. Any actual errors will pop up in a message box, otherwise patching was successful.

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. There is no universal mod manager for this game: some mods replace game files directly, some go into a game-specific Mods folder, and some need a game-specific community loader or tool first — follow the bundled readme.
  3. Place the files exactly as the readme says; mods with listed dependencies need those installed too.
  4. Launch the game to confirm it loaded; some games require enabling mods in settings or an in-game mod menu.

Install locations vary a lot between games and mods — the bundled readme is the most reliable guide.

File & checksum

Filename
表达式替代功能修复
File size
56.6 KiB