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
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (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, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef AGS_ENGINE_AC_RUNTIME_DEFINES_H
24 #define AGS_ENGINE_AC_RUNTIME_DEFINES_H
25 
26 #include "ags/shared/ac/common_defines.h"
27 
28 namespace AGS3 {
29 
30 // xalleg.h pulls in an Allegro-internal definition of MAX_TIMERS which
31 // conflicts with the definition in runtime_defines.h. Forget it.
32 #ifdef MAX_TIMERS
33 #undef MAX_TIMERS
34 #endif
35 
36 // Max old-style script string length
37 #define MAX_MAXSTRLEN 200
38 #define MAXGLOBALVARS 50
39 
40 #define INVALID_X  30000
41 #define MAXGSVALUES 500
42 #define MAXGLOBALSTRINGS 51
43 #define MAX_INVORDER 500
44 #define DIALOG_NONE      0
45 #define DIALOG_RUNNING   1
46 #define DIALOG_STOP      2
47 #define DIALOG_NEWROOM   100
48 #define DIALOG_NEWTOPIC  12000
49 #define MAX_TIMERS       21
50 #define MAX_PARSED_WORDS 15
51 #define MAXSAVEGAMES     50
52 #define MAX_QUEUED_MUSIC 10
53 #define GLED_INTERACTION 1
54 #define GLED_EFFECTS     2
55 #define QUEUED_MUSIC_REPEAT 10000
56 #define PLAYMP3FILE_MAX_FILENAME_LEN 50
57 #define MAX_AUDIO_TYPES  30
58 
59 // Legacy (pre 3.5.0) alignment types used in the script API
60 enum LegacyScriptAlignment {
61 	kLegacyScAlignLeft = 1,
62 	kLegacyScAlignCentre = 2,
63 	kLegacyScAlignRight = 3
64 };
65 
66 const int LegacyMusicMasterVolumeAdjustment = 60;
67 const int LegacyRoomVolumeFactor = 30;
68 
69 // These numbers were chosen arbitrarily -- the idea is
70 // to make sure that the user gets the parameters the right way round
71 #define ANYWHERE       304
72 #define WALKABLE_AREAS 305
73 #define BLOCKING       919
74 #define IN_BACKGROUND  920
75 #define FORWARDS       1062
76 #define BACKWARDS      1063
77 #define STOP_MOVING    1
78 #define KEEP_MOVING    0
79 
80 #define SCR_NO_VALUE   31998
81 #define SCR_COLOR_TRANSPARENT -1
82 
83 
84 
85 #define NUM_DIGI_VOICES     16
86 #define NUM_MOD_DIGI_VOICES 12
87 
88 #define DEBUG_CONSOLE_NUMLINES 6
89 #define TXT_SCOREBAR        29
90 #define MAXSCORE _GP(play).totalscore
91 #define CHANIM_REPEAT    2
92 #define CHANIM_BACKWARDS 4
93 #define ANIM_BACKWARDS 10
94 #define ANIM_ONCE      1
95 #define ANIM_REPEAT    2
96 #define ANIM_ONCERESET 3
97 #define FONT_STATUSBAR  0
98 #define FONT_NORMAL     _GP(play).normal_font
99 //#define FONT_SPEECHBACK 1
100 #define FONT_SPEECH     _GP(play).speech_font
101 #define MODE_WALK 0
102 #define MODE_LOOK 1
103 #define MODE_HAND 2
104 #define MODE_TALK 3
105 #define MODE_USE  4
106 #define MODE_PICKUP 5
107 #define CURS_ARROW  6
108 #define CURS_WAIT   7
109 #define MODE_CUSTOM1 8
110 #define MODE_CUSTOM2 9
111 
112 #define OVER_TEXTMSG  1
113 #define OVER_COMPLETE 2
114 #define OVER_PICTURE  3
115 #define OVER_TEXTSPEECH 4
116 #define OVER_CUSTOM   100
117 #define OVR_AUTOPLACE 30000
118 #define FOR_ANIMATION 1
119 #define FOR_SCRIPT    2
120 #define FOR_EXITLOOP  3
121 #define CHMLSOFFS (MAX_ROOM_OBJECTS+1)    // reserve this many movelists for objects & stuff
122 #define MAX_SCREEN_OVERLAYS 20
123 #define abort_all_conditions _G(restrict_until)
124 #define MAX_SCRIPT_AT_ONCE 10
125 #define EVENT_NONE       0
126 #define EVENT_INPROGRESS 1
127 #define EVENT_CLAIMED    2
128 
129 // Internal skip style flags, for speech/display, wait
130 #define SKIP_NONE       0
131 #define SKIP_AUTOTIMER  1
132 #define SKIP_KEYPRESS   2
133 #define SKIP_MOUSECLICK 4
134 
135 #define MANOBJNUM 99
136 
137 #define STD_BUFFER_SIZE 3000
138 
139 #define TURNING_AROUND     1000
140 #define TURNING_BACKWARDS 10000
141 
142 #define MAX_PLUGIN_OBJECT_READERS 50
143 
144 #define TRANS_ALPHA_CHANNEL 20000
145 #define TRANS_OPAQUE        20001
146 #define TRANS_RUN_PLUGIN    20002
147 
148 
149 #define LOCTYPE_HOTSPOT 1
150 #define LOCTYPE_CHAR 2
151 #define LOCTYPE_OBJ  3
152 
153 #define MAX_DYNAMIC_SURFACES 20
154 
155 #define MAX_ANIMATING_BUTTONS 15
156 #define RESTART_POINT_SAVE_GAME_NUMBER 999
157 
158 #define MAX_OPEN_SCRIPT_FILES 10
159 
160 #define RETURN_CONTINUE 1
161 
162 } // namespace AGS3
163 
164 #endif
165