Some utilitarian headers to help with SKSE64 plugin development
- Config
ini
,toml
,json
file supportbool
,int64_t
,double
,string
type support- built in array support
- multiple file loads
- Hook
- ASM Patch
- Cave Hook
- Virtual Method Table Swap
- Import Address Table Swap
- Logger
- Logging macros
- Utility
- function
consteval
helper functions retrieving the argument count of a function.
- model
Singleton
data model abstract class to save boiler plater 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
)- concept auto templated functions
- static reflection for enum name, type name and value name, support value_type(
- numbers
- FNV-1A compile time string hashing with 32bit/64bit implementation.
- string
to_wstring
methodconcat
compile time string concatenation.- various string related functions taken from CommonLibSSE.
- function
- Extra
CONSOLE
logging macro but for in-game console.
All dependencies should be handled by vcpkg.
Clone a copy of DKUtil
onto your local environment, in your target project's CMakeLists.txt
, add:
add_subdirectory("Path/To/Local/Copy/Of/DKUtil" DKUtil)
target_link_libraries(
"YOUR PROJECT NAME"
INTERFACE
DKUtil::DKUtil
)