-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathboiler_globals.h
More file actions
110 lines (98 loc) · 3.73 KB
/
Copy pathboiler_globals.h
File metadata and controls
110 lines (98 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#pragma once
// Boiler Simulator — Shared constants, types, and global declarations
// All extern variables are defined in their respective .cpp files.
#include <SDL2/SDL.h>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <stack>
#include <algorithm>
#include <atomic>
// =====================================================================
// Constants
// =====================================================================
static const int WIN_W = 640;
static const int WIN_H = 480;
static const int SCALE = 1; // 1:1 window (640x480)
static const double PI = 3.1415926535;
// =====================================================================
// BGI 16-color palette
// =====================================================================
struct Color { Uint8 r, g, b; };
extern const Color bgi_palette[16];
// =====================================================================
// SDL globals (defined in main.cpp)
// =====================================================================
extern SDL_Window *gWindow;
extern SDL_Renderer *gRenderer;
// =====================================================================
// HZK16 font globals (defined in bgi_compat.cpp)
// =====================================================================
extern unsigned char *gFontData;
extern int gFontSize;
// =====================================================================
// BGI drawing state (defined in bgi_compat.cpp)
// =====================================================================
extern int g_color;
extern int g_fill_color;
extern int g_fill_pattern;
extern int g_bk_color;
extern int g_text_font;
extern int g_text_dir;
extern int g_text_size;
extern int g_user_mult_x, g_user_div_x;
extern int g_user_mult_y, g_user_div_y;
extern int g_cp_x, g_cp_y;
// =====================================================================
// Simulation state (defined in drawing.cpp)
// =====================================================================
extern int Water_in_boiler;
extern float Temperature;
extern float Pressure;
extern int water_alarm;
extern int air_alarm;
extern int temperature_alarm;
extern int stove_open;
extern int valve_1_open;
extern int valve_2_open;
extern int valve_air_open;
extern int _auto;
extern int manual_mode;
extern int percent_of_fire_V;
extern int percent_of_air_V;
extern int ii, jj;
extern int kk, ff;
// =====================================================================
// Language setting (defined in drawing.cpp)
// =====================================================================
enum Language { LANG_CN, LANG_EN };
extern Language g_language;
// =====================================================================
// Application state (defined in main.cpp)
// =====================================================================
enum AppState {
STATE_RUNNING,
STATE_HELP_MENU_OPEN,
STATE_CTRL_MENU_OPEN,
STATE_HELP_WIN_OPEN,
STATE_ABOUT_WIN_OPEN,
STATE_WARNING_OPEN,
};
extern AppState g_state;
extern SDL_Surface *g_saved_menu;
extern SDL_Surface *g_saved_dialog;
extern int g_dialog_x, g_dialog_y;
// =====================================================================
// Cursor state (defined in main.cpp)
// =====================================================================
extern SDL_Cursor *g_cursor_arrow;
extern SDL_Cursor *g_cursor_hand;
extern bool g_cursor_is_hand;
// =====================================================================
// Audio state (defined in main.cpp)
// =====================================================================
extern SDL_AudioDeviceID g_audio_device;
extern std::atomic<int> g_audio_freq;
extern std::atomic<bool> g_audio_enabled;