Code Monkey home page Code Monkey logo

dkutil's Introduction

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

dkutil's People

Contributors

gottyduke avatar alandtse avatar shad0wshayd3 avatar theunlocked avatar vabatta avatar ch4nkyy avatar dependabot[bot] avatar

Forkers

arquxx

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.