diff --git a/JTMM.g3a b/JTMM.g3a index bd2de12..0c1aadf 100644 Binary files a/JTMM.g3a and b/JTMM.g3a differ diff --git a/include/draw.h b/include/draw.h index 1f6ce7b..e97eedb 100644 --- a/include/draw.h +++ b/include/draw.h @@ -1,5 +1,6 @@ #include +void draw_anim_speed(int x, int y, image_t *image, int step, int speed); void draw_anim(int x, int y, image_t *image, int step); void draw_player(int x, int y); void draw_level(char level[], unsigned int step, char polarity, int *start_x, diff --git a/src/draw.c b/src/draw.c index b85b1b5..674c78d 100644 --- a/src/draw.c +++ b/src/draw.c @@ -24,10 +24,14 @@ extern image_t img_teleporter_0; //teleporter 0 texture, 16x16 extern image_t img_teleporter_1; //teleporter 1 texture, 16x16 extern image_t img_elevator; //elevator texture, 16x16 -void draw_anim(int x, int y, image_t *image, int step) +void draw_anim_speed(int x, int y, image_t *image, int step, int speed) { dsubimage(x + DRAW_OFFSET_X, y + DRAW_OFFSET_Y, image, - (step % (image->width / 16)) * 16, 0, 16, 16, DIMAGE_NONE); + ((step/speed) % (image->width / 16)) * 16, 0, 16, 16, DIMAGE_NONE); +} +void draw_anim(int x, int y, image_t *image, int step) +{ + draw_anim_speed(x, y, image, step, 1); } void draw_player(int x, int y) @@ -74,7 +78,7 @@ int *start_y, int tp_positions[]) draw_anim(x, y, &img_semi_solid, step); break; case '^': - draw_anim(x, y, &img_elevator, step); + draw_anim_speed(x, y, &img_elevator, step, 2); //half speed break; case 'S': erase_tile(x, y, level);