aboutsummaryrefslogtreecommitdiff
path: root/overrides.h
diff options
context:
space:
mode:
authorneonloop2021-08-15 22:06:22 +0000
committerneonloop2021-08-15 22:06:22 +0000
commitac7b0281105d2b19ff96f68293416ee1e964fefe (patch)
tree626b6c543c8b2126519bcb5477156958a5ff4cd3 /overrides.h
parent549c48b2b327762e87e327a1ba0221810dcac5ab (diff)
downloadpicoarch-ac7b0281105d2b19ff96f68293416ee1e964fefe.tar.gz
picoarch-ac7b0281105d2b19ff96f68293416ee1e964fefe.tar.bz2
picoarch-ac7b0281105d2b19ff96f68293416ee1e964fefe.zip
Moves core option changes into picoarch
Keeps cores cleaner and avoids conflicts
Diffstat (limited to 'overrides.h')
-rw-r--r--overrides.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/overrides.h b/overrides.h
new file mode 100644
index 0000000..cba4308
--- /dev/null
+++ b/overrides.h
@@ -0,0 +1,37 @@
+#ifndef _OVERRIDES_H__
+#define _OVERRIDES_H__
+
+#include "libpicofe/menu.h"
+#include "libretro.h"
+
+struct core_override_option {
+ const char *key;
+ const char *desc;
+ const char *info;
+ const bool blocked;
+ const char *default_value;
+ const char *retro_var_value;
+ struct retro_core_option_value options[RETRO_NUM_CORE_OPTION_VALUES_MAX];
+};
+
+struct core_override_fast_forward {
+ const char *type_key;
+ const char *type_value;
+ const char *interval_key;
+ const char *interval_value;
+};
+
+struct core_override {
+ const char *core_name;
+ const struct core_override_fast_forward *fast_forward;
+ me_bind_action* actions;
+ const size_t action_size;
+ const struct core_override_option* options;
+};
+
+#define CORE_OVERRIDE(override, key, fallback) ((override && override->key) ? (override->key) : (fallback))
+
+const struct core_override *get_overrides(void);
+void set_overrides(const char *core_name);
+
+#endif