Some utility headers to help with x64 native plugin development
See wiki here!
- Config
- abstracted and contained config layer
ini
,toml
,json
file supportbool
,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 originalRE::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
)
- static reflection for enum name, type name and value name, support value_type(
concepts
useful concepts for contraining function templatesstruct_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 forstd::ranges::range
andstd::vector
- numbers
- FNV-1A compile time string hashing with 32bit/64bit implementation.
- string
to_wstring
methodconcat
compile time string concatenation.- various string related functions using
std::ranges
- function
- 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