aboutsummaryrefslogtreecommitdiff
path: root/options.h
diff options
context:
space:
mode:
authorneonloop2021-08-04 15:09:12 +0000
committerneonloop2021-08-04 15:09:12 +0000
commit99632f66e74fc57c463072be312d634aeb67bc61 (patch)
treee4ccaf52b93d04c69865d82556e2ce4cd3a6c599 /options.h
downloadpicoarch-99632f66e74fc57c463072be312d634aeb67bc61.tar.gz
picoarch-99632f66e74fc57c463072be312d634aeb67bc61.tar.bz2
picoarch-99632f66e74fc57c463072be312d634aeb67bc61.zip
Initial commit
Diffstat (limited to 'options.h')
-rw-r--r--options.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/options.h b/options.h
new file mode 100644
index 0000000..51838ef
--- /dev/null
+++ b/options.h
@@ -0,0 +1,56 @@
+#ifndef _OPTIONS_H__
+#define _OPTIONS_H__
+#include "libretro.h"
+#include "scale.h"
+
+extern int show_fps;
+extern int limit_frames;
+extern int enable_audio;
+extern int audio_buffer_size;
+extern enum scale_size scale_size;
+extern enum scale_filter scale_filter;
+
+struct core_option_entry {
+ int value;
+ int prev_value;
+ char *desc;
+ char *retro_var_value;
+ bool blocked;
+ const char *info;
+ const char **options;
+ const struct retro_core_option_definition *def;
+ const struct retro_variable *var;
+};
+
+struct core_options {
+ size_t len;
+ size_t visible_len;
+ bool changed;
+ struct core_option_entry *entries;
+ const struct retro_core_option_definition *defs;
+ const struct retro_variable *vars;
+};
+
+extern struct core_options core_options;
+
+void options_init(const struct retro_core_option_definition *defs);
+void options_init_variables(const struct retro_variable *vars);
+bool options_changed(void);
+void options_update_changed(void);
+const char* options_get_key(int index);
+
+struct core_option_entry* options_get_entry(const char* key);
+bool options_is_blocked(const char *key);
+
+const char* options_get_value(const char* key);
+int* options_get_value_ptr(const char* key);
+int options_get_value_index(const char* key);
+
+void options_set_value(const char* key, const char *value);
+void options_set_value_index(const char* key, int value);
+
+int options_default_index(const char *key);
+const char** options_get_options(const char* key);
+void options_free(void);
+
+#endif