22 #ifndef MADS_CORE_CONV_H 23 #define MADS_CORE_CONV_H 25 #include "common/array.h" 26 #include "common/stream.h" 31 constexpr
int CONV_MAX_SLOTS = 40;
32 constexpr
int CONV_MAX_DATA = 5;
35 CONV_STATUS_HOLDING = -1,
36 CONV_STATUS_NEXT_NODE = 0,
37 CONV_STATUS_WAIT_AUTO = 1,
38 CONV_STATUS_WAIT_ENTRY = 2,
39 CONV_STATUS_EXECUTE = 3,
40 CONV_STATUS_REPLY = 4,
71 static constexpr
int SIZE = 2 * 5;
76 int16 text_line_index;
81 static constexpr
int SIZE = 2 * 4;
92 static constexpr
int SIZE = 2 + 1 + 1 + 2 + 2;
97 enum PtrType { PTRTYPE_GLOBAL = 1, PTRTYPE_CONV_CONTROL = 2 };
100 int16 val = 0, type = 0;
103 static constexpr
int SIZE = 2 * 3;
112 int16 text_line_count;
117 char speaker_portraits[5][16];
118 int16 speaker_frame[5];
119 char speech_file[14];
121 uint32 commands_length;
135 static constexpr
int SIZE = (2 * 7 + 16 * 5 + 2 * 5 + 14 + 4 + 4) +
143 int16 entryFlagsCount;
144 int16 variablesCount;
147 int16 optionListSize;
148 int16 messageList1Size;
149 int16 messageList2Size;
150 int16 speechList1Size;
151 int16 speechList2Size;
152 int16 optionList[10];
153 int16 messageList1[10];
154 int16 messageList2[10];
155 int16 speechList1[10];
156 int16 speechList2[10];
158 uint16 importsOffset;
159 uint16 entryFlagsOffset;
160 uint16 variablesOffset;
165 static constexpr
int SIZE = 2 * 10 + 2 * 10 * 5 + 2 * 3;
174 ConvStatus hold_status;
177 int16 popup_duration;
179 int16 speaker_active[CONV_MAX_DATA];
180 int16 speaker_series[CONV_MAX_DATA];
181 int16 speaker_frame[CONV_MAX_DATA];
182 int16 x[CONV_MAX_DATA];
183 int16 y[CONV_MAX_DATA];
184 int16 width[CONV_MAX_DATA];
186 int16 person_speaking;
190 int16 me_trigger_mode;
192 int16 you_trigger_mode;
193 int16 commands_allowed;
197 extern Conv *conv[CONV_MAX_DATA];
198 extern ConvData *conv_data[CONV_MAX_DATA];
199 extern Conv *active_conv;
202 extern int16 *conv_imports;
203 extern uint16 *conv_entry_flags;
205 extern int16 *conv_vars0ValPtr;
207 extern int conv_restore_running;
209 extern int16 *conv_my_next_start;
211 extern void conv_system_init();
212 extern void conv_system_cleanup();
214 extern void conv_start(
ConvData *convData,
Conv *convIn);
215 extern void conv_stop();
216 extern void conv_get(
int convNum);
217 extern void conv_run(
int convNum);
218 extern void conv_update(
bool);
219 extern void conv_regenerate_last_message();
220 extern void conv_export_pointer(int16 *ptr);
221 extern void conv_abort();
222 extern void conv_me_trigger(
int trigger);
223 extern void conv_you_trigger(
int trigger);
224 extern int16 *conv_get_variable(
int varNum);
225 extern void conv_export_value(int16 value);
226 extern void conv_hold();
227 extern void conv_release();
228 extern void conv_flush();
232 extern void init_conv();
Definition: sound_manager.h:38