1 #ifndef SCENARIO_EDITOR_H
2 #define SCENARIO_EDITOR_H
3 
4 #include <stdint.h>
5 
6 typedef struct {
7     int year;
8     int resource;
9     int amount;
10     int deadline_years;
11     int favor;
12 } editor_request;
13 
14 typedef struct {
15     int year;
16     int type;
17     int amount;
18     int from;
19     int attack_type;
20 } editor_invasion;
21 
22 typedef struct {
23     int year;
24     int resource;
25     int amount;
26     int is_rise;
27 } editor_price_change;
28 
29 typedef struct {
30     int year;
31     int resource;
32     int route_id;
33     int is_rise;
34 } editor_demand_change;
35 
36 void scenario_editor_create(int map_size);
37 
38 void scenario_editor_set_native_images(int image_hut, int image_meeting, int image_crops);
39 
40 void scenario_editor_request_get(int index, editor_request *request);
41 void scenario_editor_request_delete(int index);
42 void scenario_editor_request_save(int index, editor_request *request);
43 
44 void scenario_editor_invasion_get(int index, editor_invasion *invasion);
45 void scenario_editor_invasion_delete(int index);
46 void scenario_editor_invasion_save(int index, editor_invasion *invasion);
47 
48 void scenario_editor_price_change_get(int index, editor_price_change *price_change);
49 void scenario_editor_price_change_delete(int index);
50 void scenario_editor_price_change_save(int index, editor_price_change *price_change);
51 
52 void scenario_editor_demand_change_get(int index, editor_demand_change *demand_change);
53 void scenario_editor_demand_change_delete(int index);
54 void scenario_editor_demand_change_save(int index, editor_demand_change *demand_change);
55 
56 void scenario_editor_cycle_image(int forward);
57 
58 void scenario_editor_cycle_climate(void);
59 
60 void scenario_editor_update_brief_description(const uint8_t *new_description);
61 
62 void scenario_editor_set_enemy(int enemy_id);
63 
64 void scenario_editor_change_empire(int change);
65 
66 int scenario_editor_is_building_allowed(int id);
67 
68 void scenario_editor_toggle_building_allowed(int id);
69 
70 void scenario_editor_set_player_rank(int rank);
71 
72 void scenario_editor_set_initial_funds(int amount);
73 void scenario_editor_set_rescue_loan(int amount);
74 
75 void scenario_editor_toggle_rome_supplies_wheat(void);
76 
77 void scenario_editor_toggle_flotsam(void);
78 
79 int scenario_editor_milestone_year(int milestone_percentage);
80 void scenario_editor_set_milestone_year(int milestone_percentage, int year);
81 
82 void scenario_editor_set_start_year(int year);
83 
84 void scenario_editor_toggle_open_play(void);
85 
86 void scenario_editor_toggle_culture(void);
87 void scenario_editor_set_culture(int goal);
88 void scenario_editor_toggle_prosperity(void);
89 void scenario_editor_set_prosperity(int goal);
90 void scenario_editor_toggle_peace(void);
91 void scenario_editor_set_peace(int goal);
92 void scenario_editor_toggle_favor(void);
93 void scenario_editor_set_favor(int goal);
94 
95 void scenario_editor_toggle_population(void);
96 void scenario_editor_set_population(int goal);
97 
98 void scenario_editor_toggle_time_limit(void);
99 void scenario_editor_set_time_limit(int years);
100 void scenario_editor_toggle_survival_time(void);
101 void scenario_editor_set_survival_time(int years);
102 
103 #endif // SCENARIO_EDITOR_H
104