static void move_direction(t_player *player, int x, int y, int other_dir) { int other_dir_one; int ret; if (change_tile(player, player->x + x, player->y + y)) return ; if (other_dir == 0) other_dir = 1; other_dir_one = other_dir / abs(other_dir); if (x != 0) ret = change_tile(player, player->x, player->y + other_dir_one); else ret = change_tile(player, player->x + other_dir_one, player->y); if (ret) return ; if (x != 0) ret = change_tile(player, player->x, player->y - other_dir_one); else ret = change_tile(player, player->x - other_dir_one, player->y); }
void get_tile_data(char *d) { int i; Uint8 numtiles=*(Uint8*)d; d++; for(i=0;i<numtiles;i++){ Uint8 fb=*(Uint8*)(d), sb; d++; sb=*(Uint8*)(d); d++; change_tile(fb,sb); } load_map_tiles(); sector_update_tiles_checksum(active_sector); }