Files
ReSkate/cmake/Dependencies.cmake
AyeZeeBB dce293e25d Fit Check as a plugin: screen capture, the menu's preview turned and read, and what the skater wears
Pull request 326 split into general plugin APIs and contrib/plugins/fit-check:
- reskate.capture (start, stop, discard, state, compare, kept, save): the screen
  recorded before the overlay draws, cut out by the game's depth or by colour,
  saved as GIF, APNG, PNG or WebM with an optional card; the "capture" permission.
- reskate.room.turn: a stand-in pad's stick held over to turn the menu's preview.
- reskate.menu.game and reskate.menu.grid: what the game's menu and its item grid show.
- reskate.outfit.worn, board and title: what the skater wears, by name.
- reskate.files.reveal: a data folder opened in Explorer.
The plugin finds where the turn comes round, eases the stick off, picks evenly
spaced frames and saves them with the board's parts or the outfit on the card.
2026-10-21 17:16:56 -05:00

64 lines
3.9 KiB
CMake

if(WIN32)
add_library(dingosdk_imgui STATIC
"${PROJECT_SOURCE_DIR}/External/imgui/imgui.cpp"
"${PROJECT_SOURCE_DIR}/External/imgui/imgui_draw.cpp"
"${PROJECT_SOURCE_DIR}/External/imgui/imgui_tables.cpp"
"${PROJECT_SOURCE_DIR}/External/imgui/imgui_widgets.cpp"
"${PROJECT_SOURCE_DIR}/External/imgui/backends/imgui_impl_dx12.cpp"
"${PROJECT_SOURCE_DIR}/External/imgui/backends/imgui_impl_win32.cpp")
target_include_directories(dingosdk_imgui PUBLIC "${PROJECT_SOURCE_DIR}/External/imgui")
# The backend's own gamepad reads only XInput slot 0. The launcher feeds every pad
# itself (Launcher/gamepad_input.cpp), and the in-game menu does not use ImGui's gamepad keys.
target_compile_definitions(dingosdk_imgui PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX UNICODE _UNICODE
IMGUI_IMPL_WIN32_DISABLE_GAMEPAD)
target_link_libraries(dingosdk_imgui PUBLIC d3d12 dxgi d3dcompiler dwmapi)
add_library(dingosdk_detours STATIC
External/detours/src/detours.cpp
External/detours/src/modules.cpp
External/detours/src/disasm.cpp
External/detours/src/image.cpp
External/detours/src/creatwth.cpp
External/detours/src/disolx86.cpp
External/detours/src/disolx64.cpp
External/detours/src/disolia64.cpp
External/detours/src/disolarm.cpp
External/detours/src/disolarm64.cpp)
target_include_directories(dingosdk_detours SYSTEM PUBLIC External/detours/src)
target_compile_definitions(dingosdk_detours PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
set_target_properties(dingosdk_imgui dingosdk_detours PROPERTIES FOLDER "Dependencies")
endif()
enable_language(C)
add_library(dingosdk_miniz STATIC External/miniz/miniz.c)
target_include_directories(dingosdk_miniz SYSTEM PUBLIC External/miniz)
# Deflate is on for the captures' PNG and APNG files (Extension/Rendering/Capture).
target_compile_definitions(dingosdk_miniz PUBLIC MINIZ_NO_ARCHIVE_WRITING_APIS MINIZ_NO_ZLIB_APIS MINIZ_NO_STDIO MINIZ_NO_TIME)
set_target_properties(dingosdk_miniz PROPERTIES FOLDER "Dependencies")
add_library(dingosdk_lz4 STATIC External/lz4/lz4.c)
target_include_directories(dingosdk_lz4 SYSTEM PUBLIC External/lz4)
set_target_properties(dingosdk_lz4 PROPERTIES FOLDER "Dependencies")
file(GLOB zstd_sources CONFIGURE_DEPENDS External/zstd/lib/common/*.c
External/zstd/lib/compress/*.c External/zstd/lib/decompress/*.c)
add_library(dingosdk_zstd STATIC ${zstd_sources})
target_include_directories(dingosdk_zstd SYSTEM PUBLIC External/zstd/lib)
target_compile_definitions(dingosdk_zstd PRIVATE ZSTD_LEGACY_SUPPORT=0 ZSTD_DISABLE_ASM)
set_target_properties(dingosdk_zstd PROPERTIES FOLDER "Dependencies")
# Luau (External/luau): the VM and compiler plugins run on (Extension/Plugins). Only these five
# parts: no CodeGen (native code from scripts), no Analysis, no CLI or Require.
file(GLOB dingosdk_luau_sources CONFIGURE_DEPENDS External/luau/Common/src/*.cpp External/luau/Ast/src/*.cpp
External/luau/Bytecode/src/*.cpp External/luau/Compiler/src/*.cpp External/luau/VM/src/*.cpp)
add_library(dingosdk_luau STATIC ${dingosdk_luau_sources})
target_include_directories(dingosdk_luau SYSTEM PUBLIC External/luau/Common/include External/luau/Ast/include
External/luau/Bytecode/include External/luau/Compiler/include External/luau/VM/include)
target_include_directories(dingosdk_luau PRIVATE External/luau/VM/src External/luau/Bytecode/src)
target_compile_features(dingosdk_luau PRIVATE cxx_std_17)
if(MSVC)
target_compile_definitions(dingosdk_luau PRIVATE _CRT_SECURE_NO_WARNINGS)
endif()
set_target_properties(dingosdk_luau PROPERTIES FOLDER "Dependencies")
add_library(dingosdk_sqlite STATIC External/sqlite/sqlite3.c)
target_include_directories(dingosdk_sqlite SYSTEM PUBLIC External/sqlite)
target_compile_definitions(dingosdk_sqlite PRIVATE SQLITE_THREADSAFE=1 SQLITE_OMIT_LOAD_EXTENSION SQLITE_DQS=0 SQLITE_DEFAULT_MEMSTATUS=0)
set_target_properties(dingosdk_sqlite PROPERTIES FOLDER "Dependencies")