diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/char_select.cpp | 1 | ||||
-rw-r--r-- | src/gui/chat.cpp | 3 | ||||
-rw-r--r-- | src/gui/chat.h | 2 | ||||
-rw-r--r-- | src/gui/npc.cpp | 24 |
4 files changed, 23 insertions, 7 deletions
diff --git a/src/gui/char_select.cpp b/src/gui/char_select.cpp index b4294f3d..b1b88393 100644 --- a/src/gui/char_select.cpp +++ b/src/gui/char_select.cpp @@ -121,6 +121,7 @@ void char_select() { if((gui_exit==3)||((key[KEY_ENTER])&&(strcmp(button_state, "Del")==0)))server_char_select(); else if(gui_exit==4)close_session(); else if(gui_exit==5)server_char_delete(); + //alert("","","","","",0,0); if(state==LOGIN)close_session(); } diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp index 10823e3c..e8cfa4cc 100644 --- a/src/gui/chat.cpp +++ b/src/gui/chat.cpp @@ -184,7 +184,8 @@ char * Chat::chat_send(std::string nick, std::string msg) { if(msg.substr(0,IS_ANNOUNCE_LENGTH) == IS_ANNOUNCE) { msg.erase(0,IS_ANNOUNCE_LENGTH); packid = 0x0099; - } else { + } else if(msg.substr(0,IS_WHERE_LENGTH) == IS_WHERE) { + } else { packid = 0x008c; } // prepare ordinary message diff --git a/src/gui/chat.h b/src/gui/chat.h index c1126b52..fd6dae94 100644 --- a/src/gui/chat.h +++ b/src/gui/chat.h @@ -39,6 +39,8 @@ #define IS_ANNOUNCE "/announce " #define IS_ANNOUNCE_LENGTH 10 +#define IS_WHERE "/where " +#define IS_WHERE_LENGTH 7 /** gets in between usernick and message text depending on diff --git a/src/gui/npc.cpp b/src/gui/npc.cpp index 0b7a7102..37fc4eb2 100644 --- a/src/gui/npc.cpp +++ b/src/gui/npc.cpp @@ -50,7 +50,7 @@ char *item_list(int index, int *list_size) { void add_item(char *name) { ITEM *item = item_head; ITEM *temp = (ITEM *)malloc(sizeof(ITEM)); - temp->name = NULL; + //temp->name = NULL; temp->name = name; temp->next = NULL; if(!item_head) @@ -63,16 +63,29 @@ void add_item(char *name) { item_number++; } +void remove_tail() { + int iterator = 0; + ITEM *temp = item_head; + while(iterator<item_number-2) { + temp = temp->next; + iterator++; + } + free(temp->next); + temp->next = NULL; + item_number--; +} + void parse_items(char *string, short len) { char *token = strtok(string, ":"); while(token!=NULL) { - if(strcmp(token, "you prefer?")!=0) { // temp fix for the barber script + //if(strcmp(token, "you prefer?")!=0) { // temp fix for the barber script char *temp = (char *)malloc(strlen(token)); strcpy(temp, token); add_item(temp); - } + //} token = strtok(NULL, ":"); - } + } + remove_tail(); } void remove_all_items() { @@ -87,6 +100,5 @@ void remove_all_items() { } item_head = NULL; item_number = 0; -} - +} |