From dd98918fe32b9dcdfc482a2c68481e93ceb50623 Mon Sep 17 00:00:00 2001 From: nathan Date: Mon, 20 Mar 2023 00:34:54 -0600 Subject: first commit --- src/program_data.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/program_data.h (limited to 'src/program_data.h') diff --git a/src/program_data.h b/src/program_data.h new file mode 100644 index 0000000..c09e309 --- /dev/null +++ b/src/program_data.h @@ -0,0 +1,83 @@ +#pragma once + +// FLTK headers. +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define _USE_MATH_DEFINES + +// C/C++ headers. +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// OS headers. +#include +#include + +#ifdef _WIN32 +#include +#include +#define NAME_MAX MAX_PATH +#else +#include +#endif + +struct Settings { + // Top menu. + int top_menu_height = 25; + + // Tiles. + int tile_size = 20; + int tile_count_w = 30; + int tile_count_h = 20; + + // speed. + float update_fps = 60.0; + float draw_fps = 60.0; + int snake_speed = 2; + + // Rules. + bool die_when_hit_self = false; + + // Score output. + int output_width = 100; + int output_height = 20; +}; + +struct GameImages { + std::vector snack_images; + std::vector snack_images_tile_size; +}; + +struct MainData { + Fl_Double_Window * win = NULL; + class SnakeMap * snake_map = NULL; + Fl_Menu_Bar * top_menu = NULL; + + Fl_Output * length_output = NULL; + + GameImages images; + + bool paused = false; + + Settings settings; +}; -- cgit v1.2.3