AST3_C/src/collide.c

17 lines
629 B
C
Raw Normal View History

#include "collide.h"
2020-06-27 14:47:58 +02:00
#include "define.h"
char collide(int x, int y, char level[], char gravity, char block) //detect if player is in a block
{
if(((level[(int)(x/16) + (int)((y/16) * 25)] == block ||
level[(int)((x + PLAYER_HEIGHT)/16) + (int)((y/16) * 25)] == block) && gravity) ||
((level[(int)(x/16) + (int)((y + PLAYER_HEIGHT)/16) * 25] == block ||
level[(int)((x + PLAYER_HEIGHT)/16) + (int)((y + PLAYER_HEIGHT)/16) * 25] == block) && !gravity)) return 1;
2020-06-30 17:12:33 +02:00
return 0;
2020-06-29 22:31:30 +02:00
}
2020-06-30 17:12:33 +02:00
char collide_solid(int x, int y, char level[], char gravity)
2020-06-29 22:31:30 +02:00
{
2020-06-30 17:12:33 +02:00
return collide(x, y, level, gravity, '1') || collide(x, y, level, gravity, '2');
2020-06-27 14:47:58 +02:00
}