| Some sort of maintenance of ui_rogue - sacc - sacc(omys), simple console gopher… | |
| git clone git://bitreich.org/sacc/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65… | |
| Log | |
| Files | |
| Refs | |
| Tags | |
| LICENSE | |
| --- | |
| commit d9488c74f50b137dc91851437ffa4cbaf64c1d00 | |
| parent e6daee96e9c73d29f6e51e8400d66a3511d36526 | |
| Author: Julian Schweinsberg <[email protected]> | |
| Date: Mon, 31 Mar 2025 17:55:39 +0200 | |
| Some sort of maintenance of ui_rogue | |
| - Add Rainer Holzner's fix, regarding Ctrl+D in uiprompt, to ui_rogue | |
| - Change tparm to tiparm | |
| - Add something important to the ui_rogue_readme | |
| Diffstat: | |
| M ui_rogue.c | 122 ++++++++++++++++-------------… | |
| M ui_rogue_readme | 1 + | |
| 2 files changed, 62 insertions(+), 61 deletions(-) | |
| --- | |
| diff --git a/ui_rogue.c b/ui_rogue.c | |
| @@ -651,10 +651,10 @@ dla(struct rect *rects, size_t l, uint32_t prng) { | |
| void | |
| rendermapchar(size_t i, size_t j) { | |
| if (map[i][j].tile->flags & Standout) | |
| - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(enter_standout_mode)); | |
| putchar(map[i][j].tile->c); | |
| if (map[i][j].tile->flags & Standout) | |
| - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(exit_standout_mode)); | |
| } | |
| void | |
| @@ -687,7 +687,7 @@ rendermap(void) | |
| for (i = oy; i < min(MAPHEIGHT, oy + (lines - 2)); i++) { | |
| if (i != oy) | |
| - putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_down)); | |
| rendermapline(i); | |
| } | |
| } | |
| @@ -970,7 +970,7 @@ uisetup(void) | |
| if (termset != OK) | |
| /* setupterm call exits on error */ | |
| termset = setupterm(NULL, 1, NULL); | |
| - putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(clear_screen)); | |
| fflush(stdout); | |
| } | |
| @@ -982,8 +982,8 @@ uicleanup(void) | |
| if (termset != OK) | |
| return; | |
| - putp(tparm(change_scroll_region, 0, lines-1, 0, 0, 0, 0, 0, 0, 0)); | |
| - putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(change_scroll_region, 0, lines-1)); | |
| + putp(tiparm(clear_screen)); | |
| fflush(stdout); | |
| } | |
| @@ -995,10 +995,10 @@ uiprompt(char *fmt, ...) | |
| size_t n; | |
| ssize_t r; | |
| - putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(save_cursor)); | |
| - putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| - putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, lines-1, 0)); | |
| + putp(tiparm(clr_eol)); | |
| va_start(ap, fmt); | |
| vsnprintf(bufout, sizeof(bufout), fmt, ap); | |
| @@ -1006,9 +1006,9 @@ uiprompt(char *fmt, ...) | |
| n = mbsprint(bufout, columns); | |
| - putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(clr_eol)); | |
| - putp(tparm(cursor_address, lines-1, n, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, lines-1, n)); | |
| tsacc.c_lflag |= (ECHO|ICANON); | |
| tcsetattr(0, TCSANOW, &tsacc); | |
| @@ -1019,10 +1019,10 @@ uiprompt(char *fmt, ...) | |
| tsacc.c_lflag &= ~(ECHO|ICANON); | |
| tcsetattr(0, TCSANOW, &tsacc); | |
| - putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(restore_cursor)); | |
| fflush(stdout); | |
| - if (r == -1) { | |
| + if (r == -1 || feof(stdin)) { | |
| clearerr(stdin); | |
| clear(&input); | |
| } else if (input[r - 1] == '\n') { | |
| @@ -1036,35 +1036,35 @@ void | |
| displaybar(char *s) { | |
| size_t n; | |
| - putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(save_cursor)); | |
| - putp(tparm(cursor_address, lines-2, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, lines-2, 0)); | |
| + putp(tiparm(enter_standout_mode)); | |
| n = mbsprint(s, columns); | |
| for (n = columns - n; n; n--) | |
| putchar(' '); | |
| - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(exit_standout_mode)); | |
| - putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(restore_cursor)); | |
| fflush(stdout); | |
| } | |
| void | |
| vdisplayinfoline(char *fmt, va_list ap) | |
| { | |
| - putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(save_cursor)); | |
| - putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, lines-1, 0)); | |
| vsnprintf(bufout, sizeof(bufout), fmt, ap); | |
| mbsprint(bufout, columns); | |
| - putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(clr_eol)); | |
| - putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(restore_cursor)); | |
| fflush(stdout); | |
| } | |
| @@ -1074,9 +1074,9 @@ uistatus(char *fmt, ...) | |
| va_list ap; | |
| size_t n; | |
| - putp(tparm(save_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(save_cursor)); | |
| - putp(tparm(cursor_address, lines-1, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, lines-1, 0)); | |
| va_start(ap, fmt); | |
| n = vsnprintf(bufout, sizeof(bufout), fmt, ap); | |
| @@ -1089,9 +1089,9 @@ uistatus(char *fmt, ...) | |
| mbsprint(bufout, columns); | |
| - putp(tparm(clr_eol, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(clr_eol)); | |
| - putp(tparm(restore_cursor, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(restore_cursor)); | |
| fflush(stdout); | |
| mygetchar(); | |
| @@ -1118,25 +1118,25 @@ menudraw(void) | |
| { | |
| size_t i, n; | |
| - putp(tparm(change_scroll_region, 1, lines-1, 0, 0, 0, 0, 0, 0, 0)); | |
| - putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(change_scroll_region, 1, lines-1)); | |
| + putp(tiparm(clear_screen)); | |
| - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(enter_standout_mode)); | |
| puts(menutitle); | |
| - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(exit_standout_mode)); | |
| if (menuselected - menuoffset >= lines - 1) | |
| menuoffset = menuselected - (lines - 1) + 1; | |
| for (i = menuoffset, n = 0; i < menunitems && n < lines - 1; i++, n++)… | |
| if (i != menuoffset) | |
| - putp(tparm(cursor_down, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_down)); | |
| if (i == menuselected) | |
| - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(enter_standout_mode)); | |
| mbsprint(menuitems[i]->username, columns); | |
| if (i == menuselected) | |
| - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, 0, 0, 0,… | |
| - putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(exit_standout_mode)); | |
| + putp(tiparm(column_address, 0)); | |
| } | |
| fflush(stdout); | |
| } | |
| @@ -1159,36 +1159,36 @@ showmenu(char *title, Item **item, size_t l) | |
| switch (mygetchar()) { | |
| case 'j': | |
| if (menuselected + 1 < menunitems) { | |
| - putp(tparm(cursor_address, 1 + menuselected - … | |
| + putp(tiparm(cursor_address, 1 + menuselected -… | |
| mbsprint(menuitems[menuselected]->username, co… | |
| menuselected++; | |
| - putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(column_address, 0)); | |
| if (menuselected - menuoffset >= lines - 1) { | |
| menuoffset++; | |
| - putp(tparm(scroll_forward, 0, 0, 0, 0,… | |
| + putp(tiparm(scroll_forward)); | |
| } else { | |
| - putp(tparm(cursor_down, 0, 0, 0, 0, 0,… | |
| + putp(tiparm(cursor_down)); | |
| } | |
| - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0,… | |
| + putp(tiparm(enter_standout_mode)); | |
| mbsprint(menuitems[menuselected]->username, co… | |
| - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, … | |
| + putp(tiparm(exit_standout_mode)); | |
| } | |
| break; | |
| case 'k': | |
| if (menuselected > 0) { | |
| - putp(tparm(cursor_address, 1 + menuselected - … | |
| + putp(tiparm(cursor_address, 1 + menuselected -… | |
| mbsprint(menuitems[menuselected]->username, co… | |
| menuselected--; | |
| - putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(column_address, 0)); | |
| if (menuselected < menuoffset) { | |
| menuoffset = menuselected; | |
| - putp(tparm(scroll_reverse, 0, 0, 0, 0,… | |
| + putp(tiparm(scroll_reverse)); | |
| } else { | |
| - putp(tparm(cursor_up, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(cursor_up)); | |
| } | |
| - putp(tparm(enter_standout_mode, 0, 0, 0, 0, 0,… | |
| + putp(tiparm(enter_standout_mode)); | |
| mbsprint(menuitems[menuselected]->username, co… | |
| - putp(tparm(exit_standout_mode, 0, 0, 0, 0, 0, … | |
| + putp(tiparm(exit_standout_mode)); | |
| } | |
| break; | |
| case ' ': | |
| @@ -1259,14 +1259,14 @@ describe(size_t x, size_t y, int verbose) | |
| void | |
| dungeondraw(void) | |
| { | |
| - putp(tparm(change_scroll_region, 0, lines-3, 0, 0, 0, 0, 0, 0, 0)); | |
| - putp(tparm(clear_screen, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(change_scroll_region, 0, lines-3)); | |
| + putp(tiparm(clear_screen)); | |
| rendermap(); | |
| - putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, py - oy, px - ox)); | |
| putchar('@'); | |
| - putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, py - oy, px - ox)); | |
| if (curentry->entry != curentry) { | |
| displaybar(curentry->username); | |
| @@ -1305,14 +1305,14 @@ move(ssize_t dx, ssize_t dy) | |
| nox = x - columns / 2; | |
| if (ox != nox) { | |
| - putp(tparm(cursor_address, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, 0, 0)); | |
| rendermap(); | |
| } else { | |
| - putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, … | |
| + putp(tiparm(cursor_address, py - oy, px - ox)); | |
| rendermapchar(py, px); | |
| } | |
| } else if (dy) { | |
| - putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0,… | |
| + putp(tiparm(cursor_address, py - oy, px - ox)); | |
| rendermapchar(py, px); | |
| if (y < maplines / 2 || MAPHEIGHT <= maplines) { | |
| @@ -1324,18 +1324,18 @@ move(ssize_t dx, ssize_t dy) | |
| } | |
| if (noy < oy) { | |
| - putp(tparm(cursor_address, 0, 0, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, 0, 0)); | |
| for (i = (ssize_t)oy - 1; i >= (ssize_t)noy; i--) { | |
| - putp(tparm(scroll_reverse, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(scroll_reverse)); | |
| rendermapline(i); | |
| - putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(column_address, 0)); | |
| } | |
| } else if (noy > oy) { | |
| - putp(tparm(cursor_address, lines-3, 0, 0, 0, 0, 0, 0, … | |
| + putp(tiparm(cursor_address, lines-3, 0)); | |
| for (i = oy + 1; i <= noy; i++) { | |
| - putp(tparm(scroll_forward, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(scroll_forward)); | |
| rendermapline(i + maplines - 1); | |
| - putp(tparm(column_address, 0, 0, 0, 0, 0, 0, 0… | |
| + putp(tiparm(column_address, 0)); | |
| } | |
| } | |
| oy = noy; | |
| @@ -1343,9 +1343,9 @@ move(ssize_t dx, ssize_t dy) | |
| py = y; | |
| px = x; | |
| - putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, py - oy, px - ox)); | |
| putchar('@'); | |
| - putp(tparm(cursor_address, py - oy, px - ox, 0, 0, 0, 0, 0, 0, 0)); | |
| + putp(tiparm(cursor_address, py - oy, px - ox)); | |
| describe(px, py, 0); | |
| } | |
| diff --git a/ui_rogue_readme b/ui_rogue_readme | |
| @@ -17,6 +17,7 @@ space: interact (in dungeon), select (in menu) | |
| ESC or q: exit (in dungeon), close menu | |
| # Map explanation | |
| +@: That's you! | |
| E or ?: bookshelf/book (gopher type '0') | |
| L or >: elevator/staircase down/staircase up (gopher type '1' on the curre… | |
| O or 0: portal machine/portal (gopher type '1' on another server) |