diff options
-rw-r--r-- | ManaWorld.vcproj | 6 | ||||
-rw-r--r-- | src/game.cpp | 2 | ||||
-rw-r--r-- | src/gui/npc.cpp | 14 |
3 files changed, 16 insertions, 6 deletions
diff --git a/ManaWorld.vcproj b/ManaWorld.vcproj index 1fcca3cd..6fdd4ba1 100644 --- a/ManaWorld.vcproj +++ b/ManaWorld.vcproj @@ -269,6 +269,12 @@ RelativePath=".\src\gui\login.h"> </File> <File + RelativePath=".\src\gui\npc.cpp"> + </File> + <File + RelativePath=".\src\gui\npc.h"> + </File> + <File RelativePath=".\src\gui\shop.cpp"> </File> <File diff --git a/src/game.cpp b/src/game.cpp index 0dec4268..0a0534f5 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -813,7 +813,7 @@ void do_parse() { // List in NPC dialog case 0x00b7: current_npc = RFIFOL(4); - alert(RFIFOP(8),"","","","",0,0); + //alert(RFIFOP(8),"","","","",0,0); parse_items(RFIFOP(8), RFIFOW(2)); show_npc_dialog = 5; break; diff --git a/src/gui/npc.cpp b/src/gui/npc.cpp index 43deb1a8..0b7a7102 100644 --- a/src/gui/npc.cpp +++ b/src/gui/npc.cpp @@ -50,6 +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 = name; temp->next = NULL; if(!item_head) @@ -65,11 +66,13 @@ void add_item(char *name) { void parse_items(char *string, short len) { char *token = strtok(string, ":"); while(token!=NULL) { - char *temp = (char *)malloc(strlen(token)); - strcpy(temp, token); - add_item(temp); + 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, ":"); - } + } } void remove_all_items() { @@ -77,7 +80,8 @@ void remove_all_items() { temp = item_head; while(temp) { next = temp->next; - free(temp->name); + /*if(temp->name!=NULL) + free(temp->name);*/ //buggy free(temp); temp = next; } |