void curses_putch(winid wid, int x, int y, int ch, int color, int attr) { int sx, sy, ex, ey; boolean border = curses_window_has_border(wid); nethack_char nch; static boolean map_initted = FALSE; if (wid == STATUS_WIN) { curses_update_stats(FALSE); } if (wid != MAP_WIN) { return; } if (!map_initted) { clear_map(); map_initted = TRUE; } map[y][x].ch = ch; map[y][x].color = color; map[y][x].attr = attr; nch = map[y][x]; (void)curses_map_borders(&sx, &sy, &ex, &ey, -1, -1); if ((x >= sx) && (x <= ex) && (y >= sy) && (y <= ey)) { if (border) { x++; y++; } write_wchar(mapwin, x - sx, y - sy, nch); } wrefresh(mapwin); }
void write_min_arg(t_env *e, va_list ap) { if (e->type == 'd') write_int(e, ap); else if (e->type == 'p') write_pointor(e, ap); else if (e->type == 'i') write_int(e, ap); else if (e->type == 'o') write_octal(e, ap); else if (e->type == 'u') write_uint(e, ap); else if (e->type == 'x') write_hexa(e, ap); else if (e->type == 'c') { if (e->modificator.m == L) write_wchar(e, ap); else write_char(e, ap); } }
void write_maj_arg(t_env *e, va_list ap) { if (e->type == 's' && e->modificator.m != L) write_string(e, ap); else if (e->type == 's' && e->modificator.m == L) write_wstr(e, ap); if (e->type == 'S') write_wstr(e, ap); else if (e->type == 'D') { e->modificator.m = L; write_int(e, ap); } else if (e->type == 'O') write_octal(e, ap); else if (e->type == 'X') write_hexam(e, ap); else if (e->type == 'U') write_uint(e, ap); else if (e->type == 'C') write_wchar(e, ap); }