1 //============================================================================= 2 // 3 // Adventure Game Studio (AGS) 4 // 5 // Copyright (C) 1999-2011 Chris Jones and 2011-20xx others 6 // The full list of copyright holders can be found in the Copyright.txt 7 // file, which is part of this source code distribution. 8 // 9 // The AGS source code is provided under the Artistic License 2.0. 10 // A copy of this license can be found in the file License.txt and at 11 // http://www.opensource.org/licenses/artistic-license-2.0.php 12 // 13 //============================================================================= 14 15 #ifndef __AC_DEFINES_H 16 #define __AC_DEFINES_H 17 18 #define EXIT_NORMAL 91 19 #define EXIT_CRASH 92 20 21 #define MAX_INIT_SPR 40 22 #define MAX_OBJ 16 // max walk-behinds 23 #define NUM_MISC 20 24 #define MAXMESS 100 25 #define NUMOTCON 7 // number of conditions before standing on 26 #define NUM_CONDIT (120 + NUMOTCON) 27 #define MAX_HOTSPOTS 50 // v2.62 increased from 20 to 30; v2.8 to 50 28 #define MAX_REGIONS 16 29 30 // careful with this - the shadinginfo[] array needs to be 31 // MAX_WALK_AREAS + 1 if this gets changed 32 #define MAX_WALK_AREAS 15 33 34 #define MAX_SCRIPT_NAME_LEN 20 35 36 //const int MISC_COND = MAX_OBJ * 4 + NUMOTCON + MAX_INIT_SPR * 4; 37 38 // NUMCONDIT : whataction[0]: Char walks off left 39 // [1]: Char walks off right 40 // [2]: Char walks off bottom 41 // [3]: Char walks off top 42 // [4]: First enters screen 43 // [5]: Every time enters screen 44 // [6]: execute every loop 45 // [5]...[19]: Char stands on lookat type 46 // [20]...[35]: Look at type 47 // [36]...[49]: Action on type 48 // [50]...[65]: Use inv on type 49 // [66]...[75]: Look at object 50 // [76]...[85]: Action on object 51 // [86]...[95]: Speak to object 52 // [96]...[105]: Use inv on object 53 // [106]...[124]: Misc conditions 1-20 54 55 // game ver whataction[]= 56 // v1.00 0 : Go to screen 57 // 1 : Don't do anything 58 // 2 : Can't walk 59 // 3 : Man dies 60 // 4 : Run animation 61 // 5 : Display message 62 // 6 : Remove an object (set object.on=0) 63 // 7 : Remove object & add Val2 to inventory 64 // 8 : Add Val1 to inventory (Val2=num times) 65 // 9 : Run a script 66 // v1.00 SR-1 10 : Run graphical script 67 // v1.1 11 : Play sound effect SOUND%d.WAV 68 // v1.12 12 : Play FLI/FLC animation FLIC%d.FLC or FLIC%d.FLI 69 // 13 : Turn object on 70 // v2.00 14 : Run conversation 71 #define NUMRESPONSE 14 72 #define NUMCOMMANDS 15 73 #define GO_TO_SCREEN 0 74 #define NO_ACTION 1 75 #define NO_WALK 2 76 #define MAN_DIES 3 77 #define RUN_ANIMATE 4 78 #define SHOW_MESSAGE 5 79 #define OBJECT_OFF 6 80 #define OBJECT_INV 7 81 #define ADD_INV 8 82 #define RUNSCRIPT 9 83 #define GRAPHSCRIPT 10 84 #define PLAY_SOUND 11 85 #define PLAY_FLI 12 86 #define OBJECT_ON 13 87 #define RUN_DIALOG 14 88 89 90 #define MAX_ROOMS 300 91 92 #define MAXANIMS 10 93 #define MAX_FLAGS 15 94 #define LEGACY_MAXOBJNAMELEN 30 95 #define MAX_BSCENE 5 // max number of frames in animating bg scene 96 97 #define MAX_SPRITES 30000 98 #define MAX_CURSOR 20 99 100 #ifndef int32 101 #define int32 int 102 #endif 103 104 #ifdef WINDOWS_VERSION 105 #define AGS_INLINE inline 106 #else 107 // the linux compiler won't allow extern inline 108 #define AGS_INLINE 109 #endif 110 111 // object flags (currently only a char) 112 #define OBJF_NOINTERACT 1 // not clickable 113 #define OBJF_NOWALKBEHINDS 2 // ignore walk-behinds 114 #define OBJF_HASTINT 4 // the tint_* members are valid 115 #define OBJF_USEREGIONTINTS 8 // obey region tints/light areas 116 #define OBJF_USEROOMSCALING 0x10 // obey room scaling areas 117 #define OBJF_SOLID 0x20 // blocks characters from moving 118 #define OBJF_LOCKED 0x40 // object position is locked in the editor 119 #define OBJF_HASLIGHT 0x80 // the tint_light is valid and treated as brightness 120 121 #endif // __AC_DEFINES_H 122