15 .log_level = DTTR_DEFAULT_LOG_LEVEL,
16 .minidump_type = DTTR_DEFAULT_MINIDUMP_TYPE,
17 .show_crash_popup =
true,
18 .log_file_path =
"dttr.log",
20 .saves_path =
"saves",
21 .skip_intro_movies =
false,
26 .sprite_smooth =
true,
27 .present_filter = SDL_GPU_FILTER_LINEAR,
31 .texture_upload_sync =
false,
32 .generate_texture_mipmaps =
true,
35 .mss_sample_gain = 1.0f,
36 .mss_sample_preemphasis = 0.0f,
37 .gamepad_enabled =
true,
45 .gamepad_axis_deadzone =
81 if (!config || !mod_filename || !mod_filename[0]) {
85 const size_t mod_filename_len = strlen(mod_filename);
88 const size_t disabled_mod_len = strlen(disabled_mod);
89 if (disabled_mod_len == mod_filename_len
108 if (index < 0 || index > last_index) {
112 if (index < last_index) {
116 (
size_t)(last_index - index) *
sizeof(config->
disabled_mods[0])
125 if (!config || !mod_filename || !mod_filename[0]) {
147 const char *mod_filename,
150 if (!config || !mod_filename || !mod_filename[0]) {
155 if (enabled && index >= 0) {
159 if (enabled || index >= 0) {
167 if (!current || !base) {
static void config_clear_button_map(int *map)
const char * config_format_graphics_api(DTTR_GraphicsApi api)
static const DTTR_Config default_config
bool DTTR_Config_SetModEnabled(DTTR_Config *config, const char *mod_filename, bool enabled)
static bool add_disabled_mod(DTTR_Config *config, const char *mod_filename)
void DTTR_Config_SetDefaults(DTTR_Config *config)
Resets a config object to built-in defaults.
const char * DTTR_Config_GraphicsAPIName(DTTR_GraphicsApi api)
Returns the config token for a graphics API selection.
void DTTR_Config_ClearGamepadButtonMap(int *map)
static int find_disabled_mod(const DTTR_Config *config, const char *mod_filename)
static const default_gamepad_binding default_button_map[]
static void set_default_button_map(int *map)
bool DTTR_Config_IsModDisabled(const DTTR_Config *config, const char *mod_filename)
bool DTTR_Config_DisabledModsChanged(const DTTR_Config *current, const DTTR_Config *base)
static void remove_disabled_mod(DTTR_Config *config, int index)
@ DTTR_VERTEX_PRECISION_NATIVE
#define PCDOGS_GAMEPAD_IDX_BTN_1
#define DTTR_GAMEPAD_SOURCE_TRIGGER_RIGHT
#define DTTR_GAMEPAD_AXIS_IDX_STICK_Y
@ DTTR_SCALING_METHOD_LOGICAL
#define DTTR_GAMEPAD_AXIS_IDX_CAMERA_RZ
#define PCDOGS_GAMEPAD_IDX_BTN_4
#define PCDOGS_GAMEPAD_IDX_BTN_5
#define DTTR_GAMEPAD_SOURCE_TRIGGER_LEFT
#define PCDOGS_GAMEPAD_IDX_BTN_6
@ DTTR_SCALING_MODE_LETTERBOX
#define PCDOGS_GAMEPAD_IDX_BTN_3
#define PCDOGS_GAMEPAD_IDX_BTN_0
#define DTTR_CONFIG_DISABLED_MODS_MAX
#define PCDOGS_GAMEPAD_IDX_BTN_8
#define PCDOGS_GAMEPAD_IDX_UP
#define DTTR_GAMEPAD_AXIS_IDX_STICK_X
#define DTTR_CONFIG_SCHEMA_MAJOR_VERSION
#define PCDOGS_GAMEPAD_IDX_BTN_2
#define PCDOGS_GAMEPAD_IDX_LEFT
#define PCDOGS_GAMEPAD_IDX_RIGHT
#define PCDOGS_GAMEPAD_IDX_DOWN
bool DTTR_Path_AsciiIeqN(const char *lhs, const char *rhs, size_t n)
bool DTTR_Path_CopyString(char *out, size_t out_size, const char *value)
int gamepad_button_map[DTTR_GAMEPAD_SOURCE_COUNT]
char disabled_mods[DTTR_CONFIG_DISABLED_MODS_MAX][MAX_PATH]