Vel instead of px
This commit is contained in:
@ -42,4 +42,7 @@ void entityUpdate(entity_t *entity) {
|
||||
);
|
||||
|
||||
ENTITY_CALLBACKS[entity->type].update(entity);
|
||||
|
||||
entity->x += entity->vx;
|
||||
entity->y += entity->vy;
|
||||
}
|
@ -32,47 +32,54 @@ void playerNPCUpdate(entity_t *entity) {
|
||||
|
||||
if(inputIsDown(INPUT_BIND_UP)) {
|
||||
if(inputIsDown(INPUT_BIND_LEFT)) {
|
||||
fx248Subfx248(&entity->x, PLAYER_MOVE_SPEED_XY);
|
||||
fx248Subfx248(&entity->y, PLAYER_MOVE_SPEED_XY);
|
||||
entity->vx = -PLAYER_MOVE_SPEED_XY;
|
||||
entity->vy = -PLAYER_MOVE_SPEED_XY;
|
||||
|
||||
if(entity->dir != ENTITY_DIR_NORTH && entity->dir != ENTITY_DIR_WEST) {
|
||||
entity->dir = ENTITY_DIR_NORTH;
|
||||
}
|
||||
} else if(inputIsDown(INPUT_BIND_RIGHT)) {
|
||||
fx248Addfx248(&entity->x, PLAYER_MOVE_SPEED_XY);
|
||||
fx248Subfx248(&entity->y, PLAYER_MOVE_SPEED_XY);
|
||||
entity->vx = PLAYER_MOVE_SPEED_XY;
|
||||
entity->vy = -PLAYER_MOVE_SPEED_XY;
|
||||
|
||||
if(entity->dir != ENTITY_DIR_NORTH && entity->dir != ENTITY_DIR_EAST) {
|
||||
entity->dir = ENTITY_DIR_NORTH;
|
||||
}
|
||||
} else {
|
||||
fx248Subfx248(&entity->y, PLAYER_MOVE_SPEED);
|
||||
entity->vy = -PLAYER_MOVE_SPEED;
|
||||
entity->vx = 0;
|
||||
entity->dir = ENTITY_DIR_NORTH;
|
||||
}
|
||||
} else if(inputIsDown(INPUT_BIND_DOWN)) {
|
||||
if(inputIsDown(INPUT_BIND_LEFT)) {
|
||||
fx248Subfx248(&entity->x, PLAYER_MOVE_SPEED_XY);
|
||||
fx248Addfx248(&entity->y, PLAYER_MOVE_SPEED_XY);
|
||||
entity->vx = -PLAYER_MOVE_SPEED_XY;
|
||||
entity->vy = PLAYER_MOVE_SPEED_XY;
|
||||
|
||||
if(entity->dir != ENTITY_DIR_SOUTH && entity->dir != ENTITY_DIR_WEST) {
|
||||
entity->dir = ENTITY_DIR_SOUTH;
|
||||
}
|
||||
} else if(inputIsDown(INPUT_BIND_RIGHT)) {
|
||||
fx248Addfx248(&entity->x, PLAYER_MOVE_SPEED_XY);
|
||||
fx248Addfx248(&entity->y, PLAYER_MOVE_SPEED_XY);
|
||||
entity->vx = PLAYER_MOVE_SPEED_XY;
|
||||
entity->vy = PLAYER_MOVE_SPEED_XY;
|
||||
|
||||
if(entity->dir != ENTITY_DIR_SOUTH && entity->dir != ENTITY_DIR_EAST) {
|
||||
entity->dir = ENTITY_DIR_SOUTH;
|
||||
}
|
||||
} else {
|
||||
fx248Addfx248(&entity->y, PLAYER_MOVE_SPEED);
|
||||
entity->vy = PLAYER_MOVE_SPEED;
|
||||
entity->vx = 0;
|
||||
entity->dir = ENTITY_DIR_SOUTH;
|
||||
}
|
||||
} else if(inputIsDown(INPUT_BIND_LEFT)) {
|
||||
fx248Subfx248(&entity->x, PLAYER_MOVE_SPEED);
|
||||
entity->vx = -PLAYER_MOVE_SPEED;
|
||||
entity->vy = 0;
|
||||
entity->dir = ENTITY_DIR_WEST;
|
||||
} else if(inputIsDown(INPUT_BIND_RIGHT)) {
|
||||
fx248Addfx248(&entity->x, PLAYER_MOVE_SPEED);
|
||||
entity->vx = PLAYER_MOVE_SPEED;
|
||||
entity->vy = 0;
|
||||
entity->dir = ENTITY_DIR_EAST;
|
||||
} else {
|
||||
entity->vx = 0;
|
||||
entity->vy = 0;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user