Elden Ring

File information

Last updated

Original upload

Created by

thefifthmatt

Uploaded by

thefifthmatt

Virus scan

Safe to use

Tags for this mod

About this mod

Exaggerates all animations in combat and cutscenes in Elden Ring, Sekiro, and DS3

Permissions and credits
Floppy Ring exaggerates all character animations in combat and cutscenes, inspired by Floppy Souls by Meowmaritus. It supports any exaggeration percentage from 0% to 10000% in floppy_config.ini. Changes to the config file will immediately apply in-game, without needing to restart the game or even quit out.

In addition to Elden Ring, the mod dll also works with DS3 and Sekiro, becoming Floppy Souls 3 and Floppiro respectively. To avoid the work of maintaining 3 separate mod pages, this mod page is meant to support all 3 games. If you use this mod in a video or stream, please link this mod page so that it can be easily found. Thanks! --thefifthmatt

Demo video: https://twitter.com/thefifthmatt/status/1665195816548462592

Gameplay changes

By default:

- 300% floppy
- Animations are exaggerated relative to a reference frame, interpolated over time between the initial and final frame of the animation.
- Exaggeration ramps up and down during most animations, reaching peak floppy halfway through.

All of this can be changed in the config file at any time. Try 200% floppy for actually readable animations which are still quite floppy, or 500% to activate incomprehensible noodles. (Both have unique benefits in Sekiro, where deflects can connect in different ways.) You can try ramp times of full or 0, or a short intermediate value like 0.3. Change it as you go and see what you like.

Beware that excessive flop may make parts of the game extremely difficult or impossible to complete, like the final blow against Divine Dragon in Sekiro. It may be necessary to temporarily reduce or disable floppiness in these cases.

Stiff Ring (or Stiff Souls) is supported using percentages lower than 100%. For maximum rigidity, also set the reference frame to the initial or final frame of the animation.

Some object animations are also floppy, like the Raya Lucaria spinning elevator. You may need to wait for an entire rotation to complete so the platforms are closer to their initial orientations. Conversely, character ragdolls do not have fixed animations, so they are not floppier.

Cutscenes have some special handling. Ramping is always disabled for cutscene character animations, since they are usually long with nonregular movement throughout. Camera movement animations are unaffected so that it's still possible to see what's going on.

Installation

Floppy Ring is a standard dll mod and several installation methods are supported. It is likely compatible with most other mods. In Elden Ring, you must disable EAC, either by creating a steam_appid.txt file or using a launcher which disables it. In DS3, play offline and delete modded save slots before going back online, just in case.

In all cases, FloppyRing.dll and floppy_config.ini must be in the same directory. The mod will error out if it can't find the config file.

Startup info and error messages are logged in floppy_log.txt. New settings will also be logged there whenever the config file is updated.

Method 1: Elden Mod Loader

Install Elden Mod Loader in the Elden Ring game directory (alongside eldenring.exe) by placing its dinput8.dll there, as well adding the mods subdirectory. Despite the name, Elden Mod Loader is not Elden Ring-specific, and it can also be installed in DS3 and Sekiro game directories in the same way.

Finally, put FloppyRing.dll and floppy_config.ini in the mods subdirectory, and launch the game.

Method 2: Rename to dinput8.dll

If you're not using any other mods which require dinput8.dll injection, you can put FloppyRing.dll and floppy_config.ini in the game directory, and then rename FloppyRing.dll to dinput8.dll.

Method 3: Chain load from Mod Engine (DS3 and Sekiro only)

If dinput8.dll is used by Mod Engine, you can configure Mod Engine to also load a different dll mod. Put FloppyRing.exe and floppy_config.ini in the game directory, then edit this line at the bottom of modengine.ini:

chainDInput8DLLPath="\FloppyRing.dll"

If you need to load additional dll mods aside from Floppy Ring, you can try to chain load Elden Mod Loader instead. You can do this by renaming Elden Mod Loader to something like mod_loader.dll, configuring modengine.ini to load it, and setting up Floppy Ring and other dll mods as in Method 1.

Math for nerds

The part of the animation edited by Floppy Ring is the rotation of each bone in the character skeleton. These rotations are relative to the parent bone, like how the arm is attached to the shoulder, so floppiness will compound across bones which are connected to each other.

Animation rotations are represented by quaternions, which allow better continuity and stability than matrix-based representations, although there are still hidden jumps in values, like during roll and spin animations. The naive formula for combining a reference frame and current frame with a floppy multiplier is ref×(current/ref)^floppy. This corresponds to style B, which can have issues with stability. Quaternion operations are non-commutative, and the better ordering is style A, which uses the formula ref^(1-floppy)×cur^floppy. It's all made up either way so suggestions are welcome.

By default, the reference frame is a slerp from the initial to the final frame of the animation as it plays. The floppiness can also be ramped, where the floppy multiplier starts and ends as 0, linearly increasing to max floppy after the specified ramp time or halfway through the animation, whichever comes first.

Credits

This mod makes extensive use of RTTIHook, PointerChain, and V4D by Dasaav. It's also heavily inspired by ERSkeletonMan, using slightly lower-level Havok bits instead. It also uses mINI by pulzed for the config file. These are provided under the terms of the MIT License.

Thanks to Meowmaritus for inspiring this mod and for advice on adhering to the floppy formula. I'm not sure if I got it completely right, but it seems close enough.

Finally, thanks to the ?ServerName? community (https://discord.gg/mT2JJjx) for their invaluable assistance in learning how to debug runtime behaviors in Fromsoft games and make dll mods.