#ifndef H_MAZE_CONFIG #define H_MAZE_CONFIG #include #include #include "game/operations.h" struct binding { wchar_t c; char cname[5]; enum op_res (*operation)(struct game_state *, int); int param; }; struct block { wchar_t chr; bool bold; short color; }; struct game_blocks { struct block hidden; struct block wall; struct block road; struct block path; struct block solve; struct block player; struct block start; struct block target; }; struct conf { struct binding *bindings; struct game_blocks blocks; size_t count; }; static inline struct block get_block(wchar_t chr, bool bold, short color) { struct block result; result.chr = chr; result.bold = bold; result.color = color; return result; } struct conf *load_default_conf(); void destroy_conf(struct conf *); #endif