fix link errors on compilers with strict "extern" enforcement
[rofl0r-openbor.git] / data.h
blob2ae1974401b0f5cc3484286f23b57f6c6b1f0aca
1 #ifndef DATA_H
2 #define DATA_H
4 #include "openbor.h"
6 typedef struct {
7 Script* script;
8 char* path;
9 char* name;
10 } s_script_and_path_and_name;
12 extern const s_script_and_path_and_name script_and_path_and_name[];
13 extern const int script_and_path_and_name_itemcount;
15 typedef struct {
16 int mp[11];
17 int hp[11];
18 int ld[11];
19 } s_color_tables;
21 extern s_color_tables color_tables;
23 extern s_barstatus loadingbarstatus;
24 extern s_barstatus lbarstatus;
25 extern s_barstatus olbarstatus;
26 extern s_barstatus mpbarstatus;
28 typedef struct {
29 int* target;
30 char* fn;
31 char ofsx;
32 char ofsy;
33 } s_special_sprite;
35 extern const int special_sprites_init_itemcount;
36 extern const s_special_sprite special_sprites_init[];
38 // -------dynamic animation indexes-------
39 typedef struct {
40 int *animdowns;
41 int *animups;
42 int *animbackwalks;
43 int *animwalks;
44 int *animidles;
45 int *animpains;
46 int *animdies;
47 int *animfalls;
48 int *animrises;
49 int *animriseattacks;
50 int *animblkpains;
51 int *animattacks;
52 int *animfollows;
53 int *animspecials;
54 } s_dynamic_animation_indexes;
56 typedef struct {
57 const int *animdowns;
58 const int *animups;
59 const int *animbackwalks;
60 const int *animwalks;
61 const int *animidles;
62 const int *animpains;
63 const int *animdies;
64 const int *animfalls;
65 const int *animrises;
66 const int *animriseattacks;
67 const int *animblkpains;
68 const int *animattacks;
69 const int *animfollows;
70 const int *animspecials;
71 } s_const_dynamic_animation_indexes;
73 typedef struct {
74 char animdowns;
75 char animups;
76 char animbackwalks;
77 char animwalks;
78 char animidles;
79 char animpains;
80 char animdies;
81 char animfalls;
82 char animrises;
83 char animriseattacks;
84 char animblkpains;
85 char animattacks;
86 char animfollows;
87 char animspecials;
88 } s_dynamic_animation_indexes_default_sizes;
90 extern s_dynamic_animation_indexes dyn_anims;
92 extern const s_dynamic_animation_indexes_default_sizes default_dyn_anims_sizes;
93 extern const s_const_dynamic_animation_indexes default_dyn_anims;
94 extern const int dyn_anim_itemcount;
96 typedef struct {
97 int max_downs;
98 int max_ups;
99 int max_backwalks;
100 int max_walks;
101 int max_idles;
102 int max_attack_types;
103 int max_freespecials;
104 int max_follows;
105 int max_attacks;
106 int max_animations;
107 } s_dyn_anim_custom_maxvalues;
109 extern const s_dyn_anim_custom_maxvalues dyn_anim_default_custom_maxvalues;
110 extern s_dyn_anim_custom_maxvalues dyn_anim_custom_maxvalues;
111 extern const s_const_dynamic_animation_indexes dyn_anim_custom_max_ptr;
113 // -----------------------------
116 typedef struct {
117 char obligatory;
118 char* path;
119 } s_font_init;
121 extern const s_font_init font_init[];
122 extern const int font_init_itemcount;
124 typedef enum {
125 VTC_VIDEO = 0,
126 VTC_SCENES,
127 VTC_BACKGROUNDS,
128 VTC_LEVELS,
129 VTC_MODELS,
130 VTC_COLOURDEPTH,
131 VTC_FORCEMODE,
132 VTC_MAX
133 } VIDEO_TXT_COMMANDS;
135 extern const char* video_txt_commands_strings[];
136 extern char** video_txt_commands_dest[];
138 extern const s_colors_rgb default_colors;
140 typedef struct {
141 char* moveup;
142 char* movedown;
143 char* moveleft;
144 char* moveright;
145 char* attack;
146 char* attack2;
147 char* attack3;
148 char* attack4;
149 char* jump;
150 char* special;
151 char* start;
152 char* screenshot;
153 } s_button_names;
155 typedef struct {
156 const char* moveup;
157 const char* movedown;
158 const char* moveleft;
159 const char* moveright;
160 const char* attack;
161 const char* attack2;
162 const char* attack3;
163 const char* attack4;
164 const char* jump;
165 const char* special;
166 const char* start;
167 const char* screenshot;
168 } s_button_names_const;
170 extern const s_button_names default_button_names;
171 extern const s_button_names_const config_button_names;
172 extern s_button_names buttonnames;
174 extern const s_savedata savedata_default;
175 extern const s_videomodes videomodes_init_data[];
176 extern const s_player_min_max_z_bgheight player_min_max_z_bgheight_init_data[];
177 extern const s_drawmethod plainmethod;
178 extern const s_attack emptyattack;
180 #endif