Skip to content

Latest commit

 

History

243 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DKUtil

Some utility headers to help with x64 native plugin development

Documentation

See wiki here!

Implementations

Config Hook Logger Utility Extra(For SKSE)

  • Config
    • abstracted and contained config layer
    • ini, toml, json file support
    • bool, int64_t, double, string type support
    • built in array support
    • multiple file loads & generate default file
    • custom formatted string parser to c++ structure
  • Hook
    • pattern scanner
    • asm patch
    • cave hook
    • virtual method table swap
    • import address table swap
    • simple function hook (write_call/write_branch)
    • non-volatile call (LTO enabled hooks)
    • various usefully gathered utils
  • Logge
    • logging macros
  • Utility
    • function
      • consteval helper functions retrieving the argument count of a function.
    • model
      • Singleton data model abstract class to save boilerplate code.
      • enumeration addition to the original RE::stl::enumeration.
        • static reflection for enum name, type name and value name, support value_type(n) and flag_type(1<<n)
        • std::ranges iterator for value_range(n) and flag_range(1<<n)
      • concepts useful concepts for contraining function templates
      • struct_cast, tuple_cast compile time conversion for same aligned structs/tuples using structure binding (up to 9 bindable members)
      • vector_cast, range_cast constexpr conversion for std::ranges::range and std::vector
    • numbers
      • FNV-1A compile time string hashing with 32bit/64bit implementation.
    • string
      • to_wstring method
      • concat compile time string concatenation.
      • various string related functions using std::ranges
  • Extra(For SKSE)
    • CONSOLE logging macro but for in-game console.
    • serializable painless, all-in-one serialization solution for SKSE plugins.(Planned to move to general support instead of strict SKSE)

MIT License, 2020-present DK

About

Some utility headers to help with x64 native plugin development

Topics

Resources

Stars

39 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages