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 172 173 174 175
|
/* 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 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;
// Common command arguments
// HISTORICAL NOTE: These numbers were chosen arbitrarily -- the idea is
// to make sure that the user gets the parameters the right way round
// Walk (pathfinding) modes
#define ANYWHERE 304
#define WALKABLE_AREAS 305
// Blocking / non-blocking action
#define BLOCKING 919
#define IN_BACKGROUND 920
// Direction of animation
#define FORWARDS 1062
#define BACKWARDS 1063
// Stop / don't stop when changing a view
#define STOP_MOVING 1
#define KEEP_MOVING 0
#define SCR_NO_VALUE 31998
#define SCR_COLOR_TRANSPARENT -1
#define TXT_SCOREBAR 29
#define MAXSCORE _GP(play).totalscore
#define FONT_STATUSBAR 0
#define FONT_NORMAL _GP(play).normal_font
//#define FONT_SPEECHBACK 1
#define FONT_SPEECH _GP(play).speech_font
// Standard interaction verbs (aka cursor modes)
#define MODE_NONE -1
#define MODE_WALK 0
#define MODE_LOOK 1
#define MODE_HAND 2
#define MODE_TALK 3
#define MODE_USE 4
#define MODE_PICKUP 5
// aka MODE_POINTER
#define CURS_ARROW 6
// aka MODE_WAIT
#define CURS_WAIT 7
#define MODE_CUSTOM1 8
#define MODE_CUSTOM2 9
#define NUM_STANDARD_VERBS 10
// Fixed Overlay IDs
#define OVER_TEXTMSG 1
#define OVER_COMPLETE 2
#define OVER_PICTURE 3
#define OVER_TEXTSPEECH 4
#define OVER_FIRSTFREE 5
#define OVER_CUSTOM -1
// Overlay parameters
#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
// The index base for characters, used in legacy AnimateObject script function;
// if passed ID is eq or gt than this, then a Character is animated instead
#define LEGACY_ANIMATE_CHARIDBASE 100
#define STD_BUFFER_SIZE 3000
// NOTE: these flags are merged with the MoveList index;
// but this means that the number of MoveList users will be limited by 1000
#define TURNING_AROUND 1000
#define TURNING_BACKWARDS 10000
#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
|