0 of 0

File information

Last updated

Original upload

Created by

ryobg

Uploaded by

ryobg

Virus scan

Safe to use

About this mod

Basic ground for adding custom HUD/GUI overlays upon Skyrim gameplay.

Requirements
Permissions and credits
Mirrors
Changelogs
Motivation
I wanted cozy widgets for Skyrim. The builtin HUD is too limiting for the imagination. In fact, I already found a GUI framework to create new widgets (HUD elements), but others may not like it. They can still benefit of capturing the video output and keyboard/mouse input though.

How it works?
By using SKSE and its loading, the library is injected into the Skyrim process. The video rendering pipeline is... hugged(?) as well as the mouse and keyboard input (based on DInput). As side effect, Skyrim now starts to receive window messages for clicking with the keyboard and the mouse (aka non-exclusive mode) - this allows users to open their palms and start receive more information from the operating system, like special keyboard events, mouse clicks and stuff. By default, taping the Insert button will cause the game to stop receiving and reacting to input events. This allows users to start working with their widgets! So it is a toggle between game navigation and GUI navigation.

You can configure the default "Insert" button either at runtime, through the C API, or by going to the  "Data\\SKSE\\Plugins\\sse-gui\\settings.json" file and change the "dinput.disable key" from 210 (Insert) to something else. You can search on internet about the Direct Input key codes, or maybe look here at Nexus Mods site.

Remarks
This is not something new and many games and hacks were made with similar behaviour. I'm not aware of such functionality specially for Skyrim hence I spent wealthy amount of time to discover how to do it myself (aka inventing the triangle wheel).

While it is intended primary for overlays, the manipulation of input and output bring many other options. I'm brainstorming here, but consider: keyloggers, low-level key remaps, sensitivity tunings for mouse, probably automated generation of key presses, video capturing, render measurements or adjusts and etc.

All sounds good, but you can look at ImGui or similar projects for inspiration of what is possible.

Known issues
  • If you have multiple monitors, your cursor might go away from Skyrim if you tab in/out. This is fixable in theory but not yet implemented.

References
As usual the source code at GitHub for developer documentation - basically the README and the C/C++ header files.
And the upcoming reference mod for how to use, best learn by example!