ScummVM API documentation
error.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef MADS_CORE_ERROR_H
23#define MADS_CORE_ERROR_H
24
25#include "mads/core/general.h"
26
27namespace MADS {
28
29#define NONE 0
30#define WARNING 1
31#define ERROR 2
32#define SEVERE 3
33
34#define ERROR_SERIES_LIST_FULL -1
35#define ERROR_MESSAGE_LIST_FULL -2
36#define ERROR_IMAGE_LIST_FULL -3
37#define ERROR_IMAGE_INTER_LIST_FULL -4
38#define ERROR_NO_MORE_PALETTE_FLAGS -5
39#define ERROR_NO_MORE_COLORS -6
40#define ERROR_SERIES_LOAD_FAILED -7
41#define ERROR_NO_MORE_MEMORY -8
42#define ERROR_WRONG_SERIES_UNLOAD_ORDER -9
43#define ERROR_PLAYER_INVENTORY_FULL -10
44#define ERROR_SEQUENCE_LIST_FULL -11
45#define ERROR_VOCAB_ACTIVE_LIST_FULL -12
46#define ERROR_NO_SUCH_OBJECT -13
47#define ERROR_NO_SUCH_MESSAGE -14
48#define ERROR_POPUP_TOO_MANY_LINES -15
49#define ERROR_KERNEL_MESSAGE_LIST_FULL -16
50#define ERROR_MESSAGE_TOO_LONG -17
51#define ERROR_DEMO_PROTECTION -18
52#define ERROR_BEEN_IN_TOO_MANY_ROOMS -19
53#define ERROR_COPY_PROTECTION -20
54#define ERROR_QUOTE_LOAD_FAILED -21
55#define ERROR_TIME_LIMIT_EXPIRED -22
56#define ERROR_QUOTE_DUPLICATE_LOAD -23
57#define ERROR_DYNAMIC_HOTSPOT_OVERFLOW -24
58#define ERROR_SPRITE_DATA_LOAD_FAILED -25
59#define ERROR_CHAIN_FAILURE -26
60#define ERROR_RESTORE_GAME_FAILURE -27
61#define ERROR_EXPLODER_EXPLODED -28
62#define ERROR_EXPLODER_NULL -29
63#define ERROR_ANIMATION_LOAD_FAILURE -30
64
65#define ERROR_BREAK_POINT -31
66
67#define ERROR_KERNEL_NO_FONTS -32
68#define ERROR_KERNEL_NO_CURSOR -33
69#define ERROR_KERNEL_NO_OBJECTS -34
70#define ERROR_KERNEL_NO_ROOM -35
71#define ERROR_KERNEL_NO_HOTSPOTS -36
72#define ERROR_KERNEL_NO_VOCAB -37
73#define ERROR_KERNEL_NO_INTERFACE -38
74#define ERROR_KERNEL_NO_ANIMATION -39
75#define ERROR_KERNEL_NO_EMS -40
76#define ERROR_KERNEL_NO_POPUP -41
77
78#define ERROR_CONV_BAD_PCODE -50
79#define ERROR_CONV_BAD_OPERATOR -51
80#define ERROR_CONV_VARIABLE_RANGE -52
81#define ERROR_POPUP_OVERFLOW -53
82#define ERROR_CONV_FLUSH -54
83#define ERROR_CONV_GET -55
84#define ERROR_CONV_RUN -56
85#define ERROR_CONV_MENU -57
86#define ERROR_CONV_NO_TEXT_LINE -58
87#define ERROR_NO_MORE_EMS -59
88#define ERROR_HEAP_REQUEST_FAILED -60
89#define ERROR_NO_MORE_HEAP -61
90#define ERROR_ORPHANED_TRIGGER -62
91#define ERROR_PEELING_DISABLED -63
92#define ERROR_POPUP_NO_ITEMS -64
93#define ERROR_WRITE_SAVE_DIRECTORY -65
94#define ERROR_MEMORY_CHAIN_CORRUPT -66
95#define ERROR_POPUP_PRESERVE_FAILURE -67
96#define ERROR_TOO_MANY_DAMN_HOTSPOTS -68
97#define ERROR_VARIANT_LOAD_FAILURE -69
98
99
100#define MODULE_MATTE 1
101#define MODULE_INTER 2
102#define MODULE_PAL 3
103#define MODULE_ROOM 4
104#define MODULE_KERNEL 5
105#define MODULE_OBJECT 6
106#define MODULE_UNKNOWN 7
107#define MODULE_VOCAB 8
108#define MODULE_TEXT 9
109#define MODULE_POPUP 10
110#define MODULE_MEMORY 11
111#define MODULE_ROOM_LOADER 12
112#define MODULE_SPRITE_LOADER 13
113#define MODULE_ANIM_LOADER 14
114#define MODULE_FONT_LOADER 15
115#define MODULE_TEXT_LOADER 16
116#define MODULE_VOCAB_LOADER 17
117#define MODULE_DEMO 18
118#define MODULE_PLAYER 19
119#define MODULE_LOCK 20
120#define MODULE_QUOTE 21
121#define MODULE_GAME 22
122#define MODULE_GAME_MENU 23
123#define MODULE_EXPLODER 24
124#define MODULE_ANIM 25
125#define MODULE_CONV 26
126#define MODULE_POPUP_DIALOG 27
127#define MODULE_HOTSPOT 28
128
129
130extern int error_abort;
131extern char error_string[80];
132
133extern void (*error_service_routine)();
134extern void (*error_service_routine_2)();
135
136
137extern void error_report(int error, int severity, int module, long data1, long data2);
138extern int error_scan(char *target, const char *name, int number);
139extern void error_dump_file(const char *file_name);
140extern void error_break_point(int data1, int data2);
141extern void error_watch_point(char *message, long data1, long data2);
142extern void error_check_memory();
143extern void error_file_point(char *message, long data1, long data2);
144extern void error_entry(char *name, char *message);
145extern void error_exit(char *name, char *message);
146extern void error_put(char *name, int item);
147
148} // namespace MADS
149
150#endif
void NORETURN_PRE error(MSVC_PRINTF const char *s,...) GCC_PRINTF(1