Index: class.c ================================================================== --- class.c +++ class.c @@ -2929,10 +2929,17 @@ if(tokent!=TF_CLOSE) ParseError("Expected close parenthesis\n"); break; case OP_DENSITY: parse_density_block(); break; + case OP_TRIGGER: + nxttok(); + if(tokent!=TF_INT) ParseError("Number expected\n"); + trigmode=tokenv; + nxttok(); + if(tokent!=TF_CLOSE) ParseError("Expected close parenthesis\n"); + break; default: ParseError("Invalid top level definition: %s\n",tokenstr); } } else { ParseError("Invalid top level definition\n"); Index: class.doc ================================================================== --- class.doc +++ class.doc @@ -341,10 +341,13 @@ (Synchronize ) Define an animation slot for synchronized animation. The slot number can be 0 to 7, the length is the number of images in the sequence, and the speed is the number of centiseconds between frames. +(Trigger ) + Not defined yet. (TODO) + (Volume ) Define the maximum allowed volume for an object to move diagonally between two other objects. The default value is 10000. ($ ) Index: exec.c ================================================================== --- exec.c +++ exec.c @@ -42,10 +42,11 @@ DeadAnimation*deadanim; Uint8 no_dead_anim; Uint32 max_trigger; Uint8 conn_option; Sint32 gameover_score; +Uint32 trigmode; typedef struct { Uint16 msg; Uint32 from; Value arg1,arg2,arg3; Index: heromesh.h ================================================================== --- heromesh.h +++ heromesh.h @@ -326,10 +326,11 @@ extern DeadAnimation*deadanim; extern Uint8 no_dead_anim; extern Uint32 max_trigger; extern Uint8 conn_option; extern Sint32 gameover_score; +extern Uint32 trigmode; const unsigned char*value_string_ptr(Value v); void pfunlink(Uint32 n); void pflink(Uint32 n); Uint32 objalloc(Uint16 c);