ScummVM API documentation
debugger.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 AGS_ENGINE_DEBUGGING_DEBUGGER_H
23#define AGS_ENGINE_DEBUGGING_DEBUGGER_H
24
25#include "ags/shared/util/string.h"
26
27namespace AGS3 {
28
29struct IAGSEditorDebugger;
30struct ScriptPosition;
31
32int check_for_messages_from_debugger();
33bool send_state_to_debugger(const char *msg);
34bool send_exception_to_debugger(const char *qmsg);
35// Returns current script's location and callstack
36AGS::Shared::String get_cur_script(int numberOfLinesOfCallStack);
37void check_debug_keys();
38
39#define DBG_NOIFACE 1
40#define DBG_NODRAWSPRITES 2
41#define DBG_NOOBJECTS 4
42#define DBG_NOUPDATE 8
43#define DBG_NOSFX 0x10
44#define DBG_NOMUSIC 0x20
45#define DBG_NOSCRIPT 0x40
46// #define DBG_DBGSCRIPT 0x80 // unused
47#define DBG_DEBUGMODE 0x100
48#define DBG_REGONLY 0x200
49#define DBG_NOVIDEO 0x400
50
51enum FPSDisplayMode {
52 kFPS_Hide = 0, // hid by the script/user command
53 kFPS_Display = 1, // shown by the script/user command
54 kFPS_Forced = 2 // forced shown by the engine arg
55};
56
57} // namespace AGS3
58
59#endif