Index: exec.c ================================================================== --- exec.c +++ exec.c @@ -186,11 +186,11 @@ free(inventory); inventory=0; ninventory=0; } -static inline Uint8 resolve_dir(Uint32 n,Uint32 d) { +static inline Uint8 resolve_dir(Uint32 n,Uint16 d) { return d<8?d:(objects[n]->dir+d)&7; } /* Working of animation: There are two separate animations, being logical Index: heromesh.h ================================================================== --- heromesh.h +++ heromesh.h @@ -203,14 +203,14 @@ typedef struct { Sint32 height,weight,climb,density,volume,strength,arrivals,departures,temperature,inertia; Uint32 arrived,departed,arrived2,departed2,generation; Uint32 up,down,prev,next; // links to other objects - Uint16 class,oflags,distance; + Uint16 class,oflags,distance,shape,shovable,image; Uint16 sharp[4]; Uint16 hard[4]; - Uint8 x,y,shape,shovable,image,dir; + Uint8 x,y,dir; Animation*anim; Value misc1,misc2,misc3,misc4,misc5,misc6,misc7; Value uservars[0]; } Object;