diff options
author | Benjamin Barenblat <bbaren@mit.edu> | 2015-09-05 09:32:30 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@mit.edu> | 2015-09-05 09:32:30 -0400 |
commit | ea76b6988ccafaa6a4d4ed90f2489d0e49e1f180 (patch) | |
tree | b01dd19f5c53406d9d636b18bc49916bfdd6d3bc /g_src/init.h |
Imported Upstream version 0.40.24upstream/0.40.24upstream
Diffstat (limited to 'g_src/init.h')
-rwxr-xr-x | g_src/init.h | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/g_src/init.h b/g_src/init.h new file mode 100755 index 0000000..243c5d1 --- /dev/null +++ b/g_src/init.h @@ -0,0 +1,166 @@ +#ifndef INIT_H +#define INIT_H + +#include "enabler.h" +#ifdef __APPLE__ +#include <SDL_ttf/SDL_ttf.h> +#else +#include <SDL/SDL_ttf.h> +#endif + +enum ttf_flag { + ttf_off, ttf_on, ttf_auto +}; + +class init_fontst +{ + public: + long small_font_texpos[256]; + long large_font_texpos[256]; + long small_font_datapos[256]; + long large_font_datapos[256]; + float small_font_adjx; + float small_font_adjy; + float large_font_adjx; + float large_font_adjy; + long small_font_dispx; + long small_font_dispy; + long large_font_dispx; + long large_font_dispy; + ttf_flag use_ttf; + int ttf_limit; +}; + +enum InitDisplayFlag +{ + INIT_DISPLAY_FLAG_USE_GRAPHICS, + INIT_DISPLAY_FLAG_BLACK_SPACE, + INIT_DISPLAY_FLAG_PARTIAL_PRINT, + INIT_DISPLAY_FLAG_FRAME_BUFFER, + INIT_DISPLAY_FLAG_SINGLE_BUFFER, + INIT_DISPLAY_FLAG_ACCUM_BUFFER, + INIT_DISPLAY_FLAG_VBO, + INIT_DISPLAY_FLAG_2D, + INIT_DISPLAY_FLAG_2DHW, + INIT_DISPLAY_FLAG_2DASYNC, + INIT_DISPLAY_FLAG_UNUSED_01_08,// + INIT_DISPLAY_FLAG_TEXT, + INIT_DISPLAY_FLAG_SHADER, + INIT_DISPLAY_FLAG_NOT_RESIZABLE, + INIT_DISPLAY_FLAG_ARB_SYNC, + INIT_DISPLAY_FLAGNUM +}; + +enum InitDisplayWindow +{ + INIT_DISPLAY_WINDOW_TRUE, + INIT_DISPLAY_WINDOW_FALSE, + INIT_DISPLAY_WINDOW_PROMPT, + INIT_DISPLAY_WINDOWNUM +}; + +class init_displayst +{ + public: + flagarrayst flag; + InitDisplayWindow windowed; + + int grid_x, grid_y; // The *current* display grid size, kept up to date + + int desired_fullscreen_width, desired_fullscreen_height; + int desired_windowed_width, desired_windowed_height; + + + char partial_print_count; + + init_displayst(); +}; + +enum InitMediaFlag +{ + INIT_MEDIA_FLAG_SOUND_OFF, + INIT_MEDIA_FLAG_INTRO_OFF, + INIT_MEDIA_FLAG_COMPRESS_SAVES, + INIT_MEDIA_FLAGNUM +}; + +class init_mediast +{ + public: + flagarrayst flag; + int32_t volume; + + init_mediast() + { + flag.set_size_on_flag_num(INIT_MEDIA_FLAGNUM); + volume=255; + } +}; + +enum InitInputFlag +{ + INIT_INPUT_FLAG_MOUSE_OFF, + INIT_INPUT_FLAG_MOUSE_PICTURE, + INIT_INPUT_FLAGNUM +}; + +class init_inputst +{ + public: + long hold_time; + long repeat_time; + long macro_time; + long pause_zoom_no_interface_ms; + flagarrayst flag; + long zoom_speed; + int repeat_accel_start; + int repeat_accel_limit; + + init_inputst() + { + hold_time=150; + repeat_time=150; + macro_time=75; + pause_zoom_no_interface_ms=0; + flag.set_size_on_flag_num(INIT_INPUT_FLAGNUM); + zoom_speed = 10; + repeat_accel_start = 10; + repeat_accel_limit = 1; + } +}; + +enum InitWindowFlag +{ + INIT_WINDOW_FLAG_TOPMOST, + INIT_WINDOW_FLAG_VSYNC_ON, + INIT_WINDOW_FLAG_VSYNC_OFF, + INIT_WINDOW_FLAG_TEXTURE_LINEAR, + INIT_WINDOW_FLAGNUM +}; + +class init_windowst +{ + public: + flagarrayst flag; + + init_windowst() + { + flag.set_size_on_flag_num(INIT_WINDOW_FLAGNUM); + } +}; + +class initst +{ + public: + init_displayst display; + init_mediast media; + init_inputst input; + init_fontst font; + init_windowst window; + + void begin(); +}; + +extern initst init; + +#endif |