- int16_t diff_y = yx_cell->y - yx_eye->y;
- int16_t diff_x = yx_cell->x - yx_eye->x;
- uint8_t indent = yx_eye->y % 2;
- char * dir = dir_from_delta(indent, diff_y, diff_x);
- char * dirs;
- if (1 == strlen(dir))
- {
- return strdup(dir);
- }
- else if (!strcmp(dir, "dc"))
- {
- dirs = eye_to_cell_dir_ratio(dir, indent, diff_y, diff_x, 0,0,right);
- }
- else if (!strcmp(dir, "xs"))
- {
- dirs = eye_to_cell_dir_ratio(dir, !indent, diff_y, -diff_x, 0,1,right);
- }
- else if (!strcmp(dir, "cx"))
- {
- dirs = eye_to_cell_dir_ratio(dir, indent, diff_y, diff_x, 1,0,right);
- }
- else if (!strcmp(dir, "sw"))
- {
- dirs = eye_to_cell_dir_ratio(dir, !indent, -diff_y, -diff_x, 0,0,right);
- }
- else if (!strcmp(dir, "ed"))
- {
- dirs = eye_to_cell_dir_ratio(dir, indent, -diff_y, diff_x, 0,1,right);
- }
- else if (!strcmp(dir, "we"))