diff options
-rw-r--r-- | src/map/npc.c | 23 | ||||
-rw-r--r-- | src/map/npc.h | 2 |
2 files changed, 19 insertions, 6 deletions
diff --git a/src/map/npc.c b/src/map/npc.c index a70d3798d..1912235b8 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -2695,11 +2695,24 @@ const char *npc_parse_warp(const char *w1, const char *w2, const char *w3, const } /** - * Parses a SHOP/CASHSHOP npc - * @param retval Pointer to the status, used to know whether there was an error or not, if so it will be EXIT_FAILURE - * @retval Parsing position (currently only '\n') - **/ -const char* npc_parse_shop(char* w1, char* w2, char* w3, char* w4, const char* start, const char* buffer, const char* filepath, int *retval) { + * Parses a SHOP/CASHSHOP NPC. + * + * @param[in] w1 First tab-delimited part of the string to parse. + * @param[in] w2 Second tab-delimited part of the string to parse. + * @param[in] w3 Third tab-delimited part of the string to parse. + * @param[in] w4 Fourth tab-delimited part of the string to parse. + * @param[in] start Pointer to the beginning of the string inside buffer. + * This must point to the same buffer as `buffer`. + * @param[in] buffer Pointer to the buffer containing the script. For + * single-line mapflags not inside a script, this may be + * an empty (but initialized) single-character buffer. + * @param[in] filepath Source file path. + * @param[out] retval Pointer to return the success (EXIT_SUCCESS) or failure + * (EXIT_FAILURE) status. May be NULL. + * @return A pointer to the advanced buffer position. + */ +const char *npc_parse_shop(const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval) +{ //TODO: could be rewritten to NOT need this temp array [ultramage] // We could use nd->u.shop.shop_item to store directly the items, but this could lead // to unecessary memory usage by the server, using a temp dynamic array is the diff --git a/src/map/npc.h b/src/map/npc.h index 4899838f1..9f8767877 100644 --- a/src/map/npc.h +++ b/src/map/npc.h @@ -235,7 +235,7 @@ struct npc_interface { struct npc_data *(*create_npc) (enum npc_subtype subtype, int m, int x, int y, uint8 dir, int16 class_); struct npc_data* (*add_warp) (char *name, short from_mapid, short from_x, short from_y, short xs, short ys, unsigned short to_mapindex, short to_x, short to_y); const char *(*parse_warp) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval); - const char* (*parse_shop) (char *w1, char *w2, char *w3, char *w4, const char *start, const char *buffer, const char *filepath, int *retval); + const char *(*parse_shop) (const char *w1, const char *w2, const char *w3, const char *w4, const char *start, const char *buffer, const char *filepath, int *retval); const char* (*parse_unknown_object) (char *w1, char *w2, char *w3, char *w4, const char *start, const char *buffer, const char *filepath, int *retval); void (*convertlabel_db) (struct npc_label_list *label_list, const char *filepath); const char* (*skip_script) (const char *start, const char *buffer, const char *filepath, int *retval); |