From 8f394ab34be377c780c37af0e4f437555669e26a Mon Sep 17 00:00:00 2001 From: mallocnull Date: Wed, 22 Nov 2017 16:25:51 -0600 Subject: [PATCH] DAYS WITHOUT JEWISH TRICKS: 0 --- core | Bin 299008 -> 839680 bytes protocol | 11 +++-- src/client/client.c | 9 ++-- src/client/screen.c | 110 +++++++++++++++++++++++++++++++++++++------- src/client/screen.h | 13 ++++-- src/common.h | 7 +-- src/server/user.c | 54 +++++++++++++++++++--- src/server/user.h | 8 ++-- 8 files changed, 171 insertions(+), 41 deletions(-) diff --git a/core b/core index 43edd0ba0c87fad3019d1b1dba2c816185181e0e..23d9a0b54385d26a267b955bba30f8dcbe7ca879 100644 GIT binary patch literal 839680 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 S4zLbzAHaP8_W}QX;Qs?=LB5Fq literal 299008 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
I`h>Cr?&~f* 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 server id 0: clerical request r.0 - clerical id - byte + r.1 - action - byte + | start - 0 + | stop - 1 id 1: alert prompt response r.0 - clerical id - byte diff --git a/src/client/client.c b/src/client/client.c index 9927979..b6b4d75 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -92,7 +92,7 @@ static int main_menu() { erase(); noecho(); - cbreak(); + raw(); #ifdef WORK attron(SCR_PAIR(SCR_WHITE, SCR_BLACK) | A_BOLD); @@ -165,10 +165,11 @@ void create_account() { packet_free(pck); char input[9]; - //scr_prompt_string(20, "this prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test", input, 8); - - scr_prompt_voptions(30, "I'm glad you know which way to go, but that ain't gunna stop me, here we go!\n \nCheck and turn the signals to the left.\n \nNow turn to the left.", 3, + int a = //scr_prompt_string(TRUE, 20, "this prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test of a prompt box is a test", input, 8); + scr_prompt_voptions(TRUE, 30, "I'm glad you know which way to go, but that ain't gunna stop me, here we go!\n \nCheck and turn the signals to the left.\n \nNow turn to the left.", 3, "Now turn to the left!", "Now turn to the right!", "Uh oh"); + + for(;;); /*int a = 0; while(a != KEY_LF) diff --git a/src/client/screen.c b/src/client/screen.c index afd08fa..a366a35 100644 --- a/src/client/screen.c +++ b/src/client/screen.c @@ -1,5 +1,9 @@ #include "screen.h" +struct { + uint8_t loading_progress; +} static ctx; + void scr_ctx_init() { short i, j, val; short colors[] = {COLOR_BLACK, COLOR_BLUE, COLOR_GREEN, COLOR_CYAN, @@ -110,10 +114,45 @@ static int calculate_height(int width, char *text) { return lines; } +void scr_loading(int width, char *text) { + erase(); + + WINDOW *win; + int text_height = calculate_height(width, text); + + #ifdef WORK + pair = SCR_PAIR(SCR_WHITE, SCR_BLACK); + #else + pair = SCR_PAIR(SCR_WHITE, SCR_BLUE); + #endif + + attron(pair); + scr_fill(); + attron(pair); + + attron(SCR_PAIR(SCR_WHITE, SCR_BLACK)); + win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 2); + attron(SCR_PAIR(SCR_WHITE, SCR_BLACK)); + + wattron(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); + wprintw(win, text); + wattroff(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); + + delwin(win); + scr_hide_cursor(); +} + +void scr_loading_bar(int width, char *text) { + erase(); + ctx.loading_progress = 0; + + +} + void scr_alert(int width, char *text) { erase(); noecho(); - cbreak(); + raw(); short pair; WINDOW *win; @@ -147,14 +186,14 @@ void scr_alert(int width, char *text) { delwin(win); } -BOOL scr_prompt(int width, char *text) { +BOOL scr_prompt(BOOL cancelable, int width, char *text) { erase(); noecho(); - cbreak(); + raw(); int ch; short pair; - BOOL retval = TRUE, loop = TRUE; + BOOL retval = TRUE, loop = TRUE, canceled = FALSE; char check[] = "[ \u2714 ]"; char cross[] = "[ \u2718 ]"; WINDOW *win; @@ -171,7 +210,7 @@ BOOL scr_prompt(int width, char *text) { attron(pair); attron(SCR_PAIR(SCR_WHITE, SCR_BLACK)); - win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 4); + win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 5); attron(SCR_PAIR(SCR_WHITE, SCR_BLACK)); wattron(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); @@ -179,6 +218,18 @@ BOOL scr_prompt(int width, char *text) { wrefresh(win); wattroff(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); + #ifdef WORK + pair = SCR_PAIR(SCR_WHITE, SCR_BLACK); + #else + pair = SCR_PAIR(SCR_WHITE, SCR_BLUE); + #endif + + if(cancelable) { + attron(SCR_PAIR(SCR_BLACK, SCR_WHITE)); + scr_center_write("PRESS ^C TO CANCEL", 0, text_height + 5); + attroff(SCR_PAIR(SCR_BLACK, SCR_WHITE)); + } + while(loop) { wmove(win, text_height + 1, (width - 12) / 2); @@ -204,6 +255,7 @@ BOOL scr_prompt(int width, char *text) { scr_hide_cursor(); ch = getch(); + printw("%i", ch); switch(ch) { case KEY_LEFT: retval = TRUE; @@ -215,19 +267,24 @@ BOOL scr_prompt(int width, char *text) { case KEY_ENTER: loop = FALSE; break; + case KEY_CC: + if(cancelable) + loop = !(canceled = TRUE); + break; } } delwin(win); - return retval; + return canceled ? -1 : retval; } -void scr_prompt_string(int width, char *text, char *out, int outlen) { +int scr_prompt_string(BOOL cancelable, int width, char *text, char *out, int outlen) { erase(); noecho(); - cbreak(); + raw(); int ch, curlen = 0, i, origin; + BOOL canceled = FALSE; short pair; WINDOW *win; int text_height = calculate_height(width, text); @@ -243,7 +300,7 @@ void scr_prompt_string(int width, char *text, char *out, int outlen) { attron(pair); attron(SCR_PAIR(SCR_WHITE, SCR_BLACK)); - win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 4); + win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 5); attroff(SCR_PAIR(SCR_WHITE, SCR_BLACK)); wattron(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); @@ -251,6 +308,12 @@ void scr_prompt_string(int width, char *text, char *out, int outlen) { wrefresh(win); wattroff(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); + if(cancelable) { + attron(SCR_PAIR(SCR_BLACK, SCR_WHITE)); + scr_center_write("PRESS ^C TO CANCEL", 0, text_height + 5); + attroff(SCR_PAIR(SCR_BLACK, SCR_WHITE)); + } + out[0] = '\0'; for(;;) { origin = (width - (outlen + 3)) / 2; @@ -284,19 +347,24 @@ void scr_prompt_string(int width, char *text, char *out, int outlen) { out[curlen] = '\0'; } else if(ch == KEY_LF || ch == KEY_ENTER) break; + else if(ch == KEY_CC && cancelable) { + canceled = TRUE; + break; + } } delwin(win); + return canceled ? -1 : curlen; } -int scr_prompt_options(int width, char *text, char **options, int optcount) { +int scr_prompt_options(BOOL cancelable, int width, char *text, char **options, int optcount) { erase(); noecho(); - cbreak(); + raw(); int ch, selected = 0, i, origin, maxlen = 0; short pair; - BOOL loop = TRUE; + BOOL loop = TRUE, canceled = FALSE; WINDOW *win; int text_height = calculate_height(width, text); @@ -311,7 +379,7 @@ int scr_prompt_options(int width, char *text, char **options, int optcount) { attron(pair); attron(SCR_PAIR(SCR_WHITE, SCR_BLACK)); - win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 3 + optcount); + win = scr_win_box(1, (COLS - (width + 2)) / 2, width + 2, text_height + 4 + optcount); attroff(SCR_PAIR(SCR_WHITE, SCR_BLACK)); wattron(win, SCR_PAIR(SCR_WHITE, SCR_BLACK)); @@ -323,6 +391,12 @@ int scr_prompt_options(int width, char *text, char **options, int optcount) { maxlen = MIN(width, MAX(maxlen, strlen(options[i]) + 3)); origin = (width - maxlen) / 2; + if(cancelable) { + attron(SCR_PAIR(SCR_BLACK, SCR_WHITE)); + scr_center_write("PRESS ^C TO CANCEL", 0, text_height + 4 + optcount); + attroff(SCR_PAIR(SCR_BLACK, SCR_WHITE)); + } + while(loop) { for(i = 0; i < optcount; ++i) { pair = i == selected ? SCR_PAIR(SCR_BLACK, SCR_CYAN) @@ -350,14 +424,18 @@ int scr_prompt_options(int width, char *text, char **options, int optcount) { case KEY_ENTER: loop = FALSE; break; + case KEY_CC: + if(cancelable) + loop = !(canceled = TRUE); + break; } } delwin(win); - return selected; + return canceled ? -1 : selected; } -int scr_prompt_voptions(int width, char *text, int optcount, ...) { +int scr_prompt_voptions(BOOL cancelable, int width, char *text, int optcount, ...) { int retval, i; char **options = (char**)malloc(optcount * sizeof(char*)); @@ -367,7 +445,7 @@ int scr_prompt_voptions(int width, char *text, int optcount, ...) { options[i] = va_arg(args, char*); va_end(args); - retval = scr_prompt_options(width, text, options, optcount); + retval = scr_prompt_options(cancelable, width, text, options, optcount); free(options); return retval; } \ No newline at end of file diff --git a/src/client/screen.h b/src/client/screen.h index 14a3116..60ed46c 100644 --- a/src/client/screen.h +++ b/src/client/screen.h @@ -33,10 +33,15 @@ void scr_center_write(char*, int, int); void scr_box(int, int, int, int); WINDOW* scr_win_box(int, int, int, int); +void scr_loading(int, char*); +void scr_loading_bar(int, char*); +void scr_loading_bar_set(uint8_t); +void scr_loading_bar_close(); + void scr_alert(int, char*); -BOOL scr_prompt(int, char*); -void scr_prompt_string(int, char*, char*, int); -int scr_prompt_options(int, char*, char**, int); -int scr_prompt_voptions(int, char*, int, ...); +BOOL scr_prompt(BOOL, int, char*); +int scr_prompt_string(BOOL, int, char*, char*, int); +int scr_prompt_options(BOOL, int, char*, char**, int); +int scr_prompt_voptions(BOOL, int, char*, int, ...); #endif diff --git a/src/common.h b/src/common.h index 291ce7a..a738d26 100644 --- a/src/common.h +++ b/src/common.h @@ -16,9 +16,10 @@ #define MAX(X,Y) ((X) > (Y) ? (X) : (Y)) #define MIN(X,Y) ((X) < (Y) ? (X) : (Y)) -#define KEY_BS 8 -#define KEY_TAB 9 -#define KEY_LF 10 +#define KEY_CC 3 +#define KEY_BS 8 +#define KEY_TAB 9 +#define KEY_LF 10 #define MAX_CONNS 100 diff --git a/src/server/user.c b/src/server/user.c index 3b6e65d..bf79e9a 100644 --- a/src/server/user.c +++ b/src/server/user.c @@ -26,7 +26,29 @@ const char* _SKILL_NAMES_SHORT[] = { "COOK" }; -const char * OFINISH THESE GI +const char* _STAT_NAMES[] = { + "Strength", + "Health", + "Defense", + "Agility", + "Intellect", + "Wisdom", + "Charisma", + "Perception", + "Luck" +}; + +const char* _STAT_NAMES_SHORT[] = { + "STR", + "HP", + "DEF", + "AGIL", + "INT", + "WIS", + "CHAR", + "PCPT", + "LUCK" +}; struct { pthread_mutex_t mx_ctx; @@ -88,9 +110,9 @@ void user_context_purge() { user_t *ptr; list_iter_reset(ctx.pending_removals); while((ptr = list_iter_next(ctx.pending_removals)) != NULL) { - list_remove_item(ctx.active_users, user); - ctx.users[user->user_id] = NULL; - user_free(user); + list_remove_item(ctx.active_users, ptr); + ctx.users[ptr->user_id] = NULL; + user_free(ptr); list_iter_remove(ctx.pending_removals); } @@ -132,12 +154,32 @@ BOOL user_check_flag(user_t *user, uint64_t flag) { return retval; } -void user_push_in_packet(user_t *user) { +void user_push_in_packet(user_t *user, packet_t *packet) { pthread_mutex_lock(&user->mx_user); - + queue_push(user->in_packets, packet); pthread_mutex_unlock(&user->mx_user); } +void user_push_out_packet(user_t *user, packet_t *packet) { + pthread_mutex_lock(&user->mx_user); + queue_push(user->out_packets, packet); + pthread_mutex_unlock(&user->mx_user); +} + +packet_t* user_pop_in_packet(user_t *user) { + pthread_mutex_lock(&user->mx_user); + packet_t *packet = queue_pop(user->in_packets); + pthread_mutex_unlock(&user->mx_user); + return packet; +} + +packet_t* user_pop_out_packet(user_t *user) { + pthread_mutex_lock(&user->mx_user); + packet_t *packet = queue_pop(user->out_packets); + pthread_mutex_unlock(&user->mx_user); + return packet; +} + static void user_free(user_t *user) { if(user == NULL) return; diff --git a/src/server/user.h b/src/server/user.h index 8bb5ebe..88f64d3 100644 --- a/src/server/user.h +++ b/src/server/user.h @@ -15,7 +15,7 @@ #define USER_GENDER_FEMALE 1 #define USER_FLAG_POISONED 2 -#define SKILLS_COUNT 5 +#define SKILLS_COUNT 10 #define SKILL_MELEE 0 #define SKILL_RANGED 1 #define SKILL_WHMAGIC 2 @@ -35,7 +35,7 @@ #define STAT_INTELLECT 4 #define STAT_WISDOM 5 #define STAT_CHARISMA 6 -#define STAT_ +#define STAT_PERCEPT 7 #define STAT_LUCK 8 extern const char* _SKILL_NAMES[]; @@ -73,8 +73,8 @@ void user_context_purge(void); void user_context_free(void); BOOL user_check_flag(user_t*, uint64_t); -void user_push_in_packet(user_t*); -void user_push_out_packet(user_t*); +void user_push_in_packet(user_t*, packet_t*); +void user_push_out_packet(user_t*, packet_t*); packet_t* user_pop_in_packet(user_t*); packet_t* user_pop_out_packet(user_t*);