1#ifndef DTTR_SIDECAR_PRIVATE_H
2#define DTTR_SIDECAR_PRIVATE_H
26 dttr_hook_cleanup_title_resources_original
53 return result.message ? result.message :
DTTR_StatusName(result.status);
75 "%s: patch %u failed: %s",
86 "Installed %u %s patches (%u optional skipped)",
void void DWORD HANDLE event
void dttr_pcdogs_crash_symbols_clear()
void dttr_pcdogs_crash_symbols_register(const DTTR_Core_Context *runtime)
DTTR_Result DTTR_Core_PatchGroupRelease(DTTR_Core_PatchGroup **group)
struct DTTR_Core_PatchGroup DTTR_Core_PatchGroup
#define DTTR_MODS_LOG_ERROR(ctx,...)
union SDL_Event SDL_Event
#define DTTR_MODS_LOG_DEBUG(ctx,...)
BOOL(* DTTR_PCDOGS_F_Title_CleanupScreenResources_proto)()
const char * DTTR_StatusName(DTTR_Status status)
bool DTTR_ResultOK(DTTR_Result result)
#define DTTR_STORAGE_SLOT(type, name)
#define DTTR_HOOK_STORAGE_SLOT(name)
const DTTR_Mods_Context * dttr_sidecar_context()
HINSTANCE dttr_sidecar_module
const DTTR_Core_Context * dttr_sidecar_runtime_context()
char dttr_exe_hash[DTTR_EXE_HASH_LENGTH+1]
char dttr_loader_dir[MAX_PATH]
void dttr_sidecar_handle_sdl_event(const SDL_Event *event)
void dttr_sidecar_poll_sdl_events()
sds dttr_game_data_resolve_media_path(const char *relative)
bool dttr_game_data_resolve_read_path(const char *path, char *out_path, size_t out_path_size)
void dttr_game_data_cleanup()
bool dttr_game_data_resolve_existing_read_path(const char *path, char *out_path, size_t out_path_size)
const char * dttr_game_data_find_data_segment(const char *path)
void dttr_game_data_init()
DTTR_Result DTTR_PCDOGS_PatchGroup_Install(const DTTR_Core_Context *ctx, const DTTR_PCDOGS_T_Patch_Spec *specs, size_t spec_count, DTTR_Core_PatchGroup **out_group, DTTR_PCDOGS_T_Patch_Report *out_report)
static const char * dttr_sidecar_result_detail(DTTR_Result result)
static bool dttr_sidecar_install_pcdogs_patch_group(const DTTR_Mods_Context *ctx, const char *label, const DTTR_PCDOGS_T_Patch_Spec *patches, size_t patch_count, DTTR_Core_PatchGroup **group)