11#include <ascii-chat/options/options.h>
12#include <ascii-chat/options/rcu.h>
13#include <ascii-chat/options/parsers.h>
14#include <ascii-chat/asciichat_errno.h>
15#include <ascii-chat/log/logging.h>
24 if (value <= 0 || value > 1000)
27 return (err == ASCIICHAT_OK) ? 0 : -1;
32 return GET_OPTION(width);
37 if (value <= 0 || value > 1000)
40 return (err == ASCIICHAT_OK) ? 0 : -1;
45 return GET_OPTION(height);
55 return (err == ASCIICHAT_OK) ? 0 : -1;
60 return GET_OPTION(color_mode);
70 return (err == ASCIICHAT_OK) ? 0 : -1;
75 return GET_OPTION(color_filter);
87 palette_type_t palette_value;
88 char *error_msg = NULL;
92 log_error(
"Failed to parse palette '%s': %s", palette_name, error_msg);
98 asciichat_error_t err =
options_set_int(
"palette_type", (
int)palette_value);
99 return (err == ASCIICHAT_OK) ? 0 : -1;
104 return GET_OPTION(palette_type);
112 return (err == ASCIICHAT_OK) ? 0 : -1;
117 return GET_OPTION(palette_custom);
127 return (err == ASCIICHAT_OK) ? 0 : -1;
132 return GET_OPTION(matrix_rain) ? 1 : 0;
142 return (err == ASCIICHAT_OK) ? 0 : -1;
147 return GET_OPTION(flip_x) ? 1 : 0;
157 return (err == ASCIICHAT_OK) ? 0 : -1;
162 return GET_OPTION(render_mode);
171 if (fps < 15 || fps > 60)
174 return (err == ASCIICHAT_OK) ? 0 : -1;
179 return GET_OPTION(fps);
bool enabled
Is filtering active?
WASM option accessor declarations.
bool parse_palette_type(const char *arg, void *dest, char **error_msg)
asciichat_error_t options_set_int(const char *field_name, int value)
asciichat_error_t options_set_string(const char *field_name, const char *value)
asciichat_error_t options_set_bool(const char *field_name, bool value)
EMSCRIPTEN_KEEPALIVE int get_color_filter(void)
EMSCRIPTEN_KEEPALIVE int get_render_mode(void)
EMSCRIPTEN_KEEPALIVE int set_palette(const char *palette_name)
EMSCRIPTEN_KEEPALIVE int get_palette(void)
EMSCRIPTEN_KEEPALIVE int get_flip_x(void)
EMSCRIPTEN_KEEPALIVE int set_color_filter(int filter)
EMSCRIPTEN_KEEPALIVE int set_color_mode(int mode)
EMSCRIPTEN_KEEPALIVE int get_height(void)
EMSCRIPTEN_KEEPALIVE int get_color_mode(void)
EMSCRIPTEN_KEEPALIVE int get_width(void)
EMSCRIPTEN_KEEPALIVE int set_render_mode(int mode)
EMSCRIPTEN_KEEPALIVE int set_target_fps(int fps)
EMSCRIPTEN_KEEPALIVE int get_target_fps(void)
EMSCRIPTEN_KEEPALIVE int set_width(int value)
EMSCRIPTEN_KEEPALIVE int set_matrix_rain(int enabled)
EMSCRIPTEN_KEEPALIVE int set_flip_x(int enabled)
EMSCRIPTEN_KEEPALIVE const char * get_palette_chars(void)
EMSCRIPTEN_KEEPALIVE int set_palette_chars(const char *chars)
EMSCRIPTEN_KEEPALIVE int set_height(int value)
EMSCRIPTEN_KEEPALIVE int get_matrix_rain(void)