diff --git a/data/map.dat b/data/map.dat index 9c3721f..3c39e8a 100644 --- a/data/map.dat +++ b/data/map.dat @@ -86,5 +86,5 @@ 86,laundrychute.dat,Laundry Chute 87,tricky.dat,Tricky 88,theendsofar.dat,THE END SO FAR -89,testlevel.dat,TEST LEVEL +99,testlevel.dat,TEST LEVEL 0,intro.dat,INTRO diff --git a/defs.h b/defs.h index 16456dc..4dc4c87 100644 --- a/defs.h +++ b/defs.h @@ -765,6 +765,7 @@ #define MV_WALK 1 // walked/climbed on purpose #define MV_ICE 3 // slid on ice #define MV_FLY 4 // flying +#define MV_CONVEY 5 // moved by conveyorbelt #define MV_SWIM 64 // swum somewhere - OR this diff --git a/rc.c b/rc.c index 512ac57..791a4dc 100644 --- a/rc.c +++ b/rc.c @@ -8779,7 +8779,7 @@ int movex(sprite_t *s,double amt,int onpurpose) { if (!onpurpose) { if (isice(tt->id) && !isinwater(s)) { s->moved = MV_ICE; - } else { + } else if (!isconveyor(tt->id)) { s->moved = MV_WALK; } } else { @@ -14127,6 +14127,15 @@ int isice(int id) { return B_FALSE; } +int isconveyor(int id) { + switch (id) { + case T_RIGHT: + case T_LEFT: + return B_TRUE; + } + return B_FALSE; +} + int savebmp(SDL_Surface *which) { int rv; char filename[BUFLEN]; diff --git a/rc.h b/rc.h index e853b8b..2213007 100644 --- a/rc.h +++ b/rc.h @@ -135,6 +135,7 @@ int getpnum(sprite_t *s); int isonplatform(double x, double y); int countbabies(sprite_t *s, int babytype); int isice(int id); +int isconveyor(int id); int isbridge(int id); int savebmp(SDL_Surface *which); void melttile(int tx,int ty, int howlong); diff --git a/website/map.dat b/website/map.dat index 9c3721f..3c39e8a 100644 --- a/website/map.dat +++ b/website/map.dat @@ -86,5 +86,5 @@ 86,laundrychute.dat,Laundry Chute 87,tricky.dat,Tricky 88,theendsofar.dat,THE END SO FAR -89,testlevel.dat,TEST LEVEL +99,testlevel.dat,TEST LEVEL 0,intro.dat,INTRO