From a75f608ed23e2d6ac06582abb833c2a874cd7815 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 18 Dec 2014 00:29:24 +0300 Subject: Add function for reading custom itemdb fields. This functions called after reading normal fields and after adding item to itemdb. --- src/map/itemdb.c | 7 +++++++ src/map/itemdb.h | 1 + 2 files changed, 8 insertions(+) (limited to 'src/map') diff --git a/src/map/itemdb.c b/src/map/itemdb.c index 9bb34f024..cd4465468 100644 --- a/src/map/itemdb.c +++ b/src/map/itemdb.c @@ -1502,6 +1502,11 @@ int itemdb_validate_entry(struct item_data *entry, int n, const char *source) { return item->nameid; } +void itemdb_readdb_additional_fields(int itemid, config_setting_t *it, int n, const char *source) +{ + // do nothing. plugins can do own work +} + /** * Processes one itemdb entry from the sql backend, loading and inserting it * into the item database. @@ -1937,6 +1942,7 @@ int itemdb_readdb_libconfig(const char *filename) { if( !nameid ) continue; + itemdb->readdb_additional_fields(nameid, it, i - 1, filename); count++; if( duplicate[nameid] ) { @@ -2345,6 +2351,7 @@ void itemdb_defaults(void) { itemdb->read_combos = itemdb_read_combos; itemdb->gendercheck = itemdb_gendercheck; itemdb->validate_entry = itemdb_validate_entry; + itemdb->readdb_additional_fields = itemdb_readdb_additional_fields; itemdb->readdb_sql_sub = itemdb_readdb_sql_sub; itemdb->readdb_libconfig_sub = itemdb_readdb_libconfig_sub; itemdb->readdb_libconfig = itemdb_readdb_libconfig; diff --git a/src/map/itemdb.h b/src/map/itemdb.h index f65345cb9..9a72c64ac 100644 --- a/src/map/itemdb.h +++ b/src/map/itemdb.h @@ -604,6 +604,7 @@ struct itemdb_interface { void (*read_combos) (); int (*gendercheck) (struct item_data *id); int (*validate_entry) (struct item_data *entry, int n, const char *source); + void (*readdb_additional_fields) (int itemid, config_setting_t *it, int n, const char *source); int (*readdb_sql_sub) (Sql *handle, int n, const char *source); int (*readdb_libconfig_sub) (config_setting_t *it, int n, const char *source); int (*readdb_libconfig) (const char *filename); -- cgit v1.2.3-70-g09d2