1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef AGS_ENGINE_AC_RUNTIME_DEFINES_H
#define AGS_ENGINE_AC_RUNTIME_DEFINES_H
#include "ags/shared/ac/common_defines.h"
namespace AGS3 {
// xalleg.h pulls in an Allegro-internal definition of MAX_TIMERS which
// conflicts with the definition in runtime_defines.h. Forget it.
#ifdef MAX_TIMERS
#undef MAX_TIMERS
#endif
// Max old-style script string length
#define MAX_MAXSTRLEN 200
#define MAXGLOBALVARS 50
#define INVALID_X 30000
#define MAXGSVALUES 500
#define MAXGLOBALSTRINGS 51
#define MAX_INVORDER 500
#define DIALOG_NONE 0
#define DIALOG_RUNNING 1
#define DIALOG_STOP 2
#define DIALOG_NEWROOM 100
#define DIALOG_NEWTOPIC 12000
#define MAX_TIMERS 21
#define MAX_PARSED_WORDS 15
// how many saves may be listed at once
#define MAXSAVEGAMES 50
// topmost save index to be listed with a FillSaveGameList command
// NOTE: changing this may theoretically affect older games which
// use slots > 99 for special purposes!
#define TOP_LISTEDSAVESLOT 99
#define MAX_QUEUED_MUSIC 10
#define GLED_INTERACTION 1
#define GLED_EFFECTS 2
#define QUEUED_MUSIC_REPEAT 10000
#define PLAYMP3FILE_MAX_FILENAME_LEN 50
#define MAX_AUDIO_TYPES 30
// Legacy (pre 3.5.0) alignment types used in the script API
enum LegacyScriptAlignment {
kLegacyScAlignLeft = 1,
kLegacyScAlignCentre = 2,
kLegacyScAlignRight = 3
};
const int LegacyMusicMasterVolumeAdjustment = 60;
const int LegacyRoomVolumeFactor = 30;
// These numbers were chosen arbitrarily -- the idea is
// to make sure that the user gets the parameters the right way round
#define ANYWHERE 304
#define WALKABLE_AREAS 305
#define BLOCKING 919
#define IN_BACKGROUND 920
#define FORWARDS 1062
#define BACKWARDS 1063
#define STOP_MOVING 1
#define KEEP_MOVING 0
#define SCR_NO_VALUE 31998
#define SCR_COLOR_TRANSPARENT -1
#define NUM_DIGI_VOICES 16
#define NUM_MOD_DIGI_VOICES 12
#define DEBUG_CONSOLE_NUMLINES 6
#define TXT_SCOREBAR 29
#define MAXSCORE _GP(play).totalscore
#define CHANIM_REPEAT 2
#define CHANIM_BACKWARDS 4
#define ANIM_BACKWARDS 10
// Animates once and stops at the *last* frame
#define ANIM_ONCE 1
// Animates infinitely until stopped by command
#define ANIM_REPEAT 2
// Animates once and stops, resetting to the very first frame
#define ANIM_ONCERESET 3
#define FONT_STATUSBAR 0
#define FONT_NORMAL _GP(play).normal_font
//#define FONT_SPEECHBACK 1
#define FONT_SPEECH _GP(play).speech_font
#define MODE_WALK 0
#define MODE_LOOK 1
#define MODE_HAND 2
#define MODE_TALK 3
#define MODE_USE 4
#define MODE_PICKUP 5
#define CURS_ARROW 6
#define CURS_WAIT 7
#define MODE_CUSTOM1 8
#define MODE_CUSTOM2 9
#define OVER_TEXTMSG 1
#define OVER_COMPLETE 2
#define OVER_PICTURE 3
#define OVER_TEXTSPEECH 4
#define OVER_CUSTOM 100
#define OVR_AUTOPLACE 30000
#define FOR_ANIMATION 1
#define FOR_SCRIPT 2
#define FOR_EXITLOOP 3
// an actsps index offset for characters
#define ACTSP_OBJSOFF (MAX_ROOM_OBJECTS)
// a 1-based movelist index offset for characters
#define CHMLSOFFS (1 + MAX_ROOM_OBJECTS)
#define MAX_SCRIPT_AT_ONCE 10
#define EVENT_NONE 0
#define EVENT_INPROGRESS 1
#define EVENT_CLAIMED 2
// Internal skip style flags, for speech/display, wait;
// theoretically correspond to InputType in script (with a 24-bit shift)
#define SKIP_NONE 0x00
#define SKIP_AUTOTIMER 0x01
#define SKIP_KEYPRESS 0x02
#define SKIP_MOUSECLICK 0x04
// Bit shift for packing skip type into result
#define SKIP_RESULT_TYPE_SHIFT 24
// Bit mask for packing skip key/button data into result
#define SKIP_RESULT_DATA_MASK 0x00FFFFFF
#define MANOBJNUM 99
#define STD_BUFFER_SIZE 3000
#define TURNING_AROUND 1000
#define TURNING_BACKWARDS 10000
#define MAX_PLUGIN_OBJECT_READERS 50
#define LOCTYPE_HOTSPOT 1
#define LOCTYPE_CHAR 2
#define LOCTYPE_OBJ 3
#define MAX_DYNAMIC_SURFACES 20
#define RESTART_POINT_SAVE_GAME_NUMBER 999
#define MAX_OPEN_SCRIPT_FILES 10
#define RETURN_CONTINUE 1
} // namespace AGS3
#endif
|